feat: implement server logic

+5
.gitignore
··· 1 + node_modules/ 2 + data/ 3 + generated/ 4 + .DS_Store 5 + coverage/
-9
Dockerfile
··· 1 - FROM node:18 2 - WORKDIR /usr/src/app 3 - COPY package*.json ./ 4 - RUN npm install 5 - COPY . . 6 - RUN mkdir -p /usr/src/app/data && chmod 777 /usr/src/app/data 7 - USER node 8 - EXPOSE 3001 9 - CMD ["node", "server.js"]
+25
compose.yaml
··· 1 + services: 2 + banking-api: 3 + build: ./server 4 + container_name: banking-api-server 5 + ports: 6 + - "3001:3001" 7 + environment: 8 + CORS_ORIGIN: http://localhost 9 + DATABASE_URL: ./data/banking.db 10 + JWT_REFRESH_SECRET: refreshsupersecretkey 11 + JWT_SECRET: supersecretkey 12 + PORT: 3001 13 + volumes: 14 + - ./data:/usr/src/app/data 15 + - ./server/src:/usr/src/app/src 16 + restart: unless-stopped 17 + develop: 18 + watch: 19 + - action: sync 20 + path: ./server/src 21 + target: /usr/src/app/src 22 + ignore: 23 + - node_modules/ 24 + - action: rebuild 25 + path: package.json
data/.DS_Store

This is a binary file and will not be displayed.

-2447
package-lock.json
··· 7 7 "": { 8 8 "name": "bankingmockapi", 9 9 "version": "1.0.0", 10 - "license": "ISC", 11 - "dependencies": { 12 - "bcryptjs": "^2.4.3", 13 - "body-parser": "^1.20.2", 14 - "cors": "^2.8.5", 15 - "express": "^4.21.2", 16 - "jsonwebtoken": "^9.0.2", 17 - "sqlite3": "^5.1.6" 18 - } 19 - }, 20 - "node_modules/@gar/promisify": { 21 - "version": "1.1.3", 22 - "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz", 23 - "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==", 24 - "license": "MIT", 25 - "optional": true 26 - }, 27 - "node_modules/@npmcli/fs": { 28 - "version": "1.1.1", 29 - "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-1.1.1.tgz", 30 - "integrity": "sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==", 31 - "license": "ISC", 32 - "optional": true, 33 - "dependencies": { 34 - "@gar/promisify": "^1.0.1", 35 - "semver": "^7.3.5" 36 - } 37 - }, 38 - "node_modules/@npmcli/move-file": { 39 - "version": "1.1.2", 40 - "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz", 41 - "integrity": "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==", 42 - "deprecated": "This functionality has been moved to @npmcli/fs", 43 - "license": "MIT", 44 - "optional": true, 45 - "dependencies": { 46 - "mkdirp": "^1.0.4", 47 - "rimraf": "^3.0.2" 48 - }, 49 - "engines": { 50 - "node": ">=10" 51 - } 52 - }, 53 - "node_modules/@tootallnate/once": { 54 - "version": "1.1.2", 55 - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", 56 - "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", 57 - "license": "MIT", 58 - "optional": true, 59 - "engines": { 60 - "node": ">= 6" 61 - } 62 - }, 63 - "node_modules/abbrev": { 64 - "version": "1.1.1", 65 - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", 66 - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", 67 - "license": "ISC", 68 - "optional": true 69 - }, 70 - "node_modules/accepts": { 71 - "version": "1.3.8", 72 - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", 73 - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", 74 - "license": "MIT", 75 - "dependencies": { 76 - "mime-types": "~2.1.34", 77 - "negotiator": "0.6.3" 78 - }, 79 - "engines": { 80 - "node": ">= 0.6" 81 - } 82 - }, 83 - "node_modules/agent-base": { 84 - "version": "6.0.2", 85 - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", 86 - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", 87 - "license": "MIT", 88 - "optional": true, 89 - "dependencies": { 90 - "debug": "4" 91 - }, 92 - "engines": { 93 - "node": ">= 6.0.0" 94 - } 95 - }, 96 - "node_modules/agent-base/node_modules/debug": { 97 - "version": "4.4.1", 98 - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", 99 - "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", 100 - "license": "MIT", 101 - "optional": true, 102 - "dependencies": { 103 - "ms": "^2.1.3" 104 - }, 105 - "engines": { 106 - "node": ">=6.0" 107 - }, 108 - "peerDependenciesMeta": { 109 - "supports-color": { 110 - "optional": true 111 - } 112 - } 113 - }, 114 - "node_modules/agent-base/node_modules/ms": { 115 - "version": "2.1.3", 116 - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", 117 - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", 118 - "license": "MIT", 119 - "optional": true 120 - }, 121 - "node_modules/agentkeepalive": { 122 - "version": "4.6.0", 123 - "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.6.0.tgz", 124 - "integrity": "sha512-kja8j7PjmncONqaTsB8fQ+wE2mSU2DJ9D4XKoJ5PFWIdRMa6SLSN1ff4mOr4jCbfRSsxR4keIiySJU0N9T5hIQ==", 125 - "license": "MIT", 126 - "optional": true, 127 - "dependencies": { 128 - "humanize-ms": "^1.2.1" 129 - }, 130 - "engines": { 131 - "node": ">= 8.0.0" 132 - } 133 - }, 134 - "node_modules/aggregate-error": { 135 - "version": "3.1.0", 136 - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", 137 - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", 138 - "license": "MIT", 139 - "optional": true, 140 - "dependencies": { 141 - "clean-stack": "^2.0.0", 142 - "indent-string": "^4.0.0" 143 - }, 144 - "engines": { 145 - "node": ">=8" 146 - } 147 - }, 148 - "node_modules/ansi-regex": { 149 - "version": "5.0.1", 150 - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 151 - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", 152 - "license": "MIT", 153 - "optional": true, 154 - "engines": { 155 - "node": ">=8" 156 - } 157 - }, 158 - "node_modules/aproba": { 159 - "version": "2.1.0", 160 - "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.1.0.tgz", 161 - "integrity": "sha512-tLIEcj5GuR2RSTnxNKdkK0dJ/GrC7P38sUkiDmDuHfsHmbagTFAxDVIBltoklXEVIQ/f14IL8IMJ5pn9Hez1Ew==", 162 - "license": "ISC", 163 - "optional": true 164 - }, 165 - "node_modules/are-we-there-yet": { 166 - "version": "3.0.1", 167 - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", 168 - "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", 169 - "deprecated": "This package is no longer supported.", 170 - "license": "ISC", 171 - "optional": true, 172 - "dependencies": { 173 - "delegates": "^1.0.0", 174 - "readable-stream": "^3.6.0" 175 - }, 176 - "engines": { 177 - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" 178 - } 179 - }, 180 - "node_modules/array-flatten": { 181 - "version": "1.1.1", 182 - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", 183 - "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", 184 - "license": "MIT" 185 - }, 186 - "node_modules/balanced-match": { 187 - "version": "1.0.2", 188 - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", 189 - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", 190 - "license": "MIT", 191 - "optional": true 192 - }, 193 - "node_modules/base64-js": { 194 - "version": "1.5.1", 195 - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", 196 - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", 197 - "funding": [ 198 - { 199 - "type": "github", 200 - "url": "https://github.com/sponsors/feross" 201 - }, 202 - { 203 - "type": "patreon", 204 - "url": "https://www.patreon.com/feross" 205 - }, 206 - { 207 - "type": "consulting", 208 - "url": "https://feross.org/support" 209 - } 210 - ], 211 - "license": "MIT" 212 - }, 213 - "node_modules/bcryptjs": { 214 - "version": "2.4.3", 215 - "resolved": "https://registry.npmjs.org/bcryptjs/-/bcryptjs-2.4.3.tgz", 216 - "integrity": "sha512-V/Hy/X9Vt7f3BbPJEi8BdVFMByHi+jNXrYkW3huaybV/kQ0KJg0Y6PkEMbn+zeT+i+SiKZ/HMqJGIIt4LZDqNQ==", 217 - "license": "MIT" 218 - }, 219 - "node_modules/bindings": { 220 - "version": "1.5.0", 221 - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", 222 - "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", 223 - "license": "MIT", 224 - "dependencies": { 225 - "file-uri-to-path": "1.0.0" 226 - } 227 - }, 228 - "node_modules/bl": { 229 - "version": "4.1.0", 230 - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", 231 - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", 232 - "license": "MIT", 233 - "dependencies": { 234 - "buffer": "^5.5.0", 235 - "inherits": "^2.0.4", 236 - "readable-stream": "^3.4.0" 237 - } 238 - }, 239 - "node_modules/body-parser": { 240 - "version": "1.20.3", 241 - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz", 242 - "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==", 243 - "license": "MIT", 244 - "dependencies": { 245 - "bytes": "3.1.2", 246 - "content-type": "~1.0.5", 247 - "debug": "2.6.9", 248 - "depd": "2.0.0", 249 - "destroy": "1.2.0", 250 - "http-errors": "2.0.0", 251 - "iconv-lite": "0.4.24", 252 - "on-finished": "2.4.1", 253 - "qs": "6.13.0", 254 - "raw-body": "2.5.2", 255 - "type-is": "~1.6.18", 256 - "unpipe": "1.0.0" 257 - }, 258 - "engines": { 259 - "node": ">= 0.8", 260 - "npm": "1.2.8000 || >= 1.4.16" 261 - } 262 - }, 263 - "node_modules/brace-expansion": { 264 - "version": "1.1.12", 265 - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", 266 - "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", 267 - "license": "MIT", 268 - "optional": true, 269 - "dependencies": { 270 - "balanced-match": "^1.0.0", 271 - "concat-map": "0.0.1" 272 - } 273 - }, 274 - "node_modules/buffer": { 275 - "version": "5.7.1", 276 - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", 277 - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", 278 - "funding": [ 279 - { 280 - "type": "github", 281 - "url": "https://github.com/sponsors/feross" 282 - }, 283 - { 284 - "type": "patreon", 285 - "url": "https://www.patreon.com/feross" 286 - }, 287 - { 288 - "type": "consulting", 289 - "url": "https://feross.org/support" 290 - } 291 - ], 292 - "license": "MIT", 293 - "dependencies": { 294 - "base64-js": "^1.3.1", 295 - "ieee754": "^1.1.13" 296 - } 297 - }, 298 - "node_modules/buffer-equal-constant-time": { 299 - "version": "1.0.1", 300 - "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", 301 - "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==", 302 - "license": "BSD-3-Clause" 303 - }, 304 - "node_modules/bytes": { 305 - "version": "3.1.2", 306 - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", 307 - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", 308 - "license": "MIT", 309 - "engines": { 310 - "node": ">= 0.8" 311 - } 312 - }, 313 - "node_modules/cacache": { 314 - "version": "15.3.0", 315 - "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz", 316 - "integrity": "sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==", 317 - "license": "ISC", 318 - "optional": true, 319 - "dependencies": { 320 - "@npmcli/fs": "^1.0.0", 321 - "@npmcli/move-file": "^1.0.1", 322 - "chownr": "^2.0.0", 323 - "fs-minipass": "^2.0.0", 324 - "glob": "^7.1.4", 325 - "infer-owner": "^1.0.4", 326 - "lru-cache": "^6.0.0", 327 - "minipass": "^3.1.1", 328 - "minipass-collect": "^1.0.2", 329 - "minipass-flush": "^1.0.5", 330 - "minipass-pipeline": "^1.2.2", 331 - "mkdirp": "^1.0.3", 332 - "p-map": "^4.0.0", 333 - "promise-inflight": "^1.0.1", 334 - "rimraf": "^3.0.2", 335 - "ssri": "^8.0.1", 336 - "tar": "^6.0.2", 337 - "unique-filename": "^1.1.1" 338 - }, 339 - "engines": { 340 - "node": ">= 10" 341 - } 342 - }, 343 - "node_modules/call-bind-apply-helpers": { 344 - "version": "1.0.2", 345 - "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", 346 - "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", 347 - "license": "MIT", 348 - "dependencies": { 349 - "es-errors": "^1.3.0", 350 - "function-bind": "^1.1.2" 351 - }, 352 - "engines": { 353 - "node": ">= 0.4" 354 - } 355 - }, 356 - "node_modules/call-bound": { 357 - "version": "1.0.4", 358 - "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", 359 - "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", 360 - "license": "MIT", 361 - "dependencies": { 362 - "call-bind-apply-helpers": "^1.0.2", 363 - "get-intrinsic": "^1.3.0" 364 - }, 365 - "engines": { 366 - "node": ">= 0.4" 367 - }, 368 - "funding": { 369 - "url": "https://github.com/sponsors/ljharb" 370 - } 371 - }, 372 - "node_modules/chownr": { 373 - "version": "2.0.0", 374 - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", 375 - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", 376 - "license": "ISC", 377 - "engines": { 378 - "node": ">=10" 379 - } 380 - }, 381 - "node_modules/clean-stack": { 382 - "version": "2.2.0", 383 - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", 384 - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", 385 - "license": "MIT", 386 - "optional": true, 387 - "engines": { 388 - "node": ">=6" 389 - } 390 - }, 391 - "node_modules/color-support": { 392 - "version": "1.1.3", 393 - "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", 394 - "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", 395 - "license": "ISC", 396 - "optional": true, 397 - "bin": { 398 - "color-support": "bin.js" 399 - } 400 - }, 401 - "node_modules/concat-map": { 402 - "version": "0.0.1", 403 - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 404 - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", 405 - "license": "MIT", 406 - "optional": true 407 - }, 408 - "node_modules/console-control-strings": { 409 - "version": "1.1.0", 410 - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", 411 - "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", 412 - "license": "ISC", 413 - "optional": true 414 - }, 415 - "node_modules/content-disposition": { 416 - "version": "0.5.4", 417 - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", 418 - "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", 419 - "license": "MIT", 420 - "dependencies": { 421 - "safe-buffer": "5.2.1" 422 - }, 423 - "engines": { 424 - "node": ">= 0.6" 425 - } 426 - }, 427 - "node_modules/content-type": { 428 - "version": "1.0.5", 429 - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", 430 - "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", 431 - "license": "MIT", 432 - "engines": { 433 - "node": ">= 0.6" 434 - } 435 - }, 436 - "node_modules/cookie": { 437 - "version": "0.7.1", 438 - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.1.tgz", 439 - "integrity": "sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==", 440 - "license": "MIT", 441 - "engines": { 442 - "node": ">= 0.6" 443 - } 444 - }, 445 - "node_modules/cookie-signature": { 446 - "version": "1.0.6", 447 - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", 448 - "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", 449 - "license": "MIT" 450 - }, 451 - "node_modules/cors": { 452 - "version": "2.8.5", 453 - "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", 454 - "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", 455 - "license": "MIT", 456 - "dependencies": { 457 - "object-assign": "^4", 458 - "vary": "^1" 459 - }, 460 - "engines": { 461 - "node": ">= 0.10" 462 - } 463 - }, 464 - "node_modules/debug": { 465 - "version": "2.6.9", 466 - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", 467 - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", 468 - "license": "MIT", 469 - "dependencies": { 470 - "ms": "2.0.0" 471 - } 472 - }, 473 - "node_modules/decompress-response": { 474 - "version": "6.0.0", 475 - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", 476 - "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", 477 - "license": "MIT", 478 - "dependencies": { 479 - "mimic-response": "^3.1.0" 480 - }, 481 - "engines": { 482 - "node": ">=10" 483 - }, 484 - "funding": { 485 - "url": "https://github.com/sponsors/sindresorhus" 486 - } 487 - }, 488 - "node_modules/deep-extend": { 489 - "version": "0.6.0", 490 - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", 491 - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", 492 - "license": "MIT", 493 - "engines": { 494 - "node": ">=4.0.0" 495 - } 496 - }, 497 - "node_modules/delegates": { 498 - "version": "1.0.0", 499 - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", 500 - "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", 501 - "license": "MIT", 502 - "optional": true 503 - }, 504 - "node_modules/depd": { 505 - "version": "2.0.0", 506 - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", 507 - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", 508 - "license": "MIT", 509 - "engines": { 510 - "node": ">= 0.8" 511 - } 512 - }, 513 - "node_modules/destroy": { 514 - "version": "1.2.0", 515 - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", 516 - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", 517 - "license": "MIT", 518 - "engines": { 519 - "node": ">= 0.8", 520 - "npm": "1.2.8000 || >= 1.4.16" 521 - } 522 - }, 523 - "node_modules/detect-libc": { 524 - "version": "2.0.4", 525 - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.4.tgz", 526 - "integrity": "sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==", 527 - "license": "Apache-2.0", 528 - "engines": { 529 - "node": ">=8" 530 - } 531 - }, 532 - "node_modules/dunder-proto": { 533 - "version": "1.0.1", 534 - "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", 535 - "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", 536 - "license": "MIT", 537 - "dependencies": { 538 - "call-bind-apply-helpers": "^1.0.1", 539 - "es-errors": "^1.3.0", 540 - "gopd": "^1.2.0" 541 - }, 542 - "engines": { 543 - "node": ">= 0.4" 544 - } 545 - }, 546 - "node_modules/ecdsa-sig-formatter": { 547 - "version": "1.0.11", 548 - "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", 549 - "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", 550 - "license": "Apache-2.0", 551 - "dependencies": { 552 - "safe-buffer": "^5.0.1" 553 - } 554 - }, 555 - "node_modules/ee-first": { 556 - "version": "1.1.1", 557 - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", 558 - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", 559 - "license": "MIT" 560 - }, 561 - "node_modules/emoji-regex": { 562 - "version": "8.0.0", 563 - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", 564 - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", 565 - "license": "MIT", 566 - "optional": true 567 - }, 568 - "node_modules/encodeurl": { 569 - "version": "2.0.0", 570 - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", 571 - "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", 572 - "license": "MIT", 573 - "engines": { 574 - "node": ">= 0.8" 575 - } 576 - }, 577 - "node_modules/encoding": { 578 - "version": "0.1.13", 579 - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", 580 - "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", 581 - "license": "MIT", 582 - "optional": true, 583 - "dependencies": { 584 - "iconv-lite": "^0.6.2" 585 - } 586 - }, 587 - "node_modules/encoding/node_modules/iconv-lite": { 588 - "version": "0.6.3", 589 - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", 590 - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", 591 - "license": "MIT", 592 - "optional": true, 593 - "dependencies": { 594 - "safer-buffer": ">= 2.1.2 < 3.0.0" 595 - }, 596 - "engines": { 597 - "node": ">=0.10.0" 598 - } 599 - }, 600 - "node_modules/end-of-stream": { 601 - "version": "1.4.5", 602 - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.5.tgz", 603 - "integrity": "sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==", 604 - "license": "MIT", 605 - "dependencies": { 606 - "once": "^1.4.0" 607 - } 608 - }, 609 - "node_modules/env-paths": { 610 - "version": "2.2.1", 611 - "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", 612 - "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", 613 - "license": "MIT", 614 - "optional": true, 615 - "engines": { 616 - "node": ">=6" 617 - } 618 - }, 619 - "node_modules/err-code": { 620 - "version": "2.0.3", 621 - "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", 622 - "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", 623 - "license": "MIT", 624 - "optional": true 625 - }, 626 - "node_modules/es-define-property": { 627 - "version": "1.0.1", 628 - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", 629 - "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", 630 - "license": "MIT", 631 - "engines": { 632 - "node": ">= 0.4" 633 - } 634 - }, 635 - "node_modules/es-errors": { 636 - "version": "1.3.0", 637 - "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", 638 - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", 639 - "license": "MIT", 640 - "engines": { 641 - "node": ">= 0.4" 642 - } 643 - }, 644 - "node_modules/es-object-atoms": { 645 - "version": "1.1.1", 646 - "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", 647 - "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", 648 - "license": "MIT", 649 - "dependencies": { 650 - "es-errors": "^1.3.0" 651 - }, 652 - "engines": { 653 - "node": ">= 0.4" 654 - } 655 - }, 656 - "node_modules/escape-html": { 657 - "version": "1.0.3", 658 - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", 659 - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", 660 - "license": "MIT" 661 - }, 662 - "node_modules/etag": { 663 - "version": "1.8.1", 664 - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", 665 - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", 666 - "license": "MIT", 667 - "engines": { 668 - "node": ">= 0.6" 669 - } 670 - }, 671 - "node_modules/expand-template": { 672 - "version": "2.0.3", 673 - "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", 674 - "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==", 675 - "license": "(MIT OR WTFPL)", 676 - "engines": { 677 - "node": ">=6" 678 - } 679 - }, 680 - "node_modules/express": { 681 - "version": "4.21.2", 682 - "resolved": "https://registry.npmjs.org/express/-/express-4.21.2.tgz", 683 - "integrity": "sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==", 684 - "license": "MIT", 685 - "dependencies": { 686 - "accepts": "~1.3.8", 687 - "array-flatten": "1.1.1", 688 - "body-parser": "1.20.3", 689 - "content-disposition": "0.5.4", 690 - "content-type": "~1.0.4", 691 - "cookie": "0.7.1", 692 - "cookie-signature": "1.0.6", 693 - "debug": "2.6.9", 694 - "depd": "2.0.0", 695 - "encodeurl": "~2.0.0", 696 - "escape-html": "~1.0.3", 697 - "etag": "~1.8.1", 698 - "finalhandler": "1.3.1", 699 - "fresh": "0.5.2", 700 - "http-errors": "2.0.0", 701 - "merge-descriptors": "1.0.3", 702 - "methods": "~1.1.2", 703 - "on-finished": "2.4.1", 704 - "parseurl": "~1.3.3", 705 - "path-to-regexp": "0.1.12", 706 - "proxy-addr": "~2.0.7", 707 - "qs": "6.13.0", 708 - "range-parser": "~1.2.1", 709 - "safe-buffer": "5.2.1", 710 - "send": "0.19.0", 711 - "serve-static": "1.16.2", 712 - "setprototypeof": "1.2.0", 713 - "statuses": "2.0.1", 714 - "type-is": "~1.6.18", 715 - "utils-merge": "1.0.1", 716 - "vary": "~1.1.2" 717 - }, 718 - "engines": { 719 - "node": ">= 0.10.0" 720 - }, 721 - "funding": { 722 - "type": "opencollective", 723 - "url": "https://opencollective.com/express" 724 - } 725 - }, 726 - "node_modules/file-uri-to-path": { 727 - "version": "1.0.0", 728 - "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", 729 - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", 730 - "license": "MIT" 731 - }, 732 - "node_modules/finalhandler": { 733 - "version": "1.3.1", 734 - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz", 735 - "integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==", 736 - "license": "MIT", 737 - "dependencies": { 738 - "debug": "2.6.9", 739 - "encodeurl": "~2.0.0", 740 - "escape-html": "~1.0.3", 741 - "on-finished": "2.4.1", 742 - "parseurl": "~1.3.3", 743 - "statuses": "2.0.1", 744 - "unpipe": "~1.0.0" 745 - }, 746 - "engines": { 747 - "node": ">= 0.8" 748 - } 749 - }, 750 - "node_modules/forwarded": { 751 - "version": "0.2.0", 752 - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", 753 - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", 754 - "license": "MIT", 755 - "engines": { 756 - "node": ">= 0.6" 757 - } 758 - }, 759 - "node_modules/fresh": { 760 - "version": "0.5.2", 761 - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", 762 - "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", 763 - "license": "MIT", 764 - "engines": { 765 - "node": ">= 0.6" 766 - } 767 - }, 768 - "node_modules/fs-constants": { 769 - "version": "1.0.0", 770 - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", 771 - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", 772 - "license": "MIT" 773 - }, 774 - "node_modules/fs-minipass": { 775 - "version": "2.1.0", 776 - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", 777 - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", 778 - "license": "ISC", 779 - "dependencies": { 780 - "minipass": "^3.0.0" 781 - }, 782 - "engines": { 783 - "node": ">= 8" 784 - } 785 - }, 786 - "node_modules/fs.realpath": { 787 - "version": "1.0.0", 788 - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 789 - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", 790 - "license": "ISC", 791 - "optional": true 792 - }, 793 - "node_modules/function-bind": { 794 - "version": "1.1.2", 795 - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", 796 - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", 797 - "license": "MIT", 798 - "funding": { 799 - "url": "https://github.com/sponsors/ljharb" 800 - } 801 - }, 802 - "node_modules/gauge": { 803 - "version": "4.0.4", 804 - "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", 805 - "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", 806 - "deprecated": "This package is no longer supported.", 807 - "license": "ISC", 808 - "optional": true, 809 - "dependencies": { 810 - "aproba": "^1.0.3 || ^2.0.0", 811 - "color-support": "^1.1.3", 812 - "console-control-strings": "^1.1.0", 813 - "has-unicode": "^2.0.1", 814 - "signal-exit": "^3.0.7", 815 - "string-width": "^4.2.3", 816 - "strip-ansi": "^6.0.1", 817 - "wide-align": "^1.1.5" 818 - }, 819 - "engines": { 820 - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" 821 - } 822 - }, 823 - "node_modules/get-intrinsic": { 824 - "version": "1.3.0", 825 - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", 826 - "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", 827 - "license": "MIT", 828 - "dependencies": { 829 - "call-bind-apply-helpers": "^1.0.2", 830 - "es-define-property": "^1.0.1", 831 - "es-errors": "^1.3.0", 832 - "es-object-atoms": "^1.1.1", 833 - "function-bind": "^1.1.2", 834 - "get-proto": "^1.0.1", 835 - "gopd": "^1.2.0", 836 - "has-symbols": "^1.1.0", 837 - "hasown": "^2.0.2", 838 - "math-intrinsics": "^1.1.0" 839 - }, 840 - "engines": { 841 - "node": ">= 0.4" 842 - }, 843 - "funding": { 844 - "url": "https://github.com/sponsors/ljharb" 845 - } 846 - }, 847 - "node_modules/get-proto": { 848 - "version": "1.0.1", 849 - "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", 850 - "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", 851 - "license": "MIT", 852 - "dependencies": { 853 - "dunder-proto": "^1.0.1", 854 - "es-object-atoms": "^1.0.0" 855 - }, 856 - "engines": { 857 - "node": ">= 0.4" 858 - } 859 - }, 860 - "node_modules/github-from-package": { 861 - "version": "0.0.0", 862 - "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", 863 - "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==", 864 - "license": "MIT" 865 - }, 866 - "node_modules/glob": { 867 - "version": "7.2.3", 868 - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", 869 - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", 870 - "deprecated": "Glob versions prior to v9 are no longer supported", 871 - "license": "ISC", 872 - "optional": true, 873 - "dependencies": { 874 - "fs.realpath": "^1.0.0", 875 - "inflight": "^1.0.4", 876 - "inherits": "2", 877 - "minimatch": "^3.1.1", 878 - "once": "^1.3.0", 879 - "path-is-absolute": "^1.0.0" 880 - }, 881 - "engines": { 882 - "node": "*" 883 - }, 884 - "funding": { 885 - "url": "https://github.com/sponsors/isaacs" 886 - } 887 - }, 888 - "node_modules/gopd": { 889 - "version": "1.2.0", 890 - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", 891 - "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", 892 - "license": "MIT", 893 - "engines": { 894 - "node": ">= 0.4" 895 - }, 896 - "funding": { 897 - "url": "https://github.com/sponsors/ljharb" 898 - } 899 - }, 900 - "node_modules/graceful-fs": { 901 - "version": "4.2.11", 902 - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", 903 - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", 904 - "license": "ISC", 905 - "optional": true 906 - }, 907 - "node_modules/has-symbols": { 908 - "version": "1.1.0", 909 - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", 910 - "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", 911 - "license": "MIT", 912 - "engines": { 913 - "node": ">= 0.4" 914 - }, 915 - "funding": { 916 - "url": "https://github.com/sponsors/ljharb" 917 - } 918 - }, 919 - "node_modules/has-unicode": { 920 - "version": "2.0.1", 921 - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", 922 - "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", 923 - "license": "ISC", 924 - "optional": true 925 - }, 926 - "node_modules/hasown": { 927 - "version": "2.0.2", 928 - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", 929 - "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", 930 - "license": "MIT", 931 - "dependencies": { 932 - "function-bind": "^1.1.2" 933 - }, 934 - "engines": { 935 - "node": ">= 0.4" 936 - } 937 - }, 938 - "node_modules/http-cache-semantics": { 939 - "version": "4.2.0", 940 - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz", 941 - "integrity": "sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==", 942 - "license": "BSD-2-Clause", 943 - "optional": true 944 - }, 945 - "node_modules/http-errors": { 946 - "version": "2.0.0", 947 - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", 948 - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", 949 - "license": "MIT", 950 - "dependencies": { 951 - "depd": "2.0.0", 952 - "inherits": "2.0.4", 953 - "setprototypeof": "1.2.0", 954 - "statuses": "2.0.1", 955 - "toidentifier": "1.0.1" 956 - }, 957 - "engines": { 958 - "node": ">= 0.8" 959 - } 960 - }, 961 - "node_modules/http-proxy-agent": { 962 - "version": "4.0.1", 963 - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", 964 - "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", 965 - "license": "MIT", 966 - "optional": true, 967 - "dependencies": { 968 - "@tootallnate/once": "1", 969 - "agent-base": "6", 970 - "debug": "4" 971 - }, 972 - "engines": { 973 - "node": ">= 6" 974 - } 975 - }, 976 - "node_modules/http-proxy-agent/node_modules/debug": { 977 - "version": "4.4.1", 978 - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", 979 - "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", 980 - "license": "MIT", 981 - "optional": true, 982 - "dependencies": { 983 - "ms": "^2.1.3" 984 - }, 985 - "engines": { 986 - "node": ">=6.0" 987 - }, 988 - "peerDependenciesMeta": { 989 - "supports-color": { 990 - "optional": true 991 - } 992 - } 993 - }, 994 - "node_modules/http-proxy-agent/node_modules/ms": { 995 - "version": "2.1.3", 996 - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", 997 - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", 998 - "license": "MIT", 999 - "optional": true 1000 - }, 1001 - "node_modules/https-proxy-agent": { 1002 - "version": "5.0.1", 1003 - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", 1004 - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", 1005 - "license": "MIT", 1006 - "optional": true, 1007 - "dependencies": { 1008 - "agent-base": "6", 1009 - "debug": "4" 1010 - }, 1011 - "engines": { 1012 - "node": ">= 6" 1013 - } 1014 - }, 1015 - "node_modules/https-proxy-agent/node_modules/debug": { 1016 - "version": "4.4.1", 1017 - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", 1018 - "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", 1019 - "license": "MIT", 1020 - "optional": true, 1021 - "dependencies": { 1022 - "ms": "^2.1.3" 1023 - }, 1024 - "engines": { 1025 - "node": ">=6.0" 1026 - }, 1027 - "peerDependenciesMeta": { 1028 - "supports-color": { 1029 - "optional": true 1030 - } 1031 - } 1032 - }, 1033 - "node_modules/https-proxy-agent/node_modules/ms": { 1034 - "version": "2.1.3", 1035 - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", 1036 - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", 1037 - "license": "MIT", 1038 - "optional": true 1039 - }, 1040 - "node_modules/humanize-ms": { 1041 - "version": "1.2.1", 1042 - "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", 1043 - "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==", 1044 - "license": "MIT", 1045 - "optional": true, 1046 - "dependencies": { 1047 - "ms": "^2.0.0" 1048 - } 1049 - }, 1050 - "node_modules/iconv-lite": { 1051 - "version": "0.4.24", 1052 - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", 1053 - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", 1054 - "license": "MIT", 1055 - "dependencies": { 1056 - "safer-buffer": ">= 2.1.2 < 3" 1057 - }, 1058 - "engines": { 1059 - "node": ">=0.10.0" 1060 - } 1061 - }, 1062 - "node_modules/ieee754": { 1063 - "version": "1.2.1", 1064 - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", 1065 - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", 1066 - "funding": [ 1067 - { 1068 - "type": "github", 1069 - "url": "https://github.com/sponsors/feross" 1070 - }, 1071 - { 1072 - "type": "patreon", 1073 - "url": "https://www.patreon.com/feross" 1074 - }, 1075 - { 1076 - "type": "consulting", 1077 - "url": "https://feross.org/support" 1078 - } 1079 - ], 1080 - "license": "BSD-3-Clause" 1081 - }, 1082 - "node_modules/imurmurhash": { 1083 - "version": "0.1.4", 1084 - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", 1085 - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", 1086 - "license": "MIT", 1087 - "optional": true, 1088 - "engines": { 1089 - "node": ">=0.8.19" 1090 - } 1091 - }, 1092 - "node_modules/indent-string": { 1093 - "version": "4.0.0", 1094 - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", 1095 - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", 1096 - "license": "MIT", 1097 - "optional": true, 1098 - "engines": { 1099 - "node": ">=8" 1100 - } 1101 - }, 1102 - "node_modules/infer-owner": { 1103 - "version": "1.0.4", 1104 - "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", 1105 - "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", 1106 - "license": "ISC", 1107 - "optional": true 1108 - }, 1109 - "node_modules/inflight": { 1110 - "version": "1.0.6", 1111 - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 1112 - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", 1113 - "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", 1114 - "license": "ISC", 1115 - "optional": true, 1116 - "dependencies": { 1117 - "once": "^1.3.0", 1118 - "wrappy": "1" 1119 - } 1120 - }, 1121 - "node_modules/inherits": { 1122 - "version": "2.0.4", 1123 - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 1124 - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", 1125 - "license": "ISC" 1126 - }, 1127 - "node_modules/ini": { 1128 - "version": "1.3.8", 1129 - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", 1130 - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", 1131 - "license": "ISC" 1132 - }, 1133 - "node_modules/ip-address": { 1134 - "version": "9.0.5", 1135 - "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-9.0.5.tgz", 1136 - "integrity": "sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==", 1137 - "license": "MIT", 1138 - "optional": true, 1139 - "dependencies": { 1140 - "jsbn": "1.1.0", 1141 - "sprintf-js": "^1.1.3" 1142 - }, 1143 - "engines": { 1144 - "node": ">= 12" 1145 - } 1146 - }, 1147 - "node_modules/ipaddr.js": { 1148 - "version": "1.9.1", 1149 - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", 1150 - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", 1151 - "license": "MIT", 1152 - "engines": { 1153 - "node": ">= 0.10" 1154 - } 1155 - }, 1156 - "node_modules/is-fullwidth-code-point": { 1157 - "version": "3.0.0", 1158 - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", 1159 - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", 1160 - "license": "MIT", 1161 - "optional": true, 1162 - "engines": { 1163 - "node": ">=8" 1164 - } 1165 - }, 1166 - "node_modules/is-lambda": { 1167 - "version": "1.0.1", 1168 - "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", 1169 - "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==", 1170 - "license": "MIT", 1171 - "optional": true 1172 - }, 1173 - "node_modules/isexe": { 1174 - "version": "2.0.0", 1175 - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 1176 - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", 1177 - "license": "ISC", 1178 - "optional": true 1179 - }, 1180 - "node_modules/jsbn": { 1181 - "version": "1.1.0", 1182 - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz", 1183 - "integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==", 1184 - "license": "MIT", 1185 - "optional": true 1186 - }, 1187 - "node_modules/jsonwebtoken": { 1188 - "version": "9.0.2", 1189 - "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz", 1190 - "integrity": "sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ==", 1191 - "license": "MIT", 1192 - "dependencies": { 1193 - "jws": "^3.2.2", 1194 - "lodash.includes": "^4.3.0", 1195 - "lodash.isboolean": "^3.0.3", 1196 - "lodash.isinteger": "^4.0.4", 1197 - "lodash.isnumber": "^3.0.3", 1198 - "lodash.isplainobject": "^4.0.6", 1199 - "lodash.isstring": "^4.0.1", 1200 - "lodash.once": "^4.0.0", 1201 - "ms": "^2.1.1", 1202 - "semver": "^7.5.4" 1203 - }, 1204 - "engines": { 1205 - "node": ">=12", 1206 - "npm": ">=6" 1207 - } 1208 - }, 1209 - "node_modules/jsonwebtoken/node_modules/ms": { 1210 - "version": "2.1.3", 1211 - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", 1212 - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", 1213 - "license": "MIT" 1214 - }, 1215 - "node_modules/jwa": { 1216 - "version": "1.4.2", 1217 - "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.2.tgz", 1218 - "integrity": "sha512-eeH5JO+21J78qMvTIDdBXidBd6nG2kZjg5Ohz/1fpa28Z4CcsWUzJ1ZZyFq/3z3N17aZy+ZuBoHljASbL1WfOw==", 1219 - "license": "MIT", 1220 - "dependencies": { 1221 - "buffer-equal-constant-time": "^1.0.1", 1222 - "ecdsa-sig-formatter": "1.0.11", 1223 - "safe-buffer": "^5.0.1" 1224 - } 1225 - }, 1226 - "node_modules/jws": { 1227 - "version": "3.2.2", 1228 - "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", 1229 - "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", 1230 - "license": "MIT", 1231 - "dependencies": { 1232 - "jwa": "^1.4.1", 1233 - "safe-buffer": "^5.0.1" 1234 - } 1235 - }, 1236 - "node_modules/lodash.includes": { 1237 - "version": "4.3.0", 1238 - "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", 1239 - "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==", 1240 - "license": "MIT" 1241 - }, 1242 - "node_modules/lodash.isboolean": { 1243 - "version": "3.0.3", 1244 - "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", 1245 - "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==", 1246 - "license": "MIT" 1247 - }, 1248 - "node_modules/lodash.isinteger": { 1249 - "version": "4.0.4", 1250 - "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", 1251 - "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==", 1252 - "license": "MIT" 1253 - }, 1254 - "node_modules/lodash.isnumber": { 1255 - "version": "3.0.3", 1256 - "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", 1257 - "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==", 1258 - "license": "MIT" 1259 - }, 1260 - "node_modules/lodash.isplainobject": { 1261 - "version": "4.0.6", 1262 - "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", 1263 - "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", 1264 - "license": "MIT" 1265 - }, 1266 - "node_modules/lodash.isstring": { 1267 - "version": "4.0.1", 1268 - "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", 1269 - "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==", 1270 - "license": "MIT" 1271 - }, 1272 - "node_modules/lodash.once": { 1273 - "version": "4.1.1", 1274 - "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", 1275 - "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==", 1276 - "license": "MIT" 1277 - }, 1278 - "node_modules/lru-cache": { 1279 - "version": "6.0.0", 1280 - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", 1281 - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", 1282 - "license": "ISC", 1283 - "optional": true, 1284 - "dependencies": { 1285 - "yallist": "^4.0.0" 1286 - }, 1287 - "engines": { 1288 - "node": ">=10" 1289 - } 1290 - }, 1291 - "node_modules/make-fetch-happen": { 1292 - "version": "9.1.0", 1293 - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz", 1294 - "integrity": "sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==", 1295 - "license": "ISC", 1296 - "optional": true, 1297 - "dependencies": { 1298 - "agentkeepalive": "^4.1.3", 1299 - "cacache": "^15.2.0", 1300 - "http-cache-semantics": "^4.1.0", 1301 - "http-proxy-agent": "^4.0.1", 1302 - "https-proxy-agent": "^5.0.0", 1303 - "is-lambda": "^1.0.1", 1304 - "lru-cache": "^6.0.0", 1305 - "minipass": "^3.1.3", 1306 - "minipass-collect": "^1.0.2", 1307 - "minipass-fetch": "^1.3.2", 1308 - "minipass-flush": "^1.0.5", 1309 - "minipass-pipeline": "^1.2.4", 1310 - "negotiator": "^0.6.2", 1311 - "promise-retry": "^2.0.1", 1312 - "socks-proxy-agent": "^6.0.0", 1313 - "ssri": "^8.0.0" 1314 - }, 1315 - "engines": { 1316 - "node": ">= 10" 1317 - } 1318 - }, 1319 - "node_modules/math-intrinsics": { 1320 - "version": "1.1.0", 1321 - "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", 1322 - "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", 1323 - "license": "MIT", 1324 - "engines": { 1325 - "node": ">= 0.4" 1326 - } 1327 - }, 1328 - "node_modules/media-typer": { 1329 - "version": "0.3.0", 1330 - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", 1331 - "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", 1332 - "license": "MIT", 1333 - "engines": { 1334 - "node": ">= 0.6" 1335 - } 1336 - }, 1337 - "node_modules/merge-descriptors": { 1338 - "version": "1.0.3", 1339 - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", 1340 - "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", 1341 - "license": "MIT", 1342 - "funding": { 1343 - "url": "https://github.com/sponsors/sindresorhus" 1344 - } 1345 - }, 1346 - "node_modules/methods": { 1347 - "version": "1.1.2", 1348 - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", 1349 - "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", 1350 - "license": "MIT", 1351 - "engines": { 1352 - "node": ">= 0.6" 1353 - } 1354 - }, 1355 - "node_modules/mime": { 1356 - "version": "1.6.0", 1357 - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", 1358 - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", 1359 - "license": "MIT", 1360 - "bin": { 1361 - "mime": "cli.js" 1362 - }, 1363 - "engines": { 1364 - "node": ">=4" 1365 - } 1366 - }, 1367 - "node_modules/mime-db": { 1368 - "version": "1.52.0", 1369 - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", 1370 - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", 1371 - "license": "MIT", 1372 - "engines": { 1373 - "node": ">= 0.6" 1374 - } 1375 - }, 1376 - "node_modules/mime-types": { 1377 - "version": "2.1.35", 1378 - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", 1379 - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", 1380 - "license": "MIT", 1381 - "dependencies": { 1382 - "mime-db": "1.52.0" 1383 - }, 1384 - "engines": { 1385 - "node": ">= 0.6" 1386 - } 1387 - }, 1388 - "node_modules/mimic-response": { 1389 - "version": "3.1.0", 1390 - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", 1391 - "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", 1392 - "license": "MIT", 1393 - "engines": { 1394 - "node": ">=10" 1395 - }, 1396 - "funding": { 1397 - "url": "https://github.com/sponsors/sindresorhus" 1398 - } 1399 - }, 1400 - "node_modules/minimatch": { 1401 - "version": "3.1.2", 1402 - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", 1403 - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", 1404 - "license": "ISC", 1405 - "optional": true, 1406 - "dependencies": { 1407 - "brace-expansion": "^1.1.7" 1408 - }, 1409 - "engines": { 1410 - "node": "*" 1411 - } 1412 - }, 1413 - "node_modules/minimist": { 1414 - "version": "1.2.8", 1415 - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", 1416 - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", 1417 - "license": "MIT", 1418 - "funding": { 1419 - "url": "https://github.com/sponsors/ljharb" 1420 - } 1421 - }, 1422 - "node_modules/minipass": { 1423 - "version": "3.3.6", 1424 - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", 1425 - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", 1426 - "license": "ISC", 1427 - "dependencies": { 1428 - "yallist": "^4.0.0" 1429 - }, 1430 - "engines": { 1431 - "node": ">=8" 1432 - } 1433 - }, 1434 - "node_modules/minipass-collect": { 1435 - "version": "1.0.2", 1436 - "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", 1437 - "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", 1438 - "license": "ISC", 1439 - "optional": true, 1440 - "dependencies": { 1441 - "minipass": "^3.0.0" 1442 - }, 1443 - "engines": { 1444 - "node": ">= 8" 1445 - } 1446 - }, 1447 - "node_modules/minipass-fetch": { 1448 - "version": "1.4.1", 1449 - "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-1.4.1.tgz", 1450 - "integrity": "sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==", 1451 - "license": "MIT", 1452 - "optional": true, 1453 - "dependencies": { 1454 - "minipass": "^3.1.0", 1455 - "minipass-sized": "^1.0.3", 1456 - "minizlib": "^2.0.0" 1457 - }, 1458 - "engines": { 1459 - "node": ">=8" 1460 - }, 1461 - "optionalDependencies": { 1462 - "encoding": "^0.1.12" 1463 - } 1464 - }, 1465 - "node_modules/minipass-flush": { 1466 - "version": "1.0.5", 1467 - "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", 1468 - "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", 1469 - "license": "ISC", 1470 - "optional": true, 1471 - "dependencies": { 1472 - "minipass": "^3.0.0" 1473 - }, 1474 - "engines": { 1475 - "node": ">= 8" 1476 - } 1477 - }, 1478 - "node_modules/minipass-pipeline": { 1479 - "version": "1.2.4", 1480 - "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", 1481 - "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", 1482 - "license": "ISC", 1483 - "optional": true, 1484 - "dependencies": { 1485 - "minipass": "^3.0.0" 1486 - }, 1487 - "engines": { 1488 - "node": ">=8" 1489 - } 1490 - }, 1491 - "node_modules/minipass-sized": { 1492 - "version": "1.0.3", 1493 - "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", 1494 - "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", 1495 - "license": "ISC", 1496 - "optional": true, 1497 - "dependencies": { 1498 - "minipass": "^3.0.0" 1499 - }, 1500 - "engines": { 1501 - "node": ">=8" 1502 - } 1503 - }, 1504 - "node_modules/minizlib": { 1505 - "version": "2.1.2", 1506 - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", 1507 - "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", 1508 - "license": "MIT", 1509 - "dependencies": { 1510 - "minipass": "^3.0.0", 1511 - "yallist": "^4.0.0" 1512 - }, 1513 - "engines": { 1514 - "node": ">= 8" 1515 - } 1516 - }, 1517 - "node_modules/mkdirp": { 1518 - "version": "1.0.4", 1519 - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", 1520 - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", 1521 - "license": "MIT", 1522 - "bin": { 1523 - "mkdirp": "bin/cmd.js" 1524 - }, 1525 - "engines": { 1526 - "node": ">=10" 1527 - } 1528 - }, 1529 - "node_modules/mkdirp-classic": { 1530 - "version": "0.5.3", 1531 - "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", 1532 - "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", 1533 - "license": "MIT" 1534 - }, 1535 - "node_modules/ms": { 1536 - "version": "2.0.0", 1537 - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", 1538 - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", 1539 - "license": "MIT" 1540 - }, 1541 - "node_modules/napi-build-utils": { 1542 - "version": "2.0.0", 1543 - "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-2.0.0.tgz", 1544 - "integrity": "sha512-GEbrYkbfF7MoNaoh2iGG84Mnf/WZfB0GdGEsM8wz7Expx/LlWf5U8t9nvJKXSp3qr5IsEbK04cBGhol/KwOsWA==", 1545 - "license": "MIT" 1546 - }, 1547 - "node_modules/negotiator": { 1548 - "version": "0.6.3", 1549 - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", 1550 - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", 1551 - "license": "MIT", 1552 - "engines": { 1553 - "node": ">= 0.6" 1554 - } 1555 - }, 1556 - "node_modules/node-abi": { 1557 - "version": "3.75.0", 1558 - "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.75.0.tgz", 1559 - "integrity": "sha512-OhYaY5sDsIka7H7AtijtI9jwGYLyl29eQn/W623DiN/MIv5sUqc4g7BIDThX+gb7di9f6xK02nkp8sdfFWZLTg==", 1560 - "license": "MIT", 1561 - "dependencies": { 1562 - "semver": "^7.3.5" 1563 - }, 1564 - "engines": { 1565 - "node": ">=10" 1566 - } 1567 - }, 1568 - "node_modules/node-addon-api": { 1569 - "version": "7.1.1", 1570 - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", 1571 - "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", 1572 - "license": "MIT" 1573 - }, 1574 - "node_modules/node-gyp": { 1575 - "version": "8.4.1", 1576 - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-8.4.1.tgz", 1577 - "integrity": "sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==", 1578 - "license": "MIT", 1579 - "optional": true, 1580 - "dependencies": { 1581 - "env-paths": "^2.2.0", 1582 - "glob": "^7.1.4", 1583 - "graceful-fs": "^4.2.6", 1584 - "make-fetch-happen": "^9.1.0", 1585 - "nopt": "^5.0.0", 1586 - "npmlog": "^6.0.0", 1587 - "rimraf": "^3.0.2", 1588 - "semver": "^7.3.5", 1589 - "tar": "^6.1.2", 1590 - "which": "^2.0.2" 1591 - }, 1592 - "bin": { 1593 - "node-gyp": "bin/node-gyp.js" 1594 - }, 1595 - "engines": { 1596 - "node": ">= 10.12.0" 1597 - } 1598 - }, 1599 - "node_modules/nopt": { 1600 - "version": "5.0.0", 1601 - "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", 1602 - "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", 1603 - "license": "ISC", 1604 - "optional": true, 1605 - "dependencies": { 1606 - "abbrev": "1" 1607 - }, 1608 - "bin": { 1609 - "nopt": "bin/nopt.js" 1610 - }, 1611 - "engines": { 1612 - "node": ">=6" 1613 - } 1614 - }, 1615 - "node_modules/npmlog": { 1616 - "version": "6.0.2", 1617 - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", 1618 - "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", 1619 - "deprecated": "This package is no longer supported.", 1620 - "license": "ISC", 1621 - "optional": true, 1622 - "dependencies": { 1623 - "are-we-there-yet": "^3.0.0", 1624 - "console-control-strings": "^1.1.0", 1625 - "gauge": "^4.0.3", 1626 - "set-blocking": "^2.0.0" 1627 - }, 1628 - "engines": { 1629 - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" 1630 - } 1631 - }, 1632 - "node_modules/object-assign": { 1633 - "version": "4.1.1", 1634 - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", 1635 - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", 1636 - "license": "MIT", 1637 - "engines": { 1638 - "node": ">=0.10.0" 1639 - } 1640 - }, 1641 - "node_modules/object-inspect": { 1642 - "version": "1.13.4", 1643 - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", 1644 - "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", 1645 - "license": "MIT", 1646 - "engines": { 1647 - "node": ">= 0.4" 1648 - }, 1649 - "funding": { 1650 - "url": "https://github.com/sponsors/ljharb" 1651 - } 1652 - }, 1653 - "node_modules/on-finished": { 1654 - "version": "2.4.1", 1655 - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", 1656 - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", 1657 - "license": "MIT", 1658 - "dependencies": { 1659 - "ee-first": "1.1.1" 1660 - }, 1661 - "engines": { 1662 - "node": ">= 0.8" 1663 - } 1664 - }, 1665 - "node_modules/once": { 1666 - "version": "1.4.0", 1667 - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 1668 - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", 1669 - "license": "ISC", 1670 - "dependencies": { 1671 - "wrappy": "1" 1672 - } 1673 - }, 1674 - "node_modules/p-map": { 1675 - "version": "4.0.0", 1676 - "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", 1677 - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", 1678 - "license": "MIT", 1679 - "optional": true, 1680 - "dependencies": { 1681 - "aggregate-error": "^3.0.0" 1682 - }, 1683 - "engines": { 1684 - "node": ">=10" 1685 - }, 1686 - "funding": { 1687 - "url": "https://github.com/sponsors/sindresorhus" 1688 - } 1689 - }, 1690 - "node_modules/parseurl": { 1691 - "version": "1.3.3", 1692 - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", 1693 - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", 1694 - "license": "MIT", 1695 - "engines": { 1696 - "node": ">= 0.8" 1697 - } 1698 - }, 1699 - "node_modules/path-is-absolute": { 1700 - "version": "1.0.1", 1701 - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 1702 - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", 1703 - "license": "MIT", 1704 - "optional": true, 1705 - "engines": { 1706 - "node": ">=0.10.0" 1707 - } 1708 - }, 1709 - "node_modules/path-to-regexp": { 1710 - "version": "0.1.12", 1711 - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.12.tgz", 1712 - "integrity": "sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==", 1713 - "license": "MIT" 1714 - }, 1715 - "node_modules/prebuild-install": { 1716 - "version": "7.1.3", 1717 - "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.3.tgz", 1718 - "integrity": "sha512-8Mf2cbV7x1cXPUILADGI3wuhfqWvtiLA1iclTDbFRZkgRQS0NqsPZphna9V+HyTEadheuPmjaJMsbzKQFOzLug==", 1719 - "license": "MIT", 1720 - "dependencies": { 1721 - "detect-libc": "^2.0.0", 1722 - "expand-template": "^2.0.3", 1723 - "github-from-package": "0.0.0", 1724 - "minimist": "^1.2.3", 1725 - "mkdirp-classic": "^0.5.3", 1726 - "napi-build-utils": "^2.0.0", 1727 - "node-abi": "^3.3.0", 1728 - "pump": "^3.0.0", 1729 - "rc": "^1.2.7", 1730 - "simple-get": "^4.0.0", 1731 - "tar-fs": "^2.0.0", 1732 - "tunnel-agent": "^0.6.0" 1733 - }, 1734 - "bin": { 1735 - "prebuild-install": "bin.js" 1736 - }, 1737 - "engines": { 1738 - "node": ">=10" 1739 - } 1740 - }, 1741 - "node_modules/promise-inflight": { 1742 - "version": "1.0.1", 1743 - "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", 1744 - "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==", 1745 - "license": "ISC", 1746 - "optional": true 1747 - }, 1748 - "node_modules/promise-retry": { 1749 - "version": "2.0.1", 1750 - "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", 1751 - "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", 1752 - "license": "MIT", 1753 - "optional": true, 1754 - "dependencies": { 1755 - "err-code": "^2.0.2", 1756 - "retry": "^0.12.0" 1757 - }, 1758 - "engines": { 1759 - "node": ">=10" 1760 - } 1761 - }, 1762 - "node_modules/proxy-addr": { 1763 - "version": "2.0.7", 1764 - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", 1765 - "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", 1766 - "license": "MIT", 1767 - "dependencies": { 1768 - "forwarded": "0.2.0", 1769 - "ipaddr.js": "1.9.1" 1770 - }, 1771 - "engines": { 1772 - "node": ">= 0.10" 1773 - } 1774 - }, 1775 - "node_modules/pump": { 1776 - "version": "3.0.3", 1777 - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.3.tgz", 1778 - "integrity": "sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA==", 1779 - "license": "MIT", 1780 - "dependencies": { 1781 - "end-of-stream": "^1.1.0", 1782 - "once": "^1.3.1" 1783 - } 1784 - }, 1785 - "node_modules/qs": { 1786 - "version": "6.13.0", 1787 - "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", 1788 - "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", 1789 - "license": "BSD-3-Clause", 1790 - "dependencies": { 1791 - "side-channel": "^1.0.6" 1792 - }, 1793 - "engines": { 1794 - "node": ">=0.6" 1795 - }, 1796 - "funding": { 1797 - "url": "https://github.com/sponsors/ljharb" 1798 - } 1799 - }, 1800 - "node_modules/range-parser": { 1801 - "version": "1.2.1", 1802 - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", 1803 - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", 1804 - "license": "MIT", 1805 - "engines": { 1806 - "node": ">= 0.6" 1807 - } 1808 - }, 1809 - "node_modules/raw-body": { 1810 - "version": "2.5.2", 1811 - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", 1812 - "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", 1813 - "license": "MIT", 1814 - "dependencies": { 1815 - "bytes": "3.1.2", 1816 - "http-errors": "2.0.0", 1817 - "iconv-lite": "0.4.24", 1818 - "unpipe": "1.0.0" 1819 - }, 1820 - "engines": { 1821 - "node": ">= 0.8" 1822 - } 1823 - }, 1824 - "node_modules/rc": { 1825 - "version": "1.2.8", 1826 - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", 1827 - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", 1828 - "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", 1829 - "dependencies": { 1830 - "deep-extend": "^0.6.0", 1831 - "ini": "~1.3.0", 1832 - "minimist": "^1.2.0", 1833 - "strip-json-comments": "~2.0.1" 1834 - }, 1835 - "bin": { 1836 - "rc": "cli.js" 1837 - } 1838 - }, 1839 - "node_modules/readable-stream": { 1840 - "version": "3.6.2", 1841 - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", 1842 - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", 1843 - "license": "MIT", 1844 - "dependencies": { 1845 - "inherits": "^2.0.3", 1846 - "string_decoder": "^1.1.1", 1847 - "util-deprecate": "^1.0.1" 1848 - }, 1849 - "engines": { 1850 - "node": ">= 6" 1851 - } 1852 - }, 1853 - "node_modules/retry": { 1854 - "version": "0.12.0", 1855 - "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", 1856 - "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", 1857 - "license": "MIT", 1858 - "optional": true, 1859 - "engines": { 1860 - "node": ">= 4" 1861 - } 1862 - }, 1863 - "node_modules/rimraf": { 1864 - "version": "3.0.2", 1865 - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", 1866 - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", 1867 - "deprecated": "Rimraf versions prior to v4 are no longer supported", 1868 - "license": "ISC", 1869 - "optional": true, 1870 - "dependencies": { 1871 - "glob": "^7.1.3" 1872 - }, 1873 - "bin": { 1874 - "rimraf": "bin.js" 1875 - }, 1876 - "funding": { 1877 - "url": "https://github.com/sponsors/isaacs" 1878 - } 1879 - }, 1880 - "node_modules/safe-buffer": { 1881 - "version": "5.2.1", 1882 - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", 1883 - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", 1884 - "funding": [ 1885 - { 1886 - "type": "github", 1887 - "url": "https://github.com/sponsors/feross" 1888 - }, 1889 - { 1890 - "type": "patreon", 1891 - "url": "https://www.patreon.com/feross" 1892 - }, 1893 - { 1894 - "type": "consulting", 1895 - "url": "https://feross.org/support" 1896 - } 1897 - ], 1898 - "license": "MIT" 1899 - }, 1900 - "node_modules/safer-buffer": { 1901 - "version": "2.1.2", 1902 - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", 1903 - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", 1904 - "license": "MIT" 1905 - }, 1906 - "node_modules/semver": { 1907 - "version": "7.7.2", 1908 - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", 1909 - "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", 1910 - "license": "ISC", 1911 - "bin": { 1912 - "semver": "bin/semver.js" 1913 - }, 1914 - "engines": { 1915 - "node": ">=10" 1916 - } 1917 - }, 1918 - "node_modules/send": { 1919 - "version": "0.19.0", 1920 - "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz", 1921 - "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==", 1922 - "license": "MIT", 1923 - "dependencies": { 1924 - "debug": "2.6.9", 1925 - "depd": "2.0.0", 1926 - "destroy": "1.2.0", 1927 - "encodeurl": "~1.0.2", 1928 - "escape-html": "~1.0.3", 1929 - "etag": "~1.8.1", 1930 - "fresh": "0.5.2", 1931 - "http-errors": "2.0.0", 1932 - "mime": "1.6.0", 1933 - "ms": "2.1.3", 1934 - "on-finished": "2.4.1", 1935 - "range-parser": "~1.2.1", 1936 - "statuses": "2.0.1" 1937 - }, 1938 - "engines": { 1939 - "node": ">= 0.8.0" 1940 - } 1941 - }, 1942 - "node_modules/send/node_modules/encodeurl": { 1943 - "version": "1.0.2", 1944 - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", 1945 - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", 1946 - "license": "MIT", 1947 - "engines": { 1948 - "node": ">= 0.8" 1949 - } 1950 - }, 1951 - "node_modules/send/node_modules/ms": { 1952 - "version": "2.1.3", 1953 - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", 1954 - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", 1955 - "license": "MIT" 1956 - }, 1957 - "node_modules/serve-static": { 1958 - "version": "1.16.2", 1959 - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz", 1960 - "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==", 1961 - "license": "MIT", 1962 - "dependencies": { 1963 - "encodeurl": "~2.0.0", 1964 - "escape-html": "~1.0.3", 1965 - "parseurl": "~1.3.3", 1966 - "send": "0.19.0" 1967 - }, 1968 - "engines": { 1969 - "node": ">= 0.8.0" 1970 - } 1971 - }, 1972 - "node_modules/set-blocking": { 1973 - "version": "2.0.0", 1974 - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", 1975 - "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", 1976 - "license": "ISC", 1977 - "optional": true 1978 - }, 1979 - "node_modules/setprototypeof": { 1980 - "version": "1.2.0", 1981 - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", 1982 - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", 1983 - "license": "ISC" 1984 - }, 1985 - "node_modules/side-channel": { 1986 - "version": "1.1.0", 1987 - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", 1988 - "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", 1989 - "license": "MIT", 1990 - "dependencies": { 1991 - "es-errors": "^1.3.0", 1992 - "object-inspect": "^1.13.3", 1993 - "side-channel-list": "^1.0.0", 1994 - "side-channel-map": "^1.0.1", 1995 - "side-channel-weakmap": "^1.0.2" 1996 - }, 1997 - "engines": { 1998 - "node": ">= 0.4" 1999 - }, 2000 - "funding": { 2001 - "url": "https://github.com/sponsors/ljharb" 2002 - } 2003 - }, 2004 - "node_modules/side-channel-list": { 2005 - "version": "1.0.0", 2006 - "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", 2007 - "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", 2008 - "license": "MIT", 2009 - "dependencies": { 2010 - "es-errors": "^1.3.0", 2011 - "object-inspect": "^1.13.3" 2012 - }, 2013 - "engines": { 2014 - "node": ">= 0.4" 2015 - }, 2016 - "funding": { 2017 - "url": "https://github.com/sponsors/ljharb" 2018 - } 2019 - }, 2020 - "node_modules/side-channel-map": { 2021 - "version": "1.0.1", 2022 - "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", 2023 - "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", 2024 - "license": "MIT", 2025 - "dependencies": { 2026 - "call-bound": "^1.0.2", 2027 - "es-errors": "^1.3.0", 2028 - "get-intrinsic": "^1.2.5", 2029 - "object-inspect": "^1.13.3" 2030 - }, 2031 - "engines": { 2032 - "node": ">= 0.4" 2033 - }, 2034 - "funding": { 2035 - "url": "https://github.com/sponsors/ljharb" 2036 - } 2037 - }, 2038 - "node_modules/side-channel-weakmap": { 2039 - "version": "1.0.2", 2040 - "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", 2041 - "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", 2042 - "license": "MIT", 2043 - "dependencies": { 2044 - "call-bound": "^1.0.2", 2045 - "es-errors": "^1.3.0", 2046 - "get-intrinsic": "^1.2.5", 2047 - "object-inspect": "^1.13.3", 2048 - "side-channel-map": "^1.0.1" 2049 - }, 2050 - "engines": { 2051 - "node": ">= 0.4" 2052 - }, 2053 - "funding": { 2054 - "url": "https://github.com/sponsors/ljharb" 2055 - } 2056 - }, 2057 - "node_modules/signal-exit": { 2058 - "version": "3.0.7", 2059 - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", 2060 - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", 2061 - "license": "ISC", 2062 - "optional": true 2063 - }, 2064 - "node_modules/simple-concat": { 2065 - "version": "1.0.1", 2066 - "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", 2067 - "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", 2068 - "funding": [ 2069 - { 2070 - "type": "github", 2071 - "url": "https://github.com/sponsors/feross" 2072 - }, 2073 - { 2074 - "type": "patreon", 2075 - "url": "https://www.patreon.com/feross" 2076 - }, 2077 - { 2078 - "type": "consulting", 2079 - "url": "https://feross.org/support" 2080 - } 2081 - ], 2082 - "license": "MIT" 2083 - }, 2084 - "node_modules/simple-get": { 2085 - "version": "4.0.1", 2086 - "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz", 2087 - "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==", 2088 - "funding": [ 2089 - { 2090 - "type": "github", 2091 - "url": "https://github.com/sponsors/feross" 2092 - }, 2093 - { 2094 - "type": "patreon", 2095 - "url": "https://www.patreon.com/feross" 2096 - }, 2097 - { 2098 - "type": "consulting", 2099 - "url": "https://feross.org/support" 2100 - } 2101 - ], 2102 - "license": "MIT", 2103 - "dependencies": { 2104 - "decompress-response": "^6.0.0", 2105 - "once": "^1.3.1", 2106 - "simple-concat": "^1.0.0" 2107 - } 2108 - }, 2109 - "node_modules/smart-buffer": { 2110 - "version": "4.2.0", 2111 - "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", 2112 - "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", 2113 - "license": "MIT", 2114 - "optional": true, 2115 - "engines": { 2116 - "node": ">= 6.0.0", 2117 - "npm": ">= 3.0.0" 2118 - } 2119 - }, 2120 - "node_modules/socks": { 2121 - "version": "2.8.6", 2122 - "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.6.tgz", 2123 - "integrity": "sha512-pe4Y2yzru68lXCb38aAqRf5gvN8YdjP1lok5o0J7BOHljkyCGKVz7H3vpVIXKD27rj2giOJ7DwVyk/GWrPHDWA==", 2124 - "license": "MIT", 2125 - "optional": true, 2126 - "dependencies": { 2127 - "ip-address": "^9.0.5", 2128 - "smart-buffer": "^4.2.0" 2129 - }, 2130 - "engines": { 2131 - "node": ">= 10.0.0", 2132 - "npm": ">= 3.0.0" 2133 - } 2134 - }, 2135 - "node_modules/socks-proxy-agent": { 2136 - "version": "6.2.1", 2137 - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.2.1.tgz", 2138 - "integrity": "sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ==", 2139 - "license": "MIT", 2140 - "optional": true, 2141 - "dependencies": { 2142 - "agent-base": "^6.0.2", 2143 - "debug": "^4.3.3", 2144 - "socks": "^2.6.2" 2145 - }, 2146 - "engines": { 2147 - "node": ">= 10" 2148 - } 2149 - }, 2150 - "node_modules/socks-proxy-agent/node_modules/debug": { 2151 - "version": "4.4.1", 2152 - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", 2153 - "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", 2154 - "license": "MIT", 2155 - "optional": true, 2156 - "dependencies": { 2157 - "ms": "^2.1.3" 2158 - }, 2159 - "engines": { 2160 - "node": ">=6.0" 2161 - }, 2162 - "peerDependenciesMeta": { 2163 - "supports-color": { 2164 - "optional": true 2165 - } 2166 - } 2167 - }, 2168 - "node_modules/socks-proxy-agent/node_modules/ms": { 2169 - "version": "2.1.3", 2170 - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", 2171 - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", 2172 - "license": "MIT", 2173 - "optional": true 2174 - }, 2175 - "node_modules/sprintf-js": { 2176 - "version": "1.1.3", 2177 - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", 2178 - "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==", 2179 - "license": "BSD-3-Clause", 2180 - "optional": true 2181 - }, 2182 - "node_modules/sqlite3": { 2183 - "version": "5.1.7", 2184 - "resolved": "https://registry.npmjs.org/sqlite3/-/sqlite3-5.1.7.tgz", 2185 - "integrity": "sha512-GGIyOiFaG+TUra3JIfkI/zGP8yZYLPQ0pl1bH+ODjiX57sPhrLU5sQJn1y9bDKZUFYkX1crlrPfSYt0BKKdkog==", 2186 - "hasInstallScript": true, 2187 - "license": "BSD-3-Clause", 2188 - "dependencies": { 2189 - "bindings": "^1.5.0", 2190 - "node-addon-api": "^7.0.0", 2191 - "prebuild-install": "^7.1.1", 2192 - "tar": "^6.1.11" 2193 - }, 2194 - "optionalDependencies": { 2195 - "node-gyp": "8.x" 2196 - }, 2197 - "peerDependencies": { 2198 - "node-gyp": "8.x" 2199 - }, 2200 - "peerDependenciesMeta": { 2201 - "node-gyp": { 2202 - "optional": true 2203 - } 2204 - } 2205 - }, 2206 - "node_modules/ssri": { 2207 - "version": "8.0.1", 2208 - "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz", 2209 - "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==", 2210 - "license": "ISC", 2211 - "optional": true, 2212 - "dependencies": { 2213 - "minipass": "^3.1.1" 2214 - }, 2215 - "engines": { 2216 - "node": ">= 8" 2217 - } 2218 - }, 2219 - "node_modules/statuses": { 2220 - "version": "2.0.1", 2221 - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", 2222 - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", 2223 - "license": "MIT", 2224 - "engines": { 2225 - "node": ">= 0.8" 2226 - } 2227 - }, 2228 - "node_modules/string_decoder": { 2229 - "version": "1.3.0", 2230 - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", 2231 - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", 2232 - "license": "MIT", 2233 - "dependencies": { 2234 - "safe-buffer": "~5.2.0" 2235 - } 2236 - }, 2237 - "node_modules/string-width": { 2238 - "version": "4.2.3", 2239 - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", 2240 - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", 2241 - "license": "MIT", 2242 - "optional": true, 2243 - "dependencies": { 2244 - "emoji-regex": "^8.0.0", 2245 - "is-fullwidth-code-point": "^3.0.0", 2246 - "strip-ansi": "^6.0.1" 2247 - }, 2248 - "engines": { 2249 - "node": ">=8" 2250 - } 2251 - }, 2252 - "node_modules/strip-ansi": { 2253 - "version": "6.0.1", 2254 - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", 2255 - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", 2256 - "license": "MIT", 2257 - "optional": true, 2258 - "dependencies": { 2259 - "ansi-regex": "^5.0.1" 2260 - }, 2261 - "engines": { 2262 - "node": ">=8" 2263 - } 2264 - }, 2265 - "node_modules/strip-json-comments": { 2266 - "version": "2.0.1", 2267 - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", 2268 - "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", 2269 - "license": "MIT", 2270 - "engines": { 2271 - "node": ">=0.10.0" 2272 - } 2273 - }, 2274 - "node_modules/tar": { 2275 - "version": "6.2.1", 2276 - "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", 2277 - "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", 2278 - "license": "ISC", 2279 - "dependencies": { 2280 - "chownr": "^2.0.0", 2281 - "fs-minipass": "^2.0.0", 2282 - "minipass": "^5.0.0", 2283 - "minizlib": "^2.1.1", 2284 - "mkdirp": "^1.0.3", 2285 - "yallist": "^4.0.0" 2286 - }, 2287 - "engines": { 2288 - "node": ">=10" 2289 - } 2290 - }, 2291 - "node_modules/tar-fs": { 2292 - "version": "2.1.3", 2293 - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.3.tgz", 2294 - "integrity": "sha512-090nwYJDmlhwFwEW3QQl+vaNnxsO2yVsd45eTKRBzSzu+hlb1w2K9inVq5b0ngXuLVqQ4ApvsUHHnu/zQNkWAg==", 2295 - "license": "MIT", 2296 - "dependencies": { 2297 - "chownr": "^1.1.1", 2298 - "mkdirp-classic": "^0.5.2", 2299 - "pump": "^3.0.0", 2300 - "tar-stream": "^2.1.4" 2301 - } 2302 - }, 2303 - "node_modules/tar-fs/node_modules/chownr": { 2304 - "version": "1.1.4", 2305 - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", 2306 - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", 2307 - "license": "ISC" 2308 - }, 2309 - "node_modules/tar-stream": { 2310 - "version": "2.2.0", 2311 - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", 2312 - "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", 2313 - "license": "MIT", 2314 - "dependencies": { 2315 - "bl": "^4.0.3", 2316 - "end-of-stream": "^1.4.1", 2317 - "fs-constants": "^1.0.0", 2318 - "inherits": "^2.0.3", 2319 - "readable-stream": "^3.1.1" 2320 - }, 2321 - "engines": { 2322 - "node": ">=6" 2323 - } 2324 - }, 2325 - "node_modules/tar/node_modules/minipass": { 2326 - "version": "5.0.0", 2327 - "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", 2328 - "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", 2329 - "license": "ISC", 2330 - "engines": { 2331 - "node": ">=8" 2332 - } 2333 - }, 2334 - "node_modules/toidentifier": { 2335 - "version": "1.0.1", 2336 - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", 2337 - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", 2338 - "license": "MIT", 2339 - "engines": { 2340 - "node": ">=0.6" 2341 - } 2342 - }, 2343 - "node_modules/tunnel-agent": { 2344 - "version": "0.6.0", 2345 - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", 2346 - "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", 2347 - "license": "Apache-2.0", 2348 - "dependencies": { 2349 - "safe-buffer": "^5.0.1" 2350 - }, 2351 - "engines": { 2352 - "node": "*" 2353 - } 2354 - }, 2355 - "node_modules/type-is": { 2356 - "version": "1.6.18", 2357 - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", 2358 - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", 2359 - "license": "MIT", 2360 - "dependencies": { 2361 - "media-typer": "0.3.0", 2362 - "mime-types": "~2.1.24" 2363 - }, 2364 - "engines": { 2365 - "node": ">= 0.6" 2366 - } 2367 - }, 2368 - "node_modules/unique-filename": { 2369 - "version": "1.1.1", 2370 - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", 2371 - "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", 2372 - "license": "ISC", 2373 - "optional": true, 2374 - "dependencies": { 2375 - "unique-slug": "^2.0.0" 2376 - } 2377 - }, 2378 - "node_modules/unique-slug": { 2379 - "version": "2.0.2", 2380 - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", 2381 - "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", 2382 - "license": "ISC", 2383 - "optional": true, 2384 - "dependencies": { 2385 - "imurmurhash": "^0.1.4" 2386 - } 2387 - }, 2388 - "node_modules/unpipe": { 2389 - "version": "1.0.0", 2390 - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", 2391 - "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", 2392 - "license": "MIT", 2393 - "engines": { 2394 - "node": ">= 0.8" 2395 - } 2396 - }, 2397 - "node_modules/util-deprecate": { 2398 - "version": "1.0.2", 2399 - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", 2400 - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", 2401 - "license": "MIT" 2402 - }, 2403 - "node_modules/utils-merge": { 2404 - "version": "1.0.1", 2405 - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", 2406 - "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", 2407 - "license": "MIT", 2408 - "engines": { 2409 - "node": ">= 0.4.0" 2410 - } 2411 - }, 2412 - "node_modules/vary": { 2413 - "version": "1.1.2", 2414 - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", 2415 - "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", 2416 - "license": "MIT", 2417 - "engines": { 2418 - "node": ">= 0.8" 2419 - } 2420 - }, 2421 - "node_modules/which": { 2422 - "version": "2.0.2", 2423 - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", 2424 - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", 2425 - "license": "ISC", 2426 - "optional": true, 2427 - "dependencies": { 2428 - "isexe": "^2.0.0" 2429 - }, 2430 - "bin": { 2431 - "node-which": "bin/node-which" 2432 - }, 2433 - "engines": { 2434 - "node": ">= 8" 2435 - } 2436 - }, 2437 - "node_modules/wide-align": { 2438 - "version": "1.1.5", 2439 - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", 2440 - "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", 2441 - "license": "ISC", 2442 - "optional": true, 2443 - "dependencies": { 2444 - "string-width": "^1.0.2 || 2 || 3 || 4" 2445 - } 2446 - }, 2447 - "node_modules/wrappy": { 2448 - "version": "1.0.2", 2449 - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 2450 - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", 2451 - "license": "ISC" 2452 - }, 2453 - "node_modules/yallist": { 2454 - "version": "4.0.0", 2455 - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", 2456 - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", 2457 10 "license": "ISC" 2458 11 } 2459 12 }
+1 -8
package.json
··· 9 9 "author": "", 10 10 "license": "ISC", 11 11 "description": "", 12 - "dependencies": { 13 - "bcryptjs": "^2.4.3", 14 - "body-parser": "^1.20.2", 15 - "cors": "^2.8.5", 16 - "express": "^4.21.2", 17 - "jsonwebtoken": "^9.0.2", 18 - "sqlite3": "^5.1.6" 19 - } 12 + "dependencies": {} 20 13 }
-283
server.js
··· 1 - const express = require("express"); 2 - const jwt = require("jsonwebtoken"); 3 - const bodyParser = require("body-parser"); 4 - const sqlite3 = require("sqlite3").verbose(); 5 - const bcrypt = require("bcryptjs"); 6 - const cors = require("cors"); 7 - 8 - const app = express(); 9 - const SECRET = "supersecretkey"; 10 - const REFRESH_SECRET = "refreshsupersecretkey"; 11 - const TOKEN_EXPIRY = "5m"; 12 - const PORT = process.env.PORT || 3001; 13 - 14 - app.use(cors()); 15 - app.use(bodyParser.json()); 16 - 17 - // SQLite setup 18 - const db = new sqlite3.Database("./data/banking.db"); 19 - 20 - // Seed data 21 - db.serialize(() => { 22 - const username = "test@test.test"; 23 - const password = "password@123"; 24 - 25 - // clear db on every start 26 - db.run("DROP TABLE IF EXISTS users"); 27 - db.run("DROP TABLE IF EXISTS accounts"); 28 - db.run("DROP TABLE IF EXISTS cards"); 29 - db.run("DROP TABLE IF EXISTS transactions"); 30 - 31 - db.run(`CREATE TABLE IF NOT EXISTS users ( 32 - id INTEGER PRIMARY KEY AUTOINCREMENT, 33 - username TEXT UNIQUE, 34 - password TEXT 35 - )`); 36 - db.run(`CREATE TABLE IF NOT EXISTS accounts ( 37 - id INTEGER PRIMARY KEY AUTOINCREMENT, 38 - user_id INTEGER, 39 - name TEXT 40 - )`); 41 - db.run(`CREATE TABLE IF NOT EXISTS cards ( 42 - id INTEGER PRIMARY KEY AUTOINCREMENT, 43 - user_id INTEGER, 44 - number TEXT, 45 - expiry TEXT, 46 - cvv TEXT 47 - )`); 48 - db.run(`CREATE TABLE IF NOT EXISTS transactions ( 49 - id INTEGER PRIMARY KEY AUTOINCREMENT, 50 - user_id INTEGER, 51 - account_id INTEGER, 52 - amount REAL, 53 - type TEXT, 54 - description TEXT, 55 - date TEXT 56 - )`); 57 - 58 - // Insert a test user if not exists 59 - db.get("SELECT * FROM users WHERE username = ?", [username], (err, row) => { 60 - if (!row) { 61 - const hash = bcrypt.hashSync(password, 10); 62 - db.run( 63 - "INSERT INTO users (username, password) VALUES (?, ?)", 64 - [username, hash], 65 - function (err) { 66 - const userId = this.lastID; 67 - // Seed accounts 68 - db.run("INSERT INTO accounts (user_id, name) VALUES (?, ?)", [ 69 - userId, 70 - "Checking", 71 - ]); 72 - db.run("INSERT INTO accounts (user_id, name) VALUES (?, ?)", [ 73 - userId, 74 - "Savings", 75 - ]); 76 - // Seed cards 77 - db.run( 78 - "INSERT INTO cards (user_id, number, expiry, cvv) VALUES (?, ?, ?, ?)", 79 - [userId, "4111111111111111", "12/26", "123"] 80 - ); 81 - db.run( 82 - "INSERT INTO cards (user_id, number, expiry, cvv) VALUES (?, ?, ?, ?)", 83 - [userId, "5500000000000004", "11/25", "456"] 84 - ); 85 - // Seed transactions 86 - db.run( 87 - 'INSERT INTO transactions (user_id, account_id, amount, type, description, date) VALUES (?, 1, -50.25, "debit", "Grocery Store", "2024-06-01T10:00:00Z")', 88 - [userId] 89 - ); 90 - db.run( 91 - 'INSERT INTO transactions (user_id, account_id, amount, type, description, date) VALUES (?, 1, 2000.00, "credit", "Salary", "2024-06-02T09:00:00Z")', 92 - [userId] 93 - ); 94 - db.run( 95 - 'INSERT INTO transactions (user_id, account_id, amount, type, description, date) VALUES (?, 2, -100.00, "debit", "Online Shopping", "2024-06-03T15:30:00Z")', 96 - [userId] 97 - ); 98 - db.run( 99 - 'INSERT INTO transactions (user_id, account_id, amount, type, description, date) VALUES (?, 1, -120.00, "debit", "Online Shopping", "2024-06-02T10:00:00Z")', 100 - [userId] 101 - ); 102 - db.run( 103 - 'INSERT INTO transactions (user_id, account_id, amount, type, description, date) VALUES (?, 1, -35.60, "debit", "Restaurant - Italian Bistro", "2024-06-04T19:45:00Z")', 104 - [userId] 105 - ); 106 - db.run( 107 - 'INSERT INTO transactions (user_id, account_id, amount, type, description, date) VALUES (?, 2, -75.00, "debit", "Electricity Bill", "2024-06-05T08:00:00Z")', 108 - [userId] 109 - ); 110 - db.run( 111 - 'INSERT INTO transactions (user_id, account_id, amount, type, description, date) VALUES (?, 1, -20.00, "debit", "ATM Withdrawal", "2024-06-06T12:30:00Z")', 112 - [userId] 113 - ); 114 - db.run( 115 - 'INSERT INTO transactions (user_id, account_id, amount, type, description, date) VALUES (?, 2, 500.00, "credit", "Transfer from Checking", "2024-06-07T14:00:00Z")', 116 - [userId] 117 - ); 118 - db.run( 119 - 'INSERT INTO transactions (user_id, account_id, amount, type, description, date) VALUES (?, 1, -12.99, "debit", "Coffee Shop", "2024-06-08T09:15:00Z")', 120 - [userId] 121 - ); 122 - db.run( 123 - 'INSERT INTO transactions (user_id, account_id, amount, type, description, date) VALUES (?, 1, -60.00, "debit", "Gas Station", "2024-06-09T17:20:00Z")', 124 - [userId] 125 - ); 126 - db.run( 127 - 'INSERT INTO transactions (user_id, account_id, amount, type, description, date) VALUES (?, 2, 100.00, "credit", "Gift Received", "2024-06-10T11:00:00Z")', 128 - [userId] 129 - ); 130 - db.run( 131 - 'INSERT INTO transactions (user_id, account_id, amount, type, description, date) VALUES (?, 1, -45.00, "debit", "Pharmacy", "2024-06-11T16:10:00Z")', 132 - [userId] 133 - ); 134 - db.run( 135 - 'INSERT INTO transactions (user_id, account_id, amount, type, description, date) VALUES (?, 2, -150.00, "debit", "Online Subscription", "2024-06-12T07:30:00Z")', 136 - [userId] 137 - ); 138 - db.run( 139 - 'INSERT INTO transactions (user_id, account_id, amount, type, description, date) VALUES (?, 1, -80.00, "debit", "Electronics Store", "2024-06-13T13:50:00Z")', 140 - [userId] 141 - ); 142 - db.run( 143 - 'INSERT INTO transactions (user_id, account_id, amount, type, description, date) VALUES (?, 2, 250.00, "credit", "Freelance Payment", "2024-06-14T18:00:00Z")', 144 - [userId] 145 - ); 146 - db.run( 147 - 'INSERT INTO transactions (user_id, account_id, amount, type, description, date) VALUES (?, 1, -22.50, "debit", "Bookstore", "2024-06-15T15:40:00Z")', 148 - [userId] 149 - ); 150 - db.run( 151 - 'INSERT INTO transactions (user_id, account_id, amount, type, description, date) VALUES (?, 2, -90.00, "debit", "Water Bill", "2024-06-16T10:00:00Z")', 152 - [userId] 153 - ); 154 - db.run( 155 - 'INSERT INTO transactions (user_id, account_id, amount, type, description, date) VALUES (?, 1, -5.75, "debit", "Bakery", "2024-06-17T08:25:00Z")', 156 - [userId] 157 - ); 158 - db.run( 159 - 'INSERT INTO transactions (user_id, account_id, amount, type, description, date) VALUES (?, 2, 300.00, "credit", "Stock Dividend", "2024-06-18T20:00:00Z")', 160 - [userId] 161 - ); 162 - } 163 - ); 164 - } 165 - }); 166 - }); 167 - 168 - function generateToken(user) { 169 - return jwt.sign({ id: user.id, username: user.username }, SECRET, { 170 - expiresIn: TOKEN_EXPIRY, 171 - }); 172 - } 173 - function generateRefreshToken(user) { 174 - return jwt.sign({ id: user.id, username: user.username }, REFRESH_SECRET, { 175 - expiresIn: "7d", 176 - }); 177 - } 178 - 179 - function authenticateToken(req, res, next) { 180 - const authHeader = req.headers["authorization"]; 181 - const token = authHeader && authHeader.split(" ")[1]; 182 - if (!token) return res.sendStatus(401); 183 - jwt.verify(token, SECRET, (err, user) => { 184 - if (err) return res.sendStatus(403); 185 - req.user = user; 186 - next(); 187 - }); 188 - } 189 - 190 - // Auth endpoints 191 - app.post("/login", (req, res) => { 192 - const { username, password } = req.body; 193 - db.get("SELECT * FROM users WHERE username = ?", [username], (err, user) => { 194 - if (!user || !bcrypt.compareSync(password, user.password)) { 195 - return res.status(401).json({ message: "Invalid credentials" }); 196 - } 197 - const token = generateToken(user); 198 - const refreshToken = generateRefreshToken(user); 199 - res.json({ token, refreshToken }); 200 - }); 201 - }); 202 - 203 - app.post("/refresh-token", (req, res) => { 204 - const { refreshToken } = req.body; 205 - if (!refreshToken) return res.sendStatus(401); 206 - jwt.verify(refreshToken, REFRESH_SECRET, (err, user) => { 207 - if (err) return res.sendStatus(403); 208 - const token = generateToken(user); 209 - const refreshToken = generateRefreshToken(user); 210 - 211 - res.json({ token, refreshToken }); 212 - }); 213 - }); 214 - 215 - // Protected endpoints 216 - app.get("/accounts", authenticateToken, (req, res) => { 217 - db.all( 218 - "SELECT * FROM accounts WHERE user_id = ?", 219 - [req.user.id], 220 - (err, accounts) => { 221 - if (err) return res.status(500).json({ error: "DB error" }); 222 - if (!accounts.length) return res.json([]); 223 - // For each account, calculate balance from transactions 224 - const accountIds = accounts.map((acc) => acc.id); 225 - db.all( 226 - `SELECT account_id, SUM(amount) as balance FROM transactions WHERE user_id = ? AND account_id IN (${accountIds 227 - .map(() => "?") 228 - .join(",")}) GROUP BY account_id`, 229 - [req.user.id, ...accountIds], 230 - (err, balances) => { 231 - if (err) return res.status(500).json({ error: "DB error" }); 232 - const balanceMap = {}; 233 - balances.forEach((b) => { 234 - balanceMap[b.account_id] = b.balance || 0; 235 - }); 236 - const result = accounts.map((acc) => ({ 237 - ...acc, 238 - balance: balanceMap[acc.id] || 0, 239 - })); 240 - res.json(result); 241 - } 242 - ); 243 - } 244 - ); 245 - }); 246 - 247 - app.get("/cards", authenticateToken, (req, res) => { 248 - db.all( 249 - "SELECT * FROM cards WHERE user_id = ?", 250 - [req.user.id], 251 - (err, rows) => { 252 - res.json(rows); 253 - } 254 - ); 255 - }); 256 - 257 - // Transactions: search, sort, paginate 258 - app.get("/transactions", authenticateToken, (req, res) => { 259 - const { 260 - search = "", 261 - sort = "date", 262 - order = "desc", 263 - page = 1, 264 - limit = 10, 265 - } = req.query; 266 - const offset = (parseInt(page) - 1) * parseInt(limit); 267 - let query = "SELECT * FROM transactions WHERE user_id = ?"; 268 - let params = [req.user.id]; 269 - if (search.length) { 270 - query += " AND (description LIKE ? OR type LIKE ?)"; 271 - params.push(`%${search}%`, `%${search}%`); 272 - } 273 - query += ` ORDER BY ${sort} ${order.toUpperCase()} LIMIT ? OFFSET ?`; 274 - params.push(parseInt(limit), offset); 275 - db.all(query, params, (err, rows) => { 276 - res.json(rows); 277 - }); 278 - }); 279 - 280 - // Start server 281 - app.listen(PORT, () => { 282 - console.log(`Server running on port ${PORT}`); 283 - });
+3
server/.dockerignore
··· 1 + generated 2 + node_modules 3 + .git
+5
server/.gitignore
··· 1 + node_modules/ 2 + data/ 3 + generated/ 4 + .DS_Store 5 + coverage/
+17
server/Dockerfile
··· 1 + FROM node:22 2 + 3 + WORKDIR /usr/src/app 4 + 5 + COPY package*.json . 6 + 7 + RUN npm install 8 + 9 + COPY . . 10 + 11 + RUN ./node_modules/.bin/openapi --input ./src/openapi.yaml --output ./generated 12 + 13 + USER node 14 + 15 + EXPOSE 3001 16 + 17 + CMD ["./node_modules/.bin/nodemon", "src/index.ts"]
+6
server/babel.config.js
··· 1 + module.exports = { 2 + presets: [ 3 + ["@babel/preset-env", { targets: { node: "current" } }], 4 + "@babel/preset-typescript", 5 + ], 6 + };
+8
server/jest.config.ts
··· 1 + import type { Config } from "jest"; 2 + 3 + const config: Config = { 4 + verbose: true, 5 + setupFiles: ["./tests/jest.setup.ts"], 6 + }; 7 + 8 + export default config;
+9369
server/package-lock.json
··· 1 + { 2 + "name": "bankingmockapi-server", 3 + "version": "1.0.0", 4 + "lockfileVersion": 3, 5 + "requires": true, 6 + "packages": { 7 + "": { 8 + "name": "bankingmockapi-server", 9 + "version": "1.0.0", 10 + "license": "ISC", 11 + "dependencies": { 12 + "bcryptjs": "2.4.3", 13 + "body-parser": "^1.20.3", 14 + "cors": "^2.8.5", 15 + "express": "4.21.2", 16 + "express-openapi-validator": "^5.6.0", 17 + "jsonwebtoken": "9.0.2", 18 + "sqlite-async": "ndp/sqlite-async#13-typescript", 19 + "zod": "^4.1.11" 20 + }, 21 + "devDependencies": { 22 + "@babel/core": "^7.28.4", 23 + "@babel/preset-env": "^7.28.3", 24 + "@babel/preset-typescript": "^7.27.1", 25 + "@faker-js/faker": "^9.0.0", 26 + "@types/bcryptjs": "^2.4.6", 27 + "@types/body-parser": "^1.19.6", 28 + "@types/cors": "^2.8.19", 29 + "@types/express": "^5.0.3", 30 + "@types/faker": "^6.6.8", 31 + "@types/jest": "^30.0.0", 32 + "@types/jsonwebtoken": "^9.0.10", 33 + "@types/sqlite3": "^3.1.11", 34 + "@types/supertest": "^6.0.3", 35 + "babel-jest": "^29.7.0", 36 + "jest": "^29.7.0", 37 + "nodemon": "^3.1.10", 38 + "openapi-typescript": "^7.9.1", 39 + "openapi-typescript-codegen": "^0.29.0", 40 + "supertest": "^7.1.4", 41 + "ts-node": "^10.9.2", 42 + "typescript": "^5.9.2" 43 + } 44 + }, 45 + "node_modules/@apidevtools/json-schema-ref-parser": { 46 + "version": "11.9.3", 47 + "resolved": "https://registry.npmjs.org/@apidevtools/json-schema-ref-parser/-/json-schema-ref-parser-11.9.3.tgz", 48 + "integrity": "sha512-60vepv88RwcJtSHrD6MjIL6Ta3SOYbgfnkHb+ppAVK+o9mXprRtulx7VlRl3lN3bbvysAfCS7WMVfhUYemB0IQ==", 49 + "dev": true, 50 + "license": "MIT", 51 + "dependencies": { 52 + "@jsdevtools/ono": "^7.1.3", 53 + "@types/json-schema": "^7.0.15", 54 + "js-yaml": "^4.1.0" 55 + }, 56 + "engines": { 57 + "node": ">= 16" 58 + }, 59 + "funding": { 60 + "url": "https://github.com/sponsors/philsturgeon" 61 + } 62 + }, 63 + "node_modules/@babel/code-frame": { 64 + "version": "7.27.1", 65 + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", 66 + "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", 67 + "dev": true, 68 + "license": "MIT", 69 + "dependencies": { 70 + "@babel/helper-validator-identifier": "^7.27.1", 71 + "js-tokens": "^4.0.0", 72 + "picocolors": "^1.1.1" 73 + }, 74 + "engines": { 75 + "node": ">=6.9.0" 76 + } 77 + }, 78 + "node_modules/@babel/compat-data": { 79 + "version": "7.28.4", 80 + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.4.tgz", 81 + "integrity": "sha512-YsmSKC29MJwf0gF8Rjjrg5LQCmyh+j/nD8/eP7f+BeoQTKYqs9RoWbjGOdy0+1Ekr68RJZMUOPVQaQisnIo4Rw==", 82 + "dev": true, 83 + "license": "MIT", 84 + "engines": { 85 + "node": ">=6.9.0" 86 + } 87 + }, 88 + "node_modules/@babel/core": { 89 + "version": "7.28.4", 90 + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.4.tgz", 91 + "integrity": "sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA==", 92 + "dev": true, 93 + "license": "MIT", 94 + "dependencies": { 95 + "@babel/code-frame": "^7.27.1", 96 + "@babel/generator": "^7.28.3", 97 + "@babel/helper-compilation-targets": "^7.27.2", 98 + "@babel/helper-module-transforms": "^7.28.3", 99 + "@babel/helpers": "^7.28.4", 100 + "@babel/parser": "^7.28.4", 101 + "@babel/template": "^7.27.2", 102 + "@babel/traverse": "^7.28.4", 103 + "@babel/types": "^7.28.4", 104 + "@jridgewell/remapping": "^2.3.5", 105 + "convert-source-map": "^2.0.0", 106 + "debug": "^4.1.0", 107 + "gensync": "^1.0.0-beta.2", 108 + "json5": "^2.2.3", 109 + "semver": "^6.3.1" 110 + }, 111 + "engines": { 112 + "node": ">=6.9.0" 113 + }, 114 + "funding": { 115 + "type": "opencollective", 116 + "url": "https://opencollective.com/babel" 117 + } 118 + }, 119 + "node_modules/@babel/core/node_modules/debug": { 120 + "version": "4.4.3", 121 + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", 122 + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", 123 + "dev": true, 124 + "license": "MIT", 125 + "dependencies": { 126 + "ms": "^2.1.3" 127 + }, 128 + "engines": { 129 + "node": ">=6.0" 130 + }, 131 + "peerDependenciesMeta": { 132 + "supports-color": { 133 + "optional": true 134 + } 135 + } 136 + }, 137 + "node_modules/@babel/core/node_modules/ms": { 138 + "version": "2.1.3", 139 + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", 140 + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", 141 + "dev": true, 142 + "license": "MIT" 143 + }, 144 + "node_modules/@babel/core/node_modules/semver": { 145 + "version": "6.3.1", 146 + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", 147 + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", 148 + "dev": true, 149 + "license": "ISC", 150 + "bin": { 151 + "semver": "bin/semver.js" 152 + } 153 + }, 154 + "node_modules/@babel/generator": { 155 + "version": "7.28.3", 156 + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.3.tgz", 157 + "integrity": "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw==", 158 + "dev": true, 159 + "license": "MIT", 160 + "dependencies": { 161 + "@babel/parser": "^7.28.3", 162 + "@babel/types": "^7.28.2", 163 + "@jridgewell/gen-mapping": "^0.3.12", 164 + "@jridgewell/trace-mapping": "^0.3.28", 165 + "jsesc": "^3.0.2" 166 + }, 167 + "engines": { 168 + "node": ">=6.9.0" 169 + } 170 + }, 171 + "node_modules/@babel/generator/node_modules/@jridgewell/trace-mapping": { 172 + "version": "0.3.31", 173 + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", 174 + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", 175 + "dev": true, 176 + "license": "MIT", 177 + "dependencies": { 178 + "@jridgewell/resolve-uri": "^3.1.0", 179 + "@jridgewell/sourcemap-codec": "^1.4.14" 180 + } 181 + }, 182 + "node_modules/@babel/helper-annotate-as-pure": { 183 + "version": "7.27.3", 184 + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.3.tgz", 185 + "integrity": "sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==", 186 + "dev": true, 187 + "license": "MIT", 188 + "dependencies": { 189 + "@babel/types": "^7.27.3" 190 + }, 191 + "engines": { 192 + "node": ">=6.9.0" 193 + } 194 + }, 195 + "node_modules/@babel/helper-compilation-targets": { 196 + "version": "7.27.2", 197 + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz", 198 + "integrity": "sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==", 199 + "dev": true, 200 + "license": "MIT", 201 + "dependencies": { 202 + "@babel/compat-data": "^7.27.2", 203 + "@babel/helper-validator-option": "^7.27.1", 204 + "browserslist": "^4.24.0", 205 + "lru-cache": "^5.1.1", 206 + "semver": "^6.3.1" 207 + }, 208 + "engines": { 209 + "node": ">=6.9.0" 210 + } 211 + }, 212 + "node_modules/@babel/helper-compilation-targets/node_modules/lru-cache": { 213 + "version": "5.1.1", 214 + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", 215 + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", 216 + "dev": true, 217 + "license": "ISC", 218 + "dependencies": { 219 + "yallist": "^3.0.2" 220 + } 221 + }, 222 + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { 223 + "version": "6.3.1", 224 + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", 225 + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", 226 + "dev": true, 227 + "license": "ISC", 228 + "bin": { 229 + "semver": "bin/semver.js" 230 + } 231 + }, 232 + "node_modules/@babel/helper-compilation-targets/node_modules/yallist": { 233 + "version": "3.1.1", 234 + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", 235 + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", 236 + "dev": true, 237 + "license": "ISC" 238 + }, 239 + "node_modules/@babel/helper-create-class-features-plugin": { 240 + "version": "7.28.3", 241 + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.28.3.tgz", 242 + "integrity": "sha512-V9f6ZFIYSLNEbuGA/92uOvYsGCJNsuA8ESZ4ldc09bWk/j8H8TKiPw8Mk1eG6olpnO0ALHJmYfZvF4MEE4gajg==", 243 + "dev": true, 244 + "license": "MIT", 245 + "dependencies": { 246 + "@babel/helper-annotate-as-pure": "^7.27.3", 247 + "@babel/helper-member-expression-to-functions": "^7.27.1", 248 + "@babel/helper-optimise-call-expression": "^7.27.1", 249 + "@babel/helper-replace-supers": "^7.27.1", 250 + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", 251 + "@babel/traverse": "^7.28.3", 252 + "semver": "^6.3.1" 253 + }, 254 + "engines": { 255 + "node": ">=6.9.0" 256 + }, 257 + "peerDependencies": { 258 + "@babel/core": "^7.0.0" 259 + } 260 + }, 261 + "node_modules/@babel/helper-create-class-features-plugin/node_modules/semver": { 262 + "version": "6.3.1", 263 + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", 264 + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", 265 + "dev": true, 266 + "license": "ISC", 267 + "bin": { 268 + "semver": "bin/semver.js" 269 + } 270 + }, 271 + "node_modules/@babel/helper-create-regexp-features-plugin": { 272 + "version": "7.27.1", 273 + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.27.1.tgz", 274 + "integrity": "sha512-uVDC72XVf8UbrH5qQTc18Agb8emwjTiZrQE11Nv3CuBEZmVvTwwE9CBUEvHku06gQCAyYf8Nv6ja1IN+6LMbxQ==", 275 + "dev": true, 276 + "license": "MIT", 277 + "dependencies": { 278 + "@babel/helper-annotate-as-pure": "^7.27.1", 279 + "regexpu-core": "^6.2.0", 280 + "semver": "^6.3.1" 281 + }, 282 + "engines": { 283 + "node": ">=6.9.0" 284 + }, 285 + "peerDependencies": { 286 + "@babel/core": "^7.0.0" 287 + } 288 + }, 289 + "node_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver": { 290 + "version": "6.3.1", 291 + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", 292 + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", 293 + "dev": true, 294 + "license": "ISC", 295 + "bin": { 296 + "semver": "bin/semver.js" 297 + } 298 + }, 299 + "node_modules/@babel/helper-define-polyfill-provider": { 300 + "version": "0.6.5", 301 + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.5.tgz", 302 + "integrity": "sha512-uJnGFcPsWQK8fvjgGP5LZUZZsYGIoPeRjSF5PGwrelYgq7Q15/Ft9NGFp1zglwgIv//W0uG4BevRuSJRyylZPg==", 303 + "dev": true, 304 + "license": "MIT", 305 + "dependencies": { 306 + "@babel/helper-compilation-targets": "^7.27.2", 307 + "@babel/helper-plugin-utils": "^7.27.1", 308 + "debug": "^4.4.1", 309 + "lodash.debounce": "^4.0.8", 310 + "resolve": "^1.22.10" 311 + }, 312 + "peerDependencies": { 313 + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" 314 + } 315 + }, 316 + "node_modules/@babel/helper-define-polyfill-provider/node_modules/debug": { 317 + "version": "4.4.3", 318 + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", 319 + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", 320 + "dev": true, 321 + "license": "MIT", 322 + "dependencies": { 323 + "ms": "^2.1.3" 324 + }, 325 + "engines": { 326 + "node": ">=6.0" 327 + }, 328 + "peerDependenciesMeta": { 329 + "supports-color": { 330 + "optional": true 331 + } 332 + } 333 + }, 334 + "node_modules/@babel/helper-define-polyfill-provider/node_modules/ms": { 335 + "version": "2.1.3", 336 + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", 337 + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", 338 + "dev": true, 339 + "license": "MIT" 340 + }, 341 + "node_modules/@babel/helper-globals": { 342 + "version": "7.28.0", 343 + "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", 344 + "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", 345 + "dev": true, 346 + "license": "MIT", 347 + "engines": { 348 + "node": ">=6.9.0" 349 + } 350 + }, 351 + "node_modules/@babel/helper-member-expression-to-functions": { 352 + "version": "7.27.1", 353 + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.27.1.tgz", 354 + "integrity": "sha512-E5chM8eWjTp/aNoVpcbfM7mLxu9XGLWYise2eBKGQomAk/Mb4XoxyqXTZbuTohbsl8EKqdlMhnDI2CCLfcs9wA==", 355 + "dev": true, 356 + "license": "MIT", 357 + "dependencies": { 358 + "@babel/traverse": "^7.27.1", 359 + "@babel/types": "^7.27.1" 360 + }, 361 + "engines": { 362 + "node": ">=6.9.0" 363 + } 364 + }, 365 + "node_modules/@babel/helper-module-imports": { 366 + "version": "7.27.1", 367 + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz", 368 + "integrity": "sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==", 369 + "dev": true, 370 + "license": "MIT", 371 + "dependencies": { 372 + "@babel/traverse": "^7.27.1", 373 + "@babel/types": "^7.27.1" 374 + }, 375 + "engines": { 376 + "node": ">=6.9.0" 377 + } 378 + }, 379 + "node_modules/@babel/helper-module-transforms": { 380 + "version": "7.28.3", 381 + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.3.tgz", 382 + "integrity": "sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==", 383 + "dev": true, 384 + "license": "MIT", 385 + "dependencies": { 386 + "@babel/helper-module-imports": "^7.27.1", 387 + "@babel/helper-validator-identifier": "^7.27.1", 388 + "@babel/traverse": "^7.28.3" 389 + }, 390 + "engines": { 391 + "node": ">=6.9.0" 392 + }, 393 + "peerDependencies": { 394 + "@babel/core": "^7.0.0" 395 + } 396 + }, 397 + "node_modules/@babel/helper-optimise-call-expression": { 398 + "version": "7.27.1", 399 + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.27.1.tgz", 400 + "integrity": "sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==", 401 + "dev": true, 402 + "license": "MIT", 403 + "dependencies": { 404 + "@babel/types": "^7.27.1" 405 + }, 406 + "engines": { 407 + "node": ">=6.9.0" 408 + } 409 + }, 410 + "node_modules/@babel/helper-plugin-utils": { 411 + "version": "7.27.1", 412 + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz", 413 + "integrity": "sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==", 414 + "dev": true, 415 + "license": "MIT", 416 + "engines": { 417 + "node": ">=6.9.0" 418 + } 419 + }, 420 + "node_modules/@babel/helper-remap-async-to-generator": { 421 + "version": "7.27.1", 422 + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.27.1.tgz", 423 + "integrity": "sha512-7fiA521aVw8lSPeI4ZOD3vRFkoqkJcS+z4hFo82bFSH/2tNd6eJ5qCVMS5OzDmZh/kaHQeBaeyxK6wljcPtveA==", 424 + "dev": true, 425 + "license": "MIT", 426 + "dependencies": { 427 + "@babel/helper-annotate-as-pure": "^7.27.1", 428 + "@babel/helper-wrap-function": "^7.27.1", 429 + "@babel/traverse": "^7.27.1" 430 + }, 431 + "engines": { 432 + "node": ">=6.9.0" 433 + }, 434 + "peerDependencies": { 435 + "@babel/core": "^7.0.0" 436 + } 437 + }, 438 + "node_modules/@babel/helper-replace-supers": { 439 + "version": "7.27.1", 440 + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.27.1.tgz", 441 + "integrity": "sha512-7EHz6qDZc8RYS5ElPoShMheWvEgERonFCs7IAonWLLUTXW59DP14bCZt89/GKyreYn8g3S83m21FelHKbeDCKA==", 442 + "dev": true, 443 + "license": "MIT", 444 + "dependencies": { 445 + "@babel/helper-member-expression-to-functions": "^7.27.1", 446 + "@babel/helper-optimise-call-expression": "^7.27.1", 447 + "@babel/traverse": "^7.27.1" 448 + }, 449 + "engines": { 450 + "node": ">=6.9.0" 451 + }, 452 + "peerDependencies": { 453 + "@babel/core": "^7.0.0" 454 + } 455 + }, 456 + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { 457 + "version": "7.27.1", 458 + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.27.1.tgz", 459 + "integrity": "sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg==", 460 + "dev": true, 461 + "license": "MIT", 462 + "dependencies": { 463 + "@babel/traverse": "^7.27.1", 464 + "@babel/types": "^7.27.1" 465 + }, 466 + "engines": { 467 + "node": ">=6.9.0" 468 + } 469 + }, 470 + "node_modules/@babel/helper-string-parser": { 471 + "version": "7.27.1", 472 + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", 473 + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", 474 + "dev": true, 475 + "license": "MIT", 476 + "engines": { 477 + "node": ">=6.9.0" 478 + } 479 + }, 480 + "node_modules/@babel/helper-validator-identifier": { 481 + "version": "7.27.1", 482 + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz", 483 + "integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==", 484 + "dev": true, 485 + "license": "MIT", 486 + "engines": { 487 + "node": ">=6.9.0" 488 + } 489 + }, 490 + "node_modules/@babel/helper-validator-option": { 491 + "version": "7.27.1", 492 + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", 493 + "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", 494 + "dev": true, 495 + "license": "MIT", 496 + "engines": { 497 + "node": ">=6.9.0" 498 + } 499 + }, 500 + "node_modules/@babel/helper-wrap-function": { 501 + "version": "7.28.3", 502 + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.28.3.tgz", 503 + "integrity": "sha512-zdf983tNfLZFletc0RRXYrHrucBEg95NIFMkn6K9dbeMYnsgHaSBGcQqdsCSStG2PYwRre0Qc2NNSCXbG+xc6g==", 504 + "dev": true, 505 + "license": "MIT", 506 + "dependencies": { 507 + "@babel/template": "^7.27.2", 508 + "@babel/traverse": "^7.28.3", 509 + "@babel/types": "^7.28.2" 510 + }, 511 + "engines": { 512 + "node": ">=6.9.0" 513 + } 514 + }, 515 + "node_modules/@babel/helpers": { 516 + "version": "7.28.4", 517 + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.4.tgz", 518 + "integrity": "sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==", 519 + "dev": true, 520 + "license": "MIT", 521 + "dependencies": { 522 + "@babel/template": "^7.27.2", 523 + "@babel/types": "^7.28.4" 524 + }, 525 + "engines": { 526 + "node": ">=6.9.0" 527 + } 528 + }, 529 + "node_modules/@babel/parser": { 530 + "version": "7.28.4", 531 + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.4.tgz", 532 + "integrity": "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg==", 533 + "dev": true, 534 + "license": "MIT", 535 + "dependencies": { 536 + "@babel/types": "^7.28.4" 537 + }, 538 + "bin": { 539 + "parser": "bin/babel-parser.js" 540 + }, 541 + "engines": { 542 + "node": ">=6.0.0" 543 + } 544 + }, 545 + "node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": { 546 + "version": "7.27.1", 547 + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.27.1.tgz", 548 + "integrity": "sha512-QPG3C9cCVRQLxAVwmefEmwdTanECuUBMQZ/ym5kiw3XKCGA7qkuQLcjWWHcrD/GKbn/WmJwaezfuuAOcyKlRPA==", 549 + "dev": true, 550 + "license": "MIT", 551 + "dependencies": { 552 + "@babel/helper-plugin-utils": "^7.27.1", 553 + "@babel/traverse": "^7.27.1" 554 + }, 555 + "engines": { 556 + "node": ">=6.9.0" 557 + }, 558 + "peerDependencies": { 559 + "@babel/core": "^7.0.0" 560 + } 561 + }, 562 + "node_modules/@babel/plugin-bugfix-safari-class-field-initializer-scope": { 563 + "version": "7.27.1", 564 + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.27.1.tgz", 565 + "integrity": "sha512-qNeq3bCKnGgLkEXUuFry6dPlGfCdQNZbn7yUAPCInwAJHMU7THJfrBSozkcWq5sNM6RcF3S8XyQL2A52KNR9IA==", 566 + "dev": true, 567 + "license": "MIT", 568 + "dependencies": { 569 + "@babel/helper-plugin-utils": "^7.27.1" 570 + }, 571 + "engines": { 572 + "node": ">=6.9.0" 573 + }, 574 + "peerDependencies": { 575 + "@babel/core": "^7.0.0" 576 + } 577 + }, 578 + "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { 579 + "version": "7.27.1", 580 + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.27.1.tgz", 581 + "integrity": "sha512-g4L7OYun04N1WyqMNjldFwlfPCLVkgB54A/YCXICZYBsvJJE3kByKv9c9+R/nAfmIfjl2rKYLNyMHboYbZaWaA==", 582 + "dev": true, 583 + "license": "MIT", 584 + "dependencies": { 585 + "@babel/helper-plugin-utils": "^7.27.1" 586 + }, 587 + "engines": { 588 + "node": ">=6.9.0" 589 + }, 590 + "peerDependencies": { 591 + "@babel/core": "^7.0.0" 592 + } 593 + }, 594 + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { 595 + "version": "7.27.1", 596 + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.27.1.tgz", 597 + "integrity": "sha512-oO02gcONcD5O1iTLi/6frMJBIwWEHceWGSGqrpCmEL8nogiS6J9PBlE48CaK20/Jx1LuRml9aDftLgdjXT8+Cw==", 598 + "dev": true, 599 + "license": "MIT", 600 + "dependencies": { 601 + "@babel/helper-plugin-utils": "^7.27.1", 602 + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", 603 + "@babel/plugin-transform-optional-chaining": "^7.27.1" 604 + }, 605 + "engines": { 606 + "node": ">=6.9.0" 607 + }, 608 + "peerDependencies": { 609 + "@babel/core": "^7.13.0" 610 + } 611 + }, 612 + "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { 613 + "version": "7.28.3", 614 + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.28.3.tgz", 615 + "integrity": "sha512-b6YTX108evsvE4YgWyQ921ZAFFQm3Bn+CA3+ZXlNVnPhx+UfsVURoPjfGAPCjBgrqo30yX/C2nZGX96DxvR9Iw==", 616 + "dev": true, 617 + "license": "MIT", 618 + "dependencies": { 619 + "@babel/helper-plugin-utils": "^7.27.1", 620 + "@babel/traverse": "^7.28.3" 621 + }, 622 + "engines": { 623 + "node": ">=6.9.0" 624 + }, 625 + "peerDependencies": { 626 + "@babel/core": "^7.0.0" 627 + } 628 + }, 629 + "node_modules/@babel/plugin-proposal-private-property-in-object": { 630 + "version": "7.21.0-placeholder-for-preset-env.2", 631 + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", 632 + "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", 633 + "dev": true, 634 + "license": "MIT", 635 + "engines": { 636 + "node": ">=6.9.0" 637 + }, 638 + "peerDependencies": { 639 + "@babel/core": "^7.0.0-0" 640 + } 641 + }, 642 + "node_modules/@babel/plugin-syntax-async-generators": { 643 + "version": "7.8.4", 644 + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", 645 + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", 646 + "dev": true, 647 + "license": "MIT", 648 + "dependencies": { 649 + "@babel/helper-plugin-utils": "^7.8.0" 650 + }, 651 + "peerDependencies": { 652 + "@babel/core": "^7.0.0-0" 653 + } 654 + }, 655 + "node_modules/@babel/plugin-syntax-bigint": { 656 + "version": "7.8.3", 657 + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", 658 + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", 659 + "dev": true, 660 + "license": "MIT", 661 + "dependencies": { 662 + "@babel/helper-plugin-utils": "^7.8.0" 663 + }, 664 + "peerDependencies": { 665 + "@babel/core": "^7.0.0-0" 666 + } 667 + }, 668 + "node_modules/@babel/plugin-syntax-class-properties": { 669 + "version": "7.12.13", 670 + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", 671 + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", 672 + "dev": true, 673 + "license": "MIT", 674 + "dependencies": { 675 + "@babel/helper-plugin-utils": "^7.12.13" 676 + }, 677 + "peerDependencies": { 678 + "@babel/core": "^7.0.0-0" 679 + } 680 + }, 681 + "node_modules/@babel/plugin-syntax-class-static-block": { 682 + "version": "7.14.5", 683 + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", 684 + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", 685 + "dev": true, 686 + "license": "MIT", 687 + "dependencies": { 688 + "@babel/helper-plugin-utils": "^7.14.5" 689 + }, 690 + "engines": { 691 + "node": ">=6.9.0" 692 + }, 693 + "peerDependencies": { 694 + "@babel/core": "^7.0.0-0" 695 + } 696 + }, 697 + "node_modules/@babel/plugin-syntax-import-assertions": { 698 + "version": "7.27.1", 699 + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.27.1.tgz", 700 + "integrity": "sha512-UT/Jrhw57xg4ILHLFnzFpPDlMbcdEicaAtjPQpbj9wa8T4r5KVWCimHcL/460g8Ht0DMxDyjsLgiWSkVjnwPFg==", 701 + "dev": true, 702 + "license": "MIT", 703 + "dependencies": { 704 + "@babel/helper-plugin-utils": "^7.27.1" 705 + }, 706 + "engines": { 707 + "node": ">=6.9.0" 708 + }, 709 + "peerDependencies": { 710 + "@babel/core": "^7.0.0-0" 711 + } 712 + }, 713 + "node_modules/@babel/plugin-syntax-import-attributes": { 714 + "version": "7.27.1", 715 + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.27.1.tgz", 716 + "integrity": "sha512-oFT0FrKHgF53f4vOsZGi2Hh3I35PfSmVs4IBFLFj4dnafP+hIWDLg3VyKmUHfLoLHlyxY4C7DGtmHuJgn+IGww==", 717 + "dev": true, 718 + "license": "MIT", 719 + "dependencies": { 720 + "@babel/helper-plugin-utils": "^7.27.1" 721 + }, 722 + "engines": { 723 + "node": ">=6.9.0" 724 + }, 725 + "peerDependencies": { 726 + "@babel/core": "^7.0.0-0" 727 + } 728 + }, 729 + "node_modules/@babel/plugin-syntax-import-meta": { 730 + "version": "7.10.4", 731 + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", 732 + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", 733 + "dev": true, 734 + "license": "MIT", 735 + "dependencies": { 736 + "@babel/helper-plugin-utils": "^7.10.4" 737 + }, 738 + "peerDependencies": { 739 + "@babel/core": "^7.0.0-0" 740 + } 741 + }, 742 + "node_modules/@babel/plugin-syntax-json-strings": { 743 + "version": "7.8.3", 744 + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", 745 + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", 746 + "dev": true, 747 + "license": "MIT", 748 + "dependencies": { 749 + "@babel/helper-plugin-utils": "^7.8.0" 750 + }, 751 + "peerDependencies": { 752 + "@babel/core": "^7.0.0-0" 753 + } 754 + }, 755 + "node_modules/@babel/plugin-syntax-jsx": { 756 + "version": "7.27.1", 757 + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.27.1.tgz", 758 + "integrity": "sha512-y8YTNIeKoyhGd9O0Jiyzyyqk8gdjnumGTQPsz0xOZOQ2RmkVJeZ1vmmfIvFEKqucBG6axJGBZDE/7iI5suUI/w==", 759 + "dev": true, 760 + "license": "MIT", 761 + "dependencies": { 762 + "@babel/helper-plugin-utils": "^7.27.1" 763 + }, 764 + "engines": { 765 + "node": ">=6.9.0" 766 + }, 767 + "peerDependencies": { 768 + "@babel/core": "^7.0.0-0" 769 + } 770 + }, 771 + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { 772 + "version": "7.10.4", 773 + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", 774 + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", 775 + "dev": true, 776 + "license": "MIT", 777 + "dependencies": { 778 + "@babel/helper-plugin-utils": "^7.10.4" 779 + }, 780 + "peerDependencies": { 781 + "@babel/core": "^7.0.0-0" 782 + } 783 + }, 784 + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { 785 + "version": "7.8.3", 786 + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", 787 + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", 788 + "dev": true, 789 + "license": "MIT", 790 + "dependencies": { 791 + "@babel/helper-plugin-utils": "^7.8.0" 792 + }, 793 + "peerDependencies": { 794 + "@babel/core": "^7.0.0-0" 795 + } 796 + }, 797 + "node_modules/@babel/plugin-syntax-numeric-separator": { 798 + "version": "7.10.4", 799 + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", 800 + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", 801 + "dev": true, 802 + "license": "MIT", 803 + "dependencies": { 804 + "@babel/helper-plugin-utils": "^7.10.4" 805 + }, 806 + "peerDependencies": { 807 + "@babel/core": "^7.0.0-0" 808 + } 809 + }, 810 + "node_modules/@babel/plugin-syntax-object-rest-spread": { 811 + "version": "7.8.3", 812 + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", 813 + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", 814 + "dev": true, 815 + "license": "MIT", 816 + "dependencies": { 817 + "@babel/helper-plugin-utils": "^7.8.0" 818 + }, 819 + "peerDependencies": { 820 + "@babel/core": "^7.0.0-0" 821 + } 822 + }, 823 + "node_modules/@babel/plugin-syntax-optional-catch-binding": { 824 + "version": "7.8.3", 825 + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", 826 + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", 827 + "dev": true, 828 + "license": "MIT", 829 + "dependencies": { 830 + "@babel/helper-plugin-utils": "^7.8.0" 831 + }, 832 + "peerDependencies": { 833 + "@babel/core": "^7.0.0-0" 834 + } 835 + }, 836 + "node_modules/@babel/plugin-syntax-optional-chaining": { 837 + "version": "7.8.3", 838 + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", 839 + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", 840 + "dev": true, 841 + "license": "MIT", 842 + "dependencies": { 843 + "@babel/helper-plugin-utils": "^7.8.0" 844 + }, 845 + "peerDependencies": { 846 + "@babel/core": "^7.0.0-0" 847 + } 848 + }, 849 + "node_modules/@babel/plugin-syntax-private-property-in-object": { 850 + "version": "7.14.5", 851 + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", 852 + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", 853 + "dev": true, 854 + "license": "MIT", 855 + "dependencies": { 856 + "@babel/helper-plugin-utils": "^7.14.5" 857 + }, 858 + "engines": { 859 + "node": ">=6.9.0" 860 + }, 861 + "peerDependencies": { 862 + "@babel/core": "^7.0.0-0" 863 + } 864 + }, 865 + "node_modules/@babel/plugin-syntax-top-level-await": { 866 + "version": "7.14.5", 867 + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", 868 + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", 869 + "dev": true, 870 + "license": "MIT", 871 + "dependencies": { 872 + "@babel/helper-plugin-utils": "^7.14.5" 873 + }, 874 + "engines": { 875 + "node": ">=6.9.0" 876 + }, 877 + "peerDependencies": { 878 + "@babel/core": "^7.0.0-0" 879 + } 880 + }, 881 + "node_modules/@babel/plugin-syntax-typescript": { 882 + "version": "7.27.1", 883 + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.27.1.tgz", 884 + "integrity": "sha512-xfYCBMxveHrRMnAWl1ZlPXOZjzkN82THFvLhQhFXFt81Z5HnN+EtUkZhv/zcKpmT3fzmWZB0ywiBrbC3vogbwQ==", 885 + "dev": true, 886 + "license": "MIT", 887 + "dependencies": { 888 + "@babel/helper-plugin-utils": "^7.27.1" 889 + }, 890 + "engines": { 891 + "node": ">=6.9.0" 892 + }, 893 + "peerDependencies": { 894 + "@babel/core": "^7.0.0-0" 895 + } 896 + }, 897 + "node_modules/@babel/plugin-syntax-unicode-sets-regex": { 898 + "version": "7.18.6", 899 + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", 900 + "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", 901 + "dev": true, 902 + "license": "MIT", 903 + "dependencies": { 904 + "@babel/helper-create-regexp-features-plugin": "^7.18.6", 905 + "@babel/helper-plugin-utils": "^7.18.6" 906 + }, 907 + "engines": { 908 + "node": ">=6.9.0" 909 + }, 910 + "peerDependencies": { 911 + "@babel/core": "^7.0.0" 912 + } 913 + }, 914 + "node_modules/@babel/plugin-transform-arrow-functions": { 915 + "version": "7.27.1", 916 + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.27.1.tgz", 917 + "integrity": "sha512-8Z4TGic6xW70FKThA5HYEKKyBpOOsucTOD1DjU3fZxDg+K3zBJcXMFnt/4yQiZnf5+MiOMSXQ9PaEK/Ilh1DeA==", 918 + "dev": true, 919 + "license": "MIT", 920 + "dependencies": { 921 + "@babel/helper-plugin-utils": "^7.27.1" 922 + }, 923 + "engines": { 924 + "node": ">=6.9.0" 925 + }, 926 + "peerDependencies": { 927 + "@babel/core": "^7.0.0-0" 928 + } 929 + }, 930 + "node_modules/@babel/plugin-transform-async-generator-functions": { 931 + "version": "7.28.0", 932 + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.28.0.tgz", 933 + "integrity": "sha512-BEOdvX4+M765icNPZeidyADIvQ1m1gmunXufXxvRESy/jNNyfovIqUyE7MVgGBjWktCoJlzvFA1To2O4ymIO3Q==", 934 + "dev": true, 935 + "license": "MIT", 936 + "dependencies": { 937 + "@babel/helper-plugin-utils": "^7.27.1", 938 + "@babel/helper-remap-async-to-generator": "^7.27.1", 939 + "@babel/traverse": "^7.28.0" 940 + }, 941 + "engines": { 942 + "node": ">=6.9.0" 943 + }, 944 + "peerDependencies": { 945 + "@babel/core": "^7.0.0-0" 946 + } 947 + }, 948 + "node_modules/@babel/plugin-transform-async-to-generator": { 949 + "version": "7.27.1", 950 + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.27.1.tgz", 951 + "integrity": "sha512-NREkZsZVJS4xmTr8qzE5y8AfIPqsdQfRuUiLRTEzb7Qii8iFWCyDKaUV2c0rCuh4ljDZ98ALHP/PetiBV2nddA==", 952 + "dev": true, 953 + "license": "MIT", 954 + "dependencies": { 955 + "@babel/helper-module-imports": "^7.27.1", 956 + "@babel/helper-plugin-utils": "^7.27.1", 957 + "@babel/helper-remap-async-to-generator": "^7.27.1" 958 + }, 959 + "engines": { 960 + "node": ">=6.9.0" 961 + }, 962 + "peerDependencies": { 963 + "@babel/core": "^7.0.0-0" 964 + } 965 + }, 966 + "node_modules/@babel/plugin-transform-block-scoped-functions": { 967 + "version": "7.27.1", 968 + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.27.1.tgz", 969 + "integrity": "sha512-cnqkuOtZLapWYZUYM5rVIdv1nXYuFVIltZ6ZJ7nIj585QsjKM5dhL2Fu/lICXZ1OyIAFc7Qy+bvDAtTXqGrlhg==", 970 + "dev": true, 971 + "license": "MIT", 972 + "dependencies": { 973 + "@babel/helper-plugin-utils": "^7.27.1" 974 + }, 975 + "engines": { 976 + "node": ">=6.9.0" 977 + }, 978 + "peerDependencies": { 979 + "@babel/core": "^7.0.0-0" 980 + } 981 + }, 982 + "node_modules/@babel/plugin-transform-block-scoping": { 983 + "version": "7.28.4", 984 + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.28.4.tgz", 985 + "integrity": "sha512-1yxmvN0MJHOhPVmAsmoW5liWwoILobu/d/ShymZmj867bAdxGbehIrew1DuLpw2Ukv+qDSSPQdYW1dLNE7t11A==", 986 + "dev": true, 987 + "license": "MIT", 988 + "dependencies": { 989 + "@babel/helper-plugin-utils": "^7.27.1" 990 + }, 991 + "engines": { 992 + "node": ">=6.9.0" 993 + }, 994 + "peerDependencies": { 995 + "@babel/core": "^7.0.0-0" 996 + } 997 + }, 998 + "node_modules/@babel/plugin-transform-class-properties": { 999 + "version": "7.27.1", 1000 + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.27.1.tgz", 1001 + "integrity": "sha512-D0VcalChDMtuRvJIu3U/fwWjf8ZMykz5iZsg77Nuj821vCKI3zCyRLwRdWbsuJ/uRwZhZ002QtCqIkwC/ZkvbA==", 1002 + "dev": true, 1003 + "license": "MIT", 1004 + "dependencies": { 1005 + "@babel/helper-create-class-features-plugin": "^7.27.1", 1006 + "@babel/helper-plugin-utils": "^7.27.1" 1007 + }, 1008 + "engines": { 1009 + "node": ">=6.9.0" 1010 + }, 1011 + "peerDependencies": { 1012 + "@babel/core": "^7.0.0-0" 1013 + } 1014 + }, 1015 + "node_modules/@babel/plugin-transform-class-static-block": { 1016 + "version": "7.28.3", 1017 + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.28.3.tgz", 1018 + "integrity": "sha512-LtPXlBbRoc4Njl/oh1CeD/3jC+atytbnf/UqLoqTDcEYGUPj022+rvfkbDYieUrSj3CaV4yHDByPE+T2HwfsJg==", 1019 + "dev": true, 1020 + "license": "MIT", 1021 + "dependencies": { 1022 + "@babel/helper-create-class-features-plugin": "^7.28.3", 1023 + "@babel/helper-plugin-utils": "^7.27.1" 1024 + }, 1025 + "engines": { 1026 + "node": ">=6.9.0" 1027 + }, 1028 + "peerDependencies": { 1029 + "@babel/core": "^7.12.0" 1030 + } 1031 + }, 1032 + "node_modules/@babel/plugin-transform-classes": { 1033 + "version": "7.28.4", 1034 + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.28.4.tgz", 1035 + "integrity": "sha512-cFOlhIYPBv/iBoc+KS3M6et2XPtbT2HiCRfBXWtfpc9OAyostldxIf9YAYB6ypURBBbx+Qv6nyrLzASfJe+hBA==", 1036 + "dev": true, 1037 + "license": "MIT", 1038 + "dependencies": { 1039 + "@babel/helper-annotate-as-pure": "^7.27.3", 1040 + "@babel/helper-compilation-targets": "^7.27.2", 1041 + "@babel/helper-globals": "^7.28.0", 1042 + "@babel/helper-plugin-utils": "^7.27.1", 1043 + "@babel/helper-replace-supers": "^7.27.1", 1044 + "@babel/traverse": "^7.28.4" 1045 + }, 1046 + "engines": { 1047 + "node": ">=6.9.0" 1048 + }, 1049 + "peerDependencies": { 1050 + "@babel/core": "^7.0.0-0" 1051 + } 1052 + }, 1053 + "node_modules/@babel/plugin-transform-computed-properties": { 1054 + "version": "7.27.1", 1055 + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.27.1.tgz", 1056 + "integrity": "sha512-lj9PGWvMTVksbWiDT2tW68zGS/cyo4AkZ/QTp0sQT0mjPopCmrSkzxeXkznjqBxzDI6TclZhOJbBmbBLjuOZUw==", 1057 + "dev": true, 1058 + "license": "MIT", 1059 + "dependencies": { 1060 + "@babel/helper-plugin-utils": "^7.27.1", 1061 + "@babel/template": "^7.27.1" 1062 + }, 1063 + "engines": { 1064 + "node": ">=6.9.0" 1065 + }, 1066 + "peerDependencies": { 1067 + "@babel/core": "^7.0.0-0" 1068 + } 1069 + }, 1070 + "node_modules/@babel/plugin-transform-destructuring": { 1071 + "version": "7.28.0", 1072 + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.28.0.tgz", 1073 + "integrity": "sha512-v1nrSMBiKcodhsyJ4Gf+Z0U/yawmJDBOTpEB3mcQY52r9RIyPneGyAS/yM6seP/8I+mWI3elOMtT5dB8GJVs+A==", 1074 + "dev": true, 1075 + "license": "MIT", 1076 + "dependencies": { 1077 + "@babel/helper-plugin-utils": "^7.27.1", 1078 + "@babel/traverse": "^7.28.0" 1079 + }, 1080 + "engines": { 1081 + "node": ">=6.9.0" 1082 + }, 1083 + "peerDependencies": { 1084 + "@babel/core": "^7.0.0-0" 1085 + } 1086 + }, 1087 + "node_modules/@babel/plugin-transform-dotall-regex": { 1088 + "version": "7.27.1", 1089 + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.27.1.tgz", 1090 + "integrity": "sha512-gEbkDVGRvjj7+T1ivxrfgygpT7GUd4vmODtYpbs0gZATdkX8/iSnOtZSxiZnsgm1YjTgjI6VKBGSJJevkrclzw==", 1091 + "dev": true, 1092 + "license": "MIT", 1093 + "dependencies": { 1094 + "@babel/helper-create-regexp-features-plugin": "^7.27.1", 1095 + "@babel/helper-plugin-utils": "^7.27.1" 1096 + }, 1097 + "engines": { 1098 + "node": ">=6.9.0" 1099 + }, 1100 + "peerDependencies": { 1101 + "@babel/core": "^7.0.0-0" 1102 + } 1103 + }, 1104 + "node_modules/@babel/plugin-transform-duplicate-keys": { 1105 + "version": "7.27.1", 1106 + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.27.1.tgz", 1107 + "integrity": "sha512-MTyJk98sHvSs+cvZ4nOauwTTG1JeonDjSGvGGUNHreGQns+Mpt6WX/dVzWBHgg+dYZhkC4X+zTDfkTU+Vy9y7Q==", 1108 + "dev": true, 1109 + "license": "MIT", 1110 + "dependencies": { 1111 + "@babel/helper-plugin-utils": "^7.27.1" 1112 + }, 1113 + "engines": { 1114 + "node": ">=6.9.0" 1115 + }, 1116 + "peerDependencies": { 1117 + "@babel/core": "^7.0.0-0" 1118 + } 1119 + }, 1120 + "node_modules/@babel/plugin-transform-duplicate-named-capturing-groups-regex": { 1121 + "version": "7.27.1", 1122 + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.27.1.tgz", 1123 + "integrity": "sha512-hkGcueTEzuhB30B3eJCbCYeCaaEQOmQR0AdvzpD4LoN0GXMWzzGSuRrxR2xTnCrvNbVwK9N6/jQ92GSLfiZWoQ==", 1124 + "dev": true, 1125 + "license": "MIT", 1126 + "dependencies": { 1127 + "@babel/helper-create-regexp-features-plugin": "^7.27.1", 1128 + "@babel/helper-plugin-utils": "^7.27.1" 1129 + }, 1130 + "engines": { 1131 + "node": ">=6.9.0" 1132 + }, 1133 + "peerDependencies": { 1134 + "@babel/core": "^7.0.0" 1135 + } 1136 + }, 1137 + "node_modules/@babel/plugin-transform-dynamic-import": { 1138 + "version": "7.27.1", 1139 + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.27.1.tgz", 1140 + "integrity": "sha512-MHzkWQcEmjzzVW9j2q8LGjwGWpG2mjwaaB0BNQwst3FIjqsg8Ct/mIZlvSPJvfi9y2AC8mi/ktxbFVL9pZ1I4A==", 1141 + "dev": true, 1142 + "license": "MIT", 1143 + "dependencies": { 1144 + "@babel/helper-plugin-utils": "^7.27.1" 1145 + }, 1146 + "engines": { 1147 + "node": ">=6.9.0" 1148 + }, 1149 + "peerDependencies": { 1150 + "@babel/core": "^7.0.0-0" 1151 + } 1152 + }, 1153 + "node_modules/@babel/plugin-transform-explicit-resource-management": { 1154 + "version": "7.28.0", 1155 + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-explicit-resource-management/-/plugin-transform-explicit-resource-management-7.28.0.tgz", 1156 + "integrity": "sha512-K8nhUcn3f6iB+P3gwCv/no7OdzOZQcKchW6N389V6PD8NUWKZHzndOd9sPDVbMoBsbmjMqlB4L9fm+fEFNVlwQ==", 1157 + "dev": true, 1158 + "license": "MIT", 1159 + "dependencies": { 1160 + "@babel/helper-plugin-utils": "^7.27.1", 1161 + "@babel/plugin-transform-destructuring": "^7.28.0" 1162 + }, 1163 + "engines": { 1164 + "node": ">=6.9.0" 1165 + }, 1166 + "peerDependencies": { 1167 + "@babel/core": "^7.0.0-0" 1168 + } 1169 + }, 1170 + "node_modules/@babel/plugin-transform-exponentiation-operator": { 1171 + "version": "7.27.1", 1172 + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.27.1.tgz", 1173 + "integrity": "sha512-uspvXnhHvGKf2r4VVtBpeFnuDWsJLQ6MF6lGJLC89jBR1uoVeqM416AZtTuhTezOfgHicpJQmoD5YUakO/YmXQ==", 1174 + "dev": true, 1175 + "license": "MIT", 1176 + "dependencies": { 1177 + "@babel/helper-plugin-utils": "^7.27.1" 1178 + }, 1179 + "engines": { 1180 + "node": ">=6.9.0" 1181 + }, 1182 + "peerDependencies": { 1183 + "@babel/core": "^7.0.0-0" 1184 + } 1185 + }, 1186 + "node_modules/@babel/plugin-transform-export-namespace-from": { 1187 + "version": "7.27.1", 1188 + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.27.1.tgz", 1189 + "integrity": "sha512-tQvHWSZ3/jH2xuq/vZDy0jNn+ZdXJeM8gHvX4lnJmsc3+50yPlWdZXIc5ay+umX+2/tJIqHqiEqcJvxlmIvRvQ==", 1190 + "dev": true, 1191 + "license": "MIT", 1192 + "dependencies": { 1193 + "@babel/helper-plugin-utils": "^7.27.1" 1194 + }, 1195 + "engines": { 1196 + "node": ">=6.9.0" 1197 + }, 1198 + "peerDependencies": { 1199 + "@babel/core": "^7.0.0-0" 1200 + } 1201 + }, 1202 + "node_modules/@babel/plugin-transform-for-of": { 1203 + "version": "7.27.1", 1204 + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.27.1.tgz", 1205 + "integrity": "sha512-BfbWFFEJFQzLCQ5N8VocnCtA8J1CLkNTe2Ms2wocj75dd6VpiqS5Z5quTYcUoo4Yq+DN0rtikODccuv7RU81sw==", 1206 + "dev": true, 1207 + "license": "MIT", 1208 + "dependencies": { 1209 + "@babel/helper-plugin-utils": "^7.27.1", 1210 + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" 1211 + }, 1212 + "engines": { 1213 + "node": ">=6.9.0" 1214 + }, 1215 + "peerDependencies": { 1216 + "@babel/core": "^7.0.0-0" 1217 + } 1218 + }, 1219 + "node_modules/@babel/plugin-transform-function-name": { 1220 + "version": "7.27.1", 1221 + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.27.1.tgz", 1222 + "integrity": "sha512-1bQeydJF9Nr1eBCMMbC+hdwmRlsv5XYOMu03YSWFwNs0HsAmtSxxF1fyuYPqemVldVyFmlCU7w8UE14LupUSZQ==", 1223 + "dev": true, 1224 + "license": "MIT", 1225 + "dependencies": { 1226 + "@babel/helper-compilation-targets": "^7.27.1", 1227 + "@babel/helper-plugin-utils": "^7.27.1", 1228 + "@babel/traverse": "^7.27.1" 1229 + }, 1230 + "engines": { 1231 + "node": ">=6.9.0" 1232 + }, 1233 + "peerDependencies": { 1234 + "@babel/core": "^7.0.0-0" 1235 + } 1236 + }, 1237 + "node_modules/@babel/plugin-transform-json-strings": { 1238 + "version": "7.27.1", 1239 + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.27.1.tgz", 1240 + "integrity": "sha512-6WVLVJiTjqcQauBhn1LkICsR2H+zm62I3h9faTDKt1qP4jn2o72tSvqMwtGFKGTpojce0gJs+76eZ2uCHRZh0Q==", 1241 + "dev": true, 1242 + "license": "MIT", 1243 + "dependencies": { 1244 + "@babel/helper-plugin-utils": "^7.27.1" 1245 + }, 1246 + "engines": { 1247 + "node": ">=6.9.0" 1248 + }, 1249 + "peerDependencies": { 1250 + "@babel/core": "^7.0.0-0" 1251 + } 1252 + }, 1253 + "node_modules/@babel/plugin-transform-literals": { 1254 + "version": "7.27.1", 1255 + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.27.1.tgz", 1256 + "integrity": "sha512-0HCFSepIpLTkLcsi86GG3mTUzxV5jpmbv97hTETW3yzrAij8aqlD36toB1D0daVFJM8NK6GvKO0gslVQmm+zZA==", 1257 + "dev": true, 1258 + "license": "MIT", 1259 + "dependencies": { 1260 + "@babel/helper-plugin-utils": "^7.27.1" 1261 + }, 1262 + "engines": { 1263 + "node": ">=6.9.0" 1264 + }, 1265 + "peerDependencies": { 1266 + "@babel/core": "^7.0.0-0" 1267 + } 1268 + }, 1269 + "node_modules/@babel/plugin-transform-logical-assignment-operators": { 1270 + "version": "7.27.1", 1271 + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.27.1.tgz", 1272 + "integrity": "sha512-SJvDs5dXxiae4FbSL1aBJlG4wvl594N6YEVVn9e3JGulwioy6z3oPjx/sQBO3Y4NwUu5HNix6KJ3wBZoewcdbw==", 1273 + "dev": true, 1274 + "license": "MIT", 1275 + "dependencies": { 1276 + "@babel/helper-plugin-utils": "^7.27.1" 1277 + }, 1278 + "engines": { 1279 + "node": ">=6.9.0" 1280 + }, 1281 + "peerDependencies": { 1282 + "@babel/core": "^7.0.0-0" 1283 + } 1284 + }, 1285 + "node_modules/@babel/plugin-transform-member-expression-literals": { 1286 + "version": "7.27.1", 1287 + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.27.1.tgz", 1288 + "integrity": "sha512-hqoBX4dcZ1I33jCSWcXrP+1Ku7kdqXf1oeah7ooKOIiAdKQ+uqftgCFNOSzA5AMS2XIHEYeGFg4cKRCdpxzVOQ==", 1289 + "dev": true, 1290 + "license": "MIT", 1291 + "dependencies": { 1292 + "@babel/helper-plugin-utils": "^7.27.1" 1293 + }, 1294 + "engines": { 1295 + "node": ">=6.9.0" 1296 + }, 1297 + "peerDependencies": { 1298 + "@babel/core": "^7.0.0-0" 1299 + } 1300 + }, 1301 + "node_modules/@babel/plugin-transform-modules-amd": { 1302 + "version": "7.27.1", 1303 + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.27.1.tgz", 1304 + "integrity": "sha512-iCsytMg/N9/oFq6n+gFTvUYDZQOMK5kEdeYxmxt91fcJGycfxVP9CnrxoliM0oumFERba2i8ZtwRUCMhvP1LnA==", 1305 + "dev": true, 1306 + "license": "MIT", 1307 + "dependencies": { 1308 + "@babel/helper-module-transforms": "^7.27.1", 1309 + "@babel/helper-plugin-utils": "^7.27.1" 1310 + }, 1311 + "engines": { 1312 + "node": ">=6.9.0" 1313 + }, 1314 + "peerDependencies": { 1315 + "@babel/core": "^7.0.0-0" 1316 + } 1317 + }, 1318 + "node_modules/@babel/plugin-transform-modules-commonjs": { 1319 + "version": "7.27.1", 1320 + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.27.1.tgz", 1321 + "integrity": "sha512-OJguuwlTYlN0gBZFRPqwOGNWssZjfIUdS7HMYtN8c1KmwpwHFBwTeFZrg9XZa+DFTitWOW5iTAG7tyCUPsCCyw==", 1322 + "dev": true, 1323 + "license": "MIT", 1324 + "dependencies": { 1325 + "@babel/helper-module-transforms": "^7.27.1", 1326 + "@babel/helper-plugin-utils": "^7.27.1" 1327 + }, 1328 + "engines": { 1329 + "node": ">=6.9.0" 1330 + }, 1331 + "peerDependencies": { 1332 + "@babel/core": "^7.0.0-0" 1333 + } 1334 + }, 1335 + "node_modules/@babel/plugin-transform-modules-systemjs": { 1336 + "version": "7.27.1", 1337 + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.27.1.tgz", 1338 + "integrity": "sha512-w5N1XzsRbc0PQStASMksmUeqECuzKuTJer7kFagK8AXgpCMkeDMO5S+aaFb7A51ZYDF7XI34qsTX+fkHiIm5yA==", 1339 + "dev": true, 1340 + "license": "MIT", 1341 + "dependencies": { 1342 + "@babel/helper-module-transforms": "^7.27.1", 1343 + "@babel/helper-plugin-utils": "^7.27.1", 1344 + "@babel/helper-validator-identifier": "^7.27.1", 1345 + "@babel/traverse": "^7.27.1" 1346 + }, 1347 + "engines": { 1348 + "node": ">=6.9.0" 1349 + }, 1350 + "peerDependencies": { 1351 + "@babel/core": "^7.0.0-0" 1352 + } 1353 + }, 1354 + "node_modules/@babel/plugin-transform-modules-umd": { 1355 + "version": "7.27.1", 1356 + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.27.1.tgz", 1357 + "integrity": "sha512-iQBE/xC5BV1OxJbp6WG7jq9IWiD+xxlZhLrdwpPkTX3ydmXdvoCpyfJN7acaIBZaOqTfr76pgzqBJflNbeRK+w==", 1358 + "dev": true, 1359 + "license": "MIT", 1360 + "dependencies": { 1361 + "@babel/helper-module-transforms": "^7.27.1", 1362 + "@babel/helper-plugin-utils": "^7.27.1" 1363 + }, 1364 + "engines": { 1365 + "node": ">=6.9.0" 1366 + }, 1367 + "peerDependencies": { 1368 + "@babel/core": "^7.0.0-0" 1369 + } 1370 + }, 1371 + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { 1372 + "version": "7.27.1", 1373 + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.27.1.tgz", 1374 + "integrity": "sha512-SstR5JYy8ddZvD6MhV0tM/j16Qds4mIpJTOd1Yu9J9pJjH93bxHECF7pgtc28XvkzTD6Pxcm/0Z73Hvk7kb3Ng==", 1375 + "dev": true, 1376 + "license": "MIT", 1377 + "dependencies": { 1378 + "@babel/helper-create-regexp-features-plugin": "^7.27.1", 1379 + "@babel/helper-plugin-utils": "^7.27.1" 1380 + }, 1381 + "engines": { 1382 + "node": ">=6.9.0" 1383 + }, 1384 + "peerDependencies": { 1385 + "@babel/core": "^7.0.0" 1386 + } 1387 + }, 1388 + "node_modules/@babel/plugin-transform-new-target": { 1389 + "version": "7.27.1", 1390 + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.27.1.tgz", 1391 + "integrity": "sha512-f6PiYeqXQ05lYq3TIfIDu/MtliKUbNwkGApPUvyo6+tc7uaR4cPjPe7DFPr15Uyycg2lZU6btZ575CuQoYh7MQ==", 1392 + "dev": true, 1393 + "license": "MIT", 1394 + "dependencies": { 1395 + "@babel/helper-plugin-utils": "^7.27.1" 1396 + }, 1397 + "engines": { 1398 + "node": ">=6.9.0" 1399 + }, 1400 + "peerDependencies": { 1401 + "@babel/core": "^7.0.0-0" 1402 + } 1403 + }, 1404 + "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { 1405 + "version": "7.27.1", 1406 + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.27.1.tgz", 1407 + "integrity": "sha512-aGZh6xMo6q9vq1JGcw58lZ1Z0+i0xB2x0XaauNIUXd6O1xXc3RwoWEBlsTQrY4KQ9Jf0s5rgD6SiNkaUdJegTA==", 1408 + "dev": true, 1409 + "license": "MIT", 1410 + "dependencies": { 1411 + "@babel/helper-plugin-utils": "^7.27.1" 1412 + }, 1413 + "engines": { 1414 + "node": ">=6.9.0" 1415 + }, 1416 + "peerDependencies": { 1417 + "@babel/core": "^7.0.0-0" 1418 + } 1419 + }, 1420 + "node_modules/@babel/plugin-transform-numeric-separator": { 1421 + "version": "7.27.1", 1422 + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.27.1.tgz", 1423 + "integrity": "sha512-fdPKAcujuvEChxDBJ5c+0BTaS6revLV7CJL08e4m3de8qJfNIuCc2nc7XJYOjBoTMJeqSmwXJ0ypE14RCjLwaw==", 1424 + "dev": true, 1425 + "license": "MIT", 1426 + "dependencies": { 1427 + "@babel/helper-plugin-utils": "^7.27.1" 1428 + }, 1429 + "engines": { 1430 + "node": ">=6.9.0" 1431 + }, 1432 + "peerDependencies": { 1433 + "@babel/core": "^7.0.0-0" 1434 + } 1435 + }, 1436 + "node_modules/@babel/plugin-transform-object-rest-spread": { 1437 + "version": "7.28.4", 1438 + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.28.4.tgz", 1439 + "integrity": "sha512-373KA2HQzKhQCYiRVIRr+3MjpCObqzDlyrM6u4I201wL8Mp2wHf7uB8GhDwis03k2ti8Zr65Zyyqs1xOxUF/Ew==", 1440 + "dev": true, 1441 + "license": "MIT", 1442 + "dependencies": { 1443 + "@babel/helper-compilation-targets": "^7.27.2", 1444 + "@babel/helper-plugin-utils": "^7.27.1", 1445 + "@babel/plugin-transform-destructuring": "^7.28.0", 1446 + "@babel/plugin-transform-parameters": "^7.27.7", 1447 + "@babel/traverse": "^7.28.4" 1448 + }, 1449 + "engines": { 1450 + "node": ">=6.9.0" 1451 + }, 1452 + "peerDependencies": { 1453 + "@babel/core": "^7.0.0-0" 1454 + } 1455 + }, 1456 + "node_modules/@babel/plugin-transform-object-super": { 1457 + "version": "7.27.1", 1458 + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.27.1.tgz", 1459 + "integrity": "sha512-SFy8S9plRPbIcxlJ8A6mT/CxFdJx/c04JEctz4jf8YZaVS2px34j7NXRrlGlHkN/M2gnpL37ZpGRGVFLd3l8Ng==", 1460 + "dev": true, 1461 + "license": "MIT", 1462 + "dependencies": { 1463 + "@babel/helper-plugin-utils": "^7.27.1", 1464 + "@babel/helper-replace-supers": "^7.27.1" 1465 + }, 1466 + "engines": { 1467 + "node": ">=6.9.0" 1468 + }, 1469 + "peerDependencies": { 1470 + "@babel/core": "^7.0.0-0" 1471 + } 1472 + }, 1473 + "node_modules/@babel/plugin-transform-optional-catch-binding": { 1474 + "version": "7.27.1", 1475 + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.27.1.tgz", 1476 + "integrity": "sha512-txEAEKzYrHEX4xSZN4kJ+OfKXFVSWKB2ZxM9dpcE3wT7smwkNmXo5ORRlVzMVdJbD+Q8ILTgSD7959uj+3Dm3Q==", 1477 + "dev": true, 1478 + "license": "MIT", 1479 + "dependencies": { 1480 + "@babel/helper-plugin-utils": "^7.27.1" 1481 + }, 1482 + "engines": { 1483 + "node": ">=6.9.0" 1484 + }, 1485 + "peerDependencies": { 1486 + "@babel/core": "^7.0.0-0" 1487 + } 1488 + }, 1489 + "node_modules/@babel/plugin-transform-optional-chaining": { 1490 + "version": "7.27.1", 1491 + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.27.1.tgz", 1492 + "integrity": "sha512-BQmKPPIuc8EkZgNKsv0X4bPmOoayeu4F1YCwx2/CfmDSXDbp7GnzlUH+/ul5VGfRg1AoFPsrIThlEBj2xb4CAg==", 1493 + "dev": true, 1494 + "license": "MIT", 1495 + "dependencies": { 1496 + "@babel/helper-plugin-utils": "^7.27.1", 1497 + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" 1498 + }, 1499 + "engines": { 1500 + "node": ">=6.9.0" 1501 + }, 1502 + "peerDependencies": { 1503 + "@babel/core": "^7.0.0-0" 1504 + } 1505 + }, 1506 + "node_modules/@babel/plugin-transform-parameters": { 1507 + "version": "7.27.7", 1508 + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.27.7.tgz", 1509 + "integrity": "sha512-qBkYTYCb76RRxUM6CcZA5KRu8K4SM8ajzVeUgVdMVO9NN9uI/GaVmBg/WKJJGnNokV9SY8FxNOVWGXzqzUidBg==", 1510 + "dev": true, 1511 + "license": "MIT", 1512 + "dependencies": { 1513 + "@babel/helper-plugin-utils": "^7.27.1" 1514 + }, 1515 + "engines": { 1516 + "node": ">=6.9.0" 1517 + }, 1518 + "peerDependencies": { 1519 + "@babel/core": "^7.0.0-0" 1520 + } 1521 + }, 1522 + "node_modules/@babel/plugin-transform-private-methods": { 1523 + "version": "7.27.1", 1524 + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.27.1.tgz", 1525 + "integrity": "sha512-10FVt+X55AjRAYI9BrdISN9/AQWHqldOeZDUoLyif1Kn05a56xVBXb8ZouL8pZ9jem8QpXaOt8TS7RHUIS+GPA==", 1526 + "dev": true, 1527 + "license": "MIT", 1528 + "dependencies": { 1529 + "@babel/helper-create-class-features-plugin": "^7.27.1", 1530 + "@babel/helper-plugin-utils": "^7.27.1" 1531 + }, 1532 + "engines": { 1533 + "node": ">=6.9.0" 1534 + }, 1535 + "peerDependencies": { 1536 + "@babel/core": "^7.0.0-0" 1537 + } 1538 + }, 1539 + "node_modules/@babel/plugin-transform-private-property-in-object": { 1540 + "version": "7.27.1", 1541 + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.27.1.tgz", 1542 + "integrity": "sha512-5J+IhqTi1XPa0DXF83jYOaARrX+41gOewWbkPyjMNRDqgOCqdffGh8L3f/Ek5utaEBZExjSAzcyjmV9SSAWObQ==", 1543 + "dev": true, 1544 + "license": "MIT", 1545 + "dependencies": { 1546 + "@babel/helper-annotate-as-pure": "^7.27.1", 1547 + "@babel/helper-create-class-features-plugin": "^7.27.1", 1548 + "@babel/helper-plugin-utils": "^7.27.1" 1549 + }, 1550 + "engines": { 1551 + "node": ">=6.9.0" 1552 + }, 1553 + "peerDependencies": { 1554 + "@babel/core": "^7.0.0-0" 1555 + } 1556 + }, 1557 + "node_modules/@babel/plugin-transform-property-literals": { 1558 + "version": "7.27.1", 1559 + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.27.1.tgz", 1560 + "integrity": "sha512-oThy3BCuCha8kDZ8ZkgOg2exvPYUlprMukKQXI1r1pJ47NCvxfkEy8vK+r/hT9nF0Aa4H1WUPZZjHTFtAhGfmQ==", 1561 + "dev": true, 1562 + "license": "MIT", 1563 + "dependencies": { 1564 + "@babel/helper-plugin-utils": "^7.27.1" 1565 + }, 1566 + "engines": { 1567 + "node": ">=6.9.0" 1568 + }, 1569 + "peerDependencies": { 1570 + "@babel/core": "^7.0.0-0" 1571 + } 1572 + }, 1573 + "node_modules/@babel/plugin-transform-regenerator": { 1574 + "version": "7.28.4", 1575 + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.28.4.tgz", 1576 + "integrity": "sha512-+ZEdQlBoRg9m2NnzvEeLgtvBMO4tkFBw5SQIUgLICgTrumLoU7lr+Oghi6km2PFj+dbUt2u1oby2w3BDO9YQnA==", 1577 + "dev": true, 1578 + "license": "MIT", 1579 + "dependencies": { 1580 + "@babel/helper-plugin-utils": "^7.27.1" 1581 + }, 1582 + "engines": { 1583 + "node": ">=6.9.0" 1584 + }, 1585 + "peerDependencies": { 1586 + "@babel/core": "^7.0.0-0" 1587 + } 1588 + }, 1589 + "node_modules/@babel/plugin-transform-regexp-modifiers": { 1590 + "version": "7.27.1", 1591 + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.27.1.tgz", 1592 + "integrity": "sha512-TtEciroaiODtXvLZv4rmfMhkCv8jx3wgKpL68PuiPh2M4fvz5jhsA7697N1gMvkvr/JTF13DrFYyEbY9U7cVPA==", 1593 + "dev": true, 1594 + "license": "MIT", 1595 + "dependencies": { 1596 + "@babel/helper-create-regexp-features-plugin": "^7.27.1", 1597 + "@babel/helper-plugin-utils": "^7.27.1" 1598 + }, 1599 + "engines": { 1600 + "node": ">=6.9.0" 1601 + }, 1602 + "peerDependencies": { 1603 + "@babel/core": "^7.0.0" 1604 + } 1605 + }, 1606 + "node_modules/@babel/plugin-transform-reserved-words": { 1607 + "version": "7.27.1", 1608 + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.27.1.tgz", 1609 + "integrity": "sha512-V2ABPHIJX4kC7HegLkYoDpfg9PVmuWy/i6vUM5eGK22bx4YVFD3M5F0QQnWQoDs6AGsUWTVOopBiMFQgHaSkVw==", 1610 + "dev": true, 1611 + "license": "MIT", 1612 + "dependencies": { 1613 + "@babel/helper-plugin-utils": "^7.27.1" 1614 + }, 1615 + "engines": { 1616 + "node": ">=6.9.0" 1617 + }, 1618 + "peerDependencies": { 1619 + "@babel/core": "^7.0.0-0" 1620 + } 1621 + }, 1622 + "node_modules/@babel/plugin-transform-shorthand-properties": { 1623 + "version": "7.27.1", 1624 + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.27.1.tgz", 1625 + "integrity": "sha512-N/wH1vcn4oYawbJ13Y/FxcQrWk63jhfNa7jef0ih7PHSIHX2LB7GWE1rkPrOnka9kwMxb6hMl19p7lidA+EHmQ==", 1626 + "dev": true, 1627 + "license": "MIT", 1628 + "dependencies": { 1629 + "@babel/helper-plugin-utils": "^7.27.1" 1630 + }, 1631 + "engines": { 1632 + "node": ">=6.9.0" 1633 + }, 1634 + "peerDependencies": { 1635 + "@babel/core": "^7.0.0-0" 1636 + } 1637 + }, 1638 + "node_modules/@babel/plugin-transform-spread": { 1639 + "version": "7.27.1", 1640 + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.27.1.tgz", 1641 + "integrity": "sha512-kpb3HUqaILBJcRFVhFUs6Trdd4mkrzcGXss+6/mxUd273PfbWqSDHRzMT2234gIg2QYfAjvXLSquP1xECSg09Q==", 1642 + "dev": true, 1643 + "license": "MIT", 1644 + "dependencies": { 1645 + "@babel/helper-plugin-utils": "^7.27.1", 1646 + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" 1647 + }, 1648 + "engines": { 1649 + "node": ">=6.9.0" 1650 + }, 1651 + "peerDependencies": { 1652 + "@babel/core": "^7.0.0-0" 1653 + } 1654 + }, 1655 + "node_modules/@babel/plugin-transform-sticky-regex": { 1656 + "version": "7.27.1", 1657 + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.27.1.tgz", 1658 + "integrity": "sha512-lhInBO5bi/Kowe2/aLdBAawijx+q1pQzicSgnkB6dUPc1+RC8QmJHKf2OjvU+NZWitguJHEaEmbV6VWEouT58g==", 1659 + "dev": true, 1660 + "license": "MIT", 1661 + "dependencies": { 1662 + "@babel/helper-plugin-utils": "^7.27.1" 1663 + }, 1664 + "engines": { 1665 + "node": ">=6.9.0" 1666 + }, 1667 + "peerDependencies": { 1668 + "@babel/core": "^7.0.0-0" 1669 + } 1670 + }, 1671 + "node_modules/@babel/plugin-transform-template-literals": { 1672 + "version": "7.27.1", 1673 + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.27.1.tgz", 1674 + "integrity": "sha512-fBJKiV7F2DxZUkg5EtHKXQdbsbURW3DZKQUWphDum0uRP6eHGGa/He9mc0mypL680pb+e/lDIthRohlv8NCHkg==", 1675 + "dev": true, 1676 + "license": "MIT", 1677 + "dependencies": { 1678 + "@babel/helper-plugin-utils": "^7.27.1" 1679 + }, 1680 + "engines": { 1681 + "node": ">=6.9.0" 1682 + }, 1683 + "peerDependencies": { 1684 + "@babel/core": "^7.0.0-0" 1685 + } 1686 + }, 1687 + "node_modules/@babel/plugin-transform-typeof-symbol": { 1688 + "version": "7.27.1", 1689 + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.27.1.tgz", 1690 + "integrity": "sha512-RiSILC+nRJM7FY5srIyc4/fGIwUhyDuuBSdWn4y6yT6gm652DpCHZjIipgn6B7MQ1ITOUnAKWixEUjQRIBIcLw==", 1691 + "dev": true, 1692 + "license": "MIT", 1693 + "dependencies": { 1694 + "@babel/helper-plugin-utils": "^7.27.1" 1695 + }, 1696 + "engines": { 1697 + "node": ">=6.9.0" 1698 + }, 1699 + "peerDependencies": { 1700 + "@babel/core": "^7.0.0-0" 1701 + } 1702 + }, 1703 + "node_modules/@babel/plugin-transform-typescript": { 1704 + "version": "7.28.0", 1705 + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.28.0.tgz", 1706 + "integrity": "sha512-4AEiDEBPIZvLQaWlc9liCavE0xRM0dNca41WtBeM3jgFptfUOSG9z0uteLhq6+3rq+WB6jIvUwKDTpXEHPJ2Vg==", 1707 + "dev": true, 1708 + "license": "MIT", 1709 + "dependencies": { 1710 + "@babel/helper-annotate-as-pure": "^7.27.3", 1711 + "@babel/helper-create-class-features-plugin": "^7.27.1", 1712 + "@babel/helper-plugin-utils": "^7.27.1", 1713 + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", 1714 + "@babel/plugin-syntax-typescript": "^7.27.1" 1715 + }, 1716 + "engines": { 1717 + "node": ">=6.9.0" 1718 + }, 1719 + "peerDependencies": { 1720 + "@babel/core": "^7.0.0-0" 1721 + } 1722 + }, 1723 + "node_modules/@babel/plugin-transform-unicode-escapes": { 1724 + "version": "7.27.1", 1725 + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.27.1.tgz", 1726 + "integrity": "sha512-Ysg4v6AmF26k9vpfFuTZg8HRfVWzsh1kVfowA23y9j/Gu6dOuahdUVhkLqpObp3JIv27MLSii6noRnuKN8H0Mg==", 1727 + "dev": true, 1728 + "license": "MIT", 1729 + "dependencies": { 1730 + "@babel/helper-plugin-utils": "^7.27.1" 1731 + }, 1732 + "engines": { 1733 + "node": ">=6.9.0" 1734 + }, 1735 + "peerDependencies": { 1736 + "@babel/core": "^7.0.0-0" 1737 + } 1738 + }, 1739 + "node_modules/@babel/plugin-transform-unicode-property-regex": { 1740 + "version": "7.27.1", 1741 + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.27.1.tgz", 1742 + "integrity": "sha512-uW20S39PnaTImxp39O5qFlHLS9LJEmANjMG7SxIhap8rCHqu0Ik+tLEPX5DKmHn6CsWQ7j3lix2tFOa5YtL12Q==", 1743 + "dev": true, 1744 + "license": "MIT", 1745 + "dependencies": { 1746 + "@babel/helper-create-regexp-features-plugin": "^7.27.1", 1747 + "@babel/helper-plugin-utils": "^7.27.1" 1748 + }, 1749 + "engines": { 1750 + "node": ">=6.9.0" 1751 + }, 1752 + "peerDependencies": { 1753 + "@babel/core": "^7.0.0-0" 1754 + } 1755 + }, 1756 + "node_modules/@babel/plugin-transform-unicode-regex": { 1757 + "version": "7.27.1", 1758 + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.27.1.tgz", 1759 + "integrity": "sha512-xvINq24TRojDuyt6JGtHmkVkrfVV3FPT16uytxImLeBZqW3/H52yN+kM1MGuyPkIQxrzKwPHs5U/MP3qKyzkGw==", 1760 + "dev": true, 1761 + "license": "MIT", 1762 + "dependencies": { 1763 + "@babel/helper-create-regexp-features-plugin": "^7.27.1", 1764 + "@babel/helper-plugin-utils": "^7.27.1" 1765 + }, 1766 + "engines": { 1767 + "node": ">=6.9.0" 1768 + }, 1769 + "peerDependencies": { 1770 + "@babel/core": "^7.0.0-0" 1771 + } 1772 + }, 1773 + "node_modules/@babel/plugin-transform-unicode-sets-regex": { 1774 + "version": "7.27.1", 1775 + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.27.1.tgz", 1776 + "integrity": "sha512-EtkOujbc4cgvb0mlpQefi4NTPBzhSIevblFevACNLUspmrALgmEBdL/XfnyyITfd8fKBZrZys92zOWcik7j9Tw==", 1777 + "dev": true, 1778 + "license": "MIT", 1779 + "dependencies": { 1780 + "@babel/helper-create-regexp-features-plugin": "^7.27.1", 1781 + "@babel/helper-plugin-utils": "^7.27.1" 1782 + }, 1783 + "engines": { 1784 + "node": ">=6.9.0" 1785 + }, 1786 + "peerDependencies": { 1787 + "@babel/core": "^7.0.0" 1788 + } 1789 + }, 1790 + "node_modules/@babel/preset-env": { 1791 + "version": "7.28.3", 1792 + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.28.3.tgz", 1793 + "integrity": "sha512-ROiDcM+GbYVPYBOeCR6uBXKkQpBExLl8k9HO1ygXEyds39j+vCCsjmj7S8GOniZQlEs81QlkdJZe76IpLSiqpg==", 1794 + "dev": true, 1795 + "license": "MIT", 1796 + "dependencies": { 1797 + "@babel/compat-data": "^7.28.0", 1798 + "@babel/helper-compilation-targets": "^7.27.2", 1799 + "@babel/helper-plugin-utils": "^7.27.1", 1800 + "@babel/helper-validator-option": "^7.27.1", 1801 + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.27.1", 1802 + "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.27.1", 1803 + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.27.1", 1804 + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.27.1", 1805 + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.28.3", 1806 + "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", 1807 + "@babel/plugin-syntax-import-assertions": "^7.27.1", 1808 + "@babel/plugin-syntax-import-attributes": "^7.27.1", 1809 + "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", 1810 + "@babel/plugin-transform-arrow-functions": "^7.27.1", 1811 + "@babel/plugin-transform-async-generator-functions": "^7.28.0", 1812 + "@babel/plugin-transform-async-to-generator": "^7.27.1", 1813 + "@babel/plugin-transform-block-scoped-functions": "^7.27.1", 1814 + "@babel/plugin-transform-block-scoping": "^7.28.0", 1815 + "@babel/plugin-transform-class-properties": "^7.27.1", 1816 + "@babel/plugin-transform-class-static-block": "^7.28.3", 1817 + "@babel/plugin-transform-classes": "^7.28.3", 1818 + "@babel/plugin-transform-computed-properties": "^7.27.1", 1819 + "@babel/plugin-transform-destructuring": "^7.28.0", 1820 + "@babel/plugin-transform-dotall-regex": "^7.27.1", 1821 + "@babel/plugin-transform-duplicate-keys": "^7.27.1", 1822 + "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.27.1", 1823 + "@babel/plugin-transform-dynamic-import": "^7.27.1", 1824 + "@babel/plugin-transform-explicit-resource-management": "^7.28.0", 1825 + "@babel/plugin-transform-exponentiation-operator": "^7.27.1", 1826 + "@babel/plugin-transform-export-namespace-from": "^7.27.1", 1827 + "@babel/plugin-transform-for-of": "^7.27.1", 1828 + "@babel/plugin-transform-function-name": "^7.27.1", 1829 + "@babel/plugin-transform-json-strings": "^7.27.1", 1830 + "@babel/plugin-transform-literals": "^7.27.1", 1831 + "@babel/plugin-transform-logical-assignment-operators": "^7.27.1", 1832 + "@babel/plugin-transform-member-expression-literals": "^7.27.1", 1833 + "@babel/plugin-transform-modules-amd": "^7.27.1", 1834 + "@babel/plugin-transform-modules-commonjs": "^7.27.1", 1835 + "@babel/plugin-transform-modules-systemjs": "^7.27.1", 1836 + "@babel/plugin-transform-modules-umd": "^7.27.1", 1837 + "@babel/plugin-transform-named-capturing-groups-regex": "^7.27.1", 1838 + "@babel/plugin-transform-new-target": "^7.27.1", 1839 + "@babel/plugin-transform-nullish-coalescing-operator": "^7.27.1", 1840 + "@babel/plugin-transform-numeric-separator": "^7.27.1", 1841 + "@babel/plugin-transform-object-rest-spread": "^7.28.0", 1842 + "@babel/plugin-transform-object-super": "^7.27.1", 1843 + "@babel/plugin-transform-optional-catch-binding": "^7.27.1", 1844 + "@babel/plugin-transform-optional-chaining": "^7.27.1", 1845 + "@babel/plugin-transform-parameters": "^7.27.7", 1846 + "@babel/plugin-transform-private-methods": "^7.27.1", 1847 + "@babel/plugin-transform-private-property-in-object": "^7.27.1", 1848 + "@babel/plugin-transform-property-literals": "^7.27.1", 1849 + "@babel/plugin-transform-regenerator": "^7.28.3", 1850 + "@babel/plugin-transform-regexp-modifiers": "^7.27.1", 1851 + "@babel/plugin-transform-reserved-words": "^7.27.1", 1852 + "@babel/plugin-transform-shorthand-properties": "^7.27.1", 1853 + "@babel/plugin-transform-spread": "^7.27.1", 1854 + "@babel/plugin-transform-sticky-regex": "^7.27.1", 1855 + "@babel/plugin-transform-template-literals": "^7.27.1", 1856 + "@babel/plugin-transform-typeof-symbol": "^7.27.1", 1857 + "@babel/plugin-transform-unicode-escapes": "^7.27.1", 1858 + "@babel/plugin-transform-unicode-property-regex": "^7.27.1", 1859 + "@babel/plugin-transform-unicode-regex": "^7.27.1", 1860 + "@babel/plugin-transform-unicode-sets-regex": "^7.27.1", 1861 + "@babel/preset-modules": "0.1.6-no-external-plugins", 1862 + "babel-plugin-polyfill-corejs2": "^0.4.14", 1863 + "babel-plugin-polyfill-corejs3": "^0.13.0", 1864 + "babel-plugin-polyfill-regenerator": "^0.6.5", 1865 + "core-js-compat": "^3.43.0", 1866 + "semver": "^6.3.1" 1867 + }, 1868 + "engines": { 1869 + "node": ">=6.9.0" 1870 + }, 1871 + "peerDependencies": { 1872 + "@babel/core": "^7.0.0-0" 1873 + } 1874 + }, 1875 + "node_modules/@babel/preset-env/node_modules/semver": { 1876 + "version": "6.3.1", 1877 + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", 1878 + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", 1879 + "dev": true, 1880 + "license": "ISC", 1881 + "bin": { 1882 + "semver": "bin/semver.js" 1883 + } 1884 + }, 1885 + "node_modules/@babel/preset-modules": { 1886 + "version": "0.1.6-no-external-plugins", 1887 + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", 1888 + "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", 1889 + "dev": true, 1890 + "license": "MIT", 1891 + "dependencies": { 1892 + "@babel/helper-plugin-utils": "^7.0.0", 1893 + "@babel/types": "^7.4.4", 1894 + "esutils": "^2.0.2" 1895 + }, 1896 + "peerDependencies": { 1897 + "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" 1898 + } 1899 + }, 1900 + "node_modules/@babel/preset-typescript": { 1901 + "version": "7.27.1", 1902 + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.27.1.tgz", 1903 + "integrity": "sha512-l7WfQfX0WK4M0v2RudjuQK4u99BS6yLHYEmdtVPP7lKV013zr9DygFuWNlnbvQ9LR+LS0Egz/XAvGx5U9MX0fQ==", 1904 + "dev": true, 1905 + "license": "MIT", 1906 + "dependencies": { 1907 + "@babel/helper-plugin-utils": "^7.27.1", 1908 + "@babel/helper-validator-option": "^7.27.1", 1909 + "@babel/plugin-syntax-jsx": "^7.27.1", 1910 + "@babel/plugin-transform-modules-commonjs": "^7.27.1", 1911 + "@babel/plugin-transform-typescript": "^7.27.1" 1912 + }, 1913 + "engines": { 1914 + "node": ">=6.9.0" 1915 + }, 1916 + "peerDependencies": { 1917 + "@babel/core": "^7.0.0-0" 1918 + } 1919 + }, 1920 + "node_modules/@babel/template": { 1921 + "version": "7.27.2", 1922 + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz", 1923 + "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", 1924 + "dev": true, 1925 + "license": "MIT", 1926 + "dependencies": { 1927 + "@babel/code-frame": "^7.27.1", 1928 + "@babel/parser": "^7.27.2", 1929 + "@babel/types": "^7.27.1" 1930 + }, 1931 + "engines": { 1932 + "node": ">=6.9.0" 1933 + } 1934 + }, 1935 + "node_modules/@babel/traverse": { 1936 + "version": "7.28.4", 1937 + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.4.tgz", 1938 + "integrity": "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ==", 1939 + "dev": true, 1940 + "license": "MIT", 1941 + "dependencies": { 1942 + "@babel/code-frame": "^7.27.1", 1943 + "@babel/generator": "^7.28.3", 1944 + "@babel/helper-globals": "^7.28.0", 1945 + "@babel/parser": "^7.28.4", 1946 + "@babel/template": "^7.27.2", 1947 + "@babel/types": "^7.28.4", 1948 + "debug": "^4.3.1" 1949 + }, 1950 + "engines": { 1951 + "node": ">=6.9.0" 1952 + } 1953 + }, 1954 + "node_modules/@babel/traverse/node_modules/debug": { 1955 + "version": "4.4.3", 1956 + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", 1957 + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", 1958 + "dev": true, 1959 + "license": "MIT", 1960 + "dependencies": { 1961 + "ms": "^2.1.3" 1962 + }, 1963 + "engines": { 1964 + "node": ">=6.0" 1965 + }, 1966 + "peerDependenciesMeta": { 1967 + "supports-color": { 1968 + "optional": true 1969 + } 1970 + } 1971 + }, 1972 + "node_modules/@babel/traverse/node_modules/ms": { 1973 + "version": "2.1.3", 1974 + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", 1975 + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", 1976 + "dev": true, 1977 + "license": "MIT" 1978 + }, 1979 + "node_modules/@babel/types": { 1980 + "version": "7.28.4", 1981 + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.4.tgz", 1982 + "integrity": "sha512-bkFqkLhh3pMBUQQkpVgWDWq/lqzc2678eUyDlTBhRqhCHFguYYGM0Efga7tYk4TogG/3x0EEl66/OQ+WGbWB/Q==", 1983 + "dev": true, 1984 + "license": "MIT", 1985 + "dependencies": { 1986 + "@babel/helper-string-parser": "^7.27.1", 1987 + "@babel/helper-validator-identifier": "^7.27.1" 1988 + }, 1989 + "engines": { 1990 + "node": ">=6.9.0" 1991 + } 1992 + }, 1993 + "node_modules/@bcoe/v8-coverage": { 1994 + "version": "0.2.3", 1995 + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", 1996 + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", 1997 + "dev": true, 1998 + "license": "MIT" 1999 + }, 2000 + "node_modules/@cspotcode/source-map-support": { 2001 + "version": "0.8.1", 2002 + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", 2003 + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", 2004 + "dev": true, 2005 + "license": "MIT", 2006 + "dependencies": { 2007 + "@jridgewell/trace-mapping": "0.3.9" 2008 + }, 2009 + "engines": { 2010 + "node": ">=12" 2011 + } 2012 + }, 2013 + "node_modules/@faker-js/faker": { 2014 + "version": "9.9.0", 2015 + "resolved": "https://registry.npmjs.org/@faker-js/faker/-/faker-9.9.0.tgz", 2016 + "integrity": "sha512-OEl393iCOoo/z8bMezRlJu+GlRGlsKbUAN7jKB6LhnKoqKve5DXRpalbItIIcwnCjs1k/FOPjFzcA6Qn+H+YbA==", 2017 + "dev": true, 2018 + "funding": [ 2019 + { 2020 + "type": "opencollective", 2021 + "url": "https://opencollective.com/fakerjs" 2022 + } 2023 + ], 2024 + "license": "MIT", 2025 + "engines": { 2026 + "node": ">=18.0.0", 2027 + "npm": ">=9.0.0" 2028 + } 2029 + }, 2030 + "node_modules/@gar/promisify": { 2031 + "version": "1.1.3", 2032 + "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz", 2033 + "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==", 2034 + "license": "MIT", 2035 + "optional": true 2036 + }, 2037 + "node_modules/@istanbuljs/load-nyc-config": { 2038 + "version": "1.1.0", 2039 + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", 2040 + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", 2041 + "dev": true, 2042 + "license": "ISC", 2043 + "dependencies": { 2044 + "camelcase": "^5.3.1", 2045 + "find-up": "^4.1.0", 2046 + "get-package-type": "^0.1.0", 2047 + "js-yaml": "^3.13.1", 2048 + "resolve-from": "^5.0.0" 2049 + }, 2050 + "engines": { 2051 + "node": ">=8" 2052 + } 2053 + }, 2054 + "node_modules/@istanbuljs/load-nyc-config/node_modules/argparse": { 2055 + "version": "1.0.10", 2056 + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", 2057 + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", 2058 + "dev": true, 2059 + "license": "MIT", 2060 + "dependencies": { 2061 + "sprintf-js": "~1.0.2" 2062 + } 2063 + }, 2064 + "node_modules/@istanbuljs/load-nyc-config/node_modules/camelcase": { 2065 + "version": "5.3.1", 2066 + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", 2067 + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", 2068 + "dev": true, 2069 + "license": "MIT", 2070 + "engines": { 2071 + "node": ">=6" 2072 + } 2073 + }, 2074 + "node_modules/@istanbuljs/load-nyc-config/node_modules/js-yaml": { 2075 + "version": "3.14.1", 2076 + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", 2077 + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", 2078 + "dev": true, 2079 + "license": "MIT", 2080 + "dependencies": { 2081 + "argparse": "^1.0.7", 2082 + "esprima": "^4.0.0" 2083 + }, 2084 + "bin": { 2085 + "js-yaml": "bin/js-yaml.js" 2086 + } 2087 + }, 2088 + "node_modules/@istanbuljs/schema": { 2089 + "version": "0.1.3", 2090 + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", 2091 + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", 2092 + "dev": true, 2093 + "license": "MIT", 2094 + "engines": { 2095 + "node": ">=8" 2096 + } 2097 + }, 2098 + "node_modules/@jest/console": { 2099 + "version": "29.7.0", 2100 + "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.7.0.tgz", 2101 + "integrity": "sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==", 2102 + "dev": true, 2103 + "license": "MIT", 2104 + "dependencies": { 2105 + "@jest/types": "^29.6.3", 2106 + "@types/node": "*", 2107 + "chalk": "^4.0.0", 2108 + "jest-message-util": "^29.7.0", 2109 + "jest-util": "^29.7.0", 2110 + "slash": "^3.0.0" 2111 + }, 2112 + "engines": { 2113 + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" 2114 + } 2115 + }, 2116 + "node_modules/@jest/core": { 2117 + "version": "29.7.0", 2118 + "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.7.0.tgz", 2119 + "integrity": "sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==", 2120 + "dev": true, 2121 + "license": "MIT", 2122 + "dependencies": { 2123 + "@jest/console": "^29.7.0", 2124 + "@jest/reporters": "^29.7.0", 2125 + "@jest/test-result": "^29.7.0", 2126 + "@jest/transform": "^29.7.0", 2127 + "@jest/types": "^29.6.3", 2128 + "@types/node": "*", 2129 + "ansi-escapes": "^4.2.1", 2130 + "chalk": "^4.0.0", 2131 + "ci-info": "^3.2.0", 2132 + "exit": "^0.1.2", 2133 + "graceful-fs": "^4.2.9", 2134 + "jest-changed-files": "^29.7.0", 2135 + "jest-config": "^29.7.0", 2136 + "jest-haste-map": "^29.7.0", 2137 + "jest-message-util": "^29.7.0", 2138 + "jest-regex-util": "^29.6.3", 2139 + "jest-resolve": "^29.7.0", 2140 + "jest-resolve-dependencies": "^29.7.0", 2141 + "jest-runner": "^29.7.0", 2142 + "jest-runtime": "^29.7.0", 2143 + "jest-snapshot": "^29.7.0", 2144 + "jest-util": "^29.7.0", 2145 + "jest-validate": "^29.7.0", 2146 + "jest-watcher": "^29.7.0", 2147 + "micromatch": "^4.0.4", 2148 + "pretty-format": "^29.7.0", 2149 + "slash": "^3.0.0", 2150 + "strip-ansi": "^6.0.0" 2151 + }, 2152 + "engines": { 2153 + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" 2154 + }, 2155 + "peerDependencies": { 2156 + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" 2157 + }, 2158 + "peerDependenciesMeta": { 2159 + "node-notifier": { 2160 + "optional": true 2161 + } 2162 + } 2163 + }, 2164 + "node_modules/@jest/diff-sequences": { 2165 + "version": "30.0.1", 2166 + "resolved": "https://registry.npmjs.org/@jest/diff-sequences/-/diff-sequences-30.0.1.tgz", 2167 + "integrity": "sha512-n5H8QLDJ47QqbCNn5SuFjCRDrOLEZ0h8vAHCK5RL9Ls7Xa8AQLa/YxAc9UjFqoEDM48muwtBGjtMY5cr0PLDCw==", 2168 + "dev": true, 2169 + "license": "MIT", 2170 + "engines": { 2171 + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" 2172 + } 2173 + }, 2174 + "node_modules/@jest/environment": { 2175 + "version": "29.7.0", 2176 + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz", 2177 + "integrity": "sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==", 2178 + "dev": true, 2179 + "license": "MIT", 2180 + "dependencies": { 2181 + "@jest/fake-timers": "^29.7.0", 2182 + "@jest/types": "^29.6.3", 2183 + "@types/node": "*", 2184 + "jest-mock": "^29.7.0" 2185 + }, 2186 + "engines": { 2187 + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" 2188 + } 2189 + }, 2190 + "node_modules/@jest/expect": { 2191 + "version": "29.7.0", 2192 + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.7.0.tgz", 2193 + "integrity": "sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==", 2194 + "dev": true, 2195 + "license": "MIT", 2196 + "dependencies": { 2197 + "expect": "^29.7.0", 2198 + "jest-snapshot": "^29.7.0" 2199 + }, 2200 + "engines": { 2201 + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" 2202 + } 2203 + }, 2204 + "node_modules/@jest/expect-utils": { 2205 + "version": "29.7.0", 2206 + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz", 2207 + "integrity": "sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==", 2208 + "dev": true, 2209 + "license": "MIT", 2210 + "dependencies": { 2211 + "jest-get-type": "^29.6.3" 2212 + }, 2213 + "engines": { 2214 + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" 2215 + } 2216 + }, 2217 + "node_modules/@jest/fake-timers": { 2218 + "version": "29.7.0", 2219 + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz", 2220 + "integrity": "sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==", 2221 + "dev": true, 2222 + "license": "MIT", 2223 + "dependencies": { 2224 + "@jest/types": "^29.6.3", 2225 + "@sinonjs/fake-timers": "^10.0.2", 2226 + "@types/node": "*", 2227 + "jest-message-util": "^29.7.0", 2228 + "jest-mock": "^29.7.0", 2229 + "jest-util": "^29.7.0" 2230 + }, 2231 + "engines": { 2232 + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" 2233 + } 2234 + }, 2235 + "node_modules/@jest/get-type": { 2236 + "version": "30.1.0", 2237 + "resolved": "https://registry.npmjs.org/@jest/get-type/-/get-type-30.1.0.tgz", 2238 + "integrity": "sha512-eMbZE2hUnx1WV0pmURZY9XoXPkUYjpc55mb0CrhtdWLtzMQPFvu/rZkTLZFTsdaVQa+Tr4eWAteqcUzoawq/uA==", 2239 + "dev": true, 2240 + "license": "MIT", 2241 + "engines": { 2242 + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" 2243 + } 2244 + }, 2245 + "node_modules/@jest/globals": { 2246 + "version": "29.7.0", 2247 + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.7.0.tgz", 2248 + "integrity": "sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==", 2249 + "dev": true, 2250 + "license": "MIT", 2251 + "dependencies": { 2252 + "@jest/environment": "^29.7.0", 2253 + "@jest/expect": "^29.7.0", 2254 + "@jest/types": "^29.6.3", 2255 + "jest-mock": "^29.7.0" 2256 + }, 2257 + "engines": { 2258 + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" 2259 + } 2260 + }, 2261 + "node_modules/@jest/pattern": { 2262 + "version": "30.0.1", 2263 + "resolved": "https://registry.npmjs.org/@jest/pattern/-/pattern-30.0.1.tgz", 2264 + "integrity": "sha512-gWp7NfQW27LaBQz3TITS8L7ZCQ0TLvtmI//4OwlQRx4rnWxcPNIYjxZpDcN4+UlGxgm3jS5QPz8IPTCkb59wZA==", 2265 + "dev": true, 2266 + "license": "MIT", 2267 + "dependencies": { 2268 + "@types/node": "*", 2269 + "jest-regex-util": "30.0.1" 2270 + }, 2271 + "engines": { 2272 + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" 2273 + } 2274 + }, 2275 + "node_modules/@jest/pattern/node_modules/jest-regex-util": { 2276 + "version": "30.0.1", 2277 + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-30.0.1.tgz", 2278 + "integrity": "sha512-jHEQgBXAgc+Gh4g0p3bCevgRCVRkB4VB70zhoAE48gxeSr1hfUOsM/C2WoJgVL7Eyg//hudYENbm3Ne+/dRVVA==", 2279 + "dev": true, 2280 + "license": "MIT", 2281 + "engines": { 2282 + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" 2283 + } 2284 + }, 2285 + "node_modules/@jest/reporters": { 2286 + "version": "29.7.0", 2287 + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.7.0.tgz", 2288 + "integrity": "sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==", 2289 + "dev": true, 2290 + "license": "MIT", 2291 + "dependencies": { 2292 + "@bcoe/v8-coverage": "^0.2.3", 2293 + "@jest/console": "^29.7.0", 2294 + "@jest/test-result": "^29.7.0", 2295 + "@jest/transform": "^29.7.0", 2296 + "@jest/types": "^29.6.3", 2297 + "@jridgewell/trace-mapping": "^0.3.18", 2298 + "@types/node": "*", 2299 + "chalk": "^4.0.0", 2300 + "collect-v8-coverage": "^1.0.0", 2301 + "exit": "^0.1.2", 2302 + "glob": "^7.1.3", 2303 + "graceful-fs": "^4.2.9", 2304 + "istanbul-lib-coverage": "^3.0.0", 2305 + "istanbul-lib-instrument": "^6.0.0", 2306 + "istanbul-lib-report": "^3.0.0", 2307 + "istanbul-lib-source-maps": "^4.0.0", 2308 + "istanbul-reports": "^3.1.3", 2309 + "jest-message-util": "^29.7.0", 2310 + "jest-util": "^29.7.0", 2311 + "jest-worker": "^29.7.0", 2312 + "slash": "^3.0.0", 2313 + "string-length": "^4.0.1", 2314 + "strip-ansi": "^6.0.0", 2315 + "v8-to-istanbul": "^9.0.1" 2316 + }, 2317 + "engines": { 2318 + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" 2319 + }, 2320 + "peerDependencies": { 2321 + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" 2322 + }, 2323 + "peerDependenciesMeta": { 2324 + "node-notifier": { 2325 + "optional": true 2326 + } 2327 + } 2328 + }, 2329 + "node_modules/@jest/reporters/node_modules/@jridgewell/trace-mapping": { 2330 + "version": "0.3.31", 2331 + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", 2332 + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", 2333 + "dev": true, 2334 + "license": "MIT", 2335 + "dependencies": { 2336 + "@jridgewell/resolve-uri": "^3.1.0", 2337 + "@jridgewell/sourcemap-codec": "^1.4.14" 2338 + } 2339 + }, 2340 + "node_modules/@jest/schemas": { 2341 + "version": "29.6.3", 2342 + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", 2343 + "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", 2344 + "dev": true, 2345 + "license": "MIT", 2346 + "dependencies": { 2347 + "@sinclair/typebox": "^0.27.8" 2348 + }, 2349 + "engines": { 2350 + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" 2351 + } 2352 + }, 2353 + "node_modules/@jest/source-map": { 2354 + "version": "29.6.3", 2355 + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz", 2356 + "integrity": "sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==", 2357 + "dev": true, 2358 + "license": "MIT", 2359 + "dependencies": { 2360 + "@jridgewell/trace-mapping": "^0.3.18", 2361 + "callsites": "^3.0.0", 2362 + "graceful-fs": "^4.2.9" 2363 + }, 2364 + "engines": { 2365 + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" 2366 + } 2367 + }, 2368 + "node_modules/@jest/source-map/node_modules/@jridgewell/trace-mapping": { 2369 + "version": "0.3.31", 2370 + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", 2371 + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", 2372 + "dev": true, 2373 + "license": "MIT", 2374 + "dependencies": { 2375 + "@jridgewell/resolve-uri": "^3.1.0", 2376 + "@jridgewell/sourcemap-codec": "^1.4.14" 2377 + } 2378 + }, 2379 + "node_modules/@jest/test-result": { 2380 + "version": "29.7.0", 2381 + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.7.0.tgz", 2382 + "integrity": "sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==", 2383 + "dev": true, 2384 + "license": "MIT", 2385 + "dependencies": { 2386 + "@jest/console": "^29.7.0", 2387 + "@jest/types": "^29.6.3", 2388 + "@types/istanbul-lib-coverage": "^2.0.0", 2389 + "collect-v8-coverage": "^1.0.0" 2390 + }, 2391 + "engines": { 2392 + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" 2393 + } 2394 + }, 2395 + "node_modules/@jest/test-sequencer": { 2396 + "version": "29.7.0", 2397 + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz", 2398 + "integrity": "sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==", 2399 + "dev": true, 2400 + "license": "MIT", 2401 + "dependencies": { 2402 + "@jest/test-result": "^29.7.0", 2403 + "graceful-fs": "^4.2.9", 2404 + "jest-haste-map": "^29.7.0", 2405 + "slash": "^3.0.0" 2406 + }, 2407 + "engines": { 2408 + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" 2409 + } 2410 + }, 2411 + "node_modules/@jest/transform": { 2412 + "version": "29.7.0", 2413 + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz", 2414 + "integrity": "sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==", 2415 + "dev": true, 2416 + "license": "MIT", 2417 + "dependencies": { 2418 + "@babel/core": "^7.11.6", 2419 + "@jest/types": "^29.6.3", 2420 + "@jridgewell/trace-mapping": "^0.3.18", 2421 + "babel-plugin-istanbul": "^6.1.1", 2422 + "chalk": "^4.0.0", 2423 + "convert-source-map": "^2.0.0", 2424 + "fast-json-stable-stringify": "^2.1.0", 2425 + "graceful-fs": "^4.2.9", 2426 + "jest-haste-map": "^29.7.0", 2427 + "jest-regex-util": "^29.6.3", 2428 + "jest-util": "^29.7.0", 2429 + "micromatch": "^4.0.4", 2430 + "pirates": "^4.0.4", 2431 + "slash": "^3.0.0", 2432 + "write-file-atomic": "^4.0.2" 2433 + }, 2434 + "engines": { 2435 + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" 2436 + } 2437 + }, 2438 + "node_modules/@jest/transform/node_modules/@jridgewell/trace-mapping": { 2439 + "version": "0.3.31", 2440 + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", 2441 + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", 2442 + "dev": true, 2443 + "license": "MIT", 2444 + "dependencies": { 2445 + "@jridgewell/resolve-uri": "^3.1.0", 2446 + "@jridgewell/sourcemap-codec": "^1.4.14" 2447 + } 2448 + }, 2449 + "node_modules/@jest/types": { 2450 + "version": "29.6.3", 2451 + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", 2452 + "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", 2453 + "dev": true, 2454 + "license": "MIT", 2455 + "dependencies": { 2456 + "@jest/schemas": "^29.6.3", 2457 + "@types/istanbul-lib-coverage": "^2.0.0", 2458 + "@types/istanbul-reports": "^3.0.0", 2459 + "@types/node": "*", 2460 + "@types/yargs": "^17.0.8", 2461 + "chalk": "^4.0.0" 2462 + }, 2463 + "engines": { 2464 + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" 2465 + } 2466 + }, 2467 + "node_modules/@jridgewell/gen-mapping": { 2468 + "version": "0.3.13", 2469 + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", 2470 + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", 2471 + "dev": true, 2472 + "license": "MIT", 2473 + "dependencies": { 2474 + "@jridgewell/sourcemap-codec": "^1.5.0", 2475 + "@jridgewell/trace-mapping": "^0.3.24" 2476 + } 2477 + }, 2478 + "node_modules/@jridgewell/gen-mapping/node_modules/@jridgewell/trace-mapping": { 2479 + "version": "0.3.31", 2480 + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", 2481 + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", 2482 + "dev": true, 2483 + "license": "MIT", 2484 + "dependencies": { 2485 + "@jridgewell/resolve-uri": "^3.1.0", 2486 + "@jridgewell/sourcemap-codec": "^1.4.14" 2487 + } 2488 + }, 2489 + "node_modules/@jridgewell/remapping": { 2490 + "version": "2.3.5", 2491 + "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", 2492 + "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", 2493 + "dev": true, 2494 + "license": "MIT", 2495 + "dependencies": { 2496 + "@jridgewell/gen-mapping": "^0.3.5", 2497 + "@jridgewell/trace-mapping": "^0.3.24" 2498 + } 2499 + }, 2500 + "node_modules/@jridgewell/remapping/node_modules/@jridgewell/trace-mapping": { 2501 + "version": "0.3.31", 2502 + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", 2503 + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", 2504 + "dev": true, 2505 + "license": "MIT", 2506 + "dependencies": { 2507 + "@jridgewell/resolve-uri": "^3.1.0", 2508 + "@jridgewell/sourcemap-codec": "^1.4.14" 2509 + } 2510 + }, 2511 + "node_modules/@jridgewell/resolve-uri": { 2512 + "version": "3.1.2", 2513 + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", 2514 + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", 2515 + "dev": true, 2516 + "license": "MIT", 2517 + "engines": { 2518 + "node": ">=6.0.0" 2519 + } 2520 + }, 2521 + "node_modules/@jridgewell/sourcemap-codec": { 2522 + "version": "1.5.5", 2523 + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", 2524 + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", 2525 + "dev": true, 2526 + "license": "MIT" 2527 + }, 2528 + "node_modules/@jridgewell/trace-mapping": { 2529 + "version": "0.3.9", 2530 + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", 2531 + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", 2532 + "dev": true, 2533 + "license": "MIT", 2534 + "dependencies": { 2535 + "@jridgewell/resolve-uri": "^3.0.3", 2536 + "@jridgewell/sourcemap-codec": "^1.4.10" 2537 + } 2538 + }, 2539 + "node_modules/@jsdevtools/ono": { 2540 + "version": "7.1.3", 2541 + "resolved": "https://registry.npmjs.org/@jsdevtools/ono/-/ono-7.1.3.tgz", 2542 + "integrity": "sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg==", 2543 + "license": "MIT" 2544 + }, 2545 + "node_modules/@noble/hashes": { 2546 + "version": "1.8.0", 2547 + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.8.0.tgz", 2548 + "integrity": "sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==", 2549 + "dev": true, 2550 + "license": "MIT", 2551 + "engines": { 2552 + "node": "^14.21.3 || >=16" 2553 + }, 2554 + "funding": { 2555 + "url": "https://paulmillr.com/funding/" 2556 + } 2557 + }, 2558 + "node_modules/@npmcli/fs": { 2559 + "version": "1.1.1", 2560 + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-1.1.1.tgz", 2561 + "integrity": "sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==", 2562 + "license": "ISC", 2563 + "optional": true, 2564 + "dependencies": { 2565 + "@gar/promisify": "^1.0.1", 2566 + "semver": "^7.3.5" 2567 + } 2568 + }, 2569 + "node_modules/@npmcli/move-file": { 2570 + "version": "1.1.2", 2571 + "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz", 2572 + "integrity": "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==", 2573 + "deprecated": "This functionality has been moved to @npmcli/fs", 2574 + "license": "MIT", 2575 + "optional": true, 2576 + "dependencies": { 2577 + "mkdirp": "^1.0.4", 2578 + "rimraf": "^3.0.2" 2579 + }, 2580 + "engines": { 2581 + "node": ">=10" 2582 + } 2583 + }, 2584 + "node_modules/@paralleldrive/cuid2": { 2585 + "version": "2.2.2", 2586 + "resolved": "https://registry.npmjs.org/@paralleldrive/cuid2/-/cuid2-2.2.2.tgz", 2587 + "integrity": "sha512-ZOBkgDwEdoYVlSeRbYYXs0S9MejQofiVYoTbKzy/6GQa39/q5tQU2IX46+shYnUkpEl3wc+J6wRlar7r2EK2xA==", 2588 + "dev": true, 2589 + "license": "MIT", 2590 + "dependencies": { 2591 + "@noble/hashes": "^1.1.5" 2592 + } 2593 + }, 2594 + "node_modules/@redocly/ajv": { 2595 + "version": "8.11.3", 2596 + "resolved": "https://registry.npmjs.org/@redocly/ajv/-/ajv-8.11.3.tgz", 2597 + "integrity": "sha512-4P3iZse91TkBiY+Dx5DUgxQ9GXkVJf++cmI0MOyLDxV9b5MUBI4II6ES8zA5JCbO72nKAJxWrw4PUPW+YP3ZDQ==", 2598 + "dev": true, 2599 + "license": "MIT", 2600 + "dependencies": { 2601 + "fast-deep-equal": "^3.1.1", 2602 + "json-schema-traverse": "^1.0.0", 2603 + "require-from-string": "^2.0.2", 2604 + "uri-js-replace": "^1.0.1" 2605 + }, 2606 + "funding": { 2607 + "type": "github", 2608 + "url": "https://github.com/sponsors/epoberezkin" 2609 + } 2610 + }, 2611 + "node_modules/@redocly/config": { 2612 + "version": "0.22.2", 2613 + "resolved": "https://registry.npmjs.org/@redocly/config/-/config-0.22.2.tgz", 2614 + "integrity": "sha512-roRDai8/zr2S9YfmzUfNhKjOF0NdcOIqF7bhf4MVC5UxpjIysDjyudvlAiVbpPHp3eDRWbdzUgtkK1a7YiDNyQ==", 2615 + "dev": true, 2616 + "license": "MIT" 2617 + }, 2618 + "node_modules/@redocly/openapi-core": { 2619 + "version": "1.34.5", 2620 + "resolved": "https://registry.npmjs.org/@redocly/openapi-core/-/openapi-core-1.34.5.tgz", 2621 + "integrity": "sha512-0EbE8LRbkogtcCXU7liAyC00n9uNG9hJ+eMyHFdUsy9lB/WGqnEBgwjA9q2cyzAVcdTkQqTBBU1XePNnN3OijA==", 2622 + "dev": true, 2623 + "license": "MIT", 2624 + "dependencies": { 2625 + "@redocly/ajv": "^8.11.2", 2626 + "@redocly/config": "^0.22.0", 2627 + "colorette": "^1.2.0", 2628 + "https-proxy-agent": "^7.0.5", 2629 + "js-levenshtein": "^1.1.6", 2630 + "js-yaml": "^4.1.0", 2631 + "minimatch": "^5.0.1", 2632 + "pluralize": "^8.0.0", 2633 + "yaml-ast-parser": "0.0.43" 2634 + }, 2635 + "engines": { 2636 + "node": ">=18.17.0", 2637 + "npm": ">=9.5.0" 2638 + } 2639 + }, 2640 + "node_modules/@sinclair/typebox": { 2641 + "version": "0.27.8", 2642 + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", 2643 + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", 2644 + "dev": true, 2645 + "license": "MIT" 2646 + }, 2647 + "node_modules/@sinonjs/commons": { 2648 + "version": "3.0.1", 2649 + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz", 2650 + "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==", 2651 + "dev": true, 2652 + "license": "BSD-3-Clause", 2653 + "dependencies": { 2654 + "type-detect": "4.0.8" 2655 + } 2656 + }, 2657 + "node_modules/@sinonjs/fake-timers": { 2658 + "version": "10.3.0", 2659 + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", 2660 + "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", 2661 + "dev": true, 2662 + "license": "BSD-3-Clause", 2663 + "dependencies": { 2664 + "@sinonjs/commons": "^3.0.0" 2665 + } 2666 + }, 2667 + "node_modules/@tootallnate/once": { 2668 + "version": "1.1.2", 2669 + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", 2670 + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", 2671 + "license": "MIT", 2672 + "optional": true, 2673 + "engines": { 2674 + "node": ">= 6" 2675 + } 2676 + }, 2677 + "node_modules/@tsconfig/node10": { 2678 + "version": "1.0.11", 2679 + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.11.tgz", 2680 + "integrity": "sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==", 2681 + "dev": true, 2682 + "license": "MIT" 2683 + }, 2684 + "node_modules/@tsconfig/node12": { 2685 + "version": "1.0.11", 2686 + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", 2687 + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", 2688 + "dev": true, 2689 + "license": "MIT" 2690 + }, 2691 + "node_modules/@tsconfig/node14": { 2692 + "version": "1.0.3", 2693 + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", 2694 + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", 2695 + "dev": true, 2696 + "license": "MIT" 2697 + }, 2698 + "node_modules/@tsconfig/node16": { 2699 + "version": "1.0.4", 2700 + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", 2701 + "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", 2702 + "dev": true, 2703 + "license": "MIT" 2704 + }, 2705 + "node_modules/@types/babel__core": { 2706 + "version": "7.20.5", 2707 + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", 2708 + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", 2709 + "dev": true, 2710 + "license": "MIT", 2711 + "dependencies": { 2712 + "@babel/parser": "^7.20.7", 2713 + "@babel/types": "^7.20.7", 2714 + "@types/babel__generator": "*", 2715 + "@types/babel__template": "*", 2716 + "@types/babel__traverse": "*" 2717 + } 2718 + }, 2719 + "node_modules/@types/babel__generator": { 2720 + "version": "7.27.0", 2721 + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz", 2722 + "integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==", 2723 + "dev": true, 2724 + "license": "MIT", 2725 + "dependencies": { 2726 + "@babel/types": "^7.0.0" 2727 + } 2728 + }, 2729 + "node_modules/@types/babel__template": { 2730 + "version": "7.4.4", 2731 + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", 2732 + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", 2733 + "dev": true, 2734 + "license": "MIT", 2735 + "dependencies": { 2736 + "@babel/parser": "^7.1.0", 2737 + "@babel/types": "^7.0.0" 2738 + } 2739 + }, 2740 + "node_modules/@types/babel__traverse": { 2741 + "version": "7.28.0", 2742 + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.28.0.tgz", 2743 + "integrity": "sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==", 2744 + "dev": true, 2745 + "license": "MIT", 2746 + "dependencies": { 2747 + "@babel/types": "^7.28.2" 2748 + } 2749 + }, 2750 + "node_modules/@types/bcryptjs": { 2751 + "version": "2.4.6", 2752 + "resolved": "https://registry.npmjs.org/@types/bcryptjs/-/bcryptjs-2.4.6.tgz", 2753 + "integrity": "sha512-9xlo6R2qDs5uixm0bcIqCeMCE6HiQsIyel9KQySStiyqNl2tnj2mP3DX1Nf56MD6KMenNNlBBsy3LJ7gUEQPXQ==", 2754 + "dev": true, 2755 + "license": "MIT" 2756 + }, 2757 + "node_modules/@types/body-parser": { 2758 + "version": "1.19.6", 2759 + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.6.tgz", 2760 + "integrity": "sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g==", 2761 + "license": "MIT", 2762 + "dependencies": { 2763 + "@types/connect": "*", 2764 + "@types/node": "*" 2765 + } 2766 + }, 2767 + "node_modules/@types/connect": { 2768 + "version": "3.4.38", 2769 + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", 2770 + "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", 2771 + "license": "MIT", 2772 + "dependencies": { 2773 + "@types/node": "*" 2774 + } 2775 + }, 2776 + "node_modules/@types/cookiejar": { 2777 + "version": "2.1.5", 2778 + "resolved": "https://registry.npmjs.org/@types/cookiejar/-/cookiejar-2.1.5.tgz", 2779 + "integrity": "sha512-he+DHOWReW0nghN24E1WUqM0efK4kI9oTqDm6XmK8ZPe2djZ90BSNdGnIyCLzCPw7/pogPlGbzI2wHGGmi4O/Q==", 2780 + "dev": true, 2781 + "license": "MIT" 2782 + }, 2783 + "node_modules/@types/cors": { 2784 + "version": "2.8.19", 2785 + "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.19.tgz", 2786 + "integrity": "sha512-mFNylyeyqN93lfe/9CSxOGREz8cpzAhH+E93xJ4xWQf62V8sQ/24reV2nyzUWM6H6Xji+GGHpkbLe7pVoUEskg==", 2787 + "dev": true, 2788 + "license": "MIT", 2789 + "dependencies": { 2790 + "@types/node": "*" 2791 + } 2792 + }, 2793 + "node_modules/@types/express": { 2794 + "version": "5.0.3", 2795 + "resolved": "https://registry.npmjs.org/@types/express/-/express-5.0.3.tgz", 2796 + "integrity": "sha512-wGA0NX93b19/dZC1J18tKWVIYWyyF2ZjT9vin/NRu0qzzvfVzWjs04iq2rQ3H65vCTQYlRqs3YHfY7zjdV+9Kw==", 2797 + "license": "MIT", 2798 + "dependencies": { 2799 + "@types/body-parser": "*", 2800 + "@types/express-serve-static-core": "^5.0.0", 2801 + "@types/serve-static": "*" 2802 + } 2803 + }, 2804 + "node_modules/@types/express-serve-static-core": { 2805 + "version": "5.0.7", 2806 + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-5.0.7.tgz", 2807 + "integrity": "sha512-R+33OsgWw7rOhD1emjU7dzCDHucJrgJXMA5PYCzJxVil0dsyx5iBEPHqpPfiKNJQb7lZ1vxwoLR4Z87bBUpeGQ==", 2808 + "license": "MIT", 2809 + "dependencies": { 2810 + "@types/node": "*", 2811 + "@types/qs": "*", 2812 + "@types/range-parser": "*", 2813 + "@types/send": "*" 2814 + } 2815 + }, 2816 + "node_modules/@types/faker": { 2817 + "version": "6.6.8", 2818 + "resolved": "https://registry.npmjs.org/@types/faker/-/faker-6.6.8.tgz", 2819 + "integrity": "sha512-9moiFKhmFMlI/7v5jVsPS8bbtIN1Rfo03hTPf1HPgWnZCksDup2xDTyBVC6xzjmUL/i6N6ecOJQIj5LrVJbYcg==", 2820 + "dev": true, 2821 + "license": "MIT", 2822 + "dependencies": { 2823 + "faker": "*" 2824 + } 2825 + }, 2826 + "node_modules/@types/graceful-fs": { 2827 + "version": "4.1.9", 2828 + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz", 2829 + "integrity": "sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==", 2830 + "dev": true, 2831 + "license": "MIT", 2832 + "dependencies": { 2833 + "@types/node": "*" 2834 + } 2835 + }, 2836 + "node_modules/@types/http-errors": { 2837 + "version": "2.0.5", 2838 + "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.5.tgz", 2839 + "integrity": "sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg==", 2840 + "license": "MIT" 2841 + }, 2842 + "node_modules/@types/istanbul-lib-coverage": { 2843 + "version": "2.0.6", 2844 + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", 2845 + "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", 2846 + "dev": true, 2847 + "license": "MIT" 2848 + }, 2849 + "node_modules/@types/istanbul-lib-report": { 2850 + "version": "3.0.3", 2851 + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", 2852 + "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", 2853 + "dev": true, 2854 + "license": "MIT", 2855 + "dependencies": { 2856 + "@types/istanbul-lib-coverage": "*" 2857 + } 2858 + }, 2859 + "node_modules/@types/istanbul-reports": { 2860 + "version": "3.0.4", 2861 + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", 2862 + "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", 2863 + "dev": true, 2864 + "license": "MIT", 2865 + "dependencies": { 2866 + "@types/istanbul-lib-report": "*" 2867 + } 2868 + }, 2869 + "node_modules/@types/jest": { 2870 + "version": "30.0.0", 2871 + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-30.0.0.tgz", 2872 + "integrity": "sha512-XTYugzhuwqWjws0CVz8QpM36+T+Dz5mTEBKhNs/esGLnCIlGdRy+Dq78NRjd7ls7r8BC8ZRMOrKlkO1hU0JOwA==", 2873 + "dev": true, 2874 + "license": "MIT", 2875 + "dependencies": { 2876 + "expect": "^30.0.0", 2877 + "pretty-format": "^30.0.0" 2878 + } 2879 + }, 2880 + "node_modules/@types/jest/node_modules/@jest/expect-utils": { 2881 + "version": "30.2.0", 2882 + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-30.2.0.tgz", 2883 + "integrity": "sha512-1JnRfhqpD8HGpOmQp180Fo9Zt69zNtC+9lR+kT7NVL05tNXIi+QC8Csz7lfidMoVLPD3FnOtcmp0CEFnxExGEA==", 2884 + "dev": true, 2885 + "license": "MIT", 2886 + "dependencies": { 2887 + "@jest/get-type": "30.1.0" 2888 + }, 2889 + "engines": { 2890 + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" 2891 + } 2892 + }, 2893 + "node_modules/@types/jest/node_modules/@jest/schemas": { 2894 + "version": "30.0.5", 2895 + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-30.0.5.tgz", 2896 + "integrity": "sha512-DmdYgtezMkh3cpU8/1uyXakv3tJRcmcXxBOcO0tbaozPwpmh4YMsnWrQm9ZmZMfa5ocbxzbFk6O4bDPEc/iAnA==", 2897 + "dev": true, 2898 + "license": "MIT", 2899 + "dependencies": { 2900 + "@sinclair/typebox": "^0.34.0" 2901 + }, 2902 + "engines": { 2903 + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" 2904 + } 2905 + }, 2906 + "node_modules/@types/jest/node_modules/@jest/types": { 2907 + "version": "30.2.0", 2908 + "resolved": "https://registry.npmjs.org/@jest/types/-/types-30.2.0.tgz", 2909 + "integrity": "sha512-H9xg1/sfVvyfU7o3zMfBEjQ1gcsdeTMgqHoYdN79tuLqfTtuu7WckRA1R5whDwOzxaZAeMKTYWqP+WCAi0CHsg==", 2910 + "dev": true, 2911 + "license": "MIT", 2912 + "dependencies": { 2913 + "@jest/pattern": "30.0.1", 2914 + "@jest/schemas": "30.0.5", 2915 + "@types/istanbul-lib-coverage": "^2.0.6", 2916 + "@types/istanbul-reports": "^3.0.4", 2917 + "@types/node": "*", 2918 + "@types/yargs": "^17.0.33", 2919 + "chalk": "^4.1.2" 2920 + }, 2921 + "engines": { 2922 + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" 2923 + } 2924 + }, 2925 + "node_modules/@types/jest/node_modules/@sinclair/typebox": { 2926 + "version": "0.34.41", 2927 + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.34.41.tgz", 2928 + "integrity": "sha512-6gS8pZzSXdyRHTIqoqSVknxolr1kzfy4/CeDnrzsVz8TTIWUbOBr6gnzOmTYJ3eXQNh4IYHIGi5aIL7sOZ2G/g==", 2929 + "dev": true, 2930 + "license": "MIT" 2931 + }, 2932 + "node_modules/@types/jest/node_modules/ansi-styles": { 2933 + "version": "5.2.0", 2934 + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", 2935 + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", 2936 + "dev": true, 2937 + "license": "MIT", 2938 + "engines": { 2939 + "node": ">=10" 2940 + }, 2941 + "funding": { 2942 + "url": "https://github.com/chalk/ansi-styles?sponsor=1" 2943 + } 2944 + }, 2945 + "node_modules/@types/jest/node_modules/ci-info": { 2946 + "version": "4.3.0", 2947 + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.3.0.tgz", 2948 + "integrity": "sha512-l+2bNRMiQgcfILUi33labAZYIWlH1kWDp+ecNo5iisRKrbm0xcRyCww71/YU0Fkw0mAFpz9bJayXPjey6vkmaQ==", 2949 + "dev": true, 2950 + "funding": [ 2951 + { 2952 + "type": "github", 2953 + "url": "https://github.com/sponsors/sibiraj-s" 2954 + } 2955 + ], 2956 + "license": "MIT", 2957 + "engines": { 2958 + "node": ">=8" 2959 + } 2960 + }, 2961 + "node_modules/@types/jest/node_modules/expect": { 2962 + "version": "30.2.0", 2963 + "resolved": "https://registry.npmjs.org/expect/-/expect-30.2.0.tgz", 2964 + "integrity": "sha512-u/feCi0GPsI+988gU2FLcsHyAHTU0MX1Wg68NhAnN7z/+C5wqG+CY8J53N9ioe8RXgaoz0nBR/TYMf3AycUuPw==", 2965 + "dev": true, 2966 + "license": "MIT", 2967 + "dependencies": { 2968 + "@jest/expect-utils": "30.2.0", 2969 + "@jest/get-type": "30.1.0", 2970 + "jest-matcher-utils": "30.2.0", 2971 + "jest-message-util": "30.2.0", 2972 + "jest-mock": "30.2.0", 2973 + "jest-util": "30.2.0" 2974 + }, 2975 + "engines": { 2976 + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" 2977 + } 2978 + }, 2979 + "node_modules/@types/jest/node_modules/jest-diff": { 2980 + "version": "30.2.0", 2981 + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-30.2.0.tgz", 2982 + "integrity": "sha512-dQHFo3Pt4/NLlG5z4PxZ/3yZTZ1C7s9hveiOj+GCN+uT109NC2QgsoVZsVOAvbJ3RgKkvyLGXZV9+piDpWbm6A==", 2983 + "dev": true, 2984 + "license": "MIT", 2985 + "dependencies": { 2986 + "@jest/diff-sequences": "30.0.1", 2987 + "@jest/get-type": "30.1.0", 2988 + "chalk": "^4.1.2", 2989 + "pretty-format": "30.2.0" 2990 + }, 2991 + "engines": { 2992 + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" 2993 + } 2994 + }, 2995 + "node_modules/@types/jest/node_modules/jest-matcher-utils": { 2996 + "version": "30.2.0", 2997 + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-30.2.0.tgz", 2998 + "integrity": "sha512-dQ94Nq4dbzmUWkQ0ANAWS9tBRfqCrn0bV9AMYdOi/MHW726xn7eQmMeRTpX2ViC00bpNaWXq+7o4lIQ3AX13Hg==", 2999 + "dev": true, 3000 + "license": "MIT", 3001 + "dependencies": { 3002 + "@jest/get-type": "30.1.0", 3003 + "chalk": "^4.1.2", 3004 + "jest-diff": "30.2.0", 3005 + "pretty-format": "30.2.0" 3006 + }, 3007 + "engines": { 3008 + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" 3009 + } 3010 + }, 3011 + "node_modules/@types/jest/node_modules/jest-message-util": { 3012 + "version": "30.2.0", 3013 + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-30.2.0.tgz", 3014 + "integrity": "sha512-y4DKFLZ2y6DxTWD4cDe07RglV88ZiNEdlRfGtqahfbIjfsw1nMCPx49Uev4IA/hWn3sDKyAnSPwoYSsAEdcimw==", 3015 + "dev": true, 3016 + "license": "MIT", 3017 + "dependencies": { 3018 + "@babel/code-frame": "^7.27.1", 3019 + "@jest/types": "30.2.0", 3020 + "@types/stack-utils": "^2.0.3", 3021 + "chalk": "^4.1.2", 3022 + "graceful-fs": "^4.2.11", 3023 + "micromatch": "^4.0.8", 3024 + "pretty-format": "30.2.0", 3025 + "slash": "^3.0.0", 3026 + "stack-utils": "^2.0.6" 3027 + }, 3028 + "engines": { 3029 + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" 3030 + } 3031 + }, 3032 + "node_modules/@types/jest/node_modules/jest-mock": { 3033 + "version": "30.2.0", 3034 + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-30.2.0.tgz", 3035 + "integrity": "sha512-JNNNl2rj4b5ICpmAcq+WbLH83XswjPbjH4T7yvGzfAGCPh1rw+xVNbtk+FnRslvt9lkCcdn9i1oAoKUuFsOxRw==", 3036 + "dev": true, 3037 + "license": "MIT", 3038 + "dependencies": { 3039 + "@jest/types": "30.2.0", 3040 + "@types/node": "*", 3041 + "jest-util": "30.2.0" 3042 + }, 3043 + "engines": { 3044 + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" 3045 + } 3046 + }, 3047 + "node_modules/@types/jest/node_modules/jest-util": { 3048 + "version": "30.2.0", 3049 + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-30.2.0.tgz", 3050 + "integrity": "sha512-QKNsM0o3Xe6ISQU869e+DhG+4CK/48aHYdJZGlFQVTjnbvgpcKyxpzk29fGiO7i/J8VENZ+d2iGnSsvmuHywlA==", 3051 + "dev": true, 3052 + "license": "MIT", 3053 + "dependencies": { 3054 + "@jest/types": "30.2.0", 3055 + "@types/node": "*", 3056 + "chalk": "^4.1.2", 3057 + "ci-info": "^4.2.0", 3058 + "graceful-fs": "^4.2.11", 3059 + "picomatch": "^4.0.2" 3060 + }, 3061 + "engines": { 3062 + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" 3063 + } 3064 + }, 3065 + "node_modules/@types/jest/node_modules/picomatch": { 3066 + "version": "4.0.3", 3067 + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", 3068 + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", 3069 + "dev": true, 3070 + "license": "MIT", 3071 + "engines": { 3072 + "node": ">=12" 3073 + }, 3074 + "funding": { 3075 + "url": "https://github.com/sponsors/jonschlinkert" 3076 + } 3077 + }, 3078 + "node_modules/@types/jest/node_modules/pretty-format": { 3079 + "version": "30.2.0", 3080 + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-30.2.0.tgz", 3081 + "integrity": "sha512-9uBdv/B4EefsuAL+pWqueZyZS2Ba+LxfFeQ9DN14HU4bN8bhaxKdkpjpB6fs9+pSjIBu+FXQHImEg8j/Lw0+vA==", 3082 + "dev": true, 3083 + "license": "MIT", 3084 + "dependencies": { 3085 + "@jest/schemas": "30.0.5", 3086 + "ansi-styles": "^5.2.0", 3087 + "react-is": "^18.3.1" 3088 + }, 3089 + "engines": { 3090 + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" 3091 + } 3092 + }, 3093 + "node_modules/@types/json-schema": { 3094 + "version": "7.0.15", 3095 + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", 3096 + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", 3097 + "license": "MIT" 3098 + }, 3099 + "node_modules/@types/jsonwebtoken": { 3100 + "version": "9.0.10", 3101 + "resolved": "https://registry.npmjs.org/@types/jsonwebtoken/-/jsonwebtoken-9.0.10.tgz", 3102 + "integrity": "sha512-asx5hIG9Qmf/1oStypjanR7iKTv0gXQ1Ov/jfrX6kS/EO0OFni8orbmGCn0672NHR3kXHwpAwR+B368ZGN/2rA==", 3103 + "dev": true, 3104 + "license": "MIT", 3105 + "dependencies": { 3106 + "@types/ms": "*", 3107 + "@types/node": "*" 3108 + } 3109 + }, 3110 + "node_modules/@types/methods": { 3111 + "version": "1.1.4", 3112 + "resolved": "https://registry.npmjs.org/@types/methods/-/methods-1.1.4.tgz", 3113 + "integrity": "sha512-ymXWVrDiCxTBE3+RIrrP533E70eA+9qu7zdWoHuOmGujkYtzf4HQF96b8nwHLqhuf4ykX61IGRIB38CC6/sImQ==", 3114 + "dev": true, 3115 + "license": "MIT" 3116 + }, 3117 + "node_modules/@types/mime": { 3118 + "version": "1.3.5", 3119 + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz", 3120 + "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==", 3121 + "license": "MIT" 3122 + }, 3123 + "node_modules/@types/ms": { 3124 + "version": "2.1.0", 3125 + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-2.1.0.tgz", 3126 + "integrity": "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==", 3127 + "dev": true, 3128 + "license": "MIT" 3129 + }, 3130 + "node_modules/@types/multer": { 3131 + "version": "1.4.13", 3132 + "resolved": "https://registry.npmjs.org/@types/multer/-/multer-1.4.13.tgz", 3133 + "integrity": "sha512-bhhdtPw7JqCiEfC9Jimx5LqX9BDIPJEh2q/fQ4bqbBPtyEZYr3cvF22NwG0DmPZNYA0CAf2CnqDB4KIGGpJcaw==", 3134 + "license": "MIT", 3135 + "dependencies": { 3136 + "@types/express": "*" 3137 + } 3138 + }, 3139 + "node_modules/@types/node": { 3140 + "version": "24.5.2", 3141 + "resolved": "https://registry.npmjs.org/@types/node/-/node-24.5.2.tgz", 3142 + "integrity": "sha512-FYxk1I7wPv3K2XBaoyH2cTnocQEu8AOZ60hPbsyukMPLv5/5qr7V1i8PLHdl6Zf87I+xZXFvPCXYjiTFq+YSDQ==", 3143 + "license": "MIT", 3144 + "dependencies": { 3145 + "undici-types": "~7.12.0" 3146 + } 3147 + }, 3148 + "node_modules/@types/qs": { 3149 + "version": "6.14.0", 3150 + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.14.0.tgz", 3151 + "integrity": "sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ==", 3152 + "license": "MIT" 3153 + }, 3154 + "node_modules/@types/range-parser": { 3155 + "version": "1.2.7", 3156 + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz", 3157 + "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==", 3158 + "license": "MIT" 3159 + }, 3160 + "node_modules/@types/send": { 3161 + "version": "0.17.5", 3162 + "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.5.tgz", 3163 + "integrity": "sha512-z6F2D3cOStZvuk2SaP6YrwkNO65iTZcwA2ZkSABegdkAh/lf+Aa/YQndZVfmEXT5vgAp6zv06VQ3ejSVjAny4w==", 3164 + "license": "MIT", 3165 + "dependencies": { 3166 + "@types/mime": "^1", 3167 + "@types/node": "*" 3168 + } 3169 + }, 3170 + "node_modules/@types/serve-static": { 3171 + "version": "1.15.8", 3172 + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.8.tgz", 3173 + "integrity": "sha512-roei0UY3LhpOJvjbIP6ZZFngyLKl5dskOtDhxY5THRSpO+ZI+nzJ+m5yUMzGrp89YRa7lvknKkMYjqQFGwA7Sg==", 3174 + "license": "MIT", 3175 + "dependencies": { 3176 + "@types/http-errors": "*", 3177 + "@types/node": "*", 3178 + "@types/send": "*" 3179 + } 3180 + }, 3181 + "node_modules/@types/sqlite3": { 3182 + "version": "3.1.11", 3183 + "resolved": "https://registry.npmjs.org/@types/sqlite3/-/sqlite3-3.1.11.tgz", 3184 + "integrity": "sha512-KYF+QgxAnnAh7DWPdNDroxkDI3/MspH1NMx6m/N/6fT1G6+jvsw4/ZePt8R8cr7ta58aboeTfYFBDxTJ5yv15w==", 3185 + "dev": true, 3186 + "license": "MIT", 3187 + "dependencies": { 3188 + "@types/node": "*" 3189 + } 3190 + }, 3191 + "node_modules/@types/stack-utils": { 3192 + "version": "2.0.3", 3193 + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", 3194 + "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==", 3195 + "dev": true, 3196 + "license": "MIT" 3197 + }, 3198 + "node_modules/@types/superagent": { 3199 + "version": "8.1.9", 3200 + "resolved": "https://registry.npmjs.org/@types/superagent/-/superagent-8.1.9.tgz", 3201 + "integrity": "sha512-pTVjI73witn+9ILmoJdajHGW2jkSaOzhiFYF1Rd3EQ94kymLqB9PjD9ISg7WaALC7+dCHT0FGe9T2LktLq/3GQ==", 3202 + "dev": true, 3203 + "license": "MIT", 3204 + "dependencies": { 3205 + "@types/cookiejar": "^2.1.5", 3206 + "@types/methods": "^1.1.4", 3207 + "@types/node": "*", 3208 + "form-data": "^4.0.0" 3209 + } 3210 + }, 3211 + "node_modules/@types/supertest": { 3212 + "version": "6.0.3", 3213 + "resolved": "https://registry.npmjs.org/@types/supertest/-/supertest-6.0.3.tgz", 3214 + "integrity": "sha512-8WzXq62EXFhJ7QsH3Ocb/iKQ/Ty9ZVWnVzoTKc9tyyFRRF3a74Tk2+TLFgaFFw364Ere+npzHKEJ6ga2LzIL7w==", 3215 + "dev": true, 3216 + "license": "MIT", 3217 + "dependencies": { 3218 + "@types/methods": "^1.1.4", 3219 + "@types/superagent": "^8.1.0" 3220 + } 3221 + }, 3222 + "node_modules/@types/yargs": { 3223 + "version": "17.0.33", 3224 + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.33.tgz", 3225 + "integrity": "sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==", 3226 + "dev": true, 3227 + "license": "MIT", 3228 + "dependencies": { 3229 + "@types/yargs-parser": "*" 3230 + } 3231 + }, 3232 + "node_modules/@types/yargs-parser": { 3233 + "version": "21.0.3", 3234 + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", 3235 + "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", 3236 + "dev": true, 3237 + "license": "MIT" 3238 + }, 3239 + "node_modules/abbrev": { 3240 + "version": "1.1.1", 3241 + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", 3242 + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", 3243 + "license": "ISC", 3244 + "optional": true 3245 + }, 3246 + "node_modules/accepts": { 3247 + "version": "1.3.8", 3248 + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", 3249 + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", 3250 + "license": "MIT", 3251 + "dependencies": { 3252 + "mime-types": "~2.1.34", 3253 + "negotiator": "0.6.3" 3254 + }, 3255 + "engines": { 3256 + "node": ">= 0.6" 3257 + } 3258 + }, 3259 + "node_modules/acorn": { 3260 + "version": "8.15.0", 3261 + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", 3262 + "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", 3263 + "dev": true, 3264 + "license": "MIT", 3265 + "bin": { 3266 + "acorn": "bin/acorn" 3267 + }, 3268 + "engines": { 3269 + "node": ">=0.4.0" 3270 + } 3271 + }, 3272 + "node_modules/acorn-walk": { 3273 + "version": "8.3.4", 3274 + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.4.tgz", 3275 + "integrity": "sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==", 3276 + "dev": true, 3277 + "license": "MIT", 3278 + "dependencies": { 3279 + "acorn": "^8.11.0" 3280 + }, 3281 + "engines": { 3282 + "node": ">=0.4.0" 3283 + } 3284 + }, 3285 + "node_modules/agent-base": { 3286 + "version": "7.1.4", 3287 + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz", 3288 + "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==", 3289 + "dev": true, 3290 + "license": "MIT", 3291 + "engines": { 3292 + "node": ">= 14" 3293 + } 3294 + }, 3295 + "node_modules/agentkeepalive": { 3296 + "version": "4.6.0", 3297 + "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.6.0.tgz", 3298 + "integrity": "sha512-kja8j7PjmncONqaTsB8fQ+wE2mSU2DJ9D4XKoJ5PFWIdRMa6SLSN1ff4mOr4jCbfRSsxR4keIiySJU0N9T5hIQ==", 3299 + "license": "MIT", 3300 + "optional": true, 3301 + "dependencies": { 3302 + "humanize-ms": "^1.2.1" 3303 + }, 3304 + "engines": { 3305 + "node": ">= 8.0.0" 3306 + } 3307 + }, 3308 + "node_modules/aggregate-error": { 3309 + "version": "3.1.0", 3310 + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", 3311 + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", 3312 + "license": "MIT", 3313 + "optional": true, 3314 + "dependencies": { 3315 + "clean-stack": "^2.0.0", 3316 + "indent-string": "^4.0.0" 3317 + }, 3318 + "engines": { 3319 + "node": ">=8" 3320 + } 3321 + }, 3322 + "node_modules/ajv": { 3323 + "version": "8.17.1", 3324 + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", 3325 + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", 3326 + "license": "MIT", 3327 + "dependencies": { 3328 + "fast-deep-equal": "^3.1.3", 3329 + "fast-uri": "^3.0.1", 3330 + "json-schema-traverse": "^1.0.0", 3331 + "require-from-string": "^2.0.2" 3332 + }, 3333 + "funding": { 3334 + "type": "github", 3335 + "url": "https://github.com/sponsors/epoberezkin" 3336 + } 3337 + }, 3338 + "node_modules/ajv-draft-04": { 3339 + "version": "1.0.0", 3340 + "resolved": "https://registry.npmjs.org/ajv-draft-04/-/ajv-draft-04-1.0.0.tgz", 3341 + "integrity": "sha512-mv00Te6nmYbRp5DCwclxtt7yV/joXJPGS7nM+97GdxvuttCOfgI3K4U25zboyeX0O+myI8ERluxQe5wljMmVIw==", 3342 + "license": "MIT", 3343 + "peerDependencies": { 3344 + "ajv": "^8.5.0" 3345 + }, 3346 + "peerDependenciesMeta": { 3347 + "ajv": { 3348 + "optional": true 3349 + } 3350 + } 3351 + }, 3352 + "node_modules/ajv-formats": { 3353 + "version": "3.0.1", 3354 + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-3.0.1.tgz", 3355 + "integrity": "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==", 3356 + "license": "MIT", 3357 + "dependencies": { 3358 + "ajv": "^8.0.0" 3359 + }, 3360 + "peerDependencies": { 3361 + "ajv": "^8.0.0" 3362 + }, 3363 + "peerDependenciesMeta": { 3364 + "ajv": { 3365 + "optional": true 3366 + } 3367 + } 3368 + }, 3369 + "node_modules/ansi-colors": { 3370 + "version": "4.1.3", 3371 + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", 3372 + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", 3373 + "dev": true, 3374 + "license": "MIT", 3375 + "engines": { 3376 + "node": ">=6" 3377 + } 3378 + }, 3379 + "node_modules/ansi-escapes": { 3380 + "version": "4.3.2", 3381 + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", 3382 + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", 3383 + "dev": true, 3384 + "license": "MIT", 3385 + "dependencies": { 3386 + "type-fest": "^0.21.3" 3387 + }, 3388 + "engines": { 3389 + "node": ">=8" 3390 + }, 3391 + "funding": { 3392 + "url": "https://github.com/sponsors/sindresorhus" 3393 + } 3394 + }, 3395 + "node_modules/ansi-escapes/node_modules/type-fest": { 3396 + "version": "0.21.3", 3397 + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", 3398 + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", 3399 + "dev": true, 3400 + "license": "(MIT OR CC0-1.0)", 3401 + "engines": { 3402 + "node": ">=10" 3403 + }, 3404 + "funding": { 3405 + "url": "https://github.com/sponsors/sindresorhus" 3406 + } 3407 + }, 3408 + "node_modules/ansi-regex": { 3409 + "version": "5.0.1", 3410 + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 3411 + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", 3412 + "devOptional": true, 3413 + "license": "MIT", 3414 + "engines": { 3415 + "node": ">=8" 3416 + } 3417 + }, 3418 + "node_modules/ansi-styles": { 3419 + "version": "4.3.0", 3420 + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", 3421 + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", 3422 + "dev": true, 3423 + "license": "MIT", 3424 + "dependencies": { 3425 + "color-convert": "^2.0.1" 3426 + }, 3427 + "engines": { 3428 + "node": ">=8" 3429 + }, 3430 + "funding": { 3431 + "url": "https://github.com/chalk/ansi-styles?sponsor=1" 3432 + } 3433 + }, 3434 + "node_modules/anymatch": { 3435 + "version": "3.1.3", 3436 + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", 3437 + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", 3438 + "dev": true, 3439 + "license": "ISC", 3440 + "dependencies": { 3441 + "normalize-path": "^3.0.0", 3442 + "picomatch": "^2.0.4" 3443 + }, 3444 + "engines": { 3445 + "node": ">= 8" 3446 + } 3447 + }, 3448 + "node_modules/append-field": { 3449 + "version": "1.0.0", 3450 + "resolved": "https://registry.npmjs.org/append-field/-/append-field-1.0.0.tgz", 3451 + "integrity": "sha512-klpgFSWLW1ZEs8svjfb7g4qWY0YS5imI82dTg+QahUvJ8YqAY0P10Uk8tTyh9ZGuYEZEMaeJYCF5BFuX552hsw==", 3452 + "license": "MIT" 3453 + }, 3454 + "node_modules/aproba": { 3455 + "version": "2.1.0", 3456 + "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.1.0.tgz", 3457 + "integrity": "sha512-tLIEcj5GuR2RSTnxNKdkK0dJ/GrC7P38sUkiDmDuHfsHmbagTFAxDVIBltoklXEVIQ/f14IL8IMJ5pn9Hez1Ew==", 3458 + "license": "ISC", 3459 + "optional": true 3460 + }, 3461 + "node_modules/arg": { 3462 + "version": "4.1.3", 3463 + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", 3464 + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", 3465 + "dev": true, 3466 + "license": "MIT" 3467 + }, 3468 + "node_modules/argparse": { 3469 + "version": "2.0.1", 3470 + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", 3471 + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", 3472 + "license": "Python-2.0" 3473 + }, 3474 + "node_modules/array-flatten": { 3475 + "version": "1.1.1", 3476 + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", 3477 + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", 3478 + "license": "MIT" 3479 + }, 3480 + "node_modules/asap": { 3481 + "version": "2.0.6", 3482 + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", 3483 + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==", 3484 + "dev": true, 3485 + "license": "MIT" 3486 + }, 3487 + "node_modules/asynckit": { 3488 + "version": "0.4.0", 3489 + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", 3490 + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", 3491 + "dev": true, 3492 + "license": "MIT" 3493 + }, 3494 + "node_modules/babel-jest": { 3495 + "version": "29.7.0", 3496 + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz", 3497 + "integrity": "sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==", 3498 + "dev": true, 3499 + "license": "MIT", 3500 + "dependencies": { 3501 + "@jest/transform": "^29.7.0", 3502 + "@types/babel__core": "^7.1.14", 3503 + "babel-plugin-istanbul": "^6.1.1", 3504 + "babel-preset-jest": "^29.6.3", 3505 + "chalk": "^4.0.0", 3506 + "graceful-fs": "^4.2.9", 3507 + "slash": "^3.0.0" 3508 + }, 3509 + "engines": { 3510 + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" 3511 + }, 3512 + "peerDependencies": { 3513 + "@babel/core": "^7.8.0" 3514 + } 3515 + }, 3516 + "node_modules/babel-plugin-istanbul": { 3517 + "version": "6.1.1", 3518 + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", 3519 + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", 3520 + "dev": true, 3521 + "license": "BSD-3-Clause", 3522 + "dependencies": { 3523 + "@babel/helper-plugin-utils": "^7.0.0", 3524 + "@istanbuljs/load-nyc-config": "^1.0.0", 3525 + "@istanbuljs/schema": "^0.1.2", 3526 + "istanbul-lib-instrument": "^5.0.4", 3527 + "test-exclude": "^6.0.0" 3528 + }, 3529 + "engines": { 3530 + "node": ">=8" 3531 + } 3532 + }, 3533 + "node_modules/babel-plugin-istanbul/node_modules/istanbul-lib-instrument": { 3534 + "version": "5.2.1", 3535 + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", 3536 + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", 3537 + "dev": true, 3538 + "license": "BSD-3-Clause", 3539 + "dependencies": { 3540 + "@babel/core": "^7.12.3", 3541 + "@babel/parser": "^7.14.7", 3542 + "@istanbuljs/schema": "^0.1.2", 3543 + "istanbul-lib-coverage": "^3.2.0", 3544 + "semver": "^6.3.0" 3545 + }, 3546 + "engines": { 3547 + "node": ">=8" 3548 + } 3549 + }, 3550 + "node_modules/babel-plugin-istanbul/node_modules/semver": { 3551 + "version": "6.3.1", 3552 + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", 3553 + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", 3554 + "dev": true, 3555 + "license": "ISC", 3556 + "bin": { 3557 + "semver": "bin/semver.js" 3558 + } 3559 + }, 3560 + "node_modules/babel-plugin-jest-hoist": { 3561 + "version": "29.6.3", 3562 + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz", 3563 + "integrity": "sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==", 3564 + "dev": true, 3565 + "license": "MIT", 3566 + "dependencies": { 3567 + "@babel/template": "^7.3.3", 3568 + "@babel/types": "^7.3.3", 3569 + "@types/babel__core": "^7.1.14", 3570 + "@types/babel__traverse": "^7.0.6" 3571 + }, 3572 + "engines": { 3573 + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" 3574 + } 3575 + }, 3576 + "node_modules/babel-plugin-polyfill-corejs2": { 3577 + "version": "0.4.14", 3578 + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.14.tgz", 3579 + "integrity": "sha512-Co2Y9wX854ts6U8gAAPXfn0GmAyctHuK8n0Yhfjd6t30g7yvKjspvvOo9yG+z52PZRgFErt7Ka2pYnXCjLKEpg==", 3580 + "dev": true, 3581 + "license": "MIT", 3582 + "dependencies": { 3583 + "@babel/compat-data": "^7.27.7", 3584 + "@babel/helper-define-polyfill-provider": "^0.6.5", 3585 + "semver": "^6.3.1" 3586 + }, 3587 + "peerDependencies": { 3588 + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" 3589 + } 3590 + }, 3591 + "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { 3592 + "version": "6.3.1", 3593 + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", 3594 + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", 3595 + "dev": true, 3596 + "license": "ISC", 3597 + "bin": { 3598 + "semver": "bin/semver.js" 3599 + } 3600 + }, 3601 + "node_modules/babel-plugin-polyfill-corejs3": { 3602 + "version": "0.13.0", 3603 + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.13.0.tgz", 3604 + "integrity": "sha512-U+GNwMdSFgzVmfhNm8GJUX88AadB3uo9KpJqS3FaqNIPKgySuvMb+bHPsOmmuWyIcuqZj/pzt1RUIUZns4y2+A==", 3605 + "dev": true, 3606 + "license": "MIT", 3607 + "dependencies": { 3608 + "@babel/helper-define-polyfill-provider": "^0.6.5", 3609 + "core-js-compat": "^3.43.0" 3610 + }, 3611 + "peerDependencies": { 3612 + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" 3613 + } 3614 + }, 3615 + "node_modules/babel-plugin-polyfill-regenerator": { 3616 + "version": "0.6.5", 3617 + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.5.tgz", 3618 + "integrity": "sha512-ISqQ2frbiNU9vIJkzg7dlPpznPZ4jOiUQ1uSmB0fEHeowtN3COYRsXr/xexn64NpU13P06jc/L5TgiJXOgrbEg==", 3619 + "dev": true, 3620 + "license": "MIT", 3621 + "dependencies": { 3622 + "@babel/helper-define-polyfill-provider": "^0.6.5" 3623 + }, 3624 + "peerDependencies": { 3625 + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" 3626 + } 3627 + }, 3628 + "node_modules/babel-preset-current-node-syntax": { 3629 + "version": "1.2.0", 3630 + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.2.0.tgz", 3631 + "integrity": "sha512-E/VlAEzRrsLEb2+dv8yp3bo4scof3l9nR4lrld+Iy5NyVqgVYUJnDAmunkhPMisRI32Qc4iRiz425d8vM++2fg==", 3632 + "dev": true, 3633 + "license": "MIT", 3634 + "dependencies": { 3635 + "@babel/plugin-syntax-async-generators": "^7.8.4", 3636 + "@babel/plugin-syntax-bigint": "^7.8.3", 3637 + "@babel/plugin-syntax-class-properties": "^7.12.13", 3638 + "@babel/plugin-syntax-class-static-block": "^7.14.5", 3639 + "@babel/plugin-syntax-import-attributes": "^7.24.7", 3640 + "@babel/plugin-syntax-import-meta": "^7.10.4", 3641 + "@babel/plugin-syntax-json-strings": "^7.8.3", 3642 + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", 3643 + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", 3644 + "@babel/plugin-syntax-numeric-separator": "^7.10.4", 3645 + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", 3646 + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", 3647 + "@babel/plugin-syntax-optional-chaining": "^7.8.3", 3648 + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", 3649 + "@babel/plugin-syntax-top-level-await": "^7.14.5" 3650 + }, 3651 + "peerDependencies": { 3652 + "@babel/core": "^7.0.0 || ^8.0.0-0" 3653 + } 3654 + }, 3655 + "node_modules/babel-preset-jest": { 3656 + "version": "29.6.3", 3657 + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz", 3658 + "integrity": "sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==", 3659 + "dev": true, 3660 + "license": "MIT", 3661 + "dependencies": { 3662 + "babel-plugin-jest-hoist": "^29.6.3", 3663 + "babel-preset-current-node-syntax": "^1.0.0" 3664 + }, 3665 + "engines": { 3666 + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" 3667 + }, 3668 + "peerDependencies": { 3669 + "@babel/core": "^7.0.0" 3670 + } 3671 + }, 3672 + "node_modules/balanced-match": { 3673 + "version": "1.0.2", 3674 + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", 3675 + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", 3676 + "devOptional": true, 3677 + "license": "MIT" 3678 + }, 3679 + "node_modules/base64-js": { 3680 + "version": "1.5.1", 3681 + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", 3682 + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", 3683 + "funding": [ 3684 + { 3685 + "type": "github", 3686 + "url": "https://github.com/sponsors/feross" 3687 + }, 3688 + { 3689 + "type": "patreon", 3690 + "url": "https://www.patreon.com/feross" 3691 + }, 3692 + { 3693 + "type": "consulting", 3694 + "url": "https://feross.org/support" 3695 + } 3696 + ], 3697 + "license": "MIT" 3698 + }, 3699 + "node_modules/baseline-browser-mapping": { 3700 + "version": "2.8.9", 3701 + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.8.9.tgz", 3702 + "integrity": "sha512-hY/u2lxLrbecMEWSB0IpGzGyDyeoMFQhCvZd2jGFSE5I17Fh01sYUBPCJtkWERw7zrac9+cIghxm/ytJa2X8iA==", 3703 + "dev": true, 3704 + "license": "Apache-2.0", 3705 + "bin": { 3706 + "baseline-browser-mapping": "dist/cli.js" 3707 + } 3708 + }, 3709 + "node_modules/bcryptjs": { 3710 + "version": "2.4.3", 3711 + "resolved": "https://registry.npmjs.org/bcryptjs/-/bcryptjs-2.4.3.tgz", 3712 + "integrity": "sha512-V/Hy/X9Vt7f3BbPJEi8BdVFMByHi+jNXrYkW3huaybV/kQ0KJg0Y6PkEMbn+zeT+i+SiKZ/HMqJGIIt4LZDqNQ==", 3713 + "license": "MIT" 3714 + }, 3715 + "node_modules/binary-extensions": { 3716 + "version": "2.3.0", 3717 + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", 3718 + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", 3719 + "dev": true, 3720 + "license": "MIT", 3721 + "engines": { 3722 + "node": ">=8" 3723 + }, 3724 + "funding": { 3725 + "url": "https://github.com/sponsors/sindresorhus" 3726 + } 3727 + }, 3728 + "node_modules/bindings": { 3729 + "version": "1.5.0", 3730 + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", 3731 + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", 3732 + "license": "MIT", 3733 + "dependencies": { 3734 + "file-uri-to-path": "1.0.0" 3735 + } 3736 + }, 3737 + "node_modules/bl": { 3738 + "version": "4.1.0", 3739 + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", 3740 + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", 3741 + "license": "MIT", 3742 + "dependencies": { 3743 + "buffer": "^5.5.0", 3744 + "inherits": "^2.0.4", 3745 + "readable-stream": "^3.4.0" 3746 + } 3747 + }, 3748 + "node_modules/body-parser": { 3749 + "version": "1.20.3", 3750 + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz", 3751 + "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==", 3752 + "license": "MIT", 3753 + "dependencies": { 3754 + "bytes": "3.1.2", 3755 + "content-type": "~1.0.5", 3756 + "debug": "2.6.9", 3757 + "depd": "2.0.0", 3758 + "destroy": "1.2.0", 3759 + "http-errors": "2.0.0", 3760 + "iconv-lite": "0.4.24", 3761 + "on-finished": "2.4.1", 3762 + "qs": "6.13.0", 3763 + "raw-body": "2.5.2", 3764 + "type-is": "~1.6.18", 3765 + "unpipe": "1.0.0" 3766 + }, 3767 + "engines": { 3768 + "node": ">= 0.8", 3769 + "npm": "1.2.8000 || >= 1.4.16" 3770 + } 3771 + }, 3772 + "node_modules/brace-expansion": { 3773 + "version": "2.0.2", 3774 + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", 3775 + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", 3776 + "dev": true, 3777 + "license": "MIT", 3778 + "dependencies": { 3779 + "balanced-match": "^1.0.0" 3780 + } 3781 + }, 3782 + "node_modules/braces": { 3783 + "version": "3.0.3", 3784 + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", 3785 + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", 3786 + "dev": true, 3787 + "license": "MIT", 3788 + "dependencies": { 3789 + "fill-range": "^7.1.1" 3790 + }, 3791 + "engines": { 3792 + "node": ">=8" 3793 + } 3794 + }, 3795 + "node_modules/browserslist": { 3796 + "version": "4.26.2", 3797 + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.26.2.tgz", 3798 + "integrity": "sha512-ECFzp6uFOSB+dcZ5BK/IBaGWssbSYBHvuMeMt3MMFyhI0Z8SqGgEkBLARgpRH3hutIgPVsALcMwbDrJqPxQ65A==", 3799 + "dev": true, 3800 + "funding": [ 3801 + { 3802 + "type": "opencollective", 3803 + "url": "https://opencollective.com/browserslist" 3804 + }, 3805 + { 3806 + "type": "tidelift", 3807 + "url": "https://tidelift.com/funding/github/npm/browserslist" 3808 + }, 3809 + { 3810 + "type": "github", 3811 + "url": "https://github.com/sponsors/ai" 3812 + } 3813 + ], 3814 + "license": "MIT", 3815 + "dependencies": { 3816 + "baseline-browser-mapping": "^2.8.3", 3817 + "caniuse-lite": "^1.0.30001741", 3818 + "electron-to-chromium": "^1.5.218", 3819 + "node-releases": "^2.0.21", 3820 + "update-browserslist-db": "^1.1.3" 3821 + }, 3822 + "bin": { 3823 + "browserslist": "cli.js" 3824 + }, 3825 + "engines": { 3826 + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" 3827 + } 3828 + }, 3829 + "node_modules/bser": { 3830 + "version": "2.1.1", 3831 + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", 3832 + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", 3833 + "dev": true, 3834 + "license": "Apache-2.0", 3835 + "dependencies": { 3836 + "node-int64": "^0.4.0" 3837 + } 3838 + }, 3839 + "node_modules/buffer": { 3840 + "version": "5.7.1", 3841 + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", 3842 + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", 3843 + "funding": [ 3844 + { 3845 + "type": "github", 3846 + "url": "https://github.com/sponsors/feross" 3847 + }, 3848 + { 3849 + "type": "patreon", 3850 + "url": "https://www.patreon.com/feross" 3851 + }, 3852 + { 3853 + "type": "consulting", 3854 + "url": "https://feross.org/support" 3855 + } 3856 + ], 3857 + "license": "MIT", 3858 + "dependencies": { 3859 + "base64-js": "^1.3.1", 3860 + "ieee754": "^1.1.13" 3861 + } 3862 + }, 3863 + "node_modules/buffer-equal-constant-time": { 3864 + "version": "1.0.1", 3865 + "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", 3866 + "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==", 3867 + "license": "BSD-3-Clause" 3868 + }, 3869 + "node_modules/buffer-from": { 3870 + "version": "1.1.2", 3871 + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", 3872 + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", 3873 + "license": "MIT" 3874 + }, 3875 + "node_modules/busboy": { 3876 + "version": "1.6.0", 3877 + "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", 3878 + "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", 3879 + "dependencies": { 3880 + "streamsearch": "^1.1.0" 3881 + }, 3882 + "engines": { 3883 + "node": ">=10.16.0" 3884 + } 3885 + }, 3886 + "node_modules/bytes": { 3887 + "version": "3.1.2", 3888 + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", 3889 + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", 3890 + "license": "MIT", 3891 + "engines": { 3892 + "node": ">= 0.8" 3893 + } 3894 + }, 3895 + "node_modules/cacache": { 3896 + "version": "15.3.0", 3897 + "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz", 3898 + "integrity": "sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==", 3899 + "license": "ISC", 3900 + "optional": true, 3901 + "dependencies": { 3902 + "@npmcli/fs": "^1.0.0", 3903 + "@npmcli/move-file": "^1.0.1", 3904 + "chownr": "^2.0.0", 3905 + "fs-minipass": "^2.0.0", 3906 + "glob": "^7.1.4", 3907 + "infer-owner": "^1.0.4", 3908 + "lru-cache": "^6.0.0", 3909 + "minipass": "^3.1.1", 3910 + "minipass-collect": "^1.0.2", 3911 + "minipass-flush": "^1.0.5", 3912 + "minipass-pipeline": "^1.2.2", 3913 + "mkdirp": "^1.0.3", 3914 + "p-map": "^4.0.0", 3915 + "promise-inflight": "^1.0.1", 3916 + "rimraf": "^3.0.2", 3917 + "ssri": "^8.0.1", 3918 + "tar": "^6.0.2", 3919 + "unique-filename": "^1.1.1" 3920 + }, 3921 + "engines": { 3922 + "node": ">= 10" 3923 + } 3924 + }, 3925 + "node_modules/call-bind-apply-helpers": { 3926 + "version": "1.0.2", 3927 + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", 3928 + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", 3929 + "license": "MIT", 3930 + "dependencies": { 3931 + "es-errors": "^1.3.0", 3932 + "function-bind": "^1.1.2" 3933 + }, 3934 + "engines": { 3935 + "node": ">= 0.4" 3936 + } 3937 + }, 3938 + "node_modules/call-bound": { 3939 + "version": "1.0.4", 3940 + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", 3941 + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", 3942 + "license": "MIT", 3943 + "dependencies": { 3944 + "call-bind-apply-helpers": "^1.0.2", 3945 + "get-intrinsic": "^1.3.0" 3946 + }, 3947 + "engines": { 3948 + "node": ">= 0.4" 3949 + }, 3950 + "funding": { 3951 + "url": "https://github.com/sponsors/ljharb" 3952 + } 3953 + }, 3954 + "node_modules/callsites": { 3955 + "version": "3.1.0", 3956 + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", 3957 + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", 3958 + "dev": true, 3959 + "license": "MIT", 3960 + "engines": { 3961 + "node": ">=6" 3962 + } 3963 + }, 3964 + "node_modules/camelcase": { 3965 + "version": "6.3.0", 3966 + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", 3967 + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", 3968 + "dev": true, 3969 + "license": "MIT", 3970 + "engines": { 3971 + "node": ">=10" 3972 + }, 3973 + "funding": { 3974 + "url": "https://github.com/sponsors/sindresorhus" 3975 + } 3976 + }, 3977 + "node_modules/caniuse-lite": { 3978 + "version": "1.0.30001745", 3979 + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001745.tgz", 3980 + "integrity": "sha512-ywt6i8FzvdgrrrGbr1jZVObnVv6adj+0if2/omv9cmR2oiZs30zL4DIyaptKcbOrBdOIc74QTMoJvSE2QHh5UQ==", 3981 + "dev": true, 3982 + "funding": [ 3983 + { 3984 + "type": "opencollective", 3985 + "url": "https://opencollective.com/browserslist" 3986 + }, 3987 + { 3988 + "type": "tidelift", 3989 + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" 3990 + }, 3991 + { 3992 + "type": "github", 3993 + "url": "https://github.com/sponsors/ai" 3994 + } 3995 + ], 3996 + "license": "CC-BY-4.0" 3997 + }, 3998 + "node_modules/chalk": { 3999 + "version": "4.1.2", 4000 + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", 4001 + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", 4002 + "dev": true, 4003 + "license": "MIT", 4004 + "dependencies": { 4005 + "ansi-styles": "^4.1.0", 4006 + "supports-color": "^7.1.0" 4007 + }, 4008 + "engines": { 4009 + "node": ">=10" 4010 + }, 4011 + "funding": { 4012 + "url": "https://github.com/chalk/chalk?sponsor=1" 4013 + } 4014 + }, 4015 + "node_modules/chalk/node_modules/supports-color": { 4016 + "version": "7.2.0", 4017 + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", 4018 + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", 4019 + "dev": true, 4020 + "license": "MIT", 4021 + "dependencies": { 4022 + "has-flag": "^4.0.0" 4023 + }, 4024 + "engines": { 4025 + "node": ">=8" 4026 + } 4027 + }, 4028 + "node_modules/change-case": { 4029 + "version": "5.4.4", 4030 + "resolved": "https://registry.npmjs.org/change-case/-/change-case-5.4.4.tgz", 4031 + "integrity": "sha512-HRQyTk2/YPEkt9TnUPbOpr64Uw3KOicFWPVBb+xiHvd6eBx/qPr9xqfBFDT8P2vWsvvz4jbEkfDe71W3VyNu2w==", 4032 + "dev": true, 4033 + "license": "MIT" 4034 + }, 4035 + "node_modules/char-regex": { 4036 + "version": "1.0.2", 4037 + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", 4038 + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", 4039 + "dev": true, 4040 + "license": "MIT", 4041 + "engines": { 4042 + "node": ">=10" 4043 + } 4044 + }, 4045 + "node_modules/chokidar": { 4046 + "version": "3.6.0", 4047 + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", 4048 + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", 4049 + "dev": true, 4050 + "license": "MIT", 4051 + "dependencies": { 4052 + "anymatch": "~3.1.2", 4053 + "braces": "~3.0.2", 4054 + "glob-parent": "~5.1.2", 4055 + "is-binary-path": "~2.1.0", 4056 + "is-glob": "~4.0.1", 4057 + "normalize-path": "~3.0.0", 4058 + "readdirp": "~3.6.0" 4059 + }, 4060 + "engines": { 4061 + "node": ">= 8.10.0" 4062 + }, 4063 + "funding": { 4064 + "url": "https://paulmillr.com/funding/" 4065 + }, 4066 + "optionalDependencies": { 4067 + "fsevents": "~2.3.2" 4068 + } 4069 + }, 4070 + "node_modules/chownr": { 4071 + "version": "2.0.0", 4072 + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", 4073 + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", 4074 + "license": "ISC", 4075 + "engines": { 4076 + "node": ">=10" 4077 + } 4078 + }, 4079 + "node_modules/ci-info": { 4080 + "version": "3.9.0", 4081 + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", 4082 + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", 4083 + "dev": true, 4084 + "funding": [ 4085 + { 4086 + "type": "github", 4087 + "url": "https://github.com/sponsors/sibiraj-s" 4088 + } 4089 + ], 4090 + "license": "MIT", 4091 + "engines": { 4092 + "node": ">=8" 4093 + } 4094 + }, 4095 + "node_modules/cjs-module-lexer": { 4096 + "version": "1.4.3", 4097 + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.4.3.tgz", 4098 + "integrity": "sha512-9z8TZaGM1pfswYeXrUpzPrkx8UnWYdhJclsiYMm6x/w5+nN+8Tf/LnAgfLGQCm59qAOxU8WwHEq2vNwF6i4j+Q==", 4099 + "dev": true, 4100 + "license": "MIT" 4101 + }, 4102 + "node_modules/clean-stack": { 4103 + "version": "2.2.0", 4104 + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", 4105 + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", 4106 + "license": "MIT", 4107 + "optional": true, 4108 + "engines": { 4109 + "node": ">=6" 4110 + } 4111 + }, 4112 + "node_modules/cliui": { 4113 + "version": "8.0.1", 4114 + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", 4115 + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", 4116 + "dev": true, 4117 + "license": "ISC", 4118 + "dependencies": { 4119 + "string-width": "^4.2.0", 4120 + "strip-ansi": "^6.0.1", 4121 + "wrap-ansi": "^7.0.0" 4122 + }, 4123 + "engines": { 4124 + "node": ">=12" 4125 + } 4126 + }, 4127 + "node_modules/co": { 4128 + "version": "4.6.0", 4129 + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", 4130 + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", 4131 + "dev": true, 4132 + "license": "MIT", 4133 + "engines": { 4134 + "iojs": ">= 1.0.0", 4135 + "node": ">= 0.12.0" 4136 + } 4137 + }, 4138 + "node_modules/collect-v8-coverage": { 4139 + "version": "1.0.2", 4140 + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", 4141 + "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==", 4142 + "dev": true, 4143 + "license": "MIT" 4144 + }, 4145 + "node_modules/color-convert": { 4146 + "version": "2.0.1", 4147 + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", 4148 + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", 4149 + "dev": true, 4150 + "license": "MIT", 4151 + "dependencies": { 4152 + "color-name": "~1.1.4" 4153 + }, 4154 + "engines": { 4155 + "node": ">=7.0.0" 4156 + } 4157 + }, 4158 + "node_modules/color-name": { 4159 + "version": "1.1.4", 4160 + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 4161 + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", 4162 + "dev": true, 4163 + "license": "MIT" 4164 + }, 4165 + "node_modules/color-support": { 4166 + "version": "1.1.3", 4167 + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", 4168 + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", 4169 + "license": "ISC", 4170 + "optional": true, 4171 + "bin": { 4172 + "color-support": "bin.js" 4173 + } 4174 + }, 4175 + "node_modules/colorette": { 4176 + "version": "1.4.0", 4177 + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz", 4178 + "integrity": "sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==", 4179 + "dev": true, 4180 + "license": "MIT" 4181 + }, 4182 + "node_modules/combined-stream": { 4183 + "version": "1.0.8", 4184 + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", 4185 + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", 4186 + "dev": true, 4187 + "license": "MIT", 4188 + "dependencies": { 4189 + "delayed-stream": "~1.0.0" 4190 + }, 4191 + "engines": { 4192 + "node": ">= 0.8" 4193 + } 4194 + }, 4195 + "node_modules/commander": { 4196 + "version": "12.1.0", 4197 + "resolved": "https://registry.npmjs.org/commander/-/commander-12.1.0.tgz", 4198 + "integrity": "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==", 4199 + "dev": true, 4200 + "license": "MIT", 4201 + "engines": { 4202 + "node": ">=18" 4203 + } 4204 + }, 4205 + "node_modules/component-emitter": { 4206 + "version": "1.3.1", 4207 + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.1.tgz", 4208 + "integrity": "sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==", 4209 + "dev": true, 4210 + "license": "MIT", 4211 + "funding": { 4212 + "url": "https://github.com/sponsors/sindresorhus" 4213 + } 4214 + }, 4215 + "node_modules/concat-map": { 4216 + "version": "0.0.1", 4217 + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 4218 + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", 4219 + "devOptional": true, 4220 + "license": "MIT" 4221 + }, 4222 + "node_modules/concat-stream": { 4223 + "version": "2.0.0", 4224 + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz", 4225 + "integrity": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==", 4226 + "engines": [ 4227 + "node >= 6.0" 4228 + ], 4229 + "license": "MIT", 4230 + "dependencies": { 4231 + "buffer-from": "^1.0.0", 4232 + "inherits": "^2.0.3", 4233 + "readable-stream": "^3.0.2", 4234 + "typedarray": "^0.0.6" 4235 + } 4236 + }, 4237 + "node_modules/console-control-strings": { 4238 + "version": "1.1.0", 4239 + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", 4240 + "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", 4241 + "license": "ISC", 4242 + "optional": true 4243 + }, 4244 + "node_modules/content-disposition": { 4245 + "version": "0.5.4", 4246 + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", 4247 + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", 4248 + "license": "MIT", 4249 + "dependencies": { 4250 + "safe-buffer": "5.2.1" 4251 + }, 4252 + "engines": { 4253 + "node": ">= 0.6" 4254 + } 4255 + }, 4256 + "node_modules/content-type": { 4257 + "version": "1.0.5", 4258 + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", 4259 + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", 4260 + "license": "MIT", 4261 + "engines": { 4262 + "node": ">= 0.6" 4263 + } 4264 + }, 4265 + "node_modules/convert-source-map": { 4266 + "version": "2.0.0", 4267 + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", 4268 + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", 4269 + "dev": true, 4270 + "license": "MIT" 4271 + }, 4272 + "node_modules/cookie": { 4273 + "version": "0.7.1", 4274 + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.1.tgz", 4275 + "integrity": "sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==", 4276 + "license": "MIT", 4277 + "engines": { 4278 + "node": ">= 0.6" 4279 + } 4280 + }, 4281 + "node_modules/cookie-signature": { 4282 + "version": "1.0.6", 4283 + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", 4284 + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", 4285 + "license": "MIT" 4286 + }, 4287 + "node_modules/cookiejar": { 4288 + "version": "2.1.4", 4289 + "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.4.tgz", 4290 + "integrity": "sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw==", 4291 + "dev": true, 4292 + "license": "MIT" 4293 + }, 4294 + "node_modules/core-js-compat": { 4295 + "version": "3.45.1", 4296 + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.45.1.tgz", 4297 + "integrity": "sha512-tqTt5T4PzsMIZ430XGviK4vzYSoeNJ6CXODi6c/voxOT6IZqBht5/EKaSNnYiEjjRYxjVz7DQIsOsY0XNi8PIA==", 4298 + "dev": true, 4299 + "license": "MIT", 4300 + "dependencies": { 4301 + "browserslist": "^4.25.3" 4302 + }, 4303 + "funding": { 4304 + "type": "opencollective", 4305 + "url": "https://opencollective.com/core-js" 4306 + } 4307 + }, 4308 + "node_modules/cors": { 4309 + "version": "2.8.5", 4310 + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", 4311 + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", 4312 + "license": "MIT", 4313 + "dependencies": { 4314 + "object-assign": "^4", 4315 + "vary": "^1" 4316 + }, 4317 + "engines": { 4318 + "node": ">= 0.10" 4319 + } 4320 + }, 4321 + "node_modules/create-jest": { 4322 + "version": "29.7.0", 4323 + "resolved": "https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz", 4324 + "integrity": "sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==", 4325 + "dev": true, 4326 + "license": "MIT", 4327 + "dependencies": { 4328 + "@jest/types": "^29.6.3", 4329 + "chalk": "^4.0.0", 4330 + "exit": "^0.1.2", 4331 + "graceful-fs": "^4.2.9", 4332 + "jest-config": "^29.7.0", 4333 + "jest-util": "^29.7.0", 4334 + "prompts": "^2.0.1" 4335 + }, 4336 + "bin": { 4337 + "create-jest": "bin/create-jest.js" 4338 + }, 4339 + "engines": { 4340 + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" 4341 + } 4342 + }, 4343 + "node_modules/create-require": { 4344 + "version": "1.1.1", 4345 + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", 4346 + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", 4347 + "dev": true, 4348 + "license": "MIT" 4349 + }, 4350 + "node_modules/cross-spawn": { 4351 + "version": "7.0.6", 4352 + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", 4353 + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", 4354 + "dev": true, 4355 + "license": "MIT", 4356 + "dependencies": { 4357 + "path-key": "^3.1.0", 4358 + "shebang-command": "^2.0.0", 4359 + "which": "^2.0.1" 4360 + }, 4361 + "engines": { 4362 + "node": ">= 8" 4363 + } 4364 + }, 4365 + "node_modules/debug": { 4366 + "version": "2.6.9", 4367 + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", 4368 + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", 4369 + "license": "MIT", 4370 + "dependencies": { 4371 + "ms": "2.0.0" 4372 + } 4373 + }, 4374 + "node_modules/decompress-response": { 4375 + "version": "6.0.0", 4376 + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", 4377 + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", 4378 + "license": "MIT", 4379 + "dependencies": { 4380 + "mimic-response": "^3.1.0" 4381 + }, 4382 + "engines": { 4383 + "node": ">=10" 4384 + }, 4385 + "funding": { 4386 + "url": "https://github.com/sponsors/sindresorhus" 4387 + } 4388 + }, 4389 + "node_modules/dedent": { 4390 + "version": "1.7.0", 4391 + "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.7.0.tgz", 4392 + "integrity": "sha512-HGFtf8yhuhGhqO07SV79tRp+br4MnbdjeVxotpn1QBl30pcLLCQjX5b2295ll0fv8RKDKsmWYrl05usHM9CewQ==", 4393 + "dev": true, 4394 + "license": "MIT", 4395 + "peerDependencies": { 4396 + "babel-plugin-macros": "^3.1.0" 4397 + }, 4398 + "peerDependenciesMeta": { 4399 + "babel-plugin-macros": { 4400 + "optional": true 4401 + } 4402 + } 4403 + }, 4404 + "node_modules/deep-extend": { 4405 + "version": "0.6.0", 4406 + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", 4407 + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", 4408 + "license": "MIT", 4409 + "engines": { 4410 + "node": ">=4.0.0" 4411 + } 4412 + }, 4413 + "node_modules/deepmerge": { 4414 + "version": "4.3.1", 4415 + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", 4416 + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", 4417 + "dev": true, 4418 + "license": "MIT", 4419 + "engines": { 4420 + "node": ">=0.10.0" 4421 + } 4422 + }, 4423 + "node_modules/delayed-stream": { 4424 + "version": "1.0.0", 4425 + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", 4426 + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", 4427 + "dev": true, 4428 + "license": "MIT", 4429 + "engines": { 4430 + "node": ">=0.4.0" 4431 + } 4432 + }, 4433 + "node_modules/delegates": { 4434 + "version": "1.0.0", 4435 + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", 4436 + "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", 4437 + "license": "MIT", 4438 + "optional": true 4439 + }, 4440 + "node_modules/depd": { 4441 + "version": "2.0.0", 4442 + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", 4443 + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", 4444 + "license": "MIT", 4445 + "engines": { 4446 + "node": ">= 0.8" 4447 + } 4448 + }, 4449 + "node_modules/destroy": { 4450 + "version": "1.2.0", 4451 + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", 4452 + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", 4453 + "license": "MIT", 4454 + "engines": { 4455 + "node": ">= 0.8", 4456 + "npm": "1.2.8000 || >= 1.4.16" 4457 + } 4458 + }, 4459 + "node_modules/detect-libc": { 4460 + "version": "2.1.1", 4461 + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.1.tgz", 4462 + "integrity": "sha512-ecqj/sy1jcK1uWrwpR67UhYrIFQ+5WlGxth34WquCbamhFA6hkkwiu37o6J5xCHdo1oixJRfVRw+ywV+Hq/0Aw==", 4463 + "license": "Apache-2.0", 4464 + "engines": { 4465 + "node": ">=8" 4466 + } 4467 + }, 4468 + "node_modules/detect-newline": { 4469 + "version": "3.1.0", 4470 + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", 4471 + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", 4472 + "dev": true, 4473 + "license": "MIT", 4474 + "engines": { 4475 + "node": ">=8" 4476 + } 4477 + }, 4478 + "node_modules/dezalgo": { 4479 + "version": "1.0.4", 4480 + "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.4.tgz", 4481 + "integrity": "sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig==", 4482 + "dev": true, 4483 + "license": "ISC", 4484 + "dependencies": { 4485 + "asap": "^2.0.0", 4486 + "wrappy": "1" 4487 + } 4488 + }, 4489 + "node_modules/diff": { 4490 + "version": "4.0.2", 4491 + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", 4492 + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", 4493 + "dev": true, 4494 + "license": "BSD-3-Clause", 4495 + "engines": { 4496 + "node": ">=0.3.1" 4497 + } 4498 + }, 4499 + "node_modules/diff-sequences": { 4500 + "version": "29.6.3", 4501 + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", 4502 + "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", 4503 + "dev": true, 4504 + "license": "MIT", 4505 + "engines": { 4506 + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" 4507 + } 4508 + }, 4509 + "node_modules/dunder-proto": { 4510 + "version": "1.0.1", 4511 + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", 4512 + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", 4513 + "license": "MIT", 4514 + "dependencies": { 4515 + "call-bind-apply-helpers": "^1.0.1", 4516 + "es-errors": "^1.3.0", 4517 + "gopd": "^1.2.0" 4518 + }, 4519 + "engines": { 4520 + "node": ">= 0.4" 4521 + } 4522 + }, 4523 + "node_modules/ecdsa-sig-formatter": { 4524 + "version": "1.0.11", 4525 + "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", 4526 + "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", 4527 + "license": "Apache-2.0", 4528 + "dependencies": { 4529 + "safe-buffer": "^5.0.1" 4530 + } 4531 + }, 4532 + "node_modules/ee-first": { 4533 + "version": "1.1.1", 4534 + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", 4535 + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", 4536 + "license": "MIT" 4537 + }, 4538 + "node_modules/electron-to-chromium": { 4539 + "version": "1.5.227", 4540 + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.227.tgz", 4541 + "integrity": "sha512-ITxuoPfJu3lsNWUi2lBM2PaBPYgH3uqmxut5vmBxgYvyI4AlJ6P3Cai1O76mOrkJCBzq0IxWg/NtqOrpu/0gKA==", 4542 + "dev": true, 4543 + "license": "ISC" 4544 + }, 4545 + "node_modules/emittery": { 4546 + "version": "0.13.1", 4547 + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", 4548 + "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", 4549 + "dev": true, 4550 + "license": "MIT", 4551 + "engines": { 4552 + "node": ">=12" 4553 + }, 4554 + "funding": { 4555 + "url": "https://github.com/sindresorhus/emittery?sponsor=1" 4556 + } 4557 + }, 4558 + "node_modules/emoji-regex": { 4559 + "version": "8.0.0", 4560 + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", 4561 + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", 4562 + "devOptional": true, 4563 + "license": "MIT" 4564 + }, 4565 + "node_modules/encodeurl": { 4566 + "version": "2.0.0", 4567 + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", 4568 + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", 4569 + "license": "MIT", 4570 + "engines": { 4571 + "node": ">= 0.8" 4572 + } 4573 + }, 4574 + "node_modules/encoding": { 4575 + "version": "0.1.13", 4576 + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", 4577 + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", 4578 + "license": "MIT", 4579 + "optional": true, 4580 + "dependencies": { 4581 + "iconv-lite": "^0.6.2" 4582 + } 4583 + }, 4584 + "node_modules/encoding/node_modules/iconv-lite": { 4585 + "version": "0.6.3", 4586 + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", 4587 + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", 4588 + "license": "MIT", 4589 + "optional": true, 4590 + "dependencies": { 4591 + "safer-buffer": ">= 2.1.2 < 3.0.0" 4592 + }, 4593 + "engines": { 4594 + "node": ">=0.10.0" 4595 + } 4596 + }, 4597 + "node_modules/end-of-stream": { 4598 + "version": "1.4.5", 4599 + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.5.tgz", 4600 + "integrity": "sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==", 4601 + "license": "MIT", 4602 + "dependencies": { 4603 + "once": "^1.4.0" 4604 + } 4605 + }, 4606 + "node_modules/env-paths": { 4607 + "version": "2.2.1", 4608 + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", 4609 + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", 4610 + "license": "MIT", 4611 + "optional": true, 4612 + "engines": { 4613 + "node": ">=6" 4614 + } 4615 + }, 4616 + "node_modules/err-code": { 4617 + "version": "2.0.3", 4618 + "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", 4619 + "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", 4620 + "license": "MIT", 4621 + "optional": true 4622 + }, 4623 + "node_modules/error-ex": { 4624 + "version": "1.3.4", 4625 + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.4.tgz", 4626 + "integrity": "sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==", 4627 + "dev": true, 4628 + "license": "MIT", 4629 + "dependencies": { 4630 + "is-arrayish": "^0.2.1" 4631 + } 4632 + }, 4633 + "node_modules/es-define-property": { 4634 + "version": "1.0.1", 4635 + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", 4636 + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", 4637 + "license": "MIT", 4638 + "engines": { 4639 + "node": ">= 0.4" 4640 + } 4641 + }, 4642 + "node_modules/es-errors": { 4643 + "version": "1.3.0", 4644 + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", 4645 + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", 4646 + "license": "MIT", 4647 + "engines": { 4648 + "node": ">= 0.4" 4649 + } 4650 + }, 4651 + "node_modules/es-object-atoms": { 4652 + "version": "1.1.1", 4653 + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", 4654 + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", 4655 + "license": "MIT", 4656 + "dependencies": { 4657 + "es-errors": "^1.3.0" 4658 + }, 4659 + "engines": { 4660 + "node": ">= 0.4" 4661 + } 4662 + }, 4663 + "node_modules/es-set-tostringtag": { 4664 + "version": "2.1.0", 4665 + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", 4666 + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", 4667 + "dev": true, 4668 + "license": "MIT", 4669 + "dependencies": { 4670 + "es-errors": "^1.3.0", 4671 + "get-intrinsic": "^1.2.6", 4672 + "has-tostringtag": "^1.0.2", 4673 + "hasown": "^2.0.2" 4674 + }, 4675 + "engines": { 4676 + "node": ">= 0.4" 4677 + } 4678 + }, 4679 + "node_modules/escalade": { 4680 + "version": "3.2.0", 4681 + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", 4682 + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", 4683 + "dev": true, 4684 + "license": "MIT", 4685 + "engines": { 4686 + "node": ">=6" 4687 + } 4688 + }, 4689 + "node_modules/escape-html": { 4690 + "version": "1.0.3", 4691 + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", 4692 + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", 4693 + "license": "MIT" 4694 + }, 4695 + "node_modules/escape-string-regexp": { 4696 + "version": "2.0.0", 4697 + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", 4698 + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", 4699 + "dev": true, 4700 + "license": "MIT", 4701 + "engines": { 4702 + "node": ">=8" 4703 + } 4704 + }, 4705 + "node_modules/esprima": { 4706 + "version": "4.0.1", 4707 + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", 4708 + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", 4709 + "dev": true, 4710 + "license": "BSD-2-Clause", 4711 + "bin": { 4712 + "esparse": "bin/esparse.js", 4713 + "esvalidate": "bin/esvalidate.js" 4714 + }, 4715 + "engines": { 4716 + "node": ">=4" 4717 + } 4718 + }, 4719 + "node_modules/esutils": { 4720 + "version": "2.0.3", 4721 + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", 4722 + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", 4723 + "dev": true, 4724 + "license": "BSD-2-Clause", 4725 + "engines": { 4726 + "node": ">=0.10.0" 4727 + } 4728 + }, 4729 + "node_modules/etag": { 4730 + "version": "1.8.1", 4731 + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", 4732 + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", 4733 + "license": "MIT", 4734 + "engines": { 4735 + "node": ">= 0.6" 4736 + } 4737 + }, 4738 + "node_modules/execa": { 4739 + "version": "5.1.1", 4740 + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", 4741 + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", 4742 + "dev": true, 4743 + "license": "MIT", 4744 + "dependencies": { 4745 + "cross-spawn": "^7.0.3", 4746 + "get-stream": "^6.0.0", 4747 + "human-signals": "^2.1.0", 4748 + "is-stream": "^2.0.0", 4749 + "merge-stream": "^2.0.0", 4750 + "npm-run-path": "^4.0.1", 4751 + "onetime": "^5.1.2", 4752 + "signal-exit": "^3.0.3", 4753 + "strip-final-newline": "^2.0.0" 4754 + }, 4755 + "engines": { 4756 + "node": ">=10" 4757 + }, 4758 + "funding": { 4759 + "url": "https://github.com/sindresorhus/execa?sponsor=1" 4760 + } 4761 + }, 4762 + "node_modules/exit": { 4763 + "version": "0.1.2", 4764 + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", 4765 + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", 4766 + "dev": true, 4767 + "engines": { 4768 + "node": ">= 0.8.0" 4769 + } 4770 + }, 4771 + "node_modules/expand-template": { 4772 + "version": "2.0.3", 4773 + "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", 4774 + "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==", 4775 + "license": "(MIT OR WTFPL)", 4776 + "engines": { 4777 + "node": ">=6" 4778 + } 4779 + }, 4780 + "node_modules/expect": { 4781 + "version": "29.7.0", 4782 + "resolved": "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz", 4783 + "integrity": "sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==", 4784 + "dev": true, 4785 + "license": "MIT", 4786 + "dependencies": { 4787 + "@jest/expect-utils": "^29.7.0", 4788 + "jest-get-type": "^29.6.3", 4789 + "jest-matcher-utils": "^29.7.0", 4790 + "jest-message-util": "^29.7.0", 4791 + "jest-util": "^29.7.0" 4792 + }, 4793 + "engines": { 4794 + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" 4795 + } 4796 + }, 4797 + "node_modules/express": { 4798 + "version": "4.21.2", 4799 + "resolved": "https://registry.npmjs.org/express/-/express-4.21.2.tgz", 4800 + "integrity": "sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==", 4801 + "license": "MIT", 4802 + "dependencies": { 4803 + "accepts": "~1.3.8", 4804 + "array-flatten": "1.1.1", 4805 + "body-parser": "1.20.3", 4806 + "content-disposition": "0.5.4", 4807 + "content-type": "~1.0.4", 4808 + "cookie": "0.7.1", 4809 + "cookie-signature": "1.0.6", 4810 + "debug": "2.6.9", 4811 + "depd": "2.0.0", 4812 + "encodeurl": "~2.0.0", 4813 + "escape-html": "~1.0.3", 4814 + "etag": "~1.8.1", 4815 + "finalhandler": "1.3.1", 4816 + "fresh": "0.5.2", 4817 + "http-errors": "2.0.0", 4818 + "merge-descriptors": "1.0.3", 4819 + "methods": "~1.1.2", 4820 + "on-finished": "2.4.1", 4821 + "parseurl": "~1.3.3", 4822 + "path-to-regexp": "0.1.12", 4823 + "proxy-addr": "~2.0.7", 4824 + "qs": "6.13.0", 4825 + "range-parser": "~1.2.1", 4826 + "safe-buffer": "5.2.1", 4827 + "send": "0.19.0", 4828 + "serve-static": "1.16.2", 4829 + "setprototypeof": "1.2.0", 4830 + "statuses": "2.0.1", 4831 + "type-is": "~1.6.18", 4832 + "utils-merge": "1.0.1", 4833 + "vary": "~1.1.2" 4834 + }, 4835 + "engines": { 4836 + "node": ">= 0.10.0" 4837 + }, 4838 + "funding": { 4839 + "type": "opencollective", 4840 + "url": "https://opencollective.com/express" 4841 + } 4842 + }, 4843 + "node_modules/express-openapi-validator": { 4844 + "version": "5.6.0", 4845 + "resolved": "https://registry.npmjs.org/express-openapi-validator/-/express-openapi-validator-5.6.0.tgz", 4846 + "integrity": "sha512-gNaMgDb1cAT8QKcuh9WrED9p3mqi/V7yocNrvnE1fOz7e8p8JkbYaTUcOB4VsZKerz/X+Sey7ptTGF5FwsXh8Q==", 4847 + "license": "MIT", 4848 + "dependencies": { 4849 + "@apidevtools/json-schema-ref-parser": "^14.0.3", 4850 + "@types/multer": "^1.4.13", 4851 + "ajv": "^8.17.1", 4852 + "ajv-draft-04": "^1.0.0", 4853 + "ajv-formats": "^3.0.1", 4854 + "content-type": "^1.0.5", 4855 + "json-schema-traverse": "^1.0.0", 4856 + "lodash.clonedeep": "^4.5.0", 4857 + "lodash.get": "^4.4.2", 4858 + "media-typer": "^1.1.0", 4859 + "multer": "^2.0.2", 4860 + "ono": "^7.1.3", 4861 + "path-to-regexp": "^8.2.0", 4862 + "qs": "^6.14.0" 4863 + }, 4864 + "peerDependencies": { 4865 + "express": "*" 4866 + } 4867 + }, 4868 + "node_modules/express-openapi-validator/node_modules/@apidevtools/json-schema-ref-parser": { 4869 + "version": "14.2.1", 4870 + "resolved": "https://registry.npmjs.org/@apidevtools/json-schema-ref-parser/-/json-schema-ref-parser-14.2.1.tgz", 4871 + "integrity": "sha512-HmdFw9CDYqM6B25pqGBpNeLCKvGPlIx1EbLrVL0zPvj50CJQUHyBNBw45Muk0kEIkogo1VZvOKHajdMuAzSxRg==", 4872 + "license": "MIT", 4873 + "dependencies": { 4874 + "js-yaml": "^4.1.0" 4875 + }, 4876 + "engines": { 4877 + "node": ">= 20" 4878 + }, 4879 + "funding": { 4880 + "url": "https://github.com/sponsors/philsturgeon" 4881 + }, 4882 + "peerDependencies": { 4883 + "@types/json-schema": "^7.0.15" 4884 + } 4885 + }, 4886 + "node_modules/express-openapi-validator/node_modules/media-typer": { 4887 + "version": "1.1.0", 4888 + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-1.1.0.tgz", 4889 + "integrity": "sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==", 4890 + "license": "MIT", 4891 + "engines": { 4892 + "node": ">= 0.8" 4893 + } 4894 + }, 4895 + "node_modules/express-openapi-validator/node_modules/path-to-regexp": { 4896 + "version": "8.3.0", 4897 + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.3.0.tgz", 4898 + "integrity": "sha512-7jdwVIRtsP8MYpdXSwOS0YdD0Du+qOoF/AEPIt88PcCFrZCzx41oxku1jD88hZBwbNUIEfpqvuhjFaMAqMTWnA==", 4899 + "license": "MIT", 4900 + "funding": { 4901 + "type": "opencollective", 4902 + "url": "https://opencollective.com/express" 4903 + } 4904 + }, 4905 + "node_modules/express-openapi-validator/node_modules/qs": { 4906 + "version": "6.14.0", 4907 + "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.0.tgz", 4908 + "integrity": "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==", 4909 + "license": "BSD-3-Clause", 4910 + "dependencies": { 4911 + "side-channel": "^1.1.0" 4912 + }, 4913 + "engines": { 4914 + "node": ">=0.6" 4915 + }, 4916 + "funding": { 4917 + "url": "https://github.com/sponsors/ljharb" 4918 + } 4919 + }, 4920 + "node_modules/faker": { 4921 + "version": "6.6.6", 4922 + "resolved": "https://registry.npmjs.org/faker/-/faker-6.6.6.tgz", 4923 + "integrity": "sha512-9tCqYEDHI5RYFQigXFwF1hnCwcWCOJl/hmll0lr5D2Ljjb0o4wphb69wikeJDz5qCEzXCoPvG6ss5SDP6IfOdg==", 4924 + "dev": true, 4925 + "license": "MIT" 4926 + }, 4927 + "node_modules/fast-deep-equal": { 4928 + "version": "3.1.3", 4929 + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", 4930 + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", 4931 + "license": "MIT" 4932 + }, 4933 + "node_modules/fast-json-stable-stringify": { 4934 + "version": "2.1.0", 4935 + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", 4936 + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", 4937 + "dev": true, 4938 + "license": "MIT" 4939 + }, 4940 + "node_modules/fast-safe-stringify": { 4941 + "version": "2.1.1", 4942 + "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", 4943 + "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==", 4944 + "dev": true, 4945 + "license": "MIT" 4946 + }, 4947 + "node_modules/fast-uri": { 4948 + "version": "3.1.0", 4949 + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.0.tgz", 4950 + "integrity": "sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==", 4951 + "funding": [ 4952 + { 4953 + "type": "github", 4954 + "url": "https://github.com/sponsors/fastify" 4955 + }, 4956 + { 4957 + "type": "opencollective", 4958 + "url": "https://opencollective.com/fastify" 4959 + } 4960 + ], 4961 + "license": "BSD-3-Clause" 4962 + }, 4963 + "node_modules/fb-watchman": { 4964 + "version": "2.0.2", 4965 + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", 4966 + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", 4967 + "dev": true, 4968 + "license": "Apache-2.0", 4969 + "dependencies": { 4970 + "bser": "2.1.1" 4971 + } 4972 + }, 4973 + "node_modules/file-uri-to-path": { 4974 + "version": "1.0.0", 4975 + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", 4976 + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", 4977 + "license": "MIT" 4978 + }, 4979 + "node_modules/fill-range": { 4980 + "version": "7.1.1", 4981 + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", 4982 + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", 4983 + "dev": true, 4984 + "license": "MIT", 4985 + "dependencies": { 4986 + "to-regex-range": "^5.0.1" 4987 + }, 4988 + "engines": { 4989 + "node": ">=8" 4990 + } 4991 + }, 4992 + "node_modules/finalhandler": { 4993 + "version": "1.3.1", 4994 + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz", 4995 + "integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==", 4996 + "license": "MIT", 4997 + "dependencies": { 4998 + "debug": "2.6.9", 4999 + "encodeurl": "~2.0.0", 5000 + "escape-html": "~1.0.3", 5001 + "on-finished": "2.4.1", 5002 + "parseurl": "~1.3.3", 5003 + "statuses": "2.0.1", 5004 + "unpipe": "~1.0.0" 5005 + }, 5006 + "engines": { 5007 + "node": ">= 0.8" 5008 + } 5009 + }, 5010 + "node_modules/find-up": { 5011 + "version": "4.1.0", 5012 + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", 5013 + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", 5014 + "dev": true, 5015 + "license": "MIT", 5016 + "dependencies": { 5017 + "locate-path": "^5.0.0", 5018 + "path-exists": "^4.0.0" 5019 + }, 5020 + "engines": { 5021 + "node": ">=8" 5022 + } 5023 + }, 5024 + "node_modules/form-data": { 5025 + "version": "4.0.4", 5026 + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.4.tgz", 5027 + "integrity": "sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow==", 5028 + "dev": true, 5029 + "license": "MIT", 5030 + "dependencies": { 5031 + "asynckit": "^0.4.0", 5032 + "combined-stream": "^1.0.8", 5033 + "es-set-tostringtag": "^2.1.0", 5034 + "hasown": "^2.0.2", 5035 + "mime-types": "^2.1.12" 5036 + }, 5037 + "engines": { 5038 + "node": ">= 6" 5039 + } 5040 + }, 5041 + "node_modules/formidable": { 5042 + "version": "3.5.4", 5043 + "resolved": "https://registry.npmjs.org/formidable/-/formidable-3.5.4.tgz", 5044 + "integrity": "sha512-YikH+7CUTOtP44ZTnUhR7Ic2UASBPOqmaRkRKxRbywPTe5VxF7RRCck4af9wutiZ/QKM5nME9Bie2fFaPz5Gug==", 5045 + "dev": true, 5046 + "license": "MIT", 5047 + "dependencies": { 5048 + "@paralleldrive/cuid2": "^2.2.2", 5049 + "dezalgo": "^1.0.4", 5050 + "once": "^1.4.0" 5051 + }, 5052 + "engines": { 5053 + "node": ">=14.0.0" 5054 + }, 5055 + "funding": { 5056 + "url": "https://ko-fi.com/tunnckoCore/commissions" 5057 + } 5058 + }, 5059 + "node_modules/forwarded": { 5060 + "version": "0.2.0", 5061 + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", 5062 + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", 5063 + "license": "MIT", 5064 + "engines": { 5065 + "node": ">= 0.6" 5066 + } 5067 + }, 5068 + "node_modules/fresh": { 5069 + "version": "0.5.2", 5070 + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", 5071 + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", 5072 + "license": "MIT", 5073 + "engines": { 5074 + "node": ">= 0.6" 5075 + } 5076 + }, 5077 + "node_modules/fs-constants": { 5078 + "version": "1.0.0", 5079 + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", 5080 + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", 5081 + "license": "MIT" 5082 + }, 5083 + "node_modules/fs-extra": { 5084 + "version": "11.3.2", 5085 + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.2.tgz", 5086 + "integrity": "sha512-Xr9F6z6up6Ws+NjzMCZc6WXg2YFRlrLP9NQDO3VQrWrfiojdhS56TzueT88ze0uBdCTwEIhQ3ptnmKeWGFAe0A==", 5087 + "dev": true, 5088 + "license": "MIT", 5089 + "dependencies": { 5090 + "graceful-fs": "^4.2.0", 5091 + "jsonfile": "^6.0.1", 5092 + "universalify": "^2.0.0" 5093 + }, 5094 + "engines": { 5095 + "node": ">=14.14" 5096 + } 5097 + }, 5098 + "node_modules/fs-minipass": { 5099 + "version": "2.1.0", 5100 + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", 5101 + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", 5102 + "license": "ISC", 5103 + "dependencies": { 5104 + "minipass": "^3.0.0" 5105 + }, 5106 + "engines": { 5107 + "node": ">= 8" 5108 + } 5109 + }, 5110 + "node_modules/fs.realpath": { 5111 + "version": "1.0.0", 5112 + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 5113 + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", 5114 + "devOptional": true, 5115 + "license": "ISC" 5116 + }, 5117 + "node_modules/fsevents": { 5118 + "version": "2.3.3", 5119 + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", 5120 + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", 5121 + "dev": true, 5122 + "hasInstallScript": true, 5123 + "license": "MIT", 5124 + "optional": true, 5125 + "os": [ 5126 + "darwin" 5127 + ], 5128 + "engines": { 5129 + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" 5130 + } 5131 + }, 5132 + "node_modules/function-bind": { 5133 + "version": "1.1.2", 5134 + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", 5135 + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", 5136 + "license": "MIT", 5137 + "funding": { 5138 + "url": "https://github.com/sponsors/ljharb" 5139 + } 5140 + }, 5141 + "node_modules/gensync": { 5142 + "version": "1.0.0-beta.2", 5143 + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", 5144 + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", 5145 + "dev": true, 5146 + "license": "MIT", 5147 + "engines": { 5148 + "node": ">=6.9.0" 5149 + } 5150 + }, 5151 + "node_modules/get-caller-file": { 5152 + "version": "2.0.5", 5153 + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", 5154 + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", 5155 + "dev": true, 5156 + "license": "ISC", 5157 + "engines": { 5158 + "node": "6.* || 8.* || >= 10.*" 5159 + } 5160 + }, 5161 + "node_modules/get-intrinsic": { 5162 + "version": "1.3.0", 5163 + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", 5164 + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", 5165 + "license": "MIT", 5166 + "dependencies": { 5167 + "call-bind-apply-helpers": "^1.0.2", 5168 + "es-define-property": "^1.0.1", 5169 + "es-errors": "^1.3.0", 5170 + "es-object-atoms": "^1.1.1", 5171 + "function-bind": "^1.1.2", 5172 + "get-proto": "^1.0.1", 5173 + "gopd": "^1.2.0", 5174 + "has-symbols": "^1.1.0", 5175 + "hasown": "^2.0.2", 5176 + "math-intrinsics": "^1.1.0" 5177 + }, 5178 + "engines": { 5179 + "node": ">= 0.4" 5180 + }, 5181 + "funding": { 5182 + "url": "https://github.com/sponsors/ljharb" 5183 + } 5184 + }, 5185 + "node_modules/get-package-type": { 5186 + "version": "0.1.0", 5187 + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", 5188 + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", 5189 + "dev": true, 5190 + "license": "MIT", 5191 + "engines": { 5192 + "node": ">=8.0.0" 5193 + } 5194 + }, 5195 + "node_modules/get-proto": { 5196 + "version": "1.0.1", 5197 + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", 5198 + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", 5199 + "license": "MIT", 5200 + "dependencies": { 5201 + "dunder-proto": "^1.0.1", 5202 + "es-object-atoms": "^1.0.0" 5203 + }, 5204 + "engines": { 5205 + "node": ">= 0.4" 5206 + } 5207 + }, 5208 + "node_modules/get-stream": { 5209 + "version": "6.0.1", 5210 + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", 5211 + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", 5212 + "dev": true, 5213 + "license": "MIT", 5214 + "engines": { 5215 + "node": ">=10" 5216 + }, 5217 + "funding": { 5218 + "url": "https://github.com/sponsors/sindresorhus" 5219 + } 5220 + }, 5221 + "node_modules/github-from-package": { 5222 + "version": "0.0.0", 5223 + "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", 5224 + "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==", 5225 + "license": "MIT" 5226 + }, 5227 + "node_modules/glob": { 5228 + "version": "7.2.3", 5229 + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", 5230 + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", 5231 + "deprecated": "Glob versions prior to v9 are no longer supported", 5232 + "devOptional": true, 5233 + "license": "ISC", 5234 + "dependencies": { 5235 + "fs.realpath": "^1.0.0", 5236 + "inflight": "^1.0.4", 5237 + "inherits": "2", 5238 + "minimatch": "^3.1.1", 5239 + "once": "^1.3.0", 5240 + "path-is-absolute": "^1.0.0" 5241 + }, 5242 + "engines": { 5243 + "node": "*" 5244 + }, 5245 + "funding": { 5246 + "url": "https://github.com/sponsors/isaacs" 5247 + } 5248 + }, 5249 + "node_modules/glob-parent": { 5250 + "version": "5.1.2", 5251 + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", 5252 + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", 5253 + "dev": true, 5254 + "license": "ISC", 5255 + "dependencies": { 5256 + "is-glob": "^4.0.1" 5257 + }, 5258 + "engines": { 5259 + "node": ">= 6" 5260 + } 5261 + }, 5262 + "node_modules/glob/node_modules/brace-expansion": { 5263 + "version": "1.1.12", 5264 + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", 5265 + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", 5266 + "devOptional": true, 5267 + "license": "MIT", 5268 + "dependencies": { 5269 + "balanced-match": "^1.0.0", 5270 + "concat-map": "0.0.1" 5271 + } 5272 + }, 5273 + "node_modules/glob/node_modules/minimatch": { 5274 + "version": "3.1.2", 5275 + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", 5276 + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", 5277 + "devOptional": true, 5278 + "license": "ISC", 5279 + "dependencies": { 5280 + "brace-expansion": "^1.1.7" 5281 + }, 5282 + "engines": { 5283 + "node": "*" 5284 + } 5285 + }, 5286 + "node_modules/gopd": { 5287 + "version": "1.2.0", 5288 + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", 5289 + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", 5290 + "license": "MIT", 5291 + "engines": { 5292 + "node": ">= 0.4" 5293 + }, 5294 + "funding": { 5295 + "url": "https://github.com/sponsors/ljharb" 5296 + } 5297 + }, 5298 + "node_modules/graceful-fs": { 5299 + "version": "4.2.11", 5300 + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", 5301 + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", 5302 + "devOptional": true, 5303 + "license": "ISC" 5304 + }, 5305 + "node_modules/handlebars": { 5306 + "version": "4.7.8", 5307 + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.8.tgz", 5308 + "integrity": "sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==", 5309 + "dev": true, 5310 + "license": "MIT", 5311 + "dependencies": { 5312 + "minimist": "^1.2.5", 5313 + "neo-async": "^2.6.2", 5314 + "source-map": "^0.6.1", 5315 + "wordwrap": "^1.0.0" 5316 + }, 5317 + "bin": { 5318 + "handlebars": "bin/handlebars" 5319 + }, 5320 + "engines": { 5321 + "node": ">=0.4.7" 5322 + }, 5323 + "optionalDependencies": { 5324 + "uglify-js": "^3.1.4" 5325 + } 5326 + }, 5327 + "node_modules/has-flag": { 5328 + "version": "4.0.0", 5329 + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", 5330 + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", 5331 + "dev": true, 5332 + "license": "MIT", 5333 + "engines": { 5334 + "node": ">=8" 5335 + } 5336 + }, 5337 + "node_modules/has-symbols": { 5338 + "version": "1.1.0", 5339 + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", 5340 + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", 5341 + "license": "MIT", 5342 + "engines": { 5343 + "node": ">= 0.4" 5344 + }, 5345 + "funding": { 5346 + "url": "https://github.com/sponsors/ljharb" 5347 + } 5348 + }, 5349 + "node_modules/has-tostringtag": { 5350 + "version": "1.0.2", 5351 + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", 5352 + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", 5353 + "dev": true, 5354 + "license": "MIT", 5355 + "dependencies": { 5356 + "has-symbols": "^1.0.3" 5357 + }, 5358 + "engines": { 5359 + "node": ">= 0.4" 5360 + }, 5361 + "funding": { 5362 + "url": "https://github.com/sponsors/ljharb" 5363 + } 5364 + }, 5365 + "node_modules/has-unicode": { 5366 + "version": "2.0.1", 5367 + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", 5368 + "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", 5369 + "license": "ISC", 5370 + "optional": true 5371 + }, 5372 + "node_modules/hasown": { 5373 + "version": "2.0.2", 5374 + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", 5375 + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", 5376 + "license": "MIT", 5377 + "dependencies": { 5378 + "function-bind": "^1.1.2" 5379 + }, 5380 + "engines": { 5381 + "node": ">= 0.4" 5382 + } 5383 + }, 5384 + "node_modules/html-escaper": { 5385 + "version": "2.0.2", 5386 + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", 5387 + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", 5388 + "dev": true, 5389 + "license": "MIT" 5390 + }, 5391 + "node_modules/http-cache-semantics": { 5392 + "version": "4.2.0", 5393 + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz", 5394 + "integrity": "sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==", 5395 + "license": "BSD-2-Clause", 5396 + "optional": true 5397 + }, 5398 + "node_modules/http-errors": { 5399 + "version": "2.0.0", 5400 + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", 5401 + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", 5402 + "license": "MIT", 5403 + "dependencies": { 5404 + "depd": "2.0.0", 5405 + "inherits": "2.0.4", 5406 + "setprototypeof": "1.2.0", 5407 + "statuses": "2.0.1", 5408 + "toidentifier": "1.0.1" 5409 + }, 5410 + "engines": { 5411 + "node": ">= 0.8" 5412 + } 5413 + }, 5414 + "node_modules/http-proxy-agent": { 5415 + "version": "4.0.1", 5416 + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", 5417 + "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", 5418 + "license": "MIT", 5419 + "optional": true, 5420 + "dependencies": { 5421 + "@tootallnate/once": "1", 5422 + "agent-base": "6", 5423 + "debug": "4" 5424 + }, 5425 + "engines": { 5426 + "node": ">= 6" 5427 + } 5428 + }, 5429 + "node_modules/http-proxy-agent/node_modules/agent-base": { 5430 + "version": "6.0.2", 5431 + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", 5432 + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", 5433 + "license": "MIT", 5434 + "optional": true, 5435 + "dependencies": { 5436 + "debug": "4" 5437 + }, 5438 + "engines": { 5439 + "node": ">= 6.0.0" 5440 + } 5441 + }, 5442 + "node_modules/http-proxy-agent/node_modules/debug": { 5443 + "version": "4.4.3", 5444 + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", 5445 + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", 5446 + "license": "MIT", 5447 + "optional": true, 5448 + "dependencies": { 5449 + "ms": "^2.1.3" 5450 + }, 5451 + "engines": { 5452 + "node": ">=6.0" 5453 + }, 5454 + "peerDependenciesMeta": { 5455 + "supports-color": { 5456 + "optional": true 5457 + } 5458 + } 5459 + }, 5460 + "node_modules/http-proxy-agent/node_modules/ms": { 5461 + "version": "2.1.3", 5462 + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", 5463 + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", 5464 + "license": "MIT", 5465 + "optional": true 5466 + }, 5467 + "node_modules/https-proxy-agent": { 5468 + "version": "7.0.6", 5469 + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", 5470 + "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", 5471 + "dev": true, 5472 + "license": "MIT", 5473 + "dependencies": { 5474 + "agent-base": "^7.1.2", 5475 + "debug": "4" 5476 + }, 5477 + "engines": { 5478 + "node": ">= 14" 5479 + } 5480 + }, 5481 + "node_modules/https-proxy-agent/node_modules/debug": { 5482 + "version": "4.4.3", 5483 + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", 5484 + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", 5485 + "dev": true, 5486 + "license": "MIT", 5487 + "dependencies": { 5488 + "ms": "^2.1.3" 5489 + }, 5490 + "engines": { 5491 + "node": ">=6.0" 5492 + }, 5493 + "peerDependenciesMeta": { 5494 + "supports-color": { 5495 + "optional": true 5496 + } 5497 + } 5498 + }, 5499 + "node_modules/https-proxy-agent/node_modules/ms": { 5500 + "version": "2.1.3", 5501 + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", 5502 + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", 5503 + "dev": true, 5504 + "license": "MIT" 5505 + }, 5506 + "node_modules/human-signals": { 5507 + "version": "2.1.0", 5508 + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", 5509 + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", 5510 + "dev": true, 5511 + "license": "Apache-2.0", 5512 + "engines": { 5513 + "node": ">=10.17.0" 5514 + } 5515 + }, 5516 + "node_modules/humanize-ms": { 5517 + "version": "1.2.1", 5518 + "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", 5519 + "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==", 5520 + "license": "MIT", 5521 + "optional": true, 5522 + "dependencies": { 5523 + "ms": "^2.0.0" 5524 + } 5525 + }, 5526 + "node_modules/iconv-lite": { 5527 + "version": "0.4.24", 5528 + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", 5529 + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", 5530 + "license": "MIT", 5531 + "dependencies": { 5532 + "safer-buffer": ">= 2.1.2 < 3" 5533 + }, 5534 + "engines": { 5535 + "node": ">=0.10.0" 5536 + } 5537 + }, 5538 + "node_modules/ieee754": { 5539 + "version": "1.2.1", 5540 + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", 5541 + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", 5542 + "funding": [ 5543 + { 5544 + "type": "github", 5545 + "url": "https://github.com/sponsors/feross" 5546 + }, 5547 + { 5548 + "type": "patreon", 5549 + "url": "https://www.patreon.com/feross" 5550 + }, 5551 + { 5552 + "type": "consulting", 5553 + "url": "https://feross.org/support" 5554 + } 5555 + ], 5556 + "license": "BSD-3-Clause" 5557 + }, 5558 + "node_modules/ignore-by-default": { 5559 + "version": "1.0.1", 5560 + "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz", 5561 + "integrity": "sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA==", 5562 + "dev": true, 5563 + "license": "ISC" 5564 + }, 5565 + "node_modules/import-local": { 5566 + "version": "3.2.0", 5567 + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.2.0.tgz", 5568 + "integrity": "sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==", 5569 + "dev": true, 5570 + "license": "MIT", 5571 + "dependencies": { 5572 + "pkg-dir": "^4.2.0", 5573 + "resolve-cwd": "^3.0.0" 5574 + }, 5575 + "bin": { 5576 + "import-local-fixture": "fixtures/cli.js" 5577 + }, 5578 + "engines": { 5579 + "node": ">=8" 5580 + }, 5581 + "funding": { 5582 + "url": "https://github.com/sponsors/sindresorhus" 5583 + } 5584 + }, 5585 + "node_modules/imurmurhash": { 5586 + "version": "0.1.4", 5587 + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", 5588 + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", 5589 + "devOptional": true, 5590 + "license": "MIT", 5591 + "engines": { 5592 + "node": ">=0.8.19" 5593 + } 5594 + }, 5595 + "node_modules/indent-string": { 5596 + "version": "4.0.0", 5597 + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", 5598 + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", 5599 + "license": "MIT", 5600 + "optional": true, 5601 + "engines": { 5602 + "node": ">=8" 5603 + } 5604 + }, 5605 + "node_modules/index-to-position": { 5606 + "version": "1.2.0", 5607 + "resolved": "https://registry.npmjs.org/index-to-position/-/index-to-position-1.2.0.tgz", 5608 + "integrity": "sha512-Yg7+ztRkqslMAS2iFaU+Oa4KTSidr63OsFGlOrJoW981kIYO3CGCS3wA95P1mUi/IVSJkn0D479KTJpVpvFNuw==", 5609 + "dev": true, 5610 + "license": "MIT", 5611 + "engines": { 5612 + "node": ">=18" 5613 + }, 5614 + "funding": { 5615 + "url": "https://github.com/sponsors/sindresorhus" 5616 + } 5617 + }, 5618 + "node_modules/infer-owner": { 5619 + "version": "1.0.4", 5620 + "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", 5621 + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", 5622 + "license": "ISC", 5623 + "optional": true 5624 + }, 5625 + "node_modules/inflight": { 5626 + "version": "1.0.6", 5627 + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 5628 + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", 5629 + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", 5630 + "devOptional": true, 5631 + "license": "ISC", 5632 + "dependencies": { 5633 + "once": "^1.3.0", 5634 + "wrappy": "1" 5635 + } 5636 + }, 5637 + "node_modules/inherits": { 5638 + "version": "2.0.4", 5639 + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 5640 + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", 5641 + "license": "ISC" 5642 + }, 5643 + "node_modules/ini": { 5644 + "version": "1.3.8", 5645 + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", 5646 + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", 5647 + "license": "ISC" 5648 + }, 5649 + "node_modules/ip-address": { 5650 + "version": "10.0.1", 5651 + "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-10.0.1.tgz", 5652 + "integrity": "sha512-NWv9YLW4PoW2B7xtzaS3NCot75m6nK7Icdv0o3lfMceJVRfSoQwqD4wEH5rLwoKJwUiZ/rfpiVBhnaF0FK4HoA==", 5653 + "license": "MIT", 5654 + "optional": true, 5655 + "engines": { 5656 + "node": ">= 12" 5657 + } 5658 + }, 5659 + "node_modules/ipaddr.js": { 5660 + "version": "1.9.1", 5661 + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", 5662 + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", 5663 + "license": "MIT", 5664 + "engines": { 5665 + "node": ">= 0.10" 5666 + } 5667 + }, 5668 + "node_modules/is-arrayish": { 5669 + "version": "0.2.1", 5670 + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", 5671 + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", 5672 + "dev": true, 5673 + "license": "MIT" 5674 + }, 5675 + "node_modules/is-binary-path": { 5676 + "version": "2.1.0", 5677 + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", 5678 + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", 5679 + "dev": true, 5680 + "license": "MIT", 5681 + "dependencies": { 5682 + "binary-extensions": "^2.0.0" 5683 + }, 5684 + "engines": { 5685 + "node": ">=8" 5686 + } 5687 + }, 5688 + "node_modules/is-core-module": { 5689 + "version": "2.16.1", 5690 + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", 5691 + "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", 5692 + "dev": true, 5693 + "license": "MIT", 5694 + "dependencies": { 5695 + "hasown": "^2.0.2" 5696 + }, 5697 + "engines": { 5698 + "node": ">= 0.4" 5699 + }, 5700 + "funding": { 5701 + "url": "https://github.com/sponsors/ljharb" 5702 + } 5703 + }, 5704 + "node_modules/is-extglob": { 5705 + "version": "2.1.1", 5706 + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", 5707 + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", 5708 + "dev": true, 5709 + "license": "MIT", 5710 + "engines": { 5711 + "node": ">=0.10.0" 5712 + } 5713 + }, 5714 + "node_modules/is-fullwidth-code-point": { 5715 + "version": "3.0.0", 5716 + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", 5717 + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", 5718 + "devOptional": true, 5719 + "license": "MIT", 5720 + "engines": { 5721 + "node": ">=8" 5722 + } 5723 + }, 5724 + "node_modules/is-generator-fn": { 5725 + "version": "2.1.0", 5726 + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", 5727 + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", 5728 + "dev": true, 5729 + "license": "MIT", 5730 + "engines": { 5731 + "node": ">=6" 5732 + } 5733 + }, 5734 + "node_modules/is-glob": { 5735 + "version": "4.0.3", 5736 + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", 5737 + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", 5738 + "dev": true, 5739 + "license": "MIT", 5740 + "dependencies": { 5741 + "is-extglob": "^2.1.1" 5742 + }, 5743 + "engines": { 5744 + "node": ">=0.10.0" 5745 + } 5746 + }, 5747 + "node_modules/is-lambda": { 5748 + "version": "1.0.1", 5749 + "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", 5750 + "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==", 5751 + "license": "MIT", 5752 + "optional": true 5753 + }, 5754 + "node_modules/is-number": { 5755 + "version": "7.0.0", 5756 + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", 5757 + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", 5758 + "dev": true, 5759 + "license": "MIT", 5760 + "engines": { 5761 + "node": ">=0.12.0" 5762 + } 5763 + }, 5764 + "node_modules/is-stream": { 5765 + "version": "2.0.1", 5766 + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", 5767 + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", 5768 + "dev": true, 5769 + "license": "MIT", 5770 + "engines": { 5771 + "node": ">=8" 5772 + }, 5773 + "funding": { 5774 + "url": "https://github.com/sponsors/sindresorhus" 5775 + } 5776 + }, 5777 + "node_modules/isexe": { 5778 + "version": "2.0.0", 5779 + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 5780 + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", 5781 + "devOptional": true, 5782 + "license": "ISC" 5783 + }, 5784 + "node_modules/istanbul-lib-coverage": { 5785 + "version": "3.2.2", 5786 + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", 5787 + "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", 5788 + "dev": true, 5789 + "license": "BSD-3-Clause", 5790 + "engines": { 5791 + "node": ">=8" 5792 + } 5793 + }, 5794 + "node_modules/istanbul-lib-instrument": { 5795 + "version": "6.0.3", 5796 + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.3.tgz", 5797 + "integrity": "sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==", 5798 + "dev": true, 5799 + "license": "BSD-3-Clause", 5800 + "dependencies": { 5801 + "@babel/core": "^7.23.9", 5802 + "@babel/parser": "^7.23.9", 5803 + "@istanbuljs/schema": "^0.1.3", 5804 + "istanbul-lib-coverage": "^3.2.0", 5805 + "semver": "^7.5.4" 5806 + }, 5807 + "engines": { 5808 + "node": ">=10" 5809 + } 5810 + }, 5811 + "node_modules/istanbul-lib-report": { 5812 + "version": "3.0.1", 5813 + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", 5814 + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", 5815 + "dev": true, 5816 + "license": "BSD-3-Clause", 5817 + "dependencies": { 5818 + "istanbul-lib-coverage": "^3.0.0", 5819 + "make-dir": "^4.0.0", 5820 + "supports-color": "^7.1.0" 5821 + }, 5822 + "engines": { 5823 + "node": ">=10" 5824 + } 5825 + }, 5826 + "node_modules/istanbul-lib-report/node_modules/make-dir": { 5827 + "version": "4.0.0", 5828 + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", 5829 + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", 5830 + "dev": true, 5831 + "license": "MIT", 5832 + "dependencies": { 5833 + "semver": "^7.5.3" 5834 + }, 5835 + "engines": { 5836 + "node": ">=10" 5837 + }, 5838 + "funding": { 5839 + "url": "https://github.com/sponsors/sindresorhus" 5840 + } 5841 + }, 5842 + "node_modules/istanbul-lib-report/node_modules/supports-color": { 5843 + "version": "7.2.0", 5844 + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", 5845 + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", 5846 + "dev": true, 5847 + "license": "MIT", 5848 + "dependencies": { 5849 + "has-flag": "^4.0.0" 5850 + }, 5851 + "engines": { 5852 + "node": ">=8" 5853 + } 5854 + }, 5855 + "node_modules/istanbul-lib-source-maps": { 5856 + "version": "4.0.1", 5857 + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", 5858 + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", 5859 + "dev": true, 5860 + "license": "BSD-3-Clause", 5861 + "dependencies": { 5862 + "debug": "^4.1.1", 5863 + "istanbul-lib-coverage": "^3.0.0", 5864 + "source-map": "^0.6.1" 5865 + }, 5866 + "engines": { 5867 + "node": ">=10" 5868 + } 5869 + }, 5870 + "node_modules/istanbul-lib-source-maps/node_modules/debug": { 5871 + "version": "4.4.3", 5872 + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", 5873 + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", 5874 + "dev": true, 5875 + "license": "MIT", 5876 + "dependencies": { 5877 + "ms": "^2.1.3" 5878 + }, 5879 + "engines": { 5880 + "node": ">=6.0" 5881 + }, 5882 + "peerDependenciesMeta": { 5883 + "supports-color": { 5884 + "optional": true 5885 + } 5886 + } 5887 + }, 5888 + "node_modules/istanbul-lib-source-maps/node_modules/ms": { 5889 + "version": "2.1.3", 5890 + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", 5891 + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", 5892 + "dev": true, 5893 + "license": "MIT" 5894 + }, 5895 + "node_modules/istanbul-reports": { 5896 + "version": "3.2.0", 5897 + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.2.0.tgz", 5898 + "integrity": "sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA==", 5899 + "dev": true, 5900 + "license": "BSD-3-Clause", 5901 + "dependencies": { 5902 + "html-escaper": "^2.0.0", 5903 + "istanbul-lib-report": "^3.0.0" 5904 + }, 5905 + "engines": { 5906 + "node": ">=8" 5907 + } 5908 + }, 5909 + "node_modules/jest": { 5910 + "version": "29.7.0", 5911 + "resolved": "https://registry.npmjs.org/jest/-/jest-29.7.0.tgz", 5912 + "integrity": "sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==", 5913 + "dev": true, 5914 + "license": "MIT", 5915 + "dependencies": { 5916 + "@jest/core": "^29.7.0", 5917 + "@jest/types": "^29.6.3", 5918 + "import-local": "^3.0.2", 5919 + "jest-cli": "^29.7.0" 5920 + }, 5921 + "bin": { 5922 + "jest": "bin/jest.js" 5923 + }, 5924 + "engines": { 5925 + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" 5926 + }, 5927 + "peerDependencies": { 5928 + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" 5929 + }, 5930 + "peerDependenciesMeta": { 5931 + "node-notifier": { 5932 + "optional": true 5933 + } 5934 + } 5935 + }, 5936 + "node_modules/jest-changed-files": { 5937 + "version": "29.7.0", 5938 + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.7.0.tgz", 5939 + "integrity": "sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==", 5940 + "dev": true, 5941 + "license": "MIT", 5942 + "dependencies": { 5943 + "execa": "^5.0.0", 5944 + "jest-util": "^29.7.0", 5945 + "p-limit": "^3.1.0" 5946 + }, 5947 + "engines": { 5948 + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" 5949 + } 5950 + }, 5951 + "node_modules/jest-circus": { 5952 + "version": "29.7.0", 5953 + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.7.0.tgz", 5954 + "integrity": "sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==", 5955 + "dev": true, 5956 + "license": "MIT", 5957 + "dependencies": { 5958 + "@jest/environment": "^29.7.0", 5959 + "@jest/expect": "^29.7.0", 5960 + "@jest/test-result": "^29.7.0", 5961 + "@jest/types": "^29.6.3", 5962 + "@types/node": "*", 5963 + "chalk": "^4.0.0", 5964 + "co": "^4.6.0", 5965 + "dedent": "^1.0.0", 5966 + "is-generator-fn": "^2.0.0", 5967 + "jest-each": "^29.7.0", 5968 + "jest-matcher-utils": "^29.7.0", 5969 + "jest-message-util": "^29.7.0", 5970 + "jest-runtime": "^29.7.0", 5971 + "jest-snapshot": "^29.7.0", 5972 + "jest-util": "^29.7.0", 5973 + "p-limit": "^3.1.0", 5974 + "pretty-format": "^29.7.0", 5975 + "pure-rand": "^6.0.0", 5976 + "slash": "^3.0.0", 5977 + "stack-utils": "^2.0.3" 5978 + }, 5979 + "engines": { 5980 + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" 5981 + } 5982 + }, 5983 + "node_modules/jest-cli": { 5984 + "version": "29.7.0", 5985 + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.7.0.tgz", 5986 + "integrity": "sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==", 5987 + "dev": true, 5988 + "license": "MIT", 5989 + "dependencies": { 5990 + "@jest/core": "^29.7.0", 5991 + "@jest/test-result": "^29.7.0", 5992 + "@jest/types": "^29.6.3", 5993 + "chalk": "^4.0.0", 5994 + "create-jest": "^29.7.0", 5995 + "exit": "^0.1.2", 5996 + "import-local": "^3.0.2", 5997 + "jest-config": "^29.7.0", 5998 + "jest-util": "^29.7.0", 5999 + "jest-validate": "^29.7.0", 6000 + "yargs": "^17.3.1" 6001 + }, 6002 + "bin": { 6003 + "jest": "bin/jest.js" 6004 + }, 6005 + "engines": { 6006 + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" 6007 + }, 6008 + "peerDependencies": { 6009 + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" 6010 + }, 6011 + "peerDependenciesMeta": { 6012 + "node-notifier": { 6013 + "optional": true 6014 + } 6015 + } 6016 + }, 6017 + "node_modules/jest-config": { 6018 + "version": "29.7.0", 6019 + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.7.0.tgz", 6020 + "integrity": "sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==", 6021 + "dev": true, 6022 + "license": "MIT", 6023 + "dependencies": { 6024 + "@babel/core": "^7.11.6", 6025 + "@jest/test-sequencer": "^29.7.0", 6026 + "@jest/types": "^29.6.3", 6027 + "babel-jest": "^29.7.0", 6028 + "chalk": "^4.0.0", 6029 + "ci-info": "^3.2.0", 6030 + "deepmerge": "^4.2.2", 6031 + "glob": "^7.1.3", 6032 + "graceful-fs": "^4.2.9", 6033 + "jest-circus": "^29.7.0", 6034 + "jest-environment-node": "^29.7.0", 6035 + "jest-get-type": "^29.6.3", 6036 + "jest-regex-util": "^29.6.3", 6037 + "jest-resolve": "^29.7.0", 6038 + "jest-runner": "^29.7.0", 6039 + "jest-util": "^29.7.0", 6040 + "jest-validate": "^29.7.0", 6041 + "micromatch": "^4.0.4", 6042 + "parse-json": "^5.2.0", 6043 + "pretty-format": "^29.7.0", 6044 + "slash": "^3.0.0", 6045 + "strip-json-comments": "^3.1.1" 6046 + }, 6047 + "engines": { 6048 + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" 6049 + }, 6050 + "peerDependencies": { 6051 + "@types/node": "*", 6052 + "ts-node": ">=9.0.0" 6053 + }, 6054 + "peerDependenciesMeta": { 6055 + "@types/node": { 6056 + "optional": true 6057 + }, 6058 + "ts-node": { 6059 + "optional": true 6060 + } 6061 + } 6062 + }, 6063 + "node_modules/jest-config/node_modules/parse-json": { 6064 + "version": "5.2.0", 6065 + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", 6066 + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", 6067 + "dev": true, 6068 + "license": "MIT", 6069 + "dependencies": { 6070 + "@babel/code-frame": "^7.0.0", 6071 + "error-ex": "^1.3.1", 6072 + "json-parse-even-better-errors": "^2.3.0", 6073 + "lines-and-columns": "^1.1.6" 6074 + }, 6075 + "engines": { 6076 + "node": ">=8" 6077 + }, 6078 + "funding": { 6079 + "url": "https://github.com/sponsors/sindresorhus" 6080 + } 6081 + }, 6082 + "node_modules/jest-diff": { 6083 + "version": "29.7.0", 6084 + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", 6085 + "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==", 6086 + "dev": true, 6087 + "license": "MIT", 6088 + "dependencies": { 6089 + "chalk": "^4.0.0", 6090 + "diff-sequences": "^29.6.3", 6091 + "jest-get-type": "^29.6.3", 6092 + "pretty-format": "^29.7.0" 6093 + }, 6094 + "engines": { 6095 + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" 6096 + } 6097 + }, 6098 + "node_modules/jest-docblock": { 6099 + "version": "29.7.0", 6100 + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.7.0.tgz", 6101 + "integrity": "sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==", 6102 + "dev": true, 6103 + "license": "MIT", 6104 + "dependencies": { 6105 + "detect-newline": "^3.0.0" 6106 + }, 6107 + "engines": { 6108 + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" 6109 + } 6110 + }, 6111 + "node_modules/jest-each": { 6112 + "version": "29.7.0", 6113 + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.7.0.tgz", 6114 + "integrity": "sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==", 6115 + "dev": true, 6116 + "license": "MIT", 6117 + "dependencies": { 6118 + "@jest/types": "^29.6.3", 6119 + "chalk": "^4.0.0", 6120 + "jest-get-type": "^29.6.3", 6121 + "jest-util": "^29.7.0", 6122 + "pretty-format": "^29.7.0" 6123 + }, 6124 + "engines": { 6125 + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" 6126 + } 6127 + }, 6128 + "node_modules/jest-environment-node": { 6129 + "version": "29.7.0", 6130 + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz", 6131 + "integrity": "sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==", 6132 + "dev": true, 6133 + "license": "MIT", 6134 + "dependencies": { 6135 + "@jest/environment": "^29.7.0", 6136 + "@jest/fake-timers": "^29.7.0", 6137 + "@jest/types": "^29.6.3", 6138 + "@types/node": "*", 6139 + "jest-mock": "^29.7.0", 6140 + "jest-util": "^29.7.0" 6141 + }, 6142 + "engines": { 6143 + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" 6144 + } 6145 + }, 6146 + "node_modules/jest-get-type": { 6147 + "version": "29.6.3", 6148 + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", 6149 + "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", 6150 + "dev": true, 6151 + "license": "MIT", 6152 + "engines": { 6153 + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" 6154 + } 6155 + }, 6156 + "node_modules/jest-haste-map": { 6157 + "version": "29.7.0", 6158 + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz", 6159 + "integrity": "sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==", 6160 + "dev": true, 6161 + "license": "MIT", 6162 + "dependencies": { 6163 + "@jest/types": "^29.6.3", 6164 + "@types/graceful-fs": "^4.1.3", 6165 + "@types/node": "*", 6166 + "anymatch": "^3.0.3", 6167 + "fb-watchman": "^2.0.0", 6168 + "graceful-fs": "^4.2.9", 6169 + "jest-regex-util": "^29.6.3", 6170 + "jest-util": "^29.7.0", 6171 + "jest-worker": "^29.7.0", 6172 + "micromatch": "^4.0.4", 6173 + "walker": "^1.0.8" 6174 + }, 6175 + "engines": { 6176 + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" 6177 + }, 6178 + "optionalDependencies": { 6179 + "fsevents": "^2.3.2" 6180 + } 6181 + }, 6182 + "node_modules/jest-leak-detector": { 6183 + "version": "29.7.0", 6184 + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz", 6185 + "integrity": "sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==", 6186 + "dev": true, 6187 + "license": "MIT", 6188 + "dependencies": { 6189 + "jest-get-type": "^29.6.3", 6190 + "pretty-format": "^29.7.0" 6191 + }, 6192 + "engines": { 6193 + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" 6194 + } 6195 + }, 6196 + "node_modules/jest-matcher-utils": { 6197 + "version": "29.7.0", 6198 + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz", 6199 + "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==", 6200 + "dev": true, 6201 + "license": "MIT", 6202 + "dependencies": { 6203 + "chalk": "^4.0.0", 6204 + "jest-diff": "^29.7.0", 6205 + "jest-get-type": "^29.6.3", 6206 + "pretty-format": "^29.7.0" 6207 + }, 6208 + "engines": { 6209 + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" 6210 + } 6211 + }, 6212 + "node_modules/jest-message-util": { 6213 + "version": "29.7.0", 6214 + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz", 6215 + "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==", 6216 + "dev": true, 6217 + "license": "MIT", 6218 + "dependencies": { 6219 + "@babel/code-frame": "^7.12.13", 6220 + "@jest/types": "^29.6.3", 6221 + "@types/stack-utils": "^2.0.0", 6222 + "chalk": "^4.0.0", 6223 + "graceful-fs": "^4.2.9", 6224 + "micromatch": "^4.0.4", 6225 + "pretty-format": "^29.7.0", 6226 + "slash": "^3.0.0", 6227 + "stack-utils": "^2.0.3" 6228 + }, 6229 + "engines": { 6230 + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" 6231 + } 6232 + }, 6233 + "node_modules/jest-mock": { 6234 + "version": "29.7.0", 6235 + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz", 6236 + "integrity": "sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==", 6237 + "dev": true, 6238 + "license": "MIT", 6239 + "dependencies": { 6240 + "@jest/types": "^29.6.3", 6241 + "@types/node": "*", 6242 + "jest-util": "^29.7.0" 6243 + }, 6244 + "engines": { 6245 + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" 6246 + } 6247 + }, 6248 + "node_modules/jest-pnp-resolver": { 6249 + "version": "1.2.3", 6250 + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", 6251 + "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", 6252 + "dev": true, 6253 + "license": "MIT", 6254 + "engines": { 6255 + "node": ">=6" 6256 + }, 6257 + "peerDependencies": { 6258 + "jest-resolve": "*" 6259 + }, 6260 + "peerDependenciesMeta": { 6261 + "jest-resolve": { 6262 + "optional": true 6263 + } 6264 + } 6265 + }, 6266 + "node_modules/jest-regex-util": { 6267 + "version": "29.6.3", 6268 + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz", 6269 + "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==", 6270 + "dev": true, 6271 + "license": "MIT", 6272 + "engines": { 6273 + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" 6274 + } 6275 + }, 6276 + "node_modules/jest-resolve": { 6277 + "version": "29.7.0", 6278 + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.7.0.tgz", 6279 + "integrity": "sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==", 6280 + "dev": true, 6281 + "license": "MIT", 6282 + "dependencies": { 6283 + "chalk": "^4.0.0", 6284 + "graceful-fs": "^4.2.9", 6285 + "jest-haste-map": "^29.7.0", 6286 + "jest-pnp-resolver": "^1.2.2", 6287 + "jest-util": "^29.7.0", 6288 + "jest-validate": "^29.7.0", 6289 + "resolve": "^1.20.0", 6290 + "resolve.exports": "^2.0.0", 6291 + "slash": "^3.0.0" 6292 + }, 6293 + "engines": { 6294 + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" 6295 + } 6296 + }, 6297 + "node_modules/jest-resolve-dependencies": { 6298 + "version": "29.7.0", 6299 + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz", 6300 + "integrity": "sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==", 6301 + "dev": true, 6302 + "license": "MIT", 6303 + "dependencies": { 6304 + "jest-regex-util": "^29.6.3", 6305 + "jest-snapshot": "^29.7.0" 6306 + }, 6307 + "engines": { 6308 + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" 6309 + } 6310 + }, 6311 + "node_modules/jest-runner": { 6312 + "version": "29.7.0", 6313 + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.7.0.tgz", 6314 + "integrity": "sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==", 6315 + "dev": true, 6316 + "license": "MIT", 6317 + "dependencies": { 6318 + "@jest/console": "^29.7.0", 6319 + "@jest/environment": "^29.7.0", 6320 + "@jest/test-result": "^29.7.0", 6321 + "@jest/transform": "^29.7.0", 6322 + "@jest/types": "^29.6.3", 6323 + "@types/node": "*", 6324 + "chalk": "^4.0.0", 6325 + "emittery": "^0.13.1", 6326 + "graceful-fs": "^4.2.9", 6327 + "jest-docblock": "^29.7.0", 6328 + "jest-environment-node": "^29.7.0", 6329 + "jest-haste-map": "^29.7.0", 6330 + "jest-leak-detector": "^29.7.0", 6331 + "jest-message-util": "^29.7.0", 6332 + "jest-resolve": "^29.7.0", 6333 + "jest-runtime": "^29.7.0", 6334 + "jest-util": "^29.7.0", 6335 + "jest-watcher": "^29.7.0", 6336 + "jest-worker": "^29.7.0", 6337 + "p-limit": "^3.1.0", 6338 + "source-map-support": "0.5.13" 6339 + }, 6340 + "engines": { 6341 + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" 6342 + } 6343 + }, 6344 + "node_modules/jest-runtime": { 6345 + "version": "29.7.0", 6346 + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.7.0.tgz", 6347 + "integrity": "sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==", 6348 + "dev": true, 6349 + "license": "MIT", 6350 + "dependencies": { 6351 + "@jest/environment": "^29.7.0", 6352 + "@jest/fake-timers": "^29.7.0", 6353 + "@jest/globals": "^29.7.0", 6354 + "@jest/source-map": "^29.6.3", 6355 + "@jest/test-result": "^29.7.0", 6356 + "@jest/transform": "^29.7.0", 6357 + "@jest/types": "^29.6.3", 6358 + "@types/node": "*", 6359 + "chalk": "^4.0.0", 6360 + "cjs-module-lexer": "^1.0.0", 6361 + "collect-v8-coverage": "^1.0.0", 6362 + "glob": "^7.1.3", 6363 + "graceful-fs": "^4.2.9", 6364 + "jest-haste-map": "^29.7.0", 6365 + "jest-message-util": "^29.7.0", 6366 + "jest-mock": "^29.7.0", 6367 + "jest-regex-util": "^29.6.3", 6368 + "jest-resolve": "^29.7.0", 6369 + "jest-snapshot": "^29.7.0", 6370 + "jest-util": "^29.7.0", 6371 + "slash": "^3.0.0", 6372 + "strip-bom": "^4.0.0" 6373 + }, 6374 + "engines": { 6375 + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" 6376 + } 6377 + }, 6378 + "node_modules/jest-snapshot": { 6379 + "version": "29.7.0", 6380 + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.7.0.tgz", 6381 + "integrity": "sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==", 6382 + "dev": true, 6383 + "license": "MIT", 6384 + "dependencies": { 6385 + "@babel/core": "^7.11.6", 6386 + "@babel/generator": "^7.7.2", 6387 + "@babel/plugin-syntax-jsx": "^7.7.2", 6388 + "@babel/plugin-syntax-typescript": "^7.7.2", 6389 + "@babel/types": "^7.3.3", 6390 + "@jest/expect-utils": "^29.7.0", 6391 + "@jest/transform": "^29.7.0", 6392 + "@jest/types": "^29.6.3", 6393 + "babel-preset-current-node-syntax": "^1.0.0", 6394 + "chalk": "^4.0.0", 6395 + "expect": "^29.7.0", 6396 + "graceful-fs": "^4.2.9", 6397 + "jest-diff": "^29.7.0", 6398 + "jest-get-type": "^29.6.3", 6399 + "jest-matcher-utils": "^29.7.0", 6400 + "jest-message-util": "^29.7.0", 6401 + "jest-util": "^29.7.0", 6402 + "natural-compare": "^1.4.0", 6403 + "pretty-format": "^29.7.0", 6404 + "semver": "^7.5.3" 6405 + }, 6406 + "engines": { 6407 + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" 6408 + } 6409 + }, 6410 + "node_modules/jest-util": { 6411 + "version": "29.7.0", 6412 + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", 6413 + "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", 6414 + "dev": true, 6415 + "license": "MIT", 6416 + "dependencies": { 6417 + "@jest/types": "^29.6.3", 6418 + "@types/node": "*", 6419 + "chalk": "^4.0.0", 6420 + "ci-info": "^3.2.0", 6421 + "graceful-fs": "^4.2.9", 6422 + "picomatch": "^2.2.3" 6423 + }, 6424 + "engines": { 6425 + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" 6426 + } 6427 + }, 6428 + "node_modules/jest-validate": { 6429 + "version": "29.7.0", 6430 + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz", 6431 + "integrity": "sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==", 6432 + "dev": true, 6433 + "license": "MIT", 6434 + "dependencies": { 6435 + "@jest/types": "^29.6.3", 6436 + "camelcase": "^6.2.0", 6437 + "chalk": "^4.0.0", 6438 + "jest-get-type": "^29.6.3", 6439 + "leven": "^3.1.0", 6440 + "pretty-format": "^29.7.0" 6441 + }, 6442 + "engines": { 6443 + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" 6444 + } 6445 + }, 6446 + "node_modules/jest-watcher": { 6447 + "version": "29.7.0", 6448 + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.7.0.tgz", 6449 + "integrity": "sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==", 6450 + "dev": true, 6451 + "license": "MIT", 6452 + "dependencies": { 6453 + "@jest/test-result": "^29.7.0", 6454 + "@jest/types": "^29.6.3", 6455 + "@types/node": "*", 6456 + "ansi-escapes": "^4.2.1", 6457 + "chalk": "^4.0.0", 6458 + "emittery": "^0.13.1", 6459 + "jest-util": "^29.7.0", 6460 + "string-length": "^4.0.1" 6461 + }, 6462 + "engines": { 6463 + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" 6464 + } 6465 + }, 6466 + "node_modules/jest-worker": { 6467 + "version": "29.7.0", 6468 + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", 6469 + "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", 6470 + "dev": true, 6471 + "license": "MIT", 6472 + "dependencies": { 6473 + "@types/node": "*", 6474 + "jest-util": "^29.7.0", 6475 + "merge-stream": "^2.0.0", 6476 + "supports-color": "^8.0.0" 6477 + }, 6478 + "engines": { 6479 + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" 6480 + } 6481 + }, 6482 + "node_modules/jest-worker/node_modules/supports-color": { 6483 + "version": "8.1.1", 6484 + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", 6485 + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", 6486 + "dev": true, 6487 + "license": "MIT", 6488 + "dependencies": { 6489 + "has-flag": "^4.0.0" 6490 + }, 6491 + "engines": { 6492 + "node": ">=10" 6493 + }, 6494 + "funding": { 6495 + "url": "https://github.com/chalk/supports-color?sponsor=1" 6496 + } 6497 + }, 6498 + "node_modules/js-levenshtein": { 6499 + "version": "1.1.6", 6500 + "resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.6.tgz", 6501 + "integrity": "sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==", 6502 + "dev": true, 6503 + "license": "MIT", 6504 + "engines": { 6505 + "node": ">=0.10.0" 6506 + } 6507 + }, 6508 + "node_modules/js-tokens": { 6509 + "version": "4.0.0", 6510 + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", 6511 + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", 6512 + "dev": true, 6513 + "license": "MIT" 6514 + }, 6515 + "node_modules/js-yaml": { 6516 + "version": "4.1.0", 6517 + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", 6518 + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", 6519 + "license": "MIT", 6520 + "dependencies": { 6521 + "argparse": "^2.0.1" 6522 + }, 6523 + "bin": { 6524 + "js-yaml": "bin/js-yaml.js" 6525 + } 6526 + }, 6527 + "node_modules/jsesc": { 6528 + "version": "3.1.0", 6529 + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", 6530 + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", 6531 + "dev": true, 6532 + "license": "MIT", 6533 + "bin": { 6534 + "jsesc": "bin/jsesc" 6535 + }, 6536 + "engines": { 6537 + "node": ">=6" 6538 + } 6539 + }, 6540 + "node_modules/json-parse-even-better-errors": { 6541 + "version": "2.3.1", 6542 + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", 6543 + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", 6544 + "dev": true, 6545 + "license": "MIT" 6546 + }, 6547 + "node_modules/json-schema-traverse": { 6548 + "version": "1.0.0", 6549 + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", 6550 + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", 6551 + "license": "MIT" 6552 + }, 6553 + "node_modules/json5": { 6554 + "version": "2.2.3", 6555 + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", 6556 + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", 6557 + "dev": true, 6558 + "license": "MIT", 6559 + "bin": { 6560 + "json5": "lib/cli.js" 6561 + }, 6562 + "engines": { 6563 + "node": ">=6" 6564 + } 6565 + }, 6566 + "node_modules/jsonfile": { 6567 + "version": "6.2.0", 6568 + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.0.tgz", 6569 + "integrity": "sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==", 6570 + "dev": true, 6571 + "license": "MIT", 6572 + "dependencies": { 6573 + "universalify": "^2.0.0" 6574 + }, 6575 + "optionalDependencies": { 6576 + "graceful-fs": "^4.1.6" 6577 + } 6578 + }, 6579 + "node_modules/jsonwebtoken": { 6580 + "version": "9.0.2", 6581 + "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz", 6582 + "integrity": "sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ==", 6583 + "license": "MIT", 6584 + "dependencies": { 6585 + "jws": "^3.2.2", 6586 + "lodash.includes": "^4.3.0", 6587 + "lodash.isboolean": "^3.0.3", 6588 + "lodash.isinteger": "^4.0.4", 6589 + "lodash.isnumber": "^3.0.3", 6590 + "lodash.isplainobject": "^4.0.6", 6591 + "lodash.isstring": "^4.0.1", 6592 + "lodash.once": "^4.0.0", 6593 + "ms": "^2.1.1", 6594 + "semver": "^7.5.4" 6595 + }, 6596 + "engines": { 6597 + "node": ">=12", 6598 + "npm": ">=6" 6599 + } 6600 + }, 6601 + "node_modules/jsonwebtoken/node_modules/ms": { 6602 + "version": "2.1.3", 6603 + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", 6604 + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", 6605 + "license": "MIT" 6606 + }, 6607 + "node_modules/jwa": { 6608 + "version": "1.4.2", 6609 + "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.2.tgz", 6610 + "integrity": "sha512-eeH5JO+21J78qMvTIDdBXidBd6nG2kZjg5Ohz/1fpa28Z4CcsWUzJ1ZZyFq/3z3N17aZy+ZuBoHljASbL1WfOw==", 6611 + "license": "MIT", 6612 + "dependencies": { 6613 + "buffer-equal-constant-time": "^1.0.1", 6614 + "ecdsa-sig-formatter": "1.0.11", 6615 + "safe-buffer": "^5.0.1" 6616 + } 6617 + }, 6618 + "node_modules/jws": { 6619 + "version": "3.2.2", 6620 + "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", 6621 + "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", 6622 + "license": "MIT", 6623 + "dependencies": { 6624 + "jwa": "^1.4.1", 6625 + "safe-buffer": "^5.0.1" 6626 + } 6627 + }, 6628 + "node_modules/kleur": { 6629 + "version": "3.0.3", 6630 + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", 6631 + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", 6632 + "dev": true, 6633 + "license": "MIT", 6634 + "engines": { 6635 + "node": ">=6" 6636 + } 6637 + }, 6638 + "node_modules/leven": { 6639 + "version": "3.1.0", 6640 + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", 6641 + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", 6642 + "dev": true, 6643 + "license": "MIT", 6644 + "engines": { 6645 + "node": ">=6" 6646 + } 6647 + }, 6648 + "node_modules/lines-and-columns": { 6649 + "version": "1.2.4", 6650 + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", 6651 + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", 6652 + "dev": true, 6653 + "license": "MIT" 6654 + }, 6655 + "node_modules/locate-path": { 6656 + "version": "5.0.0", 6657 + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", 6658 + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", 6659 + "dev": true, 6660 + "license": "MIT", 6661 + "dependencies": { 6662 + "p-locate": "^4.1.0" 6663 + }, 6664 + "engines": { 6665 + "node": ">=8" 6666 + } 6667 + }, 6668 + "node_modules/lodash.clonedeep": { 6669 + "version": "4.5.0", 6670 + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", 6671 + "integrity": "sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==", 6672 + "license": "MIT" 6673 + }, 6674 + "node_modules/lodash.debounce": { 6675 + "version": "4.0.8", 6676 + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", 6677 + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", 6678 + "dev": true, 6679 + "license": "MIT" 6680 + }, 6681 + "node_modules/lodash.get": { 6682 + "version": "4.4.2", 6683 + "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", 6684 + "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==", 6685 + "deprecated": "This package is deprecated. Use the optional chaining (?.) operator instead.", 6686 + "license": "MIT" 6687 + }, 6688 + "node_modules/lodash.includes": { 6689 + "version": "4.3.0", 6690 + "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", 6691 + "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==", 6692 + "license": "MIT" 6693 + }, 6694 + "node_modules/lodash.isboolean": { 6695 + "version": "3.0.3", 6696 + "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", 6697 + "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==", 6698 + "license": "MIT" 6699 + }, 6700 + "node_modules/lodash.isinteger": { 6701 + "version": "4.0.4", 6702 + "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", 6703 + "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==", 6704 + "license": "MIT" 6705 + }, 6706 + "node_modules/lodash.isnumber": { 6707 + "version": "3.0.3", 6708 + "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", 6709 + "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==", 6710 + "license": "MIT" 6711 + }, 6712 + "node_modules/lodash.isplainobject": { 6713 + "version": "4.0.6", 6714 + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", 6715 + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", 6716 + "license": "MIT" 6717 + }, 6718 + "node_modules/lodash.isstring": { 6719 + "version": "4.0.1", 6720 + "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", 6721 + "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==", 6722 + "license": "MIT" 6723 + }, 6724 + "node_modules/lodash.once": { 6725 + "version": "4.1.1", 6726 + "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", 6727 + "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==", 6728 + "license": "MIT" 6729 + }, 6730 + "node_modules/lru-cache": { 6731 + "version": "6.0.0", 6732 + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", 6733 + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", 6734 + "license": "ISC", 6735 + "optional": true, 6736 + "dependencies": { 6737 + "yallist": "^4.0.0" 6738 + }, 6739 + "engines": { 6740 + "node": ">=10" 6741 + } 6742 + }, 6743 + "node_modules/make-error": { 6744 + "version": "1.3.6", 6745 + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", 6746 + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", 6747 + "dev": true, 6748 + "license": "ISC" 6749 + }, 6750 + "node_modules/make-fetch-happen": { 6751 + "version": "9.1.0", 6752 + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz", 6753 + "integrity": "sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==", 6754 + "license": "ISC", 6755 + "optional": true, 6756 + "dependencies": { 6757 + "agentkeepalive": "^4.1.3", 6758 + "cacache": "^15.2.0", 6759 + "http-cache-semantics": "^4.1.0", 6760 + "http-proxy-agent": "^4.0.1", 6761 + "https-proxy-agent": "^5.0.0", 6762 + "is-lambda": "^1.0.1", 6763 + "lru-cache": "^6.0.0", 6764 + "minipass": "^3.1.3", 6765 + "minipass-collect": "^1.0.2", 6766 + "minipass-fetch": "^1.3.2", 6767 + "minipass-flush": "^1.0.5", 6768 + "minipass-pipeline": "^1.2.4", 6769 + "negotiator": "^0.6.2", 6770 + "promise-retry": "^2.0.1", 6771 + "socks-proxy-agent": "^6.0.0", 6772 + "ssri": "^8.0.0" 6773 + }, 6774 + "engines": { 6775 + "node": ">= 10" 6776 + } 6777 + }, 6778 + "node_modules/make-fetch-happen/node_modules/agent-base": { 6779 + "version": "6.0.2", 6780 + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", 6781 + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", 6782 + "license": "MIT", 6783 + "optional": true, 6784 + "dependencies": { 6785 + "debug": "4" 6786 + }, 6787 + "engines": { 6788 + "node": ">= 6.0.0" 6789 + } 6790 + }, 6791 + "node_modules/make-fetch-happen/node_modules/debug": { 6792 + "version": "4.4.3", 6793 + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", 6794 + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", 6795 + "license": "MIT", 6796 + "optional": true, 6797 + "dependencies": { 6798 + "ms": "^2.1.3" 6799 + }, 6800 + "engines": { 6801 + "node": ">=6.0" 6802 + }, 6803 + "peerDependenciesMeta": { 6804 + "supports-color": { 6805 + "optional": true 6806 + } 6807 + } 6808 + }, 6809 + "node_modules/make-fetch-happen/node_modules/https-proxy-agent": { 6810 + "version": "5.0.1", 6811 + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", 6812 + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", 6813 + "license": "MIT", 6814 + "optional": true, 6815 + "dependencies": { 6816 + "agent-base": "6", 6817 + "debug": "4" 6818 + }, 6819 + "engines": { 6820 + "node": ">= 6" 6821 + } 6822 + }, 6823 + "node_modules/make-fetch-happen/node_modules/ms": { 6824 + "version": "2.1.3", 6825 + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", 6826 + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", 6827 + "license": "MIT", 6828 + "optional": true 6829 + }, 6830 + "node_modules/makeerror": { 6831 + "version": "1.0.12", 6832 + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", 6833 + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", 6834 + "dev": true, 6835 + "license": "BSD-3-Clause", 6836 + "dependencies": { 6837 + "tmpl": "1.0.5" 6838 + } 6839 + }, 6840 + "node_modules/math-intrinsics": { 6841 + "version": "1.1.0", 6842 + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", 6843 + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", 6844 + "license": "MIT", 6845 + "engines": { 6846 + "node": ">= 0.4" 6847 + } 6848 + }, 6849 + "node_modules/media-typer": { 6850 + "version": "0.3.0", 6851 + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", 6852 + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", 6853 + "license": "MIT", 6854 + "engines": { 6855 + "node": ">= 0.6" 6856 + } 6857 + }, 6858 + "node_modules/merge-descriptors": { 6859 + "version": "1.0.3", 6860 + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", 6861 + "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", 6862 + "license": "MIT", 6863 + "funding": { 6864 + "url": "https://github.com/sponsors/sindresorhus" 6865 + } 6866 + }, 6867 + "node_modules/merge-stream": { 6868 + "version": "2.0.0", 6869 + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", 6870 + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", 6871 + "dev": true, 6872 + "license": "MIT" 6873 + }, 6874 + "node_modules/methods": { 6875 + "version": "1.1.2", 6876 + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", 6877 + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", 6878 + "license": "MIT", 6879 + "engines": { 6880 + "node": ">= 0.6" 6881 + } 6882 + }, 6883 + "node_modules/micromatch": { 6884 + "version": "4.0.8", 6885 + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", 6886 + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", 6887 + "dev": true, 6888 + "license": "MIT", 6889 + "dependencies": { 6890 + "braces": "^3.0.3", 6891 + "picomatch": "^2.3.1" 6892 + }, 6893 + "engines": { 6894 + "node": ">=8.6" 6895 + } 6896 + }, 6897 + "node_modules/mime": { 6898 + "version": "1.6.0", 6899 + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", 6900 + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", 6901 + "license": "MIT", 6902 + "bin": { 6903 + "mime": "cli.js" 6904 + }, 6905 + "engines": { 6906 + "node": ">=4" 6907 + } 6908 + }, 6909 + "node_modules/mime-db": { 6910 + "version": "1.52.0", 6911 + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", 6912 + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", 6913 + "license": "MIT", 6914 + "engines": { 6915 + "node": ">= 0.6" 6916 + } 6917 + }, 6918 + "node_modules/mime-types": { 6919 + "version": "2.1.35", 6920 + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", 6921 + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", 6922 + "license": "MIT", 6923 + "dependencies": { 6924 + "mime-db": "1.52.0" 6925 + }, 6926 + "engines": { 6927 + "node": ">= 0.6" 6928 + } 6929 + }, 6930 + "node_modules/mimic-fn": { 6931 + "version": "2.1.0", 6932 + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", 6933 + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", 6934 + "dev": true, 6935 + "license": "MIT", 6936 + "engines": { 6937 + "node": ">=6" 6938 + } 6939 + }, 6940 + "node_modules/mimic-response": { 6941 + "version": "3.1.0", 6942 + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", 6943 + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", 6944 + "license": "MIT", 6945 + "engines": { 6946 + "node": ">=10" 6947 + }, 6948 + "funding": { 6949 + "url": "https://github.com/sponsors/sindresorhus" 6950 + } 6951 + }, 6952 + "node_modules/minimatch": { 6953 + "version": "5.1.6", 6954 + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", 6955 + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", 6956 + "dev": true, 6957 + "license": "ISC", 6958 + "dependencies": { 6959 + "brace-expansion": "^2.0.1" 6960 + }, 6961 + "engines": { 6962 + "node": ">=10" 6963 + } 6964 + }, 6965 + "node_modules/minimist": { 6966 + "version": "1.2.8", 6967 + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", 6968 + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", 6969 + "license": "MIT", 6970 + "funding": { 6971 + "url": "https://github.com/sponsors/ljharb" 6972 + } 6973 + }, 6974 + "node_modules/minipass": { 6975 + "version": "3.3.6", 6976 + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", 6977 + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", 6978 + "license": "ISC", 6979 + "dependencies": { 6980 + "yallist": "^4.0.0" 6981 + }, 6982 + "engines": { 6983 + "node": ">=8" 6984 + } 6985 + }, 6986 + "node_modules/minipass-collect": { 6987 + "version": "1.0.2", 6988 + "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", 6989 + "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", 6990 + "license": "ISC", 6991 + "optional": true, 6992 + "dependencies": { 6993 + "minipass": "^3.0.0" 6994 + }, 6995 + "engines": { 6996 + "node": ">= 8" 6997 + } 6998 + }, 6999 + "node_modules/minipass-fetch": { 7000 + "version": "1.4.1", 7001 + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-1.4.1.tgz", 7002 + "integrity": "sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==", 7003 + "license": "MIT", 7004 + "optional": true, 7005 + "dependencies": { 7006 + "minipass": "^3.1.0", 7007 + "minipass-sized": "^1.0.3", 7008 + "minizlib": "^2.0.0" 7009 + }, 7010 + "engines": { 7011 + "node": ">=8" 7012 + }, 7013 + "optionalDependencies": { 7014 + "encoding": "^0.1.12" 7015 + } 7016 + }, 7017 + "node_modules/minipass-flush": { 7018 + "version": "1.0.5", 7019 + "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", 7020 + "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", 7021 + "license": "ISC", 7022 + "optional": true, 7023 + "dependencies": { 7024 + "minipass": "^3.0.0" 7025 + }, 7026 + "engines": { 7027 + "node": ">= 8" 7028 + } 7029 + }, 7030 + "node_modules/minipass-pipeline": { 7031 + "version": "1.2.4", 7032 + "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", 7033 + "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", 7034 + "license": "ISC", 7035 + "optional": true, 7036 + "dependencies": { 7037 + "minipass": "^3.0.0" 7038 + }, 7039 + "engines": { 7040 + "node": ">=8" 7041 + } 7042 + }, 7043 + "node_modules/minipass-sized": { 7044 + "version": "1.0.3", 7045 + "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", 7046 + "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", 7047 + "license": "ISC", 7048 + "optional": true, 7049 + "dependencies": { 7050 + "minipass": "^3.0.0" 7051 + }, 7052 + "engines": { 7053 + "node": ">=8" 7054 + } 7055 + }, 7056 + "node_modules/minizlib": { 7057 + "version": "2.1.2", 7058 + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", 7059 + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", 7060 + "license": "MIT", 7061 + "dependencies": { 7062 + "minipass": "^3.0.0", 7063 + "yallist": "^4.0.0" 7064 + }, 7065 + "engines": { 7066 + "node": ">= 8" 7067 + } 7068 + }, 7069 + "node_modules/mkdirp": { 7070 + "version": "1.0.4", 7071 + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", 7072 + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", 7073 + "license": "MIT", 7074 + "bin": { 7075 + "mkdirp": "bin/cmd.js" 7076 + }, 7077 + "engines": { 7078 + "node": ">=10" 7079 + } 7080 + }, 7081 + "node_modules/mkdirp-classic": { 7082 + "version": "0.5.3", 7083 + "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", 7084 + "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", 7085 + "license": "MIT" 7086 + }, 7087 + "node_modules/ms": { 7088 + "version": "2.0.0", 7089 + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", 7090 + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", 7091 + "license": "MIT" 7092 + }, 7093 + "node_modules/multer": { 7094 + "version": "2.0.2", 7095 + "resolved": "https://registry.npmjs.org/multer/-/multer-2.0.2.tgz", 7096 + "integrity": "sha512-u7f2xaZ/UG8oLXHvtF/oWTRvT44p9ecwBBqTwgJVq0+4BW1g8OW01TyMEGWBHbyMOYVHXslaut7qEQ1meATXgw==", 7097 + "license": "MIT", 7098 + "dependencies": { 7099 + "append-field": "^1.0.0", 7100 + "busboy": "^1.6.0", 7101 + "concat-stream": "^2.0.0", 7102 + "mkdirp": "^0.5.6", 7103 + "object-assign": "^4.1.1", 7104 + "type-is": "^1.6.18", 7105 + "xtend": "^4.0.2" 7106 + }, 7107 + "engines": { 7108 + "node": ">= 10.16.0" 7109 + } 7110 + }, 7111 + "node_modules/multer/node_modules/mkdirp": { 7112 + "version": "0.5.6", 7113 + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", 7114 + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", 7115 + "license": "MIT", 7116 + "dependencies": { 7117 + "minimist": "^1.2.6" 7118 + }, 7119 + "bin": { 7120 + "mkdirp": "bin/cmd.js" 7121 + } 7122 + }, 7123 + "node_modules/napi-build-utils": { 7124 + "version": "2.0.0", 7125 + "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-2.0.0.tgz", 7126 + "integrity": "sha512-GEbrYkbfF7MoNaoh2iGG84Mnf/WZfB0GdGEsM8wz7Expx/LlWf5U8t9nvJKXSp3qr5IsEbK04cBGhol/KwOsWA==", 7127 + "license": "MIT" 7128 + }, 7129 + "node_modules/natural-compare": { 7130 + "version": "1.4.0", 7131 + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", 7132 + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", 7133 + "dev": true, 7134 + "license": "MIT" 7135 + }, 7136 + "node_modules/negotiator": { 7137 + "version": "0.6.3", 7138 + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", 7139 + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", 7140 + "license": "MIT", 7141 + "engines": { 7142 + "node": ">= 0.6" 7143 + } 7144 + }, 7145 + "node_modules/neo-async": { 7146 + "version": "2.6.2", 7147 + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", 7148 + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", 7149 + "dev": true, 7150 + "license": "MIT" 7151 + }, 7152 + "node_modules/node-abi": { 7153 + "version": "3.77.0", 7154 + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.77.0.tgz", 7155 + "integrity": "sha512-DSmt0OEcLoK4i3NuscSbGjOf3bqiDEutejqENSplMSFA/gmB8mkED9G4pKWnPl7MDU4rSHebKPHeitpDfyH0cQ==", 7156 + "license": "MIT", 7157 + "dependencies": { 7158 + "semver": "^7.3.5" 7159 + }, 7160 + "engines": { 7161 + "node": ">=10" 7162 + } 7163 + }, 7164 + "node_modules/node-gyp": { 7165 + "version": "8.4.1", 7166 + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-8.4.1.tgz", 7167 + "integrity": "sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==", 7168 + "license": "MIT", 7169 + "optional": true, 7170 + "dependencies": { 7171 + "env-paths": "^2.2.0", 7172 + "glob": "^7.1.4", 7173 + "graceful-fs": "^4.2.6", 7174 + "make-fetch-happen": "^9.1.0", 7175 + "nopt": "^5.0.0", 7176 + "npmlog": "^6.0.0", 7177 + "rimraf": "^3.0.2", 7178 + "semver": "^7.3.5", 7179 + "tar": "^6.1.2", 7180 + "which": "^2.0.2" 7181 + }, 7182 + "bin": { 7183 + "node-gyp": "bin/node-gyp.js" 7184 + }, 7185 + "engines": { 7186 + "node": ">= 10.12.0" 7187 + } 7188 + }, 7189 + "node_modules/node-gyp/node_modules/are-we-there-yet": { 7190 + "version": "3.0.1", 7191 + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", 7192 + "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", 7193 + "deprecated": "This package is no longer supported.", 7194 + "license": "ISC", 7195 + "optional": true, 7196 + "dependencies": { 7197 + "delegates": "^1.0.0", 7198 + "readable-stream": "^3.6.0" 7199 + }, 7200 + "engines": { 7201 + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" 7202 + } 7203 + }, 7204 + "node_modules/node-gyp/node_modules/gauge": { 7205 + "version": "4.0.4", 7206 + "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", 7207 + "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", 7208 + "deprecated": "This package is no longer supported.", 7209 + "license": "ISC", 7210 + "optional": true, 7211 + "dependencies": { 7212 + "aproba": "^1.0.3 || ^2.0.0", 7213 + "color-support": "^1.1.3", 7214 + "console-control-strings": "^1.1.0", 7215 + "has-unicode": "^2.0.1", 7216 + "signal-exit": "^3.0.7", 7217 + "string-width": "^4.2.3", 7218 + "strip-ansi": "^6.0.1", 7219 + "wide-align": "^1.1.5" 7220 + }, 7221 + "engines": { 7222 + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" 7223 + } 7224 + }, 7225 + "node_modules/node-gyp/node_modules/npmlog": { 7226 + "version": "6.0.2", 7227 + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", 7228 + "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", 7229 + "deprecated": "This package is no longer supported.", 7230 + "license": "ISC", 7231 + "optional": true, 7232 + "dependencies": { 7233 + "are-we-there-yet": "^3.0.0", 7234 + "console-control-strings": "^1.1.0", 7235 + "gauge": "^4.0.3", 7236 + "set-blocking": "^2.0.0" 7237 + }, 7238 + "engines": { 7239 + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" 7240 + } 7241 + }, 7242 + "node_modules/node-int64": { 7243 + "version": "0.4.0", 7244 + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", 7245 + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", 7246 + "dev": true, 7247 + "license": "MIT" 7248 + }, 7249 + "node_modules/node-releases": { 7250 + "version": "2.0.21", 7251 + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.21.tgz", 7252 + "integrity": "sha512-5b0pgg78U3hwXkCM8Z9b2FJdPZlr9Psr9V2gQPESdGHqbntyFJKFW4r5TeWGFzafGY3hzs1JC62VEQMbl1JFkw==", 7253 + "dev": true, 7254 + "license": "MIT" 7255 + }, 7256 + "node_modules/nodemon": { 7257 + "version": "3.1.10", 7258 + "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-3.1.10.tgz", 7259 + "integrity": "sha512-WDjw3pJ0/0jMFmyNDp3gvY2YizjLmmOUQo6DEBY+JgdvW/yQ9mEeSw6H5ythl5Ny2ytb7f9C2nIbjSxMNzbJXw==", 7260 + "dev": true, 7261 + "license": "MIT", 7262 + "dependencies": { 7263 + "chokidar": "^3.5.2", 7264 + "debug": "^4", 7265 + "ignore-by-default": "^1.0.1", 7266 + "minimatch": "^3.1.2", 7267 + "pstree.remy": "^1.1.8", 7268 + "semver": "^7.5.3", 7269 + "simple-update-notifier": "^2.0.0", 7270 + "supports-color": "^5.5.0", 7271 + "touch": "^3.1.0", 7272 + "undefsafe": "^2.0.5" 7273 + }, 7274 + "bin": { 7275 + "nodemon": "bin/nodemon.js" 7276 + }, 7277 + "engines": { 7278 + "node": ">=10" 7279 + }, 7280 + "funding": { 7281 + "type": "opencollective", 7282 + "url": "https://opencollective.com/nodemon" 7283 + } 7284 + }, 7285 + "node_modules/nodemon/node_modules/brace-expansion": { 7286 + "version": "1.1.12", 7287 + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", 7288 + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", 7289 + "dev": true, 7290 + "license": "MIT", 7291 + "dependencies": { 7292 + "balanced-match": "^1.0.0", 7293 + "concat-map": "0.0.1" 7294 + } 7295 + }, 7296 + "node_modules/nodemon/node_modules/debug": { 7297 + "version": "4.4.3", 7298 + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", 7299 + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", 7300 + "dev": true, 7301 + "license": "MIT", 7302 + "dependencies": { 7303 + "ms": "^2.1.3" 7304 + }, 7305 + "engines": { 7306 + "node": ">=6.0" 7307 + }, 7308 + "peerDependenciesMeta": { 7309 + "supports-color": { 7310 + "optional": true 7311 + } 7312 + } 7313 + }, 7314 + "node_modules/nodemon/node_modules/has-flag": { 7315 + "version": "3.0.0", 7316 + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", 7317 + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", 7318 + "dev": true, 7319 + "license": "MIT", 7320 + "engines": { 7321 + "node": ">=4" 7322 + } 7323 + }, 7324 + "node_modules/nodemon/node_modules/minimatch": { 7325 + "version": "3.1.2", 7326 + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", 7327 + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", 7328 + "dev": true, 7329 + "license": "ISC", 7330 + "dependencies": { 7331 + "brace-expansion": "^1.1.7" 7332 + }, 7333 + "engines": { 7334 + "node": "*" 7335 + } 7336 + }, 7337 + "node_modules/nodemon/node_modules/ms": { 7338 + "version": "2.1.3", 7339 + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", 7340 + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", 7341 + "dev": true, 7342 + "license": "MIT" 7343 + }, 7344 + "node_modules/nodemon/node_modules/supports-color": { 7345 + "version": "5.5.0", 7346 + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", 7347 + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", 7348 + "dev": true, 7349 + "license": "MIT", 7350 + "dependencies": { 7351 + "has-flag": "^3.0.0" 7352 + }, 7353 + "engines": { 7354 + "node": ">=4" 7355 + } 7356 + }, 7357 + "node_modules/nopt": { 7358 + "version": "5.0.0", 7359 + "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", 7360 + "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", 7361 + "license": "ISC", 7362 + "optional": true, 7363 + "dependencies": { 7364 + "abbrev": "1" 7365 + }, 7366 + "bin": { 7367 + "nopt": "bin/nopt.js" 7368 + }, 7369 + "engines": { 7370 + "node": ">=6" 7371 + } 7372 + }, 7373 + "node_modules/normalize-path": { 7374 + "version": "3.0.0", 7375 + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", 7376 + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", 7377 + "dev": true, 7378 + "license": "MIT", 7379 + "engines": { 7380 + "node": ">=0.10.0" 7381 + } 7382 + }, 7383 + "node_modules/npm-run-path": { 7384 + "version": "4.0.1", 7385 + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", 7386 + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", 7387 + "dev": true, 7388 + "license": "MIT", 7389 + "dependencies": { 7390 + "path-key": "^3.0.0" 7391 + }, 7392 + "engines": { 7393 + "node": ">=8" 7394 + } 7395 + }, 7396 + "node_modules/object-assign": { 7397 + "version": "4.1.1", 7398 + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", 7399 + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", 7400 + "license": "MIT", 7401 + "engines": { 7402 + "node": ">=0.10.0" 7403 + } 7404 + }, 7405 + "node_modules/object-inspect": { 7406 + "version": "1.13.4", 7407 + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", 7408 + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", 7409 + "license": "MIT", 7410 + "engines": { 7411 + "node": ">= 0.4" 7412 + }, 7413 + "funding": { 7414 + "url": "https://github.com/sponsors/ljharb" 7415 + } 7416 + }, 7417 + "node_modules/on-finished": { 7418 + "version": "2.4.1", 7419 + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", 7420 + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", 7421 + "license": "MIT", 7422 + "dependencies": { 7423 + "ee-first": "1.1.1" 7424 + }, 7425 + "engines": { 7426 + "node": ">= 0.8" 7427 + } 7428 + }, 7429 + "node_modules/once": { 7430 + "version": "1.4.0", 7431 + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 7432 + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", 7433 + "license": "ISC", 7434 + "dependencies": { 7435 + "wrappy": "1" 7436 + } 7437 + }, 7438 + "node_modules/onetime": { 7439 + "version": "5.1.2", 7440 + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", 7441 + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", 7442 + "dev": true, 7443 + "license": "MIT", 7444 + "dependencies": { 7445 + "mimic-fn": "^2.1.0" 7446 + }, 7447 + "engines": { 7448 + "node": ">=6" 7449 + }, 7450 + "funding": { 7451 + "url": "https://github.com/sponsors/sindresorhus" 7452 + } 7453 + }, 7454 + "node_modules/ono": { 7455 + "version": "7.1.3", 7456 + "resolved": "https://registry.npmjs.org/ono/-/ono-7.1.3.tgz", 7457 + "integrity": "sha512-9jnfVriq7uJM4o5ganUY54ntUm+5EK21EGaQ5NWnkWg3zz5ywbbonlBguRcnmF1/HDiIe3zxNxXcO1YPBmPcQQ==", 7458 + "license": "MIT", 7459 + "dependencies": { 7460 + "@jsdevtools/ono": "7.1.3" 7461 + } 7462 + }, 7463 + "node_modules/openapi-typescript": { 7464 + "version": "7.9.1", 7465 + "resolved": "https://registry.npmjs.org/openapi-typescript/-/openapi-typescript-7.9.1.tgz", 7466 + "integrity": "sha512-9gJtoY04mk6iPMbToPjPxEAtfXZ0dTsMZtsgUI8YZta0btPPig9DJFP4jlerQD/7QOwYgb0tl+zLUpDf7vb7VA==", 7467 + "dev": true, 7468 + "license": "MIT", 7469 + "dependencies": { 7470 + "@redocly/openapi-core": "^1.34.5", 7471 + "ansi-colors": "^4.1.3", 7472 + "change-case": "^5.4.4", 7473 + "parse-json": "^8.3.0", 7474 + "supports-color": "^10.1.0", 7475 + "yargs-parser": "^21.1.1" 7476 + }, 7477 + "bin": { 7478 + "openapi-typescript": "bin/cli.js" 7479 + }, 7480 + "peerDependencies": { 7481 + "typescript": "^5.x" 7482 + } 7483 + }, 7484 + "node_modules/openapi-typescript-codegen": { 7485 + "version": "0.29.0", 7486 + "resolved": "https://registry.npmjs.org/openapi-typescript-codegen/-/openapi-typescript-codegen-0.29.0.tgz", 7487 + "integrity": "sha512-/wC42PkD0LGjDTEULa/XiWQbv4E9NwLjwLjsaJ/62yOsoYhwvmBR31kPttn1DzQ2OlGe5stACcF/EIkZk43M6w==", 7488 + "dev": true, 7489 + "license": "MIT", 7490 + "dependencies": { 7491 + "@apidevtools/json-schema-ref-parser": "^11.5.4", 7492 + "camelcase": "^6.3.0", 7493 + "commander": "^12.0.0", 7494 + "fs-extra": "^11.2.0", 7495 + "handlebars": "^4.7.8" 7496 + }, 7497 + "bin": { 7498 + "openapi": "bin/index.js" 7499 + } 7500 + }, 7501 + "node_modules/p-limit": { 7502 + "version": "3.1.0", 7503 + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", 7504 + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", 7505 + "dev": true, 7506 + "license": "MIT", 7507 + "dependencies": { 7508 + "yocto-queue": "^0.1.0" 7509 + }, 7510 + "engines": { 7511 + "node": ">=10" 7512 + }, 7513 + "funding": { 7514 + "url": "https://github.com/sponsors/sindresorhus" 7515 + } 7516 + }, 7517 + "node_modules/p-locate": { 7518 + "version": "4.1.0", 7519 + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", 7520 + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", 7521 + "dev": true, 7522 + "license": "MIT", 7523 + "dependencies": { 7524 + "p-limit": "^2.2.0" 7525 + }, 7526 + "engines": { 7527 + "node": ">=8" 7528 + } 7529 + }, 7530 + "node_modules/p-locate/node_modules/p-limit": { 7531 + "version": "2.3.0", 7532 + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", 7533 + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", 7534 + "dev": true, 7535 + "license": "MIT", 7536 + "dependencies": { 7537 + "p-try": "^2.0.0" 7538 + }, 7539 + "engines": { 7540 + "node": ">=6" 7541 + }, 7542 + "funding": { 7543 + "url": "https://github.com/sponsors/sindresorhus" 7544 + } 7545 + }, 7546 + "node_modules/p-map": { 7547 + "version": "4.0.0", 7548 + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", 7549 + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", 7550 + "license": "MIT", 7551 + "optional": true, 7552 + "dependencies": { 7553 + "aggregate-error": "^3.0.0" 7554 + }, 7555 + "engines": { 7556 + "node": ">=10" 7557 + }, 7558 + "funding": { 7559 + "url": "https://github.com/sponsors/sindresorhus" 7560 + } 7561 + }, 7562 + "node_modules/p-try": { 7563 + "version": "2.2.0", 7564 + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", 7565 + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", 7566 + "dev": true, 7567 + "license": "MIT", 7568 + "engines": { 7569 + "node": ">=6" 7570 + } 7571 + }, 7572 + "node_modules/parse-json": { 7573 + "version": "8.3.0", 7574 + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-8.3.0.tgz", 7575 + "integrity": "sha512-ybiGyvspI+fAoRQbIPRddCcSTV9/LsJbf0e/S85VLowVGzRmokfneg2kwVW/KU5rOXrPSbF1qAKPMgNTqqROQQ==", 7576 + "dev": true, 7577 + "license": "MIT", 7578 + "dependencies": { 7579 + "@babel/code-frame": "^7.26.2", 7580 + "index-to-position": "^1.1.0", 7581 + "type-fest": "^4.39.1" 7582 + }, 7583 + "engines": { 7584 + "node": ">=18" 7585 + }, 7586 + "funding": { 7587 + "url": "https://github.com/sponsors/sindresorhus" 7588 + } 7589 + }, 7590 + "node_modules/parseurl": { 7591 + "version": "1.3.3", 7592 + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", 7593 + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", 7594 + "license": "MIT", 7595 + "engines": { 7596 + "node": ">= 0.8" 7597 + } 7598 + }, 7599 + "node_modules/path-exists": { 7600 + "version": "4.0.0", 7601 + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", 7602 + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", 7603 + "dev": true, 7604 + "license": "MIT", 7605 + "engines": { 7606 + "node": ">=8" 7607 + } 7608 + }, 7609 + "node_modules/path-is-absolute": { 7610 + "version": "1.0.1", 7611 + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 7612 + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", 7613 + "devOptional": true, 7614 + "license": "MIT", 7615 + "engines": { 7616 + "node": ">=0.10.0" 7617 + } 7618 + }, 7619 + "node_modules/path-key": { 7620 + "version": "3.1.1", 7621 + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", 7622 + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", 7623 + "dev": true, 7624 + "license": "MIT", 7625 + "engines": { 7626 + "node": ">=8" 7627 + } 7628 + }, 7629 + "node_modules/path-parse": { 7630 + "version": "1.0.7", 7631 + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", 7632 + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", 7633 + "dev": true, 7634 + "license": "MIT" 7635 + }, 7636 + "node_modules/path-to-regexp": { 7637 + "version": "0.1.12", 7638 + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.12.tgz", 7639 + "integrity": "sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==", 7640 + "license": "MIT" 7641 + }, 7642 + "node_modules/picocolors": { 7643 + "version": "1.1.1", 7644 + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", 7645 + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", 7646 + "dev": true, 7647 + "license": "ISC" 7648 + }, 7649 + "node_modules/picomatch": { 7650 + "version": "2.3.1", 7651 + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", 7652 + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", 7653 + "dev": true, 7654 + "license": "MIT", 7655 + "engines": { 7656 + "node": ">=8.6" 7657 + }, 7658 + "funding": { 7659 + "url": "https://github.com/sponsors/jonschlinkert" 7660 + } 7661 + }, 7662 + "node_modules/pirates": { 7663 + "version": "4.0.7", 7664 + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.7.tgz", 7665 + "integrity": "sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==", 7666 + "dev": true, 7667 + "license": "MIT", 7668 + "engines": { 7669 + "node": ">= 6" 7670 + } 7671 + }, 7672 + "node_modules/pkg-dir": { 7673 + "version": "4.2.0", 7674 + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", 7675 + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", 7676 + "dev": true, 7677 + "license": "MIT", 7678 + "dependencies": { 7679 + "find-up": "^4.0.0" 7680 + }, 7681 + "engines": { 7682 + "node": ">=8" 7683 + } 7684 + }, 7685 + "node_modules/pluralize": { 7686 + "version": "8.0.0", 7687 + "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz", 7688 + "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==", 7689 + "dev": true, 7690 + "license": "MIT", 7691 + "engines": { 7692 + "node": ">=4" 7693 + } 7694 + }, 7695 + "node_modules/prebuild-install": { 7696 + "version": "7.1.3", 7697 + "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.3.tgz", 7698 + "integrity": "sha512-8Mf2cbV7x1cXPUILADGI3wuhfqWvtiLA1iclTDbFRZkgRQS0NqsPZphna9V+HyTEadheuPmjaJMsbzKQFOzLug==", 7699 + "license": "MIT", 7700 + "dependencies": { 7701 + "detect-libc": "^2.0.0", 7702 + "expand-template": "^2.0.3", 7703 + "github-from-package": "0.0.0", 7704 + "minimist": "^1.2.3", 7705 + "mkdirp-classic": "^0.5.3", 7706 + "napi-build-utils": "^2.0.0", 7707 + "node-abi": "^3.3.0", 7708 + "pump": "^3.0.0", 7709 + "rc": "^1.2.7", 7710 + "simple-get": "^4.0.0", 7711 + "tar-fs": "^2.0.0", 7712 + "tunnel-agent": "^0.6.0" 7713 + }, 7714 + "bin": { 7715 + "prebuild-install": "bin.js" 7716 + }, 7717 + "engines": { 7718 + "node": ">=10" 7719 + } 7720 + }, 7721 + "node_modules/pretty-format": { 7722 + "version": "29.7.0", 7723 + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", 7724 + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", 7725 + "dev": true, 7726 + "license": "MIT", 7727 + "dependencies": { 7728 + "@jest/schemas": "^29.6.3", 7729 + "ansi-styles": "^5.0.0", 7730 + "react-is": "^18.0.0" 7731 + }, 7732 + "engines": { 7733 + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" 7734 + } 7735 + }, 7736 + "node_modules/pretty-format/node_modules/ansi-styles": { 7737 + "version": "5.2.0", 7738 + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", 7739 + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", 7740 + "dev": true, 7741 + "license": "MIT", 7742 + "engines": { 7743 + "node": ">=10" 7744 + }, 7745 + "funding": { 7746 + "url": "https://github.com/chalk/ansi-styles?sponsor=1" 7747 + } 7748 + }, 7749 + "node_modules/promise-inflight": { 7750 + "version": "1.0.1", 7751 + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", 7752 + "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==", 7753 + "license": "ISC", 7754 + "optional": true 7755 + }, 7756 + "node_modules/promise-retry": { 7757 + "version": "2.0.1", 7758 + "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", 7759 + "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", 7760 + "license": "MIT", 7761 + "optional": true, 7762 + "dependencies": { 7763 + "err-code": "^2.0.2", 7764 + "retry": "^0.12.0" 7765 + }, 7766 + "engines": { 7767 + "node": ">=10" 7768 + } 7769 + }, 7770 + "node_modules/prompts": { 7771 + "version": "2.4.2", 7772 + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", 7773 + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", 7774 + "dev": true, 7775 + "license": "MIT", 7776 + "dependencies": { 7777 + "kleur": "^3.0.3", 7778 + "sisteransi": "^1.0.5" 7779 + }, 7780 + "engines": { 7781 + "node": ">= 6" 7782 + } 7783 + }, 7784 + "node_modules/proxy-addr": { 7785 + "version": "2.0.7", 7786 + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", 7787 + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", 7788 + "license": "MIT", 7789 + "dependencies": { 7790 + "forwarded": "0.2.0", 7791 + "ipaddr.js": "1.9.1" 7792 + }, 7793 + "engines": { 7794 + "node": ">= 0.10" 7795 + } 7796 + }, 7797 + "node_modules/pstree.remy": { 7798 + "version": "1.1.8", 7799 + "resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz", 7800 + "integrity": "sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==", 7801 + "dev": true, 7802 + "license": "MIT" 7803 + }, 7804 + "node_modules/pump": { 7805 + "version": "3.0.3", 7806 + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.3.tgz", 7807 + "integrity": "sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA==", 7808 + "license": "MIT", 7809 + "dependencies": { 7810 + "end-of-stream": "^1.1.0", 7811 + "once": "^1.3.1" 7812 + } 7813 + }, 7814 + "node_modules/pure-rand": { 7815 + "version": "6.1.0", 7816 + "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.1.0.tgz", 7817 + "integrity": "sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==", 7818 + "dev": true, 7819 + "funding": [ 7820 + { 7821 + "type": "individual", 7822 + "url": "https://github.com/sponsors/dubzzz" 7823 + }, 7824 + { 7825 + "type": "opencollective", 7826 + "url": "https://opencollective.com/fast-check" 7827 + } 7828 + ], 7829 + "license": "MIT" 7830 + }, 7831 + "node_modules/qs": { 7832 + "version": "6.13.0", 7833 + "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", 7834 + "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", 7835 + "license": "BSD-3-Clause", 7836 + "dependencies": { 7837 + "side-channel": "^1.0.6" 7838 + }, 7839 + "engines": { 7840 + "node": ">=0.6" 7841 + }, 7842 + "funding": { 7843 + "url": "https://github.com/sponsors/ljharb" 7844 + } 7845 + }, 7846 + "node_modules/range-parser": { 7847 + "version": "1.2.1", 7848 + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", 7849 + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", 7850 + "license": "MIT", 7851 + "engines": { 7852 + "node": ">= 0.6" 7853 + } 7854 + }, 7855 + "node_modules/raw-body": { 7856 + "version": "2.5.2", 7857 + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", 7858 + "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", 7859 + "license": "MIT", 7860 + "dependencies": { 7861 + "bytes": "3.1.2", 7862 + "http-errors": "2.0.0", 7863 + "iconv-lite": "0.4.24", 7864 + "unpipe": "1.0.0" 7865 + }, 7866 + "engines": { 7867 + "node": ">= 0.8" 7868 + } 7869 + }, 7870 + "node_modules/rc": { 7871 + "version": "1.2.8", 7872 + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", 7873 + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", 7874 + "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", 7875 + "dependencies": { 7876 + "deep-extend": "^0.6.0", 7877 + "ini": "~1.3.0", 7878 + "minimist": "^1.2.0", 7879 + "strip-json-comments": "~2.0.1" 7880 + }, 7881 + "bin": { 7882 + "rc": "cli.js" 7883 + } 7884 + }, 7885 + "node_modules/rc/node_modules/strip-json-comments": { 7886 + "version": "2.0.1", 7887 + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", 7888 + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", 7889 + "license": "MIT", 7890 + "engines": { 7891 + "node": ">=0.10.0" 7892 + } 7893 + }, 7894 + "node_modules/react-is": { 7895 + "version": "18.3.1", 7896 + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", 7897 + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", 7898 + "dev": true, 7899 + "license": "MIT" 7900 + }, 7901 + "node_modules/readable-stream": { 7902 + "version": "3.6.2", 7903 + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", 7904 + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", 7905 + "license": "MIT", 7906 + "dependencies": { 7907 + "inherits": "^2.0.3", 7908 + "string_decoder": "^1.1.1", 7909 + "util-deprecate": "^1.0.1" 7910 + }, 7911 + "engines": { 7912 + "node": ">= 6" 7913 + } 7914 + }, 7915 + "node_modules/readdirp": { 7916 + "version": "3.6.0", 7917 + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", 7918 + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", 7919 + "dev": true, 7920 + "license": "MIT", 7921 + "dependencies": { 7922 + "picomatch": "^2.2.1" 7923 + }, 7924 + "engines": { 7925 + "node": ">=8.10.0" 7926 + } 7927 + }, 7928 + "node_modules/regenerate": { 7929 + "version": "1.4.2", 7930 + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", 7931 + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", 7932 + "dev": true, 7933 + "license": "MIT" 7934 + }, 7935 + "node_modules/regenerate-unicode-properties": { 7936 + "version": "10.2.2", 7937 + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.2.tgz", 7938 + "integrity": "sha512-m03P+zhBeQd1RGnYxrGyDAPpWX/epKirLrp8e3qevZdVkKtnCrjjWczIbYc8+xd6vcTStVlqfycTx1KR4LOr0g==", 7939 + "dev": true, 7940 + "license": "MIT", 7941 + "dependencies": { 7942 + "regenerate": "^1.4.2" 7943 + }, 7944 + "engines": { 7945 + "node": ">=4" 7946 + } 7947 + }, 7948 + "node_modules/regexpu-core": { 7949 + "version": "6.4.0", 7950 + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-6.4.0.tgz", 7951 + "integrity": "sha512-0ghuzq67LI9bLXpOX/ISfve/Mq33a4aFRzoQYhnnok1JOFpmE/A2TBGkNVenOGEeSBCjIiWcc6MVOG5HEQv0sA==", 7952 + "dev": true, 7953 + "license": "MIT", 7954 + "dependencies": { 7955 + "regenerate": "^1.4.2", 7956 + "regenerate-unicode-properties": "^10.2.2", 7957 + "regjsgen": "^0.8.0", 7958 + "regjsparser": "^0.13.0", 7959 + "unicode-match-property-ecmascript": "^2.0.0", 7960 + "unicode-match-property-value-ecmascript": "^2.2.1" 7961 + }, 7962 + "engines": { 7963 + "node": ">=4" 7964 + } 7965 + }, 7966 + "node_modules/regjsgen": { 7967 + "version": "0.8.0", 7968 + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.8.0.tgz", 7969 + "integrity": "sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==", 7970 + "dev": true, 7971 + "license": "MIT" 7972 + }, 7973 + "node_modules/regjsparser": { 7974 + "version": "0.13.0", 7975 + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.13.0.tgz", 7976 + "integrity": "sha512-NZQZdC5wOE/H3UT28fVGL+ikOZcEzfMGk/c3iN9UGxzWHMa1op7274oyiUVrAG4B2EuFhus8SvkaYnhvW92p9Q==", 7977 + "dev": true, 7978 + "license": "BSD-2-Clause", 7979 + "dependencies": { 7980 + "jsesc": "~3.1.0" 7981 + }, 7982 + "bin": { 7983 + "regjsparser": "bin/parser" 7984 + } 7985 + }, 7986 + "node_modules/require-directory": { 7987 + "version": "2.1.1", 7988 + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", 7989 + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", 7990 + "dev": true, 7991 + "license": "MIT", 7992 + "engines": { 7993 + "node": ">=0.10.0" 7994 + } 7995 + }, 7996 + "node_modules/require-from-string": { 7997 + "version": "2.0.2", 7998 + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", 7999 + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", 8000 + "license": "MIT", 8001 + "engines": { 8002 + "node": ">=0.10.0" 8003 + } 8004 + }, 8005 + "node_modules/resolve": { 8006 + "version": "1.22.10", 8007 + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", 8008 + "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", 8009 + "dev": true, 8010 + "license": "MIT", 8011 + "dependencies": { 8012 + "is-core-module": "^2.16.0", 8013 + "path-parse": "^1.0.7", 8014 + "supports-preserve-symlinks-flag": "^1.0.0" 8015 + }, 8016 + "bin": { 8017 + "resolve": "bin/resolve" 8018 + }, 8019 + "engines": { 8020 + "node": ">= 0.4" 8021 + }, 8022 + "funding": { 8023 + "url": "https://github.com/sponsors/ljharb" 8024 + } 8025 + }, 8026 + "node_modules/resolve-cwd": { 8027 + "version": "3.0.0", 8028 + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", 8029 + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", 8030 + "dev": true, 8031 + "license": "MIT", 8032 + "dependencies": { 8033 + "resolve-from": "^5.0.0" 8034 + }, 8035 + "engines": { 8036 + "node": ">=8" 8037 + } 8038 + }, 8039 + "node_modules/resolve-from": { 8040 + "version": "5.0.0", 8041 + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", 8042 + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", 8043 + "dev": true, 8044 + "license": "MIT", 8045 + "engines": { 8046 + "node": ">=8" 8047 + } 8048 + }, 8049 + "node_modules/resolve.exports": { 8050 + "version": "2.0.3", 8051 + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.3.tgz", 8052 + "integrity": "sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A==", 8053 + "dev": true, 8054 + "license": "MIT", 8055 + "engines": { 8056 + "node": ">=10" 8057 + } 8058 + }, 8059 + "node_modules/retry": { 8060 + "version": "0.12.0", 8061 + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", 8062 + "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", 8063 + "license": "MIT", 8064 + "optional": true, 8065 + "engines": { 8066 + "node": ">= 4" 8067 + } 8068 + }, 8069 + "node_modules/rimraf": { 8070 + "version": "3.0.2", 8071 + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", 8072 + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", 8073 + "deprecated": "Rimraf versions prior to v4 are no longer supported", 8074 + "license": "ISC", 8075 + "optional": true, 8076 + "dependencies": { 8077 + "glob": "^7.1.3" 8078 + }, 8079 + "bin": { 8080 + "rimraf": "bin.js" 8081 + }, 8082 + "funding": { 8083 + "url": "https://github.com/sponsors/isaacs" 8084 + } 8085 + }, 8086 + "node_modules/safe-buffer": { 8087 + "version": "5.2.1", 8088 + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", 8089 + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", 8090 + "funding": [ 8091 + { 8092 + "type": "github", 8093 + "url": "https://github.com/sponsors/feross" 8094 + }, 8095 + { 8096 + "type": "patreon", 8097 + "url": "https://www.patreon.com/feross" 8098 + }, 8099 + { 8100 + "type": "consulting", 8101 + "url": "https://feross.org/support" 8102 + } 8103 + ], 8104 + "license": "MIT" 8105 + }, 8106 + "node_modules/safer-buffer": { 8107 + "version": "2.1.2", 8108 + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", 8109 + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", 8110 + "license": "MIT" 8111 + }, 8112 + "node_modules/semver": { 8113 + "version": "7.7.2", 8114 + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", 8115 + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", 8116 + "license": "ISC", 8117 + "bin": { 8118 + "semver": "bin/semver.js" 8119 + }, 8120 + "engines": { 8121 + "node": ">=10" 8122 + } 8123 + }, 8124 + "node_modules/send": { 8125 + "version": "0.19.0", 8126 + "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz", 8127 + "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==", 8128 + "license": "MIT", 8129 + "dependencies": { 8130 + "debug": "2.6.9", 8131 + "depd": "2.0.0", 8132 + "destroy": "1.2.0", 8133 + "encodeurl": "~1.0.2", 8134 + "escape-html": "~1.0.3", 8135 + "etag": "~1.8.1", 8136 + "fresh": "0.5.2", 8137 + "http-errors": "2.0.0", 8138 + "mime": "1.6.0", 8139 + "ms": "2.1.3", 8140 + "on-finished": "2.4.1", 8141 + "range-parser": "~1.2.1", 8142 + "statuses": "2.0.1" 8143 + }, 8144 + "engines": { 8145 + "node": ">= 0.8.0" 8146 + } 8147 + }, 8148 + "node_modules/send/node_modules/encodeurl": { 8149 + "version": "1.0.2", 8150 + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", 8151 + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", 8152 + "license": "MIT", 8153 + "engines": { 8154 + "node": ">= 0.8" 8155 + } 8156 + }, 8157 + "node_modules/send/node_modules/ms": { 8158 + "version": "2.1.3", 8159 + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", 8160 + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", 8161 + "license": "MIT" 8162 + }, 8163 + "node_modules/serve-static": { 8164 + "version": "1.16.2", 8165 + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz", 8166 + "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==", 8167 + "license": "MIT", 8168 + "dependencies": { 8169 + "encodeurl": "~2.0.0", 8170 + "escape-html": "~1.0.3", 8171 + "parseurl": "~1.3.3", 8172 + "send": "0.19.0" 8173 + }, 8174 + "engines": { 8175 + "node": ">= 0.8.0" 8176 + } 8177 + }, 8178 + "node_modules/set-blocking": { 8179 + "version": "2.0.0", 8180 + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", 8181 + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", 8182 + "license": "ISC", 8183 + "optional": true 8184 + }, 8185 + "node_modules/setprototypeof": { 8186 + "version": "1.2.0", 8187 + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", 8188 + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", 8189 + "license": "ISC" 8190 + }, 8191 + "node_modules/shebang-command": { 8192 + "version": "2.0.0", 8193 + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", 8194 + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", 8195 + "dev": true, 8196 + "license": "MIT", 8197 + "dependencies": { 8198 + "shebang-regex": "^3.0.0" 8199 + }, 8200 + "engines": { 8201 + "node": ">=8" 8202 + } 8203 + }, 8204 + "node_modules/shebang-regex": { 8205 + "version": "3.0.0", 8206 + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", 8207 + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", 8208 + "dev": true, 8209 + "license": "MIT", 8210 + "engines": { 8211 + "node": ">=8" 8212 + } 8213 + }, 8214 + "node_modules/side-channel": { 8215 + "version": "1.1.0", 8216 + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", 8217 + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", 8218 + "license": "MIT", 8219 + "dependencies": { 8220 + "es-errors": "^1.3.0", 8221 + "object-inspect": "^1.13.3", 8222 + "side-channel-list": "^1.0.0", 8223 + "side-channel-map": "^1.0.1", 8224 + "side-channel-weakmap": "^1.0.2" 8225 + }, 8226 + "engines": { 8227 + "node": ">= 0.4" 8228 + }, 8229 + "funding": { 8230 + "url": "https://github.com/sponsors/ljharb" 8231 + } 8232 + }, 8233 + "node_modules/side-channel-list": { 8234 + "version": "1.0.0", 8235 + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", 8236 + "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", 8237 + "license": "MIT", 8238 + "dependencies": { 8239 + "es-errors": "^1.3.0", 8240 + "object-inspect": "^1.13.3" 8241 + }, 8242 + "engines": { 8243 + "node": ">= 0.4" 8244 + }, 8245 + "funding": { 8246 + "url": "https://github.com/sponsors/ljharb" 8247 + } 8248 + }, 8249 + "node_modules/side-channel-map": { 8250 + "version": "1.0.1", 8251 + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", 8252 + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", 8253 + "license": "MIT", 8254 + "dependencies": { 8255 + "call-bound": "^1.0.2", 8256 + "es-errors": "^1.3.0", 8257 + "get-intrinsic": "^1.2.5", 8258 + "object-inspect": "^1.13.3" 8259 + }, 8260 + "engines": { 8261 + "node": ">= 0.4" 8262 + }, 8263 + "funding": { 8264 + "url": "https://github.com/sponsors/ljharb" 8265 + } 8266 + }, 8267 + "node_modules/side-channel-weakmap": { 8268 + "version": "1.0.2", 8269 + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", 8270 + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", 8271 + "license": "MIT", 8272 + "dependencies": { 8273 + "call-bound": "^1.0.2", 8274 + "es-errors": "^1.3.0", 8275 + "get-intrinsic": "^1.2.5", 8276 + "object-inspect": "^1.13.3", 8277 + "side-channel-map": "^1.0.1" 8278 + }, 8279 + "engines": { 8280 + "node": ">= 0.4" 8281 + }, 8282 + "funding": { 8283 + "url": "https://github.com/sponsors/ljharb" 8284 + } 8285 + }, 8286 + "node_modules/signal-exit": { 8287 + "version": "3.0.7", 8288 + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", 8289 + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", 8290 + "devOptional": true, 8291 + "license": "ISC" 8292 + }, 8293 + "node_modules/simple-concat": { 8294 + "version": "1.0.1", 8295 + "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", 8296 + "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", 8297 + "funding": [ 8298 + { 8299 + "type": "github", 8300 + "url": "https://github.com/sponsors/feross" 8301 + }, 8302 + { 8303 + "type": "patreon", 8304 + "url": "https://www.patreon.com/feross" 8305 + }, 8306 + { 8307 + "type": "consulting", 8308 + "url": "https://feross.org/support" 8309 + } 8310 + ], 8311 + "license": "MIT" 8312 + }, 8313 + "node_modules/simple-get": { 8314 + "version": "4.0.1", 8315 + "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz", 8316 + "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==", 8317 + "funding": [ 8318 + { 8319 + "type": "github", 8320 + "url": "https://github.com/sponsors/feross" 8321 + }, 8322 + { 8323 + "type": "patreon", 8324 + "url": "https://www.patreon.com/feross" 8325 + }, 8326 + { 8327 + "type": "consulting", 8328 + "url": "https://feross.org/support" 8329 + } 8330 + ], 8331 + "license": "MIT", 8332 + "dependencies": { 8333 + "decompress-response": "^6.0.0", 8334 + "once": "^1.3.1", 8335 + "simple-concat": "^1.0.0" 8336 + } 8337 + }, 8338 + "node_modules/simple-update-notifier": { 8339 + "version": "2.0.0", 8340 + "resolved": "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-2.0.0.tgz", 8341 + "integrity": "sha512-a2B9Y0KlNXl9u/vsW6sTIu9vGEpfKu2wRV6l1H3XEas/0gUIzGzBoP/IouTcUQbm9JWZLH3COxyn03TYlFax6w==", 8342 + "dev": true, 8343 + "license": "MIT", 8344 + "dependencies": { 8345 + "semver": "^7.5.3" 8346 + }, 8347 + "engines": { 8348 + "node": ">=10" 8349 + } 8350 + }, 8351 + "node_modules/sisteransi": { 8352 + "version": "1.0.5", 8353 + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", 8354 + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", 8355 + "dev": true, 8356 + "license": "MIT" 8357 + }, 8358 + "node_modules/slash": { 8359 + "version": "3.0.0", 8360 + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", 8361 + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", 8362 + "dev": true, 8363 + "license": "MIT", 8364 + "engines": { 8365 + "node": ">=8" 8366 + } 8367 + }, 8368 + "node_modules/smart-buffer": { 8369 + "version": "4.2.0", 8370 + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", 8371 + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", 8372 + "license": "MIT", 8373 + "optional": true, 8374 + "engines": { 8375 + "node": ">= 6.0.0", 8376 + "npm": ">= 3.0.0" 8377 + } 8378 + }, 8379 + "node_modules/socks": { 8380 + "version": "2.8.7", 8381 + "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.7.tgz", 8382 + "integrity": "sha512-HLpt+uLy/pxB+bum/9DzAgiKS8CX1EvbWxI4zlmgGCExImLdiad2iCwXT5Z4c9c3Eq8rP2318mPW2c+QbtjK8A==", 8383 + "license": "MIT", 8384 + "optional": true, 8385 + "dependencies": { 8386 + "ip-address": "^10.0.1", 8387 + "smart-buffer": "^4.2.0" 8388 + }, 8389 + "engines": { 8390 + "node": ">= 10.0.0", 8391 + "npm": ">= 3.0.0" 8392 + } 8393 + }, 8394 + "node_modules/socks-proxy-agent": { 8395 + "version": "6.2.1", 8396 + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.2.1.tgz", 8397 + "integrity": "sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ==", 8398 + "license": "MIT", 8399 + "optional": true, 8400 + "dependencies": { 8401 + "agent-base": "^6.0.2", 8402 + "debug": "^4.3.3", 8403 + "socks": "^2.6.2" 8404 + }, 8405 + "engines": { 8406 + "node": ">= 10" 8407 + } 8408 + }, 8409 + "node_modules/socks-proxy-agent/node_modules/agent-base": { 8410 + "version": "6.0.2", 8411 + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", 8412 + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", 8413 + "license": "MIT", 8414 + "optional": true, 8415 + "dependencies": { 8416 + "debug": "4" 8417 + }, 8418 + "engines": { 8419 + "node": ">= 6.0.0" 8420 + } 8421 + }, 8422 + "node_modules/socks-proxy-agent/node_modules/debug": { 8423 + "version": "4.4.3", 8424 + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", 8425 + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", 8426 + "license": "MIT", 8427 + "optional": true, 8428 + "dependencies": { 8429 + "ms": "^2.1.3" 8430 + }, 8431 + "engines": { 8432 + "node": ">=6.0" 8433 + }, 8434 + "peerDependenciesMeta": { 8435 + "supports-color": { 8436 + "optional": true 8437 + } 8438 + } 8439 + }, 8440 + "node_modules/socks-proxy-agent/node_modules/ms": { 8441 + "version": "2.1.3", 8442 + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", 8443 + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", 8444 + "license": "MIT", 8445 + "optional": true 8446 + }, 8447 + "node_modules/source-map": { 8448 + "version": "0.6.1", 8449 + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", 8450 + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", 8451 + "dev": true, 8452 + "license": "BSD-3-Clause", 8453 + "engines": { 8454 + "node": ">=0.10.0" 8455 + } 8456 + }, 8457 + "node_modules/source-map-support": { 8458 + "version": "0.5.13", 8459 + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", 8460 + "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", 8461 + "dev": true, 8462 + "license": "MIT", 8463 + "dependencies": { 8464 + "buffer-from": "^1.0.0", 8465 + "source-map": "^0.6.0" 8466 + } 8467 + }, 8468 + "node_modules/sprintf-js": { 8469 + "version": "1.0.3", 8470 + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", 8471 + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", 8472 + "dev": true, 8473 + "license": "BSD-3-Clause" 8474 + }, 8475 + "node_modules/sqlite-async": { 8476 + "version": "1.2.0", 8477 + "resolved": "git+ssh://git@github.com/ndp/sqlite-async.git#8d4dfa58e2a823b6242ed6f05c8ce35ed077e842", 8478 + "license": "MIT", 8479 + "dependencies": { 8480 + "sqlite3": "^5.1.2" 8481 + } 8482 + }, 8483 + "node_modules/sqlite-async/node_modules/node-addon-api": { 8484 + "version": "7.1.1", 8485 + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", 8486 + "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", 8487 + "license": "MIT" 8488 + }, 8489 + "node_modules/sqlite-async/node_modules/sqlite3": { 8490 + "version": "5.1.7", 8491 + "resolved": "https://registry.npmjs.org/sqlite3/-/sqlite3-5.1.7.tgz", 8492 + "integrity": "sha512-GGIyOiFaG+TUra3JIfkI/zGP8yZYLPQ0pl1bH+ODjiX57sPhrLU5sQJn1y9bDKZUFYkX1crlrPfSYt0BKKdkog==", 8493 + "hasInstallScript": true, 8494 + "license": "BSD-3-Clause", 8495 + "dependencies": { 8496 + "bindings": "^1.5.0", 8497 + "node-addon-api": "^7.0.0", 8498 + "prebuild-install": "^7.1.1", 8499 + "tar": "^6.1.11" 8500 + }, 8501 + "optionalDependencies": { 8502 + "node-gyp": "8.x" 8503 + }, 8504 + "peerDependencies": { 8505 + "node-gyp": "8.x" 8506 + }, 8507 + "peerDependenciesMeta": { 8508 + "node-gyp": { 8509 + "optional": true 8510 + } 8511 + } 8512 + }, 8513 + "node_modules/ssri": { 8514 + "version": "8.0.1", 8515 + "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz", 8516 + "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==", 8517 + "license": "ISC", 8518 + "optional": true, 8519 + "dependencies": { 8520 + "minipass": "^3.1.1" 8521 + }, 8522 + "engines": { 8523 + "node": ">= 8" 8524 + } 8525 + }, 8526 + "node_modules/stack-utils": { 8527 + "version": "2.0.6", 8528 + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", 8529 + "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", 8530 + "dev": true, 8531 + "license": "MIT", 8532 + "dependencies": { 8533 + "escape-string-regexp": "^2.0.0" 8534 + }, 8535 + "engines": { 8536 + "node": ">=10" 8537 + } 8538 + }, 8539 + "node_modules/statuses": { 8540 + "version": "2.0.1", 8541 + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", 8542 + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", 8543 + "license": "MIT", 8544 + "engines": { 8545 + "node": ">= 0.8" 8546 + } 8547 + }, 8548 + "node_modules/streamsearch": { 8549 + "version": "1.1.0", 8550 + "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", 8551 + "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==", 8552 + "engines": { 8553 + "node": ">=10.0.0" 8554 + } 8555 + }, 8556 + "node_modules/string_decoder": { 8557 + "version": "1.3.0", 8558 + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", 8559 + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", 8560 + "license": "MIT", 8561 + "dependencies": { 8562 + "safe-buffer": "~5.2.0" 8563 + } 8564 + }, 8565 + "node_modules/string-length": { 8566 + "version": "4.0.2", 8567 + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", 8568 + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", 8569 + "dev": true, 8570 + "license": "MIT", 8571 + "dependencies": { 8572 + "char-regex": "^1.0.2", 8573 + "strip-ansi": "^6.0.0" 8574 + }, 8575 + "engines": { 8576 + "node": ">=10" 8577 + } 8578 + }, 8579 + "node_modules/string-width": { 8580 + "version": "4.2.3", 8581 + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", 8582 + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", 8583 + "devOptional": true, 8584 + "license": "MIT", 8585 + "dependencies": { 8586 + "emoji-regex": "^8.0.0", 8587 + "is-fullwidth-code-point": "^3.0.0", 8588 + "strip-ansi": "^6.0.1" 8589 + }, 8590 + "engines": { 8591 + "node": ">=8" 8592 + } 8593 + }, 8594 + "node_modules/strip-ansi": { 8595 + "version": "6.0.1", 8596 + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", 8597 + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", 8598 + "devOptional": true, 8599 + "license": "MIT", 8600 + "dependencies": { 8601 + "ansi-regex": "^5.0.1" 8602 + }, 8603 + "engines": { 8604 + "node": ">=8" 8605 + } 8606 + }, 8607 + "node_modules/strip-bom": { 8608 + "version": "4.0.0", 8609 + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", 8610 + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", 8611 + "dev": true, 8612 + "license": "MIT", 8613 + "engines": { 8614 + "node": ">=8" 8615 + } 8616 + }, 8617 + "node_modules/strip-final-newline": { 8618 + "version": "2.0.0", 8619 + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", 8620 + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", 8621 + "dev": true, 8622 + "license": "MIT", 8623 + "engines": { 8624 + "node": ">=6" 8625 + } 8626 + }, 8627 + "node_modules/strip-json-comments": { 8628 + "version": "3.1.1", 8629 + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", 8630 + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", 8631 + "dev": true, 8632 + "license": "MIT", 8633 + "engines": { 8634 + "node": ">=8" 8635 + }, 8636 + "funding": { 8637 + "url": "https://github.com/sponsors/sindresorhus" 8638 + } 8639 + }, 8640 + "node_modules/superagent": { 8641 + "version": "10.2.3", 8642 + "resolved": "https://registry.npmjs.org/superagent/-/superagent-10.2.3.tgz", 8643 + "integrity": "sha512-y/hkYGeXAj7wUMjxRbB21g/l6aAEituGXM9Rwl4o20+SX3e8YOSV6BxFXl+dL3Uk0mjSL3kCbNkwURm8/gEDig==", 8644 + "dev": true, 8645 + "license": "MIT", 8646 + "dependencies": { 8647 + "component-emitter": "^1.3.1", 8648 + "cookiejar": "^2.1.4", 8649 + "debug": "^4.3.7", 8650 + "fast-safe-stringify": "^2.1.1", 8651 + "form-data": "^4.0.4", 8652 + "formidable": "^3.5.4", 8653 + "methods": "^1.1.2", 8654 + "mime": "2.6.0", 8655 + "qs": "^6.11.2" 8656 + }, 8657 + "engines": { 8658 + "node": ">=14.18.0" 8659 + } 8660 + }, 8661 + "node_modules/superagent/node_modules/debug": { 8662 + "version": "4.4.3", 8663 + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", 8664 + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", 8665 + "dev": true, 8666 + "license": "MIT", 8667 + "dependencies": { 8668 + "ms": "^2.1.3" 8669 + }, 8670 + "engines": { 8671 + "node": ">=6.0" 8672 + }, 8673 + "peerDependenciesMeta": { 8674 + "supports-color": { 8675 + "optional": true 8676 + } 8677 + } 8678 + }, 8679 + "node_modules/superagent/node_modules/mime": { 8680 + "version": "2.6.0", 8681 + "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", 8682 + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", 8683 + "dev": true, 8684 + "license": "MIT", 8685 + "bin": { 8686 + "mime": "cli.js" 8687 + }, 8688 + "engines": { 8689 + "node": ">=4.0.0" 8690 + } 8691 + }, 8692 + "node_modules/superagent/node_modules/ms": { 8693 + "version": "2.1.3", 8694 + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", 8695 + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", 8696 + "dev": true, 8697 + "license": "MIT" 8698 + }, 8699 + "node_modules/supertest": { 8700 + "version": "7.1.4", 8701 + "resolved": "https://registry.npmjs.org/supertest/-/supertest-7.1.4.tgz", 8702 + "integrity": "sha512-tjLPs7dVyqgItVFirHYqe2T+MfWc2VOBQ8QFKKbWTA3PU7liZR8zoSpAi/C1k1ilm9RsXIKYf197oap9wXGVYg==", 8703 + "dev": true, 8704 + "license": "MIT", 8705 + "dependencies": { 8706 + "methods": "^1.1.2", 8707 + "superagent": "^10.2.3" 8708 + }, 8709 + "engines": { 8710 + "node": ">=14.18.0" 8711 + } 8712 + }, 8713 + "node_modules/supports-color": { 8714 + "version": "10.2.2", 8715 + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-10.2.2.tgz", 8716 + "integrity": "sha512-SS+jx45GF1QjgEXQx4NJZV9ImqmO2NPz5FNsIHrsDjh2YsHnawpan7SNQ1o8NuhrbHZy9AZhIoCUiCeaW/C80g==", 8717 + "dev": true, 8718 + "license": "MIT", 8719 + "engines": { 8720 + "node": ">=18" 8721 + }, 8722 + "funding": { 8723 + "url": "https://github.com/chalk/supports-color?sponsor=1" 8724 + } 8725 + }, 8726 + "node_modules/supports-preserve-symlinks-flag": { 8727 + "version": "1.0.0", 8728 + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", 8729 + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", 8730 + "dev": true, 8731 + "license": "MIT", 8732 + "engines": { 8733 + "node": ">= 0.4" 8734 + }, 8735 + "funding": { 8736 + "url": "https://github.com/sponsors/ljharb" 8737 + } 8738 + }, 8739 + "node_modules/tar": { 8740 + "version": "6.2.1", 8741 + "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", 8742 + "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", 8743 + "license": "ISC", 8744 + "dependencies": { 8745 + "chownr": "^2.0.0", 8746 + "fs-minipass": "^2.0.0", 8747 + "minipass": "^5.0.0", 8748 + "minizlib": "^2.1.1", 8749 + "mkdirp": "^1.0.3", 8750 + "yallist": "^4.0.0" 8751 + }, 8752 + "engines": { 8753 + "node": ">=10" 8754 + } 8755 + }, 8756 + "node_modules/tar-fs": { 8757 + "version": "2.1.4", 8758 + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.4.tgz", 8759 + "integrity": "sha512-mDAjwmZdh7LTT6pNleZ05Yt65HC3E+NiQzl672vQG38jIrehtJk/J3mNwIg+vShQPcLF/LV7CMnDW6vjj6sfYQ==", 8760 + "license": "MIT", 8761 + "dependencies": { 8762 + "chownr": "^1.1.1", 8763 + "mkdirp-classic": "^0.5.2", 8764 + "pump": "^3.0.0", 8765 + "tar-stream": "^2.1.4" 8766 + } 8767 + }, 8768 + "node_modules/tar-fs/node_modules/chownr": { 8769 + "version": "1.1.4", 8770 + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", 8771 + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", 8772 + "license": "ISC" 8773 + }, 8774 + "node_modules/tar-stream": { 8775 + "version": "2.2.0", 8776 + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", 8777 + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", 8778 + "license": "MIT", 8779 + "dependencies": { 8780 + "bl": "^4.0.3", 8781 + "end-of-stream": "^1.4.1", 8782 + "fs-constants": "^1.0.0", 8783 + "inherits": "^2.0.3", 8784 + "readable-stream": "^3.1.1" 8785 + }, 8786 + "engines": { 8787 + "node": ">=6" 8788 + } 8789 + }, 8790 + "node_modules/tar/node_modules/minipass": { 8791 + "version": "5.0.0", 8792 + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", 8793 + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", 8794 + "license": "ISC", 8795 + "engines": { 8796 + "node": ">=8" 8797 + } 8798 + }, 8799 + "node_modules/test-exclude": { 8800 + "version": "6.0.0", 8801 + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", 8802 + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", 8803 + "dev": true, 8804 + "license": "ISC", 8805 + "dependencies": { 8806 + "@istanbuljs/schema": "^0.1.2", 8807 + "glob": "^7.1.4", 8808 + "minimatch": "^3.0.4" 8809 + }, 8810 + "engines": { 8811 + "node": ">=8" 8812 + } 8813 + }, 8814 + "node_modules/test-exclude/node_modules/brace-expansion": { 8815 + "version": "1.1.12", 8816 + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", 8817 + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", 8818 + "dev": true, 8819 + "license": "MIT", 8820 + "dependencies": { 8821 + "balanced-match": "^1.0.0", 8822 + "concat-map": "0.0.1" 8823 + } 8824 + }, 8825 + "node_modules/test-exclude/node_modules/minimatch": { 8826 + "version": "3.1.2", 8827 + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", 8828 + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", 8829 + "dev": true, 8830 + "license": "ISC", 8831 + "dependencies": { 8832 + "brace-expansion": "^1.1.7" 8833 + }, 8834 + "engines": { 8835 + "node": "*" 8836 + } 8837 + }, 8838 + "node_modules/tmpl": { 8839 + "version": "1.0.5", 8840 + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", 8841 + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", 8842 + "dev": true, 8843 + "license": "BSD-3-Clause" 8844 + }, 8845 + "node_modules/to-regex-range": { 8846 + "version": "5.0.1", 8847 + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", 8848 + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", 8849 + "dev": true, 8850 + "license": "MIT", 8851 + "dependencies": { 8852 + "is-number": "^7.0.0" 8853 + }, 8854 + "engines": { 8855 + "node": ">=8.0" 8856 + } 8857 + }, 8858 + "node_modules/toidentifier": { 8859 + "version": "1.0.1", 8860 + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", 8861 + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", 8862 + "license": "MIT", 8863 + "engines": { 8864 + "node": ">=0.6" 8865 + } 8866 + }, 8867 + "node_modules/touch": { 8868 + "version": "3.1.1", 8869 + "resolved": "https://registry.npmjs.org/touch/-/touch-3.1.1.tgz", 8870 + "integrity": "sha512-r0eojU4bI8MnHr8c5bNo7lJDdI2qXlWWJk6a9EAFG7vbhTjElYhBVS3/miuE0uOuoLdb8Mc/rVfsmm6eo5o9GA==", 8871 + "dev": true, 8872 + "license": "ISC", 8873 + "bin": { 8874 + "nodetouch": "bin/nodetouch.js" 8875 + } 8876 + }, 8877 + "node_modules/ts-node": { 8878 + "version": "10.9.2", 8879 + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz", 8880 + "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", 8881 + "dev": true, 8882 + "license": "MIT", 8883 + "dependencies": { 8884 + "@cspotcode/source-map-support": "^0.8.0", 8885 + "@tsconfig/node10": "^1.0.7", 8886 + "@tsconfig/node12": "^1.0.7", 8887 + "@tsconfig/node14": "^1.0.0", 8888 + "@tsconfig/node16": "^1.0.2", 8889 + "acorn": "^8.4.1", 8890 + "acorn-walk": "^8.1.1", 8891 + "arg": "^4.1.0", 8892 + "create-require": "^1.1.0", 8893 + "diff": "^4.0.1", 8894 + "make-error": "^1.1.1", 8895 + "v8-compile-cache-lib": "^3.0.1", 8896 + "yn": "3.1.1" 8897 + }, 8898 + "bin": { 8899 + "ts-node": "dist/bin.js", 8900 + "ts-node-cwd": "dist/bin-cwd.js", 8901 + "ts-node-esm": "dist/bin-esm.js", 8902 + "ts-node-script": "dist/bin-script.js", 8903 + "ts-node-transpile-only": "dist/bin-transpile.js", 8904 + "ts-script": "dist/bin-script-deprecated.js" 8905 + }, 8906 + "peerDependencies": { 8907 + "@swc/core": ">=1.2.50", 8908 + "@swc/wasm": ">=1.2.50", 8909 + "@types/node": "*", 8910 + "typescript": ">=2.7" 8911 + }, 8912 + "peerDependenciesMeta": { 8913 + "@swc/core": { 8914 + "optional": true 8915 + }, 8916 + "@swc/wasm": { 8917 + "optional": true 8918 + } 8919 + } 8920 + }, 8921 + "node_modules/tunnel-agent": { 8922 + "version": "0.6.0", 8923 + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", 8924 + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", 8925 + "license": "Apache-2.0", 8926 + "dependencies": { 8927 + "safe-buffer": "^5.0.1" 8928 + }, 8929 + "engines": { 8930 + "node": "*" 8931 + } 8932 + }, 8933 + "node_modules/type-detect": { 8934 + "version": "4.0.8", 8935 + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", 8936 + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", 8937 + "dev": true, 8938 + "license": "MIT", 8939 + "engines": { 8940 + "node": ">=4" 8941 + } 8942 + }, 8943 + "node_modules/type-fest": { 8944 + "version": "4.41.0", 8945 + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz", 8946 + "integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==", 8947 + "dev": true, 8948 + "license": "(MIT OR CC0-1.0)", 8949 + "engines": { 8950 + "node": ">=16" 8951 + }, 8952 + "funding": { 8953 + "url": "https://github.com/sponsors/sindresorhus" 8954 + } 8955 + }, 8956 + "node_modules/type-is": { 8957 + "version": "1.6.18", 8958 + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", 8959 + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", 8960 + "license": "MIT", 8961 + "dependencies": { 8962 + "media-typer": "0.3.0", 8963 + "mime-types": "~2.1.24" 8964 + }, 8965 + "engines": { 8966 + "node": ">= 0.6" 8967 + } 8968 + }, 8969 + "node_modules/typedarray": { 8970 + "version": "0.0.6", 8971 + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", 8972 + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", 8973 + "license": "MIT" 8974 + }, 8975 + "node_modules/typescript": { 8976 + "version": "5.9.2", 8977 + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.2.tgz", 8978 + "integrity": "sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A==", 8979 + "dev": true, 8980 + "license": "Apache-2.0", 8981 + "bin": { 8982 + "tsc": "bin/tsc", 8983 + "tsserver": "bin/tsserver" 8984 + }, 8985 + "engines": { 8986 + "node": ">=14.17" 8987 + } 8988 + }, 8989 + "node_modules/uglify-js": { 8990 + "version": "3.19.3", 8991 + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.19.3.tgz", 8992 + "integrity": "sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==", 8993 + "dev": true, 8994 + "license": "BSD-2-Clause", 8995 + "optional": true, 8996 + "bin": { 8997 + "uglifyjs": "bin/uglifyjs" 8998 + }, 8999 + "engines": { 9000 + "node": ">=0.8.0" 9001 + } 9002 + }, 9003 + "node_modules/undefsafe": { 9004 + "version": "2.0.5", 9005 + "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.5.tgz", 9006 + "integrity": "sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==", 9007 + "dev": true, 9008 + "license": "MIT" 9009 + }, 9010 + "node_modules/undici-types": { 9011 + "version": "7.12.0", 9012 + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.12.0.tgz", 9013 + "integrity": "sha512-goOacqME2GYyOZZfb5Lgtu+1IDmAlAEu5xnD3+xTzS10hT0vzpf0SPjkXwAw9Jm+4n/mQGDP3LO8CPbYROeBfQ==", 9014 + "license": "MIT" 9015 + }, 9016 + "node_modules/unicode-canonical-property-names-ecmascript": { 9017 + "version": "2.0.1", 9018 + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz", 9019 + "integrity": "sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==", 9020 + "dev": true, 9021 + "license": "MIT", 9022 + "engines": { 9023 + "node": ">=4" 9024 + } 9025 + }, 9026 + "node_modules/unicode-match-property-ecmascript": { 9027 + "version": "2.0.0", 9028 + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", 9029 + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", 9030 + "dev": true, 9031 + "license": "MIT", 9032 + "dependencies": { 9033 + "unicode-canonical-property-names-ecmascript": "^2.0.0", 9034 + "unicode-property-aliases-ecmascript": "^2.0.0" 9035 + }, 9036 + "engines": { 9037 + "node": ">=4" 9038 + } 9039 + }, 9040 + "node_modules/unicode-match-property-value-ecmascript": { 9041 + "version": "2.2.1", 9042 + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.1.tgz", 9043 + "integrity": "sha512-JQ84qTuMg4nVkx8ga4A16a1epI9H6uTXAknqxkGF/aFfRLw1xC/Bp24HNLaZhHSkWd3+84t8iXnp1J0kYcZHhg==", 9044 + "dev": true, 9045 + "license": "MIT", 9046 + "engines": { 9047 + "node": ">=4" 9048 + } 9049 + }, 9050 + "node_modules/unicode-property-aliases-ecmascript": { 9051 + "version": "2.2.0", 9052 + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.2.0.tgz", 9053 + "integrity": "sha512-hpbDzxUY9BFwX+UeBnxv3Sh1q7HFxj48DTmXchNgRa46lO8uj3/1iEn3MiNUYTg1g9ctIqXCCERn8gYZhHC5lQ==", 9054 + "dev": true, 9055 + "license": "MIT", 9056 + "engines": { 9057 + "node": ">=4" 9058 + } 9059 + }, 9060 + "node_modules/unique-filename": { 9061 + "version": "1.1.1", 9062 + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", 9063 + "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", 9064 + "license": "ISC", 9065 + "optional": true, 9066 + "dependencies": { 9067 + "unique-slug": "^2.0.0" 9068 + } 9069 + }, 9070 + "node_modules/unique-slug": { 9071 + "version": "2.0.2", 9072 + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", 9073 + "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", 9074 + "license": "ISC", 9075 + "optional": true, 9076 + "dependencies": { 9077 + "imurmurhash": "^0.1.4" 9078 + } 9079 + }, 9080 + "node_modules/universalify": { 9081 + "version": "2.0.1", 9082 + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", 9083 + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", 9084 + "dev": true, 9085 + "license": "MIT", 9086 + "engines": { 9087 + "node": ">= 10.0.0" 9088 + } 9089 + }, 9090 + "node_modules/unpipe": { 9091 + "version": "1.0.0", 9092 + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", 9093 + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", 9094 + "license": "MIT", 9095 + "engines": { 9096 + "node": ">= 0.8" 9097 + } 9098 + }, 9099 + "node_modules/update-browserslist-db": { 9100 + "version": "1.1.3", 9101 + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz", 9102 + "integrity": "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==", 9103 + "dev": true, 9104 + "funding": [ 9105 + { 9106 + "type": "opencollective", 9107 + "url": "https://opencollective.com/browserslist" 9108 + }, 9109 + { 9110 + "type": "tidelift", 9111 + "url": "https://tidelift.com/funding/github/npm/browserslist" 9112 + }, 9113 + { 9114 + "type": "github", 9115 + "url": "https://github.com/sponsors/ai" 9116 + } 9117 + ], 9118 + "license": "MIT", 9119 + "dependencies": { 9120 + "escalade": "^3.2.0", 9121 + "picocolors": "^1.1.1" 9122 + }, 9123 + "bin": { 9124 + "update-browserslist-db": "cli.js" 9125 + }, 9126 + "peerDependencies": { 9127 + "browserslist": ">= 4.21.0" 9128 + } 9129 + }, 9130 + "node_modules/uri-js-replace": { 9131 + "version": "1.0.1", 9132 + "resolved": "https://registry.npmjs.org/uri-js-replace/-/uri-js-replace-1.0.1.tgz", 9133 + "integrity": "sha512-W+C9NWNLFOoBI2QWDp4UT9pv65r2w5Cx+3sTYFvtMdDBxkKt1syCqsUdSFAChbEe1uK5TfS04wt/nGwmaeIQ0g==", 9134 + "dev": true, 9135 + "license": "MIT" 9136 + }, 9137 + "node_modules/util-deprecate": { 9138 + "version": "1.0.2", 9139 + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", 9140 + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", 9141 + "license": "MIT" 9142 + }, 9143 + "node_modules/utils-merge": { 9144 + "version": "1.0.1", 9145 + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", 9146 + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", 9147 + "license": "MIT", 9148 + "engines": { 9149 + "node": ">= 0.4.0" 9150 + } 9151 + }, 9152 + "node_modules/v8-compile-cache-lib": { 9153 + "version": "3.0.1", 9154 + "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", 9155 + "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", 9156 + "dev": true, 9157 + "license": "MIT" 9158 + }, 9159 + "node_modules/v8-to-istanbul": { 9160 + "version": "9.3.0", 9161 + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.3.0.tgz", 9162 + "integrity": "sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==", 9163 + "dev": true, 9164 + "license": "ISC", 9165 + "dependencies": { 9166 + "@jridgewell/trace-mapping": "^0.3.12", 9167 + "@types/istanbul-lib-coverage": "^2.0.1", 9168 + "convert-source-map": "^2.0.0" 9169 + }, 9170 + "engines": { 9171 + "node": ">=10.12.0" 9172 + } 9173 + }, 9174 + "node_modules/v8-to-istanbul/node_modules/@jridgewell/trace-mapping": { 9175 + "version": "0.3.31", 9176 + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", 9177 + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", 9178 + "dev": true, 9179 + "license": "MIT", 9180 + "dependencies": { 9181 + "@jridgewell/resolve-uri": "^3.1.0", 9182 + "@jridgewell/sourcemap-codec": "^1.4.14" 9183 + } 9184 + }, 9185 + "node_modules/vary": { 9186 + "version": "1.1.2", 9187 + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", 9188 + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", 9189 + "license": "MIT", 9190 + "engines": { 9191 + "node": ">= 0.8" 9192 + } 9193 + }, 9194 + "node_modules/walker": { 9195 + "version": "1.0.8", 9196 + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", 9197 + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", 9198 + "dev": true, 9199 + "license": "Apache-2.0", 9200 + "dependencies": { 9201 + "makeerror": "1.0.12" 9202 + } 9203 + }, 9204 + "node_modules/which": { 9205 + "version": "2.0.2", 9206 + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", 9207 + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", 9208 + "devOptional": true, 9209 + "license": "ISC", 9210 + "dependencies": { 9211 + "isexe": "^2.0.0" 9212 + }, 9213 + "bin": { 9214 + "node-which": "bin/node-which" 9215 + }, 9216 + "engines": { 9217 + "node": ">= 8" 9218 + } 9219 + }, 9220 + "node_modules/wide-align": { 9221 + "version": "1.1.5", 9222 + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", 9223 + "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", 9224 + "license": "ISC", 9225 + "optional": true, 9226 + "dependencies": { 9227 + "string-width": "^1.0.2 || 2 || 3 || 4" 9228 + } 9229 + }, 9230 + "node_modules/wordwrap": { 9231 + "version": "1.0.0", 9232 + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", 9233 + "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==", 9234 + "dev": true, 9235 + "license": "MIT" 9236 + }, 9237 + "node_modules/wrap-ansi": { 9238 + "version": "7.0.0", 9239 + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", 9240 + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", 9241 + "dev": true, 9242 + "license": "MIT", 9243 + "dependencies": { 9244 + "ansi-styles": "^4.0.0", 9245 + "string-width": "^4.1.0", 9246 + "strip-ansi": "^6.0.0" 9247 + }, 9248 + "engines": { 9249 + "node": ">=10" 9250 + }, 9251 + "funding": { 9252 + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" 9253 + } 9254 + }, 9255 + "node_modules/wrappy": { 9256 + "version": "1.0.2", 9257 + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 9258 + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", 9259 + "license": "ISC" 9260 + }, 9261 + "node_modules/write-file-atomic": { 9262 + "version": "4.0.2", 9263 + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", 9264 + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", 9265 + "dev": true, 9266 + "license": "ISC", 9267 + "dependencies": { 9268 + "imurmurhash": "^0.1.4", 9269 + "signal-exit": "^3.0.7" 9270 + }, 9271 + "engines": { 9272 + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" 9273 + } 9274 + }, 9275 + "node_modules/xtend": { 9276 + "version": "4.0.2", 9277 + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", 9278 + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", 9279 + "license": "MIT", 9280 + "engines": { 9281 + "node": ">=0.4" 9282 + } 9283 + }, 9284 + "node_modules/y18n": { 9285 + "version": "5.0.8", 9286 + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", 9287 + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", 9288 + "dev": true, 9289 + "license": "ISC", 9290 + "engines": { 9291 + "node": ">=10" 9292 + } 9293 + }, 9294 + "node_modules/yallist": { 9295 + "version": "4.0.0", 9296 + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", 9297 + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", 9298 + "license": "ISC" 9299 + }, 9300 + "node_modules/yaml-ast-parser": { 9301 + "version": "0.0.43", 9302 + "resolved": "https://registry.npmjs.org/yaml-ast-parser/-/yaml-ast-parser-0.0.43.tgz", 9303 + "integrity": "sha512-2PTINUwsRqSd+s8XxKaJWQlUuEMHJQyEuh2edBbW8KNJz0SJPwUSD2zRWqezFEdN7IzAgeuYHFUCF7o8zRdZ0A==", 9304 + "dev": true, 9305 + "license": "Apache-2.0" 9306 + }, 9307 + "node_modules/yargs": { 9308 + "version": "17.7.2", 9309 + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", 9310 + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", 9311 + "dev": true, 9312 + "license": "MIT", 9313 + "dependencies": { 9314 + "cliui": "^8.0.1", 9315 + "escalade": "^3.1.1", 9316 + "get-caller-file": "^2.0.5", 9317 + "require-directory": "^2.1.1", 9318 + "string-width": "^4.2.3", 9319 + "y18n": "^5.0.5", 9320 + "yargs-parser": "^21.1.1" 9321 + }, 9322 + "engines": { 9323 + "node": ">=12" 9324 + } 9325 + }, 9326 + "node_modules/yargs-parser": { 9327 + "version": "21.1.1", 9328 + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", 9329 + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", 9330 + "dev": true, 9331 + "license": "ISC", 9332 + "engines": { 9333 + "node": ">=12" 9334 + } 9335 + }, 9336 + "node_modules/yn": { 9337 + "version": "3.1.1", 9338 + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", 9339 + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", 9340 + "dev": true, 9341 + "license": "MIT", 9342 + "engines": { 9343 + "node": ">=6" 9344 + } 9345 + }, 9346 + "node_modules/yocto-queue": { 9347 + "version": "0.1.0", 9348 + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", 9349 + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", 9350 + "dev": true, 9351 + "license": "MIT", 9352 + "engines": { 9353 + "node": ">=10" 9354 + }, 9355 + "funding": { 9356 + "url": "https://github.com/sponsors/sindresorhus" 9357 + } 9358 + }, 9359 + "node_modules/zod": { 9360 + "version": "4.1.11", 9361 + "resolved": "https://registry.npmjs.org/zod/-/zod-4.1.11.tgz", 9362 + "integrity": "sha512-WPsqwxITS2tzx1bzhIKsEs19ABD5vmCVa4xBo2tq/SrV4RNZtfws1EnCWQXM6yh8bD08a1idvkB5MZSBiZsjwg==", 9363 + "license": "MIT", 9364 + "funding": { 9365 + "url": "https://github.com/sponsors/colinhacks" 9366 + } 9367 + } 9368 + } 9369 + }
+46
server/package.json
··· 1 + { 2 + "name": "bankingmockapi-server", 3 + "version": "1.0.0", 4 + "main": "src/index.ts", 5 + "scripts": { 6 + "test": "clear && npx jest --runInBand --coverage", 7 + "generate": "npx openapi-typescript-codegen --input ./src/openapi.yaml --output ./generated" 8 + }, 9 + "keywords": [], 10 + "author": "", 11 + "license": "ISC", 12 + "description": "", 13 + "dependencies": { 14 + "bcryptjs": "2.4.3", 15 + "body-parser": "^1.20.3", 16 + "cors": "^2.8.5", 17 + "express": "4.21.2", 18 + "express-openapi-validator": "^5.6.0", 19 + "jsonwebtoken": "9.0.2", 20 + "sqlite-async": "ndp/sqlite-async#13-typescript", 21 + "zod": "^4.1.11" 22 + }, 23 + "devDependencies": { 24 + "@babel/core": "^7.28.4", 25 + "@babel/preset-env": "^7.28.3", 26 + "@babel/preset-typescript": "^7.27.1", 27 + "@faker-js/faker": "^9.0.0", 28 + "@types/bcryptjs": "^2.4.6", 29 + "@types/body-parser": "^1.19.6", 30 + "@types/cors": "^2.8.19", 31 + "@types/express": "^5.0.3", 32 + "@types/faker": "^6.6.8", 33 + "@types/jest": "^30.0.0", 34 + "@types/jsonwebtoken": "^9.0.10", 35 + "@types/sqlite3": "^3.1.11", 36 + "@types/supertest": "^6.0.3", 37 + "babel-jest": "^29.7.0", 38 + "jest": "^29.7.0", 39 + "nodemon": "^3.1.10", 40 + "openapi-typescript": "^7.9.1", 41 + "openapi-typescript-codegen": "^0.29.0", 42 + "supertest": "^7.1.4", 43 + "ts-node": "^10.9.2", 44 + "typescript": "^5.9.2" 45 + } 46 + }
+20
server/src/auth.ts
··· 1 + import { sign, verify } from "jsonwebtoken"; 2 + import { User } from "./schema"; 3 + import { JWT_REFRESH_SECRET, JWT_SECRET, TOKEN_EXPIRY_MINUTES } from "./config"; 4 + 5 + export const generateToken = ({ id, username }: User) => 6 + sign({ id, username }, JWT_SECRET, { 7 + expiresIn: `${TOKEN_EXPIRY_MINUTES}m`, 8 + }); 9 + 10 + export const generateRefreshToken = ({ id, username }: User) => 11 + sign({ id, username }, JWT_REFRESH_SECRET, { 12 + expiresIn: "7d", 13 + }); 14 + 15 + export const verifyToken = (token: string, secret: string): Promise<User> => 16 + new Promise((resolve, reject) => { 17 + verify(token, secret, (err, user) => 18 + err ? reject(err) : resolve(user as User), 19 + ); 20 + });
+26
server/src/config.ts
··· 1 + import z from "zod"; 2 + 3 + const TOKEN_EXPIRY_MINUTES = 5; 4 + 5 + const EnvSchema = z.object({ 6 + JWT_SECRET: z.string().min(8), 7 + JWT_REFRESH_SECRET: z.string().min(8), 8 + CORS_ORIGIN: z.url(), 9 + DATABASE_URL: z.string(), 10 + PORT: z.preprocess( 11 + (val) => Number(val), 12 + z.number().min(1).max(65535).default(3001), 13 + ), 14 + }); 15 + 16 + const { JWT_SECRET, JWT_REFRESH_SECRET, CORS_ORIGIN, PORT, DATABASE_URL } = 17 + EnvSchema.parse(process.env); 18 + 19 + export { 20 + CORS_ORIGIN, 21 + JWT_REFRESH_SECRET, 22 + JWT_SECRET, 23 + PORT, 24 + TOKEN_EXPIRY_MINUTES, 25 + DATABASE_URL, 26 + };
+16
server/src/index.ts
··· 1 + import { build } from "./server"; 2 + import { DATABASE_URL, PORT } from "./config"; 3 + import { Database } from "sqlite-async"; 4 + import { seed } from "./seeder"; 5 + 6 + (async () => { 7 + const db = await Database.open(DATABASE_URL); 8 + 9 + await seed(db); 10 + 11 + const app = build({ db }); 12 + 13 + app.listen(PORT, () => { 14 + console.log(`Server running on port ${PORT}`); 15 + }); 16 + })();
+369
server/src/openapi.yaml
··· 1 + openapi: 3.0.3 2 + info: 3 + title: Banking Demo API 4 + version: 1.0.0 5 + description: | 6 + Minimal spec matching the current Express+SQLite implementation with request/response validation. 7 + ⚠️ Demo only: `/cards` returns full PAN + CVV as stored. 8 + 9 + servers: 10 + - url: http://localhost:3001 11 + 12 + components: 13 + securitySchemes: 14 + BearerAuth: 15 + type: http 16 + scheme: bearer 17 + bearerFormat: JWT 18 + 19 + responses: 20 + Error400: 21 + description: Bad Request (validation error) 22 + content: 23 + application/json: 24 + schema: 25 + $ref: "#/components/schemas/Error" 26 + Error401: 27 + description: Unauthorized / missing or invalid credentials 28 + content: 29 + application/json: 30 + schema: 31 + $ref: "#/components/schemas/Error" 32 + Error403: 33 + description: Forbidden 34 + content: 35 + application/json: 36 + schema: 37 + $ref: "#/components/schemas/Error" 38 + Error500: 39 + description: Internal Server Error 40 + content: 41 + application/json: 42 + schema: 43 + $ref: "#/components/schemas/Error" 44 + 45 + schemas: 46 + LoginRequest: 47 + type: object 48 + required: [username, password] 49 + properties: 50 + username: 51 + type: string 52 + example: test@test.test 53 + password: 54 + type: string 55 + example: password@123 56 + 57 + TokenPair: 58 + type: object 59 + required: [token, refreshToken] 60 + properties: 61 + token: 62 + type: string 63 + description: Access JWT (short-lived). 64 + refreshToken: 65 + type: string 66 + description: Refresh JWT (longer-lived). 67 + expires: 68 + type: string 69 + format: date-time 70 + description: Access token expiry timestamp (ISO 8601). Present on /login, omitted on /refresh-token. 71 + example: "2024-06-01T10:05:00Z" 72 + 73 + RefreshRequest: 74 + type: object 75 + required: [refreshToken] 76 + properties: 77 + refreshToken: 78 + type: string 79 + 80 + Account: 81 + type: object 82 + required: [id, user_id, name, balance] 83 + properties: 84 + id: { type: integer } 85 + user_id: { type: integer } 86 + name: { type: string } 87 + balance: 88 + type: number 89 + format: float 90 + description: Calculated from transactions; 0 if none. 91 + example: 92 + id: 1 93 + user_id: 1 94 + name: Checking 95 + balance: 1680.16 96 + 97 + Card: 98 + type: object 99 + required: [id, user_id, number, expiry, cvv] 100 + properties: 101 + id: { type: integer } 102 + user_id: { type: integer } 103 + number: 104 + type: string 105 + description: Full PAN (as stored). Returned as-is by the current API. 106 + example: "4111111111111111" 107 + expiry: { type: string, example: "12/26" } 108 + cvv: { type: string, example: "123" } 109 + 110 + TransactionType: 111 + type: object 112 + required: [name, count] 113 + properties: 114 + name: { type: string} 115 + count: { type: integer } 116 + 117 + Transaction: 118 + type: object 119 + required: [id, userId, accountId, amount, type, description, date] 120 + properties: 121 + id: { type: integer } 122 + userId: { type: integer } 123 + accountId: { type: integer } 124 + amount: 125 + type: number 126 + format: float 127 + description: Positive for credits, negative for debits. 128 + type: 129 + type: string 130 + description: 131 + type: string 132 + date: 133 + type: string 134 + format: date-time 135 + description: ISO 8601 timestamp. 136 + example: "2024-06-01T10:00:00Z" 137 + 138 + Error: 139 + type: object 140 + properties: 141 + message: 142 + type: string 143 + 144 + tags: 145 + - name: Meta 146 + - name: Auth 147 + - name: Accounts 148 + - name: Cards 149 + - name: Transactions 150 + 151 + paths: 152 + /: 153 + get: 154 + summary: Swagger Documentation 155 + description: Serves the Swagger UI for this API. 156 + tags: [Meta] 157 + responses: 158 + "200": 159 + description: Documentation page 160 + content: 161 + text/html: 162 + schema: 163 + type: string 164 + 165 + /openapi.yaml: 166 + get: 167 + summary: OpenAPI Spec 168 + description: Serves the OpenAPI YAML document used by the validator. 169 + tags: [Meta] 170 + responses: 171 + "200": 172 + description: OpenAPI spec (YAML) 173 + content: 174 + application/yaml: 175 + schema: 176 + type: string 177 + 178 + /login: 179 + post: 180 + summary: Login with username and password 181 + tags: [Auth] 182 + requestBody: 183 + required: true 184 + content: 185 + application/json: 186 + schema: 187 + $ref: "#/components/schemas/LoginRequest" 188 + responses: 189 + "200": 190 + description: Token pair issued 191 + content: 192 + application/json: 193 + schema: 194 + $ref: "#/components/schemas/TokenPair" 195 + "400": 196 + $ref: "#/components/responses/Error400" 197 + "401": 198 + description: Invalid credentials 199 + content: 200 + application/json: 201 + schema: 202 + $ref: "#/components/schemas/Error" 203 + "500": 204 + $ref: "#/components/responses/Error500" 205 + 206 + /refresh-token: 207 + post: 208 + summary: Exchange refresh token for new access & refresh tokens 209 + tags: [Auth] 210 + requestBody: 211 + required: true 212 + content: 213 + application/json: 214 + schema: 215 + $ref: "#/components/schemas/RefreshRequest" 216 + responses: 217 + "200": 218 + description: New token pair 219 + content: 220 + application/json: 221 + schema: 222 + $ref: "#/components/schemas/TokenPair" 223 + "400": 224 + $ref: "#/components/responses/Error400" 225 + "401": 226 + $ref: "#/components/responses/Error401" 227 + "500": 228 + $ref: "#/components/responses/Error500" 229 + 230 + /accounts: 231 + get: 232 + summary: List accounts for the authenticated user, including calculated balances 233 + tags: [Accounts] 234 + security: 235 + - BearerAuth: [] 236 + responses: 237 + "200": 238 + description: Array of accounts 239 + content: 240 + application/json: 241 + schema: 242 + type: array 243 + items: 244 + $ref: "#/components/schemas/Account" 245 + "401": 246 + $ref: "#/components/responses/Error401" 247 + "403": 248 + $ref: "#/components/responses/Error403" 249 + "500": 250 + $ref: "#/components/responses/Error500" 251 + 252 + /cards: 253 + get: 254 + summary: List stored cards for the authenticated user 255 + description: Returns full PAN and CVV as currently implemented. **Do not use in production.** 256 + tags: [Cards] 257 + security: 258 + - BearerAuth: [] 259 + responses: 260 + "200": 261 + description: Array of cards 262 + content: 263 + application/json: 264 + schema: 265 + type: array 266 + items: 267 + $ref: "#/components/schemas/Card" 268 + "401": 269 + $ref: "#/components/responses/Error401" 270 + "403": 271 + $ref: "#/components/responses/Error403" 272 + "500": 273 + $ref: "#/components/responses/Error500" 274 + 275 + /transaction-types: 276 + get: 277 + summary: Find transaction types for the authenticated user 278 + tags: [Transactions] 279 + security: 280 + - BearerAuth: [] 281 + parameters: 282 + - in: query 283 + name: accountId 284 + schema: 285 + type: integer 286 + description: Filter by account ID 287 + responses: 288 + "200": 289 + description: Array of transaction types 290 + content: 291 + application/json: 292 + schema: 293 + type: array 294 + items: 295 + $ref: "#/components/schemas/TransactionType" 296 + "400": 297 + $ref: "#/components/responses/Error400" 298 + "401": 299 + $ref: "#/components/responses/Error401" 300 + "403": 301 + $ref: "#/components/responses/Error403" 302 + "500": 303 + $ref: "#/components/responses/Error500" 304 + 305 + /transactions: 306 + get: 307 + summary: Search/sort/paginate transactions for the authenticated user 308 + tags: [Transactions] 309 + security: 310 + - BearerAuth: [] 311 + parameters: 312 + - in: query 313 + name: search 314 + schema: 315 + type: string 316 + description: Case-insensitive LIKE search against description and type. 317 + example: Shopping 318 + - in: query 319 + name: sort 320 + schema: 321 + type: string 322 + default: date 323 + description: Column to sort by (free-form; current API does not enforce an allowlist). 324 + example: date 325 + - in: query 326 + name: order 327 + schema: 328 + type: string 329 + default: desc 330 + enum: [asc, desc] 331 + - in: query 332 + name: page 333 + schema: 334 + type: integer 335 + default: 1 336 + minimum: 1 337 + - in: query 338 + name: limit 339 + schema: 340 + type: integer 341 + default: 25 342 + description: Page size 343 + - in: query 344 + name: accountId 345 + schema: 346 + type: integer 347 + description: Filter by account ID 348 + - in: query 349 + name: type 350 + schema: 351 + type: string 352 + description: Filter by transaction type (withdrawal, deposit, etc.) 353 + responses: 354 + "200": 355 + description: Array of transactions (page slice) 356 + content: 357 + application/json: 358 + schema: 359 + type: array 360 + items: 361 + $ref: "#/components/schemas/Transaction" 362 + "400": 363 + $ref: "#/components/responses/Error400" 364 + "401": 365 + $ref: "#/components/responses/Error401" 366 + "403": 367 + $ref: "#/components/responses/Error403" 368 + "500": 369 + $ref: "#/components/responses/Error500"
+38
server/src/schema.ts
··· 1 + import { Request as ExpressRequest } from "express"; 2 + import { z } from "zod"; 3 + 4 + export type Request<T extends Record<string, string> = {}> = 5 + ExpressRequest<T> & { 6 + user?: User; 7 + }; 8 + 9 + export type User = { 10 + id: number; 11 + username: string; 12 + password: string; 13 + }; 14 + 15 + export const LoginSchema = z.object({ 16 + username: z.email(), 17 + password: z.string().min(8), 18 + }); 19 + 20 + export const TransactionTypesQuerySchema = z.object({ 21 + accountId: z.preprocess( 22 + (val) => (val ? Number(val) : undefined), 23 + z.number().optional(), 24 + ), 25 + }); 26 + 27 + export const TransactionsQuerySchema = z.object({ 28 + search: z.string().optional().default(""), 29 + sort: z.string().optional().default("date"), 30 + order: z.enum(["asc", "desc"]).optional().default("desc"), 31 + page: z.preprocess((val) => Number(val ?? 1), z.int().min(1)), 32 + limit: z.preprocess((val) => Number(val ?? 25), z.int().min(1).max(100)), 33 + accountId: z.preprocess( 34 + (val) => (val ? Number(val) : undefined), 35 + z.number().optional(), 36 + ), 37 + type: z.string().optional(), 38 + });
+124
server/src/seeder.ts
··· 1 + import { Database } from "sqlite-async"; 2 + import { hashSync } from "bcryptjs"; 3 + import { faker } from "@faker-js/faker"; 4 + import { range } from "./util"; 5 + 6 + const createTable = async ( 7 + db: Database, 8 + name: string, 9 + schema: string, 10 + ): Promise<void> => { 11 + await db.run(`DROP TABLE IF EXISTS ${name}`); 12 + await db.run(`CREATE TABLE IF NOT EXISTS ${name} (${schema})`); 13 + }; 14 + 15 + export const testUser = { 16 + username: "test@test.test", 17 + password: "password@123", 18 + }; 19 + 20 + export const seed = async (db: Database): Promise<void> => { 21 + await createTable( 22 + db, 23 + "users", 24 + ` 25 + id INTEGER PRIMARY KEY AUTOINCREMENT, 26 + username TEXT UNIQUE, 27 + password TEXT 28 + `, 29 + ); 30 + 31 + await createTable( 32 + db, 33 + "accounts", 34 + ` 35 + id INTEGER PRIMARY KEY AUTOINCREMENT, 36 + user_id INTEGER, 37 + name TEXT 38 + `, 39 + ); 40 + 41 + await createTable( 42 + db, 43 + "cards", 44 + ` 45 + id INTEGER PRIMARY KEY AUTOINCREMENT, 46 + user_id INTEGER, 47 + number TEXT, 48 + expiry TEXT, 49 + cvv TEXT 50 + `, 51 + ); 52 + 53 + await createTable( 54 + db, 55 + "transactions", 56 + ` 57 + id INTEGER PRIMARY KEY AUTOINCREMENT, 58 + user_id INTEGER, 59 + account_id INTEGER, 60 + amount REAL, 61 + type TEXT, 62 + description TEXT, 63 + date datetime 64 + `, 65 + ); 66 + 67 + const hash = hashSync(testUser.password, 10); 68 + 69 + const { lastID: userId } = await db.run( 70 + "INSERT INTO users (username, password) VALUES (?, ?);", 71 + [testUser.username, hash], 72 + ); 73 + 74 + // Seed accounts 75 + const accounts = range(5) 76 + .map(() => `(${userId}, '${faker.finance.accountName()}')`) 77 + .join(", "); 78 + 79 + const result = await db.run( 80 + `INSERT INTO accounts (user_id, name) VALUES ${accounts}`, 81 + ); 82 + 83 + console.log( 84 + `Seeded user with id ${userId}, ${result.changes} accounts created.`, 85 + ); 86 + 87 + // Seed cards 88 + const cards = range(5).map(() => [ 89 + userId, 90 + faker.finance.creditCardNumber(), 91 + faker.date.future().toISOString().slice(0, 7).replace("-", "/"), 92 + faker.finance.creditCardCVV(), 93 + ]); 94 + 95 + await db.run( 96 + `INSERT INTO cards (user_id, number, expiry, cvv) VALUES ${cards 97 + .map(() => "(?, ?, ?, ?)") 98 + .join(", ")}`, 99 + cards.flat(), 100 + ); 101 + 102 + const accountIds = ( 103 + await db.all<{ id: number }>("SELECT id FROM accounts WHERE user_id = ?", [ 104 + userId, 105 + ]) 106 + ).map(({ id }) => id); 107 + 108 + const transactions = range(100).map(() => [ 109 + userId, 110 + accountIds[Math.floor(Math.random() * accountIds.length)], 111 + faker.finance.amount({ min: -25, max: 100, dec: 2 }), 112 + faker.finance.transactionType(), 113 + faker.commerce.productName(), 114 + faker.date.recent({ days: 30 }).toISOString(), 115 + ]); 116 + 117 + // Seed transactions 118 + db.run( 119 + `INSERT INTO transactions (user_id, account_id, amount, type, description, date) VALUES ${transactions 120 + .map(() => "(?, ?, ?, ?, ?, ?)") 121 + .join(", ")}`, 122 + transactions.flat(), 123 + ); 124 + };
+243
server/src/server.ts
··· 1 + import express, { NextFunction, Response } from "express"; 2 + import * as OpenApiValidator from "express-openapi-validator"; 3 + import { json } from "body-parser"; 4 + import { Database } from "sqlite-async"; 5 + import { compare } from "bcryptjs"; 6 + import cors from "cors"; 7 + import z, { ZodError } from "zod"; 8 + import { 9 + CORS_ORIGIN, 10 + JWT_REFRESH_SECRET, 11 + JWT_SECRET, 12 + TOKEN_EXPIRY_MINUTES, 13 + } from "./config"; 14 + import { LoginRequest } from "../generated"; 15 + import { readFileSync } from "fs"; 16 + import { generateRefreshToken, generateToken, verifyToken } from "./auth"; 17 + import { User, Request, TransactionsQuerySchema, LoginSchema } from "./schema"; 18 + import { HttpError } from "express-openapi-validator/dist/framework/types"; 19 + 20 + const authenticateToken = async ( 21 + req: Request, 22 + res: Response, 23 + next: NextFunction, 24 + ) => { 25 + const authHeader = req.headers["authorization"]; 26 + const token = (authHeader ?? "").split(" ")[1]; 27 + 28 + if (!token) { 29 + return res 30 + .status(401) 31 + .json({ message: "Missing authorization token" }) 32 + .send(); 33 + } 34 + 35 + try { 36 + req.user = await verifyToken(token, JWT_SECRET); 37 + next(); 38 + } catch (err) { 39 + return res.status(403).json({ message: "Invalid token" }).send(); 40 + } 41 + }; 42 + 43 + interface AppConfig { 44 + db: Database; 45 + specPath?: string; 46 + } 47 + 48 + export const build = ({ db, specPath = "./src/openapi.yaml" }: AppConfig) => { 49 + const app = express(); 50 + 51 + app.use(json()); 52 + app.use(cors<Request>({ origin: CORS_ORIGIN })); 53 + 54 + app.use( 55 + OpenApiValidator.middleware({ 56 + apiSpec: specPath, 57 + validateRequests: false, 58 + validateResponses: true, 59 + }), 60 + ); 61 + 62 + app.get("/", (req: Request, res: Response) => { 63 + res.type("text/html"); 64 + res.send(readFileSync("./src/swagger.html").toString()); 65 + }); 66 + 67 + app.get("/openapi.yaml", (req: Request, res: Response) => { 68 + res.type("application/yaml"); 69 + res.send(readFileSync(specPath).toString()); 70 + }); 71 + 72 + app.use((err: Error, req: Request, res: Response, next: NextFunction) => { 73 + if (err instanceof ZodError) { 74 + res.status(400).json(z.treeifyError(err)); 75 + return; 76 + } 77 + 78 + if (err instanceof HttpError) { 79 + res.status(err.status).json({ message: err.message }).send(); 80 + return; 81 + } 82 + 83 + res.status(500).json({ error: "Internal server error" }).send(); 84 + }); 85 + 86 + app.post("/login", async ({ body }: Request<LoginRequest>, res: Response) => { 87 + const { username, password } = LoginSchema.parse(body); 88 + 89 + const user = await db.get<User>("SELECT * FROM users WHERE username = ?", [ 90 + username, 91 + ]); 92 + 93 + if (!user || !compare(password, user.password)) { 94 + return res.status(401).json({ message: "Invalid credentials" }); 95 + } 96 + 97 + const now = new Date(); 98 + const token = generateToken(user); 99 + const refreshToken = generateRefreshToken(user); 100 + 101 + const expires = new Date(now.getTime() + TOKEN_EXPIRY_MINUTES * 60 * 1000); 102 + 103 + res.json({ token, refreshToken, expires }); 104 + }); 105 + 106 + app.post("/refresh-token", async ({ body }: Request, res: Response) => { 107 + const { refreshToken } = body; 108 + 109 + if (!refreshToken) { 110 + return res.status(401).json({ message: "Missing refresh token" }); 111 + } 112 + 113 + try { 114 + const user = await verifyToken(refreshToken, JWT_REFRESH_SECRET); 115 + 116 + const token = generateToken(user); 117 + const newRefreshRoken = generateRefreshToken(user); 118 + 119 + res.json({ token, refreshToken: newRefreshRoken }); 120 + } catch (err) { 121 + return res.status(401).json({ message: "Invalid refresh token" }).send(); 122 + } 123 + }); 124 + 125 + // Protected endpoints 126 + app.get( 127 + "/accounts", 128 + authenticateToken, 129 + async ({ user }: Request, res: Response) => { 130 + const accounts = await db.all( 131 + ` 132 + SELECT accounts.*, 133 + IFNULL(t.balance, 0) as balance 134 + 135 + FROM accounts 136 + 137 + LEFT JOIN ( 138 + SELECT account_id, SUM(amount) as balance 139 + FROM transactions 140 + WHERE user_id = ? 141 + GROUP BY account_id 142 + ) AS t ON accounts.id = t.account_id 143 + 144 + WHERE accounts.user_id = ? 145 + `, 146 + [user.id, user.id], 147 + ); 148 + 149 + return res.json(accounts ?? []); 150 + }, 151 + ); 152 + 153 + app.get( 154 + "/cards", 155 + authenticateToken, 156 + async ({ user }: Request, res: Response) => { 157 + const rows = await db.all("SELECT * FROM cards WHERE user_id = ?", [ 158 + user.id, 159 + ]); 160 + 161 + return res.json(rows ?? []); 162 + }, 163 + ); 164 + 165 + app.get( 166 + "/transaction-types", 167 + authenticateToken, 168 + async (request: Request, res: Response) => { 169 + const { accountId } = TransactionsQuerySchema.parse(request.query); 170 + 171 + let query = ` 172 + SELECT count(*) as count, 173 + type as name 174 + FROM transactions 175 + WHERE user_id = ? 176 + `; 177 + 178 + let params: Array<string | number> = [request.user.id]; 179 + 180 + if (accountId) { 181 + query += " AND (account_id = ?)"; 182 + params.push(accountId); 183 + } 184 + 185 + query += " GROUP BY type ORDER BY count DESC"; 186 + 187 + return res.json((await db.all(query, params)) ?? []); 188 + }, 189 + ); 190 + 191 + app.get( 192 + "/transactions", 193 + authenticateToken, 194 + async (req: Request, res: Response) => { 195 + const { page, limit, search, sort, order, accountId, type } = 196 + TransactionsQuerySchema.parse(req.query); 197 + 198 + const offset = (page - 1) * limit; 199 + 200 + let query = "SELECT * FROM transactions WHERE user_id = ?"; 201 + 202 + let params: Array<string | number> = [req.user.id]; 203 + 204 + if (search.length) { 205 + query += " AND (description LIKE ? OR type LIKE ?)"; 206 + params.push(`%${search}%`, `%${search}%`); 207 + } 208 + 209 + if (accountId) { 210 + query += " AND (account_id = ?)"; 211 + params.push(accountId); 212 + } 213 + 214 + if (type) { 215 + query += " AND (type = ?)"; 216 + params.push(type); 217 + } 218 + 219 + query += ` ORDER BY ? ${order} LIMIT ? OFFSET ?`; 220 + params.push(sort, limit, offset); 221 + 222 + return res.json( 223 + ( 224 + (await db.all<{ 225 + id: number; 226 + user_id: number; 227 + account_id: number; 228 + amount: number; 229 + type: string; 230 + description: string; 231 + date: string; 232 + }>(query, params)) ?? [] 233 + ).map(({ user_id, account_id, ...rest }) => ({ 234 + userId: user_id, 235 + accountId: account_id, 236 + ...rest, 237 + })), 238 + ); 239 + }, 240 + ); 241 + 242 + return app; 243 + };
+20
server/src/swagger.html
··· 1 + <!doctype html> 2 + <html> 3 + <head> 4 + <meta charset="utf-8"/> 5 + <title>Banking Demo API</title> 6 + <link rel="stylesheet" href="https://unpkg.com/swagger-ui-dist/swagger-ui.css"> 7 + </head> 8 + <body> 9 + <div id="swagger"></div> 10 + <script src="https://unpkg.com/swagger-ui-dist/swagger-ui-bundle.js"></script> 11 + <script> 12 + SwaggerUIBundle({ 13 + url: new URL(window.location.origin + '/openapi.yaml', window.location.host).toString(), 14 + dom_id: "#swagger", 15 + deepLinking: true, 16 + presets: [SwaggerUIBundle.presets.apis], 17 + }); 18 + </script> 19 + </body> 20 + </html>
+1
server/src/util.ts
··· 1 + export const range = (length: number) => Array.from({ length }, (_, i) => i);
+96
server/tests/api.spec.ts
··· 1 + import request from "supertest"; 2 + import { build } from "../src/server"; 3 + import { Database } from "sqlite-async"; 4 + import { DATABASE_URL } from "../src/config"; 5 + import { seed, testUser } from "../src/seeder"; 6 + import { Transaction } from "../generated"; 7 + 8 + type App = ReturnType<typeof build>; 9 + let app: App | null = null; 10 + 11 + beforeAll(async () => { 12 + const db = await Database.open(DATABASE_URL); 13 + await seed(db); 14 + 15 + app = build({ db }); 16 + }); 17 + 18 + describe("GET /accounts", () => { 19 + it("it can fetch accounts", async () => { 20 + const auth = await request(app).post("/login").send(testUser); 21 + 22 + await request(app) 23 + .get("/accounts") 24 + .set("Authorization", `Bearer ${auth.body.token}`) 25 + .expect(200) 26 + .expect(({ body }) => expect(body).not.toHaveLength(0)); 27 + }); 28 + 29 + it("it fails getting transactions without a token", async () => { 30 + await request(app).get("/accounts").expect(401); 31 + }); 32 + }); 33 + 34 + describe("GET /transactions", () => { 35 + it("it can fetch transactions", async () => { 36 + const auth = await request(app).post("/login").send(testUser); 37 + 38 + await request(app) 39 + .get("/transactions") 40 + .set("Authorization", `Bearer ${auth.body.token}`) 41 + .expect(200); 42 + }); 43 + 44 + it("it fails getting transactions without a token", async () => { 45 + await request(app).get("/transactions").expect(401); 46 + }); 47 + 48 + it("it fails getting transactions with an invalid token", async () => { 49 + await request(app) 50 + .get("/transactions") 51 + .set("Authorization", "foo") 52 + .expect(401); 53 + }); 54 + 55 + it("can filter transactions by account", async () => { 56 + const auth = await request(app).post("/login").send(testUser); 57 + 58 + const account = await request(app) 59 + .get("/accounts") 60 + .set("Authorization", `Bearer ${auth.body.token}`) 61 + .expect(200) 62 + .expect(({ body }) => expect(body).not.toHaveLength(0)); 63 + 64 + await request(app) 65 + .get(`/transactions?accountId=${account.body[0].id}`) 66 + .set("Authorization", `Bearer ${auth.body.token}`) 67 + .expect(200) 68 + .expect(({ body }) => expect(body).not.toHaveLength(0)) 69 + .expect(({ body }: { body: Transaction[] }) => { 70 + body.forEach((transaction) => { 71 + expect(transaction.accountId).toBe(account.body[0].id); 72 + }); 73 + }); 74 + }); 75 + 76 + it("can filter transactions by type", async () => { 77 + const auth = await request(app).post("/login").send(testUser); 78 + 79 + const transactionType = await request(app) 80 + .get("/transaction-types") 81 + .set("Authorization", `Bearer ${auth.body.token}`) 82 + .expect(200) 83 + .expect(({ body }) => expect(body).not.toHaveLength(0)); 84 + 85 + await request(app) 86 + .get(`/transactions?type=${transactionType.body[0].name}`) 87 + .set("Authorization", `Bearer ${auth.body.token}`) 88 + .expect(200) 89 + .expect(({ body }) => expect(body).not.toHaveLength(0)) 90 + .expect(({ body }: { body: Transaction[] }) => { 91 + body.forEach((transaction) => { 92 + expect(transaction.type).toBe(transactionType.body[0].name); 93 + }); 94 + }); 95 + }); 96 + });
+71
server/tests/auth.spec.ts
··· 1 + import request from "supertest"; 2 + import { build } from "../src/server"; 3 + import { Database } from "sqlite-async"; 4 + import { DATABASE_URL } from "../src/config"; 5 + import { seed, testUser } from "../src/seeder"; 6 + 7 + type App = ReturnType<typeof build>; 8 + let app: App | null = null; 9 + 10 + beforeAll(async () => { 11 + const db = await Database.open(DATABASE_URL); 12 + await seed(db); 13 + 14 + app = build({ db }); 15 + }); 16 + 17 + describe("POST /login", () => { 18 + it("obtains a token through login", async () => { 19 + await request(app) 20 + .post("/login") 21 + .send(testUser) 22 + .set("Accept", "application/json") 23 + .expect(200) 24 + .expect("Content-Type", /json/); 25 + }); 26 + 27 + it("rejects invalid login", async () => { 28 + await request(app) 29 + .post("/login") 30 + .send({ username: "test@test.be", password: "wrong-password" }) 31 + .set("Accept", "application/json") 32 + .expect(401) 33 + .expect("Content-Type", /json/); 34 + }); 35 + }); 36 + 37 + describe("POST /refresh-token", () => { 38 + it("refreshes a stale token", async () => { 39 + const tokenRequest = await request(app) 40 + .post("/login") 41 + .send(testUser) 42 + .set("Accept", "application/json"); 43 + 44 + await request(app) 45 + .post("/refresh-token") 46 + .send({ refreshToken: tokenRequest.body.refreshToken }) 47 + .set("Accept", "application/json") 48 + .expect(200) 49 + .expect("Content-Type", /json/); 50 + }); 51 + 52 + it("rejects an invalid token", async () => { 53 + await request(app) 54 + .post("/refresh-token") 55 + .send({ refreshToken: "foo" }) 56 + .set("Accept", "application/json") 57 + .expect(401) 58 + .expect("Content-Type", /json/); 59 + }); 60 + 61 + it("rejects a missing token", async () => { 62 + await request(app) 63 + .post("/refresh-token") 64 + .set("Accept", "application/json") 65 + .send({ 66 + refreshToken: undefined, 67 + }) 68 + .expect(401) 69 + .expect("Content-Type", /json/); 70 + }); 71 + });
+5
server/tests/jest.setup.ts
··· 1 + process.env.PORT = "4000"; 2 + process.env.CORS_ORIGIN = "http://localhost:4000"; 3 + process.env.JWT_REFRESH_SECRET = "test-jwt-refresh-secret"; 4 + process.env.JWT_SECRET = "test-jwt-secret"; 5 + process.env.DATABASE_URL = ":memory:";
+12
server/tsconfig.json
··· 1 + { 2 + "compilerOptions": { 3 + "esModuleInterop": true, 4 + "module": "commonjs", 5 + "moduleResolution": "node", 6 + "noImplicitAny": true, 7 + "preserveConstEnums": true, 8 + "removeComments": true, 9 + "sourceMap": true, 10 + "target": "es2022" 11 + } 12 + }
+13
tsconfig.json
··· 1 + { 2 + "compilerOptions": { 3 + "module": "nodenext", 4 + "noImplicitAny": true, 5 + "removeComments": true, 6 + "preserveConstEnums": true, 7 + "sourceMap": true, 8 + "moduleResolution": "node", 9 + "target": "es2017", 10 + "module": "commonjs", 11 + "esModuleInterop": true 12 + } 13 + }