├── .github ├── ISSUE_TEMPLATE │ └── config.yml └── workflows │ ├── ci.yml │ ├── publish.yml │ └── release.yml ├── .gitignore ├── .husky ├── .gitignore └── pre-commit ├── .prettierignore ├── .prettierrc ├── CHANGELOG.md ├── LICENSE ├── README.md ├── config.schema.json ├── jest.config.js ├── package.json ├── pnpm-lock.yaml ├── rollup.config.js ├── src ├── CommandDelegator.ts ├── ConfigValidation.ts ├── OnStarAccessory.ts ├── index.ts ├── types.ts └── utils.ts ├── test ├── CommandDelegator.test.ts ├── ConfigValidation.test.ts ├── OnStarAccessory.test.ts └── hapMocks.ts └── tsconfig.json /.github/ISSUE_TEMPLATE/config.yml: -------------------------------------------------------------------------------- 1 | blank_issues_enabled: false 2 | contact_links: 3 | - name: 401 Unauthorized Errors? 4 | url: https://github.com/samrum/OnStarJS/issues 5 | about: Please refer to OnStarJS for API issues 6 | - name: Other Issues and Feature Requests 7 | url: https://github.com/samrum/homebridge-onstar/issues/new 8 | about: Create a new issue here 9 | -------------------------------------------------------------------------------- /.github/workflows/ci.yml: -------------------------------------------------------------------------------- 1 | name: ci 2 | 3 | on: 4 | push: 5 | branches: [master] 6 | pull_request: 7 | branches: [master] 8 | 9 | jobs: 10 | build: 11 | runs-on: ubuntu-latest 12 | 13 | steps: 14 | - name: Checkout 15 | uses: actions/checkout@v4 16 | 17 | - name: Install pnpm 18 | uses: pnpm/action-setup@v4 19 | 20 | - name: Setup node 21 | uses: actions/setup-node@v4 22 | with: 23 | node-version: 22 24 | registry-url: https://registry.npmjs.org/ 25 | cache: "pnpm" 26 | 27 | - name: Install dependencies 28 | run: pnpm install 29 | 30 | - name: build 31 | run: pnpm build 32 | 33 | test-unit: 34 | runs-on: ubuntu-latest 35 | 36 | steps: 37 | - name: Checkout 38 | uses: actions/checkout@v4 39 | 40 | - name: Install pnpm 41 | uses: pnpm/action-setup@v4 42 | 43 | - name: Setup node 44 | uses: actions/setup-node@v4 45 | with: 46 | node-version: 22 47 | registry-url: https://registry.npmjs.org/ 48 | cache: "pnpm" 49 | 50 | - name: Install dependencies 51 | run: pnpm install 52 | 53 | - name: test:unit with coverage 54 | run: pnpm test:coverage 55 | 56 | - name: Coveralls 57 | uses: coverallsapp/github-action@v2 58 | with: 59 | github-token: ${{ secrets.GITHUB_TOKEN }} 60 | -------------------------------------------------------------------------------- /.github/workflows/publish.yml: -------------------------------------------------------------------------------- 1 | name: Publish Package 2 | 3 | on: 4 | push: 5 | tags: 6 | - "v*" 7 | 8 | jobs: 9 | publish: 10 | runs-on: ubuntu-latest 11 | permissions: 12 | id-token: write 13 | steps: 14 | - name: Checkout 15 | uses: actions/checkout@v4 16 | 17 | - name: Install pnpm 18 | uses: pnpm/action-setup@v4 19 | 20 | - name: Setup node 21 | uses: actions/setup-node@v4 22 | with: 23 | node-version: 22 24 | registry-url: https://registry.npmjs.org/ 25 | cache: "pnpm" 26 | 27 | - name: Install dependencies 28 | run: pnpm install 29 | 30 | - name: Publish package 31 | run: pnpm publish --access public --no-git-checks 32 | env: 33 | NODE_AUTH_TOKEN: ${{secrets.NODE_AUTH_TOKEN}} 34 | NPM_CONFIG_PROVENANCE: true 35 | -------------------------------------------------------------------------------- /.github/workflows/release.yml: -------------------------------------------------------------------------------- 1 | name: Create Release 2 | 3 | on: 4 | push: 5 | tags: 6 | - "v*" 7 | 8 | jobs: 9 | release: 10 | runs-on: ubuntu-latest 11 | 12 | steps: 13 | - name: Checkout 14 | uses: actions/checkout@v4 15 | 16 | - name: Extract release notes 17 | id: extract-release-notes 18 | uses: ffurrer2/extract-release-notes@v2 19 | 20 | - name: Create release 21 | run: | 22 | gh release create "${GITHUB_REF#refs/tags/}" -n "$RELEASE_NOTES" 23 | env: 24 | GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} 25 | RELEASE_NOTES: ${{ steps.extract-release-notes.outputs.release_notes }} 26 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules 3 | dist 4 | coverage 5 | .rpt2_cache 6 | functionalConfig.json 7 | -------------------------------------------------------------------------------- /.husky/.gitignore: -------------------------------------------------------------------------------- 1 | _ 2 | -------------------------------------------------------------------------------- /.husky/pre-commit: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | . "$(dirname "$0")/_/husky.sh" 3 | 4 | npx lint-staged 5 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | coverage 2 | dist 3 | CHANGELOG.md 4 | -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "trailingComma": "all" 3 | } 4 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Changelog 2 | 3 | All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. 4 | 5 | ### [1.5.39](https://github.com/samrum/homebridge-onstar/compare/v1.5.38...v1.5.39) (2024-07-27) 6 | 7 | 8 | ### Bug Fixes 9 | 10 | * bump onstarjs to 2.5.3 ([#283](https://github.com/samrum/homebridge-onstar/issues/283)) ([9e4206b](https://github.com/samrum/homebridge-onstar/commit/9e4206b9424b745e17c969086c989aa174738074)) 11 | 12 | ### [1.5.38](https://github.com/samrum/homebridge-onstar/compare/v1.5.37...v1.5.38) (2024-06-05) 13 | 14 | 15 | ### Bug Fixes 16 | 17 | * bump onstarjs to 2.5.2 ([#281](https://github.com/samrum/homebridge-onstar/issues/281)) ([0d31f50](https://github.com/samrum/homebridge-onstar/commit/0d31f50adbc55894538f04ec7bab428f9869c180)) 18 | 19 | ### [1.5.37](https://github.com/samrum/homebridge-onstar/compare/v1.5.36...v1.5.37) (2024-04-17) 20 | 21 | 22 | ### Bug Fixes 23 | 24 | * bump onstarjs to 2.5.1 ([#280](https://github.com/samrum/homebridge-onstar/issues/280)) ([3b4cbeb](https://github.com/samrum/homebridge-onstar/commit/3b4cbeba012c80cef6d37720424f39f8ed791f15)) 25 | 26 | ### [1.5.36](https://github.com/samrum/homebridge-onstar/compare/v1.5.35...v1.5.36) (2024-03-24) 27 | 28 | ### [1.5.35](https://github.com/samrum/homebridge-onstar/compare/v1.5.34...v1.5.35) (2024-01-18) 29 | 30 | ### [1.5.34](https://github.com/samrum/homebridge-onstar/compare/v1.5.33...v1.5.34) (2023-11-15) 31 | 32 | ### [1.5.33](https://github.com/samrum/homebridge-onstar/compare/v1.5.32...v1.5.33) (2023-11-01) 33 | 34 | ### [1.5.32](https://github.com/samrum/homebridge-onstar/compare/v1.5.31...v1.5.32) (2023-10-10) 35 | 36 | ### [1.5.31](https://github.com/samrum/homebridge-onstar/compare/v1.5.30...v1.5.31) (2023-09-03) 37 | 38 | ### [1.5.30](https://github.com/samrum/homebridge-onstar/compare/v1.5.29...v1.5.30) (2023-08-04) 39 | 40 | ### [1.5.29](https://github.com/samrum/homebridge-onstar/compare/v1.5.28...v1.5.29) (2023-06-24) 41 | 42 | ### [1.5.28](https://github.com/samrum/homebridge-onstar/compare/v1.5.27...v1.5.28) (2023-06-06) 43 | 44 | ### [1.5.27](https://github.com/samrum/homebridge-onstar/compare/v1.5.26...v1.5.27) (2023-04-30) 45 | 46 | ### [1.5.26](https://github.com/samrum/homebridge-onstar/compare/v1.5.25...v1.5.26) (2023-04-26) 47 | 48 | ### [1.5.25](https://github.com/samrum/homebridge-onstar/compare/v1.5.24...v1.5.25) (2023-03-31) 49 | 50 | 51 | ### Bug Fixes 52 | 53 | * **deps:** bump onstarjs from 2.3.17 to 2.3.18 ([#261](https://github.com/samrum/homebridge-onstar/issues/261)) ([cd85d03](https://github.com/samrum/homebridge-onstar/commit/cd85d03c990e8742cfffd4d3bc69000465178700)) 54 | 55 | ### [1.5.24](https://github.com/samrum/homebridge-onstar/compare/v1.5.23...v1.5.24) (2023-03-09) 56 | 57 | 58 | ### Bug Fixes 59 | 60 | * **deps:** bump onstarjs from 2.3.16 to 2.3.17 ([#259](https://github.com/samrum/homebridge-onstar/issues/259)) ([6d24845](https://github.com/samrum/homebridge-onstar/commit/6d248457b60241fa55cf54807f2cb633619dd8b1)) 61 | 62 | ### [1.5.23](https://github.com/samrum/homebridge-onstar/compare/v1.5.22...v1.5.23) (2023-02-14) 63 | 64 | 65 | ### Bug Fixes 66 | 67 | * **deps:** bump onstarjs from 2.3.15 to 2.3.16 ([#258](https://github.com/samrum/homebridge-onstar/issues/258)) ([6c2d934](https://github.com/samrum/homebridge-onstar/commit/6c2d93411fd45f4c11329bc2148a2e7d374af78f)) 68 | 69 | ### [1.5.22](https://github.com/samrum/homebridge-onstar/compare/v1.5.21...v1.5.22) (2023-01-25) 70 | 71 | 72 | ### Bug Fixes 73 | 74 | * **deps:** bump onstarjs from 2.3.14 to 2.3.15 ([#257](https://github.com/samrum/homebridge-onstar/issues/257)) ([680e693](https://github.com/samrum/homebridge-onstar/commit/680e69330731053b70c2a5d15ca05d5053b7320e)) 75 | 76 | ### [1.5.21](https://github.com/samrum/homebridge-onstar/compare/v1.5.20...v1.5.21) (2022-12-31) 77 | 78 | 79 | ### Bug Fixes 80 | 81 | * **deps:** bump decode-uri-component from 0.2.0 to 0.2.2 ([#250](https://github.com/samrum/homebridge-onstar/issues/250)) ([c1dfc9e](https://github.com/samrum/homebridge-onstar/commit/c1dfc9edbe69ab5b3e9cf4507b973827c311b15a)) 82 | * **deps:** bump json5 from 2.2.0 to 2.2.3 ([#254](https://github.com/samrum/homebridge-onstar/issues/254)) ([add5c54](https://github.com/samrum/homebridge-onstar/commit/add5c54e385756a33e32fa69814a5810657ab9f5)) 83 | * **deps:** bump minimatch from 3.0.4 to 3.1.2 ([#251](https://github.com/samrum/homebridge-onstar/issues/251)) ([b45eb09](https://github.com/samrum/homebridge-onstar/commit/b45eb0906929a10da6ec3b6223b03455326c3c7f)) 84 | * **deps:** bump onstarjs from 2.3.13 to 2.3.14 ([#253](https://github.com/samrum/homebridge-onstar/issues/253)) ([75f5125](https://github.com/samrum/homebridge-onstar/commit/75f5125ed703d65e0fb7e725fe6b1243174ec065)) 85 | * **deps:** bump qs from 6.5.2 to 6.5.3 ([#252](https://github.com/samrum/homebridge-onstar/issues/252)) ([37dc0a4](https://github.com/samrum/homebridge-onstar/commit/37dc0a407b18515d24add59237d58943a211638d)) 86 | 87 | ### [1.5.20](https://github.com/samrum/homebridge-onstar/compare/v1.5.19...v1.5.20) (2022-11-03) 88 | 89 | 90 | ### Bug Fixes 91 | 92 | * **deps:** bump onstarjs from 2.3.11 to 2.3.12 ([#248](https://github.com/samrum/homebridge-onstar/issues/248)) ([5d0ad0c](https://github.com/samrum/homebridge-onstar/commit/5d0ad0c53874fa72e8a69b1b4861ac61eeadf657)) 93 | * **deps:** bump onstarjs from 2.3.12 to 2.3.13 ([#249](https://github.com/samrum/homebridge-onstar/issues/249)) ([5826fc0](https://github.com/samrum/homebridge-onstar/commit/5826fc0a6c6badf44bf214e4703052c472840c54)) 94 | 95 | ### [1.5.19](https://github.com/samrum/homebridge-onstar/compare/v1.5.18...v1.5.19) (2022-10-15) 96 | 97 | 98 | ### Bug Fixes 99 | 100 | * **deps:** bump onstarjs from 2.3.10 to 2.3.11 ([#245](https://github.com/samrum/homebridge-onstar/issues/245)) ([40443d1](https://github.com/samrum/homebridge-onstar/commit/40443d1d3cd885fdc858912c8c3bdcacceae01bf)) 101 | 102 | ### [1.5.18](https://github.com/samrum/homebridge-onstar/compare/v1.5.17...v1.5.18) (2022-09-15) 103 | 104 | 105 | ### Bug Fixes 106 | 107 | * **deps:** bump onstarjs from 2.3.9 to 2.3.10 ([#244](https://github.com/samrum/homebridge-onstar/issues/244)) ([4bcb8f5](https://github.com/samrum/homebridge-onstar/commit/4bcb8f51edd3ef5332375f222ce3ea882b675262)) 108 | 109 | ### [1.5.17](https://github.com/samrum/homebridge-onstar/compare/v1.5.16...v1.5.17) (2022-07-20) 110 | 111 | 112 | ### Bug Fixes 113 | 114 | * **deps:** bump onstarjs from 2.3.8 to 2.3.9 ([#242](https://github.com/samrum/homebridge-onstar/issues/242)) ([0742767](https://github.com/samrum/homebridge-onstar/commit/0742767960c448228282f41e36a59a969f8f72a7)) 115 | 116 | ### [1.5.16](https://github.com/samrum/homebridge-onstar/compare/v1.5.15...v1.5.16) (2022-06-01) 117 | 118 | 119 | ### Bug Fixes 120 | 121 | * **deps:** bump @rollup/plugin-typescript from 8.3.1 to 8.3.2 ([#213](https://github.com/samrum/homebridge-onstar/issues/213)) ([0394dde](https://github.com/samrum/homebridge-onstar/commit/0394ddecaee86a9b08033f47462a87e57030213b)) 122 | * **deps:** bump onstarjs from 2.3.7 to 2.3.8 ([#238](https://github.com/samrum/homebridge-onstar/issues/238)) ([c271f76](https://github.com/samrum/homebridge-onstar/commit/c271f76db2999c2d9bdb298f9f884aa3511007da)) 123 | 124 | ### [1.5.15](https://github.com/samrum/homebridge-onstar/compare/v1.5.14...v1.5.15) (2022-05-04) 125 | 126 | 127 | ### Bug Fixes 128 | 129 | * **deps:** bump onstarjs from 2.3.6 to 2.3.7 ([#221](https://github.com/samrum/homebridge-onstar/issues/221)) ([cd76d3f](https://github.com/samrum/homebridge-onstar/commit/cd76d3f151987a578d16a4f59683a1bfb47bdc1c)) 130 | 131 | ### [1.5.14](https://github.com/samrum/homebridge-onstar/compare/v1.5.13...v1.5.14) (2022-03-31) 132 | 133 | 134 | ### Bug Fixes 135 | 136 | * **deps:** bump minimist from 1.2.5 to 1.2.6 ([#211](https://github.com/samrum/homebridge-onstar/issues/211)) ([78982f8](https://github.com/samrum/homebridge-onstar/commit/78982f8490b0e5e1b678d6c8d70329f0665fbf9a)) 137 | * **deps:** bump onstarjs from 2.3.5 to 2.3.6 ([#212](https://github.com/samrum/homebridge-onstar/issues/212)) ([d71b49d](https://github.com/samrum/homebridge-onstar/commit/d71b49d149ab6b9a096c84f9d5e6a893f9a31684)) 138 | 139 | ### [1.5.13](https://github.com/samrum/homebridge-onstar/compare/v1.5.12...v1.5.13) (2022-03-23) 140 | 141 | 142 | ### Bug Fixes 143 | 144 | * **deps:** bump @rollup/plugin-typescript from 8.3.0 to 8.3.1 ([#196](https://github.com/samrum/homebridge-onstar/issues/196)) ([71cdf14](https://github.com/samrum/homebridge-onstar/commit/71cdf1438bcd7da731e3203ddfe72bf7522e69ef)) 145 | * **deps:** bump follow-redirects from 1.14.7 to 1.14.9 ([#197](https://github.com/samrum/homebridge-onstar/issues/197)) ([42676f7](https://github.com/samrum/homebridge-onstar/commit/42676f7bc89d680ec468b0d63d3be03acfffff6f)) 146 | * **deps:** bump onstarjs from 2.3.4 to 2.3.5 ([#208](https://github.com/samrum/homebridge-onstar/issues/208)) ([1476328](https://github.com/samrum/homebridge-onstar/commit/1476328a269786514f3a9e482377d1e307a8ddd4)) 147 | 148 | ### [1.5.12](https://github.com/samrum/homebridge-onstar/compare/v1.5.11...v1.5.12) (2022-03-03) 149 | 150 | 151 | ### Bug Fixes 152 | 153 | * **deps:** bump onstarjs from 2.3.3 to 2.3.4 ([#194](https://github.com/samrum/homebridge-onstar/issues/194)) ([eee1da6](https://github.com/samrum/homebridge-onstar/commit/eee1da655ec255443fa43afdd46bd5ea4238aed0)) 154 | 155 | ### [1.5.11](https://github.com/samrum/homebridge-onstar/compare/v1.5.10...v1.5.11) (2022-01-27) 156 | 157 | 158 | ### Bug Fixes 159 | 160 | * **deps:** bump onstarjs from 2.3.2 to 2.3.3 ([#184](https://github.com/samrum/homebridge-onstar/issues/184)) ([d1a9017](https://github.com/samrum/homebridge-onstar/commit/d1a901725f0a60b088a716baa73dd0684a58c67c)) 161 | * **deps:** bump shelljs from 0.8.4 to 0.8.5 ([#175](https://github.com/samrum/homebridge-onstar/issues/175)) ([e627a9e](https://github.com/samrum/homebridge-onstar/commit/e627a9e3c31ad3baf3adf581548efdd5e316f0de)) 162 | * **deps:** bump trim-off-newlines from 1.0.1 to 1.0.3 ([#181](https://github.com/samrum/homebridge-onstar/issues/181)) ([5c85194](https://github.com/samrum/homebridge-onstar/commit/5c85194509cf1fd51d263334690a5d4a6054ccb7)) 163 | 164 | ### [1.5.10](https://github.com/samrum/homebridge-onstar/compare/v1.5.9...v1.5.10) (2022-01-13) 165 | 166 | 167 | ### Bug Fixes 168 | 169 | * **deps:** bump follow-redirects from 1.14.4 to 1.14.7 ([#172](https://github.com/samrum/homebridge-onstar/issues/172)) ([c060247](https://github.com/samrum/homebridge-onstar/commit/c060247bd5f48e5da121019364122f7be88f8e67)) 170 | * **deps:** bump onstarjs from 2.3.1 to 2.3.2 ([#173](https://github.com/samrum/homebridge-onstar/issues/173)) ([473c75d](https://github.com/samrum/homebridge-onstar/commit/473c75de5c9d674c470bcf46504a9b83d86a80f3)) 171 | 172 | ### [1.5.9](https://github.com/samrum/homebridge-onstar/compare/v1.5.8...v1.5.9) (2021-12-18) 173 | 174 | 175 | ### Bug Fixes 176 | 177 | * **deps:** bump onstarjs from 2.3.0 to 2.3.1 ([#163](https://github.com/samrum/homebridge-onstar/issues/163)) ([794a5dd](https://github.com/samrum/homebridge-onstar/commit/794a5ddcccb1b8761bb841c681390ac240b9c640)) 178 | 179 | ### [1.5.8](https://github.com/samrum/homebridge-onstar/compare/v1.5.6...v1.5.8) (2021-10-17) 180 | 181 | 182 | ### Bug Fixes 183 | 184 | * **deps:** bump ansi-regex from 5.0.0 to 5.0.1 ([#142](https://github.com/samrum/homebridge-onstar/issues/142)) ([c2a8a0e](https://github.com/samrum/homebridge-onstar/commit/c2a8a0e75a2ca4e323114372bfb751937fa709c8)) 185 | * **deps:** bump onstarjs from 2.2.4 to 2.3.0 ([#140](https://github.com/samrum/homebridge-onstar/issues/140)) ([cebf968](https://github.com/samrum/homebridge-onstar/commit/cebf9680590fedce273d80af07967b2224be951b)) 186 | * **deps:** bump tmpl from 1.0.4 to 1.0.5 ([#134](https://github.com/samrum/homebridge-onstar/issues/134)) ([05e8d92](https://github.com/samrum/homebridge-onstar/commit/05e8d9297b9606e4df590d38dd32b0e54f7206f5)) 187 | 188 | ### [1.5.6](https://github.com/samrum/homebridge-onstar/compare/v1.5.5...v1.5.6) (2021-09-19) 189 | 190 | 191 | ### Bug Fixes 192 | 193 | * **deps:** bump axios from 0.21.1 to 0.21.4 ([#133](https://github.com/samrum/homebridge-onstar/issues/133)) ([57e4fc9](https://github.com/samrum/homebridge-onstar/commit/57e4fc9519fe9563f19aea5fe86b4372bf299c78)) 194 | * **deps:** bump onstarjs from 2.2.3 to 2.2.4 ([#126](https://github.com/samrum/homebridge-onstar/issues/126)) ([46e1d76](https://github.com/samrum/homebridge-onstar/commit/46e1d7694f8eac7fa3f4575d5a6985ca921dc244)) 195 | * **deps:** bump path-parse from 1.0.6 to 1.0.7 ([#122](https://github.com/samrum/homebridge-onstar/issues/122)) ([9be9d17](https://github.com/samrum/homebridge-onstar/commit/9be9d17a0e0abf2186dab298a466f628c8237005)) 196 | 197 | ### [1.5.5](https://github.com/samrum/homebridge-onstar/compare/v1.5.4...v1.5.5) (2021-08-04) 198 | 199 | 200 | ### Bug Fixes 201 | 202 | * **deps:** bump onstarjs from 2.2.2 to 2.2.3 ([#117](https://github.com/samrum/homebridge-onstar/issues/117)) ([4218c2e](https://github.com/samrum/homebridge-onstar/commit/4218c2e8326c90a337589547f9899a0cec3fb1fe)) 203 | 204 | ### [1.5.4](https://github.com/samrum/homebridge-onstar/compare/v1.5.3...v1.5.4) (2021-06-22) 205 | 206 | 207 | ### Bug Fixes 208 | 209 | * **deps:** bump hosted-git-info from 2.8.8 to 2.8.9 ([#93](https://github.com/samrum/homebridge-onstar/issues/93)) ([52a8b2a](https://github.com/samrum/homebridge-onstar/commit/52a8b2a91d3a8d4cdde27fff980b6e5a5198aed5)) 210 | * **deps:** bump onstarjs from 2.2.1 to 2.2.2 ([#94](https://github.com/samrum/homebridge-onstar/issues/94)) ([19f1bb9](https://github.com/samrum/homebridge-onstar/commit/19f1bb994e0f2a49e8676b2cd2b09ee78567e563)) 211 | 212 | ### [1.5.3](https://github.com/samrum/homebridge-onstar/compare/v1.5.2...v1.5.3) (2021-06-01) 213 | 214 | 215 | ### Bug Fixes 216 | 217 | * **deps:** bump browserslist from 4.16.3 to 4.16.6 ([#76](https://github.com/samrum/homebridge-onstar/issues/76)) ([1eeddbc](https://github.com/samrum/homebridge-onstar/commit/1eeddbc5f92374b7eb4c1cf0081f01dde9c2fdaa)) 218 | * **deps:** bump onstarjs from 2.0.14 to 2.1.0 ([#65](https://github.com/samrum/homebridge-onstar/issues/65)) ([ab9aaa5](https://github.com/samrum/homebridge-onstar/commit/ab9aaa55d265e315871646c40e6b4c0fe2e818c0)) 219 | * **deps:** bump onstarjs from 2.1.0 to 2.1.1 ([#66](https://github.com/samrum/homebridge-onstar/issues/66)) ([d7fe357](https://github.com/samrum/homebridge-onstar/commit/d7fe35720b0332933d2419c01682462ae0e2c147)) 220 | * **deps:** bump onstarjs from 2.1.1 to 2.2.1 ([#81](https://github.com/samrum/homebridge-onstar/issues/81)) ([646830e](https://github.com/samrum/homebridge-onstar/commit/646830e31be3bb019cf727a9085959a4ebb21951)) 221 | * **deps:** bump ws from 7.4.4 to 7.4.6 ([#79](https://github.com/samrum/homebridge-onstar/issues/79)) ([56a8ff8](https://github.com/samrum/homebridge-onstar/commit/56a8ff82a8dc237feaa39c64d43d6dc3f4eddc89)) 222 | 223 | ### [1.5.2](https://github.com/samrum/homebridge-onstar/compare/v1.5.1...v1.5.2) (2021-04-14) 224 | 225 | 226 | ### Bug Fixes 227 | 228 | * update dependencies ([#51](https://github.com/samrum/homebridge-onstar/issues/51)) ([b22eae8](https://github.com/samrum/homebridge-onstar/commit/b22eae811f305bd1397c17bcb581157ec1d0f9a1)) 229 | 230 | ### [1.5.1](https://github.com/samrum/homebridge-onstar/compare/v1.5.0...v1.5.1) (2021-03-11) 231 | 232 | 233 | ### Bug Fixes 234 | 235 | * update dependencies ([#48](https://github.com/samrum/homebridge-onstar/issues/48)) ([22f8b28](https://github.com/samrum/homebridge-onstar/commit/22f8b28dc6478c4a2fdc08455f12882167502ad8)) 236 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019 Ruben Medina 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Archived 2 | 3 | **This plugin has been archived and is no longer maintained.** 4 | 5 | # homebridge-onstar (OnStar Accessory) 6 | 7 | [![npm version](https://badge.fury.io/js/homebridge-onstar.svg)](https://badge.fury.io/js/homebridge-onstar) 8 | [![build](https://github.com/samrum/homebridge-onstar/workflows/build/badge.svg)](https://github.com/samrum/homebridge-onstar/actions?query=workflow%3Abuild) 9 | [![Coverage Status](https://coveralls.io/repos/github/samrum/homebridge-onstar/badge.svg?branch=master)](https://coveralls.io/github/samrum/homebridge-onstar?branch=master) 10 | [![verified-by-homebridge](https://badgen.net/badge/homebridge/verified/purple)](https://github.com/homebridge/homebridge/wiki/Verified-Plugins) 11 | 12 | Homebridge support for OnStar! 13 | 14 | **Use at your own risk. This is an unofficial plugin.** 15 | 16 | # Configuration 17 | 18 | ## Basic Config (Climate) 19 | 20 | { 21 | "accessories": [ 22 | { 23 | "accessory": "OnStar", 24 | "name": "Car", 25 | "deviceId": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX", 26 | "vin": "1G2ZF58B774109863", 27 | "username": "foo@bar.com", 28 | "password": "p@ssw0rd", 29 | "onStarPin": "1234" 30 | } 31 | ] 32 | } 33 | 34 | Use a random version 4 uuid as a deviceId. Generator avaiable [here](https://www.uuidgenerator.net/version4). 35 | 36 | With this config, a climate control (remote start) switch will be available in the Home app. 37 | 38 | Siri Command: "Turn on the Car climate" 39 | 40 | ## Additional Config Options 41 | 42 | ### Lock/Unlock Doors Switch 43 | 44 | "enableDoors": true 45 | 46 | Enables locking/unlocking the vehicle doors. 47 | 48 | Querying the current state of locks through OnStar is slow, so the switch will always reset to a locked state. 49 | 50 | Siri command: "Unlock the Car" 51 | 52 | ### Reset Doors Switch to an Unlocked State 53 | 54 | "doorsDefaultToUnlocked": true 55 | 56 | Default the doors switch to an unlocked state. 57 | 58 | ### Charger Switch 59 | 60 | "enableCharger": true 61 | 62 | Enable a switch that will set the vehicle charge mode to immediate (for EV/PHEV). Turning the switch off does nothing. 63 | 64 | Siri command: "Turn on the Car charger" 65 | 66 | ### Alert Switch 67 | 68 | "enableAlert": true 69 | 70 | Enable a switch that triggers an alert for the vehicle (horn + lights flashing). 71 | 72 | Siri command: "Turn on the Car alert" 73 | 74 | # Notes 75 | 76 | - Toggling switches off is possible using Siri/Shortcuts/Scenes 77 | - When secret keys are rotated by MyChevrolet/OnStar, the plugin may stop working until the keys are updated. 78 | - homebridge-onstar will return success once requests are considered _In Progress_. As such, OnStar request failures after the initial request are made won't be handled. 79 | 80 | # Credits 81 | 82 | [OnStarJS](https://github.com/samrum/OnStarJS) (Shoutout to [mikenemat](https://github.com/mikenemat/) and [gm-onstar-probe](https://github.com/mikenemat/gm-onstar-probe)) 83 | 84 | [homebridge-tesla](https://github.com/nfarina/homebridge-tesla) for being a great reference to refer to on how to set up various homebridge services. 85 | -------------------------------------------------------------------------------- /config.schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "pluginAlias": "OnStar", 3 | "pluginType": "accessory", 4 | "footerDisplay": "For additional info please check the [homebridge-onstar](https://github.com/samrum/homebridge-onstar/) repo.", 5 | "schema": { 6 | "type": "object", 7 | "properties": { 8 | "name": { 9 | "title": "Name", 10 | "type": "string", 11 | "required": true, 12 | "default": "Car" 13 | }, 14 | "deviceId": { 15 | "title": "Device ID", 16 | "type": "string", 17 | "required": true, 18 | "default": "", 19 | "description": "A random version 4 UUID. Use an online generator to get this." 20 | }, 21 | "vin": { 22 | "title": "VIN", 23 | "type": "string", 24 | "required": true, 25 | "default": "" 26 | }, 27 | "username": { 28 | "title": "OnStar Username", 29 | "type": "string", 30 | "required": true, 31 | "default": "" 32 | }, 33 | "password": { 34 | "title": "OnStar Password", 35 | "type": "string", 36 | "required": true, 37 | "default": "" 38 | }, 39 | "onStarPin": { 40 | "title": "OnStar Pin", 41 | "type": "string", 42 | "required": true, 43 | "default": "" 44 | }, 45 | "enableAlert": { 46 | "title": "Enable Alert Switch", 47 | "type": "boolean", 48 | "default": false 49 | }, 50 | "enableCharger": { 51 | "title": "Enable Charger Switch", 52 | "type": "boolean", 53 | "default": false 54 | }, 55 | "enableDoors": { 56 | "title": "Enable Doors Lock", 57 | "type": "boolean", 58 | "default": false, 59 | "description": "By default, the lock will always reset to a Locked state." 60 | }, 61 | "doorsDefaultToUnlocked": { 62 | "title": "Default Doors to Unlocked State", 63 | "type": "boolean", 64 | "default": false 65 | } 66 | } 67 | } 68 | } 69 | -------------------------------------------------------------------------------- /jest.config.js: -------------------------------------------------------------------------------- 1 | export default { 2 | preset: "ts-jest", 3 | testEnvironment: "node", 4 | moduleNameMapper: { "^uuid$": "uuid" }, 5 | }; 6 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "homebridge-onstar", 3 | "description": "Unofficial OnStar plugin for Homebridge", 4 | "version": "1.5.39", 5 | "type": "module", 6 | "main": "dist/index.cjs", 7 | "module": "dist/index.mjs", 8 | "types": "dist/index.d.ts", 9 | "exports": { 10 | ".": { 11 | "types": "./dist/index.d.ts", 12 | "import": "./dist/index.mjs", 13 | "require": "./dist/index.cjs" 14 | } 15 | }, 16 | "files": [ 17 | "dist", 18 | "config.schema.json" 19 | ], 20 | "packageManager": "pnpm@8.3.1", 21 | "scripts": { 22 | "build": "rm -rf dist && rollup -c", 23 | "dev": "rm -rf dist && rollup -c -w", 24 | "lint": "prettier --write .", 25 | "prepublishOnly": "pnpm run build", 26 | "release": "standard-version --sign", 27 | "test": "jest", 28 | "test:coverage": "jest --coverage", 29 | "prepare": "husky install" 30 | }, 31 | "sideEffects": false, 32 | "standard-version": { 33 | "scripts": { 34 | "prerelease": "pnpm test && pnpm build" 35 | } 36 | }, 37 | "repository": { 38 | "type": "git", 39 | "url": "git+https://github.com/samrum/homebridge-onstar.git" 40 | }, 41 | "keywords": [ 42 | "homebridge-plugin", 43 | "onstar", 44 | "chevrolet", 45 | "chevy", 46 | "gm", 47 | "gmc", 48 | "buick", 49 | "cadillac" 50 | ], 51 | "author": "Ruben Medina (https://rubenmedina.com)", 52 | "license": "MIT", 53 | "bugs": { 54 | "url": "https://github.com/samrum/homebridge-onstar/issues" 55 | }, 56 | "engines": { 57 | "node": ">=11.0.0", 58 | "homebridge": ">=0.4.0" 59 | }, 60 | "funding": { 61 | "type": "paypal", 62 | "url": "https://paypal.me/samrum" 63 | }, 64 | "homepage": "https://github.com/samrum/homebridge-onstar#readme", 65 | "devDependencies": { 66 | "@rollup/plugin-typescript": "^11.1.0", 67 | "@types/jest": "^29.5.1", 68 | "@types/node": "^18.16.1", 69 | "husky": "^8.0.3", 70 | "jest": "^29.5.0", 71 | "lint-staged": "^13.2.1", 72 | "prettier": "3.3.3", 73 | "rollup": "^3.21.0", 74 | "standard-version": "^9.5.0", 75 | "ts-jest": "^29.1.0", 76 | "ts-mockito": "^2.6.1", 77 | "tslib": "^2.5.0", 78 | "typescript": "^5.0.4" 79 | }, 80 | "lint-staged": { 81 | "*.{js,css,md,json,yml}": "prettier --write" 82 | }, 83 | "dependencies": { 84 | "onstarjs": "^2.5.3" 85 | } 86 | } 87 | -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: "9.0" 2 | 3 | settings: 4 | autoInstallPeers: true 5 | excludeLinksFromLockfile: false 6 | 7 | importers: 8 | .: 9 | dependencies: 10 | onstarjs: 11 | specifier: ^2.5.3 12 | version: 2.5.3 13 | devDependencies: 14 | "@rollup/plugin-typescript": 15 | specifier: ^11.1.0 16 | version: 11.1.0(rollup@3.21.0)(tslib@2.5.0)(typescript@5.0.4) 17 | "@types/jest": 18 | specifier: ^29.5.1 19 | version: 29.5.1 20 | "@types/node": 21 | specifier: ^18.16.1 22 | version: 18.16.1 23 | husky: 24 | specifier: ^8.0.3 25 | version: 8.0.3 26 | jest: 27 | specifier: ^29.5.0 28 | version: 29.5.0(@types/node@18.16.1) 29 | lint-staged: 30 | specifier: ^13.2.1 31 | version: 13.2.1 32 | prettier: 33 | specifier: 3.3.3 34 | version: 3.3.3 35 | rollup: 36 | specifier: ^3.21.0 37 | version: 3.21.0 38 | standard-version: 39 | specifier: ^9.5.0 40 | version: 9.5.0 41 | ts-jest: 42 | specifier: ^29.1.0 43 | version: 29.1.0(@babel/core@7.21.4)(@jest/types@29.5.0)(babel-jest@29.5.0(@babel/core@7.21.4))(jest@29.5.0(@types/node@18.16.1))(typescript@5.0.4) 44 | ts-mockito: 45 | specifier: ^2.6.1 46 | version: 2.6.1 47 | tslib: 48 | specifier: ^2.5.0 49 | version: 2.5.0 50 | typescript: 51 | specifier: ^5.0.4 52 | version: 5.0.4 53 | 54 | packages: 55 | "@ampproject/remapping@2.2.1": 56 | resolution: 57 | { 58 | integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==, 59 | } 60 | engines: { node: ">=6.0.0" } 61 | 62 | "@babel/code-frame@7.22.13": 63 | resolution: 64 | { 65 | integrity: sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==, 66 | } 67 | engines: { node: ">=6.9.0" } 68 | 69 | "@babel/compat-data@7.21.4": 70 | resolution: 71 | { 72 | integrity: sha512-/DYyDpeCfaVinT40FPGdkkb+lYSKvsVuMjDAG7jPOWWiM1ibOaB9CXJAlc4d1QpP/U2q2P9jbrSlClKSErd55g==, 73 | } 74 | engines: { node: ">=6.9.0" } 75 | 76 | "@babel/core@7.21.4": 77 | resolution: 78 | { 79 | integrity: sha512-qt/YV149Jman/6AfmlxJ04LMIu8bMoyl3RB91yTFrxQmgbrSvQMy7cI8Q62FHx1t8wJ8B5fu0UDoLwHAhUo1QA==, 80 | } 81 | engines: { node: ">=6.9.0" } 82 | 83 | "@babel/generator@7.23.0": 84 | resolution: 85 | { 86 | integrity: sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==, 87 | } 88 | engines: { node: ">=6.9.0" } 89 | 90 | "@babel/helper-compilation-targets@7.21.4": 91 | resolution: 92 | { 93 | integrity: sha512-Fa0tTuOXZ1iL8IeDFUWCzjZcn+sJGd9RZdH9esYVjEejGmzf+FFYQpMi/kZUk2kPy/q1H3/GPw7np8qar/stfg==, 94 | } 95 | engines: { node: ">=6.9.0" } 96 | peerDependencies: 97 | "@babel/core": ^7.0.0 98 | 99 | "@babel/helper-environment-visitor@7.22.20": 100 | resolution: 101 | { 102 | integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==, 103 | } 104 | engines: { node: ">=6.9.0" } 105 | 106 | "@babel/helper-function-name@7.23.0": 107 | resolution: 108 | { 109 | integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==, 110 | } 111 | engines: { node: ">=6.9.0" } 112 | 113 | "@babel/helper-hoist-variables@7.22.5": 114 | resolution: 115 | { 116 | integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==, 117 | } 118 | engines: { node: ">=6.9.0" } 119 | 120 | "@babel/helper-module-imports@7.21.4": 121 | resolution: 122 | { 123 | integrity: sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg==, 124 | } 125 | engines: { node: ">=6.9.0" } 126 | 127 | "@babel/helper-module-transforms@7.21.2": 128 | resolution: 129 | { 130 | integrity: sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ==, 131 | } 132 | engines: { node: ">=6.9.0" } 133 | 134 | "@babel/helper-plugin-utils@7.20.2": 135 | resolution: 136 | { 137 | integrity: sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==, 138 | } 139 | engines: { node: ">=6.9.0" } 140 | 141 | "@babel/helper-simple-access@7.20.2": 142 | resolution: 143 | { 144 | integrity: sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==, 145 | } 146 | engines: { node: ">=6.9.0" } 147 | 148 | "@babel/helper-split-export-declaration@7.22.6": 149 | resolution: 150 | { 151 | integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==, 152 | } 153 | engines: { node: ">=6.9.0" } 154 | 155 | "@babel/helper-string-parser@7.22.5": 156 | resolution: 157 | { 158 | integrity: sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==, 159 | } 160 | engines: { node: ">=6.9.0" } 161 | 162 | "@babel/helper-validator-identifier@7.22.20": 163 | resolution: 164 | { 165 | integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==, 166 | } 167 | engines: { node: ">=6.9.0" } 168 | 169 | "@babel/helper-validator-option@7.21.0": 170 | resolution: 171 | { 172 | integrity: sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==, 173 | } 174 | engines: { node: ">=6.9.0" } 175 | 176 | "@babel/helpers@7.21.0": 177 | resolution: 178 | { 179 | integrity: sha512-XXve0CBtOW0pd7MRzzmoyuSj0e3SEzj8pgyFxnTT1NJZL38BD1MK7yYrm8yefRPIDvNNe14xR4FdbHwpInD4rA==, 180 | } 181 | engines: { node: ">=6.9.0" } 182 | 183 | "@babel/highlight@7.22.20": 184 | resolution: 185 | { 186 | integrity: sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==, 187 | } 188 | engines: { node: ">=6.9.0" } 189 | 190 | "@babel/parser@7.23.0": 191 | resolution: 192 | { 193 | integrity: sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==, 194 | } 195 | engines: { node: ">=6.0.0" } 196 | hasBin: true 197 | 198 | "@babel/plugin-syntax-async-generators@7.8.4": 199 | resolution: 200 | { 201 | integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==, 202 | } 203 | peerDependencies: 204 | "@babel/core": ^7.0.0-0 205 | 206 | "@babel/plugin-syntax-bigint@7.8.3": 207 | resolution: 208 | { 209 | integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==, 210 | } 211 | peerDependencies: 212 | "@babel/core": ^7.0.0-0 213 | 214 | "@babel/plugin-syntax-class-properties@7.12.13": 215 | resolution: 216 | { 217 | integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==, 218 | } 219 | peerDependencies: 220 | "@babel/core": ^7.0.0-0 221 | 222 | "@babel/plugin-syntax-import-meta@7.10.4": 223 | resolution: 224 | { 225 | integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==, 226 | } 227 | peerDependencies: 228 | "@babel/core": ^7.0.0-0 229 | 230 | "@babel/plugin-syntax-json-strings@7.8.3": 231 | resolution: 232 | { 233 | integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==, 234 | } 235 | peerDependencies: 236 | "@babel/core": ^7.0.0-0 237 | 238 | "@babel/plugin-syntax-jsx@7.21.4": 239 | resolution: 240 | { 241 | integrity: sha512-5hewiLct5OKyh6PLKEYaFclcqtIgCb6bmELouxjF6up5q3Sov7rOayW4RwhbaBL0dit8rA80GNfY+UuDp2mBbQ==, 242 | } 243 | engines: { node: ">=6.9.0" } 244 | peerDependencies: 245 | "@babel/core": ^7.0.0-0 246 | 247 | "@babel/plugin-syntax-logical-assignment-operators@7.10.4": 248 | resolution: 249 | { 250 | integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==, 251 | } 252 | peerDependencies: 253 | "@babel/core": ^7.0.0-0 254 | 255 | "@babel/plugin-syntax-nullish-coalescing-operator@7.8.3": 256 | resolution: 257 | { 258 | integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==, 259 | } 260 | peerDependencies: 261 | "@babel/core": ^7.0.0-0 262 | 263 | "@babel/plugin-syntax-numeric-separator@7.10.4": 264 | resolution: 265 | { 266 | integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==, 267 | } 268 | peerDependencies: 269 | "@babel/core": ^7.0.0-0 270 | 271 | "@babel/plugin-syntax-object-rest-spread@7.8.3": 272 | resolution: 273 | { 274 | integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==, 275 | } 276 | peerDependencies: 277 | "@babel/core": ^7.0.0-0 278 | 279 | "@babel/plugin-syntax-optional-catch-binding@7.8.3": 280 | resolution: 281 | { 282 | integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==, 283 | } 284 | peerDependencies: 285 | "@babel/core": ^7.0.0-0 286 | 287 | "@babel/plugin-syntax-optional-chaining@7.8.3": 288 | resolution: 289 | { 290 | integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==, 291 | } 292 | peerDependencies: 293 | "@babel/core": ^7.0.0-0 294 | 295 | "@babel/plugin-syntax-top-level-await@7.14.5": 296 | resolution: 297 | { 298 | integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==, 299 | } 300 | engines: { node: ">=6.9.0" } 301 | peerDependencies: 302 | "@babel/core": ^7.0.0-0 303 | 304 | "@babel/plugin-syntax-typescript@7.21.4": 305 | resolution: 306 | { 307 | integrity: sha512-xz0D39NvhQn4t4RNsHmDnnsaQizIlUkdtYvLs8La1BlfjQ6JEwxkJGeqJMW2tAXx+q6H+WFuUTXNdYVpEya0YA==, 308 | } 309 | engines: { node: ">=6.9.0" } 310 | peerDependencies: 311 | "@babel/core": ^7.0.0-0 312 | 313 | "@babel/template@7.22.15": 314 | resolution: 315 | { 316 | integrity: sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==, 317 | } 318 | engines: { node: ">=6.9.0" } 319 | 320 | "@babel/traverse@7.23.2": 321 | resolution: 322 | { 323 | integrity: sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==, 324 | } 325 | engines: { node: ">=6.9.0" } 326 | 327 | "@babel/types@7.23.0": 328 | resolution: 329 | { 330 | integrity: sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==, 331 | } 332 | engines: { node: ">=6.9.0" } 333 | 334 | "@bcoe/v8-coverage@0.2.3": 335 | resolution: 336 | { 337 | integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==, 338 | } 339 | 340 | "@hutson/parse-repository-url@3.0.2": 341 | resolution: 342 | { 343 | integrity: sha512-H9XAx3hc0BQHY6l+IFSWHDySypcXsvsuLhgYLUGywmJ5pswRVQJUHpOsobnLYp2ZUaUlKiKDrgWWhosOwAEM8Q==, 344 | } 345 | engines: { node: ">=6.9.0" } 346 | 347 | "@istanbuljs/load-nyc-config@1.1.0": 348 | resolution: 349 | { 350 | integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==, 351 | } 352 | engines: { node: ">=8" } 353 | 354 | "@istanbuljs/schema@0.1.3": 355 | resolution: 356 | { 357 | integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==, 358 | } 359 | engines: { node: ">=8" } 360 | 361 | "@jest/console@29.5.0": 362 | resolution: 363 | { 364 | integrity: sha512-NEpkObxPwyw/XxZVLPmAGKE89IQRp4puc6IQRPru6JKd1M3fW9v1xM1AnzIJE65hbCkzQAdnL8P47e9hzhiYLQ==, 365 | } 366 | engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } 367 | 368 | "@jest/core@29.5.0": 369 | resolution: 370 | { 371 | integrity: sha512-28UzQc7ulUrOQw1IsN/kv1QES3q2kkbl/wGslyhAclqZ/8cMdB5M68BffkIdSJgKBUt50d3hbwJ92XESlE7LiQ==, 372 | } 373 | engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } 374 | peerDependencies: 375 | node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 376 | peerDependenciesMeta: 377 | node-notifier: 378 | optional: true 379 | 380 | "@jest/environment@29.5.0": 381 | resolution: 382 | { 383 | integrity: sha512-5FXw2+wD29YU1d4I2htpRX7jYnAyTRjP2CsXQdo9SAM8g3ifxWPSV0HnClSn71xwctr0U3oZIIH+dtbfmnbXVQ==, 384 | } 385 | engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } 386 | 387 | "@jest/expect-utils@29.5.0": 388 | resolution: 389 | { 390 | integrity: sha512-fmKzsidoXQT2KwnrwE0SQq3uj8Z763vzR8LnLBwC2qYWEFpjX8daRsk6rHUM1QvNlEW/UJXNXm59ztmJJWs2Mg==, 391 | } 392 | engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } 393 | 394 | "@jest/expect@29.5.0": 395 | resolution: 396 | { 397 | integrity: sha512-PueDR2HGihN3ciUNGr4uelropW7rqUfTiOn+8u0leg/42UhblPxHkfoh0Ruu3I9Y1962P3u2DY4+h7GVTSVU6g==, 398 | } 399 | engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } 400 | 401 | "@jest/fake-timers@29.5.0": 402 | resolution: 403 | { 404 | integrity: sha512-9ARvuAAQcBwDAqOnglWq2zwNIRUDtk/SCkp/ToGEhFv5r86K21l+VEs0qNTaXtyiY0lEePl3kylijSYJQqdbDg==, 405 | } 406 | engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } 407 | 408 | "@jest/globals@29.5.0": 409 | resolution: 410 | { 411 | integrity: sha512-S02y0qMWGihdzNbUiqSAiKSpSozSuHX5UYc7QbnHP+D9Lyw8DgGGCinrN9uSuHPeKgSSzvPom2q1nAtBvUsvPQ==, 412 | } 413 | engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } 414 | 415 | "@jest/reporters@29.5.0": 416 | resolution: 417 | { 418 | integrity: sha512-D05STXqj/M8bP9hQNSICtPqz97u7ffGzZu+9XLucXhkOFBqKcXe04JLZOgIekOxdb73MAoBUFnqvf7MCpKk5OA==, 419 | } 420 | engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } 421 | peerDependencies: 422 | node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 423 | peerDependenciesMeta: 424 | node-notifier: 425 | optional: true 426 | 427 | "@jest/schemas@29.4.3": 428 | resolution: 429 | { 430 | integrity: sha512-VLYKXQmtmuEz6IxJsrZwzG9NvtkQsWNnWMsKxqWNu3+CnfzJQhp0WDDKWLVV9hLKr0l3SLLFRqcYHjhtyuDVxg==, 431 | } 432 | engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } 433 | 434 | "@jest/source-map@29.4.3": 435 | resolution: 436 | { 437 | integrity: sha512-qyt/mb6rLyd9j1jUts4EQncvS6Yy3PM9HghnNv86QBlV+zdL2inCdK1tuVlL+J+lpiw2BI67qXOrX3UurBqQ1w==, 438 | } 439 | engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } 440 | 441 | "@jest/test-result@29.5.0": 442 | resolution: 443 | { 444 | integrity: sha512-fGl4rfitnbfLsrfx1uUpDEESS7zM8JdgZgOCQuxQvL1Sn/I6ijeAVQWGfXI9zb1i9Mzo495cIpVZhA0yr60PkQ==, 445 | } 446 | engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } 447 | 448 | "@jest/test-sequencer@29.5.0": 449 | resolution: 450 | { 451 | integrity: sha512-yPafQEcKjkSfDXyvtgiV4pevSeyuA6MQr6ZIdVkWJly9vkqjnFfcfhRQqpD5whjoU8EORki752xQmjaqoFjzMQ==, 452 | } 453 | engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } 454 | 455 | "@jest/transform@29.5.0": 456 | resolution: 457 | { 458 | integrity: sha512-8vbeZWqLJOvHaDfeMuoHITGKSz5qWc9u04lnWrQE3VyuSw604PzQM824ZeX9XSjUCeDiE3GuxZe5UKa8J61NQw==, 459 | } 460 | engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } 461 | 462 | "@jest/types@29.5.0": 463 | resolution: 464 | { 465 | integrity: sha512-qbu7kN6czmVRc3xWFQcAN03RAUamgppVUdXrvl1Wr3jlNF93o9mJbGcDWrwGB6ht44u7efB1qCFgVQmca24Uog==, 466 | } 467 | engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } 468 | 469 | "@jridgewell/gen-mapping@0.3.3": 470 | resolution: 471 | { 472 | integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==, 473 | } 474 | engines: { node: ">=6.0.0" } 475 | 476 | "@jridgewell/resolve-uri@3.1.0": 477 | resolution: 478 | { 479 | integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==, 480 | } 481 | engines: { node: ">=6.0.0" } 482 | 483 | "@jridgewell/set-array@1.1.2": 484 | resolution: 485 | { 486 | integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==, 487 | } 488 | engines: { node: ">=6.0.0" } 489 | 490 | "@jridgewell/sourcemap-codec@1.4.14": 491 | resolution: 492 | { 493 | integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==, 494 | } 495 | 496 | "@jridgewell/sourcemap-codec@1.4.15": 497 | resolution: 498 | { 499 | integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==, 500 | } 501 | 502 | "@jridgewell/trace-mapping@0.3.18": 503 | resolution: 504 | { 505 | integrity: sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==, 506 | } 507 | 508 | "@rollup/plugin-typescript@11.1.0": 509 | resolution: 510 | { 511 | integrity: sha512-86flrfE+bSHB69znnTV6kVjkncs2LBMhcTCyxWgRxLyfXfQrxg4UwlAqENnjrrxnSNS/XKCDJCl8EkdFJVHOxw==, 512 | } 513 | engines: { node: ">=14.0.0" } 514 | peerDependencies: 515 | rollup: ^2.14.0||^3.0.0 516 | tslib: "*" 517 | typescript: ">=3.7.0" 518 | peerDependenciesMeta: 519 | rollup: 520 | optional: true 521 | tslib: 522 | optional: true 523 | 524 | "@rollup/pluginutils@5.0.2": 525 | resolution: 526 | { 527 | integrity: sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==, 528 | } 529 | engines: { node: ">=14.0.0" } 530 | peerDependencies: 531 | rollup: ^1.20.0||^2.0.0||^3.0.0 532 | peerDependenciesMeta: 533 | rollup: 534 | optional: true 535 | 536 | "@sinclair/typebox@0.25.24": 537 | resolution: 538 | { 539 | integrity: sha512-XJfwUVUKDHF5ugKwIcxEgc9k8b7HbznCp6eUfWgu710hMPNIO4aw4/zB5RogDQz8nd6gyCDpU9O/m6qYEWY6yQ==, 540 | } 541 | 542 | "@sinonjs/commons@2.0.0": 543 | resolution: 544 | { 545 | integrity: sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==, 546 | } 547 | 548 | "@sinonjs/fake-timers@10.0.2": 549 | resolution: 550 | { 551 | integrity: sha512-SwUDyjWnah1AaNl7kxsa7cfLhlTYoiyhDAIgyh+El30YvXs/o7OLXpYH88Zdhyx9JExKrmHDJ+10bwIcY80Jmw==, 552 | } 553 | 554 | "@types/babel__core@7.20.0": 555 | resolution: 556 | { 557 | integrity: sha512-+n8dL/9GWblDO0iU6eZAwEIJVr5DWigtle+Q6HLOrh/pdbXOhOtqzq8VPPE2zvNJzSKY4vH/z3iT3tn0A3ypiQ==, 558 | } 559 | 560 | "@types/babel__generator@7.6.4": 561 | resolution: 562 | { 563 | integrity: sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==, 564 | } 565 | 566 | "@types/babel__template@7.4.1": 567 | resolution: 568 | { 569 | integrity: sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==, 570 | } 571 | 572 | "@types/babel__traverse@7.18.4": 573 | resolution: 574 | { 575 | integrity: sha512-TLG7CsGZZmX9aDF78UuJxnNTfQyRUFU0OYIVyIblr0/wd/HvsIo8wmuB90CszeD2MtLLAE9Tt4cWvk+KVkyGIw==, 576 | } 577 | 578 | "@types/estree@1.0.1": 579 | resolution: 580 | { 581 | integrity: sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==, 582 | } 583 | 584 | "@types/graceful-fs@4.1.6": 585 | resolution: 586 | { 587 | integrity: sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==, 588 | } 589 | 590 | "@types/istanbul-lib-coverage@2.0.4": 591 | resolution: 592 | { 593 | integrity: sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==, 594 | } 595 | 596 | "@types/istanbul-lib-report@3.0.0": 597 | resolution: 598 | { 599 | integrity: sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==, 600 | } 601 | 602 | "@types/istanbul-reports@3.0.1": 603 | resolution: 604 | { 605 | integrity: sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==, 606 | } 607 | 608 | "@types/jest@29.5.1": 609 | resolution: 610 | { 611 | integrity: sha512-tEuVcHrpaixS36w7hpsfLBLpjtMRJUE09/MHXn923LOVojDwyC14cWcfc0rDs0VEfUyYmt/+iX1kxxp+gZMcaQ==, 612 | } 613 | 614 | "@types/minimist@1.2.2": 615 | resolution: 616 | { 617 | integrity: sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==, 618 | } 619 | 620 | "@types/node@18.16.1": 621 | resolution: 622 | { 623 | integrity: sha512-DZxSZWXxFfOlx7k7Rv4LAyiMroaxa3Ly/7OOzZO8cBNho0YzAi4qlbrx8W27JGqG57IgR/6J7r+nOJWw6kcvZA==, 624 | } 625 | 626 | "@types/normalize-package-data@2.4.1": 627 | resolution: 628 | { 629 | integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==, 630 | } 631 | 632 | "@types/prettier@2.7.2": 633 | resolution: 634 | { 635 | integrity: sha512-KufADq8uQqo1pYKVIYzfKbJfBAc0sOeXqGbFaSpv8MRmC/zXgowNZmFcbngndGk922QDmOASEXUZCaY48gs4cg==, 636 | } 637 | 638 | "@types/stack-utils@2.0.1": 639 | resolution: 640 | { 641 | integrity: sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==, 642 | } 643 | 644 | "@types/yargs-parser@21.0.0": 645 | resolution: 646 | { 647 | integrity: sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==, 648 | } 649 | 650 | "@types/yargs@17.0.24": 651 | resolution: 652 | { 653 | integrity: sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==, 654 | } 655 | 656 | JSONStream@1.3.5: 657 | resolution: 658 | { 659 | integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==, 660 | } 661 | hasBin: true 662 | 663 | add-stream@1.0.0: 664 | resolution: 665 | { 666 | integrity: sha512-qQLMr+8o0WC4FZGQTcJiKBVC59JylcPSrTtk6usvmIDFUOCKegapy1VHQwRbFMOFyb/inzUVqHs+eMYKDM1YeQ==, 667 | } 668 | 669 | aggregate-error@3.1.0: 670 | resolution: 671 | { 672 | integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==, 673 | } 674 | engines: { node: ">=8" } 675 | 676 | ansi-escapes@4.3.2: 677 | resolution: 678 | { 679 | integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==, 680 | } 681 | engines: { node: ">=8" } 682 | 683 | ansi-regex@5.0.1: 684 | resolution: 685 | { 686 | integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==, 687 | } 688 | engines: { node: ">=8" } 689 | 690 | ansi-regex@6.0.1: 691 | resolution: 692 | { 693 | integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==, 694 | } 695 | engines: { node: ">=12" } 696 | 697 | ansi-styles@3.2.1: 698 | resolution: 699 | { 700 | integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==, 701 | } 702 | engines: { node: ">=4" } 703 | 704 | ansi-styles@4.3.0: 705 | resolution: 706 | { 707 | integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==, 708 | } 709 | engines: { node: ">=8" } 710 | 711 | ansi-styles@5.2.0: 712 | resolution: 713 | { 714 | integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==, 715 | } 716 | engines: { node: ">=10" } 717 | 718 | ansi-styles@6.2.1: 719 | resolution: 720 | { 721 | integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==, 722 | } 723 | engines: { node: ">=12" } 724 | 725 | anymatch@3.1.3: 726 | resolution: 727 | { 728 | integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==, 729 | } 730 | engines: { node: ">= 8" } 731 | 732 | argparse@1.0.10: 733 | resolution: 734 | { 735 | integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==, 736 | } 737 | 738 | array-ify@1.0.0: 739 | resolution: 740 | { 741 | integrity: sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==, 742 | } 743 | 744 | arrify@1.0.1: 745 | resolution: 746 | { 747 | integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==, 748 | } 749 | engines: { node: ">=0.10.0" } 750 | 751 | astral-regex@2.0.0: 752 | resolution: 753 | { 754 | integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==, 755 | } 756 | engines: { node: ">=8" } 757 | 758 | asynckit@0.4.0: 759 | resolution: 760 | { 761 | integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==, 762 | } 763 | 764 | axios@1.6.1: 765 | resolution: 766 | { 767 | integrity: sha512-vfBmhDpKafglh0EldBEbVuoe7DyAavGSLWhuSm5ZSEKQnHhBf0xAAwybbNH1IkrJNGnS/VG4I5yxig1pCEXE4g==, 768 | } 769 | 770 | babel-jest@29.5.0: 771 | resolution: 772 | { 773 | integrity: sha512-mA4eCDh5mSo2EcA9xQjVTpmbbNk32Zb3Q3QFQsNhaK56Q+yoXowzFodLux30HRgyOho5rsQ6B0P9QpMkvvnJ0Q==, 774 | } 775 | engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } 776 | peerDependencies: 777 | "@babel/core": ^7.8.0 778 | 779 | babel-plugin-istanbul@6.1.1: 780 | resolution: 781 | { 782 | integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==, 783 | } 784 | engines: { node: ">=8" } 785 | 786 | babel-plugin-jest-hoist@29.5.0: 787 | resolution: 788 | { 789 | integrity: sha512-zSuuuAlTMT4mzLj2nPnUm6fsE6270vdOfnpbJ+RmruU75UhLFvL0N2NgI7xpeS7NaB6hGqmd5pVpGTDYvi4Q3w==, 790 | } 791 | engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } 792 | 793 | babel-preset-current-node-syntax@1.0.1: 794 | resolution: 795 | { 796 | integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==, 797 | } 798 | peerDependencies: 799 | "@babel/core": ^7.0.0 800 | 801 | babel-preset-jest@29.5.0: 802 | resolution: 803 | { 804 | integrity: sha512-JOMloxOqdiBSxMAzjRaH023/vvcaSaec49zvg+2LmNsktC7ei39LTJGw02J+9uUtTZUq6xbLyJ4dxe9sSmIuAg==, 805 | } 806 | engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } 807 | peerDependencies: 808 | "@babel/core": ^7.0.0 809 | 810 | balanced-match@1.0.2: 811 | resolution: 812 | { 813 | integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==, 814 | } 815 | 816 | brace-expansion@1.1.11: 817 | resolution: 818 | { 819 | integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==, 820 | } 821 | 822 | braces@3.0.3: 823 | resolution: 824 | { 825 | integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==, 826 | } 827 | engines: { node: ">=8" } 828 | 829 | browserslist@4.21.5: 830 | resolution: 831 | { 832 | integrity: sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==, 833 | } 834 | engines: { node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7 } 835 | hasBin: true 836 | 837 | bs-logger@0.2.6: 838 | resolution: 839 | { 840 | integrity: sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==, 841 | } 842 | engines: { node: ">= 6" } 843 | 844 | bser@2.1.1: 845 | resolution: 846 | { 847 | integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==, 848 | } 849 | 850 | buffer-equal-constant-time@1.0.1: 851 | resolution: { integrity: sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk= } 852 | 853 | buffer-from@1.1.2: 854 | resolution: 855 | { 856 | integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==, 857 | } 858 | 859 | callsites@3.1.0: 860 | resolution: 861 | { 862 | integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==, 863 | } 864 | engines: { node: ">=6" } 865 | 866 | camelcase-keys@6.2.2: 867 | resolution: 868 | { 869 | integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==, 870 | } 871 | engines: { node: ">=8" } 872 | 873 | camelcase@5.3.1: 874 | resolution: 875 | { 876 | integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==, 877 | } 878 | engines: { node: ">=6" } 879 | 880 | camelcase@6.3.0: 881 | resolution: 882 | { 883 | integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==, 884 | } 885 | engines: { node: ">=10" } 886 | 887 | caniuse-lite@1.0.30001481: 888 | resolution: 889 | { 890 | integrity: sha512-KCqHwRnaa1InZBtqXzP98LPg0ajCVujMKjqKDhZEthIpAsJl/YEIa3YvXjGXPVqzZVguccuu7ga9KOE1J9rKPQ==, 891 | } 892 | 893 | chalk@2.4.2: 894 | resolution: 895 | { 896 | integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==, 897 | } 898 | engines: { node: ">=4" } 899 | 900 | chalk@4.1.2: 901 | resolution: 902 | { 903 | integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==, 904 | } 905 | engines: { node: ">=10" } 906 | 907 | chalk@5.2.0: 908 | resolution: 909 | { 910 | integrity: sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA==, 911 | } 912 | engines: { node: ^12.17.0 || ^14.13 || >=16.0.0 } 913 | 914 | char-regex@1.0.2: 915 | resolution: 916 | { 917 | integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==, 918 | } 919 | engines: { node: ">=10" } 920 | 921 | ci-info@3.8.0: 922 | resolution: 923 | { 924 | integrity: sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==, 925 | } 926 | engines: { node: ">=8" } 927 | 928 | cjs-module-lexer@1.2.2: 929 | resolution: 930 | { 931 | integrity: sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==, 932 | } 933 | 934 | clean-stack@2.2.0: 935 | resolution: 936 | { 937 | integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==, 938 | } 939 | engines: { node: ">=6" } 940 | 941 | cli-cursor@3.1.0: 942 | resolution: 943 | { 944 | integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==, 945 | } 946 | engines: { node: ">=8" } 947 | 948 | cli-truncate@2.1.0: 949 | resolution: 950 | { 951 | integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==, 952 | } 953 | engines: { node: ">=8" } 954 | 955 | cli-truncate@3.1.0: 956 | resolution: 957 | { 958 | integrity: sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==, 959 | } 960 | engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } 961 | 962 | cliui@7.0.4: 963 | resolution: 964 | { 965 | integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==, 966 | } 967 | 968 | cliui@8.0.1: 969 | resolution: 970 | { 971 | integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==, 972 | } 973 | engines: { node: ">=12" } 974 | 975 | co@4.6.0: 976 | resolution: 977 | { 978 | integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==, 979 | } 980 | engines: { iojs: ">= 1.0.0", node: ">= 0.12.0" } 981 | 982 | collect-v8-coverage@1.0.1: 983 | resolution: 984 | { 985 | integrity: sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==, 986 | } 987 | 988 | color-convert@1.9.3: 989 | resolution: 990 | { 991 | integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==, 992 | } 993 | 994 | color-convert@2.0.1: 995 | resolution: 996 | { 997 | integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==, 998 | } 999 | engines: { node: ">=7.0.0" } 1000 | 1001 | color-name@1.1.3: 1002 | resolution: 1003 | { 1004 | integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==, 1005 | } 1006 | 1007 | color-name@1.1.4: 1008 | resolution: 1009 | { 1010 | integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==, 1011 | } 1012 | 1013 | colorette@2.0.20: 1014 | resolution: 1015 | { 1016 | integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==, 1017 | } 1018 | 1019 | combined-stream@1.0.8: 1020 | resolution: 1021 | { 1022 | integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==, 1023 | } 1024 | engines: { node: ">= 0.8" } 1025 | 1026 | commander@10.0.1: 1027 | resolution: 1028 | { 1029 | integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==, 1030 | } 1031 | engines: { node: ">=14" } 1032 | 1033 | compare-func@2.0.0: 1034 | resolution: 1035 | { 1036 | integrity: sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==, 1037 | } 1038 | 1039 | concat-map@0.0.1: 1040 | resolution: { integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= } 1041 | 1042 | concat-stream@2.0.0: 1043 | resolution: 1044 | { 1045 | integrity: sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==, 1046 | } 1047 | engines: { "0": node >= 6.0 } 1048 | 1049 | conventional-changelog-angular@5.0.13: 1050 | resolution: 1051 | { 1052 | integrity: sha512-i/gipMxs7s8L/QeuavPF2hLnJgH6pEZAttySB6aiQLWcX3puWDL3ACVmvBhJGxnAy52Qc15ua26BufY6KpmrVA==, 1053 | } 1054 | engines: { node: ">=10" } 1055 | 1056 | conventional-changelog-atom@2.0.8: 1057 | resolution: 1058 | { 1059 | integrity: sha512-xo6v46icsFTK3bb7dY/8m2qvc8sZemRgdqLb/bjpBsH2UyOS8rKNTgcb5025Hri6IpANPApbXMg15QLb1LJpBw==, 1060 | } 1061 | engines: { node: ">=10" } 1062 | 1063 | conventional-changelog-codemirror@2.0.8: 1064 | resolution: 1065 | { 1066 | integrity: sha512-z5DAsn3uj1Vfp7po3gpt2Boc+Bdwmw2++ZHa5Ak9k0UKsYAO5mH1UBTN0qSCuJZREIhX6WU4E1p3IW2oRCNzQw==, 1067 | } 1068 | engines: { node: ">=10" } 1069 | 1070 | conventional-changelog-config-spec@2.1.0: 1071 | resolution: 1072 | { 1073 | integrity: sha512-IpVePh16EbbB02V+UA+HQnnPIohgXvJRxHcS5+Uwk4AT5LjzCZJm5sp/yqs5C6KZJ1jMsV4paEV13BN1pvDuxQ==, 1074 | } 1075 | 1076 | conventional-changelog-conventionalcommits@4.6.3: 1077 | resolution: 1078 | { 1079 | integrity: sha512-LTTQV4fwOM4oLPad317V/QNQ1FY4Hju5qeBIM1uTHbrnCE+Eg4CdRZ3gO2pUeR+tzWdp80M2j3qFFEDWVqOV4g==, 1080 | } 1081 | engines: { node: ">=10" } 1082 | 1083 | conventional-changelog-core@4.2.4: 1084 | resolution: 1085 | { 1086 | integrity: sha512-gDVS+zVJHE2v4SLc6B0sLsPiloR0ygU7HaDW14aNJE1v4SlqJPILPl/aJC7YdtRE4CybBf8gDwObBvKha8Xlyg==, 1087 | } 1088 | engines: { node: ">=10" } 1089 | 1090 | conventional-changelog-ember@2.0.9: 1091 | resolution: 1092 | { 1093 | integrity: sha512-ulzIReoZEvZCBDhcNYfDIsLTHzYHc7awh+eI44ZtV5cx6LVxLlVtEmcO+2/kGIHGtw+qVabJYjdI5cJOQgXh1A==, 1094 | } 1095 | engines: { node: ">=10" } 1096 | 1097 | conventional-changelog-eslint@3.0.9: 1098 | resolution: 1099 | { 1100 | integrity: sha512-6NpUCMgU8qmWmyAMSZO5NrRd7rTgErjrm4VASam2u5jrZS0n38V7Y9CzTtLT2qwz5xEChDR4BduoWIr8TfwvXA==, 1101 | } 1102 | engines: { node: ">=10" } 1103 | 1104 | conventional-changelog-express@2.0.6: 1105 | resolution: 1106 | { 1107 | integrity: sha512-SDez2f3iVJw6V563O3pRtNwXtQaSmEfTCaTBPCqn0oG0mfkq0rX4hHBq5P7De2MncoRixrALj3u3oQsNK+Q0pQ==, 1108 | } 1109 | engines: { node: ">=10" } 1110 | 1111 | conventional-changelog-jquery@3.0.11: 1112 | resolution: 1113 | { 1114 | integrity: sha512-x8AWz5/Td55F7+o/9LQ6cQIPwrCjfJQ5Zmfqi8thwUEKHstEn4kTIofXub7plf1xvFA2TqhZlq7fy5OmV6BOMw==, 1115 | } 1116 | engines: { node: ">=10" } 1117 | 1118 | conventional-changelog-jshint@2.0.9: 1119 | resolution: 1120 | { 1121 | integrity: sha512-wMLdaIzq6TNnMHMy31hql02OEQ8nCQfExw1SE0hYL5KvU+JCTuPaDO+7JiogGT2gJAxiUGATdtYYfh+nT+6riA==, 1122 | } 1123 | engines: { node: ">=10" } 1124 | 1125 | conventional-changelog-preset-loader@2.3.4: 1126 | resolution: 1127 | { 1128 | integrity: sha512-GEKRWkrSAZeTq5+YjUZOYxdHq+ci4dNwHvpaBC3+ENalzFWuCWa9EZXSuZBpkr72sMdKB+1fyDV4takK1Lf58g==, 1129 | } 1130 | engines: { node: ">=10" } 1131 | 1132 | conventional-changelog-writer@5.0.1: 1133 | resolution: 1134 | { 1135 | integrity: sha512-5WsuKUfxW7suLblAbFnxAcrvf6r+0b7GvNaWUwUIk0bXMnENP/PEieGKVUQrjPqwPT4o3EPAASBXiY6iHooLOQ==, 1136 | } 1137 | engines: { node: ">=10" } 1138 | hasBin: true 1139 | 1140 | conventional-changelog@3.1.25: 1141 | resolution: 1142 | { 1143 | integrity: sha512-ryhi3fd1mKf3fSjbLXOfK2D06YwKNic1nC9mWqybBHdObPd8KJ2vjaXZfYj1U23t+V8T8n0d7gwnc9XbIdFbyQ==, 1144 | } 1145 | engines: { node: ">=10" } 1146 | 1147 | conventional-commits-filter@2.0.7: 1148 | resolution: 1149 | { 1150 | integrity: sha512-ASS9SamOP4TbCClsRHxIHXRfcGCnIoQqkvAzCSbZzTFLfcTqJVugB0agRgsEELsqaeWgsXv513eS116wnlSSPA==, 1151 | } 1152 | engines: { node: ">=10" } 1153 | 1154 | conventional-commits-parser@3.2.4: 1155 | resolution: 1156 | { 1157 | integrity: sha512-nK7sAtfi+QXbxHCYfhpZsfRtaitZLIA6889kFIouLvz6repszQDgxBu7wf2WbU+Dco7sAnNCJYERCwt54WPC2Q==, 1158 | } 1159 | engines: { node: ">=10" } 1160 | hasBin: true 1161 | 1162 | conventional-recommended-bump@6.1.0: 1163 | resolution: 1164 | { 1165 | integrity: sha512-uiApbSiNGM/kkdL9GTOLAqC4hbptObFo4wW2QRyHsKciGAfQuLU1ShZ1BIVI/+K2BE/W1AWYQMCXAsv4dyKPaw==, 1166 | } 1167 | engines: { node: ">=10" } 1168 | hasBin: true 1169 | 1170 | convert-source-map@1.9.0: 1171 | resolution: 1172 | { 1173 | integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==, 1174 | } 1175 | 1176 | convert-source-map@2.0.0: 1177 | resolution: 1178 | { 1179 | integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==, 1180 | } 1181 | 1182 | core-util-is@1.0.3: 1183 | resolution: 1184 | { 1185 | integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==, 1186 | } 1187 | 1188 | cross-spawn@7.0.3: 1189 | resolution: 1190 | { 1191 | integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==, 1192 | } 1193 | engines: { node: ">= 8" } 1194 | 1195 | dargs@7.0.0: 1196 | resolution: 1197 | { 1198 | integrity: sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==, 1199 | } 1200 | engines: { node: ">=8" } 1201 | 1202 | dateformat@3.0.3: 1203 | resolution: 1204 | { 1205 | integrity: sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==, 1206 | } 1207 | 1208 | debug@4.3.4: 1209 | resolution: 1210 | { 1211 | integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==, 1212 | } 1213 | engines: { node: ">=6.0" } 1214 | peerDependencies: 1215 | supports-color: "*" 1216 | peerDependenciesMeta: 1217 | supports-color: 1218 | optional: true 1219 | 1220 | decamelize-keys@1.1.1: 1221 | resolution: 1222 | { 1223 | integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==, 1224 | } 1225 | engines: { node: ">=0.10.0" } 1226 | 1227 | decamelize@1.2.0: 1228 | resolution: 1229 | { 1230 | integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==, 1231 | } 1232 | engines: { node: ">=0.10.0" } 1233 | 1234 | dedent@0.7.0: 1235 | resolution: 1236 | { 1237 | integrity: sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==, 1238 | } 1239 | 1240 | deepmerge@4.3.1: 1241 | resolution: 1242 | { 1243 | integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==, 1244 | } 1245 | engines: { node: ">=0.10.0" } 1246 | 1247 | delayed-stream@1.0.0: 1248 | resolution: 1249 | { 1250 | integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==, 1251 | } 1252 | engines: { node: ">=0.4.0" } 1253 | 1254 | detect-indent@6.1.0: 1255 | resolution: 1256 | { 1257 | integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==, 1258 | } 1259 | engines: { node: ">=8" } 1260 | 1261 | detect-newline@3.1.0: 1262 | resolution: 1263 | { 1264 | integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==, 1265 | } 1266 | engines: { node: ">=8" } 1267 | 1268 | diff-sequences@29.4.3: 1269 | resolution: 1270 | { 1271 | integrity: sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA==, 1272 | } 1273 | engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } 1274 | 1275 | dot-prop@5.3.0: 1276 | resolution: 1277 | { 1278 | integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==, 1279 | } 1280 | engines: { node: ">=8" } 1281 | 1282 | dotgitignore@2.1.0: 1283 | resolution: 1284 | { 1285 | integrity: sha512-sCm11ak2oY6DglEPpCB8TixLjWAxd3kJTs6UIcSasNYxXdFPV+YKlye92c8H4kKFqV5qYMIh7d+cYecEg0dIkA==, 1286 | } 1287 | engines: { node: ">=6" } 1288 | 1289 | eastasianwidth@0.2.0: 1290 | resolution: 1291 | { 1292 | integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==, 1293 | } 1294 | 1295 | ecdsa-sig-formatter@1.0.11: 1296 | resolution: 1297 | { 1298 | integrity: sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==, 1299 | } 1300 | 1301 | electron-to-chromium@1.4.372: 1302 | resolution: 1303 | { 1304 | integrity: sha512-MrlFq/j+TYHOjeWsWGYfzevc25HNeJdsF6qaLFrqBTRWZQtWkb1myq/Q2veLWezVaa5OcSZ99CFwTT4aF4Mung==, 1305 | } 1306 | 1307 | emittery@0.13.1: 1308 | resolution: 1309 | { 1310 | integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==, 1311 | } 1312 | engines: { node: ">=12" } 1313 | 1314 | emoji-regex@8.0.0: 1315 | resolution: 1316 | { 1317 | integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==, 1318 | } 1319 | 1320 | emoji-regex@9.2.2: 1321 | resolution: 1322 | { 1323 | integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==, 1324 | } 1325 | 1326 | error-ex@1.3.2: 1327 | resolution: 1328 | { 1329 | integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==, 1330 | } 1331 | 1332 | escalade@3.1.1: 1333 | resolution: 1334 | { 1335 | integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==, 1336 | } 1337 | engines: { node: ">=6" } 1338 | 1339 | escape-string-regexp@1.0.5: 1340 | resolution: 1341 | { 1342 | integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==, 1343 | } 1344 | engines: { node: ">=0.8.0" } 1345 | 1346 | escape-string-regexp@2.0.0: 1347 | resolution: 1348 | { 1349 | integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==, 1350 | } 1351 | engines: { node: ">=8" } 1352 | 1353 | esprima@4.0.1: 1354 | resolution: 1355 | { 1356 | integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==, 1357 | } 1358 | engines: { node: ">=4" } 1359 | hasBin: true 1360 | 1361 | estree-walker@2.0.2: 1362 | resolution: 1363 | { 1364 | integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==, 1365 | } 1366 | 1367 | execa@5.1.1: 1368 | resolution: 1369 | { 1370 | integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==, 1371 | } 1372 | engines: { node: ">=10" } 1373 | 1374 | execa@7.1.1: 1375 | resolution: 1376 | { 1377 | integrity: sha512-wH0eMf/UXckdUYnO21+HDztteVv05rq2GXksxT4fCGeHkBhw1DROXh40wcjMcRqDOWE7iPJ4n3M7e2+YFP+76Q==, 1378 | } 1379 | engines: { node: ^14.18.0 || ^16.14.0 || >=18.0.0 } 1380 | 1381 | exit@0.1.2: 1382 | resolution: 1383 | { 1384 | integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==, 1385 | } 1386 | engines: { node: ">= 0.8.0" } 1387 | 1388 | expect@29.5.0: 1389 | resolution: 1390 | { 1391 | integrity: sha512-yM7xqUrCO2JdpFo4XpM82t+PJBFybdqoQuJLDGeDX2ij8NZzqRHyu3Hp188/JX7SWqud+7t4MUdvcgGBICMHZg==, 1392 | } 1393 | engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } 1394 | 1395 | fast-json-stable-stringify@2.1.0: 1396 | resolution: 1397 | { 1398 | integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==, 1399 | } 1400 | 1401 | fb-watchman@2.0.2: 1402 | resolution: 1403 | { 1404 | integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==, 1405 | } 1406 | 1407 | figures@3.2.0: 1408 | resolution: 1409 | { 1410 | integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==, 1411 | } 1412 | engines: { node: ">=8" } 1413 | 1414 | fill-range@7.1.1: 1415 | resolution: 1416 | { 1417 | integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==, 1418 | } 1419 | engines: { node: ">=8" } 1420 | 1421 | find-up@2.1.0: 1422 | resolution: 1423 | { 1424 | integrity: sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==, 1425 | } 1426 | engines: { node: ">=4" } 1427 | 1428 | find-up@3.0.0: 1429 | resolution: 1430 | { 1431 | integrity: sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==, 1432 | } 1433 | engines: { node: ">=6" } 1434 | 1435 | find-up@4.1.0: 1436 | resolution: 1437 | { 1438 | integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==, 1439 | } 1440 | engines: { node: ">=8" } 1441 | 1442 | find-up@5.0.0: 1443 | resolution: 1444 | { 1445 | integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==, 1446 | } 1447 | engines: { node: ">=10" } 1448 | 1449 | follow-redirects@1.15.6: 1450 | resolution: 1451 | { 1452 | integrity: sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==, 1453 | } 1454 | engines: { node: ">=4.0" } 1455 | peerDependencies: 1456 | debug: "*" 1457 | peerDependenciesMeta: 1458 | debug: 1459 | optional: true 1460 | 1461 | form-data@4.0.0: 1462 | resolution: 1463 | { 1464 | integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==, 1465 | } 1466 | engines: { node: ">= 6" } 1467 | 1468 | fs.realpath@1.0.0: 1469 | resolution: 1470 | { 1471 | integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==, 1472 | } 1473 | 1474 | fsevents@2.3.3: 1475 | resolution: 1476 | { 1477 | integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==, 1478 | } 1479 | engines: { node: ^8.16.0 || ^10.6.0 || >=11.0.0 } 1480 | os: [darwin] 1481 | 1482 | function-bind@1.1.1: 1483 | resolution: 1484 | { 1485 | integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==, 1486 | } 1487 | 1488 | gensync@1.0.0-beta.2: 1489 | resolution: 1490 | { 1491 | integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==, 1492 | } 1493 | engines: { node: ">=6.9.0" } 1494 | 1495 | get-caller-file@2.0.5: 1496 | resolution: 1497 | { 1498 | integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==, 1499 | } 1500 | engines: { node: 6.* || 8.* || >= 10.* } 1501 | 1502 | get-package-type@0.1.0: 1503 | resolution: 1504 | { 1505 | integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==, 1506 | } 1507 | engines: { node: ">=8.0.0" } 1508 | 1509 | get-pkg-repo@4.2.1: 1510 | resolution: 1511 | { 1512 | integrity: sha512-2+QbHjFRfGB74v/pYWjd5OhU3TDIC2Gv/YKUTk/tCvAz0pkn/Mz6P3uByuBimLOcPvN2jYdScl3xGFSrx0jEcA==, 1513 | } 1514 | engines: { node: ">=6.9.0" } 1515 | hasBin: true 1516 | 1517 | get-stream@6.0.1: 1518 | resolution: 1519 | { 1520 | integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==, 1521 | } 1522 | engines: { node: ">=10" } 1523 | 1524 | git-raw-commits@2.0.11: 1525 | resolution: 1526 | { 1527 | integrity: sha512-VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A==, 1528 | } 1529 | engines: { node: ">=10" } 1530 | hasBin: true 1531 | 1532 | git-remote-origin-url@2.0.0: 1533 | resolution: 1534 | { 1535 | integrity: sha512-eU+GGrZgccNJcsDH5LkXR3PB9M958hxc7sbA8DFJjrv9j4L2P/eZfKhM+QD6wyzpiv+b1BpK0XrYCxkovtjSLw==, 1536 | } 1537 | engines: { node: ">=4" } 1538 | 1539 | git-semver-tags@4.1.1: 1540 | resolution: 1541 | { 1542 | integrity: sha512-OWyMt5zBe7xFs8vglMmhM9lRQzCWL3WjHtxNNfJTMngGym7pC1kh8sP6jevfydJ6LP3ZvGxfb6ABYgPUM0mtsA==, 1543 | } 1544 | engines: { node: ">=10" } 1545 | hasBin: true 1546 | 1547 | gitconfiglocal@1.0.0: 1548 | resolution: 1549 | { 1550 | integrity: sha512-spLUXeTAVHxDtKsJc8FkFVgFtMdEN9qPGpL23VfSHx4fP4+Ds097IXLvymbnDH8FnmxX5Nr9bPw3A+AQ6mWEaQ==, 1551 | } 1552 | 1553 | glob@7.2.3: 1554 | resolution: 1555 | { 1556 | integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==, 1557 | } 1558 | 1559 | globals@11.12.0: 1560 | resolution: 1561 | { 1562 | integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==, 1563 | } 1564 | engines: { node: ">=4" } 1565 | 1566 | graceful-fs@4.2.11: 1567 | resolution: 1568 | { 1569 | integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==, 1570 | } 1571 | 1572 | handlebars@4.7.7: 1573 | resolution: 1574 | { 1575 | integrity: sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==, 1576 | } 1577 | engines: { node: ">=0.4.7" } 1578 | hasBin: true 1579 | 1580 | hard-rejection@2.1.0: 1581 | resolution: 1582 | { 1583 | integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==, 1584 | } 1585 | engines: { node: ">=6" } 1586 | 1587 | has-flag@3.0.0: 1588 | resolution: 1589 | { 1590 | integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==, 1591 | } 1592 | engines: { node: ">=4" } 1593 | 1594 | has-flag@4.0.0: 1595 | resolution: 1596 | { 1597 | integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==, 1598 | } 1599 | engines: { node: ">=8" } 1600 | 1601 | has@1.0.3: 1602 | resolution: 1603 | { 1604 | integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==, 1605 | } 1606 | engines: { node: ">= 0.4.0" } 1607 | 1608 | hosted-git-info@2.8.9: 1609 | resolution: 1610 | { 1611 | integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==, 1612 | } 1613 | 1614 | hosted-git-info@4.1.0: 1615 | resolution: 1616 | { 1617 | integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==, 1618 | } 1619 | engines: { node: ">=10" } 1620 | 1621 | html-escaper@2.0.2: 1622 | resolution: 1623 | { 1624 | integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==, 1625 | } 1626 | 1627 | human-signals@2.1.0: 1628 | resolution: 1629 | { 1630 | integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==, 1631 | } 1632 | engines: { node: ">=10.17.0" } 1633 | 1634 | human-signals@4.3.1: 1635 | resolution: 1636 | { 1637 | integrity: sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==, 1638 | } 1639 | engines: { node: ">=14.18.0" } 1640 | 1641 | husky@8.0.3: 1642 | resolution: 1643 | { 1644 | integrity: sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg==, 1645 | } 1646 | engines: { node: ">=14" } 1647 | hasBin: true 1648 | 1649 | import-local@3.1.0: 1650 | resolution: 1651 | { 1652 | integrity: sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==, 1653 | } 1654 | engines: { node: ">=8" } 1655 | hasBin: true 1656 | 1657 | imurmurhash@0.1.4: 1658 | resolution: 1659 | { 1660 | integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==, 1661 | } 1662 | engines: { node: ">=0.8.19" } 1663 | 1664 | indent-string@4.0.0: 1665 | resolution: 1666 | { 1667 | integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==, 1668 | } 1669 | engines: { node: ">=8" } 1670 | 1671 | inflight@1.0.6: 1672 | resolution: 1673 | { 1674 | integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==, 1675 | } 1676 | 1677 | inherits@2.0.4: 1678 | resolution: 1679 | { 1680 | integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==, 1681 | } 1682 | 1683 | ini@1.3.8: 1684 | resolution: 1685 | { 1686 | integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==, 1687 | } 1688 | 1689 | is-arrayish@0.2.1: 1690 | resolution: 1691 | { 1692 | integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==, 1693 | } 1694 | 1695 | is-core-module@2.12.0: 1696 | resolution: 1697 | { 1698 | integrity: sha512-RECHCBCd/viahWmwj6enj19sKbHfJrddi/6cBDsNTKbNq0f7VeaUkBo60BqzvPqo/W54ChS62Z5qyun7cfOMqQ==, 1699 | } 1700 | 1701 | is-fullwidth-code-point@3.0.0: 1702 | resolution: 1703 | { 1704 | integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==, 1705 | } 1706 | engines: { node: ">=8" } 1707 | 1708 | is-fullwidth-code-point@4.0.0: 1709 | resolution: 1710 | { 1711 | integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==, 1712 | } 1713 | engines: { node: ">=12" } 1714 | 1715 | is-generator-fn@2.1.0: 1716 | resolution: 1717 | { 1718 | integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==, 1719 | } 1720 | engines: { node: ">=6" } 1721 | 1722 | is-number@7.0.0: 1723 | resolution: 1724 | { 1725 | integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==, 1726 | } 1727 | engines: { node: ">=0.12.0" } 1728 | 1729 | is-obj@2.0.0: 1730 | resolution: 1731 | { 1732 | integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==, 1733 | } 1734 | engines: { node: ">=8" } 1735 | 1736 | is-plain-obj@1.1.0: 1737 | resolution: 1738 | { 1739 | integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==, 1740 | } 1741 | engines: { node: ">=0.10.0" } 1742 | 1743 | is-stream@2.0.1: 1744 | resolution: 1745 | { 1746 | integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==, 1747 | } 1748 | engines: { node: ">=8" } 1749 | 1750 | is-stream@3.0.0: 1751 | resolution: 1752 | { 1753 | integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==, 1754 | } 1755 | engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } 1756 | 1757 | is-text-path@1.0.1: 1758 | resolution: 1759 | { 1760 | integrity: sha512-xFuJpne9oFz5qDaodwmmG08e3CawH/2ZV8Qqza1Ko7Sk8POWbkRdwIoAWVhqvq0XeUzANEhKo2n0IXUGBm7A/w==, 1761 | } 1762 | engines: { node: ">=0.10.0" } 1763 | 1764 | isarray@1.0.0: 1765 | resolution: 1766 | { 1767 | integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==, 1768 | } 1769 | 1770 | isexe@2.0.0: 1771 | resolution: 1772 | { 1773 | integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==, 1774 | } 1775 | 1776 | istanbul-lib-coverage@3.2.0: 1777 | resolution: 1778 | { 1779 | integrity: sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==, 1780 | } 1781 | engines: { node: ">=8" } 1782 | 1783 | istanbul-lib-instrument@5.2.1: 1784 | resolution: 1785 | { 1786 | integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==, 1787 | } 1788 | engines: { node: ">=8" } 1789 | 1790 | istanbul-lib-report@3.0.0: 1791 | resolution: 1792 | { 1793 | integrity: sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==, 1794 | } 1795 | engines: { node: ">=8" } 1796 | 1797 | istanbul-lib-source-maps@4.0.1: 1798 | resolution: 1799 | { 1800 | integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==, 1801 | } 1802 | engines: { node: ">=10" } 1803 | 1804 | istanbul-reports@3.1.5: 1805 | resolution: 1806 | { 1807 | integrity: sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==, 1808 | } 1809 | engines: { node: ">=8" } 1810 | 1811 | jest-changed-files@29.5.0: 1812 | resolution: 1813 | { 1814 | integrity: sha512-IFG34IUMUaNBIxjQXF/iu7g6EcdMrGRRxaUSw92I/2g2YC6vCdTltl4nHvt7Ci5nSJwXIkCu8Ka1DKF+X7Z1Ag==, 1815 | } 1816 | engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } 1817 | 1818 | jest-circus@29.5.0: 1819 | resolution: 1820 | { 1821 | integrity: sha512-gq/ongqeQKAplVxqJmbeUOJJKkW3dDNPY8PjhJ5G0lBRvu0e3EWGxGy5cI4LAGA7gV2UHCtWBI4EMXK8c9nQKA==, 1822 | } 1823 | engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } 1824 | 1825 | jest-cli@29.5.0: 1826 | resolution: 1827 | { 1828 | integrity: sha512-L1KcP1l4HtfwdxXNFCL5bmUbLQiKrakMUriBEcc1Vfz6gx31ORKdreuWvmQVBit+1ss9NNR3yxjwfwzZNdQXJw==, 1829 | } 1830 | engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } 1831 | hasBin: true 1832 | peerDependencies: 1833 | node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 1834 | peerDependenciesMeta: 1835 | node-notifier: 1836 | optional: true 1837 | 1838 | jest-config@29.5.0: 1839 | resolution: 1840 | { 1841 | integrity: sha512-kvDUKBnNJPNBmFFOhDbm59iu1Fii1Q6SxyhXfvylq3UTHbg6o7j/g8k2dZyXWLvfdKB1vAPxNZnMgtKJcmu3kA==, 1842 | } 1843 | engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } 1844 | peerDependencies: 1845 | "@types/node": "*" 1846 | ts-node: ">=9.0.0" 1847 | peerDependenciesMeta: 1848 | "@types/node": 1849 | optional: true 1850 | ts-node: 1851 | optional: true 1852 | 1853 | jest-diff@29.5.0: 1854 | resolution: 1855 | { 1856 | integrity: sha512-LtxijLLZBduXnHSniy0WMdaHjmQnt3g5sa16W4p0HqukYTTsyTW3GD1q41TyGl5YFXj/5B2U6dlh5FM1LIMgxw==, 1857 | } 1858 | engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } 1859 | 1860 | jest-docblock@29.4.3: 1861 | resolution: 1862 | { 1863 | integrity: sha512-fzdTftThczeSD9nZ3fzA/4KkHtnmllawWrXO69vtI+L9WjEIuXWs4AmyME7lN5hU7dB0sHhuPfcKofRsUb/2Fg==, 1864 | } 1865 | engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } 1866 | 1867 | jest-each@29.5.0: 1868 | resolution: 1869 | { 1870 | integrity: sha512-HM5kIJ1BTnVt+DQZ2ALp3rzXEl+g726csObrW/jpEGl+CDSSQpOJJX2KE/vEg8cxcMXdyEPu6U4QX5eruQv5hA==, 1871 | } 1872 | engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } 1873 | 1874 | jest-environment-node@29.5.0: 1875 | resolution: 1876 | { 1877 | integrity: sha512-ExxuIK/+yQ+6PRGaHkKewYtg6hto2uGCgvKdb2nfJfKXgZ17DfXjvbZ+jA1Qt9A8EQSfPnt5FKIfnOO3u1h9qw==, 1878 | } 1879 | engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } 1880 | 1881 | jest-get-type@29.4.3: 1882 | resolution: 1883 | { 1884 | integrity: sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg==, 1885 | } 1886 | engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } 1887 | 1888 | jest-haste-map@29.5.0: 1889 | resolution: 1890 | { 1891 | integrity: sha512-IspOPnnBro8YfVYSw6yDRKh/TiCdRngjxeacCps1cQ9cgVN6+10JUcuJ1EabrgYLOATsIAigxA0rLR9x/YlrSA==, 1892 | } 1893 | engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } 1894 | 1895 | jest-leak-detector@29.5.0: 1896 | resolution: 1897 | { 1898 | integrity: sha512-u9YdeeVnghBUtpN5mVxjID7KbkKE1QU4f6uUwuxiY0vYRi9BUCLKlPEZfDGR67ofdFmDz9oPAy2G92Ujrntmow==, 1899 | } 1900 | engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } 1901 | 1902 | jest-matcher-utils@29.5.0: 1903 | resolution: 1904 | { 1905 | integrity: sha512-lecRtgm/rjIK0CQ7LPQwzCs2VwW6WAahA55YBuI+xqmhm7LAaxokSB8C97yJeYyT+HvQkH741StzpU41wohhWw==, 1906 | } 1907 | engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } 1908 | 1909 | jest-message-util@29.5.0: 1910 | resolution: 1911 | { 1912 | integrity: sha512-Kijeg9Dag6CKtIDA7O21zNTACqD5MD/8HfIV8pdD94vFyFuer52SigdC3IQMhab3vACxXMiFk+yMHNdbqtyTGA==, 1913 | } 1914 | engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } 1915 | 1916 | jest-mock@29.5.0: 1917 | resolution: 1918 | { 1919 | integrity: sha512-GqOzvdWDE4fAV2bWQLQCkujxYWL7RxjCnj71b5VhDAGOevB3qj3Ovg26A5NI84ZpODxyzaozXLOh2NCgkbvyaw==, 1920 | } 1921 | engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } 1922 | 1923 | jest-pnp-resolver@1.2.3: 1924 | resolution: 1925 | { 1926 | integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==, 1927 | } 1928 | engines: { node: ">=6" } 1929 | peerDependencies: 1930 | jest-resolve: "*" 1931 | peerDependenciesMeta: 1932 | jest-resolve: 1933 | optional: true 1934 | 1935 | jest-regex-util@29.4.3: 1936 | resolution: 1937 | { 1938 | integrity: sha512-O4FglZaMmWXbGHSQInfXewIsd1LMn9p3ZXB/6r4FOkyhX2/iP/soMG98jGvk/A3HAN78+5VWcBGO0BJAPRh4kg==, 1939 | } 1940 | engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } 1941 | 1942 | jest-resolve-dependencies@29.5.0: 1943 | resolution: 1944 | { 1945 | integrity: sha512-sjV3GFr0hDJMBpYeUuGduP+YeCRbd7S/ck6IvL3kQ9cpySYKqcqhdLLC2rFwrcL7tz5vYibomBrsFYWkIGGjOg==, 1946 | } 1947 | engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } 1948 | 1949 | jest-resolve@29.5.0: 1950 | resolution: 1951 | { 1952 | integrity: sha512-1TzxJ37FQq7J10jPtQjcc+MkCkE3GBpBecsSUWJ0qZNJpmg6m0D9/7II03yJulm3H/fvVjgqLh/k2eYg+ui52w==, 1953 | } 1954 | engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } 1955 | 1956 | jest-runner@29.5.0: 1957 | resolution: 1958 | { 1959 | integrity: sha512-m7b6ypERhFghJsslMLhydaXBiLf7+jXy8FwGRHO3BGV1mcQpPbwiqiKUR2zU2NJuNeMenJmlFZCsIqzJCTeGLQ==, 1960 | } 1961 | engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } 1962 | 1963 | jest-runtime@29.5.0: 1964 | resolution: 1965 | { 1966 | integrity: sha512-1Hr6Hh7bAgXQP+pln3homOiEZtCDZFqwmle7Ew2j8OlbkIu6uE3Y/etJQG8MLQs3Zy90xrp2C0BRrtPHG4zryw==, 1967 | } 1968 | engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } 1969 | 1970 | jest-snapshot@29.5.0: 1971 | resolution: 1972 | { 1973 | integrity: sha512-x7Wolra5V0tt3wRs3/ts3S6ciSQVypgGQlJpz2rsdQYoUKxMxPNaoHMGJN6qAuPJqS+2iQ1ZUn5kl7HCyls84g==, 1974 | } 1975 | engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } 1976 | 1977 | jest-util@29.5.0: 1978 | resolution: 1979 | { 1980 | integrity: sha512-RYMgG/MTadOr5t8KdhejfvUU82MxsCu5MF6KuDUHl+NuwzUt+Sm6jJWxTJVrDR1j5M/gJVCPKQEpWXY+yIQ6lQ==, 1981 | } 1982 | engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } 1983 | 1984 | jest-validate@29.5.0: 1985 | resolution: 1986 | { 1987 | integrity: sha512-pC26etNIi+y3HV8A+tUGr/lph9B18GnzSRAkPaaZJIE1eFdiYm6/CewuiJQ8/RlfHd1u/8Ioi8/sJ+CmbA+zAQ==, 1988 | } 1989 | engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } 1990 | 1991 | jest-watcher@29.5.0: 1992 | resolution: 1993 | { 1994 | integrity: sha512-KmTojKcapuqYrKDpRwfqcQ3zjMlwu27SYext9pt4GlF5FUgB+7XE1mcCnSm6a4uUpFyQIkb6ZhzZvHl+jiBCiA==, 1995 | } 1996 | engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } 1997 | 1998 | jest-worker@29.5.0: 1999 | resolution: 2000 | { 2001 | integrity: sha512-NcrQnevGoSp4b5kg+akIpthoAFHxPBcb5P6mYPY0fUNT+sSvmtu6jlkEle3anczUKIKEbMxFimk9oTP/tpIPgA==, 2002 | } 2003 | engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } 2004 | 2005 | jest@29.5.0: 2006 | resolution: 2007 | { 2008 | integrity: sha512-juMg3he2uru1QoXX078zTa7pO85QyB9xajZc6bU+d9yEGwrKX6+vGmJQ3UdVZsvTEUARIdObzH68QItim6OSSQ==, 2009 | } 2010 | engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } 2011 | hasBin: true 2012 | peerDependencies: 2013 | node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 2014 | peerDependenciesMeta: 2015 | node-notifier: 2016 | optional: true 2017 | 2018 | js-tokens@4.0.0: 2019 | resolution: 2020 | { 2021 | integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==, 2022 | } 2023 | 2024 | js-yaml@3.14.1: 2025 | resolution: 2026 | { 2027 | integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==, 2028 | } 2029 | hasBin: true 2030 | 2031 | jsesc@2.5.2: 2032 | resolution: 2033 | { 2034 | integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==, 2035 | } 2036 | engines: { node: ">=4" } 2037 | hasBin: true 2038 | 2039 | json-parse-better-errors@1.0.2: 2040 | resolution: 2041 | { 2042 | integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==, 2043 | } 2044 | 2045 | json-parse-even-better-errors@2.3.1: 2046 | resolution: 2047 | { 2048 | integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==, 2049 | } 2050 | 2051 | json-stringify-safe@5.0.1: 2052 | resolution: 2053 | { 2054 | integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==, 2055 | } 2056 | 2057 | json5@2.2.3: 2058 | resolution: 2059 | { 2060 | integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==, 2061 | } 2062 | engines: { node: ">=6" } 2063 | hasBin: true 2064 | 2065 | jsonparse@1.3.1: 2066 | resolution: 2067 | { 2068 | integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==, 2069 | } 2070 | engines: { "0": node >= 0.2.0 } 2071 | 2072 | jsonwebtoken@9.0.0: 2073 | resolution: 2074 | { 2075 | integrity: sha512-tuGfYXxkQGDPnLJ7SibiQgVgeDgfbPq2k2ICcbgqW8WxWLBAxKQM/ZCu/IT8SOSwmaYl4dpTFCW5xZv7YbbWUw==, 2076 | } 2077 | engines: { node: ">=12", npm: ">=6" } 2078 | 2079 | jwa@1.4.1: 2080 | resolution: 2081 | { 2082 | integrity: sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==, 2083 | } 2084 | 2085 | jws@3.2.2: 2086 | resolution: 2087 | { 2088 | integrity: sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==, 2089 | } 2090 | 2091 | kind-of@6.0.3: 2092 | resolution: 2093 | { 2094 | integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==, 2095 | } 2096 | engines: { node: ">=0.10.0" } 2097 | 2098 | kleur@3.0.3: 2099 | resolution: 2100 | { 2101 | integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==, 2102 | } 2103 | engines: { node: ">=6" } 2104 | 2105 | leven@3.1.0: 2106 | resolution: 2107 | { 2108 | integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==, 2109 | } 2110 | engines: { node: ">=6" } 2111 | 2112 | lilconfig@2.1.0: 2113 | resolution: 2114 | { 2115 | integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==, 2116 | } 2117 | engines: { node: ">=10" } 2118 | 2119 | lines-and-columns@1.2.4: 2120 | resolution: 2121 | { 2122 | integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==, 2123 | } 2124 | 2125 | lint-staged@13.2.1: 2126 | resolution: 2127 | { 2128 | integrity: sha512-8gfzinVXoPfga5Dz/ZOn8I2GOhf81Wvs+KwbEXQn/oWZAvCVS2PivrXfVbFJc93zD16uC0neS47RXHIjXKYZQw==, 2129 | } 2130 | engines: { node: ^14.13.1 || >=16.0.0 } 2131 | hasBin: true 2132 | 2133 | listr2@5.0.8: 2134 | resolution: 2135 | { 2136 | integrity: sha512-mC73LitKHj9w6v30nLNGPetZIlfpUniNSsxxrbaPcWOjDb92SHPzJPi/t+v1YC/lxKz/AJ9egOjww0qUuFxBpA==, 2137 | } 2138 | engines: { node: ^14.13.1 || >=16.0.0 } 2139 | peerDependencies: 2140 | enquirer: ">= 2.3.0 < 3" 2141 | peerDependenciesMeta: 2142 | enquirer: 2143 | optional: true 2144 | 2145 | load-json-file@4.0.0: 2146 | resolution: 2147 | { 2148 | integrity: sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==, 2149 | } 2150 | engines: { node: ">=4" } 2151 | 2152 | locate-path@2.0.0: 2153 | resolution: 2154 | { 2155 | integrity: sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==, 2156 | } 2157 | engines: { node: ">=4" } 2158 | 2159 | locate-path@3.0.0: 2160 | resolution: 2161 | { 2162 | integrity: sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==, 2163 | } 2164 | engines: { node: ">=6" } 2165 | 2166 | locate-path@5.0.0: 2167 | resolution: 2168 | { 2169 | integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==, 2170 | } 2171 | engines: { node: ">=8" } 2172 | 2173 | locate-path@6.0.0: 2174 | resolution: 2175 | { 2176 | integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==, 2177 | } 2178 | engines: { node: ">=10" } 2179 | 2180 | lodash.ismatch@4.4.0: 2181 | resolution: 2182 | { 2183 | integrity: sha512-fPMfXjGQEV9Xsq/8MTSgUf255gawYRbjwMyDbcvDhXgV7enSZA0hynz6vMPnpAb5iONEzBHBPsT+0zes5Z301g==, 2184 | } 2185 | 2186 | lodash.memoize@4.1.2: 2187 | resolution: 2188 | { 2189 | integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==, 2190 | } 2191 | 2192 | lodash@4.17.21: 2193 | resolution: 2194 | { 2195 | integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==, 2196 | } 2197 | 2198 | log-update@4.0.0: 2199 | resolution: 2200 | { 2201 | integrity: sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==, 2202 | } 2203 | engines: { node: ">=10" } 2204 | 2205 | lru-cache@5.1.1: 2206 | resolution: 2207 | { 2208 | integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==, 2209 | } 2210 | 2211 | lru-cache@6.0.0: 2212 | resolution: 2213 | { 2214 | integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==, 2215 | } 2216 | engines: { node: ">=10" } 2217 | 2218 | make-dir@3.1.0: 2219 | resolution: 2220 | { 2221 | integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==, 2222 | } 2223 | engines: { node: ">=8" } 2224 | 2225 | make-error@1.3.6: 2226 | resolution: 2227 | { 2228 | integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==, 2229 | } 2230 | 2231 | makeerror@1.0.12: 2232 | resolution: 2233 | { 2234 | integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==, 2235 | } 2236 | 2237 | map-obj@1.0.1: 2238 | resolution: 2239 | { 2240 | integrity: sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==, 2241 | } 2242 | engines: { node: ">=0.10.0" } 2243 | 2244 | map-obj@4.3.0: 2245 | resolution: 2246 | { 2247 | integrity: sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==, 2248 | } 2249 | engines: { node: ">=8" } 2250 | 2251 | meow@8.1.2: 2252 | resolution: 2253 | { 2254 | integrity: sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==, 2255 | } 2256 | engines: { node: ">=10" } 2257 | 2258 | merge-stream@2.0.0: 2259 | resolution: 2260 | { 2261 | integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==, 2262 | } 2263 | 2264 | micromatch@4.0.5: 2265 | resolution: 2266 | { 2267 | integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==, 2268 | } 2269 | engines: { node: ">=8.6" } 2270 | 2271 | mime-db@1.52.0: 2272 | resolution: 2273 | { 2274 | integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==, 2275 | } 2276 | engines: { node: ">= 0.6" } 2277 | 2278 | mime-types@2.1.35: 2279 | resolution: 2280 | { 2281 | integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==, 2282 | } 2283 | engines: { node: ">= 0.6" } 2284 | 2285 | mimic-fn@2.1.0: 2286 | resolution: 2287 | { 2288 | integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==, 2289 | } 2290 | engines: { node: ">=6" } 2291 | 2292 | mimic-fn@4.0.0: 2293 | resolution: 2294 | { 2295 | integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==, 2296 | } 2297 | engines: { node: ">=12" } 2298 | 2299 | min-indent@1.0.1: 2300 | resolution: 2301 | { 2302 | integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==, 2303 | } 2304 | engines: { node: ">=4" } 2305 | 2306 | minimatch@3.1.2: 2307 | resolution: 2308 | { 2309 | integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==, 2310 | } 2311 | 2312 | minimist-options@4.1.0: 2313 | resolution: 2314 | { 2315 | integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==, 2316 | } 2317 | engines: { node: ">= 6" } 2318 | 2319 | minimist@1.2.8: 2320 | resolution: 2321 | { 2322 | integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==, 2323 | } 2324 | 2325 | modify-values@1.0.1: 2326 | resolution: 2327 | { 2328 | integrity: sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw==, 2329 | } 2330 | engines: { node: ">=0.10.0" } 2331 | 2332 | ms@2.1.2: 2333 | resolution: 2334 | { 2335 | integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==, 2336 | } 2337 | 2338 | natural-compare@1.4.0: 2339 | resolution: 2340 | { 2341 | integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==, 2342 | } 2343 | 2344 | neo-async@2.6.2: 2345 | resolution: 2346 | { 2347 | integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==, 2348 | } 2349 | 2350 | node-int64@0.4.0: 2351 | resolution: 2352 | { 2353 | integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==, 2354 | } 2355 | 2356 | node-releases@2.0.10: 2357 | resolution: 2358 | { 2359 | integrity: sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==, 2360 | } 2361 | 2362 | normalize-package-data@2.5.0: 2363 | resolution: 2364 | { 2365 | integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==, 2366 | } 2367 | 2368 | normalize-package-data@3.0.3: 2369 | resolution: 2370 | { 2371 | integrity: sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==, 2372 | } 2373 | engines: { node: ">=10" } 2374 | 2375 | normalize-path@3.0.0: 2376 | resolution: 2377 | { 2378 | integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==, 2379 | } 2380 | engines: { node: ">=0.10.0" } 2381 | 2382 | npm-run-path@4.0.1: 2383 | resolution: 2384 | { 2385 | integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==, 2386 | } 2387 | engines: { node: ">=8" } 2388 | 2389 | npm-run-path@5.1.0: 2390 | resolution: 2391 | { 2392 | integrity: sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==, 2393 | } 2394 | engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } 2395 | 2396 | object-inspect@1.12.3: 2397 | resolution: 2398 | { 2399 | integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==, 2400 | } 2401 | 2402 | once@1.4.0: 2403 | resolution: 2404 | { 2405 | integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==, 2406 | } 2407 | 2408 | onetime@5.1.2: 2409 | resolution: 2410 | { 2411 | integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==, 2412 | } 2413 | engines: { node: ">=6" } 2414 | 2415 | onetime@6.0.0: 2416 | resolution: 2417 | { 2418 | integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==, 2419 | } 2420 | engines: { node: ">=12" } 2421 | 2422 | onstarjs@2.5.3: 2423 | resolution: 2424 | { 2425 | integrity: sha512-pzWk9XzScjSc+rQqlD7KVtRIQW3opcqGV/XRIIYlBgeLb0XENh02myv+WpylVUdzVTpP+OtOZawx2KI8jQrPow==, 2426 | } 2427 | 2428 | p-limit@1.3.0: 2429 | resolution: 2430 | { 2431 | integrity: sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==, 2432 | } 2433 | engines: { node: ">=4" } 2434 | 2435 | p-limit@2.3.0: 2436 | resolution: 2437 | { 2438 | integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==, 2439 | } 2440 | engines: { node: ">=6" } 2441 | 2442 | p-limit@3.1.0: 2443 | resolution: 2444 | { 2445 | integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==, 2446 | } 2447 | engines: { node: ">=10" } 2448 | 2449 | p-locate@2.0.0: 2450 | resolution: 2451 | { 2452 | integrity: sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==, 2453 | } 2454 | engines: { node: ">=4" } 2455 | 2456 | p-locate@3.0.0: 2457 | resolution: 2458 | { 2459 | integrity: sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==, 2460 | } 2461 | engines: { node: ">=6" } 2462 | 2463 | p-locate@4.1.0: 2464 | resolution: 2465 | { 2466 | integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==, 2467 | } 2468 | engines: { node: ">=8" } 2469 | 2470 | p-locate@5.0.0: 2471 | resolution: 2472 | { 2473 | integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==, 2474 | } 2475 | engines: { node: ">=10" } 2476 | 2477 | p-map@4.0.0: 2478 | resolution: 2479 | { 2480 | integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==, 2481 | } 2482 | engines: { node: ">=10" } 2483 | 2484 | p-try@1.0.0: 2485 | resolution: 2486 | { 2487 | integrity: sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==, 2488 | } 2489 | engines: { node: ">=4" } 2490 | 2491 | p-try@2.2.0: 2492 | resolution: 2493 | { 2494 | integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==, 2495 | } 2496 | engines: { node: ">=6" } 2497 | 2498 | parse-json@4.0.0: 2499 | resolution: 2500 | { 2501 | integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==, 2502 | } 2503 | engines: { node: ">=4" } 2504 | 2505 | parse-json@5.2.0: 2506 | resolution: 2507 | { 2508 | integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==, 2509 | } 2510 | engines: { node: ">=8" } 2511 | 2512 | path-exists@3.0.0: 2513 | resolution: 2514 | { 2515 | integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==, 2516 | } 2517 | engines: { node: ">=4" } 2518 | 2519 | path-exists@4.0.0: 2520 | resolution: 2521 | { 2522 | integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==, 2523 | } 2524 | engines: { node: ">=8" } 2525 | 2526 | path-is-absolute@1.0.1: 2527 | resolution: 2528 | { 2529 | integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==, 2530 | } 2531 | engines: { node: ">=0.10.0" } 2532 | 2533 | path-key@3.1.1: 2534 | resolution: 2535 | { 2536 | integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==, 2537 | } 2538 | engines: { node: ">=8" } 2539 | 2540 | path-key@4.0.0: 2541 | resolution: 2542 | { 2543 | integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==, 2544 | } 2545 | engines: { node: ">=12" } 2546 | 2547 | path-parse@1.0.7: 2548 | resolution: 2549 | { 2550 | integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==, 2551 | } 2552 | 2553 | path-type@3.0.0: 2554 | resolution: 2555 | { 2556 | integrity: sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==, 2557 | } 2558 | engines: { node: ">=4" } 2559 | 2560 | picocolors@1.0.0: 2561 | resolution: 2562 | { 2563 | integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==, 2564 | } 2565 | 2566 | picomatch@2.3.1: 2567 | resolution: 2568 | { 2569 | integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==, 2570 | } 2571 | engines: { node: ">=8.6" } 2572 | 2573 | pidtree@0.6.0: 2574 | resolution: 2575 | { 2576 | integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==, 2577 | } 2578 | engines: { node: ">=0.10" } 2579 | hasBin: true 2580 | 2581 | pify@2.3.0: 2582 | resolution: 2583 | { 2584 | integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==, 2585 | } 2586 | engines: { node: ">=0.10.0" } 2587 | 2588 | pify@3.0.0: 2589 | resolution: 2590 | { 2591 | integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==, 2592 | } 2593 | engines: { node: ">=4" } 2594 | 2595 | pirates@4.0.5: 2596 | resolution: 2597 | { 2598 | integrity: sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==, 2599 | } 2600 | engines: { node: ">= 6" } 2601 | 2602 | pkg-dir@4.2.0: 2603 | resolution: 2604 | { 2605 | integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==, 2606 | } 2607 | engines: { node: ">=8" } 2608 | 2609 | prettier@3.3.3: 2610 | resolution: 2611 | { 2612 | integrity: sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==, 2613 | } 2614 | engines: { node: ">=14" } 2615 | hasBin: true 2616 | 2617 | pretty-format@29.5.0: 2618 | resolution: 2619 | { 2620 | integrity: sha512-V2mGkI31qdttvTFX7Mt4efOqHXqJWMu4/r66Xh3Z3BwZaPfPJgp6/gbwoujRpPUtfEF6AUUWx3Jim3GCw5g/Qw==, 2621 | } 2622 | engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } 2623 | 2624 | process-nextick-args@2.0.1: 2625 | resolution: 2626 | { 2627 | integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==, 2628 | } 2629 | 2630 | prompts@2.4.2: 2631 | resolution: 2632 | { 2633 | integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==, 2634 | } 2635 | engines: { node: ">= 6" } 2636 | 2637 | proxy-from-env@1.1.0: 2638 | resolution: 2639 | { 2640 | integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==, 2641 | } 2642 | 2643 | pure-rand@6.0.2: 2644 | resolution: 2645 | { 2646 | integrity: sha512-6Yg0ekpKICSjPswYOuC5sku/TSWaRYlA0qsXqJgM/d/4pLPHPuTxK7Nbf7jFKzAeedUhR8C7K9Uv63FBsSo8xQ==, 2647 | } 2648 | 2649 | q@1.5.1: 2650 | resolution: 2651 | { 2652 | integrity: sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==, 2653 | } 2654 | engines: { node: ">=0.6.0", teleport: ">=0.2.0" } 2655 | 2656 | quick-lru@4.0.1: 2657 | resolution: 2658 | { 2659 | integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==, 2660 | } 2661 | engines: { node: ">=8" } 2662 | 2663 | react-is@18.2.0: 2664 | resolution: 2665 | { 2666 | integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==, 2667 | } 2668 | 2669 | read-pkg-up@3.0.0: 2670 | resolution: 2671 | { 2672 | integrity: sha512-YFzFrVvpC6frF1sz8psoHDBGF7fLPc+llq/8NB43oagqWkx8ar5zYtsTORtOjw9W2RHLpWP+zTWwBvf1bCmcSw==, 2673 | } 2674 | engines: { node: ">=4" } 2675 | 2676 | read-pkg-up@7.0.1: 2677 | resolution: 2678 | { 2679 | integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==, 2680 | } 2681 | engines: { node: ">=8" } 2682 | 2683 | read-pkg@3.0.0: 2684 | resolution: 2685 | { 2686 | integrity: sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==, 2687 | } 2688 | engines: { node: ">=4" } 2689 | 2690 | read-pkg@5.2.0: 2691 | resolution: 2692 | { 2693 | integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==, 2694 | } 2695 | engines: { node: ">=8" } 2696 | 2697 | readable-stream@2.3.8: 2698 | resolution: 2699 | { 2700 | integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==, 2701 | } 2702 | 2703 | readable-stream@3.6.2: 2704 | resolution: 2705 | { 2706 | integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==, 2707 | } 2708 | engines: { node: ">= 6" } 2709 | 2710 | redent@3.0.0: 2711 | resolution: 2712 | { 2713 | integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==, 2714 | } 2715 | engines: { node: ">=8" } 2716 | 2717 | require-directory@2.1.1: 2718 | resolution: 2719 | { 2720 | integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==, 2721 | } 2722 | engines: { node: ">=0.10.0" } 2723 | 2724 | resolve-cwd@3.0.0: 2725 | resolution: 2726 | { 2727 | integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==, 2728 | } 2729 | engines: { node: ">=8" } 2730 | 2731 | resolve-from@5.0.0: 2732 | resolution: 2733 | { 2734 | integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==, 2735 | } 2736 | engines: { node: ">=8" } 2737 | 2738 | resolve.exports@2.0.2: 2739 | resolution: 2740 | { 2741 | integrity: sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==, 2742 | } 2743 | engines: { node: ">=10" } 2744 | 2745 | resolve@1.22.2: 2746 | resolution: 2747 | { 2748 | integrity: sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==, 2749 | } 2750 | hasBin: true 2751 | 2752 | restore-cursor@3.1.0: 2753 | resolution: 2754 | { 2755 | integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==, 2756 | } 2757 | engines: { node: ">=8" } 2758 | 2759 | rfdc@1.3.0: 2760 | resolution: 2761 | { 2762 | integrity: sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==, 2763 | } 2764 | 2765 | rollup@3.21.0: 2766 | resolution: 2767 | { 2768 | integrity: sha512-ANPhVcyeHvYdQMUyCbczy33nbLzI7RzrBje4uvNiTDJGIMtlKoOStmympwr9OtS1LZxiDmE2wvxHyVhoLtf1KQ==, 2769 | } 2770 | engines: { node: ">=14.18.0", npm: ">=8.0.0" } 2771 | hasBin: true 2772 | 2773 | rxjs@7.8.0: 2774 | resolution: 2775 | { 2776 | integrity: sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg==, 2777 | } 2778 | 2779 | safe-buffer@5.1.2: 2780 | resolution: 2781 | { 2782 | integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==, 2783 | } 2784 | 2785 | safe-buffer@5.2.1: 2786 | resolution: 2787 | { 2788 | integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==, 2789 | } 2790 | 2791 | semver@5.7.2: 2792 | resolution: 2793 | { 2794 | integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==, 2795 | } 2796 | hasBin: true 2797 | 2798 | semver@6.3.0: 2799 | resolution: 2800 | { 2801 | integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==, 2802 | } 2803 | hasBin: true 2804 | 2805 | semver@7.5.0: 2806 | resolution: 2807 | { 2808 | integrity: sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA==, 2809 | } 2810 | engines: { node: ">=10" } 2811 | hasBin: true 2812 | 2813 | shebang-command@2.0.0: 2814 | resolution: 2815 | { 2816 | integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==, 2817 | } 2818 | engines: { node: ">=8" } 2819 | 2820 | shebang-regex@3.0.0: 2821 | resolution: 2822 | { 2823 | integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==, 2824 | } 2825 | engines: { node: ">=8" } 2826 | 2827 | signal-exit@3.0.7: 2828 | resolution: 2829 | { 2830 | integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==, 2831 | } 2832 | 2833 | sisteransi@1.0.5: 2834 | resolution: 2835 | { 2836 | integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==, 2837 | } 2838 | 2839 | slash@3.0.0: 2840 | resolution: 2841 | { 2842 | integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==, 2843 | } 2844 | engines: { node: ">=8" } 2845 | 2846 | slice-ansi@3.0.0: 2847 | resolution: 2848 | { 2849 | integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==, 2850 | } 2851 | engines: { node: ">=8" } 2852 | 2853 | slice-ansi@4.0.0: 2854 | resolution: 2855 | { 2856 | integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==, 2857 | } 2858 | engines: { node: ">=10" } 2859 | 2860 | slice-ansi@5.0.0: 2861 | resolution: 2862 | { 2863 | integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==, 2864 | } 2865 | engines: { node: ">=12" } 2866 | 2867 | source-map-support@0.5.13: 2868 | resolution: 2869 | { 2870 | integrity: sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==, 2871 | } 2872 | 2873 | source-map@0.6.1: 2874 | resolution: 2875 | { 2876 | integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==, 2877 | } 2878 | engines: { node: ">=0.10.0" } 2879 | 2880 | spdx-correct@3.2.0: 2881 | resolution: 2882 | { 2883 | integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==, 2884 | } 2885 | 2886 | spdx-exceptions@2.3.0: 2887 | resolution: 2888 | { 2889 | integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==, 2890 | } 2891 | 2892 | spdx-expression-parse@3.0.1: 2893 | resolution: 2894 | { 2895 | integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==, 2896 | } 2897 | 2898 | spdx-license-ids@3.0.13: 2899 | resolution: 2900 | { 2901 | integrity: sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==, 2902 | } 2903 | 2904 | split2@3.2.2: 2905 | resolution: 2906 | { 2907 | integrity: sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==, 2908 | } 2909 | 2910 | split@1.0.1: 2911 | resolution: 2912 | { 2913 | integrity: sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==, 2914 | } 2915 | 2916 | sprintf-js@1.0.3: 2917 | resolution: 2918 | { 2919 | integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==, 2920 | } 2921 | 2922 | stack-utils@2.0.6: 2923 | resolution: 2924 | { 2925 | integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==, 2926 | } 2927 | engines: { node: ">=10" } 2928 | 2929 | standard-version@9.5.0: 2930 | resolution: 2931 | { 2932 | integrity: sha512-3zWJ/mmZQsOaO+fOlsa0+QK90pwhNd042qEcw6hKFNoLFs7peGyvPffpEBbK/DSGPbyOvli0mUIFv5A4qTjh2Q==, 2933 | } 2934 | engines: { node: ">=10" } 2935 | hasBin: true 2936 | 2937 | string-argv@0.3.1: 2938 | resolution: 2939 | { 2940 | integrity: sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==, 2941 | } 2942 | engines: { node: ">=0.6.19" } 2943 | 2944 | string-length@4.0.2: 2945 | resolution: 2946 | { 2947 | integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==, 2948 | } 2949 | engines: { node: ">=10" } 2950 | 2951 | string-width@4.2.3: 2952 | resolution: 2953 | { 2954 | integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==, 2955 | } 2956 | engines: { node: ">=8" } 2957 | 2958 | string-width@5.1.2: 2959 | resolution: 2960 | { 2961 | integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==, 2962 | } 2963 | engines: { node: ">=12" } 2964 | 2965 | string_decoder@1.1.1: 2966 | resolution: 2967 | { 2968 | integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==, 2969 | } 2970 | 2971 | string_decoder@1.3.0: 2972 | resolution: 2973 | { 2974 | integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==, 2975 | } 2976 | 2977 | stringify-package@1.0.1: 2978 | resolution: 2979 | { 2980 | integrity: sha512-sa4DUQsYciMP1xhKWGuFM04fB0LG/9DlluZoSVywUMRNvzid6XucHK0/90xGxRoHrAaROrcHK1aPKaijCtSrhg==, 2981 | } 2982 | deprecated: This module is not used anymore, and has been replaced by @npmcli/package-json 2983 | 2984 | strip-ansi@6.0.1: 2985 | resolution: 2986 | { 2987 | integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==, 2988 | } 2989 | engines: { node: ">=8" } 2990 | 2991 | strip-ansi@7.0.1: 2992 | resolution: 2993 | { 2994 | integrity: sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==, 2995 | } 2996 | engines: { node: ">=12" } 2997 | 2998 | strip-bom@3.0.0: 2999 | resolution: 3000 | { 3001 | integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==, 3002 | } 3003 | engines: { node: ">=4" } 3004 | 3005 | strip-bom@4.0.0: 3006 | resolution: 3007 | { 3008 | integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==, 3009 | } 3010 | engines: { node: ">=8" } 3011 | 3012 | strip-final-newline@2.0.0: 3013 | resolution: 3014 | { 3015 | integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==, 3016 | } 3017 | engines: { node: ">=6" } 3018 | 3019 | strip-final-newline@3.0.0: 3020 | resolution: 3021 | { 3022 | integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==, 3023 | } 3024 | engines: { node: ">=12" } 3025 | 3026 | strip-indent@3.0.0: 3027 | resolution: 3028 | { 3029 | integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==, 3030 | } 3031 | engines: { node: ">=8" } 3032 | 3033 | strip-json-comments@3.1.1: 3034 | resolution: 3035 | { 3036 | integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==, 3037 | } 3038 | engines: { node: ">=8" } 3039 | 3040 | supports-color@5.5.0: 3041 | resolution: 3042 | { 3043 | integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==, 3044 | } 3045 | engines: { node: ">=4" } 3046 | 3047 | supports-color@7.2.0: 3048 | resolution: 3049 | { 3050 | integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==, 3051 | } 3052 | engines: { node: ">=8" } 3053 | 3054 | supports-color@8.1.1: 3055 | resolution: 3056 | { 3057 | integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==, 3058 | } 3059 | engines: { node: ">=10" } 3060 | 3061 | supports-preserve-symlinks-flag@1.0.0: 3062 | resolution: 3063 | { 3064 | integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==, 3065 | } 3066 | engines: { node: ">= 0.4" } 3067 | 3068 | test-exclude@6.0.0: 3069 | resolution: 3070 | { 3071 | integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==, 3072 | } 3073 | engines: { node: ">=8" } 3074 | 3075 | text-extensions@1.9.0: 3076 | resolution: 3077 | { 3078 | integrity: sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==, 3079 | } 3080 | engines: { node: ">=0.10" } 3081 | 3082 | through2@2.0.5: 3083 | resolution: 3084 | { 3085 | integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==, 3086 | } 3087 | 3088 | through2@4.0.2: 3089 | resolution: 3090 | { 3091 | integrity: sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==, 3092 | } 3093 | 3094 | through@2.3.8: 3095 | resolution: 3096 | { 3097 | integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==, 3098 | } 3099 | 3100 | tmpl@1.0.5: 3101 | resolution: 3102 | { 3103 | integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==, 3104 | } 3105 | 3106 | to-fast-properties@2.0.0: 3107 | resolution: 3108 | { 3109 | integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==, 3110 | } 3111 | engines: { node: ">=4" } 3112 | 3113 | to-regex-range@5.0.1: 3114 | resolution: 3115 | { 3116 | integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==, 3117 | } 3118 | engines: { node: ">=8.0" } 3119 | 3120 | trim-newlines@3.0.1: 3121 | resolution: 3122 | { 3123 | integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==, 3124 | } 3125 | engines: { node: ">=8" } 3126 | 3127 | ts-jest@29.1.0: 3128 | resolution: 3129 | { 3130 | integrity: sha512-ZhNr7Z4PcYa+JjMl62ir+zPiNJfXJN6E8hSLnaUKhOgqcn8vb3e537cpkd0FuAfRK3sR1LSqM1MOhliXNgOFPA==, 3131 | } 3132 | engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } 3133 | hasBin: true 3134 | peerDependencies: 3135 | "@babel/core": ">=7.0.0-beta.0 <8" 3136 | "@jest/types": ^29.0.0 3137 | babel-jest: ^29.0.0 3138 | esbuild: "*" 3139 | jest: ^29.0.0 3140 | typescript: ">=4.3 <6" 3141 | peerDependenciesMeta: 3142 | "@babel/core": 3143 | optional: true 3144 | "@jest/types": 3145 | optional: true 3146 | babel-jest: 3147 | optional: true 3148 | esbuild: 3149 | optional: true 3150 | 3151 | ts-mockito@2.6.1: 3152 | resolution: 3153 | { 3154 | integrity: sha512-qU9m/oEBQrKq5hwfbJ7MgmVN5Gu6lFnIGWvpxSjrqq6YYEVv+RwVFWySbZMBgazsWqv6ctAyVBpo9TmAxnOEKw==, 3155 | } 3156 | 3157 | tslib@2.5.0: 3158 | resolution: 3159 | { 3160 | integrity: sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==, 3161 | } 3162 | 3163 | type-detect@4.0.8: 3164 | resolution: 3165 | { 3166 | integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==, 3167 | } 3168 | engines: { node: ">=4" } 3169 | 3170 | type-fest@0.18.1: 3171 | resolution: 3172 | { 3173 | integrity: sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==, 3174 | } 3175 | engines: { node: ">=10" } 3176 | 3177 | type-fest@0.21.3: 3178 | resolution: 3179 | { 3180 | integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==, 3181 | } 3182 | engines: { node: ">=10" } 3183 | 3184 | type-fest@0.6.0: 3185 | resolution: 3186 | { 3187 | integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==, 3188 | } 3189 | engines: { node: ">=8" } 3190 | 3191 | type-fest@0.8.1: 3192 | resolution: 3193 | { 3194 | integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==, 3195 | } 3196 | engines: { node: ">=8" } 3197 | 3198 | typedarray@0.0.6: 3199 | resolution: 3200 | { 3201 | integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==, 3202 | } 3203 | 3204 | typescript@5.0.4: 3205 | resolution: 3206 | { 3207 | integrity: sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==, 3208 | } 3209 | engines: { node: ">=12.20" } 3210 | hasBin: true 3211 | 3212 | uglify-js@3.17.4: 3213 | resolution: 3214 | { 3215 | integrity: sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==, 3216 | } 3217 | engines: { node: ">=0.8.0" } 3218 | hasBin: true 3219 | 3220 | update-browserslist-db@1.0.11: 3221 | resolution: 3222 | { 3223 | integrity: sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==, 3224 | } 3225 | hasBin: true 3226 | peerDependencies: 3227 | browserslist: ">= 4.21.0" 3228 | 3229 | util-deprecate@1.0.2: 3230 | resolution: 3231 | { 3232 | integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==, 3233 | } 3234 | 3235 | uuid@9.0.0: 3236 | resolution: 3237 | { 3238 | integrity: sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==, 3239 | } 3240 | hasBin: true 3241 | 3242 | v8-to-istanbul@9.1.0: 3243 | resolution: 3244 | { 3245 | integrity: sha512-6z3GW9x8G1gd+JIIgQQQxXuiJtCXeAjp6RaPEPLv62mH3iPHPxV6W3robxtCzNErRo6ZwTmzWhsbNvjyEBKzKA==, 3246 | } 3247 | engines: { node: ">=10.12.0" } 3248 | 3249 | validate-npm-package-license@3.0.4: 3250 | resolution: 3251 | { 3252 | integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==, 3253 | } 3254 | 3255 | walker@1.0.8: 3256 | resolution: 3257 | { 3258 | integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==, 3259 | } 3260 | 3261 | which@2.0.2: 3262 | resolution: 3263 | { 3264 | integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==, 3265 | } 3266 | engines: { node: ">= 8" } 3267 | hasBin: true 3268 | 3269 | wordwrap@1.0.0: 3270 | resolution: 3271 | { 3272 | integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==, 3273 | } 3274 | 3275 | wrap-ansi@6.2.0: 3276 | resolution: 3277 | { 3278 | integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==, 3279 | } 3280 | engines: { node: ">=8" } 3281 | 3282 | wrap-ansi@7.0.0: 3283 | resolution: 3284 | { 3285 | integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==, 3286 | } 3287 | engines: { node: ">=10" } 3288 | 3289 | wrappy@1.0.2: 3290 | resolution: 3291 | { 3292 | integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==, 3293 | } 3294 | 3295 | write-file-atomic@4.0.2: 3296 | resolution: 3297 | { 3298 | integrity: sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==, 3299 | } 3300 | engines: { node: ^12.13.0 || ^14.15.0 || >=16.0.0 } 3301 | 3302 | xtend@4.0.2: 3303 | resolution: 3304 | { 3305 | integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==, 3306 | } 3307 | engines: { node: ">=0.4" } 3308 | 3309 | y18n@5.0.8: 3310 | resolution: 3311 | { 3312 | integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==, 3313 | } 3314 | engines: { node: ">=10" } 3315 | 3316 | yallist@3.1.1: 3317 | resolution: 3318 | { 3319 | integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==, 3320 | } 3321 | 3322 | yallist@4.0.0: 3323 | resolution: 3324 | { 3325 | integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==, 3326 | } 3327 | 3328 | yaml@2.2.2: 3329 | resolution: 3330 | { 3331 | integrity: sha512-CBKFWExMn46Foo4cldiChEzn7S7SRV+wqiluAb6xmueD/fGyRHIhX8m14vVGgeFWjN540nKCNVj6P21eQjgTuA==, 3332 | } 3333 | engines: { node: ">= 14" } 3334 | 3335 | yargs-parser@20.2.9: 3336 | resolution: 3337 | { 3338 | integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==, 3339 | } 3340 | engines: { node: ">=10" } 3341 | 3342 | yargs-parser@21.1.1: 3343 | resolution: 3344 | { 3345 | integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==, 3346 | } 3347 | engines: { node: ">=12" } 3348 | 3349 | yargs@16.2.0: 3350 | resolution: 3351 | { 3352 | integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==, 3353 | } 3354 | engines: { node: ">=10" } 3355 | 3356 | yargs@17.7.1: 3357 | resolution: 3358 | { 3359 | integrity: sha512-cwiTb08Xuv5fqF4AovYacTFNxk62th7LKJ6BL9IGUpTJrWoU7/7WdQGTP2SjKf1dUNBGzDd28p/Yfs/GI6JrLw==, 3360 | } 3361 | engines: { node: ">=12" } 3362 | 3363 | yocto-queue@0.1.0: 3364 | resolution: 3365 | { 3366 | integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==, 3367 | } 3368 | engines: { node: ">=10" } 3369 | 3370 | snapshots: 3371 | "@ampproject/remapping@2.2.1": 3372 | dependencies: 3373 | "@jridgewell/gen-mapping": 0.3.3 3374 | "@jridgewell/trace-mapping": 0.3.18 3375 | 3376 | "@babel/code-frame@7.22.13": 3377 | dependencies: 3378 | "@babel/highlight": 7.22.20 3379 | chalk: 2.4.2 3380 | 3381 | "@babel/compat-data@7.21.4": {} 3382 | 3383 | "@babel/core@7.21.4": 3384 | dependencies: 3385 | "@ampproject/remapping": 2.2.1 3386 | "@babel/code-frame": 7.22.13 3387 | "@babel/generator": 7.23.0 3388 | "@babel/helper-compilation-targets": 7.21.4(@babel/core@7.21.4) 3389 | "@babel/helper-module-transforms": 7.21.2 3390 | "@babel/helpers": 7.21.0 3391 | "@babel/parser": 7.23.0 3392 | "@babel/template": 7.22.15 3393 | "@babel/traverse": 7.23.2 3394 | "@babel/types": 7.23.0 3395 | convert-source-map: 1.9.0 3396 | debug: 4.3.4 3397 | gensync: 1.0.0-beta.2 3398 | json5: 2.2.3 3399 | semver: 6.3.0 3400 | transitivePeerDependencies: 3401 | - supports-color 3402 | 3403 | "@babel/generator@7.23.0": 3404 | dependencies: 3405 | "@babel/types": 7.23.0 3406 | "@jridgewell/gen-mapping": 0.3.3 3407 | "@jridgewell/trace-mapping": 0.3.18 3408 | jsesc: 2.5.2 3409 | 3410 | "@babel/helper-compilation-targets@7.21.4(@babel/core@7.21.4)": 3411 | dependencies: 3412 | "@babel/compat-data": 7.21.4 3413 | "@babel/core": 7.21.4 3414 | "@babel/helper-validator-option": 7.21.0 3415 | browserslist: 4.21.5 3416 | lru-cache: 5.1.1 3417 | semver: 6.3.0 3418 | 3419 | "@babel/helper-environment-visitor@7.22.20": {} 3420 | 3421 | "@babel/helper-function-name@7.23.0": 3422 | dependencies: 3423 | "@babel/template": 7.22.15 3424 | "@babel/types": 7.23.0 3425 | 3426 | "@babel/helper-hoist-variables@7.22.5": 3427 | dependencies: 3428 | "@babel/types": 7.23.0 3429 | 3430 | "@babel/helper-module-imports@7.21.4": 3431 | dependencies: 3432 | "@babel/types": 7.23.0 3433 | 3434 | "@babel/helper-module-transforms@7.21.2": 3435 | dependencies: 3436 | "@babel/helper-environment-visitor": 7.22.20 3437 | "@babel/helper-module-imports": 7.21.4 3438 | "@babel/helper-simple-access": 7.20.2 3439 | "@babel/helper-split-export-declaration": 7.22.6 3440 | "@babel/helper-validator-identifier": 7.22.20 3441 | "@babel/template": 7.22.15 3442 | "@babel/traverse": 7.23.2 3443 | "@babel/types": 7.23.0 3444 | transitivePeerDependencies: 3445 | - supports-color 3446 | 3447 | "@babel/helper-plugin-utils@7.20.2": {} 3448 | 3449 | "@babel/helper-simple-access@7.20.2": 3450 | dependencies: 3451 | "@babel/types": 7.23.0 3452 | 3453 | "@babel/helper-split-export-declaration@7.22.6": 3454 | dependencies: 3455 | "@babel/types": 7.23.0 3456 | 3457 | "@babel/helper-string-parser@7.22.5": {} 3458 | 3459 | "@babel/helper-validator-identifier@7.22.20": {} 3460 | 3461 | "@babel/helper-validator-option@7.21.0": {} 3462 | 3463 | "@babel/helpers@7.21.0": 3464 | dependencies: 3465 | "@babel/template": 7.22.15 3466 | "@babel/traverse": 7.23.2 3467 | "@babel/types": 7.23.0 3468 | transitivePeerDependencies: 3469 | - supports-color 3470 | 3471 | "@babel/highlight@7.22.20": 3472 | dependencies: 3473 | "@babel/helper-validator-identifier": 7.22.20 3474 | chalk: 2.4.2 3475 | js-tokens: 4.0.0 3476 | 3477 | "@babel/parser@7.23.0": 3478 | dependencies: 3479 | "@babel/types": 7.23.0 3480 | 3481 | "@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.21.4)": 3482 | dependencies: 3483 | "@babel/core": 7.21.4 3484 | "@babel/helper-plugin-utils": 7.20.2 3485 | 3486 | "@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.21.4)": 3487 | dependencies: 3488 | "@babel/core": 7.21.4 3489 | "@babel/helper-plugin-utils": 7.20.2 3490 | 3491 | "@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.21.4)": 3492 | dependencies: 3493 | "@babel/core": 7.21.4 3494 | "@babel/helper-plugin-utils": 7.20.2 3495 | 3496 | "@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.21.4)": 3497 | dependencies: 3498 | "@babel/core": 7.21.4 3499 | "@babel/helper-plugin-utils": 7.20.2 3500 | 3501 | "@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.21.4)": 3502 | dependencies: 3503 | "@babel/core": 7.21.4 3504 | "@babel/helper-plugin-utils": 7.20.2 3505 | 3506 | "@babel/plugin-syntax-jsx@7.21.4(@babel/core@7.21.4)": 3507 | dependencies: 3508 | "@babel/core": 7.21.4 3509 | "@babel/helper-plugin-utils": 7.20.2 3510 | 3511 | "@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.21.4)": 3512 | dependencies: 3513 | "@babel/core": 7.21.4 3514 | "@babel/helper-plugin-utils": 7.20.2 3515 | 3516 | "@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.21.4)": 3517 | dependencies: 3518 | "@babel/core": 7.21.4 3519 | "@babel/helper-plugin-utils": 7.20.2 3520 | 3521 | "@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.21.4)": 3522 | dependencies: 3523 | "@babel/core": 7.21.4 3524 | "@babel/helper-plugin-utils": 7.20.2 3525 | 3526 | "@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.21.4)": 3527 | dependencies: 3528 | "@babel/core": 7.21.4 3529 | "@babel/helper-plugin-utils": 7.20.2 3530 | 3531 | "@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.21.4)": 3532 | dependencies: 3533 | "@babel/core": 7.21.4 3534 | "@babel/helper-plugin-utils": 7.20.2 3535 | 3536 | "@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.21.4)": 3537 | dependencies: 3538 | "@babel/core": 7.21.4 3539 | "@babel/helper-plugin-utils": 7.20.2 3540 | 3541 | "@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.21.4)": 3542 | dependencies: 3543 | "@babel/core": 7.21.4 3544 | "@babel/helper-plugin-utils": 7.20.2 3545 | 3546 | "@babel/plugin-syntax-typescript@7.21.4(@babel/core@7.21.4)": 3547 | dependencies: 3548 | "@babel/core": 7.21.4 3549 | "@babel/helper-plugin-utils": 7.20.2 3550 | 3551 | "@babel/template@7.22.15": 3552 | dependencies: 3553 | "@babel/code-frame": 7.22.13 3554 | "@babel/parser": 7.23.0 3555 | "@babel/types": 7.23.0 3556 | 3557 | "@babel/traverse@7.23.2": 3558 | dependencies: 3559 | "@babel/code-frame": 7.22.13 3560 | "@babel/generator": 7.23.0 3561 | "@babel/helper-environment-visitor": 7.22.20 3562 | "@babel/helper-function-name": 7.23.0 3563 | "@babel/helper-hoist-variables": 7.22.5 3564 | "@babel/helper-split-export-declaration": 7.22.6 3565 | "@babel/parser": 7.23.0 3566 | "@babel/types": 7.23.0 3567 | debug: 4.3.4 3568 | globals: 11.12.0 3569 | transitivePeerDependencies: 3570 | - supports-color 3571 | 3572 | "@babel/types@7.23.0": 3573 | dependencies: 3574 | "@babel/helper-string-parser": 7.22.5 3575 | "@babel/helper-validator-identifier": 7.22.20 3576 | to-fast-properties: 2.0.0 3577 | 3578 | "@bcoe/v8-coverage@0.2.3": {} 3579 | 3580 | "@hutson/parse-repository-url@3.0.2": {} 3581 | 3582 | "@istanbuljs/load-nyc-config@1.1.0": 3583 | dependencies: 3584 | camelcase: 5.3.1 3585 | find-up: 4.1.0 3586 | get-package-type: 0.1.0 3587 | js-yaml: 3.14.1 3588 | resolve-from: 5.0.0 3589 | 3590 | "@istanbuljs/schema@0.1.3": {} 3591 | 3592 | "@jest/console@29.5.0": 3593 | dependencies: 3594 | "@jest/types": 29.5.0 3595 | "@types/node": 18.16.1 3596 | chalk: 4.1.2 3597 | jest-message-util: 29.5.0 3598 | jest-util: 29.5.0 3599 | slash: 3.0.0 3600 | 3601 | "@jest/core@29.5.0": 3602 | dependencies: 3603 | "@jest/console": 29.5.0 3604 | "@jest/reporters": 29.5.0 3605 | "@jest/test-result": 29.5.0 3606 | "@jest/transform": 29.5.0 3607 | "@jest/types": 29.5.0 3608 | "@types/node": 18.16.1 3609 | ansi-escapes: 4.3.2 3610 | chalk: 4.1.2 3611 | ci-info: 3.8.0 3612 | exit: 0.1.2 3613 | graceful-fs: 4.2.11 3614 | jest-changed-files: 29.5.0 3615 | jest-config: 29.5.0(@types/node@18.16.1) 3616 | jest-haste-map: 29.5.0 3617 | jest-message-util: 29.5.0 3618 | jest-regex-util: 29.4.3 3619 | jest-resolve: 29.5.0 3620 | jest-resolve-dependencies: 29.5.0 3621 | jest-runner: 29.5.0 3622 | jest-runtime: 29.5.0 3623 | jest-snapshot: 29.5.0 3624 | jest-util: 29.5.0 3625 | jest-validate: 29.5.0 3626 | jest-watcher: 29.5.0 3627 | micromatch: 4.0.5 3628 | pretty-format: 29.5.0 3629 | slash: 3.0.0 3630 | strip-ansi: 6.0.1 3631 | transitivePeerDependencies: 3632 | - supports-color 3633 | - ts-node 3634 | 3635 | "@jest/environment@29.5.0": 3636 | dependencies: 3637 | "@jest/fake-timers": 29.5.0 3638 | "@jest/types": 29.5.0 3639 | "@types/node": 18.16.1 3640 | jest-mock: 29.5.0 3641 | 3642 | "@jest/expect-utils@29.5.0": 3643 | dependencies: 3644 | jest-get-type: 29.4.3 3645 | 3646 | "@jest/expect@29.5.0": 3647 | dependencies: 3648 | expect: 29.5.0 3649 | jest-snapshot: 29.5.0 3650 | transitivePeerDependencies: 3651 | - supports-color 3652 | 3653 | "@jest/fake-timers@29.5.0": 3654 | dependencies: 3655 | "@jest/types": 29.5.0 3656 | "@sinonjs/fake-timers": 10.0.2 3657 | "@types/node": 18.16.1 3658 | jest-message-util: 29.5.0 3659 | jest-mock: 29.5.0 3660 | jest-util: 29.5.0 3661 | 3662 | "@jest/globals@29.5.0": 3663 | dependencies: 3664 | "@jest/environment": 29.5.0 3665 | "@jest/expect": 29.5.0 3666 | "@jest/types": 29.5.0 3667 | jest-mock: 29.5.0 3668 | transitivePeerDependencies: 3669 | - supports-color 3670 | 3671 | "@jest/reporters@29.5.0": 3672 | dependencies: 3673 | "@bcoe/v8-coverage": 0.2.3 3674 | "@jest/console": 29.5.0 3675 | "@jest/test-result": 29.5.0 3676 | "@jest/transform": 29.5.0 3677 | "@jest/types": 29.5.0 3678 | "@jridgewell/trace-mapping": 0.3.18 3679 | "@types/node": 18.16.1 3680 | chalk: 4.1.2 3681 | collect-v8-coverage: 1.0.1 3682 | exit: 0.1.2 3683 | glob: 7.2.3 3684 | graceful-fs: 4.2.11 3685 | istanbul-lib-coverage: 3.2.0 3686 | istanbul-lib-instrument: 5.2.1 3687 | istanbul-lib-report: 3.0.0 3688 | istanbul-lib-source-maps: 4.0.1 3689 | istanbul-reports: 3.1.5 3690 | jest-message-util: 29.5.0 3691 | jest-util: 29.5.0 3692 | jest-worker: 29.5.0 3693 | slash: 3.0.0 3694 | string-length: 4.0.2 3695 | strip-ansi: 6.0.1 3696 | v8-to-istanbul: 9.1.0 3697 | transitivePeerDependencies: 3698 | - supports-color 3699 | 3700 | "@jest/schemas@29.4.3": 3701 | dependencies: 3702 | "@sinclair/typebox": 0.25.24 3703 | 3704 | "@jest/source-map@29.4.3": 3705 | dependencies: 3706 | "@jridgewell/trace-mapping": 0.3.18 3707 | callsites: 3.1.0 3708 | graceful-fs: 4.2.11 3709 | 3710 | "@jest/test-result@29.5.0": 3711 | dependencies: 3712 | "@jest/console": 29.5.0 3713 | "@jest/types": 29.5.0 3714 | "@types/istanbul-lib-coverage": 2.0.4 3715 | collect-v8-coverage: 1.0.1 3716 | 3717 | "@jest/test-sequencer@29.5.0": 3718 | dependencies: 3719 | "@jest/test-result": 29.5.0 3720 | graceful-fs: 4.2.11 3721 | jest-haste-map: 29.5.0 3722 | slash: 3.0.0 3723 | 3724 | "@jest/transform@29.5.0": 3725 | dependencies: 3726 | "@babel/core": 7.21.4 3727 | "@jest/types": 29.5.0 3728 | "@jridgewell/trace-mapping": 0.3.18 3729 | babel-plugin-istanbul: 6.1.1 3730 | chalk: 4.1.2 3731 | convert-source-map: 2.0.0 3732 | fast-json-stable-stringify: 2.1.0 3733 | graceful-fs: 4.2.11 3734 | jest-haste-map: 29.5.0 3735 | jest-regex-util: 29.4.3 3736 | jest-util: 29.5.0 3737 | micromatch: 4.0.5 3738 | pirates: 4.0.5 3739 | slash: 3.0.0 3740 | write-file-atomic: 4.0.2 3741 | transitivePeerDependencies: 3742 | - supports-color 3743 | 3744 | "@jest/types@29.5.0": 3745 | dependencies: 3746 | "@jest/schemas": 29.4.3 3747 | "@types/istanbul-lib-coverage": 2.0.4 3748 | "@types/istanbul-reports": 3.0.1 3749 | "@types/node": 18.16.1 3750 | "@types/yargs": 17.0.24 3751 | chalk: 4.1.2 3752 | 3753 | "@jridgewell/gen-mapping@0.3.3": 3754 | dependencies: 3755 | "@jridgewell/set-array": 1.1.2 3756 | "@jridgewell/sourcemap-codec": 1.4.15 3757 | "@jridgewell/trace-mapping": 0.3.18 3758 | 3759 | "@jridgewell/resolve-uri@3.1.0": {} 3760 | 3761 | "@jridgewell/set-array@1.1.2": {} 3762 | 3763 | "@jridgewell/sourcemap-codec@1.4.14": {} 3764 | 3765 | "@jridgewell/sourcemap-codec@1.4.15": {} 3766 | 3767 | "@jridgewell/trace-mapping@0.3.18": 3768 | dependencies: 3769 | "@jridgewell/resolve-uri": 3.1.0 3770 | "@jridgewell/sourcemap-codec": 1.4.14 3771 | 3772 | "@rollup/plugin-typescript@11.1.0(rollup@3.21.0)(tslib@2.5.0)(typescript@5.0.4)": 3773 | dependencies: 3774 | "@rollup/pluginutils": 5.0.2(rollup@3.21.0) 3775 | resolve: 1.22.2 3776 | typescript: 5.0.4 3777 | optionalDependencies: 3778 | rollup: 3.21.0 3779 | tslib: 2.5.0 3780 | 3781 | "@rollup/pluginutils@5.0.2(rollup@3.21.0)": 3782 | dependencies: 3783 | "@types/estree": 1.0.1 3784 | estree-walker: 2.0.2 3785 | picomatch: 2.3.1 3786 | optionalDependencies: 3787 | rollup: 3.21.0 3788 | 3789 | "@sinclair/typebox@0.25.24": {} 3790 | 3791 | "@sinonjs/commons@2.0.0": 3792 | dependencies: 3793 | type-detect: 4.0.8 3794 | 3795 | "@sinonjs/fake-timers@10.0.2": 3796 | dependencies: 3797 | "@sinonjs/commons": 2.0.0 3798 | 3799 | "@types/babel__core@7.20.0": 3800 | dependencies: 3801 | "@babel/parser": 7.23.0 3802 | "@babel/types": 7.23.0 3803 | "@types/babel__generator": 7.6.4 3804 | "@types/babel__template": 7.4.1 3805 | "@types/babel__traverse": 7.18.4 3806 | 3807 | "@types/babel__generator@7.6.4": 3808 | dependencies: 3809 | "@babel/types": 7.23.0 3810 | 3811 | "@types/babel__template@7.4.1": 3812 | dependencies: 3813 | "@babel/parser": 7.23.0 3814 | "@babel/types": 7.23.0 3815 | 3816 | "@types/babel__traverse@7.18.4": 3817 | dependencies: 3818 | "@babel/types": 7.23.0 3819 | 3820 | "@types/estree@1.0.1": {} 3821 | 3822 | "@types/graceful-fs@4.1.6": 3823 | dependencies: 3824 | "@types/node": 18.16.1 3825 | 3826 | "@types/istanbul-lib-coverage@2.0.4": {} 3827 | 3828 | "@types/istanbul-lib-report@3.0.0": 3829 | dependencies: 3830 | "@types/istanbul-lib-coverage": 2.0.4 3831 | 3832 | "@types/istanbul-reports@3.0.1": 3833 | dependencies: 3834 | "@types/istanbul-lib-report": 3.0.0 3835 | 3836 | "@types/jest@29.5.1": 3837 | dependencies: 3838 | expect: 29.5.0 3839 | pretty-format: 29.5.0 3840 | 3841 | "@types/minimist@1.2.2": {} 3842 | 3843 | "@types/node@18.16.1": {} 3844 | 3845 | "@types/normalize-package-data@2.4.1": {} 3846 | 3847 | "@types/prettier@2.7.2": {} 3848 | 3849 | "@types/stack-utils@2.0.1": {} 3850 | 3851 | "@types/yargs-parser@21.0.0": {} 3852 | 3853 | "@types/yargs@17.0.24": 3854 | dependencies: 3855 | "@types/yargs-parser": 21.0.0 3856 | 3857 | JSONStream@1.3.5: 3858 | dependencies: 3859 | jsonparse: 1.3.1 3860 | through: 2.3.8 3861 | 3862 | add-stream@1.0.0: {} 3863 | 3864 | aggregate-error@3.1.0: 3865 | dependencies: 3866 | clean-stack: 2.2.0 3867 | indent-string: 4.0.0 3868 | 3869 | ansi-escapes@4.3.2: 3870 | dependencies: 3871 | type-fest: 0.21.3 3872 | 3873 | ansi-regex@5.0.1: {} 3874 | 3875 | ansi-regex@6.0.1: {} 3876 | 3877 | ansi-styles@3.2.1: 3878 | dependencies: 3879 | color-convert: 1.9.3 3880 | 3881 | ansi-styles@4.3.0: 3882 | dependencies: 3883 | color-convert: 2.0.1 3884 | 3885 | ansi-styles@5.2.0: {} 3886 | 3887 | ansi-styles@6.2.1: {} 3888 | 3889 | anymatch@3.1.3: 3890 | dependencies: 3891 | normalize-path: 3.0.0 3892 | picomatch: 2.3.1 3893 | 3894 | argparse@1.0.10: 3895 | dependencies: 3896 | sprintf-js: 1.0.3 3897 | 3898 | array-ify@1.0.0: {} 3899 | 3900 | arrify@1.0.1: {} 3901 | 3902 | astral-regex@2.0.0: {} 3903 | 3904 | asynckit@0.4.0: {} 3905 | 3906 | axios@1.6.1: 3907 | dependencies: 3908 | follow-redirects: 1.15.6 3909 | form-data: 4.0.0 3910 | proxy-from-env: 1.1.0 3911 | transitivePeerDependencies: 3912 | - debug 3913 | 3914 | babel-jest@29.5.0(@babel/core@7.21.4): 3915 | dependencies: 3916 | "@babel/core": 7.21.4 3917 | "@jest/transform": 29.5.0 3918 | "@types/babel__core": 7.20.0 3919 | babel-plugin-istanbul: 6.1.1 3920 | babel-preset-jest: 29.5.0(@babel/core@7.21.4) 3921 | chalk: 4.1.2 3922 | graceful-fs: 4.2.11 3923 | slash: 3.0.0 3924 | transitivePeerDependencies: 3925 | - supports-color 3926 | 3927 | babel-plugin-istanbul@6.1.1: 3928 | dependencies: 3929 | "@babel/helper-plugin-utils": 7.20.2 3930 | "@istanbuljs/load-nyc-config": 1.1.0 3931 | "@istanbuljs/schema": 0.1.3 3932 | istanbul-lib-instrument: 5.2.1 3933 | test-exclude: 6.0.0 3934 | transitivePeerDependencies: 3935 | - supports-color 3936 | 3937 | babel-plugin-jest-hoist@29.5.0: 3938 | dependencies: 3939 | "@babel/template": 7.22.15 3940 | "@babel/types": 7.23.0 3941 | "@types/babel__core": 7.20.0 3942 | "@types/babel__traverse": 7.18.4 3943 | 3944 | babel-preset-current-node-syntax@1.0.1(@babel/core@7.21.4): 3945 | dependencies: 3946 | "@babel/core": 7.21.4 3947 | "@babel/plugin-syntax-async-generators": 7.8.4(@babel/core@7.21.4) 3948 | "@babel/plugin-syntax-bigint": 7.8.3(@babel/core@7.21.4) 3949 | "@babel/plugin-syntax-class-properties": 7.12.13(@babel/core@7.21.4) 3950 | "@babel/plugin-syntax-import-meta": 7.10.4(@babel/core@7.21.4) 3951 | "@babel/plugin-syntax-json-strings": 7.8.3(@babel/core@7.21.4) 3952 | "@babel/plugin-syntax-logical-assignment-operators": 7.10.4(@babel/core@7.21.4) 3953 | "@babel/plugin-syntax-nullish-coalescing-operator": 7.8.3(@babel/core@7.21.4) 3954 | "@babel/plugin-syntax-numeric-separator": 7.10.4(@babel/core@7.21.4) 3955 | "@babel/plugin-syntax-object-rest-spread": 7.8.3(@babel/core@7.21.4) 3956 | "@babel/plugin-syntax-optional-catch-binding": 7.8.3(@babel/core@7.21.4) 3957 | "@babel/plugin-syntax-optional-chaining": 7.8.3(@babel/core@7.21.4) 3958 | "@babel/plugin-syntax-top-level-await": 7.14.5(@babel/core@7.21.4) 3959 | 3960 | babel-preset-jest@29.5.0(@babel/core@7.21.4): 3961 | dependencies: 3962 | "@babel/core": 7.21.4 3963 | babel-plugin-jest-hoist: 29.5.0 3964 | babel-preset-current-node-syntax: 1.0.1(@babel/core@7.21.4) 3965 | 3966 | balanced-match@1.0.2: {} 3967 | 3968 | brace-expansion@1.1.11: 3969 | dependencies: 3970 | balanced-match: 1.0.2 3971 | concat-map: 0.0.1 3972 | 3973 | braces@3.0.3: 3974 | dependencies: 3975 | fill-range: 7.1.1 3976 | 3977 | browserslist@4.21.5: 3978 | dependencies: 3979 | caniuse-lite: 1.0.30001481 3980 | electron-to-chromium: 1.4.372 3981 | node-releases: 2.0.10 3982 | update-browserslist-db: 1.0.11(browserslist@4.21.5) 3983 | 3984 | bs-logger@0.2.6: 3985 | dependencies: 3986 | fast-json-stable-stringify: 2.1.0 3987 | 3988 | bser@2.1.1: 3989 | dependencies: 3990 | node-int64: 0.4.0 3991 | 3992 | buffer-equal-constant-time@1.0.1: {} 3993 | 3994 | buffer-from@1.1.2: {} 3995 | 3996 | callsites@3.1.0: {} 3997 | 3998 | camelcase-keys@6.2.2: 3999 | dependencies: 4000 | camelcase: 5.3.1 4001 | map-obj: 4.3.0 4002 | quick-lru: 4.0.1 4003 | 4004 | camelcase@5.3.1: {} 4005 | 4006 | camelcase@6.3.0: {} 4007 | 4008 | caniuse-lite@1.0.30001481: {} 4009 | 4010 | chalk@2.4.2: 4011 | dependencies: 4012 | ansi-styles: 3.2.1 4013 | escape-string-regexp: 1.0.5 4014 | supports-color: 5.5.0 4015 | 4016 | chalk@4.1.2: 4017 | dependencies: 4018 | ansi-styles: 4.3.0 4019 | supports-color: 7.2.0 4020 | 4021 | chalk@5.2.0: {} 4022 | 4023 | char-regex@1.0.2: {} 4024 | 4025 | ci-info@3.8.0: {} 4026 | 4027 | cjs-module-lexer@1.2.2: {} 4028 | 4029 | clean-stack@2.2.0: {} 4030 | 4031 | cli-cursor@3.1.0: 4032 | dependencies: 4033 | restore-cursor: 3.1.0 4034 | 4035 | cli-truncate@2.1.0: 4036 | dependencies: 4037 | slice-ansi: 3.0.0 4038 | string-width: 4.2.3 4039 | 4040 | cli-truncate@3.1.0: 4041 | dependencies: 4042 | slice-ansi: 5.0.0 4043 | string-width: 5.1.2 4044 | 4045 | cliui@7.0.4: 4046 | dependencies: 4047 | string-width: 4.2.3 4048 | strip-ansi: 6.0.1 4049 | wrap-ansi: 7.0.0 4050 | 4051 | cliui@8.0.1: 4052 | dependencies: 4053 | string-width: 4.2.3 4054 | strip-ansi: 6.0.1 4055 | wrap-ansi: 7.0.0 4056 | 4057 | co@4.6.0: {} 4058 | 4059 | collect-v8-coverage@1.0.1: {} 4060 | 4061 | color-convert@1.9.3: 4062 | dependencies: 4063 | color-name: 1.1.3 4064 | 4065 | color-convert@2.0.1: 4066 | dependencies: 4067 | color-name: 1.1.4 4068 | 4069 | color-name@1.1.3: {} 4070 | 4071 | color-name@1.1.4: {} 4072 | 4073 | colorette@2.0.20: {} 4074 | 4075 | combined-stream@1.0.8: 4076 | dependencies: 4077 | delayed-stream: 1.0.0 4078 | 4079 | commander@10.0.1: {} 4080 | 4081 | compare-func@2.0.0: 4082 | dependencies: 4083 | array-ify: 1.0.0 4084 | dot-prop: 5.3.0 4085 | 4086 | concat-map@0.0.1: {} 4087 | 4088 | concat-stream@2.0.0: 4089 | dependencies: 4090 | buffer-from: 1.1.2 4091 | inherits: 2.0.4 4092 | readable-stream: 3.6.2 4093 | typedarray: 0.0.6 4094 | 4095 | conventional-changelog-angular@5.0.13: 4096 | dependencies: 4097 | compare-func: 2.0.0 4098 | q: 1.5.1 4099 | 4100 | conventional-changelog-atom@2.0.8: 4101 | dependencies: 4102 | q: 1.5.1 4103 | 4104 | conventional-changelog-codemirror@2.0.8: 4105 | dependencies: 4106 | q: 1.5.1 4107 | 4108 | conventional-changelog-config-spec@2.1.0: {} 4109 | 4110 | conventional-changelog-conventionalcommits@4.6.3: 4111 | dependencies: 4112 | compare-func: 2.0.0 4113 | lodash: 4.17.21 4114 | q: 1.5.1 4115 | 4116 | conventional-changelog-core@4.2.4: 4117 | dependencies: 4118 | add-stream: 1.0.0 4119 | conventional-changelog-writer: 5.0.1 4120 | conventional-commits-parser: 3.2.4 4121 | dateformat: 3.0.3 4122 | get-pkg-repo: 4.2.1 4123 | git-raw-commits: 2.0.11 4124 | git-remote-origin-url: 2.0.0 4125 | git-semver-tags: 4.1.1 4126 | lodash: 4.17.21 4127 | normalize-package-data: 3.0.3 4128 | q: 1.5.1 4129 | read-pkg: 3.0.0 4130 | read-pkg-up: 3.0.0 4131 | through2: 4.0.2 4132 | 4133 | conventional-changelog-ember@2.0.9: 4134 | dependencies: 4135 | q: 1.5.1 4136 | 4137 | conventional-changelog-eslint@3.0.9: 4138 | dependencies: 4139 | q: 1.5.1 4140 | 4141 | conventional-changelog-express@2.0.6: 4142 | dependencies: 4143 | q: 1.5.1 4144 | 4145 | conventional-changelog-jquery@3.0.11: 4146 | dependencies: 4147 | q: 1.5.1 4148 | 4149 | conventional-changelog-jshint@2.0.9: 4150 | dependencies: 4151 | compare-func: 2.0.0 4152 | q: 1.5.1 4153 | 4154 | conventional-changelog-preset-loader@2.3.4: {} 4155 | 4156 | conventional-changelog-writer@5.0.1: 4157 | dependencies: 4158 | conventional-commits-filter: 2.0.7 4159 | dateformat: 3.0.3 4160 | handlebars: 4.7.7 4161 | json-stringify-safe: 5.0.1 4162 | lodash: 4.17.21 4163 | meow: 8.1.2 4164 | semver: 6.3.0 4165 | split: 1.0.1 4166 | through2: 4.0.2 4167 | 4168 | conventional-changelog@3.1.25: 4169 | dependencies: 4170 | conventional-changelog-angular: 5.0.13 4171 | conventional-changelog-atom: 2.0.8 4172 | conventional-changelog-codemirror: 2.0.8 4173 | conventional-changelog-conventionalcommits: 4.6.3 4174 | conventional-changelog-core: 4.2.4 4175 | conventional-changelog-ember: 2.0.9 4176 | conventional-changelog-eslint: 3.0.9 4177 | conventional-changelog-express: 2.0.6 4178 | conventional-changelog-jquery: 3.0.11 4179 | conventional-changelog-jshint: 2.0.9 4180 | conventional-changelog-preset-loader: 2.3.4 4181 | 4182 | conventional-commits-filter@2.0.7: 4183 | dependencies: 4184 | lodash.ismatch: 4.4.0 4185 | modify-values: 1.0.1 4186 | 4187 | conventional-commits-parser@3.2.4: 4188 | dependencies: 4189 | JSONStream: 1.3.5 4190 | is-text-path: 1.0.1 4191 | lodash: 4.17.21 4192 | meow: 8.1.2 4193 | split2: 3.2.2 4194 | through2: 4.0.2 4195 | 4196 | conventional-recommended-bump@6.1.0: 4197 | dependencies: 4198 | concat-stream: 2.0.0 4199 | conventional-changelog-preset-loader: 2.3.4 4200 | conventional-commits-filter: 2.0.7 4201 | conventional-commits-parser: 3.2.4 4202 | git-raw-commits: 2.0.11 4203 | git-semver-tags: 4.1.1 4204 | meow: 8.1.2 4205 | q: 1.5.1 4206 | 4207 | convert-source-map@1.9.0: {} 4208 | 4209 | convert-source-map@2.0.0: {} 4210 | 4211 | core-util-is@1.0.3: {} 4212 | 4213 | cross-spawn@7.0.3: 4214 | dependencies: 4215 | path-key: 3.1.1 4216 | shebang-command: 2.0.0 4217 | which: 2.0.2 4218 | 4219 | dargs@7.0.0: {} 4220 | 4221 | dateformat@3.0.3: {} 4222 | 4223 | debug@4.3.4: 4224 | dependencies: 4225 | ms: 2.1.2 4226 | 4227 | decamelize-keys@1.1.1: 4228 | dependencies: 4229 | decamelize: 1.2.0 4230 | map-obj: 1.0.1 4231 | 4232 | decamelize@1.2.0: {} 4233 | 4234 | dedent@0.7.0: {} 4235 | 4236 | deepmerge@4.3.1: {} 4237 | 4238 | delayed-stream@1.0.0: {} 4239 | 4240 | detect-indent@6.1.0: {} 4241 | 4242 | detect-newline@3.1.0: {} 4243 | 4244 | diff-sequences@29.4.3: {} 4245 | 4246 | dot-prop@5.3.0: 4247 | dependencies: 4248 | is-obj: 2.0.0 4249 | 4250 | dotgitignore@2.1.0: 4251 | dependencies: 4252 | find-up: 3.0.0 4253 | minimatch: 3.1.2 4254 | 4255 | eastasianwidth@0.2.0: {} 4256 | 4257 | ecdsa-sig-formatter@1.0.11: 4258 | dependencies: 4259 | safe-buffer: 5.2.1 4260 | 4261 | electron-to-chromium@1.4.372: {} 4262 | 4263 | emittery@0.13.1: {} 4264 | 4265 | emoji-regex@8.0.0: {} 4266 | 4267 | emoji-regex@9.2.2: {} 4268 | 4269 | error-ex@1.3.2: 4270 | dependencies: 4271 | is-arrayish: 0.2.1 4272 | 4273 | escalade@3.1.1: {} 4274 | 4275 | escape-string-regexp@1.0.5: {} 4276 | 4277 | escape-string-regexp@2.0.0: {} 4278 | 4279 | esprima@4.0.1: {} 4280 | 4281 | estree-walker@2.0.2: {} 4282 | 4283 | execa@5.1.1: 4284 | dependencies: 4285 | cross-spawn: 7.0.3 4286 | get-stream: 6.0.1 4287 | human-signals: 2.1.0 4288 | is-stream: 2.0.1 4289 | merge-stream: 2.0.0 4290 | npm-run-path: 4.0.1 4291 | onetime: 5.1.2 4292 | signal-exit: 3.0.7 4293 | strip-final-newline: 2.0.0 4294 | 4295 | execa@7.1.1: 4296 | dependencies: 4297 | cross-spawn: 7.0.3 4298 | get-stream: 6.0.1 4299 | human-signals: 4.3.1 4300 | is-stream: 3.0.0 4301 | merge-stream: 2.0.0 4302 | npm-run-path: 5.1.0 4303 | onetime: 6.0.0 4304 | signal-exit: 3.0.7 4305 | strip-final-newline: 3.0.0 4306 | 4307 | exit@0.1.2: {} 4308 | 4309 | expect@29.5.0: 4310 | dependencies: 4311 | "@jest/expect-utils": 29.5.0 4312 | jest-get-type: 29.4.3 4313 | jest-matcher-utils: 29.5.0 4314 | jest-message-util: 29.5.0 4315 | jest-util: 29.5.0 4316 | 4317 | fast-json-stable-stringify@2.1.0: {} 4318 | 4319 | fb-watchman@2.0.2: 4320 | dependencies: 4321 | bser: 2.1.1 4322 | 4323 | figures@3.2.0: 4324 | dependencies: 4325 | escape-string-regexp: 1.0.5 4326 | 4327 | fill-range@7.1.1: 4328 | dependencies: 4329 | to-regex-range: 5.0.1 4330 | 4331 | find-up@2.1.0: 4332 | dependencies: 4333 | locate-path: 2.0.0 4334 | 4335 | find-up@3.0.0: 4336 | dependencies: 4337 | locate-path: 3.0.0 4338 | 4339 | find-up@4.1.0: 4340 | dependencies: 4341 | locate-path: 5.0.0 4342 | path-exists: 4.0.0 4343 | 4344 | find-up@5.0.0: 4345 | dependencies: 4346 | locate-path: 6.0.0 4347 | path-exists: 4.0.0 4348 | 4349 | follow-redirects@1.15.6: {} 4350 | 4351 | form-data@4.0.0: 4352 | dependencies: 4353 | asynckit: 0.4.0 4354 | combined-stream: 1.0.8 4355 | mime-types: 2.1.35 4356 | 4357 | fs.realpath@1.0.0: {} 4358 | 4359 | fsevents@2.3.3: 4360 | optional: true 4361 | 4362 | function-bind@1.1.1: {} 4363 | 4364 | gensync@1.0.0-beta.2: {} 4365 | 4366 | get-caller-file@2.0.5: {} 4367 | 4368 | get-package-type@0.1.0: {} 4369 | 4370 | get-pkg-repo@4.2.1: 4371 | dependencies: 4372 | "@hutson/parse-repository-url": 3.0.2 4373 | hosted-git-info: 4.1.0 4374 | through2: 2.0.5 4375 | yargs: 16.2.0 4376 | 4377 | get-stream@6.0.1: {} 4378 | 4379 | git-raw-commits@2.0.11: 4380 | dependencies: 4381 | dargs: 7.0.0 4382 | lodash: 4.17.21 4383 | meow: 8.1.2 4384 | split2: 3.2.2 4385 | through2: 4.0.2 4386 | 4387 | git-remote-origin-url@2.0.0: 4388 | dependencies: 4389 | gitconfiglocal: 1.0.0 4390 | pify: 2.3.0 4391 | 4392 | git-semver-tags@4.1.1: 4393 | dependencies: 4394 | meow: 8.1.2 4395 | semver: 6.3.0 4396 | 4397 | gitconfiglocal@1.0.0: 4398 | dependencies: 4399 | ini: 1.3.8 4400 | 4401 | glob@7.2.3: 4402 | dependencies: 4403 | fs.realpath: 1.0.0 4404 | inflight: 1.0.6 4405 | inherits: 2.0.4 4406 | minimatch: 3.1.2 4407 | once: 1.4.0 4408 | path-is-absolute: 1.0.1 4409 | 4410 | globals@11.12.0: {} 4411 | 4412 | graceful-fs@4.2.11: {} 4413 | 4414 | handlebars@4.7.7: 4415 | dependencies: 4416 | minimist: 1.2.8 4417 | neo-async: 2.6.2 4418 | source-map: 0.6.1 4419 | wordwrap: 1.0.0 4420 | optionalDependencies: 4421 | uglify-js: 3.17.4 4422 | 4423 | hard-rejection@2.1.0: {} 4424 | 4425 | has-flag@3.0.0: {} 4426 | 4427 | has-flag@4.0.0: {} 4428 | 4429 | has@1.0.3: 4430 | dependencies: 4431 | function-bind: 1.1.1 4432 | 4433 | hosted-git-info@2.8.9: {} 4434 | 4435 | hosted-git-info@4.1.0: 4436 | dependencies: 4437 | lru-cache: 6.0.0 4438 | 4439 | html-escaper@2.0.2: {} 4440 | 4441 | human-signals@2.1.0: {} 4442 | 4443 | human-signals@4.3.1: {} 4444 | 4445 | husky@8.0.3: {} 4446 | 4447 | import-local@3.1.0: 4448 | dependencies: 4449 | pkg-dir: 4.2.0 4450 | resolve-cwd: 3.0.0 4451 | 4452 | imurmurhash@0.1.4: {} 4453 | 4454 | indent-string@4.0.0: {} 4455 | 4456 | inflight@1.0.6: 4457 | dependencies: 4458 | once: 1.4.0 4459 | wrappy: 1.0.2 4460 | 4461 | inherits@2.0.4: {} 4462 | 4463 | ini@1.3.8: {} 4464 | 4465 | is-arrayish@0.2.1: {} 4466 | 4467 | is-core-module@2.12.0: 4468 | dependencies: 4469 | has: 1.0.3 4470 | 4471 | is-fullwidth-code-point@3.0.0: {} 4472 | 4473 | is-fullwidth-code-point@4.0.0: {} 4474 | 4475 | is-generator-fn@2.1.0: {} 4476 | 4477 | is-number@7.0.0: {} 4478 | 4479 | is-obj@2.0.0: {} 4480 | 4481 | is-plain-obj@1.1.0: {} 4482 | 4483 | is-stream@2.0.1: {} 4484 | 4485 | is-stream@3.0.0: {} 4486 | 4487 | is-text-path@1.0.1: 4488 | dependencies: 4489 | text-extensions: 1.9.0 4490 | 4491 | isarray@1.0.0: {} 4492 | 4493 | isexe@2.0.0: {} 4494 | 4495 | istanbul-lib-coverage@3.2.0: {} 4496 | 4497 | istanbul-lib-instrument@5.2.1: 4498 | dependencies: 4499 | "@babel/core": 7.21.4 4500 | "@babel/parser": 7.23.0 4501 | "@istanbuljs/schema": 0.1.3 4502 | istanbul-lib-coverage: 3.2.0 4503 | semver: 6.3.0 4504 | transitivePeerDependencies: 4505 | - supports-color 4506 | 4507 | istanbul-lib-report@3.0.0: 4508 | dependencies: 4509 | istanbul-lib-coverage: 3.2.0 4510 | make-dir: 3.1.0 4511 | supports-color: 7.2.0 4512 | 4513 | istanbul-lib-source-maps@4.0.1: 4514 | dependencies: 4515 | debug: 4.3.4 4516 | istanbul-lib-coverage: 3.2.0 4517 | source-map: 0.6.1 4518 | transitivePeerDependencies: 4519 | - supports-color 4520 | 4521 | istanbul-reports@3.1.5: 4522 | dependencies: 4523 | html-escaper: 2.0.2 4524 | istanbul-lib-report: 3.0.0 4525 | 4526 | jest-changed-files@29.5.0: 4527 | dependencies: 4528 | execa: 5.1.1 4529 | p-limit: 3.1.0 4530 | 4531 | jest-circus@29.5.0: 4532 | dependencies: 4533 | "@jest/environment": 29.5.0 4534 | "@jest/expect": 29.5.0 4535 | "@jest/test-result": 29.5.0 4536 | "@jest/types": 29.5.0 4537 | "@types/node": 18.16.1 4538 | chalk: 4.1.2 4539 | co: 4.6.0 4540 | dedent: 0.7.0 4541 | is-generator-fn: 2.1.0 4542 | jest-each: 29.5.0 4543 | jest-matcher-utils: 29.5.0 4544 | jest-message-util: 29.5.0 4545 | jest-runtime: 29.5.0 4546 | jest-snapshot: 29.5.0 4547 | jest-util: 29.5.0 4548 | p-limit: 3.1.0 4549 | pretty-format: 29.5.0 4550 | pure-rand: 6.0.2 4551 | slash: 3.0.0 4552 | stack-utils: 2.0.6 4553 | transitivePeerDependencies: 4554 | - supports-color 4555 | 4556 | jest-cli@29.5.0(@types/node@18.16.1): 4557 | dependencies: 4558 | "@jest/core": 29.5.0 4559 | "@jest/test-result": 29.5.0 4560 | "@jest/types": 29.5.0 4561 | chalk: 4.1.2 4562 | exit: 0.1.2 4563 | graceful-fs: 4.2.11 4564 | import-local: 3.1.0 4565 | jest-config: 29.5.0(@types/node@18.16.1) 4566 | jest-util: 29.5.0 4567 | jest-validate: 29.5.0 4568 | prompts: 2.4.2 4569 | yargs: 17.7.1 4570 | transitivePeerDependencies: 4571 | - "@types/node" 4572 | - supports-color 4573 | - ts-node 4574 | 4575 | jest-config@29.5.0(@types/node@18.16.1): 4576 | dependencies: 4577 | "@babel/core": 7.21.4 4578 | "@jest/test-sequencer": 29.5.0 4579 | "@jest/types": 29.5.0 4580 | babel-jest: 29.5.0(@babel/core@7.21.4) 4581 | chalk: 4.1.2 4582 | ci-info: 3.8.0 4583 | deepmerge: 4.3.1 4584 | glob: 7.2.3 4585 | graceful-fs: 4.2.11 4586 | jest-circus: 29.5.0 4587 | jest-environment-node: 29.5.0 4588 | jest-get-type: 29.4.3 4589 | jest-regex-util: 29.4.3 4590 | jest-resolve: 29.5.0 4591 | jest-runner: 29.5.0 4592 | jest-util: 29.5.0 4593 | jest-validate: 29.5.0 4594 | micromatch: 4.0.5 4595 | parse-json: 5.2.0 4596 | pretty-format: 29.5.0 4597 | slash: 3.0.0 4598 | strip-json-comments: 3.1.1 4599 | optionalDependencies: 4600 | "@types/node": 18.16.1 4601 | transitivePeerDependencies: 4602 | - supports-color 4603 | 4604 | jest-diff@29.5.0: 4605 | dependencies: 4606 | chalk: 4.1.2 4607 | diff-sequences: 29.4.3 4608 | jest-get-type: 29.4.3 4609 | pretty-format: 29.5.0 4610 | 4611 | jest-docblock@29.4.3: 4612 | dependencies: 4613 | detect-newline: 3.1.0 4614 | 4615 | jest-each@29.5.0: 4616 | dependencies: 4617 | "@jest/types": 29.5.0 4618 | chalk: 4.1.2 4619 | jest-get-type: 29.4.3 4620 | jest-util: 29.5.0 4621 | pretty-format: 29.5.0 4622 | 4623 | jest-environment-node@29.5.0: 4624 | dependencies: 4625 | "@jest/environment": 29.5.0 4626 | "@jest/fake-timers": 29.5.0 4627 | "@jest/types": 29.5.0 4628 | "@types/node": 18.16.1 4629 | jest-mock: 29.5.0 4630 | jest-util: 29.5.0 4631 | 4632 | jest-get-type@29.4.3: {} 4633 | 4634 | jest-haste-map@29.5.0: 4635 | dependencies: 4636 | "@jest/types": 29.5.0 4637 | "@types/graceful-fs": 4.1.6 4638 | "@types/node": 18.16.1 4639 | anymatch: 3.1.3 4640 | fb-watchman: 2.0.2 4641 | graceful-fs: 4.2.11 4642 | jest-regex-util: 29.4.3 4643 | jest-util: 29.5.0 4644 | jest-worker: 29.5.0 4645 | micromatch: 4.0.5 4646 | walker: 1.0.8 4647 | optionalDependencies: 4648 | fsevents: 2.3.3 4649 | 4650 | jest-leak-detector@29.5.0: 4651 | dependencies: 4652 | jest-get-type: 29.4.3 4653 | pretty-format: 29.5.0 4654 | 4655 | jest-matcher-utils@29.5.0: 4656 | dependencies: 4657 | chalk: 4.1.2 4658 | jest-diff: 29.5.0 4659 | jest-get-type: 29.4.3 4660 | pretty-format: 29.5.0 4661 | 4662 | jest-message-util@29.5.0: 4663 | dependencies: 4664 | "@babel/code-frame": 7.22.13 4665 | "@jest/types": 29.5.0 4666 | "@types/stack-utils": 2.0.1 4667 | chalk: 4.1.2 4668 | graceful-fs: 4.2.11 4669 | micromatch: 4.0.5 4670 | pretty-format: 29.5.0 4671 | slash: 3.0.0 4672 | stack-utils: 2.0.6 4673 | 4674 | jest-mock@29.5.0: 4675 | dependencies: 4676 | "@jest/types": 29.5.0 4677 | "@types/node": 18.16.1 4678 | jest-util: 29.5.0 4679 | 4680 | jest-pnp-resolver@1.2.3(jest-resolve@29.5.0): 4681 | optionalDependencies: 4682 | jest-resolve: 29.5.0 4683 | 4684 | jest-regex-util@29.4.3: {} 4685 | 4686 | jest-resolve-dependencies@29.5.0: 4687 | dependencies: 4688 | jest-regex-util: 29.4.3 4689 | jest-snapshot: 29.5.0 4690 | transitivePeerDependencies: 4691 | - supports-color 4692 | 4693 | jest-resolve@29.5.0: 4694 | dependencies: 4695 | chalk: 4.1.2 4696 | graceful-fs: 4.2.11 4697 | jest-haste-map: 29.5.0 4698 | jest-pnp-resolver: 1.2.3(jest-resolve@29.5.0) 4699 | jest-util: 29.5.0 4700 | jest-validate: 29.5.0 4701 | resolve: 1.22.2 4702 | resolve.exports: 2.0.2 4703 | slash: 3.0.0 4704 | 4705 | jest-runner@29.5.0: 4706 | dependencies: 4707 | "@jest/console": 29.5.0 4708 | "@jest/environment": 29.5.0 4709 | "@jest/test-result": 29.5.0 4710 | "@jest/transform": 29.5.0 4711 | "@jest/types": 29.5.0 4712 | "@types/node": 18.16.1 4713 | chalk: 4.1.2 4714 | emittery: 0.13.1 4715 | graceful-fs: 4.2.11 4716 | jest-docblock: 29.4.3 4717 | jest-environment-node: 29.5.0 4718 | jest-haste-map: 29.5.0 4719 | jest-leak-detector: 29.5.0 4720 | jest-message-util: 29.5.0 4721 | jest-resolve: 29.5.0 4722 | jest-runtime: 29.5.0 4723 | jest-util: 29.5.0 4724 | jest-watcher: 29.5.0 4725 | jest-worker: 29.5.0 4726 | p-limit: 3.1.0 4727 | source-map-support: 0.5.13 4728 | transitivePeerDependencies: 4729 | - supports-color 4730 | 4731 | jest-runtime@29.5.0: 4732 | dependencies: 4733 | "@jest/environment": 29.5.0 4734 | "@jest/fake-timers": 29.5.0 4735 | "@jest/globals": 29.5.0 4736 | "@jest/source-map": 29.4.3 4737 | "@jest/test-result": 29.5.0 4738 | "@jest/transform": 29.5.0 4739 | "@jest/types": 29.5.0 4740 | "@types/node": 18.16.1 4741 | chalk: 4.1.2 4742 | cjs-module-lexer: 1.2.2 4743 | collect-v8-coverage: 1.0.1 4744 | glob: 7.2.3 4745 | graceful-fs: 4.2.11 4746 | jest-haste-map: 29.5.0 4747 | jest-message-util: 29.5.0 4748 | jest-mock: 29.5.0 4749 | jest-regex-util: 29.4.3 4750 | jest-resolve: 29.5.0 4751 | jest-snapshot: 29.5.0 4752 | jest-util: 29.5.0 4753 | slash: 3.0.0 4754 | strip-bom: 4.0.0 4755 | transitivePeerDependencies: 4756 | - supports-color 4757 | 4758 | jest-snapshot@29.5.0: 4759 | dependencies: 4760 | "@babel/core": 7.21.4 4761 | "@babel/generator": 7.23.0 4762 | "@babel/plugin-syntax-jsx": 7.21.4(@babel/core@7.21.4) 4763 | "@babel/plugin-syntax-typescript": 7.21.4(@babel/core@7.21.4) 4764 | "@babel/traverse": 7.23.2 4765 | "@babel/types": 7.23.0 4766 | "@jest/expect-utils": 29.5.0 4767 | "@jest/transform": 29.5.0 4768 | "@jest/types": 29.5.0 4769 | "@types/babel__traverse": 7.18.4 4770 | "@types/prettier": 2.7.2 4771 | babel-preset-current-node-syntax: 1.0.1(@babel/core@7.21.4) 4772 | chalk: 4.1.2 4773 | expect: 29.5.0 4774 | graceful-fs: 4.2.11 4775 | jest-diff: 29.5.0 4776 | jest-get-type: 29.4.3 4777 | jest-matcher-utils: 29.5.0 4778 | jest-message-util: 29.5.0 4779 | jest-util: 29.5.0 4780 | natural-compare: 1.4.0 4781 | pretty-format: 29.5.0 4782 | semver: 7.5.0 4783 | transitivePeerDependencies: 4784 | - supports-color 4785 | 4786 | jest-util@29.5.0: 4787 | dependencies: 4788 | "@jest/types": 29.5.0 4789 | "@types/node": 18.16.1 4790 | chalk: 4.1.2 4791 | ci-info: 3.8.0 4792 | graceful-fs: 4.2.11 4793 | picomatch: 2.3.1 4794 | 4795 | jest-validate@29.5.0: 4796 | dependencies: 4797 | "@jest/types": 29.5.0 4798 | camelcase: 6.3.0 4799 | chalk: 4.1.2 4800 | jest-get-type: 29.4.3 4801 | leven: 3.1.0 4802 | pretty-format: 29.5.0 4803 | 4804 | jest-watcher@29.5.0: 4805 | dependencies: 4806 | "@jest/test-result": 29.5.0 4807 | "@jest/types": 29.5.0 4808 | "@types/node": 18.16.1 4809 | ansi-escapes: 4.3.2 4810 | chalk: 4.1.2 4811 | emittery: 0.13.1 4812 | jest-util: 29.5.0 4813 | string-length: 4.0.2 4814 | 4815 | jest-worker@29.5.0: 4816 | dependencies: 4817 | "@types/node": 18.16.1 4818 | jest-util: 29.5.0 4819 | merge-stream: 2.0.0 4820 | supports-color: 8.1.1 4821 | 4822 | jest@29.5.0(@types/node@18.16.1): 4823 | dependencies: 4824 | "@jest/core": 29.5.0 4825 | "@jest/types": 29.5.0 4826 | import-local: 3.1.0 4827 | jest-cli: 29.5.0(@types/node@18.16.1) 4828 | transitivePeerDependencies: 4829 | - "@types/node" 4830 | - supports-color 4831 | - ts-node 4832 | 4833 | js-tokens@4.0.0: {} 4834 | 4835 | js-yaml@3.14.1: 4836 | dependencies: 4837 | argparse: 1.0.10 4838 | esprima: 4.0.1 4839 | 4840 | jsesc@2.5.2: {} 4841 | 4842 | json-parse-better-errors@1.0.2: {} 4843 | 4844 | json-parse-even-better-errors@2.3.1: {} 4845 | 4846 | json-stringify-safe@5.0.1: {} 4847 | 4848 | json5@2.2.3: {} 4849 | 4850 | jsonparse@1.3.1: {} 4851 | 4852 | jsonwebtoken@9.0.0: 4853 | dependencies: 4854 | jws: 3.2.2 4855 | lodash: 4.17.21 4856 | ms: 2.1.2 4857 | semver: 7.5.0 4858 | 4859 | jwa@1.4.1: 4860 | dependencies: 4861 | buffer-equal-constant-time: 1.0.1 4862 | ecdsa-sig-formatter: 1.0.11 4863 | safe-buffer: 5.2.1 4864 | 4865 | jws@3.2.2: 4866 | dependencies: 4867 | jwa: 1.4.1 4868 | safe-buffer: 5.2.1 4869 | 4870 | kind-of@6.0.3: {} 4871 | 4872 | kleur@3.0.3: {} 4873 | 4874 | leven@3.1.0: {} 4875 | 4876 | lilconfig@2.1.0: {} 4877 | 4878 | lines-and-columns@1.2.4: {} 4879 | 4880 | lint-staged@13.2.1: 4881 | dependencies: 4882 | chalk: 5.2.0 4883 | cli-truncate: 3.1.0 4884 | commander: 10.0.1 4885 | debug: 4.3.4 4886 | execa: 7.1.1 4887 | lilconfig: 2.1.0 4888 | listr2: 5.0.8 4889 | micromatch: 4.0.5 4890 | normalize-path: 3.0.0 4891 | object-inspect: 1.12.3 4892 | pidtree: 0.6.0 4893 | string-argv: 0.3.1 4894 | yaml: 2.2.2 4895 | transitivePeerDependencies: 4896 | - enquirer 4897 | - supports-color 4898 | 4899 | listr2@5.0.8: 4900 | dependencies: 4901 | cli-truncate: 2.1.0 4902 | colorette: 2.0.20 4903 | log-update: 4.0.0 4904 | p-map: 4.0.0 4905 | rfdc: 1.3.0 4906 | rxjs: 7.8.0 4907 | through: 2.3.8 4908 | wrap-ansi: 7.0.0 4909 | 4910 | load-json-file@4.0.0: 4911 | dependencies: 4912 | graceful-fs: 4.2.11 4913 | parse-json: 4.0.0 4914 | pify: 3.0.0 4915 | strip-bom: 3.0.0 4916 | 4917 | locate-path@2.0.0: 4918 | dependencies: 4919 | p-locate: 2.0.0 4920 | path-exists: 3.0.0 4921 | 4922 | locate-path@3.0.0: 4923 | dependencies: 4924 | p-locate: 3.0.0 4925 | path-exists: 3.0.0 4926 | 4927 | locate-path@5.0.0: 4928 | dependencies: 4929 | p-locate: 4.1.0 4930 | 4931 | locate-path@6.0.0: 4932 | dependencies: 4933 | p-locate: 5.0.0 4934 | 4935 | lodash.ismatch@4.4.0: {} 4936 | 4937 | lodash.memoize@4.1.2: {} 4938 | 4939 | lodash@4.17.21: {} 4940 | 4941 | log-update@4.0.0: 4942 | dependencies: 4943 | ansi-escapes: 4.3.2 4944 | cli-cursor: 3.1.0 4945 | slice-ansi: 4.0.0 4946 | wrap-ansi: 6.2.0 4947 | 4948 | lru-cache@5.1.1: 4949 | dependencies: 4950 | yallist: 3.1.1 4951 | 4952 | lru-cache@6.0.0: 4953 | dependencies: 4954 | yallist: 4.0.0 4955 | 4956 | make-dir@3.1.0: 4957 | dependencies: 4958 | semver: 6.3.0 4959 | 4960 | make-error@1.3.6: {} 4961 | 4962 | makeerror@1.0.12: 4963 | dependencies: 4964 | tmpl: 1.0.5 4965 | 4966 | map-obj@1.0.1: {} 4967 | 4968 | map-obj@4.3.0: {} 4969 | 4970 | meow@8.1.2: 4971 | dependencies: 4972 | "@types/minimist": 1.2.2 4973 | camelcase-keys: 6.2.2 4974 | decamelize-keys: 1.1.1 4975 | hard-rejection: 2.1.0 4976 | minimist-options: 4.1.0 4977 | normalize-package-data: 3.0.3 4978 | read-pkg-up: 7.0.1 4979 | redent: 3.0.0 4980 | trim-newlines: 3.0.1 4981 | type-fest: 0.18.1 4982 | yargs-parser: 20.2.9 4983 | 4984 | merge-stream@2.0.0: {} 4985 | 4986 | micromatch@4.0.5: 4987 | dependencies: 4988 | braces: 3.0.3 4989 | picomatch: 2.3.1 4990 | 4991 | mime-db@1.52.0: {} 4992 | 4993 | mime-types@2.1.35: 4994 | dependencies: 4995 | mime-db: 1.52.0 4996 | 4997 | mimic-fn@2.1.0: {} 4998 | 4999 | mimic-fn@4.0.0: {} 5000 | 5001 | min-indent@1.0.1: {} 5002 | 5003 | minimatch@3.1.2: 5004 | dependencies: 5005 | brace-expansion: 1.1.11 5006 | 5007 | minimist-options@4.1.0: 5008 | dependencies: 5009 | arrify: 1.0.1 5010 | is-plain-obj: 1.1.0 5011 | kind-of: 6.0.3 5012 | 5013 | minimist@1.2.8: {} 5014 | 5015 | modify-values@1.0.1: {} 5016 | 5017 | ms@2.1.2: {} 5018 | 5019 | natural-compare@1.4.0: {} 5020 | 5021 | neo-async@2.6.2: {} 5022 | 5023 | node-int64@0.4.0: {} 5024 | 5025 | node-releases@2.0.10: {} 5026 | 5027 | normalize-package-data@2.5.0: 5028 | dependencies: 5029 | hosted-git-info: 2.8.9 5030 | resolve: 1.22.2 5031 | semver: 5.7.2 5032 | validate-npm-package-license: 3.0.4 5033 | 5034 | normalize-package-data@3.0.3: 5035 | dependencies: 5036 | hosted-git-info: 4.1.0 5037 | is-core-module: 2.12.0 5038 | semver: 7.5.0 5039 | validate-npm-package-license: 3.0.4 5040 | 5041 | normalize-path@3.0.0: {} 5042 | 5043 | npm-run-path@4.0.1: 5044 | dependencies: 5045 | path-key: 3.1.1 5046 | 5047 | npm-run-path@5.1.0: 5048 | dependencies: 5049 | path-key: 4.0.0 5050 | 5051 | object-inspect@1.12.3: {} 5052 | 5053 | once@1.4.0: 5054 | dependencies: 5055 | wrappy: 1.0.2 5056 | 5057 | onetime@5.1.2: 5058 | dependencies: 5059 | mimic-fn: 2.1.0 5060 | 5061 | onetime@6.0.0: 5062 | dependencies: 5063 | mimic-fn: 4.0.0 5064 | 5065 | onstarjs@2.5.3: 5066 | dependencies: 5067 | axios: 1.6.1 5068 | jsonwebtoken: 9.0.0 5069 | uuid: 9.0.0 5070 | transitivePeerDependencies: 5071 | - debug 5072 | 5073 | p-limit@1.3.0: 5074 | dependencies: 5075 | p-try: 1.0.0 5076 | 5077 | p-limit@2.3.0: 5078 | dependencies: 5079 | p-try: 2.2.0 5080 | 5081 | p-limit@3.1.0: 5082 | dependencies: 5083 | yocto-queue: 0.1.0 5084 | 5085 | p-locate@2.0.0: 5086 | dependencies: 5087 | p-limit: 1.3.0 5088 | 5089 | p-locate@3.0.0: 5090 | dependencies: 5091 | p-limit: 2.3.0 5092 | 5093 | p-locate@4.1.0: 5094 | dependencies: 5095 | p-limit: 2.3.0 5096 | 5097 | p-locate@5.0.0: 5098 | dependencies: 5099 | p-limit: 3.1.0 5100 | 5101 | p-map@4.0.0: 5102 | dependencies: 5103 | aggregate-error: 3.1.0 5104 | 5105 | p-try@1.0.0: {} 5106 | 5107 | p-try@2.2.0: {} 5108 | 5109 | parse-json@4.0.0: 5110 | dependencies: 5111 | error-ex: 1.3.2 5112 | json-parse-better-errors: 1.0.2 5113 | 5114 | parse-json@5.2.0: 5115 | dependencies: 5116 | "@babel/code-frame": 7.22.13 5117 | error-ex: 1.3.2 5118 | json-parse-even-better-errors: 2.3.1 5119 | lines-and-columns: 1.2.4 5120 | 5121 | path-exists@3.0.0: {} 5122 | 5123 | path-exists@4.0.0: {} 5124 | 5125 | path-is-absolute@1.0.1: {} 5126 | 5127 | path-key@3.1.1: {} 5128 | 5129 | path-key@4.0.0: {} 5130 | 5131 | path-parse@1.0.7: {} 5132 | 5133 | path-type@3.0.0: 5134 | dependencies: 5135 | pify: 3.0.0 5136 | 5137 | picocolors@1.0.0: {} 5138 | 5139 | picomatch@2.3.1: {} 5140 | 5141 | pidtree@0.6.0: {} 5142 | 5143 | pify@2.3.0: {} 5144 | 5145 | pify@3.0.0: {} 5146 | 5147 | pirates@4.0.5: {} 5148 | 5149 | pkg-dir@4.2.0: 5150 | dependencies: 5151 | find-up: 4.1.0 5152 | 5153 | prettier@3.3.3: {} 5154 | 5155 | pretty-format@29.5.0: 5156 | dependencies: 5157 | "@jest/schemas": 29.4.3 5158 | ansi-styles: 5.2.0 5159 | react-is: 18.2.0 5160 | 5161 | process-nextick-args@2.0.1: {} 5162 | 5163 | prompts@2.4.2: 5164 | dependencies: 5165 | kleur: 3.0.3 5166 | sisteransi: 1.0.5 5167 | 5168 | proxy-from-env@1.1.0: {} 5169 | 5170 | pure-rand@6.0.2: {} 5171 | 5172 | q@1.5.1: {} 5173 | 5174 | quick-lru@4.0.1: {} 5175 | 5176 | react-is@18.2.0: {} 5177 | 5178 | read-pkg-up@3.0.0: 5179 | dependencies: 5180 | find-up: 2.1.0 5181 | read-pkg: 3.0.0 5182 | 5183 | read-pkg-up@7.0.1: 5184 | dependencies: 5185 | find-up: 4.1.0 5186 | read-pkg: 5.2.0 5187 | type-fest: 0.8.1 5188 | 5189 | read-pkg@3.0.0: 5190 | dependencies: 5191 | load-json-file: 4.0.0 5192 | normalize-package-data: 2.5.0 5193 | path-type: 3.0.0 5194 | 5195 | read-pkg@5.2.0: 5196 | dependencies: 5197 | "@types/normalize-package-data": 2.4.1 5198 | normalize-package-data: 2.5.0 5199 | parse-json: 5.2.0 5200 | type-fest: 0.6.0 5201 | 5202 | readable-stream@2.3.8: 5203 | dependencies: 5204 | core-util-is: 1.0.3 5205 | inherits: 2.0.4 5206 | isarray: 1.0.0 5207 | process-nextick-args: 2.0.1 5208 | safe-buffer: 5.1.2 5209 | string_decoder: 1.1.1 5210 | util-deprecate: 1.0.2 5211 | 5212 | readable-stream@3.6.2: 5213 | dependencies: 5214 | inherits: 2.0.4 5215 | string_decoder: 1.3.0 5216 | util-deprecate: 1.0.2 5217 | 5218 | redent@3.0.0: 5219 | dependencies: 5220 | indent-string: 4.0.0 5221 | strip-indent: 3.0.0 5222 | 5223 | require-directory@2.1.1: {} 5224 | 5225 | resolve-cwd@3.0.0: 5226 | dependencies: 5227 | resolve-from: 5.0.0 5228 | 5229 | resolve-from@5.0.0: {} 5230 | 5231 | resolve.exports@2.0.2: {} 5232 | 5233 | resolve@1.22.2: 5234 | dependencies: 5235 | is-core-module: 2.12.0 5236 | path-parse: 1.0.7 5237 | supports-preserve-symlinks-flag: 1.0.0 5238 | 5239 | restore-cursor@3.1.0: 5240 | dependencies: 5241 | onetime: 5.1.2 5242 | signal-exit: 3.0.7 5243 | 5244 | rfdc@1.3.0: {} 5245 | 5246 | rollup@3.21.0: 5247 | optionalDependencies: 5248 | fsevents: 2.3.3 5249 | 5250 | rxjs@7.8.0: 5251 | dependencies: 5252 | tslib: 2.5.0 5253 | 5254 | safe-buffer@5.1.2: {} 5255 | 5256 | safe-buffer@5.2.1: {} 5257 | 5258 | semver@5.7.2: {} 5259 | 5260 | semver@6.3.0: {} 5261 | 5262 | semver@7.5.0: 5263 | dependencies: 5264 | lru-cache: 6.0.0 5265 | 5266 | shebang-command@2.0.0: 5267 | dependencies: 5268 | shebang-regex: 3.0.0 5269 | 5270 | shebang-regex@3.0.0: {} 5271 | 5272 | signal-exit@3.0.7: {} 5273 | 5274 | sisteransi@1.0.5: {} 5275 | 5276 | slash@3.0.0: {} 5277 | 5278 | slice-ansi@3.0.0: 5279 | dependencies: 5280 | ansi-styles: 4.3.0 5281 | astral-regex: 2.0.0 5282 | is-fullwidth-code-point: 3.0.0 5283 | 5284 | slice-ansi@4.0.0: 5285 | dependencies: 5286 | ansi-styles: 4.3.0 5287 | astral-regex: 2.0.0 5288 | is-fullwidth-code-point: 3.0.0 5289 | 5290 | slice-ansi@5.0.0: 5291 | dependencies: 5292 | ansi-styles: 6.2.1 5293 | is-fullwidth-code-point: 4.0.0 5294 | 5295 | source-map-support@0.5.13: 5296 | dependencies: 5297 | buffer-from: 1.1.2 5298 | source-map: 0.6.1 5299 | 5300 | source-map@0.6.1: {} 5301 | 5302 | spdx-correct@3.2.0: 5303 | dependencies: 5304 | spdx-expression-parse: 3.0.1 5305 | spdx-license-ids: 3.0.13 5306 | 5307 | spdx-exceptions@2.3.0: {} 5308 | 5309 | spdx-expression-parse@3.0.1: 5310 | dependencies: 5311 | spdx-exceptions: 2.3.0 5312 | spdx-license-ids: 3.0.13 5313 | 5314 | spdx-license-ids@3.0.13: {} 5315 | 5316 | split2@3.2.2: 5317 | dependencies: 5318 | readable-stream: 3.6.2 5319 | 5320 | split@1.0.1: 5321 | dependencies: 5322 | through: 2.3.8 5323 | 5324 | sprintf-js@1.0.3: {} 5325 | 5326 | stack-utils@2.0.6: 5327 | dependencies: 5328 | escape-string-regexp: 2.0.0 5329 | 5330 | standard-version@9.5.0: 5331 | dependencies: 5332 | chalk: 2.4.2 5333 | conventional-changelog: 3.1.25 5334 | conventional-changelog-config-spec: 2.1.0 5335 | conventional-changelog-conventionalcommits: 4.6.3 5336 | conventional-recommended-bump: 6.1.0 5337 | detect-indent: 6.1.0 5338 | detect-newline: 3.1.0 5339 | dotgitignore: 2.1.0 5340 | figures: 3.2.0 5341 | find-up: 5.0.0 5342 | git-semver-tags: 4.1.1 5343 | semver: 7.5.0 5344 | stringify-package: 1.0.1 5345 | yargs: 16.2.0 5346 | 5347 | string-argv@0.3.1: {} 5348 | 5349 | string-length@4.0.2: 5350 | dependencies: 5351 | char-regex: 1.0.2 5352 | strip-ansi: 6.0.1 5353 | 5354 | string-width@4.2.3: 5355 | dependencies: 5356 | emoji-regex: 8.0.0 5357 | is-fullwidth-code-point: 3.0.0 5358 | strip-ansi: 6.0.1 5359 | 5360 | string-width@5.1.2: 5361 | dependencies: 5362 | eastasianwidth: 0.2.0 5363 | emoji-regex: 9.2.2 5364 | strip-ansi: 7.0.1 5365 | 5366 | string_decoder@1.1.1: 5367 | dependencies: 5368 | safe-buffer: 5.1.2 5369 | 5370 | string_decoder@1.3.0: 5371 | dependencies: 5372 | safe-buffer: 5.2.1 5373 | 5374 | stringify-package@1.0.1: {} 5375 | 5376 | strip-ansi@6.0.1: 5377 | dependencies: 5378 | ansi-regex: 5.0.1 5379 | 5380 | strip-ansi@7.0.1: 5381 | dependencies: 5382 | ansi-regex: 6.0.1 5383 | 5384 | strip-bom@3.0.0: {} 5385 | 5386 | strip-bom@4.0.0: {} 5387 | 5388 | strip-final-newline@2.0.0: {} 5389 | 5390 | strip-final-newline@3.0.0: {} 5391 | 5392 | strip-indent@3.0.0: 5393 | dependencies: 5394 | min-indent: 1.0.1 5395 | 5396 | strip-json-comments@3.1.1: {} 5397 | 5398 | supports-color@5.5.0: 5399 | dependencies: 5400 | has-flag: 3.0.0 5401 | 5402 | supports-color@7.2.0: 5403 | dependencies: 5404 | has-flag: 4.0.0 5405 | 5406 | supports-color@8.1.1: 5407 | dependencies: 5408 | has-flag: 4.0.0 5409 | 5410 | supports-preserve-symlinks-flag@1.0.0: {} 5411 | 5412 | test-exclude@6.0.0: 5413 | dependencies: 5414 | "@istanbuljs/schema": 0.1.3 5415 | glob: 7.2.3 5416 | minimatch: 3.1.2 5417 | 5418 | text-extensions@1.9.0: {} 5419 | 5420 | through2@2.0.5: 5421 | dependencies: 5422 | readable-stream: 2.3.8 5423 | xtend: 4.0.2 5424 | 5425 | through2@4.0.2: 5426 | dependencies: 5427 | readable-stream: 3.6.2 5428 | 5429 | through@2.3.8: {} 5430 | 5431 | tmpl@1.0.5: {} 5432 | 5433 | to-fast-properties@2.0.0: {} 5434 | 5435 | to-regex-range@5.0.1: 5436 | dependencies: 5437 | is-number: 7.0.0 5438 | 5439 | trim-newlines@3.0.1: {} 5440 | 5441 | ts-jest@29.1.0(@babel/core@7.21.4)(@jest/types@29.5.0)(babel-jest@29.5.0(@babel/core@7.21.4))(jest@29.5.0(@types/node@18.16.1))(typescript@5.0.4): 5442 | dependencies: 5443 | bs-logger: 0.2.6 5444 | fast-json-stable-stringify: 2.1.0 5445 | jest: 29.5.0(@types/node@18.16.1) 5446 | jest-util: 29.5.0 5447 | json5: 2.2.3 5448 | lodash.memoize: 4.1.2 5449 | make-error: 1.3.6 5450 | semver: 7.5.0 5451 | typescript: 5.0.4 5452 | yargs-parser: 21.1.1 5453 | optionalDependencies: 5454 | "@babel/core": 7.21.4 5455 | "@jest/types": 29.5.0 5456 | babel-jest: 29.5.0(@babel/core@7.21.4) 5457 | 5458 | ts-mockito@2.6.1: 5459 | dependencies: 5460 | lodash: 4.17.21 5461 | 5462 | tslib@2.5.0: {} 5463 | 5464 | type-detect@4.0.8: {} 5465 | 5466 | type-fest@0.18.1: {} 5467 | 5468 | type-fest@0.21.3: {} 5469 | 5470 | type-fest@0.6.0: {} 5471 | 5472 | type-fest@0.8.1: {} 5473 | 5474 | typedarray@0.0.6: {} 5475 | 5476 | typescript@5.0.4: {} 5477 | 5478 | uglify-js@3.17.4: 5479 | optional: true 5480 | 5481 | update-browserslist-db@1.0.11(browserslist@4.21.5): 5482 | dependencies: 5483 | browserslist: 4.21.5 5484 | escalade: 3.1.1 5485 | picocolors: 1.0.0 5486 | 5487 | util-deprecate@1.0.2: {} 5488 | 5489 | uuid@9.0.0: {} 5490 | 5491 | v8-to-istanbul@9.1.0: 5492 | dependencies: 5493 | "@jridgewell/trace-mapping": 0.3.18 5494 | "@types/istanbul-lib-coverage": 2.0.4 5495 | convert-source-map: 1.9.0 5496 | 5497 | validate-npm-package-license@3.0.4: 5498 | dependencies: 5499 | spdx-correct: 3.2.0 5500 | spdx-expression-parse: 3.0.1 5501 | 5502 | walker@1.0.8: 5503 | dependencies: 5504 | makeerror: 1.0.12 5505 | 5506 | which@2.0.2: 5507 | dependencies: 5508 | isexe: 2.0.0 5509 | 5510 | wordwrap@1.0.0: {} 5511 | 5512 | wrap-ansi@6.2.0: 5513 | dependencies: 5514 | ansi-styles: 4.3.0 5515 | string-width: 4.2.3 5516 | strip-ansi: 6.0.1 5517 | 5518 | wrap-ansi@7.0.0: 5519 | dependencies: 5520 | ansi-styles: 4.3.0 5521 | string-width: 4.2.3 5522 | strip-ansi: 6.0.1 5523 | 5524 | wrappy@1.0.2: {} 5525 | 5526 | write-file-atomic@4.0.2: 5527 | dependencies: 5528 | imurmurhash: 0.1.4 5529 | signal-exit: 3.0.7 5530 | 5531 | xtend@4.0.2: {} 5532 | 5533 | y18n@5.0.8: {} 5534 | 5535 | yallist@3.1.1: {} 5536 | 5537 | yallist@4.0.0: {} 5538 | 5539 | yaml@2.2.2: {} 5540 | 5541 | yargs-parser@20.2.9: {} 5542 | 5543 | yargs-parser@21.1.1: {} 5544 | 5545 | yargs@16.2.0: 5546 | dependencies: 5547 | cliui: 7.0.4 5548 | escalade: 3.1.1 5549 | get-caller-file: 2.0.5 5550 | require-directory: 2.1.1 5551 | string-width: 4.2.3 5552 | y18n: 5.0.8 5553 | yargs-parser: 20.2.9 5554 | 5555 | yargs@17.7.1: 5556 | dependencies: 5557 | cliui: 8.0.1 5558 | escalade: 3.1.1 5559 | get-caller-file: 2.0.5 5560 | require-directory: 2.1.1 5561 | string-width: 4.2.3 5562 | y18n: 5.0.8 5563 | yargs-parser: 21.1.1 5564 | 5565 | yocto-queue@0.1.0: {} 5566 | -------------------------------------------------------------------------------- /rollup.config.js: -------------------------------------------------------------------------------- 1 | import typescript from "@rollup/plugin-typescript"; 2 | import pkg from "./package.json" with { type: "json" }; 3 | 4 | export default { 5 | input: "src/index.ts", 6 | plugins: [typescript({ tsconfig: "./tsconfig.json" })], 7 | output: [ 8 | { file: pkg.main, format: "cjs", exports: "default" }, 9 | { file: pkg.module, format: "esm" }, 10 | ], 11 | external: [ 12 | ...Object.keys(pkg.dependencies || {}), 13 | ...Object.keys(pkg.peerDependencies || {}), 14 | ], 15 | }; 16 | -------------------------------------------------------------------------------- /src/CommandDelegator.ts: -------------------------------------------------------------------------------- 1 | import OnStar from "onstarjs"; 2 | import { Result } from "onstarjs/dist/types"; 3 | import { OnStarJsMethod } from "./types"; 4 | import { pause } from "./utils"; 5 | 6 | class CommandDelegator { 7 | private doorLockCurrentState: number; 8 | 9 | constructor( 10 | private onStar: OnStar, 11 | private log: Function, 12 | private hapCharacteristic: any, 13 | private doorsDefaultToUnlocked: boolean, 14 | ) { 15 | this.doorLockCurrentState = this.getDefaultLockState( 16 | this.hapCharacteristic.LockCurrentState, 17 | ); 18 | } 19 | 20 | async getFalse(_: OnStarJsMethod, reply: Function) { 21 | reply(null, false); 22 | } 23 | 24 | async setSwitch(method: OnStarJsMethod, on: boolean, reply: Function) { 25 | if (!on) { 26 | if (method === "start") { 27 | method = "cancelStart"; 28 | } else if (method === "alert") { 29 | method = "cancelAlert"; 30 | } else { 31 | reply(`${method}: Off Method Not Available`); 32 | 33 | return; 34 | } 35 | } 36 | 37 | reply(await this.makeRequest(method)); 38 | } 39 | 40 | async getDoorLockCurrentState(reply: Function) { 41 | reply(null, this.doorLockCurrentState); 42 | } 43 | 44 | async getDoorLockTargetState(reply: Function) { 45 | reply( 46 | null, 47 | this.getDefaultLockState(this.hapCharacteristic.LockTargetState), 48 | ); 49 | } 50 | 51 | async setDoorLockTargetState( 52 | lockService: any, 53 | targetState: any, 54 | reply: Function, 55 | ) { 56 | const isLockTarget = 57 | targetState === this.hapCharacteristic.LockTargetState.SECURED; 58 | 59 | const method = isLockTarget ? "lockDoor" : "unlockDoor"; 60 | 61 | const error = await this.makeRequest(method); 62 | 63 | if (!error) { 64 | this.doorLockCurrentState = isLockTarget 65 | ? this.hapCharacteristic.LockCurrentState.SECURED 66 | : this.hapCharacteristic.LockCurrentState.UNSECURED; 67 | } 68 | 69 | reply(error); 70 | 71 | await pause(5000); 72 | 73 | this.doorLockCurrentState = this.getDefaultLockState( 74 | this.hapCharacteristic.LockCurrentState, 75 | ); 76 | } 77 | 78 | private getDefaultLockState(hapCharacteristicState: any) { 79 | return this.doorsDefaultToUnlocked 80 | ? hapCharacteristicState.UNSECURED 81 | : hapCharacteristicState.SECURED; 82 | } 83 | 84 | private async makeRequest(method: OnStarJsMethod): Promise { 85 | this.log(`${method}: Requested`); 86 | 87 | try { 88 | let result: Result; 89 | 90 | result = await this.onStar[method](); 91 | 92 | this.log(`${method}: Finished`, result.response?.data); 93 | 94 | return null; 95 | } catch (e) { 96 | const errorMessage = `${method}: Error: ${ 97 | e instanceof Error ? e.message : "unknown error" 98 | }`; 99 | 100 | this.log(errorMessage); 101 | 102 | return errorMessage; 103 | } 104 | } 105 | } 106 | 107 | export default CommandDelegator; 108 | -------------------------------------------------------------------------------- /src/ConfigValidation.ts: -------------------------------------------------------------------------------- 1 | import { OnStarAccessoryConfig, OnStarAccessoryConfigKey } from "./types"; 2 | 3 | const REQUIRED_CONFIG_KEYS = [ 4 | OnStarAccessoryConfigKey.DeviceId, 5 | OnStarAccessoryConfigKey.Vin, 6 | OnStarAccessoryConfigKey.Username, 7 | OnStarAccessoryConfigKey.Password, 8 | OnStarAccessoryConfigKey.OnStarPin, 9 | OnStarAccessoryConfigKey.Name, 10 | ]; 11 | 12 | export function isValidConfig( 13 | config: OnStarAccessoryConfig, 14 | log: Function = () => {}, 15 | ) { 16 | const missingRequiredKeys: string[] = []; 17 | 18 | REQUIRED_CONFIG_KEYS.forEach((reqConfigKey) => { 19 | if ( 20 | typeof config[reqConfigKey] !== "string" || 21 | config[reqConfigKey] === "" 22 | ) { 23 | missingRequiredKeys.push(reqConfigKey); 24 | } 25 | }); 26 | 27 | if (missingRequiredKeys.length) { 28 | missingRequiredKeys.forEach((key) => 29 | log(`Config Error: Invalid or missing value for ${key}`), 30 | ); 31 | 32 | return false; 33 | } 34 | 35 | return true; 36 | } 37 | -------------------------------------------------------------------------------- /src/OnStarAccessory.ts: -------------------------------------------------------------------------------- 1 | import OnStar from "onstarjs"; 2 | import CommandDelegator from "./CommandDelegator"; 3 | import { isValidConfig } from "./ConfigValidation"; 4 | import { OnStarJsMethod, OnStarAccessoryConfig } from "./types"; 5 | 6 | class OnStarAccessory { 7 | private services: any[] = []; 8 | private commandDelegator?: CommandDelegator; 9 | 10 | constructor( 11 | private hapService: any, 12 | private hapCharacteristic: any, 13 | private log: Function, 14 | private config: OnStarAccessoryConfig, 15 | ) { 16 | if (!isValidConfig(config, log)) { 17 | log("Config Error: The provided configuration is not valid."); 18 | 19 | return; 20 | } 21 | 22 | this.commandDelegator = new CommandDelegator( 23 | OnStar.create({ 24 | deviceId: this.config.deviceId, 25 | vin: this.config.vin, 26 | username: this.config.username, 27 | password: this.config.password, 28 | onStarPin: this.config.onStarPin, 29 | checkRequestStatus: false, 30 | }), 31 | this.log, 32 | this.hapCharacteristic, 33 | this.config.doorsDefaultToUnlocked || false, 34 | ); 35 | 36 | const name = this.config.name; 37 | 38 | this.services.push(this.getSwitchService(`${name} Climate`, "start")); 39 | 40 | if (this.config.enableAlert) { 41 | this.services.push(this.getSwitchService(`${name} Alert`, "alert")); 42 | } 43 | 44 | if (this.config.enableCharger) { 45 | this.services.push( 46 | this.getSwitchService(`${name} Charger`, "chargeOverride"), 47 | ); 48 | } 49 | 50 | if (this.config.enableDoors) { 51 | this.services.push(this.getDoorLockService(`${name} Doors`)); 52 | } 53 | } 54 | 55 | getServices() { 56 | return this.services; 57 | } 58 | 59 | private getSwitchService(name: string, method: OnStarJsMethod) { 60 | const service = new this.hapService.Switch(name, method); 61 | 62 | if (!this.commandDelegator) { 63 | return service; 64 | } 65 | 66 | service 67 | .getCharacteristic(this.hapCharacteristic.On) 68 | .on( 69 | "get", 70 | this.commandDelegator.getFalse.bind(this.commandDelegator, method), 71 | ) 72 | .on( 73 | "set", 74 | this.commandDelegator.setSwitch.bind(this.commandDelegator, method), 75 | ); 76 | 77 | return service; 78 | } 79 | 80 | private getDoorLockService(name: string) { 81 | const service = new this.hapService.LockMechanism(name, "doors"); 82 | 83 | if (!this.commandDelegator) { 84 | return service; 85 | } 86 | 87 | service 88 | .getCharacteristic(this.hapCharacteristic.LockCurrentState) 89 | .on( 90 | "get", 91 | this.commandDelegator.getDoorLockCurrentState.bind( 92 | this.commandDelegator, 93 | ), 94 | ); 95 | 96 | service 97 | .getCharacteristic(this.hapCharacteristic.LockTargetState) 98 | .on( 99 | "get", 100 | this.commandDelegator.getDoorLockTargetState.bind( 101 | this.commandDelegator, 102 | ), 103 | ) 104 | .on( 105 | "set", 106 | this.commandDelegator.setDoorLockTargetState.bind( 107 | this.commandDelegator, 108 | service, 109 | ), 110 | ); 111 | 112 | return service; 113 | } 114 | } 115 | 116 | export default OnStarAccessory; 117 | -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- 1 | import OnStarAccessory from "./OnStarAccessory"; 2 | import { OnStarAccessoryConfig } from "./types"; 3 | 4 | export default function HomebridgeOnStar(homebridge: any) { 5 | homebridge.registerAccessory( 6 | "homebridge-onstar", 7 | "OnStar", 8 | OnStarAccessory.bind( 9 | OnStarAccessory, 10 | homebridge.hap.Service, 11 | homebridge.hap.Characteristic, 12 | ), 13 | ); 14 | } 15 | -------------------------------------------------------------------------------- /src/types.ts: -------------------------------------------------------------------------------- 1 | export type OnStarJsMethod = 2 | | "start" 3 | | "cancelStart" 4 | | "lockDoor" 5 | | "unlockDoor" 6 | | "alert" 7 | | "cancelAlert" 8 | | "chargeOverride"; 9 | 10 | export enum OnStarAccessoryConfigKey { 11 | DeviceId = "deviceId", 12 | Vin = "vin", 13 | Username = "username", 14 | Password = "password", 15 | OnStarPin = "onStarPin", 16 | Name = "name", 17 | EnableAlert = "enableAlert", 18 | EnableCharger = "enableCharger", 19 | EnableDoors = "enableDoors", 20 | DoorsDefaultToUnlocked = "doorsDefaultToUnlocked", 21 | } 22 | 23 | export type OnStarAccessoryConfig = { 24 | [OnStarAccessoryConfigKey.DeviceId]: string; 25 | [OnStarAccessoryConfigKey.Vin]: string; 26 | [OnStarAccessoryConfigKey.Username]: string; 27 | [OnStarAccessoryConfigKey.Password]: string; 28 | [OnStarAccessoryConfigKey.OnStarPin]: string; 29 | [OnStarAccessoryConfigKey.Name]: string; 30 | [OnStarAccessoryConfigKey.EnableAlert]?: boolean; 31 | [OnStarAccessoryConfigKey.EnableCharger]?: boolean; 32 | [OnStarAccessoryConfigKey.EnableDoors]?: boolean; 33 | [OnStarAccessoryConfigKey.DoorsDefaultToUnlocked]?: boolean; 34 | }; 35 | -------------------------------------------------------------------------------- /src/utils.ts: -------------------------------------------------------------------------------- 1 | export function pause(ms: number) { 2 | return new Promise((resolve) => { 3 | setTimeout(resolve, ms); 4 | }); 5 | } 6 | -------------------------------------------------------------------------------- /test/CommandDelegator.test.ts: -------------------------------------------------------------------------------- 1 | import { mock, instance, when } from "ts-mockito"; 2 | 3 | import OnStar from "onstarjs"; 4 | import { HapCharacteristic, HapService } from "./hapMocks"; 5 | import CommandDelegator from "../src/CommandDelegator"; 6 | jest.mock("onstarjs"); 7 | jest.mock("../src/utils"); 8 | 9 | let commandDelegator: CommandDelegator; 10 | let onStarMock = mock(OnStar); 11 | let onStarInstance = instance(onStarMock); 12 | 13 | function createCommandDelegator(doorsDefaultToUnlocked: boolean = false) { 14 | return new CommandDelegator( 15 | onStarInstance, 16 | () => {}, 17 | HapCharacteristic, 18 | doorsDefaultToUnlocked, 19 | ); 20 | } 21 | 22 | const onStarJsResponseInProgress = { 23 | status: "success", 24 | response: { 25 | data: "In Progress", 26 | }, 27 | }; 28 | 29 | describe("CommandDelegator", () => { 30 | beforeEach(() => { 31 | commandDelegator = createCommandDelegator(); 32 | }); 33 | 34 | test("getFalse", (done) => { 35 | commandDelegator.getFalse("start", (error: string, value: boolean) => { 36 | expect(error).toBeNull(); 37 | expect(value).toBeFalsy(); 38 | done(); 39 | }); 40 | }); 41 | 42 | test("getDoorLockCurrentState", (done) => { 43 | commandDelegator.getDoorLockCurrentState( 44 | (error: string | null, state: any) => { 45 | expect(error).toBeNull(); 46 | expect(state).toEqual(HapCharacteristic.LockCurrentState.SECURED); 47 | done(); 48 | }, 49 | ); 50 | }); 51 | 52 | test("getDoorLockTargetState", (done) => { 53 | commandDelegator.getDoorLockTargetState( 54 | (error: string | null, state: any) => { 55 | expect(error).toBeNull(); 56 | expect(state).toEqual(HapCharacteristic.LockTargetState.SECURED); 57 | done(); 58 | }, 59 | ); 60 | }); 61 | 62 | test("getDoorLockCurrentState - defaultUnlocked", (done) => { 63 | commandDelegator = createCommandDelegator(true); 64 | 65 | commandDelegator.getDoorLockCurrentState( 66 | (error: string | null, state: any) => { 67 | expect(error).toBeNull(); 68 | expect(state).toEqual(HapCharacteristic.LockCurrentState.UNSECURED); 69 | done(); 70 | }, 71 | ); 72 | }); 73 | 74 | test("getDoorLockTargetState - defaultUnlocked", (done) => { 75 | commandDelegator = createCommandDelegator(true); 76 | 77 | commandDelegator.getDoorLockTargetState( 78 | (error: string | null, state: any) => { 79 | expect(error).toBeNull(); 80 | expect(state).toEqual(HapCharacteristic.LockTargetState.UNSECURED); 81 | done(); 82 | }, 83 | ); 84 | }); 85 | 86 | test("setDoorLockTargetState - SECURED", (done) => { 87 | when(onStarMock.lockDoor()).thenResolve(onStarJsResponseInProgress); 88 | 89 | commandDelegator.setDoorLockTargetState( 90 | HapService.LockMechanism("lock"), 91 | HapCharacteristic.LockTargetState.SECURED, 92 | (error: string) => { 93 | expect(error).toBeNull(); 94 | done(); 95 | }, 96 | ); 97 | }); 98 | 99 | test("setDoorLockTargetState - UNSECURED", (done) => { 100 | when(onStarMock.unlockDoor()).thenResolve(onStarJsResponseInProgress); 101 | 102 | commandDelegator.setDoorLockTargetState( 103 | HapService.LockMechanism("unlock"), 104 | HapCharacteristic.LockTargetState.UNSECURED, 105 | (error: string) => { 106 | expect(error).toBeNull(); 107 | done(); 108 | }, 109 | ); 110 | }); 111 | 112 | test("setDoorLockTargetState - Error", (done) => { 113 | when(onStarMock.lockDoor()).thenThrow( 114 | new Error("setDoorLockTargetState Failure"), 115 | ); 116 | 117 | commandDelegator.setDoorLockTargetState( 118 | HapService.LockMechanism("lock"), 119 | HapCharacteristic.LockTargetState.SECURED, 120 | (error: string) => { 121 | expect(error).toBeDefined; 122 | expect(error).not.toBeNull; 123 | done(); 124 | }, 125 | ); 126 | }); 127 | 128 | test("setSwitch - Start On", (done) => { 129 | when(onStarMock.start()).thenResolve(onStarJsResponseInProgress); 130 | 131 | commandDelegator.setSwitch("start", true, (error: string) => { 132 | expect(error).toBeNull(); 133 | done(); 134 | }); 135 | }); 136 | 137 | test("setSwitch - Start Off", (done) => { 138 | when(onStarMock.cancelStart()).thenResolve(onStarJsResponseInProgress); 139 | 140 | commandDelegator.setSwitch("start", false, (error: string) => { 141 | expect(error).toBeNull(); 142 | done(); 143 | }); 144 | }); 145 | 146 | test("setSwitch - Alert On", (done) => { 147 | when(onStarMock.alert()).thenResolve(onStarJsResponseInProgress); 148 | 149 | commandDelegator.setSwitch("alert", true, (error: string) => { 150 | expect(error).toBeNull(); 151 | done(); 152 | }); 153 | }); 154 | 155 | test("setSwitch - Alert Off", (done) => { 156 | when(onStarMock.cancelAlert()).thenResolve(onStarJsResponseInProgress); 157 | 158 | commandDelegator.setSwitch("alert", false, (error: string) => { 159 | expect(error).toBeNull(); 160 | done(); 161 | }); 162 | }); 163 | 164 | test("setSwitch - Charger On", (done) => { 165 | when(onStarMock.chargeOverride()).thenResolve(onStarJsResponseInProgress); 166 | 167 | commandDelegator.setSwitch("chargeOverride", true, (error: string) => { 168 | expect(error).toBeNull(); 169 | done(); 170 | }); 171 | }); 172 | 173 | test("setSwitch - Charger Off", (done) => { 174 | commandDelegator.setSwitch("chargeOverride", false, (error: string) => { 175 | expect(error).toEqual("chargeOverride: Off Method Not Available"); 176 | done(); 177 | }); 178 | }); 179 | 180 | test("setSwitchError", (done) => { 181 | when(onStarMock.start()).thenThrow(new Error("Start Failure")); 182 | 183 | commandDelegator.setSwitch("start", true, (error: string) => { 184 | expect(error).toBeDefined; 185 | expect(error).not.toBeNull; 186 | done(); 187 | }); 188 | }); 189 | }); 190 | -------------------------------------------------------------------------------- /test/ConfigValidation.test.ts: -------------------------------------------------------------------------------- 1 | import { isValidConfig } from "./../src/ConfigValidation"; 2 | import { OnStarAccessoryConfig, OnStarAccessoryConfigKey } from "../src/types"; 3 | 4 | let testAccessoryConfig: OnStarAccessoryConfig; 5 | 6 | describe("isValidConfig", () => { 7 | beforeEach(() => { 8 | testAccessoryConfig = { 9 | [OnStarAccessoryConfigKey.DeviceId]: 10 | "742249ce-18e0-4c82-8bb2-9975367a7631", 11 | [OnStarAccessoryConfigKey.Vin]: "1G2ZF58B774109863", 12 | [OnStarAccessoryConfigKey.Username]: "foo@bar.com", 13 | [OnStarAccessoryConfigKey.Password]: "p@ssw0rd", 14 | [OnStarAccessoryConfigKey.OnStarPin]: "1234", 15 | [OnStarAccessoryConfigKey.Name]: "Car", 16 | }; 17 | }); 18 | 19 | test("Missing Required Key", () => { 20 | // @ts-ignore 21 | delete testAccessoryConfig[OnStarAccessoryConfigKey.DeviceId]; 22 | 23 | expect(isValidConfig(testAccessoryConfig)).toEqual(false); 24 | }); 25 | 26 | test("Invalid key", () => { 27 | testAccessoryConfig[OnStarAccessoryConfigKey.DeviceId] = ""; 28 | 29 | expect(isValidConfig(testAccessoryConfig)).toEqual(false); 30 | }); 31 | 32 | test("Valid Config", () => { 33 | expect(isValidConfig(testAccessoryConfig)).toEqual(true); 34 | }); 35 | }); 36 | -------------------------------------------------------------------------------- /test/OnStarAccessory.test.ts: -------------------------------------------------------------------------------- 1 | import { HapCharacteristic, HapService } from "./hapMocks"; 2 | import OnStarAccessory from "../src/OnStarAccessory"; 3 | import { OnStarAccessoryConfig, OnStarAccessoryConfigKey } from "../src/types"; 4 | jest.mock("../src/CommandDelegator"); 5 | 6 | const TestAccessoryConfig: OnStarAccessoryConfig = { 7 | [OnStarAccessoryConfigKey.DeviceId]: "742249ce-18e0-4c82-8bb2-9975367a7631", 8 | [OnStarAccessoryConfigKey.Vin]: "1G2ZF58B774109863", 9 | [OnStarAccessoryConfigKey.Username]: "foo@bar.com", 10 | [OnStarAccessoryConfigKey.Password]: "p@ssw0rd", 11 | [OnStarAccessoryConfigKey.OnStarPin]: "1234", 12 | [OnStarAccessoryConfigKey.Name]: "Car", 13 | }; 14 | 15 | let onStarAccessory: OnStarAccessory; 16 | 17 | function createOnStarAccessory(config: OnStarAccessoryConfig): OnStarAccessory { 18 | return new OnStarAccessory(HapService, HapCharacteristic, () => {}, config); 19 | } 20 | 21 | describe("OnStarAccessory", () => { 22 | test("Invalid Config", () => { 23 | onStarAccessory = createOnStarAccessory({ 24 | ...TestAccessoryConfig, 25 | username: "", 26 | }); 27 | 28 | expect(onStarAccessory.getServices().length).toEqual(0); 29 | }); 30 | 31 | test("Default Config", () => { 32 | onStarAccessory = createOnStarAccessory(TestAccessoryConfig); 33 | 34 | expect(onStarAccessory.getServices().length).toEqual(1); 35 | }); 36 | 37 | test("Alert Enabled", () => { 38 | onStarAccessory = createOnStarAccessory({ 39 | ...TestAccessoryConfig, 40 | enableAlert: true, 41 | }); 42 | 43 | expect(onStarAccessory.getServices().length).toEqual(2); 44 | }); 45 | 46 | test("Charger Enabled", () => { 47 | onStarAccessory = createOnStarAccessory({ 48 | ...TestAccessoryConfig, 49 | enableCharger: true, 50 | }); 51 | 52 | expect(onStarAccessory.getServices().length).toEqual(2); 53 | }); 54 | 55 | test("Doors Enabled", () => { 56 | onStarAccessory = createOnStarAccessory({ 57 | ...TestAccessoryConfig, 58 | enableDoors: true, 59 | }); 60 | 61 | expect(onStarAccessory.getServices().length).toEqual(2); 62 | }); 63 | }); 64 | -------------------------------------------------------------------------------- /test/hapMocks.ts: -------------------------------------------------------------------------------- 1 | import { EventEmitter } from "events"; 2 | 3 | const HapCharacteristic = { 4 | On: { 5 | create() { 6 | return new EventEmitter(); 7 | }, 8 | }, 9 | LockCurrentState: { 10 | UNSECURED: 0, 11 | SECURED: 1, 12 | create() { 13 | return new EventEmitter(); 14 | }, 15 | }, 16 | LockTargetState: { 17 | UNSECURED: 10, 18 | SECURED: 11, 19 | create() { 20 | return new EventEmitter(); 21 | }, 22 | }, 23 | }; 24 | 25 | function mockService(name: string): any { 26 | return { 27 | name, 28 | characteristic: null, 29 | setCharacteristic() {}, 30 | getCharacteristic(hapCharacteristic: any) { 31 | this.characteristic = hapCharacteristic.create(); 32 | 33 | return this.characteristic; 34 | }, 35 | }; 36 | } 37 | 38 | const HapService = { 39 | Switch: mockService, 40 | LockMechanism: mockService, 41 | }; 42 | 43 | export { HapCharacteristic, HapService }; 44 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "ES6", 4 | "strict": true, 5 | "esModuleInterop": true, 6 | "declaration": true, 7 | "outDir": "dist", 8 | "declarationDir": ".", 9 | "moduleResolution": "node", 10 | "resolveJsonModule": true 11 | }, 12 | "include": ["src/**/*"], 13 | "exclude": ["node_modules", "test", "dist"] 14 | } 15 | --------------------------------------------------------------------------------