├── .github
└── FUNDING.yml
├── .gitignore
├── LICENSE.md
├── README.md
├── dist
└── index.js
├── index.html
├── jest.config.ts
├── package.json
├── pnpm-lock.yaml
├── src
├── cli.ts
└── index.ts
├── tests
└── index.test.ts
├── ui.css
└── ui.js
/.github/FUNDING.yml:
--------------------------------------------------------------------------------
1 | github: [mathiscode]
2 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | dist
2 | node_modules
--------------------------------------------------------------------------------
/LICENSE.md:
--------------------------------------------------------------------------------
1 | # MIT License
2 |
3 | Copyright (c) 2025 Jay Mathis
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
2 |
3 | # @mathiscode/password-leak
4 |
5 | [](https://password-leak.vercel.app)
6 |
7 | [](https://www.npmjs.com/package/@mathiscode/password-leak)
8 | [](https://www.npmjs.com/package/@mathiscode/password-leak)
9 | [](https://github.com/mathiscode/password-leak/compare)
10 | [](https://github.com/mathiscode/password-leak/blob/master/LICENSE.md)
11 | [](https://snyk.io/test/github/mathiscode/password-leak?targetFile=package.json)
12 |
13 | ---
14 |
15 | - [Introduction](#introduction)
16 | - [How is this safe?](#how-is-this-safe)
17 | - [Installation](#installation)
18 | - [Usage in Browser](#usage-in-browser)
19 | - [Usage in Node.js](#usage-in-nodejs)
20 | - [With import/await](#with-importawait)
21 | - [With require/sync](#with-requiresync)
22 | - [Usage in Command Line](#usage-in-command-line)
23 | - [Development](#development)
24 |
25 | ---
26 |
27 | ## Introduction
28 |
29 | `password-leak` is a JavaScript module that can be used to determine if a password is compromised by checking with the [Have I Been Pwned API](https://haveibeenpwned.com/API/).
30 |
31 | ## How is this safe?
32 |
33 | Your passwords are **NEVER** transmitted to any other system. This library makes use of the [Have I Been Pwned API](https://haveibeenpwned.com/API/), which implements a [k-Anonymity Model](https://en.wikipedia.org/wiki/K-anonymity) so your password can be checked without ever having to give it to any other party.
34 |
35 | ## Installation
36 |
37 | `npm install @mathiscode/password-leak@latest`
38 |
39 | ## Usage in Browser
40 |
41 | ```html
42 |
43 |
44 |
50 | ```
51 |
52 | ## Usage in Node.js
53 |
54 | ### With import/await
55 |
56 | ```js
57 | import { isPasswordLeaked, checkPasswordStrength } from '@mathiscode/password-leak'
58 |
59 | const isLeaked = await isPasswordLeaked('myPassword')
60 | const strength = await checkPasswordStrength('myPassword')
61 | console.log('Is leaked?', isLeaked)
62 | console.log('Strength', strength)
63 | ```
64 |
65 | ### With require/sync
66 |
67 | ```js
68 | const { checkPasswordStrength, isPasswordLeakedSync } = require('@mathiscode/password-leak')
69 |
70 | isPasswordLeakedSync('myPassword', (error, isLeaked) => {
71 | if (error) throw new Error(error)
72 | console.log('Is leaked?', isLeaked)
73 | })
74 |
75 | const strength = checkPasswordStrength('myPassword')
76 | console.log('Strength', strength)
77 | ```
78 |
79 | ## Usage in Command Line
80 |
81 | Install globally:
82 |
83 | ```sh
84 | npm install -g @mathiscode/password-leak
85 | ```
86 |
87 | You can also use it without installing via npx:
88 |
89 | ```sh
90 | npx @mathiscode/password-leak myPassword
91 | ```
92 |
93 | You can then use it in two ways:
94 |
95 | 1. Interactive mode:
96 |
97 | ```sh
98 | password-leak
99 | ```
100 |
101 | 2. Direct mode:
102 |
103 | ```sh
104 | password-leak myPassword
105 | ```
106 |
107 | The command will:
108 |
109 | - Print whether the password has been compromised and its strength
110 | - Exit with status code 0 if the password is safe
111 | - Exit with status code 1 if the password is compromised or an error occurs
112 |
113 | ## Development
114 |
115 | ```sh
116 | # Clone the repository
117 | git clone https://github.com/mathiscode/password-leak.git
118 | cd password-leak
119 |
120 | # Use pnpm to install dependencies
121 | pnpm install
122 |
123 | # Build the project
124 | pnpm run build
125 |
126 | # Run the tests
127 | pnpm run test
128 |
129 | # Start the UI
130 | pnpm run ui # demo at https://password-leak.vercel.app
131 | ```
132 |
--------------------------------------------------------------------------------
/dist/index.js:
--------------------------------------------------------------------------------
1 | (()=>{function g(e){if(typeof e!="string")throw new TypeError("Expected a string");return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}var l=[{id:0,value:"Too weak",minDiversity:0,minLength:0},{id:1,value:"Weak",minDiversity:2,minLength:8},{id:2,value:"Medium",minDiversity:4,minLength:10},{id:3,value:"Strong",minDiversity:4,minLength:12}];var d=(e,s=l,n)=>{s[0].minDiversity=0,s[0].minLength=0;let i=e??"",a=[{key:"lowercase",regex:"[a-z]"},{key:"uppercase",regex:"[A-Z]"},{key:"number",regex:"[0-9]"},{key:"symbol",regex:n?`[${g(n)}]`:"[^a-zA-Z0-9]"}],t={};t.contains=a.filter(r=>new RegExp(`${r.regex}`).test(i)).map(r=>r.key),t.length=i.length;let o=s.filter(r=>t.contains.length>=r.minDiversity).filter(r=>t.length>=r.minLength).sort((r,h)=>h.id-r.id).map(r=>({id:r.id,value:r.value}));return Object.assign(t,o[0]),t};var c=globalThis.crypto,v=p;globalThis.isPasswordLeaked=p;globalThis.checkPassword=u;globalThis.checkPasswordStrength=f;async function u(e){return{strength:d(e),isLeaked:await p(e)}}function f(e){return d(e)}async function p(e){if(typeof e!="string")throw new Error("Password must be a string");let s=await c.subtle.digest("SHA-1",new TextEncoder().encode(e)),n=Array.from(new Uint8Array(s)).map(o=>o.toString(16).padStart(2,"0")).join(""),i=n.substring(0,5).toUpperCase();return(await(await fetch(`https://api.pwnedpasswords.com/range/${i}`)).text()).includes(n.substring(5).toUpperCase())}function S(e,s){if(typeof e!="string"){s(new Error("Password must be a string"),!1);return}c.subtle.digest("SHA-1",new TextEncoder().encode(e)).catch(n=>s(n,!1)).then(n=>{let i=Array.from(new Uint8Array(n)).map(t=>t.toString(16).padStart(2,"0")).join(""),a=i.substring(0,5).toUpperCase();fetch(`https://api.pwnedpasswords.com/range/${a}`).then(t=>t.text()).then(t=>s(null,t.includes(i.substring(5).toUpperCase()))).catch(t=>s(t,!1))})}})();
2 | //# sourceMappingURL=index.js.map
3 |
--------------------------------------------------------------------------------
/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | Fast Secure Password Checker - Data Breach and Strength Information
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
Password Checker
15 |
Check if your password has been exposed in data breaches as well as its strength
16 |
17 |
18 |
22 |
23 | 👁️
24 |
25 |
26 |
27 |
28 | Check Password
29 |
30 |
31 |
32 |
38 |
39 |
43 |
44 |
45 |
61 |
62 |
63 |
--------------------------------------------------------------------------------
/jest.config.ts:
--------------------------------------------------------------------------------
1 | export default {
2 | transform: {
3 | '^.+\\.tsx?$': 'esbuild-jest'
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@mathiscode/password-leak",
3 | "version": "2.0.7",
4 | "description": "A library to check for compromised passwords",
5 | "homepage": "https://github.com/mathiscode/password-leak",
6 | "license": "MIT",
7 | "type": "module",
8 | "author": {
9 | "name": "Jay Mathis",
10 | "email": "code@mathis.network",
11 | "url": "https://github.com/mathiscode"
12 | },
13 | "repository": {
14 | "type": "git",
15 | "url": "https://github.com/mathiscode/password-leak.git"
16 | },
17 | "bugs": {
18 | "url": "https://github.com/mathiscode/password-leak/issues"
19 | },
20 | "bin": {
21 | "password-leak": "./dist/cli.cjs"
22 | },
23 | "exports": {
24 | ".": {
25 | "default": "./dist/index.js",
26 | "import": "./dist/index.js",
27 | "require": "./dist/index.cjs"
28 | }
29 | },
30 | "files": [
31 | "dist"
32 | ],
33 | "scripts": {
34 | "build": "npm run build:lib && npm run build:cli && npm run copy:ui",
35 | "build:cli": "esbuild src/cli.ts --bundle --minify --sourcemap --platform=node --outfile=dist/cli.cjs",
36 | "build:lib": "npm run build:lib:esm && npm run build:lib:cjs",
37 | "build:lib:esm": "esbuild src/index.ts --bundle --minify --sourcemap --outfile=dist/index.js",
38 | "build:lib:cjs": "esbuild src/index.ts --bundle --minify --sourcemap --platform=node --outfile=dist/index.cjs",
39 | "build:watch": "esbuild src/index.ts --bundle --minify --sourcemap --outfile=dist/index.js --watch",
40 | "copy:ui": "cp index.html ui.* dist/",
41 | "test": "jest",
42 | "ui": "serve -l 1984 ."
43 | },
44 | "keywords": [
45 | "password",
46 | "leak",
47 | "breach",
48 | "security",
49 | "haveibeenpwned"
50 | ],
51 | "publishConfig": {
52 | "access": "public"
53 | },
54 | "devDependencies": {
55 | "@types/jest": "^29.5.14",
56 | "@types/node": "^22.13.0",
57 | "check-password-strength": "^3.0.0",
58 | "esbuild": "^0.25.0",
59 | "esbuild-jest": "^0.5.0",
60 | "jest": "^29.7.0",
61 | "serve": "^14.2.4",
62 | "ts-node": "^10.9.2"
63 | }
64 | }
65 |
--------------------------------------------------------------------------------
/pnpm-lock.yaml:
--------------------------------------------------------------------------------
1 | lockfileVersion: '9.0'
2 |
3 | settings:
4 | autoInstallPeers: true
5 | excludeLinksFromLockfile: false
6 |
7 | importers:
8 |
9 | .:
10 | devDependencies:
11 | '@types/jest':
12 | specifier: ^29.5.14
13 | version: 29.5.14
14 | '@types/node':
15 | specifier: ^22.13.0
16 | version: 22.13.0
17 | check-password-strength:
18 | specifier: ^3.0.0
19 | version: 3.0.0
20 | esbuild:
21 | specifier: ^0.25.0
22 | version: 0.25.0
23 | esbuild-jest:
24 | specifier: ^0.5.0
25 | version: 0.5.0(esbuild@0.25.0)
26 | jest:
27 | specifier: ^29.7.0
28 | version: 29.7.0(@types/node@22.13.0)(ts-node@10.9.2(@types/node@22.13.0)(typescript@5.7.3))
29 | serve:
30 | specifier: ^14.2.4
31 | version: 14.2.4
32 | ts-node:
33 | specifier: ^10.9.2
34 | version: 10.9.2(@types/node@22.13.0)(typescript@5.7.3)
35 |
36 | packages:
37 |
38 | '@ampproject/remapping@2.3.0':
39 | resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==}
40 | engines: {node: '>=6.0.0'}
41 |
42 | '@babel/code-frame@7.26.2':
43 | resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==}
44 | engines: {node: '>=6.9.0'}
45 |
46 | '@babel/compat-data@7.26.5':
47 | resolution: {integrity: sha512-XvcZi1KWf88RVbF9wn8MN6tYFloU5qX8KjuF3E1PVBmJ9eypXfs4GRiJwLuTZL0iSnJUKn1BFPa5BPZZJyFzPg==}
48 | engines: {node: '>=6.9.0'}
49 |
50 | '@babel/core@7.26.7':
51 | resolution: {integrity: sha512-SRijHmF0PSPgLIBYlWnG0hyeJLwXE2CgpsXaMOrtt2yp9/86ALw6oUlj9KYuZ0JN07T4eBMVIW4li/9S1j2BGA==}
52 | engines: {node: '>=6.9.0'}
53 |
54 | '@babel/generator@7.26.5':
55 | resolution: {integrity: sha512-2caSP6fN9I7HOe6nqhtft7V4g7/V/gfDsC3Ag4W7kEzzvRGKqiv0pu0HogPiZ3KaVSoNDhUws6IJjDjpfmYIXw==}
56 | engines: {node: '>=6.9.0'}
57 |
58 | '@babel/helper-compilation-targets@7.26.5':
59 | resolution: {integrity: sha512-IXuyn5EkouFJscIDuFF5EsiSolseme1s0CZB+QxVugqJLYmKdxI1VfIBOst0SUu4rnk2Z7kqTwmoO1lp3HIfnA==}
60 | engines: {node: '>=6.9.0'}
61 |
62 | '@babel/helper-module-imports@7.25.9':
63 | resolution: {integrity: sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==}
64 | engines: {node: '>=6.9.0'}
65 |
66 | '@babel/helper-module-transforms@7.26.0':
67 | resolution: {integrity: sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==}
68 | engines: {node: '>=6.9.0'}
69 | peerDependencies:
70 | '@babel/core': ^7.0.0
71 |
72 | '@babel/helper-plugin-utils@7.26.5':
73 | resolution: {integrity: sha512-RS+jZcRdZdRFzMyr+wcsaqOmld1/EqTghfaBGQQd/WnRdzdlvSZ//kF7U8VQTxf1ynZ4cjUcYgjVGx13ewNPMg==}
74 | engines: {node: '>=6.9.0'}
75 |
76 | '@babel/helper-string-parser@7.25.9':
77 | resolution: {integrity: sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==}
78 | engines: {node: '>=6.9.0'}
79 |
80 | '@babel/helper-validator-identifier@7.25.9':
81 | resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==}
82 | engines: {node: '>=6.9.0'}
83 |
84 | '@babel/helper-validator-option@7.25.9':
85 | resolution: {integrity: sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==}
86 | engines: {node: '>=6.9.0'}
87 |
88 | '@babel/helpers@7.26.7':
89 | resolution: {integrity: sha512-8NHiL98vsi0mbPQmYAGWwfcFaOy4j2HY49fXJCfuDcdE7fMIsH9a7GdaeXpIBsbT7307WU8KCMp5pUVDNL4f9A==}
90 | engines: {node: '>=6.9.0'}
91 |
92 | '@babel/parser@7.26.7':
93 | resolution: {integrity: sha512-kEvgGGgEjRUutvdVvZhbn/BxVt+5VSpwXz1j3WYXQbXDo8KzFOPNG2GQbdAiNq8g6wn1yKk7C/qrke03a84V+w==}
94 | engines: {node: '>=6.0.0'}
95 | hasBin: true
96 |
97 | '@babel/plugin-syntax-async-generators@7.8.4':
98 | resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==}
99 | peerDependencies:
100 | '@babel/core': ^7.0.0-0
101 |
102 | '@babel/plugin-syntax-bigint@7.8.3':
103 | resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==}
104 | peerDependencies:
105 | '@babel/core': ^7.0.0-0
106 |
107 | '@babel/plugin-syntax-class-properties@7.12.13':
108 | resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==}
109 | peerDependencies:
110 | '@babel/core': ^7.0.0-0
111 |
112 | '@babel/plugin-syntax-class-static-block@7.14.5':
113 | resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==}
114 | engines: {node: '>=6.9.0'}
115 | peerDependencies:
116 | '@babel/core': ^7.0.0-0
117 |
118 | '@babel/plugin-syntax-import-attributes@7.26.0':
119 | resolution: {integrity: sha512-e2dttdsJ1ZTpi3B9UYGLw41hifAubg19AtCu/2I/F1QNVclOBr1dYpTdmdyZ84Xiz43BS/tCUkMAZNLv12Pi+A==}
120 | engines: {node: '>=6.9.0'}
121 | peerDependencies:
122 | '@babel/core': ^7.0.0-0
123 |
124 | '@babel/plugin-syntax-import-meta@7.10.4':
125 | resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==}
126 | peerDependencies:
127 | '@babel/core': ^7.0.0-0
128 |
129 | '@babel/plugin-syntax-json-strings@7.8.3':
130 | resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==}
131 | peerDependencies:
132 | '@babel/core': ^7.0.0-0
133 |
134 | '@babel/plugin-syntax-jsx@7.25.9':
135 | resolution: {integrity: sha512-ld6oezHQMZsZfp6pWtbjaNDF2tiiCYYDqQszHt5VV437lewP9aSi2Of99CK0D0XB21k7FLgnLcmQKyKzynfeAA==}
136 | engines: {node: '>=6.9.0'}
137 | peerDependencies:
138 | '@babel/core': ^7.0.0-0
139 |
140 | '@babel/plugin-syntax-logical-assignment-operators@7.10.4':
141 | resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==}
142 | peerDependencies:
143 | '@babel/core': ^7.0.0-0
144 |
145 | '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3':
146 | resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==}
147 | peerDependencies:
148 | '@babel/core': ^7.0.0-0
149 |
150 | '@babel/plugin-syntax-numeric-separator@7.10.4':
151 | resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==}
152 | peerDependencies:
153 | '@babel/core': ^7.0.0-0
154 |
155 | '@babel/plugin-syntax-object-rest-spread@7.8.3':
156 | resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==}
157 | peerDependencies:
158 | '@babel/core': ^7.0.0-0
159 |
160 | '@babel/plugin-syntax-optional-catch-binding@7.8.3':
161 | resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==}
162 | peerDependencies:
163 | '@babel/core': ^7.0.0-0
164 |
165 | '@babel/plugin-syntax-optional-chaining@7.8.3':
166 | resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==}
167 | peerDependencies:
168 | '@babel/core': ^7.0.0-0
169 |
170 | '@babel/plugin-syntax-private-property-in-object@7.14.5':
171 | resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==}
172 | engines: {node: '>=6.9.0'}
173 | peerDependencies:
174 | '@babel/core': ^7.0.0-0
175 |
176 | '@babel/plugin-syntax-top-level-await@7.14.5':
177 | resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==}
178 | engines: {node: '>=6.9.0'}
179 | peerDependencies:
180 | '@babel/core': ^7.0.0-0
181 |
182 | '@babel/plugin-syntax-typescript@7.25.9':
183 | resolution: {integrity: sha512-hjMgRy5hb8uJJjUcdWunWVcoi9bGpJp8p5Ol1229PoN6aytsLwNMgmdftO23wnCLMfVmTwZDWMPNq/D1SY60JQ==}
184 | engines: {node: '>=6.9.0'}
185 | peerDependencies:
186 | '@babel/core': ^7.0.0-0
187 |
188 | '@babel/plugin-transform-modules-commonjs@7.26.3':
189 | resolution: {integrity: sha512-MgR55l4q9KddUDITEzEFYn5ZsGDXMSsU9E+kh7fjRXTIC3RHqfCo8RPRbyReYJh44HQ/yomFkqbOFohXvDCiIQ==}
190 | engines: {node: '>=6.9.0'}
191 | peerDependencies:
192 | '@babel/core': ^7.0.0-0
193 |
194 | '@babel/template@7.25.9':
195 | resolution: {integrity: sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==}
196 | engines: {node: '>=6.9.0'}
197 |
198 | '@babel/traverse@7.26.7':
199 | resolution: {integrity: sha512-1x1sgeyRLC3r5fQOM0/xtQKsYjyxmFjaOrLJNtZ81inNjyJHGIolTULPiSc/2qe1/qfpFLisLQYFnnZl7QoedA==}
200 | engines: {node: '>=6.9.0'}
201 |
202 | '@babel/types@7.26.7':
203 | resolution: {integrity: sha512-t8kDRGrKXyp6+tjUh7hw2RLyclsW4TRoRvRHtSyAX9Bb5ldlFh+90YAYY6awRXrlB4G5G2izNeGySpATlFzmOg==}
204 | engines: {node: '>=6.9.0'}
205 |
206 | '@bcoe/v8-coverage@0.2.3':
207 | resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==}
208 |
209 | '@cnakazawa/watch@1.0.4':
210 | resolution: {integrity: sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==}
211 | engines: {node: '>=0.1.95'}
212 | hasBin: true
213 |
214 | '@cspotcode/source-map-support@0.8.1':
215 | resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==}
216 | engines: {node: '>=12'}
217 |
218 | '@esbuild/aix-ppc64@0.25.0':
219 | resolution: {integrity: sha512-O7vun9Sf8DFjH2UtqK8Ku3LkquL9SZL8OLY1T5NZkA34+wG3OQF7cl4Ql8vdNzM6fzBbYfLaiRLIOZ+2FOCgBQ==}
220 | engines: {node: '>=18'}
221 | cpu: [ppc64]
222 | os: [aix]
223 |
224 | '@esbuild/android-arm64@0.25.0':
225 | resolution: {integrity: sha512-grvv8WncGjDSyUBjN9yHXNt+cq0snxXbDxy5pJtzMKGmmpPxeAmAhWxXI+01lU5rwZomDgD3kJwulEnhTRUd6g==}
226 | engines: {node: '>=18'}
227 | cpu: [arm64]
228 | os: [android]
229 |
230 | '@esbuild/android-arm@0.25.0':
231 | resolution: {integrity: sha512-PTyWCYYiU0+1eJKmw21lWtC+d08JDZPQ5g+kFyxP0V+es6VPPSUhM6zk8iImp2jbV6GwjX4pap0JFbUQN65X1g==}
232 | engines: {node: '>=18'}
233 | cpu: [arm]
234 | os: [android]
235 |
236 | '@esbuild/android-x64@0.25.0':
237 | resolution: {integrity: sha512-m/ix7SfKG5buCnxasr52+LI78SQ+wgdENi9CqyCXwjVR2X4Jkz+BpC3le3AoBPYTC9NHklwngVXvbJ9/Akhrfg==}
238 | engines: {node: '>=18'}
239 | cpu: [x64]
240 | os: [android]
241 |
242 | '@esbuild/darwin-arm64@0.25.0':
243 | resolution: {integrity: sha512-mVwdUb5SRkPayVadIOI78K7aAnPamoeFR2bT5nszFUZ9P8UpK4ratOdYbZZXYSqPKMHfS1wdHCJk1P1EZpRdvw==}
244 | engines: {node: '>=18'}
245 | cpu: [arm64]
246 | os: [darwin]
247 |
248 | '@esbuild/darwin-x64@0.25.0':
249 | resolution: {integrity: sha512-DgDaYsPWFTS4S3nWpFcMn/33ZZwAAeAFKNHNa1QN0rI4pUjgqf0f7ONmXf6d22tqTY+H9FNdgeaAa+YIFUn2Rg==}
250 | engines: {node: '>=18'}
251 | cpu: [x64]
252 | os: [darwin]
253 |
254 | '@esbuild/freebsd-arm64@0.25.0':
255 | resolution: {integrity: sha512-VN4ocxy6dxefN1MepBx/iD1dH5K8qNtNe227I0mnTRjry8tj5MRk4zprLEdG8WPyAPb93/e4pSgi1SoHdgOa4w==}
256 | engines: {node: '>=18'}
257 | cpu: [arm64]
258 | os: [freebsd]
259 |
260 | '@esbuild/freebsd-x64@0.25.0':
261 | resolution: {integrity: sha512-mrSgt7lCh07FY+hDD1TxiTyIHyttn6vnjesnPoVDNmDfOmggTLXRv8Id5fNZey1gl/V2dyVK1VXXqVsQIiAk+A==}
262 | engines: {node: '>=18'}
263 | cpu: [x64]
264 | os: [freebsd]
265 |
266 | '@esbuild/linux-arm64@0.25.0':
267 | resolution: {integrity: sha512-9QAQjTWNDM/Vk2bgBl17yWuZxZNQIF0OUUuPZRKoDtqF2k4EtYbpyiG5/Dk7nqeK6kIJWPYldkOcBqjXjrUlmg==}
268 | engines: {node: '>=18'}
269 | cpu: [arm64]
270 | os: [linux]
271 |
272 | '@esbuild/linux-arm@0.25.0':
273 | resolution: {integrity: sha512-vkB3IYj2IDo3g9xX7HqhPYxVkNQe8qTK55fraQyTzTX/fxaDtXiEnavv9geOsonh2Fd2RMB+i5cbhu2zMNWJwg==}
274 | engines: {node: '>=18'}
275 | cpu: [arm]
276 | os: [linux]
277 |
278 | '@esbuild/linux-ia32@0.25.0':
279 | resolution: {integrity: sha512-43ET5bHbphBegyeqLb7I1eYn2P/JYGNmzzdidq/w0T8E2SsYL1U6un2NFROFRg1JZLTzdCoRomg8Rvf9M6W6Gg==}
280 | engines: {node: '>=18'}
281 | cpu: [ia32]
282 | os: [linux]
283 |
284 | '@esbuild/linux-loong64@0.25.0':
285 | resolution: {integrity: sha512-fC95c/xyNFueMhClxJmeRIj2yrSMdDfmqJnyOY4ZqsALkDrrKJfIg5NTMSzVBr5YW1jf+l7/cndBfP3MSDpoHw==}
286 | engines: {node: '>=18'}
287 | cpu: [loong64]
288 | os: [linux]
289 |
290 | '@esbuild/linux-mips64el@0.25.0':
291 | resolution: {integrity: sha512-nkAMFju7KDW73T1DdH7glcyIptm95a7Le8irTQNO/qtkoyypZAnjchQgooFUDQhNAy4iu08N79W4T4pMBwhPwQ==}
292 | engines: {node: '>=18'}
293 | cpu: [mips64el]
294 | os: [linux]
295 |
296 | '@esbuild/linux-ppc64@0.25.0':
297 | resolution: {integrity: sha512-NhyOejdhRGS8Iwv+KKR2zTq2PpysF9XqY+Zk77vQHqNbo/PwZCzB5/h7VGuREZm1fixhs4Q/qWRSi5zmAiO4Fw==}
298 | engines: {node: '>=18'}
299 | cpu: [ppc64]
300 | os: [linux]
301 |
302 | '@esbuild/linux-riscv64@0.25.0':
303 | resolution: {integrity: sha512-5S/rbP5OY+GHLC5qXp1y/Mx//e92L1YDqkiBbO9TQOvuFXM+iDqUNG5XopAnXoRH3FjIUDkeGcY1cgNvnXp/kA==}
304 | engines: {node: '>=18'}
305 | cpu: [riscv64]
306 | os: [linux]
307 |
308 | '@esbuild/linux-s390x@0.25.0':
309 | resolution: {integrity: sha512-XM2BFsEBz0Fw37V0zU4CXfcfuACMrppsMFKdYY2WuTS3yi8O1nFOhil/xhKTmE1nPmVyvQJjJivgDT+xh8pXJA==}
310 | engines: {node: '>=18'}
311 | cpu: [s390x]
312 | os: [linux]
313 |
314 | '@esbuild/linux-x64@0.25.0':
315 | resolution: {integrity: sha512-9yl91rHw/cpwMCNytUDxwj2XjFpxML0y9HAOH9pNVQDpQrBxHy01Dx+vaMu0N1CKa/RzBD2hB4u//nfc+Sd3Cw==}
316 | engines: {node: '>=18'}
317 | cpu: [x64]
318 | os: [linux]
319 |
320 | '@esbuild/netbsd-arm64@0.25.0':
321 | resolution: {integrity: sha512-RuG4PSMPFfrkH6UwCAqBzauBWTygTvb1nxWasEJooGSJ/NwRw7b2HOwyRTQIU97Hq37l3npXoZGYMy3b3xYvPw==}
322 | engines: {node: '>=18'}
323 | cpu: [arm64]
324 | os: [netbsd]
325 |
326 | '@esbuild/netbsd-x64@0.25.0':
327 | resolution: {integrity: sha512-jl+qisSB5jk01N5f7sPCsBENCOlPiS/xptD5yxOx2oqQfyourJwIKLRA2yqWdifj3owQZCL2sn6o08dBzZGQzA==}
328 | engines: {node: '>=18'}
329 | cpu: [x64]
330 | os: [netbsd]
331 |
332 | '@esbuild/openbsd-arm64@0.25.0':
333 | resolution: {integrity: sha512-21sUNbq2r84YE+SJDfaQRvdgznTD8Xc0oc3p3iW/a1EVWeNj/SdUCbm5U0itZPQYRuRTW20fPMWMpcrciH2EJw==}
334 | engines: {node: '>=18'}
335 | cpu: [arm64]
336 | os: [openbsd]
337 |
338 | '@esbuild/openbsd-x64@0.25.0':
339 | resolution: {integrity: sha512-2gwwriSMPcCFRlPlKx3zLQhfN/2WjJ2NSlg5TKLQOJdV0mSxIcYNTMhk3H3ulL/cak+Xj0lY1Ym9ysDV1igceg==}
340 | engines: {node: '>=18'}
341 | cpu: [x64]
342 | os: [openbsd]
343 |
344 | '@esbuild/sunos-x64@0.25.0':
345 | resolution: {integrity: sha512-bxI7ThgLzPrPz484/S9jLlvUAHYMzy6I0XiU1ZMeAEOBcS0VePBFxh1JjTQt3Xiat5b6Oh4x7UC7IwKQKIJRIg==}
346 | engines: {node: '>=18'}
347 | cpu: [x64]
348 | os: [sunos]
349 |
350 | '@esbuild/win32-arm64@0.25.0':
351 | resolution: {integrity: sha512-ZUAc2YK6JW89xTbXvftxdnYy3m4iHIkDtK3CLce8wg8M2L+YZhIvO1DKpxrd0Yr59AeNNkTiic9YLf6FTtXWMw==}
352 | engines: {node: '>=18'}
353 | cpu: [arm64]
354 | os: [win32]
355 |
356 | '@esbuild/win32-ia32@0.25.0':
357 | resolution: {integrity: sha512-eSNxISBu8XweVEWG31/JzjkIGbGIJN/TrRoiSVZwZ6pkC6VX4Im/WV2cz559/TXLcYbcrDN8JtKgd9DJVIo8GA==}
358 | engines: {node: '>=18'}
359 | cpu: [ia32]
360 | os: [win32]
361 |
362 | '@esbuild/win32-x64@0.25.0':
363 | resolution: {integrity: sha512-ZENoHJBxA20C2zFzh6AI4fT6RraMzjYw4xKWemRTRmRVtN9c5DcH9r/f2ihEkMjOW5eGgrwCslG/+Y/3bL+DHQ==}
364 | engines: {node: '>=18'}
365 | cpu: [x64]
366 | os: [win32]
367 |
368 | '@istanbuljs/load-nyc-config@1.1.0':
369 | resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==}
370 | engines: {node: '>=8'}
371 |
372 | '@istanbuljs/schema@0.1.3':
373 | resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==}
374 | engines: {node: '>=8'}
375 |
376 | '@jest/console@29.7.0':
377 | resolution: {integrity: sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==}
378 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
379 |
380 | '@jest/core@29.7.0':
381 | resolution: {integrity: sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==}
382 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
383 | peerDependencies:
384 | node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
385 | peerDependenciesMeta:
386 | node-notifier:
387 | optional: true
388 |
389 | '@jest/environment@29.7.0':
390 | resolution: {integrity: sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==}
391 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
392 |
393 | '@jest/expect-utils@29.7.0':
394 | resolution: {integrity: sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==}
395 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
396 |
397 | '@jest/expect@29.7.0':
398 | resolution: {integrity: sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==}
399 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
400 |
401 | '@jest/fake-timers@29.7.0':
402 | resolution: {integrity: sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==}
403 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
404 |
405 | '@jest/globals@29.7.0':
406 | resolution: {integrity: sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==}
407 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
408 |
409 | '@jest/reporters@29.7.0':
410 | resolution: {integrity: sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==}
411 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
412 | peerDependencies:
413 | node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
414 | peerDependenciesMeta:
415 | node-notifier:
416 | optional: true
417 |
418 | '@jest/schemas@29.6.3':
419 | resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==}
420 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
421 |
422 | '@jest/source-map@29.6.3':
423 | resolution: {integrity: sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==}
424 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
425 |
426 | '@jest/test-result@29.7.0':
427 | resolution: {integrity: sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==}
428 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
429 |
430 | '@jest/test-sequencer@29.7.0':
431 | resolution: {integrity: sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==}
432 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
433 |
434 | '@jest/transform@26.6.2':
435 | resolution: {integrity: sha512-E9JjhUgNzvuQ+vVAL21vlyfy12gP0GhazGgJC4h6qUt1jSdUXGWJ1wfu/X7Sd8etSgxV4ovT1pb9v5D6QW4XgA==}
436 | engines: {node: '>= 10.14.2'}
437 |
438 | '@jest/transform@29.7.0':
439 | resolution: {integrity: sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==}
440 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
441 |
442 | '@jest/types@26.6.2':
443 | resolution: {integrity: sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==}
444 | engines: {node: '>= 10.14.2'}
445 |
446 | '@jest/types@29.6.3':
447 | resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==}
448 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
449 |
450 | '@jridgewell/gen-mapping@0.3.8':
451 | resolution: {integrity: sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==}
452 | engines: {node: '>=6.0.0'}
453 |
454 | '@jridgewell/resolve-uri@3.1.2':
455 | resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==}
456 | engines: {node: '>=6.0.0'}
457 |
458 | '@jridgewell/set-array@1.2.1':
459 | resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==}
460 | engines: {node: '>=6.0.0'}
461 |
462 | '@jridgewell/sourcemap-codec@1.5.0':
463 | resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==}
464 |
465 | '@jridgewell/trace-mapping@0.3.25':
466 | resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==}
467 |
468 | '@jridgewell/trace-mapping@0.3.9':
469 | resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==}
470 |
471 | '@sinclair/typebox@0.27.8':
472 | resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==}
473 |
474 | '@sinonjs/commons@3.0.1':
475 | resolution: {integrity: sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==}
476 |
477 | '@sinonjs/fake-timers@10.3.0':
478 | resolution: {integrity: sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==}
479 |
480 | '@tsconfig/node10@1.0.11':
481 | resolution: {integrity: sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==}
482 |
483 | '@tsconfig/node12@1.0.11':
484 | resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==}
485 |
486 | '@tsconfig/node14@1.0.3':
487 | resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==}
488 |
489 | '@tsconfig/node16@1.0.4':
490 | resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==}
491 |
492 | '@types/babel__core@7.20.5':
493 | resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==}
494 |
495 | '@types/babel__generator@7.6.8':
496 | resolution: {integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==}
497 |
498 | '@types/babel__template@7.4.4':
499 | resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==}
500 |
501 | '@types/babel__traverse@7.20.6':
502 | resolution: {integrity: sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==}
503 |
504 | '@types/graceful-fs@4.1.9':
505 | resolution: {integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==}
506 |
507 | '@types/istanbul-lib-coverage@2.0.6':
508 | resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==}
509 |
510 | '@types/istanbul-lib-report@3.0.3':
511 | resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==}
512 |
513 | '@types/istanbul-reports@3.0.4':
514 | resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==}
515 |
516 | '@types/jest@29.5.14':
517 | resolution: {integrity: sha512-ZN+4sdnLUbo8EVvVc2ao0GFW6oVrQRPn4K2lglySj7APvSrgzxHiNNK99us4WDMi57xxA2yggblIAMNhXOotLQ==}
518 |
519 | '@types/node@22.13.0':
520 | resolution: {integrity: sha512-ClIbNe36lawluuvq3+YYhnIN2CELi+6q8NpnM7PYp4hBn/TatfboPgVSm2rwKRfnV2M+Ty9GWDFI64KEe+kysA==}
521 |
522 | '@types/stack-utils@2.0.3':
523 | resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==}
524 |
525 | '@types/yargs-parser@21.0.3':
526 | resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==}
527 |
528 | '@types/yargs@15.0.19':
529 | resolution: {integrity: sha512-2XUaGVmyQjgyAZldf0D0c14vvo/yv0MhQBSTJcejMMaitsn3nxCB6TmH4G0ZQf+uxROOa9mpanoSm8h6SG/1ZA==}
530 |
531 | '@types/yargs@17.0.33':
532 | resolution: {integrity: sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==}
533 |
534 | '@zeit/schemas@2.36.0':
535 | resolution: {integrity: sha512-7kjMwcChYEzMKjeex9ZFXkt1AyNov9R5HZtjBKVsmVpw7pa7ZtlCGvCBC2vnnXctaYN+aRI61HjIqeetZW5ROg==}
536 |
537 | accepts@1.3.8:
538 | resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==}
539 | engines: {node: '>= 0.6'}
540 |
541 | acorn-walk@8.3.4:
542 | resolution: {integrity: sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==}
543 | engines: {node: '>=0.4.0'}
544 |
545 | acorn@8.14.0:
546 | resolution: {integrity: sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==}
547 | engines: {node: '>=0.4.0'}
548 | hasBin: true
549 |
550 | ajv@8.12.0:
551 | resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==}
552 |
553 | ansi-align@3.0.1:
554 | resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==}
555 |
556 | ansi-escapes@4.3.2:
557 | resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==}
558 | engines: {node: '>=8'}
559 |
560 | ansi-regex@5.0.1:
561 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
562 | engines: {node: '>=8'}
563 |
564 | ansi-regex@6.1.0:
565 | resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==}
566 | engines: {node: '>=12'}
567 |
568 | ansi-styles@4.3.0:
569 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
570 | engines: {node: '>=8'}
571 |
572 | ansi-styles@5.2.0:
573 | resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==}
574 | engines: {node: '>=10'}
575 |
576 | ansi-styles@6.2.1:
577 | resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==}
578 | engines: {node: '>=12'}
579 |
580 | anymatch@2.0.0:
581 | resolution: {integrity: sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==}
582 |
583 | anymatch@3.1.3:
584 | resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
585 | engines: {node: '>= 8'}
586 |
587 | arch@2.2.0:
588 | resolution: {integrity: sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==}
589 |
590 | arg@4.1.3:
591 | resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==}
592 |
593 | arg@5.0.2:
594 | resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==}
595 |
596 | argparse@1.0.10:
597 | resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==}
598 |
599 | arr-diff@4.0.0:
600 | resolution: {integrity: sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==}
601 | engines: {node: '>=0.10.0'}
602 |
603 | arr-flatten@1.1.0:
604 | resolution: {integrity: sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==}
605 | engines: {node: '>=0.10.0'}
606 |
607 | arr-union@3.1.0:
608 | resolution: {integrity: sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==}
609 | engines: {node: '>=0.10.0'}
610 |
611 | array-unique@0.3.2:
612 | resolution: {integrity: sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==}
613 | engines: {node: '>=0.10.0'}
614 |
615 | assign-symbols@1.0.0:
616 | resolution: {integrity: sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==}
617 | engines: {node: '>=0.10.0'}
618 |
619 | atob@2.1.2:
620 | resolution: {integrity: sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==}
621 | engines: {node: '>= 4.5.0'}
622 | hasBin: true
623 |
624 | babel-jest@26.6.3:
625 | resolution: {integrity: sha512-pl4Q+GAVOHwvjrck6jKjvmGhnO3jHX/xuB9d27f+EJZ/6k+6nMuPjorrYp7s++bKKdANwzElBWnLWaObvTnaZA==}
626 | engines: {node: '>= 10.14.2'}
627 | peerDependencies:
628 | '@babel/core': ^7.0.0
629 |
630 | babel-jest@29.7.0:
631 | resolution: {integrity: sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==}
632 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
633 | peerDependencies:
634 | '@babel/core': ^7.8.0
635 |
636 | babel-plugin-istanbul@6.1.1:
637 | resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==}
638 | engines: {node: '>=8'}
639 |
640 | babel-plugin-jest-hoist@26.6.2:
641 | resolution: {integrity: sha512-PO9t0697lNTmcEHH69mdtYiOIkkOlj9fySqfO3K1eCcdISevLAE0xY59VLLUj0SoiPiTX/JU2CYFpILydUa5Lw==}
642 | engines: {node: '>= 10.14.2'}
643 |
644 | babel-plugin-jest-hoist@29.6.3:
645 | resolution: {integrity: sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==}
646 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
647 |
648 | babel-preset-current-node-syntax@1.1.0:
649 | resolution: {integrity: sha512-ldYss8SbBlWva1bs28q78Ju5Zq1F+8BrqBZZ0VFhLBvhh6lCpC2o3gDJi/5DRLs9FgYZCnmPYIVFU4lRXCkyUw==}
650 | peerDependencies:
651 | '@babel/core': ^7.0.0
652 |
653 | babel-preset-jest@26.6.2:
654 | resolution: {integrity: sha512-YvdtlVm9t3k777c5NPQIv6cxFFFapys25HiUmuSgHwIZhfifweR5c5Sf5nwE3MAbfu327CYSvps8Yx6ANLyleQ==}
655 | engines: {node: '>= 10.14.2'}
656 | peerDependencies:
657 | '@babel/core': ^7.0.0
658 |
659 | babel-preset-jest@29.6.3:
660 | resolution: {integrity: sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==}
661 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
662 | peerDependencies:
663 | '@babel/core': ^7.0.0
664 |
665 | balanced-match@1.0.2:
666 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
667 |
668 | base@0.11.2:
669 | resolution: {integrity: sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==}
670 | engines: {node: '>=0.10.0'}
671 |
672 | boxen@7.0.0:
673 | resolution: {integrity: sha512-j//dBVuyacJbvW+tvZ9HuH03fZ46QcaKvvhZickZqtB271DxJ7SNRSNxrV/dZX0085m7hISRZWbzWlJvx/rHSg==}
674 | engines: {node: '>=14.16'}
675 |
676 | brace-expansion@1.1.11:
677 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
678 |
679 | braces@2.3.2:
680 | resolution: {integrity: sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==}
681 | engines: {node: '>=0.10.0'}
682 |
683 | braces@3.0.3:
684 | resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==}
685 | engines: {node: '>=8'}
686 |
687 | browserslist@4.24.4:
688 | resolution: {integrity: sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==}
689 | engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
690 | hasBin: true
691 |
692 | bser@2.1.1:
693 | resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==}
694 |
695 | buffer-from@1.1.2:
696 | resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==}
697 |
698 | bytes@3.0.0:
699 | resolution: {integrity: sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==}
700 | engines: {node: '>= 0.8'}
701 |
702 | cache-base@1.0.1:
703 | resolution: {integrity: sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==}
704 | engines: {node: '>=0.10.0'}
705 |
706 | callsites@3.1.0:
707 | resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
708 | engines: {node: '>=6'}
709 |
710 | camelcase@5.3.1:
711 | resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==}
712 | engines: {node: '>=6'}
713 |
714 | camelcase@6.3.0:
715 | resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==}
716 | engines: {node: '>=10'}
717 |
718 | camelcase@7.0.1:
719 | resolution: {integrity: sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==}
720 | engines: {node: '>=14.16'}
721 |
722 | caniuse-lite@1.0.30001696:
723 | resolution: {integrity: sha512-pDCPkvzfa39ehJtJ+OwGT/2yvT2SbjfHhiIW2LWOAcMQ7BzwxT/XuyUp4OTOd0XFWA6BKw0JalnBHgSi5DGJBQ==}
724 |
725 | capture-exit@2.0.0:
726 | resolution: {integrity: sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==}
727 | engines: {node: 6.* || 8.* || >= 10.*}
728 |
729 | chalk-template@0.4.0:
730 | resolution: {integrity: sha512-/ghrgmhfY8RaSdeo43hNXxpoHAtxdbskUHjPpfqUWGttFgycUhYPGx3YZBCnUCvOa7Doivn1IZec3DEGFoMgLg==}
731 | engines: {node: '>=12'}
732 |
733 | chalk@4.1.2:
734 | resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
735 | engines: {node: '>=10'}
736 |
737 | chalk@5.0.1:
738 | resolution: {integrity: sha512-Fo07WOYGqMfCWHOzSXOt2CxDbC6skS/jO9ynEcmpANMoPrD+W1r1K6Vx7iNm+AQmETU1Xr2t+n8nzkV9t6xh3w==}
739 | engines: {node: ^12.17.0 || ^14.13 || >=16.0.0}
740 |
741 | char-regex@1.0.2:
742 | resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==}
743 | engines: {node: '>=10'}
744 |
745 | check-password-strength@3.0.0:
746 | resolution: {integrity: sha512-XIBvWpb7/RI2DO05tMixE4WbFFvEC7ls/jr1VSrWgXvlCmdiH2fsdkixG0cNGs1uIXwoSqJ75T3s9H/TlJV6Cw==}
747 |
748 | ci-info@2.0.0:
749 | resolution: {integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==}
750 |
751 | ci-info@3.9.0:
752 | resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==}
753 | engines: {node: '>=8'}
754 |
755 | cjs-module-lexer@1.4.3:
756 | resolution: {integrity: sha512-9z8TZaGM1pfswYeXrUpzPrkx8UnWYdhJclsiYMm6x/w5+nN+8Tf/LnAgfLGQCm59qAOxU8WwHEq2vNwF6i4j+Q==}
757 |
758 | class-utils@0.3.6:
759 | resolution: {integrity: sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==}
760 | engines: {node: '>=0.10.0'}
761 |
762 | cli-boxes@3.0.0:
763 | resolution: {integrity: sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==}
764 | engines: {node: '>=10'}
765 |
766 | clipboardy@3.0.0:
767 | resolution: {integrity: sha512-Su+uU5sr1jkUy1sGRpLKjKrvEOVXgSgiSInwa/qeID6aJ07yh+5NWc3h2QfjHjBnfX4LhtFcuAWKUsJ3r+fjbg==}
768 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
769 |
770 | cliui@8.0.1:
771 | resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==}
772 | engines: {node: '>=12'}
773 |
774 | co@4.6.0:
775 | resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==}
776 | engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'}
777 |
778 | collect-v8-coverage@1.0.2:
779 | resolution: {integrity: sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==}
780 |
781 | collection-visit@1.0.0:
782 | resolution: {integrity: sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==}
783 | engines: {node: '>=0.10.0'}
784 |
785 | color-convert@2.0.1:
786 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
787 | engines: {node: '>=7.0.0'}
788 |
789 | color-name@1.1.4:
790 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
791 |
792 | component-emitter@1.3.1:
793 | resolution: {integrity: sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==}
794 |
795 | compressible@2.0.18:
796 | resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==}
797 | engines: {node: '>= 0.6'}
798 |
799 | compression@1.7.4:
800 | resolution: {integrity: sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==}
801 | engines: {node: '>= 0.8.0'}
802 |
803 | concat-map@0.0.1:
804 | resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
805 |
806 | content-disposition@0.5.2:
807 | resolution: {integrity: sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA==}
808 | engines: {node: '>= 0.6'}
809 |
810 | convert-source-map@1.9.0:
811 | resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==}
812 |
813 | convert-source-map@2.0.0:
814 | resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==}
815 |
816 | copy-descriptor@0.1.1:
817 | resolution: {integrity: sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==}
818 | engines: {node: '>=0.10.0'}
819 |
820 | create-jest@29.7.0:
821 | resolution: {integrity: sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==}
822 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
823 | hasBin: true
824 |
825 | create-require@1.1.1:
826 | resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==}
827 |
828 | cross-spawn@6.0.6:
829 | resolution: {integrity: sha512-VqCUuhcd1iB+dsv8gxPttb5iZh/D0iubSP21g36KXdEuf6I5JiioesUVjpCdHV9MZRUfVFlvwtIUyPfxo5trtw==}
830 | engines: {node: '>=4.8'}
831 |
832 | cross-spawn@7.0.6:
833 | resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==}
834 | engines: {node: '>= 8'}
835 |
836 | debug@2.6.9:
837 | resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==}
838 | peerDependencies:
839 | supports-color: '*'
840 | peerDependenciesMeta:
841 | supports-color:
842 | optional: true
843 |
844 | debug@4.4.0:
845 | resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==}
846 | engines: {node: '>=6.0'}
847 | peerDependencies:
848 | supports-color: '*'
849 | peerDependenciesMeta:
850 | supports-color:
851 | optional: true
852 |
853 | decode-uri-component@0.2.2:
854 | resolution: {integrity: sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==}
855 | engines: {node: '>=0.10'}
856 |
857 | dedent@1.5.3:
858 | resolution: {integrity: sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ==}
859 | peerDependencies:
860 | babel-plugin-macros: ^3.1.0
861 | peerDependenciesMeta:
862 | babel-plugin-macros:
863 | optional: true
864 |
865 | deep-extend@0.6.0:
866 | resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==}
867 | engines: {node: '>=4.0.0'}
868 |
869 | deepmerge@4.3.1:
870 | resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==}
871 | engines: {node: '>=0.10.0'}
872 |
873 | define-property@0.2.5:
874 | resolution: {integrity: sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==}
875 | engines: {node: '>=0.10.0'}
876 |
877 | define-property@1.0.0:
878 | resolution: {integrity: sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==}
879 | engines: {node: '>=0.10.0'}
880 |
881 | define-property@2.0.2:
882 | resolution: {integrity: sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==}
883 | engines: {node: '>=0.10.0'}
884 |
885 | detect-newline@3.1.0:
886 | resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==}
887 | engines: {node: '>=8'}
888 |
889 | diff-sequences@29.6.3:
890 | resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==}
891 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
892 |
893 | diff@4.0.2:
894 | resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==}
895 | engines: {node: '>=0.3.1'}
896 |
897 | eastasianwidth@0.2.0:
898 | resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==}
899 |
900 | electron-to-chromium@1.5.90:
901 | resolution: {integrity: sha512-C3PN4aydfW91Natdyd449Kw+BzhLmof6tzy5W1pFC5SpQxVXT+oyiyOG9AgYYSN9OdA/ik3YkCrpwqI8ug5Tug==}
902 |
903 | emittery@0.13.1:
904 | resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==}
905 | engines: {node: '>=12'}
906 |
907 | emoji-regex@8.0.0:
908 | resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
909 |
910 | emoji-regex@9.2.2:
911 | resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==}
912 |
913 | end-of-stream@1.4.4:
914 | resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==}
915 |
916 | error-ex@1.3.2:
917 | resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==}
918 |
919 | esbuild-jest@0.5.0:
920 | resolution: {integrity: sha512-AMZZCdEpXfNVOIDvURlqYyHwC8qC1/BFjgsrOiSL1eyiIArVtHL8YAC83Shhn16cYYoAWEW17yZn0W/RJKJKHQ==}
921 | peerDependencies:
922 | esbuild: '>=0.8.50'
923 |
924 | esbuild@0.25.0:
925 | resolution: {integrity: sha512-BXq5mqc8ltbaN34cDqWuYKyNhX8D/Z0J1xdtdQ8UcIIIyJyz+ZMKUt58tF3SrZ85jcfN/PZYhjR5uDQAYNVbuw==}
926 | engines: {node: '>=18'}
927 | hasBin: true
928 |
929 | escalade@3.2.0:
930 | resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==}
931 | engines: {node: '>=6'}
932 |
933 | escape-string-regexp@2.0.0:
934 | resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==}
935 | engines: {node: '>=8'}
936 |
937 | escape-string-regexp@5.0.0:
938 | resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==}
939 | engines: {node: '>=12'}
940 |
941 | esprima@4.0.1:
942 | resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==}
943 | engines: {node: '>=4'}
944 | hasBin: true
945 |
946 | exec-sh@0.3.6:
947 | resolution: {integrity: sha512-nQn+hI3yp+oD0huYhKwvYI32+JFeq+XkNcD1GAo3Y/MjxsfVGmrrzrnzjWiNY6f+pUCP440fThsFh5gZrRAU/w==}
948 |
949 | execa@1.0.0:
950 | resolution: {integrity: sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==}
951 | engines: {node: '>=6'}
952 |
953 | execa@5.1.1:
954 | resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==}
955 | engines: {node: '>=10'}
956 |
957 | exit@0.1.2:
958 | resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==}
959 | engines: {node: '>= 0.8.0'}
960 |
961 | expand-brackets@2.1.4:
962 | resolution: {integrity: sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==}
963 | engines: {node: '>=0.10.0'}
964 |
965 | expect@29.7.0:
966 | resolution: {integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==}
967 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
968 |
969 | extend-shallow@2.0.1:
970 | resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==}
971 | engines: {node: '>=0.10.0'}
972 |
973 | extend-shallow@3.0.2:
974 | resolution: {integrity: sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==}
975 | engines: {node: '>=0.10.0'}
976 |
977 | extglob@2.0.4:
978 | resolution: {integrity: sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==}
979 | engines: {node: '>=0.10.0'}
980 |
981 | fast-deep-equal@3.1.3:
982 | resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
983 |
984 | fast-json-stable-stringify@2.1.0:
985 | resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
986 |
987 | fb-watchman@2.0.2:
988 | resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==}
989 |
990 | fill-range@4.0.0:
991 | resolution: {integrity: sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==}
992 | engines: {node: '>=0.10.0'}
993 |
994 | fill-range@7.1.1:
995 | resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==}
996 | engines: {node: '>=8'}
997 |
998 | find-up@4.1.0:
999 | resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==}
1000 | engines: {node: '>=8'}
1001 |
1002 | for-in@1.0.2:
1003 | resolution: {integrity: sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==}
1004 | engines: {node: '>=0.10.0'}
1005 |
1006 | fragment-cache@0.2.1:
1007 | resolution: {integrity: sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==}
1008 | engines: {node: '>=0.10.0'}
1009 |
1010 | fs.realpath@1.0.0:
1011 | resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
1012 |
1013 | fsevents@2.3.3:
1014 | resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
1015 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
1016 | os: [darwin]
1017 |
1018 | function-bind@1.1.2:
1019 | resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
1020 |
1021 | gensync@1.0.0-beta.2:
1022 | resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==}
1023 | engines: {node: '>=6.9.0'}
1024 |
1025 | get-caller-file@2.0.5:
1026 | resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==}
1027 | engines: {node: 6.* || 8.* || >= 10.*}
1028 |
1029 | get-package-type@0.1.0:
1030 | resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==}
1031 | engines: {node: '>=8.0.0'}
1032 |
1033 | get-stream@4.1.0:
1034 | resolution: {integrity: sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==}
1035 | engines: {node: '>=6'}
1036 |
1037 | get-stream@6.0.1:
1038 | resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==}
1039 | engines: {node: '>=10'}
1040 |
1041 | get-value@2.0.6:
1042 | resolution: {integrity: sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==}
1043 | engines: {node: '>=0.10.0'}
1044 |
1045 | glob@7.2.3:
1046 | resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
1047 | deprecated: Glob versions prior to v9 are no longer supported
1048 |
1049 | globals@11.12.0:
1050 | resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==}
1051 | engines: {node: '>=4'}
1052 |
1053 | graceful-fs@4.2.11:
1054 | resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
1055 |
1056 | has-flag@4.0.0:
1057 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
1058 | engines: {node: '>=8'}
1059 |
1060 | has-value@0.3.1:
1061 | resolution: {integrity: sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==}
1062 | engines: {node: '>=0.10.0'}
1063 |
1064 | has-value@1.0.0:
1065 | resolution: {integrity: sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==}
1066 | engines: {node: '>=0.10.0'}
1067 |
1068 | has-values@0.1.4:
1069 | resolution: {integrity: sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==}
1070 | engines: {node: '>=0.10.0'}
1071 |
1072 | has-values@1.0.0:
1073 | resolution: {integrity: sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==}
1074 | engines: {node: '>=0.10.0'}
1075 |
1076 | hasown@2.0.2:
1077 | resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==}
1078 | engines: {node: '>= 0.4'}
1079 |
1080 | html-escaper@2.0.2:
1081 | resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==}
1082 |
1083 | human-signals@2.1.0:
1084 | resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==}
1085 | engines: {node: '>=10.17.0'}
1086 |
1087 | import-local@3.2.0:
1088 | resolution: {integrity: sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==}
1089 | engines: {node: '>=8'}
1090 | hasBin: true
1091 |
1092 | imurmurhash@0.1.4:
1093 | resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
1094 | engines: {node: '>=0.8.19'}
1095 |
1096 | inflight@1.0.6:
1097 | resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
1098 | 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.
1099 |
1100 | inherits@2.0.4:
1101 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
1102 |
1103 | ini@1.3.8:
1104 | resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==}
1105 |
1106 | is-accessor-descriptor@1.0.1:
1107 | resolution: {integrity: sha512-YBUanLI8Yoihw923YeFUS5fs0fF2f5TSFTNiYAAzhhDscDa3lEqYuz1pDOEP5KvX94I9ey3vsqjJcLVFVU+3QA==}
1108 | engines: {node: '>= 0.10'}
1109 |
1110 | is-arrayish@0.2.1:
1111 | resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==}
1112 |
1113 | is-buffer@1.1.6:
1114 | resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==}
1115 |
1116 | is-ci@2.0.0:
1117 | resolution: {integrity: sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==}
1118 | hasBin: true
1119 |
1120 | is-core-module@2.16.1:
1121 | resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==}
1122 | engines: {node: '>= 0.4'}
1123 |
1124 | is-data-descriptor@1.0.1:
1125 | resolution: {integrity: sha512-bc4NlCDiCr28U4aEsQ3Qs2491gVq4V8G7MQyws968ImqjKuYtTJXrl7Vq7jsN7Ly/C3xj5KWFrY7sHNeDkAzXw==}
1126 | engines: {node: '>= 0.4'}
1127 |
1128 | is-descriptor@0.1.7:
1129 | resolution: {integrity: sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==}
1130 | engines: {node: '>= 0.4'}
1131 |
1132 | is-descriptor@1.0.3:
1133 | resolution: {integrity: sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw==}
1134 | engines: {node: '>= 0.4'}
1135 |
1136 | is-docker@2.2.1:
1137 | resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==}
1138 | engines: {node: '>=8'}
1139 | hasBin: true
1140 |
1141 | is-extendable@0.1.1:
1142 | resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==}
1143 | engines: {node: '>=0.10.0'}
1144 |
1145 | is-extendable@1.0.1:
1146 | resolution: {integrity: sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==}
1147 | engines: {node: '>=0.10.0'}
1148 |
1149 | is-fullwidth-code-point@3.0.0:
1150 | resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
1151 | engines: {node: '>=8'}
1152 |
1153 | is-generator-fn@2.1.0:
1154 | resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==}
1155 | engines: {node: '>=6'}
1156 |
1157 | is-number@3.0.0:
1158 | resolution: {integrity: sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==}
1159 | engines: {node: '>=0.10.0'}
1160 |
1161 | is-number@7.0.0:
1162 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
1163 | engines: {node: '>=0.12.0'}
1164 |
1165 | is-plain-object@2.0.4:
1166 | resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==}
1167 | engines: {node: '>=0.10.0'}
1168 |
1169 | is-port-reachable@4.0.0:
1170 | resolution: {integrity: sha512-9UoipoxYmSk6Xy7QFgRv2HDyaysmgSG75TFQs6S+3pDM7ZhKTF/bskZV+0UlABHzKjNVhPjYCLfeZUEg1wXxig==}
1171 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
1172 |
1173 | is-stream@1.1.0:
1174 | resolution: {integrity: sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==}
1175 | engines: {node: '>=0.10.0'}
1176 |
1177 | is-stream@2.0.1:
1178 | resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==}
1179 | engines: {node: '>=8'}
1180 |
1181 | is-typedarray@1.0.0:
1182 | resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==}
1183 |
1184 | is-windows@1.0.2:
1185 | resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==}
1186 | engines: {node: '>=0.10.0'}
1187 |
1188 | is-wsl@2.2.0:
1189 | resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==}
1190 | engines: {node: '>=8'}
1191 |
1192 | isarray@1.0.0:
1193 | resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==}
1194 |
1195 | isexe@2.0.0:
1196 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
1197 |
1198 | isobject@2.1.0:
1199 | resolution: {integrity: sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==}
1200 | engines: {node: '>=0.10.0'}
1201 |
1202 | isobject@3.0.1:
1203 | resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==}
1204 | engines: {node: '>=0.10.0'}
1205 |
1206 | istanbul-lib-coverage@3.2.2:
1207 | resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==}
1208 | engines: {node: '>=8'}
1209 |
1210 | istanbul-lib-instrument@5.2.1:
1211 | resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==}
1212 | engines: {node: '>=8'}
1213 |
1214 | istanbul-lib-instrument@6.0.3:
1215 | resolution: {integrity: sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==}
1216 | engines: {node: '>=10'}
1217 |
1218 | istanbul-lib-report@3.0.1:
1219 | resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==}
1220 | engines: {node: '>=10'}
1221 |
1222 | istanbul-lib-source-maps@4.0.1:
1223 | resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==}
1224 | engines: {node: '>=10'}
1225 |
1226 | istanbul-reports@3.1.7:
1227 | resolution: {integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==}
1228 | engines: {node: '>=8'}
1229 |
1230 | jest-changed-files@29.7.0:
1231 | resolution: {integrity: sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==}
1232 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
1233 |
1234 | jest-circus@29.7.0:
1235 | resolution: {integrity: sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==}
1236 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
1237 |
1238 | jest-cli@29.7.0:
1239 | resolution: {integrity: sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==}
1240 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
1241 | hasBin: true
1242 | peerDependencies:
1243 | node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
1244 | peerDependenciesMeta:
1245 | node-notifier:
1246 | optional: true
1247 |
1248 | jest-config@29.7.0:
1249 | resolution: {integrity: sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==}
1250 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
1251 | peerDependencies:
1252 | '@types/node': '*'
1253 | ts-node: '>=9.0.0'
1254 | peerDependenciesMeta:
1255 | '@types/node':
1256 | optional: true
1257 | ts-node:
1258 | optional: true
1259 |
1260 | jest-diff@29.7.0:
1261 | resolution: {integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==}
1262 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
1263 |
1264 | jest-docblock@29.7.0:
1265 | resolution: {integrity: sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==}
1266 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
1267 |
1268 | jest-each@29.7.0:
1269 | resolution: {integrity: sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==}
1270 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
1271 |
1272 | jest-environment-node@29.7.0:
1273 | resolution: {integrity: sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==}
1274 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
1275 |
1276 | jest-get-type@29.6.3:
1277 | resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==}
1278 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
1279 |
1280 | jest-haste-map@26.6.2:
1281 | resolution: {integrity: sha512-easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w==}
1282 | engines: {node: '>= 10.14.2'}
1283 |
1284 | jest-haste-map@29.7.0:
1285 | resolution: {integrity: sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==}
1286 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
1287 |
1288 | jest-leak-detector@29.7.0:
1289 | resolution: {integrity: sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==}
1290 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
1291 |
1292 | jest-matcher-utils@29.7.0:
1293 | resolution: {integrity: sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==}
1294 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
1295 |
1296 | jest-message-util@29.7.0:
1297 | resolution: {integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==}
1298 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
1299 |
1300 | jest-mock@29.7.0:
1301 | resolution: {integrity: sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==}
1302 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
1303 |
1304 | jest-pnp-resolver@1.2.3:
1305 | resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==}
1306 | engines: {node: '>=6'}
1307 | peerDependencies:
1308 | jest-resolve: '*'
1309 | peerDependenciesMeta:
1310 | jest-resolve:
1311 | optional: true
1312 |
1313 | jest-regex-util@26.0.0:
1314 | resolution: {integrity: sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A==}
1315 | engines: {node: '>= 10.14.2'}
1316 |
1317 | jest-regex-util@29.6.3:
1318 | resolution: {integrity: sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==}
1319 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
1320 |
1321 | jest-resolve-dependencies@29.7.0:
1322 | resolution: {integrity: sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==}
1323 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
1324 |
1325 | jest-resolve@29.7.0:
1326 | resolution: {integrity: sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==}
1327 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
1328 |
1329 | jest-runner@29.7.0:
1330 | resolution: {integrity: sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==}
1331 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
1332 |
1333 | jest-runtime@29.7.0:
1334 | resolution: {integrity: sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==}
1335 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
1336 |
1337 | jest-serializer@26.6.2:
1338 | resolution: {integrity: sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g==}
1339 | engines: {node: '>= 10.14.2'}
1340 |
1341 | jest-snapshot@29.7.0:
1342 | resolution: {integrity: sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==}
1343 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
1344 |
1345 | jest-util@26.6.2:
1346 | resolution: {integrity: sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q==}
1347 | engines: {node: '>= 10.14.2'}
1348 |
1349 | jest-util@29.7.0:
1350 | resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==}
1351 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
1352 |
1353 | jest-validate@29.7.0:
1354 | resolution: {integrity: sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==}
1355 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
1356 |
1357 | jest-watcher@29.7.0:
1358 | resolution: {integrity: sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==}
1359 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
1360 |
1361 | jest-worker@26.6.2:
1362 | resolution: {integrity: sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==}
1363 | engines: {node: '>= 10.13.0'}
1364 |
1365 | jest-worker@29.7.0:
1366 | resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==}
1367 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
1368 |
1369 | jest@29.7.0:
1370 | resolution: {integrity: sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==}
1371 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
1372 | hasBin: true
1373 | peerDependencies:
1374 | node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
1375 | peerDependenciesMeta:
1376 | node-notifier:
1377 | optional: true
1378 |
1379 | js-tokens@4.0.0:
1380 | resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
1381 |
1382 | js-yaml@3.14.1:
1383 | resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==}
1384 | hasBin: true
1385 |
1386 | jsesc@3.1.0:
1387 | resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==}
1388 | engines: {node: '>=6'}
1389 | hasBin: true
1390 |
1391 | json-parse-even-better-errors@2.3.1:
1392 | resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==}
1393 |
1394 | json-schema-traverse@1.0.0:
1395 | resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==}
1396 |
1397 | json5@2.2.3:
1398 | resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==}
1399 | engines: {node: '>=6'}
1400 | hasBin: true
1401 |
1402 | kind-of@3.2.2:
1403 | resolution: {integrity: sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==}
1404 | engines: {node: '>=0.10.0'}
1405 |
1406 | kind-of@4.0.0:
1407 | resolution: {integrity: sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==}
1408 | engines: {node: '>=0.10.0'}
1409 |
1410 | kind-of@6.0.3:
1411 | resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==}
1412 | engines: {node: '>=0.10.0'}
1413 |
1414 | kleur@3.0.3:
1415 | resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==}
1416 | engines: {node: '>=6'}
1417 |
1418 | leven@3.1.0:
1419 | resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==}
1420 | engines: {node: '>=6'}
1421 |
1422 | lines-and-columns@1.2.4:
1423 | resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
1424 |
1425 | locate-path@5.0.0:
1426 | resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==}
1427 | engines: {node: '>=8'}
1428 |
1429 | lru-cache@5.1.1:
1430 | resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==}
1431 |
1432 | make-dir@4.0.0:
1433 | resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==}
1434 | engines: {node: '>=10'}
1435 |
1436 | make-error@1.3.6:
1437 | resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==}
1438 |
1439 | makeerror@1.0.12:
1440 | resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==}
1441 |
1442 | map-cache@0.2.2:
1443 | resolution: {integrity: sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==}
1444 | engines: {node: '>=0.10.0'}
1445 |
1446 | map-visit@1.0.0:
1447 | resolution: {integrity: sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==}
1448 | engines: {node: '>=0.10.0'}
1449 |
1450 | merge-stream@2.0.0:
1451 | resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==}
1452 |
1453 | micromatch@3.1.10:
1454 | resolution: {integrity: sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==}
1455 | engines: {node: '>=0.10.0'}
1456 |
1457 | micromatch@4.0.8:
1458 | resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==}
1459 | engines: {node: '>=8.6'}
1460 |
1461 | mime-db@1.33.0:
1462 | resolution: {integrity: sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==}
1463 | engines: {node: '>= 0.6'}
1464 |
1465 | mime-db@1.52.0:
1466 | resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==}
1467 | engines: {node: '>= 0.6'}
1468 |
1469 | mime-db@1.53.0:
1470 | resolution: {integrity: sha512-oHlN/w+3MQ3rba9rqFr6V/ypF10LSkdwUysQL7GkXoTgIWeV+tcXGA852TBxH+gsh8UWoyhR1hKcoMJTuWflpg==}
1471 | engines: {node: '>= 0.6'}
1472 |
1473 | mime-types@2.1.18:
1474 | resolution: {integrity: sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==}
1475 | engines: {node: '>= 0.6'}
1476 |
1477 | mime-types@2.1.35:
1478 | resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==}
1479 | engines: {node: '>= 0.6'}
1480 |
1481 | mimic-fn@2.1.0:
1482 | resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==}
1483 | engines: {node: '>=6'}
1484 |
1485 | minimatch@3.1.2:
1486 | resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
1487 |
1488 | minimist@1.2.8:
1489 | resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
1490 |
1491 | mixin-deep@1.3.2:
1492 | resolution: {integrity: sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==}
1493 | engines: {node: '>=0.10.0'}
1494 |
1495 | ms@2.0.0:
1496 | resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==}
1497 |
1498 | ms@2.1.3:
1499 | resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
1500 |
1501 | nanomatch@1.2.13:
1502 | resolution: {integrity: sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==}
1503 | engines: {node: '>=0.10.0'}
1504 |
1505 | natural-compare@1.4.0:
1506 | resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
1507 |
1508 | negotiator@0.6.3:
1509 | resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==}
1510 | engines: {node: '>= 0.6'}
1511 |
1512 | nice-try@1.0.5:
1513 | resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==}
1514 |
1515 | node-int64@0.4.0:
1516 | resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==}
1517 |
1518 | node-releases@2.0.19:
1519 | resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==}
1520 |
1521 | normalize-path@2.1.1:
1522 | resolution: {integrity: sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==}
1523 | engines: {node: '>=0.10.0'}
1524 |
1525 | normalize-path@3.0.0:
1526 | resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
1527 | engines: {node: '>=0.10.0'}
1528 |
1529 | npm-run-path@2.0.2:
1530 | resolution: {integrity: sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==}
1531 | engines: {node: '>=4'}
1532 |
1533 | npm-run-path@4.0.1:
1534 | resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==}
1535 | engines: {node: '>=8'}
1536 |
1537 | object-copy@0.1.0:
1538 | resolution: {integrity: sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==}
1539 | engines: {node: '>=0.10.0'}
1540 |
1541 | object-visit@1.0.1:
1542 | resolution: {integrity: sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==}
1543 | engines: {node: '>=0.10.0'}
1544 |
1545 | object.pick@1.3.0:
1546 | resolution: {integrity: sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==}
1547 | engines: {node: '>=0.10.0'}
1548 |
1549 | on-headers@1.0.2:
1550 | resolution: {integrity: sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==}
1551 | engines: {node: '>= 0.8'}
1552 |
1553 | once@1.4.0:
1554 | resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
1555 |
1556 | onetime@5.1.2:
1557 | resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==}
1558 | engines: {node: '>=6'}
1559 |
1560 | p-finally@1.0.0:
1561 | resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==}
1562 | engines: {node: '>=4'}
1563 |
1564 | p-limit@2.3.0:
1565 | resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==}
1566 | engines: {node: '>=6'}
1567 |
1568 | p-limit@3.1.0:
1569 | resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==}
1570 | engines: {node: '>=10'}
1571 |
1572 | p-locate@4.1.0:
1573 | resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==}
1574 | engines: {node: '>=8'}
1575 |
1576 | p-try@2.2.0:
1577 | resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==}
1578 | engines: {node: '>=6'}
1579 |
1580 | parse-json@5.2.0:
1581 | resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==}
1582 | engines: {node: '>=8'}
1583 |
1584 | pascalcase@0.1.1:
1585 | resolution: {integrity: sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==}
1586 | engines: {node: '>=0.10.0'}
1587 |
1588 | path-exists@4.0.0:
1589 | resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
1590 | engines: {node: '>=8'}
1591 |
1592 | path-is-absolute@1.0.1:
1593 | resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
1594 | engines: {node: '>=0.10.0'}
1595 |
1596 | path-is-inside@1.0.2:
1597 | resolution: {integrity: sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==}
1598 |
1599 | path-key@2.0.1:
1600 | resolution: {integrity: sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==}
1601 | engines: {node: '>=4'}
1602 |
1603 | path-key@3.1.1:
1604 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
1605 | engines: {node: '>=8'}
1606 |
1607 | path-parse@1.0.7:
1608 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
1609 |
1610 | path-to-regexp@3.3.0:
1611 | resolution: {integrity: sha512-qyCH421YQPS2WFDxDjftfc1ZR5WKQzVzqsp4n9M2kQhVOo/ByahFoUNJfl58kOcEGfQ//7weFTDhm+ss8Ecxgw==}
1612 |
1613 | picocolors@1.1.1:
1614 | resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==}
1615 |
1616 | picomatch@2.3.1:
1617 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
1618 | engines: {node: '>=8.6'}
1619 |
1620 | pirates@4.0.6:
1621 | resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==}
1622 | engines: {node: '>= 6'}
1623 |
1624 | pkg-dir@4.2.0:
1625 | resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==}
1626 | engines: {node: '>=8'}
1627 |
1628 | posix-character-classes@0.1.1:
1629 | resolution: {integrity: sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==}
1630 | engines: {node: '>=0.10.0'}
1631 |
1632 | pretty-format@29.7.0:
1633 | resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==}
1634 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
1635 |
1636 | prompts@2.4.2:
1637 | resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==}
1638 | engines: {node: '>= 6'}
1639 |
1640 | pump@3.0.2:
1641 | resolution: {integrity: sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==}
1642 |
1643 | punycode@2.3.1:
1644 | resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
1645 | engines: {node: '>=6'}
1646 |
1647 | pure-rand@6.1.0:
1648 | resolution: {integrity: sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==}
1649 |
1650 | range-parser@1.2.0:
1651 | resolution: {integrity: sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A==}
1652 | engines: {node: '>= 0.6'}
1653 |
1654 | rc@1.2.8:
1655 | resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==}
1656 | hasBin: true
1657 |
1658 | react-is@18.3.1:
1659 | resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==}
1660 |
1661 | regex-not@1.0.2:
1662 | resolution: {integrity: sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==}
1663 | engines: {node: '>=0.10.0'}
1664 |
1665 | registry-auth-token@3.3.2:
1666 | resolution: {integrity: sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==}
1667 |
1668 | registry-url@3.1.0:
1669 | resolution: {integrity: sha512-ZbgR5aZEdf4UKZVBPYIgaglBmSF2Hi94s2PcIHhRGFjKYu+chjJdYfHn4rt3hB6eCKLJ8giVIIfgMa1ehDfZKA==}
1670 | engines: {node: '>=0.10.0'}
1671 |
1672 | remove-trailing-separator@1.1.0:
1673 | resolution: {integrity: sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==}
1674 |
1675 | repeat-element@1.1.4:
1676 | resolution: {integrity: sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==}
1677 | engines: {node: '>=0.10.0'}
1678 |
1679 | repeat-string@1.6.1:
1680 | resolution: {integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==}
1681 | engines: {node: '>=0.10'}
1682 |
1683 | require-directory@2.1.1:
1684 | resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==}
1685 | engines: {node: '>=0.10.0'}
1686 |
1687 | require-from-string@2.0.2:
1688 | resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==}
1689 | engines: {node: '>=0.10.0'}
1690 |
1691 | resolve-cwd@3.0.0:
1692 | resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==}
1693 | engines: {node: '>=8'}
1694 |
1695 | resolve-from@5.0.0:
1696 | resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==}
1697 | engines: {node: '>=8'}
1698 |
1699 | resolve-url@0.2.1:
1700 | resolution: {integrity: sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==}
1701 | deprecated: https://github.com/lydell/resolve-url#deprecated
1702 |
1703 | resolve.exports@2.0.3:
1704 | resolution: {integrity: sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A==}
1705 | engines: {node: '>=10'}
1706 |
1707 | resolve@1.22.10:
1708 | resolution: {integrity: sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==}
1709 | engines: {node: '>= 0.4'}
1710 | hasBin: true
1711 |
1712 | ret@0.1.15:
1713 | resolution: {integrity: sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==}
1714 | engines: {node: '>=0.12'}
1715 |
1716 | rsvp@4.8.5:
1717 | resolution: {integrity: sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==}
1718 | engines: {node: 6.* || >= 7.*}
1719 |
1720 | safe-buffer@5.1.2:
1721 | resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==}
1722 |
1723 | safe-buffer@5.2.1:
1724 | resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==}
1725 |
1726 | safe-regex@1.1.0:
1727 | resolution: {integrity: sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==}
1728 |
1729 | sane@4.1.0:
1730 | resolution: {integrity: sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==}
1731 | engines: {node: 6.* || 8.* || >= 10.*}
1732 | deprecated: some dependency vulnerabilities fixed, support for node < 10 dropped, and newer ECMAScript syntax/features added
1733 | hasBin: true
1734 |
1735 | semver@5.7.2:
1736 | resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==}
1737 | hasBin: true
1738 |
1739 | semver@6.3.1:
1740 | resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==}
1741 | hasBin: true
1742 |
1743 | semver@7.7.0:
1744 | resolution: {integrity: sha512-DrfFnPzblFmNrIZzg5RzHegbiRWg7KMR7btwi2yjHwx06zsUbO5g613sVwEV7FTwmzJu+Io0lJe2GJ3LxqpvBQ==}
1745 | engines: {node: '>=10'}
1746 | hasBin: true
1747 |
1748 | serve-handler@6.1.6:
1749 | resolution: {integrity: sha512-x5RL9Y2p5+Sh3D38Fh9i/iQ5ZK+e4xuXRd/pGbM4D13tgo/MGwbttUk8emytcr1YYzBYs+apnUngBDFYfpjPuQ==}
1750 |
1751 | serve@14.2.4:
1752 | resolution: {integrity: sha512-qy1S34PJ/fcY8gjVGszDB3EXiPSk5FKhUa7tQe0UPRddxRidc2V6cNHPNewbE1D7MAkgLuWEt3Vw56vYy73tzQ==}
1753 | engines: {node: '>= 14'}
1754 | hasBin: true
1755 |
1756 | set-value@2.0.1:
1757 | resolution: {integrity: sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==}
1758 | engines: {node: '>=0.10.0'}
1759 |
1760 | shebang-command@1.2.0:
1761 | resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==}
1762 | engines: {node: '>=0.10.0'}
1763 |
1764 | shebang-command@2.0.0:
1765 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
1766 | engines: {node: '>=8'}
1767 |
1768 | shebang-regex@1.0.0:
1769 | resolution: {integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==}
1770 | engines: {node: '>=0.10.0'}
1771 |
1772 | shebang-regex@3.0.0:
1773 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
1774 | engines: {node: '>=8'}
1775 |
1776 | signal-exit@3.0.7:
1777 | resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==}
1778 |
1779 | sisteransi@1.0.5:
1780 | resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==}
1781 |
1782 | slash@3.0.0:
1783 | resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
1784 | engines: {node: '>=8'}
1785 |
1786 | snapdragon-node@2.1.1:
1787 | resolution: {integrity: sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==}
1788 | engines: {node: '>=0.10.0'}
1789 |
1790 | snapdragon-util@3.0.1:
1791 | resolution: {integrity: sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==}
1792 | engines: {node: '>=0.10.0'}
1793 |
1794 | snapdragon@0.8.2:
1795 | resolution: {integrity: sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==}
1796 | engines: {node: '>=0.10.0'}
1797 |
1798 | source-map-resolve@0.5.3:
1799 | resolution: {integrity: sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==}
1800 | deprecated: See https://github.com/lydell/source-map-resolve#deprecated
1801 |
1802 | source-map-support@0.5.13:
1803 | resolution: {integrity: sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==}
1804 |
1805 | source-map-url@0.4.1:
1806 | resolution: {integrity: sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==}
1807 | deprecated: See https://github.com/lydell/source-map-url#deprecated
1808 |
1809 | source-map@0.5.7:
1810 | resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==}
1811 | engines: {node: '>=0.10.0'}
1812 |
1813 | source-map@0.6.1:
1814 | resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
1815 | engines: {node: '>=0.10.0'}
1816 |
1817 | split-string@3.1.0:
1818 | resolution: {integrity: sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==}
1819 | engines: {node: '>=0.10.0'}
1820 |
1821 | sprintf-js@1.0.3:
1822 | resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==}
1823 |
1824 | stack-utils@2.0.6:
1825 | resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==}
1826 | engines: {node: '>=10'}
1827 |
1828 | static-extend@0.1.2:
1829 | resolution: {integrity: sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==}
1830 | engines: {node: '>=0.10.0'}
1831 |
1832 | string-length@4.0.2:
1833 | resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==}
1834 | engines: {node: '>=10'}
1835 |
1836 | string-width@4.2.3:
1837 | resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
1838 | engines: {node: '>=8'}
1839 |
1840 | string-width@5.1.2:
1841 | resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==}
1842 | engines: {node: '>=12'}
1843 |
1844 | strip-ansi@6.0.1:
1845 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
1846 | engines: {node: '>=8'}
1847 |
1848 | strip-ansi@7.1.0:
1849 | resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==}
1850 | engines: {node: '>=12'}
1851 |
1852 | strip-bom@4.0.0:
1853 | resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==}
1854 | engines: {node: '>=8'}
1855 |
1856 | strip-eof@1.0.0:
1857 | resolution: {integrity: sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==}
1858 | engines: {node: '>=0.10.0'}
1859 |
1860 | strip-final-newline@2.0.0:
1861 | resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==}
1862 | engines: {node: '>=6'}
1863 |
1864 | strip-json-comments@2.0.1:
1865 | resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==}
1866 | engines: {node: '>=0.10.0'}
1867 |
1868 | strip-json-comments@3.1.1:
1869 | resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
1870 | engines: {node: '>=8'}
1871 |
1872 | supports-color@7.2.0:
1873 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
1874 | engines: {node: '>=8'}
1875 |
1876 | supports-color@8.1.1:
1877 | resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==}
1878 | engines: {node: '>=10'}
1879 |
1880 | supports-preserve-symlinks-flag@1.0.0:
1881 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
1882 | engines: {node: '>= 0.4'}
1883 |
1884 | test-exclude@6.0.0:
1885 | resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==}
1886 | engines: {node: '>=8'}
1887 |
1888 | tmpl@1.0.5:
1889 | resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==}
1890 |
1891 | to-object-path@0.3.0:
1892 | resolution: {integrity: sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==}
1893 | engines: {node: '>=0.10.0'}
1894 |
1895 | to-regex-range@2.1.1:
1896 | resolution: {integrity: sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==}
1897 | engines: {node: '>=0.10.0'}
1898 |
1899 | to-regex-range@5.0.1:
1900 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
1901 | engines: {node: '>=8.0'}
1902 |
1903 | to-regex@3.0.2:
1904 | resolution: {integrity: sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==}
1905 | engines: {node: '>=0.10.0'}
1906 |
1907 | ts-node@10.9.2:
1908 | resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==}
1909 | hasBin: true
1910 | peerDependencies:
1911 | '@swc/core': '>=1.2.50'
1912 | '@swc/wasm': '>=1.2.50'
1913 | '@types/node': '*'
1914 | typescript: '>=2.7'
1915 | peerDependenciesMeta:
1916 | '@swc/core':
1917 | optional: true
1918 | '@swc/wasm':
1919 | optional: true
1920 |
1921 | type-detect@4.0.8:
1922 | resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==}
1923 | engines: {node: '>=4'}
1924 |
1925 | type-fest@0.21.3:
1926 | resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==}
1927 | engines: {node: '>=10'}
1928 |
1929 | type-fest@2.19.0:
1930 | resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==}
1931 | engines: {node: '>=12.20'}
1932 |
1933 | typedarray-to-buffer@3.1.5:
1934 | resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==}
1935 |
1936 | typescript@5.7.3:
1937 | resolution: {integrity: sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==}
1938 | engines: {node: '>=14.17'}
1939 | hasBin: true
1940 |
1941 | undici-types@6.20.0:
1942 | resolution: {integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==}
1943 |
1944 | union-value@1.0.1:
1945 | resolution: {integrity: sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==}
1946 | engines: {node: '>=0.10.0'}
1947 |
1948 | unset-value@1.0.0:
1949 | resolution: {integrity: sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==}
1950 | engines: {node: '>=0.10.0'}
1951 |
1952 | update-browserslist-db@1.1.2:
1953 | resolution: {integrity: sha512-PPypAm5qvlD7XMZC3BujecnaOxwhrtoFR+Dqkk5Aa/6DssiH0ibKoketaj9w8LP7Bont1rYeoV5plxD7RTEPRg==}
1954 | hasBin: true
1955 | peerDependencies:
1956 | browserslist: '>= 4.21.0'
1957 |
1958 | update-check@1.5.4:
1959 | resolution: {integrity: sha512-5YHsflzHP4t1G+8WGPlvKbJEbAJGCgw+Em+dGR1KmBUbr1J36SJBqlHLjR7oob7sco5hWHGQVcr9B2poIVDDTQ==}
1960 |
1961 | uri-js@4.4.1:
1962 | resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
1963 |
1964 | urix@0.1.0:
1965 | resolution: {integrity: sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==}
1966 | deprecated: Please see https://github.com/lydell/urix#deprecated
1967 |
1968 | use@3.1.1:
1969 | resolution: {integrity: sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==}
1970 | engines: {node: '>=0.10.0'}
1971 |
1972 | v8-compile-cache-lib@3.0.1:
1973 | resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==}
1974 |
1975 | v8-to-istanbul@9.3.0:
1976 | resolution: {integrity: sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==}
1977 | engines: {node: '>=10.12.0'}
1978 |
1979 | vary@1.1.2:
1980 | resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==}
1981 | engines: {node: '>= 0.8'}
1982 |
1983 | walker@1.0.8:
1984 | resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==}
1985 |
1986 | which@1.3.1:
1987 | resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==}
1988 | hasBin: true
1989 |
1990 | which@2.0.2:
1991 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
1992 | engines: {node: '>= 8'}
1993 | hasBin: true
1994 |
1995 | widest-line@4.0.1:
1996 | resolution: {integrity: sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==}
1997 | engines: {node: '>=12'}
1998 |
1999 | wrap-ansi@7.0.0:
2000 | resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==}
2001 | engines: {node: '>=10'}
2002 |
2003 | wrap-ansi@8.1.0:
2004 | resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==}
2005 | engines: {node: '>=12'}
2006 |
2007 | wrappy@1.0.2:
2008 | resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
2009 |
2010 | write-file-atomic@3.0.3:
2011 | resolution: {integrity: sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==}
2012 |
2013 | write-file-atomic@4.0.2:
2014 | resolution: {integrity: sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==}
2015 | engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
2016 |
2017 | y18n@5.0.8:
2018 | resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==}
2019 | engines: {node: '>=10'}
2020 |
2021 | yallist@3.1.1:
2022 | resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==}
2023 |
2024 | yargs-parser@21.1.1:
2025 | resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==}
2026 | engines: {node: '>=12'}
2027 |
2028 | yargs@17.7.2:
2029 | resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==}
2030 | engines: {node: '>=12'}
2031 |
2032 | yn@3.1.1:
2033 | resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==}
2034 | engines: {node: '>=6'}
2035 |
2036 | yocto-queue@0.1.0:
2037 | resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
2038 | engines: {node: '>=10'}
2039 |
2040 | snapshots:
2041 |
2042 | '@ampproject/remapping@2.3.0':
2043 | dependencies:
2044 | '@jridgewell/gen-mapping': 0.3.8
2045 | '@jridgewell/trace-mapping': 0.3.25
2046 |
2047 | '@babel/code-frame@7.26.2':
2048 | dependencies:
2049 | '@babel/helper-validator-identifier': 7.25.9
2050 | js-tokens: 4.0.0
2051 | picocolors: 1.1.1
2052 |
2053 | '@babel/compat-data@7.26.5': {}
2054 |
2055 | '@babel/core@7.26.7':
2056 | dependencies:
2057 | '@ampproject/remapping': 2.3.0
2058 | '@babel/code-frame': 7.26.2
2059 | '@babel/generator': 7.26.5
2060 | '@babel/helper-compilation-targets': 7.26.5
2061 | '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.7)
2062 | '@babel/helpers': 7.26.7
2063 | '@babel/parser': 7.26.7
2064 | '@babel/template': 7.25.9
2065 | '@babel/traverse': 7.26.7
2066 | '@babel/types': 7.26.7
2067 | convert-source-map: 2.0.0
2068 | debug: 4.4.0
2069 | gensync: 1.0.0-beta.2
2070 | json5: 2.2.3
2071 | semver: 6.3.1
2072 | transitivePeerDependencies:
2073 | - supports-color
2074 |
2075 | '@babel/generator@7.26.5':
2076 | dependencies:
2077 | '@babel/parser': 7.26.7
2078 | '@babel/types': 7.26.7
2079 | '@jridgewell/gen-mapping': 0.3.8
2080 | '@jridgewell/trace-mapping': 0.3.25
2081 | jsesc: 3.1.0
2082 |
2083 | '@babel/helper-compilation-targets@7.26.5':
2084 | dependencies:
2085 | '@babel/compat-data': 7.26.5
2086 | '@babel/helper-validator-option': 7.25.9
2087 | browserslist: 4.24.4
2088 | lru-cache: 5.1.1
2089 | semver: 6.3.1
2090 |
2091 | '@babel/helper-module-imports@7.25.9':
2092 | dependencies:
2093 | '@babel/traverse': 7.26.7
2094 | '@babel/types': 7.26.7
2095 | transitivePeerDependencies:
2096 | - supports-color
2097 |
2098 | '@babel/helper-module-transforms@7.26.0(@babel/core@7.26.7)':
2099 | dependencies:
2100 | '@babel/core': 7.26.7
2101 | '@babel/helper-module-imports': 7.25.9
2102 | '@babel/helper-validator-identifier': 7.25.9
2103 | '@babel/traverse': 7.26.7
2104 | transitivePeerDependencies:
2105 | - supports-color
2106 |
2107 | '@babel/helper-plugin-utils@7.26.5': {}
2108 |
2109 | '@babel/helper-string-parser@7.25.9': {}
2110 |
2111 | '@babel/helper-validator-identifier@7.25.9': {}
2112 |
2113 | '@babel/helper-validator-option@7.25.9': {}
2114 |
2115 | '@babel/helpers@7.26.7':
2116 | dependencies:
2117 | '@babel/template': 7.25.9
2118 | '@babel/types': 7.26.7
2119 |
2120 | '@babel/parser@7.26.7':
2121 | dependencies:
2122 | '@babel/types': 7.26.7
2123 |
2124 | '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.26.7)':
2125 | dependencies:
2126 | '@babel/core': 7.26.7
2127 | '@babel/helper-plugin-utils': 7.26.5
2128 |
2129 | '@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.26.7)':
2130 | dependencies:
2131 | '@babel/core': 7.26.7
2132 | '@babel/helper-plugin-utils': 7.26.5
2133 |
2134 | '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.26.7)':
2135 | dependencies:
2136 | '@babel/core': 7.26.7
2137 | '@babel/helper-plugin-utils': 7.26.5
2138 |
2139 | '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.26.7)':
2140 | dependencies:
2141 | '@babel/core': 7.26.7
2142 | '@babel/helper-plugin-utils': 7.26.5
2143 |
2144 | '@babel/plugin-syntax-import-attributes@7.26.0(@babel/core@7.26.7)':
2145 | dependencies:
2146 | '@babel/core': 7.26.7
2147 | '@babel/helper-plugin-utils': 7.26.5
2148 |
2149 | '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.26.7)':
2150 | dependencies:
2151 | '@babel/core': 7.26.7
2152 | '@babel/helper-plugin-utils': 7.26.5
2153 |
2154 | '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.26.7)':
2155 | dependencies:
2156 | '@babel/core': 7.26.7
2157 | '@babel/helper-plugin-utils': 7.26.5
2158 |
2159 | '@babel/plugin-syntax-jsx@7.25.9(@babel/core@7.26.7)':
2160 | dependencies:
2161 | '@babel/core': 7.26.7
2162 | '@babel/helper-plugin-utils': 7.26.5
2163 |
2164 | '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.26.7)':
2165 | dependencies:
2166 | '@babel/core': 7.26.7
2167 | '@babel/helper-plugin-utils': 7.26.5
2168 |
2169 | '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.26.7)':
2170 | dependencies:
2171 | '@babel/core': 7.26.7
2172 | '@babel/helper-plugin-utils': 7.26.5
2173 |
2174 | '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.26.7)':
2175 | dependencies:
2176 | '@babel/core': 7.26.7
2177 | '@babel/helper-plugin-utils': 7.26.5
2178 |
2179 | '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.26.7)':
2180 | dependencies:
2181 | '@babel/core': 7.26.7
2182 | '@babel/helper-plugin-utils': 7.26.5
2183 |
2184 | '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.26.7)':
2185 | dependencies:
2186 | '@babel/core': 7.26.7
2187 | '@babel/helper-plugin-utils': 7.26.5
2188 |
2189 | '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.26.7)':
2190 | dependencies:
2191 | '@babel/core': 7.26.7
2192 | '@babel/helper-plugin-utils': 7.26.5
2193 |
2194 | '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.26.7)':
2195 | dependencies:
2196 | '@babel/core': 7.26.7
2197 | '@babel/helper-plugin-utils': 7.26.5
2198 |
2199 | '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.26.7)':
2200 | dependencies:
2201 | '@babel/core': 7.26.7
2202 | '@babel/helper-plugin-utils': 7.26.5
2203 |
2204 | '@babel/plugin-syntax-typescript@7.25.9(@babel/core@7.26.7)':
2205 | dependencies:
2206 | '@babel/core': 7.26.7
2207 | '@babel/helper-plugin-utils': 7.26.5
2208 |
2209 | '@babel/plugin-transform-modules-commonjs@7.26.3(@babel/core@7.26.7)':
2210 | dependencies:
2211 | '@babel/core': 7.26.7
2212 | '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.7)
2213 | '@babel/helper-plugin-utils': 7.26.5
2214 | transitivePeerDependencies:
2215 | - supports-color
2216 |
2217 | '@babel/template@7.25.9':
2218 | dependencies:
2219 | '@babel/code-frame': 7.26.2
2220 | '@babel/parser': 7.26.7
2221 | '@babel/types': 7.26.7
2222 |
2223 | '@babel/traverse@7.26.7':
2224 | dependencies:
2225 | '@babel/code-frame': 7.26.2
2226 | '@babel/generator': 7.26.5
2227 | '@babel/parser': 7.26.7
2228 | '@babel/template': 7.25.9
2229 | '@babel/types': 7.26.7
2230 | debug: 4.4.0
2231 | globals: 11.12.0
2232 | transitivePeerDependencies:
2233 | - supports-color
2234 |
2235 | '@babel/types@7.26.7':
2236 | dependencies:
2237 | '@babel/helper-string-parser': 7.25.9
2238 | '@babel/helper-validator-identifier': 7.25.9
2239 |
2240 | '@bcoe/v8-coverage@0.2.3': {}
2241 |
2242 | '@cnakazawa/watch@1.0.4':
2243 | dependencies:
2244 | exec-sh: 0.3.6
2245 | minimist: 1.2.8
2246 |
2247 | '@cspotcode/source-map-support@0.8.1':
2248 | dependencies:
2249 | '@jridgewell/trace-mapping': 0.3.9
2250 |
2251 | '@esbuild/aix-ppc64@0.25.0':
2252 | optional: true
2253 |
2254 | '@esbuild/android-arm64@0.25.0':
2255 | optional: true
2256 |
2257 | '@esbuild/android-arm@0.25.0':
2258 | optional: true
2259 |
2260 | '@esbuild/android-x64@0.25.0':
2261 | optional: true
2262 |
2263 | '@esbuild/darwin-arm64@0.25.0':
2264 | optional: true
2265 |
2266 | '@esbuild/darwin-x64@0.25.0':
2267 | optional: true
2268 |
2269 | '@esbuild/freebsd-arm64@0.25.0':
2270 | optional: true
2271 |
2272 | '@esbuild/freebsd-x64@0.25.0':
2273 | optional: true
2274 |
2275 | '@esbuild/linux-arm64@0.25.0':
2276 | optional: true
2277 |
2278 | '@esbuild/linux-arm@0.25.0':
2279 | optional: true
2280 |
2281 | '@esbuild/linux-ia32@0.25.0':
2282 | optional: true
2283 |
2284 | '@esbuild/linux-loong64@0.25.0':
2285 | optional: true
2286 |
2287 | '@esbuild/linux-mips64el@0.25.0':
2288 | optional: true
2289 |
2290 | '@esbuild/linux-ppc64@0.25.0':
2291 | optional: true
2292 |
2293 | '@esbuild/linux-riscv64@0.25.0':
2294 | optional: true
2295 |
2296 | '@esbuild/linux-s390x@0.25.0':
2297 | optional: true
2298 |
2299 | '@esbuild/linux-x64@0.25.0':
2300 | optional: true
2301 |
2302 | '@esbuild/netbsd-arm64@0.25.0':
2303 | optional: true
2304 |
2305 | '@esbuild/netbsd-x64@0.25.0':
2306 | optional: true
2307 |
2308 | '@esbuild/openbsd-arm64@0.25.0':
2309 | optional: true
2310 |
2311 | '@esbuild/openbsd-x64@0.25.0':
2312 | optional: true
2313 |
2314 | '@esbuild/sunos-x64@0.25.0':
2315 | optional: true
2316 |
2317 | '@esbuild/win32-arm64@0.25.0':
2318 | optional: true
2319 |
2320 | '@esbuild/win32-ia32@0.25.0':
2321 | optional: true
2322 |
2323 | '@esbuild/win32-x64@0.25.0':
2324 | optional: true
2325 |
2326 | '@istanbuljs/load-nyc-config@1.1.0':
2327 | dependencies:
2328 | camelcase: 5.3.1
2329 | find-up: 4.1.0
2330 | get-package-type: 0.1.0
2331 | js-yaml: 3.14.1
2332 | resolve-from: 5.0.0
2333 |
2334 | '@istanbuljs/schema@0.1.3': {}
2335 |
2336 | '@jest/console@29.7.0':
2337 | dependencies:
2338 | '@jest/types': 29.6.3
2339 | '@types/node': 22.13.0
2340 | chalk: 4.1.2
2341 | jest-message-util: 29.7.0
2342 | jest-util: 29.7.0
2343 | slash: 3.0.0
2344 |
2345 | '@jest/core@29.7.0(ts-node@10.9.2(@types/node@22.13.0)(typescript@5.7.3))':
2346 | dependencies:
2347 | '@jest/console': 29.7.0
2348 | '@jest/reporters': 29.7.0
2349 | '@jest/test-result': 29.7.0
2350 | '@jest/transform': 29.7.0
2351 | '@jest/types': 29.6.3
2352 | '@types/node': 22.13.0
2353 | ansi-escapes: 4.3.2
2354 | chalk: 4.1.2
2355 | ci-info: 3.9.0
2356 | exit: 0.1.2
2357 | graceful-fs: 4.2.11
2358 | jest-changed-files: 29.7.0
2359 | jest-config: 29.7.0(@types/node@22.13.0)(ts-node@10.9.2(@types/node@22.13.0)(typescript@5.7.3))
2360 | jest-haste-map: 29.7.0
2361 | jest-message-util: 29.7.0
2362 | jest-regex-util: 29.6.3
2363 | jest-resolve: 29.7.0
2364 | jest-resolve-dependencies: 29.7.0
2365 | jest-runner: 29.7.0
2366 | jest-runtime: 29.7.0
2367 | jest-snapshot: 29.7.0
2368 | jest-util: 29.7.0
2369 | jest-validate: 29.7.0
2370 | jest-watcher: 29.7.0
2371 | micromatch: 4.0.8
2372 | pretty-format: 29.7.0
2373 | slash: 3.0.0
2374 | strip-ansi: 6.0.1
2375 | transitivePeerDependencies:
2376 | - babel-plugin-macros
2377 | - supports-color
2378 | - ts-node
2379 |
2380 | '@jest/environment@29.7.0':
2381 | dependencies:
2382 | '@jest/fake-timers': 29.7.0
2383 | '@jest/types': 29.6.3
2384 | '@types/node': 22.13.0
2385 | jest-mock: 29.7.0
2386 |
2387 | '@jest/expect-utils@29.7.0':
2388 | dependencies:
2389 | jest-get-type: 29.6.3
2390 |
2391 | '@jest/expect@29.7.0':
2392 | dependencies:
2393 | expect: 29.7.0
2394 | jest-snapshot: 29.7.0
2395 | transitivePeerDependencies:
2396 | - supports-color
2397 |
2398 | '@jest/fake-timers@29.7.0':
2399 | dependencies:
2400 | '@jest/types': 29.6.3
2401 | '@sinonjs/fake-timers': 10.3.0
2402 | '@types/node': 22.13.0
2403 | jest-message-util: 29.7.0
2404 | jest-mock: 29.7.0
2405 | jest-util: 29.7.0
2406 |
2407 | '@jest/globals@29.7.0':
2408 | dependencies:
2409 | '@jest/environment': 29.7.0
2410 | '@jest/expect': 29.7.0
2411 | '@jest/types': 29.6.3
2412 | jest-mock: 29.7.0
2413 | transitivePeerDependencies:
2414 | - supports-color
2415 |
2416 | '@jest/reporters@29.7.0':
2417 | dependencies:
2418 | '@bcoe/v8-coverage': 0.2.3
2419 | '@jest/console': 29.7.0
2420 | '@jest/test-result': 29.7.0
2421 | '@jest/transform': 29.7.0
2422 | '@jest/types': 29.6.3
2423 | '@jridgewell/trace-mapping': 0.3.25
2424 | '@types/node': 22.13.0
2425 | chalk: 4.1.2
2426 | collect-v8-coverage: 1.0.2
2427 | exit: 0.1.2
2428 | glob: 7.2.3
2429 | graceful-fs: 4.2.11
2430 | istanbul-lib-coverage: 3.2.2
2431 | istanbul-lib-instrument: 6.0.3
2432 | istanbul-lib-report: 3.0.1
2433 | istanbul-lib-source-maps: 4.0.1
2434 | istanbul-reports: 3.1.7
2435 | jest-message-util: 29.7.0
2436 | jest-util: 29.7.0
2437 | jest-worker: 29.7.0
2438 | slash: 3.0.0
2439 | string-length: 4.0.2
2440 | strip-ansi: 6.0.1
2441 | v8-to-istanbul: 9.3.0
2442 | transitivePeerDependencies:
2443 | - supports-color
2444 |
2445 | '@jest/schemas@29.6.3':
2446 | dependencies:
2447 | '@sinclair/typebox': 0.27.8
2448 |
2449 | '@jest/source-map@29.6.3':
2450 | dependencies:
2451 | '@jridgewell/trace-mapping': 0.3.25
2452 | callsites: 3.1.0
2453 | graceful-fs: 4.2.11
2454 |
2455 | '@jest/test-result@29.7.0':
2456 | dependencies:
2457 | '@jest/console': 29.7.0
2458 | '@jest/types': 29.6.3
2459 | '@types/istanbul-lib-coverage': 2.0.6
2460 | collect-v8-coverage: 1.0.2
2461 |
2462 | '@jest/test-sequencer@29.7.0':
2463 | dependencies:
2464 | '@jest/test-result': 29.7.0
2465 | graceful-fs: 4.2.11
2466 | jest-haste-map: 29.7.0
2467 | slash: 3.0.0
2468 |
2469 | '@jest/transform@26.6.2':
2470 | dependencies:
2471 | '@babel/core': 7.26.7
2472 | '@jest/types': 26.6.2
2473 | babel-plugin-istanbul: 6.1.1
2474 | chalk: 4.1.2
2475 | convert-source-map: 1.9.0
2476 | fast-json-stable-stringify: 2.1.0
2477 | graceful-fs: 4.2.11
2478 | jest-haste-map: 26.6.2
2479 | jest-regex-util: 26.0.0
2480 | jest-util: 26.6.2
2481 | micromatch: 4.0.8
2482 | pirates: 4.0.6
2483 | slash: 3.0.0
2484 | source-map: 0.6.1
2485 | write-file-atomic: 3.0.3
2486 | transitivePeerDependencies:
2487 | - supports-color
2488 |
2489 | '@jest/transform@29.7.0':
2490 | dependencies:
2491 | '@babel/core': 7.26.7
2492 | '@jest/types': 29.6.3
2493 | '@jridgewell/trace-mapping': 0.3.25
2494 | babel-plugin-istanbul: 6.1.1
2495 | chalk: 4.1.2
2496 | convert-source-map: 2.0.0
2497 | fast-json-stable-stringify: 2.1.0
2498 | graceful-fs: 4.2.11
2499 | jest-haste-map: 29.7.0
2500 | jest-regex-util: 29.6.3
2501 | jest-util: 29.7.0
2502 | micromatch: 4.0.8
2503 | pirates: 4.0.6
2504 | slash: 3.0.0
2505 | write-file-atomic: 4.0.2
2506 | transitivePeerDependencies:
2507 | - supports-color
2508 |
2509 | '@jest/types@26.6.2':
2510 | dependencies:
2511 | '@types/istanbul-lib-coverage': 2.0.6
2512 | '@types/istanbul-reports': 3.0.4
2513 | '@types/node': 22.13.0
2514 | '@types/yargs': 15.0.19
2515 | chalk: 4.1.2
2516 |
2517 | '@jest/types@29.6.3':
2518 | dependencies:
2519 | '@jest/schemas': 29.6.3
2520 | '@types/istanbul-lib-coverage': 2.0.6
2521 | '@types/istanbul-reports': 3.0.4
2522 | '@types/node': 22.13.0
2523 | '@types/yargs': 17.0.33
2524 | chalk: 4.1.2
2525 |
2526 | '@jridgewell/gen-mapping@0.3.8':
2527 | dependencies:
2528 | '@jridgewell/set-array': 1.2.1
2529 | '@jridgewell/sourcemap-codec': 1.5.0
2530 | '@jridgewell/trace-mapping': 0.3.25
2531 |
2532 | '@jridgewell/resolve-uri@3.1.2': {}
2533 |
2534 | '@jridgewell/set-array@1.2.1': {}
2535 |
2536 | '@jridgewell/sourcemap-codec@1.5.0': {}
2537 |
2538 | '@jridgewell/trace-mapping@0.3.25':
2539 | dependencies:
2540 | '@jridgewell/resolve-uri': 3.1.2
2541 | '@jridgewell/sourcemap-codec': 1.5.0
2542 |
2543 | '@jridgewell/trace-mapping@0.3.9':
2544 | dependencies:
2545 | '@jridgewell/resolve-uri': 3.1.2
2546 | '@jridgewell/sourcemap-codec': 1.5.0
2547 |
2548 | '@sinclair/typebox@0.27.8': {}
2549 |
2550 | '@sinonjs/commons@3.0.1':
2551 | dependencies:
2552 | type-detect: 4.0.8
2553 |
2554 | '@sinonjs/fake-timers@10.3.0':
2555 | dependencies:
2556 | '@sinonjs/commons': 3.0.1
2557 |
2558 | '@tsconfig/node10@1.0.11': {}
2559 |
2560 | '@tsconfig/node12@1.0.11': {}
2561 |
2562 | '@tsconfig/node14@1.0.3': {}
2563 |
2564 | '@tsconfig/node16@1.0.4': {}
2565 |
2566 | '@types/babel__core@7.20.5':
2567 | dependencies:
2568 | '@babel/parser': 7.26.7
2569 | '@babel/types': 7.26.7
2570 | '@types/babel__generator': 7.6.8
2571 | '@types/babel__template': 7.4.4
2572 | '@types/babel__traverse': 7.20.6
2573 |
2574 | '@types/babel__generator@7.6.8':
2575 | dependencies:
2576 | '@babel/types': 7.26.7
2577 |
2578 | '@types/babel__template@7.4.4':
2579 | dependencies:
2580 | '@babel/parser': 7.26.7
2581 | '@babel/types': 7.26.7
2582 |
2583 | '@types/babel__traverse@7.20.6':
2584 | dependencies:
2585 | '@babel/types': 7.26.7
2586 |
2587 | '@types/graceful-fs@4.1.9':
2588 | dependencies:
2589 | '@types/node': 22.13.0
2590 |
2591 | '@types/istanbul-lib-coverage@2.0.6': {}
2592 |
2593 | '@types/istanbul-lib-report@3.0.3':
2594 | dependencies:
2595 | '@types/istanbul-lib-coverage': 2.0.6
2596 |
2597 | '@types/istanbul-reports@3.0.4':
2598 | dependencies:
2599 | '@types/istanbul-lib-report': 3.0.3
2600 |
2601 | '@types/jest@29.5.14':
2602 | dependencies:
2603 | expect: 29.7.0
2604 | pretty-format: 29.7.0
2605 |
2606 | '@types/node@22.13.0':
2607 | dependencies:
2608 | undici-types: 6.20.0
2609 |
2610 | '@types/stack-utils@2.0.3': {}
2611 |
2612 | '@types/yargs-parser@21.0.3': {}
2613 |
2614 | '@types/yargs@15.0.19':
2615 | dependencies:
2616 | '@types/yargs-parser': 21.0.3
2617 |
2618 | '@types/yargs@17.0.33':
2619 | dependencies:
2620 | '@types/yargs-parser': 21.0.3
2621 |
2622 | '@zeit/schemas@2.36.0': {}
2623 |
2624 | accepts@1.3.8:
2625 | dependencies:
2626 | mime-types: 2.1.35
2627 | negotiator: 0.6.3
2628 |
2629 | acorn-walk@8.3.4:
2630 | dependencies:
2631 | acorn: 8.14.0
2632 |
2633 | acorn@8.14.0: {}
2634 |
2635 | ajv@8.12.0:
2636 | dependencies:
2637 | fast-deep-equal: 3.1.3
2638 | json-schema-traverse: 1.0.0
2639 | require-from-string: 2.0.2
2640 | uri-js: 4.4.1
2641 |
2642 | ansi-align@3.0.1:
2643 | dependencies:
2644 | string-width: 4.2.3
2645 |
2646 | ansi-escapes@4.3.2:
2647 | dependencies:
2648 | type-fest: 0.21.3
2649 |
2650 | ansi-regex@5.0.1: {}
2651 |
2652 | ansi-regex@6.1.0: {}
2653 |
2654 | ansi-styles@4.3.0:
2655 | dependencies:
2656 | color-convert: 2.0.1
2657 |
2658 | ansi-styles@5.2.0: {}
2659 |
2660 | ansi-styles@6.2.1: {}
2661 |
2662 | anymatch@2.0.0:
2663 | dependencies:
2664 | micromatch: 3.1.10
2665 | normalize-path: 2.1.1
2666 | transitivePeerDependencies:
2667 | - supports-color
2668 |
2669 | anymatch@3.1.3:
2670 | dependencies:
2671 | normalize-path: 3.0.0
2672 | picomatch: 2.3.1
2673 |
2674 | arch@2.2.0: {}
2675 |
2676 | arg@4.1.3: {}
2677 |
2678 | arg@5.0.2: {}
2679 |
2680 | argparse@1.0.10:
2681 | dependencies:
2682 | sprintf-js: 1.0.3
2683 |
2684 | arr-diff@4.0.0: {}
2685 |
2686 | arr-flatten@1.1.0: {}
2687 |
2688 | arr-union@3.1.0: {}
2689 |
2690 | array-unique@0.3.2: {}
2691 |
2692 | assign-symbols@1.0.0: {}
2693 |
2694 | atob@2.1.2: {}
2695 |
2696 | babel-jest@26.6.3(@babel/core@7.26.7):
2697 | dependencies:
2698 | '@babel/core': 7.26.7
2699 | '@jest/transform': 26.6.2
2700 | '@jest/types': 26.6.2
2701 | '@types/babel__core': 7.20.5
2702 | babel-plugin-istanbul: 6.1.1
2703 | babel-preset-jest: 26.6.2(@babel/core@7.26.7)
2704 | chalk: 4.1.2
2705 | graceful-fs: 4.2.11
2706 | slash: 3.0.0
2707 | transitivePeerDependencies:
2708 | - supports-color
2709 |
2710 | babel-jest@29.7.0(@babel/core@7.26.7):
2711 | dependencies:
2712 | '@babel/core': 7.26.7
2713 | '@jest/transform': 29.7.0
2714 | '@types/babel__core': 7.20.5
2715 | babel-plugin-istanbul: 6.1.1
2716 | babel-preset-jest: 29.6.3(@babel/core@7.26.7)
2717 | chalk: 4.1.2
2718 | graceful-fs: 4.2.11
2719 | slash: 3.0.0
2720 | transitivePeerDependencies:
2721 | - supports-color
2722 |
2723 | babel-plugin-istanbul@6.1.1:
2724 | dependencies:
2725 | '@babel/helper-plugin-utils': 7.26.5
2726 | '@istanbuljs/load-nyc-config': 1.1.0
2727 | '@istanbuljs/schema': 0.1.3
2728 | istanbul-lib-instrument: 5.2.1
2729 | test-exclude: 6.0.0
2730 | transitivePeerDependencies:
2731 | - supports-color
2732 |
2733 | babel-plugin-jest-hoist@26.6.2:
2734 | dependencies:
2735 | '@babel/template': 7.25.9
2736 | '@babel/types': 7.26.7
2737 | '@types/babel__core': 7.20.5
2738 | '@types/babel__traverse': 7.20.6
2739 |
2740 | babel-plugin-jest-hoist@29.6.3:
2741 | dependencies:
2742 | '@babel/template': 7.25.9
2743 | '@babel/types': 7.26.7
2744 | '@types/babel__core': 7.20.5
2745 | '@types/babel__traverse': 7.20.6
2746 |
2747 | babel-preset-current-node-syntax@1.1.0(@babel/core@7.26.7):
2748 | dependencies:
2749 | '@babel/core': 7.26.7
2750 | '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.26.7)
2751 | '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.26.7)
2752 | '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.26.7)
2753 | '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.26.7)
2754 | '@babel/plugin-syntax-import-attributes': 7.26.0(@babel/core@7.26.7)
2755 | '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.26.7)
2756 | '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.26.7)
2757 | '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.26.7)
2758 | '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.26.7)
2759 | '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.26.7)
2760 | '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.26.7)
2761 | '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.26.7)
2762 | '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.26.7)
2763 | '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.26.7)
2764 | '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.26.7)
2765 |
2766 | babel-preset-jest@26.6.2(@babel/core@7.26.7):
2767 | dependencies:
2768 | '@babel/core': 7.26.7
2769 | babel-plugin-jest-hoist: 26.6.2
2770 | babel-preset-current-node-syntax: 1.1.0(@babel/core@7.26.7)
2771 |
2772 | babel-preset-jest@29.6.3(@babel/core@7.26.7):
2773 | dependencies:
2774 | '@babel/core': 7.26.7
2775 | babel-plugin-jest-hoist: 29.6.3
2776 | babel-preset-current-node-syntax: 1.1.0(@babel/core@7.26.7)
2777 |
2778 | balanced-match@1.0.2: {}
2779 |
2780 | base@0.11.2:
2781 | dependencies:
2782 | cache-base: 1.0.1
2783 | class-utils: 0.3.6
2784 | component-emitter: 1.3.1
2785 | define-property: 1.0.0
2786 | isobject: 3.0.1
2787 | mixin-deep: 1.3.2
2788 | pascalcase: 0.1.1
2789 |
2790 | boxen@7.0.0:
2791 | dependencies:
2792 | ansi-align: 3.0.1
2793 | camelcase: 7.0.1
2794 | chalk: 5.0.1
2795 | cli-boxes: 3.0.0
2796 | string-width: 5.1.2
2797 | type-fest: 2.19.0
2798 | widest-line: 4.0.1
2799 | wrap-ansi: 8.1.0
2800 |
2801 | brace-expansion@1.1.11:
2802 | dependencies:
2803 | balanced-match: 1.0.2
2804 | concat-map: 0.0.1
2805 |
2806 | braces@2.3.2:
2807 | dependencies:
2808 | arr-flatten: 1.1.0
2809 | array-unique: 0.3.2
2810 | extend-shallow: 2.0.1
2811 | fill-range: 4.0.0
2812 | isobject: 3.0.1
2813 | repeat-element: 1.1.4
2814 | snapdragon: 0.8.2
2815 | snapdragon-node: 2.1.1
2816 | split-string: 3.1.0
2817 | to-regex: 3.0.2
2818 | transitivePeerDependencies:
2819 | - supports-color
2820 |
2821 | braces@3.0.3:
2822 | dependencies:
2823 | fill-range: 7.1.1
2824 |
2825 | browserslist@4.24.4:
2826 | dependencies:
2827 | caniuse-lite: 1.0.30001696
2828 | electron-to-chromium: 1.5.90
2829 | node-releases: 2.0.19
2830 | update-browserslist-db: 1.1.2(browserslist@4.24.4)
2831 |
2832 | bser@2.1.1:
2833 | dependencies:
2834 | node-int64: 0.4.0
2835 |
2836 | buffer-from@1.1.2: {}
2837 |
2838 | bytes@3.0.0: {}
2839 |
2840 | cache-base@1.0.1:
2841 | dependencies:
2842 | collection-visit: 1.0.0
2843 | component-emitter: 1.3.1
2844 | get-value: 2.0.6
2845 | has-value: 1.0.0
2846 | isobject: 3.0.1
2847 | set-value: 2.0.1
2848 | to-object-path: 0.3.0
2849 | union-value: 1.0.1
2850 | unset-value: 1.0.0
2851 |
2852 | callsites@3.1.0: {}
2853 |
2854 | camelcase@5.3.1: {}
2855 |
2856 | camelcase@6.3.0: {}
2857 |
2858 | camelcase@7.0.1: {}
2859 |
2860 | caniuse-lite@1.0.30001696: {}
2861 |
2862 | capture-exit@2.0.0:
2863 | dependencies:
2864 | rsvp: 4.8.5
2865 |
2866 | chalk-template@0.4.0:
2867 | dependencies:
2868 | chalk: 4.1.2
2869 |
2870 | chalk@4.1.2:
2871 | dependencies:
2872 | ansi-styles: 4.3.0
2873 | supports-color: 7.2.0
2874 |
2875 | chalk@5.0.1: {}
2876 |
2877 | char-regex@1.0.2: {}
2878 |
2879 | check-password-strength@3.0.0:
2880 | dependencies:
2881 | escape-string-regexp: 5.0.0
2882 |
2883 | ci-info@2.0.0: {}
2884 |
2885 | ci-info@3.9.0: {}
2886 |
2887 | cjs-module-lexer@1.4.3: {}
2888 |
2889 | class-utils@0.3.6:
2890 | dependencies:
2891 | arr-union: 3.1.0
2892 | define-property: 0.2.5
2893 | isobject: 3.0.1
2894 | static-extend: 0.1.2
2895 |
2896 | cli-boxes@3.0.0: {}
2897 |
2898 | clipboardy@3.0.0:
2899 | dependencies:
2900 | arch: 2.2.0
2901 | execa: 5.1.1
2902 | is-wsl: 2.2.0
2903 |
2904 | cliui@8.0.1:
2905 | dependencies:
2906 | string-width: 4.2.3
2907 | strip-ansi: 6.0.1
2908 | wrap-ansi: 7.0.0
2909 |
2910 | co@4.6.0: {}
2911 |
2912 | collect-v8-coverage@1.0.2: {}
2913 |
2914 | collection-visit@1.0.0:
2915 | dependencies:
2916 | map-visit: 1.0.0
2917 | object-visit: 1.0.1
2918 |
2919 | color-convert@2.0.1:
2920 | dependencies:
2921 | color-name: 1.1.4
2922 |
2923 | color-name@1.1.4: {}
2924 |
2925 | component-emitter@1.3.1: {}
2926 |
2927 | compressible@2.0.18:
2928 | dependencies:
2929 | mime-db: 1.53.0
2930 |
2931 | compression@1.7.4:
2932 | dependencies:
2933 | accepts: 1.3.8
2934 | bytes: 3.0.0
2935 | compressible: 2.0.18
2936 | debug: 2.6.9
2937 | on-headers: 1.0.2
2938 | safe-buffer: 5.1.2
2939 | vary: 1.1.2
2940 | transitivePeerDependencies:
2941 | - supports-color
2942 |
2943 | concat-map@0.0.1: {}
2944 |
2945 | content-disposition@0.5.2: {}
2946 |
2947 | convert-source-map@1.9.0: {}
2948 |
2949 | convert-source-map@2.0.0: {}
2950 |
2951 | copy-descriptor@0.1.1: {}
2952 |
2953 | create-jest@29.7.0(@types/node@22.13.0)(ts-node@10.9.2(@types/node@22.13.0)(typescript@5.7.3)):
2954 | dependencies:
2955 | '@jest/types': 29.6.3
2956 | chalk: 4.1.2
2957 | exit: 0.1.2
2958 | graceful-fs: 4.2.11
2959 | jest-config: 29.7.0(@types/node@22.13.0)(ts-node@10.9.2(@types/node@22.13.0)(typescript@5.7.3))
2960 | jest-util: 29.7.0
2961 | prompts: 2.4.2
2962 | transitivePeerDependencies:
2963 | - '@types/node'
2964 | - babel-plugin-macros
2965 | - supports-color
2966 | - ts-node
2967 |
2968 | create-require@1.1.1: {}
2969 |
2970 | cross-spawn@6.0.6:
2971 | dependencies:
2972 | nice-try: 1.0.5
2973 | path-key: 2.0.1
2974 | semver: 5.7.2
2975 | shebang-command: 1.2.0
2976 | which: 1.3.1
2977 |
2978 | cross-spawn@7.0.6:
2979 | dependencies:
2980 | path-key: 3.1.1
2981 | shebang-command: 2.0.0
2982 | which: 2.0.2
2983 |
2984 | debug@2.6.9:
2985 | dependencies:
2986 | ms: 2.0.0
2987 |
2988 | debug@4.4.0:
2989 | dependencies:
2990 | ms: 2.1.3
2991 |
2992 | decode-uri-component@0.2.2: {}
2993 |
2994 | dedent@1.5.3: {}
2995 |
2996 | deep-extend@0.6.0: {}
2997 |
2998 | deepmerge@4.3.1: {}
2999 |
3000 | define-property@0.2.5:
3001 | dependencies:
3002 | is-descriptor: 0.1.7
3003 |
3004 | define-property@1.0.0:
3005 | dependencies:
3006 | is-descriptor: 1.0.3
3007 |
3008 | define-property@2.0.2:
3009 | dependencies:
3010 | is-descriptor: 1.0.3
3011 | isobject: 3.0.1
3012 |
3013 | detect-newline@3.1.0: {}
3014 |
3015 | diff-sequences@29.6.3: {}
3016 |
3017 | diff@4.0.2: {}
3018 |
3019 | eastasianwidth@0.2.0: {}
3020 |
3021 | electron-to-chromium@1.5.90: {}
3022 |
3023 | emittery@0.13.1: {}
3024 |
3025 | emoji-regex@8.0.0: {}
3026 |
3027 | emoji-regex@9.2.2: {}
3028 |
3029 | end-of-stream@1.4.4:
3030 | dependencies:
3031 | once: 1.4.0
3032 |
3033 | error-ex@1.3.2:
3034 | dependencies:
3035 | is-arrayish: 0.2.1
3036 |
3037 | esbuild-jest@0.5.0(esbuild@0.25.0):
3038 | dependencies:
3039 | '@babel/core': 7.26.7
3040 | '@babel/plugin-transform-modules-commonjs': 7.26.3(@babel/core@7.26.7)
3041 | babel-jest: 26.6.3(@babel/core@7.26.7)
3042 | esbuild: 0.25.0
3043 | transitivePeerDependencies:
3044 | - supports-color
3045 |
3046 | esbuild@0.25.0:
3047 | optionalDependencies:
3048 | '@esbuild/aix-ppc64': 0.25.0
3049 | '@esbuild/android-arm': 0.25.0
3050 | '@esbuild/android-arm64': 0.25.0
3051 | '@esbuild/android-x64': 0.25.0
3052 | '@esbuild/darwin-arm64': 0.25.0
3053 | '@esbuild/darwin-x64': 0.25.0
3054 | '@esbuild/freebsd-arm64': 0.25.0
3055 | '@esbuild/freebsd-x64': 0.25.0
3056 | '@esbuild/linux-arm': 0.25.0
3057 | '@esbuild/linux-arm64': 0.25.0
3058 | '@esbuild/linux-ia32': 0.25.0
3059 | '@esbuild/linux-loong64': 0.25.0
3060 | '@esbuild/linux-mips64el': 0.25.0
3061 | '@esbuild/linux-ppc64': 0.25.0
3062 | '@esbuild/linux-riscv64': 0.25.0
3063 | '@esbuild/linux-s390x': 0.25.0
3064 | '@esbuild/linux-x64': 0.25.0
3065 | '@esbuild/netbsd-arm64': 0.25.0
3066 | '@esbuild/netbsd-x64': 0.25.0
3067 | '@esbuild/openbsd-arm64': 0.25.0
3068 | '@esbuild/openbsd-x64': 0.25.0
3069 | '@esbuild/sunos-x64': 0.25.0
3070 | '@esbuild/win32-arm64': 0.25.0
3071 | '@esbuild/win32-ia32': 0.25.0
3072 | '@esbuild/win32-x64': 0.25.0
3073 |
3074 | escalade@3.2.0: {}
3075 |
3076 | escape-string-regexp@2.0.0: {}
3077 |
3078 | escape-string-regexp@5.0.0: {}
3079 |
3080 | esprima@4.0.1: {}
3081 |
3082 | exec-sh@0.3.6: {}
3083 |
3084 | execa@1.0.0:
3085 | dependencies:
3086 | cross-spawn: 6.0.6
3087 | get-stream: 4.1.0
3088 | is-stream: 1.1.0
3089 | npm-run-path: 2.0.2
3090 | p-finally: 1.0.0
3091 | signal-exit: 3.0.7
3092 | strip-eof: 1.0.0
3093 |
3094 | execa@5.1.1:
3095 | dependencies:
3096 | cross-spawn: 7.0.6
3097 | get-stream: 6.0.1
3098 | human-signals: 2.1.0
3099 | is-stream: 2.0.1
3100 | merge-stream: 2.0.0
3101 | npm-run-path: 4.0.1
3102 | onetime: 5.1.2
3103 | signal-exit: 3.0.7
3104 | strip-final-newline: 2.0.0
3105 |
3106 | exit@0.1.2: {}
3107 |
3108 | expand-brackets@2.1.4:
3109 | dependencies:
3110 | debug: 2.6.9
3111 | define-property: 0.2.5
3112 | extend-shallow: 2.0.1
3113 | posix-character-classes: 0.1.1
3114 | regex-not: 1.0.2
3115 | snapdragon: 0.8.2
3116 | to-regex: 3.0.2
3117 | transitivePeerDependencies:
3118 | - supports-color
3119 |
3120 | expect@29.7.0:
3121 | dependencies:
3122 | '@jest/expect-utils': 29.7.0
3123 | jest-get-type: 29.6.3
3124 | jest-matcher-utils: 29.7.0
3125 | jest-message-util: 29.7.0
3126 | jest-util: 29.7.0
3127 |
3128 | extend-shallow@2.0.1:
3129 | dependencies:
3130 | is-extendable: 0.1.1
3131 |
3132 | extend-shallow@3.0.2:
3133 | dependencies:
3134 | assign-symbols: 1.0.0
3135 | is-extendable: 1.0.1
3136 |
3137 | extglob@2.0.4:
3138 | dependencies:
3139 | array-unique: 0.3.2
3140 | define-property: 1.0.0
3141 | expand-brackets: 2.1.4
3142 | extend-shallow: 2.0.1
3143 | fragment-cache: 0.2.1
3144 | regex-not: 1.0.2
3145 | snapdragon: 0.8.2
3146 | to-regex: 3.0.2
3147 | transitivePeerDependencies:
3148 | - supports-color
3149 |
3150 | fast-deep-equal@3.1.3: {}
3151 |
3152 | fast-json-stable-stringify@2.1.0: {}
3153 |
3154 | fb-watchman@2.0.2:
3155 | dependencies:
3156 | bser: 2.1.1
3157 |
3158 | fill-range@4.0.0:
3159 | dependencies:
3160 | extend-shallow: 2.0.1
3161 | is-number: 3.0.0
3162 | repeat-string: 1.6.1
3163 | to-regex-range: 2.1.1
3164 |
3165 | fill-range@7.1.1:
3166 | dependencies:
3167 | to-regex-range: 5.0.1
3168 |
3169 | find-up@4.1.0:
3170 | dependencies:
3171 | locate-path: 5.0.0
3172 | path-exists: 4.0.0
3173 |
3174 | for-in@1.0.2: {}
3175 |
3176 | fragment-cache@0.2.1:
3177 | dependencies:
3178 | map-cache: 0.2.2
3179 |
3180 | fs.realpath@1.0.0: {}
3181 |
3182 | fsevents@2.3.3:
3183 | optional: true
3184 |
3185 | function-bind@1.1.2: {}
3186 |
3187 | gensync@1.0.0-beta.2: {}
3188 |
3189 | get-caller-file@2.0.5: {}
3190 |
3191 | get-package-type@0.1.0: {}
3192 |
3193 | get-stream@4.1.0:
3194 | dependencies:
3195 | pump: 3.0.2
3196 |
3197 | get-stream@6.0.1: {}
3198 |
3199 | get-value@2.0.6: {}
3200 |
3201 | glob@7.2.3:
3202 | dependencies:
3203 | fs.realpath: 1.0.0
3204 | inflight: 1.0.6
3205 | inherits: 2.0.4
3206 | minimatch: 3.1.2
3207 | once: 1.4.0
3208 | path-is-absolute: 1.0.1
3209 |
3210 | globals@11.12.0: {}
3211 |
3212 | graceful-fs@4.2.11: {}
3213 |
3214 | has-flag@4.0.0: {}
3215 |
3216 | has-value@0.3.1:
3217 | dependencies:
3218 | get-value: 2.0.6
3219 | has-values: 0.1.4
3220 | isobject: 2.1.0
3221 |
3222 | has-value@1.0.0:
3223 | dependencies:
3224 | get-value: 2.0.6
3225 | has-values: 1.0.0
3226 | isobject: 3.0.1
3227 |
3228 | has-values@0.1.4: {}
3229 |
3230 | has-values@1.0.0:
3231 | dependencies:
3232 | is-number: 3.0.0
3233 | kind-of: 4.0.0
3234 |
3235 | hasown@2.0.2:
3236 | dependencies:
3237 | function-bind: 1.1.2
3238 |
3239 | html-escaper@2.0.2: {}
3240 |
3241 | human-signals@2.1.0: {}
3242 |
3243 | import-local@3.2.0:
3244 | dependencies:
3245 | pkg-dir: 4.2.0
3246 | resolve-cwd: 3.0.0
3247 |
3248 | imurmurhash@0.1.4: {}
3249 |
3250 | inflight@1.0.6:
3251 | dependencies:
3252 | once: 1.4.0
3253 | wrappy: 1.0.2
3254 |
3255 | inherits@2.0.4: {}
3256 |
3257 | ini@1.3.8: {}
3258 |
3259 | is-accessor-descriptor@1.0.1:
3260 | dependencies:
3261 | hasown: 2.0.2
3262 |
3263 | is-arrayish@0.2.1: {}
3264 |
3265 | is-buffer@1.1.6: {}
3266 |
3267 | is-ci@2.0.0:
3268 | dependencies:
3269 | ci-info: 2.0.0
3270 |
3271 | is-core-module@2.16.1:
3272 | dependencies:
3273 | hasown: 2.0.2
3274 |
3275 | is-data-descriptor@1.0.1:
3276 | dependencies:
3277 | hasown: 2.0.2
3278 |
3279 | is-descriptor@0.1.7:
3280 | dependencies:
3281 | is-accessor-descriptor: 1.0.1
3282 | is-data-descriptor: 1.0.1
3283 |
3284 | is-descriptor@1.0.3:
3285 | dependencies:
3286 | is-accessor-descriptor: 1.0.1
3287 | is-data-descriptor: 1.0.1
3288 |
3289 | is-docker@2.2.1: {}
3290 |
3291 | is-extendable@0.1.1: {}
3292 |
3293 | is-extendable@1.0.1:
3294 | dependencies:
3295 | is-plain-object: 2.0.4
3296 |
3297 | is-fullwidth-code-point@3.0.0: {}
3298 |
3299 | is-generator-fn@2.1.0: {}
3300 |
3301 | is-number@3.0.0:
3302 | dependencies:
3303 | kind-of: 3.2.2
3304 |
3305 | is-number@7.0.0: {}
3306 |
3307 | is-plain-object@2.0.4:
3308 | dependencies:
3309 | isobject: 3.0.1
3310 |
3311 | is-port-reachable@4.0.0: {}
3312 |
3313 | is-stream@1.1.0: {}
3314 |
3315 | is-stream@2.0.1: {}
3316 |
3317 | is-typedarray@1.0.0: {}
3318 |
3319 | is-windows@1.0.2: {}
3320 |
3321 | is-wsl@2.2.0:
3322 | dependencies:
3323 | is-docker: 2.2.1
3324 |
3325 | isarray@1.0.0: {}
3326 |
3327 | isexe@2.0.0: {}
3328 |
3329 | isobject@2.1.0:
3330 | dependencies:
3331 | isarray: 1.0.0
3332 |
3333 | isobject@3.0.1: {}
3334 |
3335 | istanbul-lib-coverage@3.2.2: {}
3336 |
3337 | istanbul-lib-instrument@5.2.1:
3338 | dependencies:
3339 | '@babel/core': 7.26.7
3340 | '@babel/parser': 7.26.7
3341 | '@istanbuljs/schema': 0.1.3
3342 | istanbul-lib-coverage: 3.2.2
3343 | semver: 6.3.1
3344 | transitivePeerDependencies:
3345 | - supports-color
3346 |
3347 | istanbul-lib-instrument@6.0.3:
3348 | dependencies:
3349 | '@babel/core': 7.26.7
3350 | '@babel/parser': 7.26.7
3351 | '@istanbuljs/schema': 0.1.3
3352 | istanbul-lib-coverage: 3.2.2
3353 | semver: 7.7.0
3354 | transitivePeerDependencies:
3355 | - supports-color
3356 |
3357 | istanbul-lib-report@3.0.1:
3358 | dependencies:
3359 | istanbul-lib-coverage: 3.2.2
3360 | make-dir: 4.0.0
3361 | supports-color: 7.2.0
3362 |
3363 | istanbul-lib-source-maps@4.0.1:
3364 | dependencies:
3365 | debug: 4.4.0
3366 | istanbul-lib-coverage: 3.2.2
3367 | source-map: 0.6.1
3368 | transitivePeerDependencies:
3369 | - supports-color
3370 |
3371 | istanbul-reports@3.1.7:
3372 | dependencies:
3373 | html-escaper: 2.0.2
3374 | istanbul-lib-report: 3.0.1
3375 |
3376 | jest-changed-files@29.7.0:
3377 | dependencies:
3378 | execa: 5.1.1
3379 | jest-util: 29.7.0
3380 | p-limit: 3.1.0
3381 |
3382 | jest-circus@29.7.0:
3383 | dependencies:
3384 | '@jest/environment': 29.7.0
3385 | '@jest/expect': 29.7.0
3386 | '@jest/test-result': 29.7.0
3387 | '@jest/types': 29.6.3
3388 | '@types/node': 22.13.0
3389 | chalk: 4.1.2
3390 | co: 4.6.0
3391 | dedent: 1.5.3
3392 | is-generator-fn: 2.1.0
3393 | jest-each: 29.7.0
3394 | jest-matcher-utils: 29.7.0
3395 | jest-message-util: 29.7.0
3396 | jest-runtime: 29.7.0
3397 | jest-snapshot: 29.7.0
3398 | jest-util: 29.7.0
3399 | p-limit: 3.1.0
3400 | pretty-format: 29.7.0
3401 | pure-rand: 6.1.0
3402 | slash: 3.0.0
3403 | stack-utils: 2.0.6
3404 | transitivePeerDependencies:
3405 | - babel-plugin-macros
3406 | - supports-color
3407 |
3408 | jest-cli@29.7.0(@types/node@22.13.0)(ts-node@10.9.2(@types/node@22.13.0)(typescript@5.7.3)):
3409 | dependencies:
3410 | '@jest/core': 29.7.0(ts-node@10.9.2(@types/node@22.13.0)(typescript@5.7.3))
3411 | '@jest/test-result': 29.7.0
3412 | '@jest/types': 29.6.3
3413 | chalk: 4.1.2
3414 | create-jest: 29.7.0(@types/node@22.13.0)(ts-node@10.9.2(@types/node@22.13.0)(typescript@5.7.3))
3415 | exit: 0.1.2
3416 | import-local: 3.2.0
3417 | jest-config: 29.7.0(@types/node@22.13.0)(ts-node@10.9.2(@types/node@22.13.0)(typescript@5.7.3))
3418 | jest-util: 29.7.0
3419 | jest-validate: 29.7.0
3420 | yargs: 17.7.2
3421 | transitivePeerDependencies:
3422 | - '@types/node'
3423 | - babel-plugin-macros
3424 | - supports-color
3425 | - ts-node
3426 |
3427 | jest-config@29.7.0(@types/node@22.13.0)(ts-node@10.9.2(@types/node@22.13.0)(typescript@5.7.3)):
3428 | dependencies:
3429 | '@babel/core': 7.26.7
3430 | '@jest/test-sequencer': 29.7.0
3431 | '@jest/types': 29.6.3
3432 | babel-jest: 29.7.0(@babel/core@7.26.7)
3433 | chalk: 4.1.2
3434 | ci-info: 3.9.0
3435 | deepmerge: 4.3.1
3436 | glob: 7.2.3
3437 | graceful-fs: 4.2.11
3438 | jest-circus: 29.7.0
3439 | jest-environment-node: 29.7.0
3440 | jest-get-type: 29.6.3
3441 | jest-regex-util: 29.6.3
3442 | jest-resolve: 29.7.0
3443 | jest-runner: 29.7.0
3444 | jest-util: 29.7.0
3445 | jest-validate: 29.7.0
3446 | micromatch: 4.0.8
3447 | parse-json: 5.2.0
3448 | pretty-format: 29.7.0
3449 | slash: 3.0.0
3450 | strip-json-comments: 3.1.1
3451 | optionalDependencies:
3452 | '@types/node': 22.13.0
3453 | ts-node: 10.9.2(@types/node@22.13.0)(typescript@5.7.3)
3454 | transitivePeerDependencies:
3455 | - babel-plugin-macros
3456 | - supports-color
3457 |
3458 | jest-diff@29.7.0:
3459 | dependencies:
3460 | chalk: 4.1.2
3461 | diff-sequences: 29.6.3
3462 | jest-get-type: 29.6.3
3463 | pretty-format: 29.7.0
3464 |
3465 | jest-docblock@29.7.0:
3466 | dependencies:
3467 | detect-newline: 3.1.0
3468 |
3469 | jest-each@29.7.0:
3470 | dependencies:
3471 | '@jest/types': 29.6.3
3472 | chalk: 4.1.2
3473 | jest-get-type: 29.6.3
3474 | jest-util: 29.7.0
3475 | pretty-format: 29.7.0
3476 |
3477 | jest-environment-node@29.7.0:
3478 | dependencies:
3479 | '@jest/environment': 29.7.0
3480 | '@jest/fake-timers': 29.7.0
3481 | '@jest/types': 29.6.3
3482 | '@types/node': 22.13.0
3483 | jest-mock: 29.7.0
3484 | jest-util: 29.7.0
3485 |
3486 | jest-get-type@29.6.3: {}
3487 |
3488 | jest-haste-map@26.6.2:
3489 | dependencies:
3490 | '@jest/types': 26.6.2
3491 | '@types/graceful-fs': 4.1.9
3492 | '@types/node': 22.13.0
3493 | anymatch: 3.1.3
3494 | fb-watchman: 2.0.2
3495 | graceful-fs: 4.2.11
3496 | jest-regex-util: 26.0.0
3497 | jest-serializer: 26.6.2
3498 | jest-util: 26.6.2
3499 | jest-worker: 26.6.2
3500 | micromatch: 4.0.8
3501 | sane: 4.1.0
3502 | walker: 1.0.8
3503 | optionalDependencies:
3504 | fsevents: 2.3.3
3505 | transitivePeerDependencies:
3506 | - supports-color
3507 |
3508 | jest-haste-map@29.7.0:
3509 | dependencies:
3510 | '@jest/types': 29.6.3
3511 | '@types/graceful-fs': 4.1.9
3512 | '@types/node': 22.13.0
3513 | anymatch: 3.1.3
3514 | fb-watchman: 2.0.2
3515 | graceful-fs: 4.2.11
3516 | jest-regex-util: 29.6.3
3517 | jest-util: 29.7.0
3518 | jest-worker: 29.7.0
3519 | micromatch: 4.0.8
3520 | walker: 1.0.8
3521 | optionalDependencies:
3522 | fsevents: 2.3.3
3523 |
3524 | jest-leak-detector@29.7.0:
3525 | dependencies:
3526 | jest-get-type: 29.6.3
3527 | pretty-format: 29.7.0
3528 |
3529 | jest-matcher-utils@29.7.0:
3530 | dependencies:
3531 | chalk: 4.1.2
3532 | jest-diff: 29.7.0
3533 | jest-get-type: 29.6.3
3534 | pretty-format: 29.7.0
3535 |
3536 | jest-message-util@29.7.0:
3537 | dependencies:
3538 | '@babel/code-frame': 7.26.2
3539 | '@jest/types': 29.6.3
3540 | '@types/stack-utils': 2.0.3
3541 | chalk: 4.1.2
3542 | graceful-fs: 4.2.11
3543 | micromatch: 4.0.8
3544 | pretty-format: 29.7.0
3545 | slash: 3.0.0
3546 | stack-utils: 2.0.6
3547 |
3548 | jest-mock@29.7.0:
3549 | dependencies:
3550 | '@jest/types': 29.6.3
3551 | '@types/node': 22.13.0
3552 | jest-util: 29.7.0
3553 |
3554 | jest-pnp-resolver@1.2.3(jest-resolve@29.7.0):
3555 | optionalDependencies:
3556 | jest-resolve: 29.7.0
3557 |
3558 | jest-regex-util@26.0.0: {}
3559 |
3560 | jest-regex-util@29.6.3: {}
3561 |
3562 | jest-resolve-dependencies@29.7.0:
3563 | dependencies:
3564 | jest-regex-util: 29.6.3
3565 | jest-snapshot: 29.7.0
3566 | transitivePeerDependencies:
3567 | - supports-color
3568 |
3569 | jest-resolve@29.7.0:
3570 | dependencies:
3571 | chalk: 4.1.2
3572 | graceful-fs: 4.2.11
3573 | jest-haste-map: 29.7.0
3574 | jest-pnp-resolver: 1.2.3(jest-resolve@29.7.0)
3575 | jest-util: 29.7.0
3576 | jest-validate: 29.7.0
3577 | resolve: 1.22.10
3578 | resolve.exports: 2.0.3
3579 | slash: 3.0.0
3580 |
3581 | jest-runner@29.7.0:
3582 | dependencies:
3583 | '@jest/console': 29.7.0
3584 | '@jest/environment': 29.7.0
3585 | '@jest/test-result': 29.7.0
3586 | '@jest/transform': 29.7.0
3587 | '@jest/types': 29.6.3
3588 | '@types/node': 22.13.0
3589 | chalk: 4.1.2
3590 | emittery: 0.13.1
3591 | graceful-fs: 4.2.11
3592 | jest-docblock: 29.7.0
3593 | jest-environment-node: 29.7.0
3594 | jest-haste-map: 29.7.0
3595 | jest-leak-detector: 29.7.0
3596 | jest-message-util: 29.7.0
3597 | jest-resolve: 29.7.0
3598 | jest-runtime: 29.7.0
3599 | jest-util: 29.7.0
3600 | jest-watcher: 29.7.0
3601 | jest-worker: 29.7.0
3602 | p-limit: 3.1.0
3603 | source-map-support: 0.5.13
3604 | transitivePeerDependencies:
3605 | - supports-color
3606 |
3607 | jest-runtime@29.7.0:
3608 | dependencies:
3609 | '@jest/environment': 29.7.0
3610 | '@jest/fake-timers': 29.7.0
3611 | '@jest/globals': 29.7.0
3612 | '@jest/source-map': 29.6.3
3613 | '@jest/test-result': 29.7.0
3614 | '@jest/transform': 29.7.0
3615 | '@jest/types': 29.6.3
3616 | '@types/node': 22.13.0
3617 | chalk: 4.1.2
3618 | cjs-module-lexer: 1.4.3
3619 | collect-v8-coverage: 1.0.2
3620 | glob: 7.2.3
3621 | graceful-fs: 4.2.11
3622 | jest-haste-map: 29.7.0
3623 | jest-message-util: 29.7.0
3624 | jest-mock: 29.7.0
3625 | jest-regex-util: 29.6.3
3626 | jest-resolve: 29.7.0
3627 | jest-snapshot: 29.7.0
3628 | jest-util: 29.7.0
3629 | slash: 3.0.0
3630 | strip-bom: 4.0.0
3631 | transitivePeerDependencies:
3632 | - supports-color
3633 |
3634 | jest-serializer@26.6.2:
3635 | dependencies:
3636 | '@types/node': 22.13.0
3637 | graceful-fs: 4.2.11
3638 |
3639 | jest-snapshot@29.7.0:
3640 | dependencies:
3641 | '@babel/core': 7.26.7
3642 | '@babel/generator': 7.26.5
3643 | '@babel/plugin-syntax-jsx': 7.25.9(@babel/core@7.26.7)
3644 | '@babel/plugin-syntax-typescript': 7.25.9(@babel/core@7.26.7)
3645 | '@babel/types': 7.26.7
3646 | '@jest/expect-utils': 29.7.0
3647 | '@jest/transform': 29.7.0
3648 | '@jest/types': 29.6.3
3649 | babel-preset-current-node-syntax: 1.1.0(@babel/core@7.26.7)
3650 | chalk: 4.1.2
3651 | expect: 29.7.0
3652 | graceful-fs: 4.2.11
3653 | jest-diff: 29.7.0
3654 | jest-get-type: 29.6.3
3655 | jest-matcher-utils: 29.7.0
3656 | jest-message-util: 29.7.0
3657 | jest-util: 29.7.0
3658 | natural-compare: 1.4.0
3659 | pretty-format: 29.7.0
3660 | semver: 7.7.0
3661 | transitivePeerDependencies:
3662 | - supports-color
3663 |
3664 | jest-util@26.6.2:
3665 | dependencies:
3666 | '@jest/types': 26.6.2
3667 | '@types/node': 22.13.0
3668 | chalk: 4.1.2
3669 | graceful-fs: 4.2.11
3670 | is-ci: 2.0.0
3671 | micromatch: 4.0.8
3672 |
3673 | jest-util@29.7.0:
3674 | dependencies:
3675 | '@jest/types': 29.6.3
3676 | '@types/node': 22.13.0
3677 | chalk: 4.1.2
3678 | ci-info: 3.9.0
3679 | graceful-fs: 4.2.11
3680 | picomatch: 2.3.1
3681 |
3682 | jest-validate@29.7.0:
3683 | dependencies:
3684 | '@jest/types': 29.6.3
3685 | camelcase: 6.3.0
3686 | chalk: 4.1.2
3687 | jest-get-type: 29.6.3
3688 | leven: 3.1.0
3689 | pretty-format: 29.7.0
3690 |
3691 | jest-watcher@29.7.0:
3692 | dependencies:
3693 | '@jest/test-result': 29.7.0
3694 | '@jest/types': 29.6.3
3695 | '@types/node': 22.13.0
3696 | ansi-escapes: 4.3.2
3697 | chalk: 4.1.2
3698 | emittery: 0.13.1
3699 | jest-util: 29.7.0
3700 | string-length: 4.0.2
3701 |
3702 | jest-worker@26.6.2:
3703 | dependencies:
3704 | '@types/node': 22.13.0
3705 | merge-stream: 2.0.0
3706 | supports-color: 7.2.0
3707 |
3708 | jest-worker@29.7.0:
3709 | dependencies:
3710 | '@types/node': 22.13.0
3711 | jest-util: 29.7.0
3712 | merge-stream: 2.0.0
3713 | supports-color: 8.1.1
3714 |
3715 | jest@29.7.0(@types/node@22.13.0)(ts-node@10.9.2(@types/node@22.13.0)(typescript@5.7.3)):
3716 | dependencies:
3717 | '@jest/core': 29.7.0(ts-node@10.9.2(@types/node@22.13.0)(typescript@5.7.3))
3718 | '@jest/types': 29.6.3
3719 | import-local: 3.2.0
3720 | jest-cli: 29.7.0(@types/node@22.13.0)(ts-node@10.9.2(@types/node@22.13.0)(typescript@5.7.3))
3721 | transitivePeerDependencies:
3722 | - '@types/node'
3723 | - babel-plugin-macros
3724 | - supports-color
3725 | - ts-node
3726 |
3727 | js-tokens@4.0.0: {}
3728 |
3729 | js-yaml@3.14.1:
3730 | dependencies:
3731 | argparse: 1.0.10
3732 | esprima: 4.0.1
3733 |
3734 | jsesc@3.1.0: {}
3735 |
3736 | json-parse-even-better-errors@2.3.1: {}
3737 |
3738 | json-schema-traverse@1.0.0: {}
3739 |
3740 | json5@2.2.3: {}
3741 |
3742 | kind-of@3.2.2:
3743 | dependencies:
3744 | is-buffer: 1.1.6
3745 |
3746 | kind-of@4.0.0:
3747 | dependencies:
3748 | is-buffer: 1.1.6
3749 |
3750 | kind-of@6.0.3: {}
3751 |
3752 | kleur@3.0.3: {}
3753 |
3754 | leven@3.1.0: {}
3755 |
3756 | lines-and-columns@1.2.4: {}
3757 |
3758 | locate-path@5.0.0:
3759 | dependencies:
3760 | p-locate: 4.1.0
3761 |
3762 | lru-cache@5.1.1:
3763 | dependencies:
3764 | yallist: 3.1.1
3765 |
3766 | make-dir@4.0.0:
3767 | dependencies:
3768 | semver: 7.7.0
3769 |
3770 | make-error@1.3.6: {}
3771 |
3772 | makeerror@1.0.12:
3773 | dependencies:
3774 | tmpl: 1.0.5
3775 |
3776 | map-cache@0.2.2: {}
3777 |
3778 | map-visit@1.0.0:
3779 | dependencies:
3780 | object-visit: 1.0.1
3781 |
3782 | merge-stream@2.0.0: {}
3783 |
3784 | micromatch@3.1.10:
3785 | dependencies:
3786 | arr-diff: 4.0.0
3787 | array-unique: 0.3.2
3788 | braces: 2.3.2
3789 | define-property: 2.0.2
3790 | extend-shallow: 3.0.2
3791 | extglob: 2.0.4
3792 | fragment-cache: 0.2.1
3793 | kind-of: 6.0.3
3794 | nanomatch: 1.2.13
3795 | object.pick: 1.3.0
3796 | regex-not: 1.0.2
3797 | snapdragon: 0.8.2
3798 | to-regex: 3.0.2
3799 | transitivePeerDependencies:
3800 | - supports-color
3801 |
3802 | micromatch@4.0.8:
3803 | dependencies:
3804 | braces: 3.0.3
3805 | picomatch: 2.3.1
3806 |
3807 | mime-db@1.33.0: {}
3808 |
3809 | mime-db@1.52.0: {}
3810 |
3811 | mime-db@1.53.0: {}
3812 |
3813 | mime-types@2.1.18:
3814 | dependencies:
3815 | mime-db: 1.33.0
3816 |
3817 | mime-types@2.1.35:
3818 | dependencies:
3819 | mime-db: 1.52.0
3820 |
3821 | mimic-fn@2.1.0: {}
3822 |
3823 | minimatch@3.1.2:
3824 | dependencies:
3825 | brace-expansion: 1.1.11
3826 |
3827 | minimist@1.2.8: {}
3828 |
3829 | mixin-deep@1.3.2:
3830 | dependencies:
3831 | for-in: 1.0.2
3832 | is-extendable: 1.0.1
3833 |
3834 | ms@2.0.0: {}
3835 |
3836 | ms@2.1.3: {}
3837 |
3838 | nanomatch@1.2.13:
3839 | dependencies:
3840 | arr-diff: 4.0.0
3841 | array-unique: 0.3.2
3842 | define-property: 2.0.2
3843 | extend-shallow: 3.0.2
3844 | fragment-cache: 0.2.1
3845 | is-windows: 1.0.2
3846 | kind-of: 6.0.3
3847 | object.pick: 1.3.0
3848 | regex-not: 1.0.2
3849 | snapdragon: 0.8.2
3850 | to-regex: 3.0.2
3851 | transitivePeerDependencies:
3852 | - supports-color
3853 |
3854 | natural-compare@1.4.0: {}
3855 |
3856 | negotiator@0.6.3: {}
3857 |
3858 | nice-try@1.0.5: {}
3859 |
3860 | node-int64@0.4.0: {}
3861 |
3862 | node-releases@2.0.19: {}
3863 |
3864 | normalize-path@2.1.1:
3865 | dependencies:
3866 | remove-trailing-separator: 1.1.0
3867 |
3868 | normalize-path@3.0.0: {}
3869 |
3870 | npm-run-path@2.0.2:
3871 | dependencies:
3872 | path-key: 2.0.1
3873 |
3874 | npm-run-path@4.0.1:
3875 | dependencies:
3876 | path-key: 3.1.1
3877 |
3878 | object-copy@0.1.0:
3879 | dependencies:
3880 | copy-descriptor: 0.1.1
3881 | define-property: 0.2.5
3882 | kind-of: 3.2.2
3883 |
3884 | object-visit@1.0.1:
3885 | dependencies:
3886 | isobject: 3.0.1
3887 |
3888 | object.pick@1.3.0:
3889 | dependencies:
3890 | isobject: 3.0.1
3891 |
3892 | on-headers@1.0.2: {}
3893 |
3894 | once@1.4.0:
3895 | dependencies:
3896 | wrappy: 1.0.2
3897 |
3898 | onetime@5.1.2:
3899 | dependencies:
3900 | mimic-fn: 2.1.0
3901 |
3902 | p-finally@1.0.0: {}
3903 |
3904 | p-limit@2.3.0:
3905 | dependencies:
3906 | p-try: 2.2.0
3907 |
3908 | p-limit@3.1.0:
3909 | dependencies:
3910 | yocto-queue: 0.1.0
3911 |
3912 | p-locate@4.1.0:
3913 | dependencies:
3914 | p-limit: 2.3.0
3915 |
3916 | p-try@2.2.0: {}
3917 |
3918 | parse-json@5.2.0:
3919 | dependencies:
3920 | '@babel/code-frame': 7.26.2
3921 | error-ex: 1.3.2
3922 | json-parse-even-better-errors: 2.3.1
3923 | lines-and-columns: 1.2.4
3924 |
3925 | pascalcase@0.1.1: {}
3926 |
3927 | path-exists@4.0.0: {}
3928 |
3929 | path-is-absolute@1.0.1: {}
3930 |
3931 | path-is-inside@1.0.2: {}
3932 |
3933 | path-key@2.0.1: {}
3934 |
3935 | path-key@3.1.1: {}
3936 |
3937 | path-parse@1.0.7: {}
3938 |
3939 | path-to-regexp@3.3.0: {}
3940 |
3941 | picocolors@1.1.1: {}
3942 |
3943 | picomatch@2.3.1: {}
3944 |
3945 | pirates@4.0.6: {}
3946 |
3947 | pkg-dir@4.2.0:
3948 | dependencies:
3949 | find-up: 4.1.0
3950 |
3951 | posix-character-classes@0.1.1: {}
3952 |
3953 | pretty-format@29.7.0:
3954 | dependencies:
3955 | '@jest/schemas': 29.6.3
3956 | ansi-styles: 5.2.0
3957 | react-is: 18.3.1
3958 |
3959 | prompts@2.4.2:
3960 | dependencies:
3961 | kleur: 3.0.3
3962 | sisteransi: 1.0.5
3963 |
3964 | pump@3.0.2:
3965 | dependencies:
3966 | end-of-stream: 1.4.4
3967 | once: 1.4.0
3968 |
3969 | punycode@2.3.1: {}
3970 |
3971 | pure-rand@6.1.0: {}
3972 |
3973 | range-parser@1.2.0: {}
3974 |
3975 | rc@1.2.8:
3976 | dependencies:
3977 | deep-extend: 0.6.0
3978 | ini: 1.3.8
3979 | minimist: 1.2.8
3980 | strip-json-comments: 2.0.1
3981 |
3982 | react-is@18.3.1: {}
3983 |
3984 | regex-not@1.0.2:
3985 | dependencies:
3986 | extend-shallow: 3.0.2
3987 | safe-regex: 1.1.0
3988 |
3989 | registry-auth-token@3.3.2:
3990 | dependencies:
3991 | rc: 1.2.8
3992 | safe-buffer: 5.2.1
3993 |
3994 | registry-url@3.1.0:
3995 | dependencies:
3996 | rc: 1.2.8
3997 |
3998 | remove-trailing-separator@1.1.0: {}
3999 |
4000 | repeat-element@1.1.4: {}
4001 |
4002 | repeat-string@1.6.1: {}
4003 |
4004 | require-directory@2.1.1: {}
4005 |
4006 | require-from-string@2.0.2: {}
4007 |
4008 | resolve-cwd@3.0.0:
4009 | dependencies:
4010 | resolve-from: 5.0.0
4011 |
4012 | resolve-from@5.0.0: {}
4013 |
4014 | resolve-url@0.2.1: {}
4015 |
4016 | resolve.exports@2.0.3: {}
4017 |
4018 | resolve@1.22.10:
4019 | dependencies:
4020 | is-core-module: 2.16.1
4021 | path-parse: 1.0.7
4022 | supports-preserve-symlinks-flag: 1.0.0
4023 |
4024 | ret@0.1.15: {}
4025 |
4026 | rsvp@4.8.5: {}
4027 |
4028 | safe-buffer@5.1.2: {}
4029 |
4030 | safe-buffer@5.2.1: {}
4031 |
4032 | safe-regex@1.1.0:
4033 | dependencies:
4034 | ret: 0.1.15
4035 |
4036 | sane@4.1.0:
4037 | dependencies:
4038 | '@cnakazawa/watch': 1.0.4
4039 | anymatch: 2.0.0
4040 | capture-exit: 2.0.0
4041 | exec-sh: 0.3.6
4042 | execa: 1.0.0
4043 | fb-watchman: 2.0.2
4044 | micromatch: 3.1.10
4045 | minimist: 1.2.8
4046 | walker: 1.0.8
4047 | transitivePeerDependencies:
4048 | - supports-color
4049 |
4050 | semver@5.7.2: {}
4051 |
4052 | semver@6.3.1: {}
4053 |
4054 | semver@7.7.0: {}
4055 |
4056 | serve-handler@6.1.6:
4057 | dependencies:
4058 | bytes: 3.0.0
4059 | content-disposition: 0.5.2
4060 | mime-types: 2.1.18
4061 | minimatch: 3.1.2
4062 | path-is-inside: 1.0.2
4063 | path-to-regexp: 3.3.0
4064 | range-parser: 1.2.0
4065 |
4066 | serve@14.2.4:
4067 | dependencies:
4068 | '@zeit/schemas': 2.36.0
4069 | ajv: 8.12.0
4070 | arg: 5.0.2
4071 | boxen: 7.0.0
4072 | chalk: 5.0.1
4073 | chalk-template: 0.4.0
4074 | clipboardy: 3.0.0
4075 | compression: 1.7.4
4076 | is-port-reachable: 4.0.0
4077 | serve-handler: 6.1.6
4078 | update-check: 1.5.4
4079 | transitivePeerDependencies:
4080 | - supports-color
4081 |
4082 | set-value@2.0.1:
4083 | dependencies:
4084 | extend-shallow: 2.0.1
4085 | is-extendable: 0.1.1
4086 | is-plain-object: 2.0.4
4087 | split-string: 3.1.0
4088 |
4089 | shebang-command@1.2.0:
4090 | dependencies:
4091 | shebang-regex: 1.0.0
4092 |
4093 | shebang-command@2.0.0:
4094 | dependencies:
4095 | shebang-regex: 3.0.0
4096 |
4097 | shebang-regex@1.0.0: {}
4098 |
4099 | shebang-regex@3.0.0: {}
4100 |
4101 | signal-exit@3.0.7: {}
4102 |
4103 | sisteransi@1.0.5: {}
4104 |
4105 | slash@3.0.0: {}
4106 |
4107 | snapdragon-node@2.1.1:
4108 | dependencies:
4109 | define-property: 1.0.0
4110 | isobject: 3.0.1
4111 | snapdragon-util: 3.0.1
4112 |
4113 | snapdragon-util@3.0.1:
4114 | dependencies:
4115 | kind-of: 3.2.2
4116 |
4117 | snapdragon@0.8.2:
4118 | dependencies:
4119 | base: 0.11.2
4120 | debug: 2.6.9
4121 | define-property: 0.2.5
4122 | extend-shallow: 2.0.1
4123 | map-cache: 0.2.2
4124 | source-map: 0.5.7
4125 | source-map-resolve: 0.5.3
4126 | use: 3.1.1
4127 | transitivePeerDependencies:
4128 | - supports-color
4129 |
4130 | source-map-resolve@0.5.3:
4131 | dependencies:
4132 | atob: 2.1.2
4133 | decode-uri-component: 0.2.2
4134 | resolve-url: 0.2.1
4135 | source-map-url: 0.4.1
4136 | urix: 0.1.0
4137 |
4138 | source-map-support@0.5.13:
4139 | dependencies:
4140 | buffer-from: 1.1.2
4141 | source-map: 0.6.1
4142 |
4143 | source-map-url@0.4.1: {}
4144 |
4145 | source-map@0.5.7: {}
4146 |
4147 | source-map@0.6.1: {}
4148 |
4149 | split-string@3.1.0:
4150 | dependencies:
4151 | extend-shallow: 3.0.2
4152 |
4153 | sprintf-js@1.0.3: {}
4154 |
4155 | stack-utils@2.0.6:
4156 | dependencies:
4157 | escape-string-regexp: 2.0.0
4158 |
4159 | static-extend@0.1.2:
4160 | dependencies:
4161 | define-property: 0.2.5
4162 | object-copy: 0.1.0
4163 |
4164 | string-length@4.0.2:
4165 | dependencies:
4166 | char-regex: 1.0.2
4167 | strip-ansi: 6.0.1
4168 |
4169 | string-width@4.2.3:
4170 | dependencies:
4171 | emoji-regex: 8.0.0
4172 | is-fullwidth-code-point: 3.0.0
4173 | strip-ansi: 6.0.1
4174 |
4175 | string-width@5.1.2:
4176 | dependencies:
4177 | eastasianwidth: 0.2.0
4178 | emoji-regex: 9.2.2
4179 | strip-ansi: 7.1.0
4180 |
4181 | strip-ansi@6.0.1:
4182 | dependencies:
4183 | ansi-regex: 5.0.1
4184 |
4185 | strip-ansi@7.1.0:
4186 | dependencies:
4187 | ansi-regex: 6.1.0
4188 |
4189 | strip-bom@4.0.0: {}
4190 |
4191 | strip-eof@1.0.0: {}
4192 |
4193 | strip-final-newline@2.0.0: {}
4194 |
4195 | strip-json-comments@2.0.1: {}
4196 |
4197 | strip-json-comments@3.1.1: {}
4198 |
4199 | supports-color@7.2.0:
4200 | dependencies:
4201 | has-flag: 4.0.0
4202 |
4203 | supports-color@8.1.1:
4204 | dependencies:
4205 | has-flag: 4.0.0
4206 |
4207 | supports-preserve-symlinks-flag@1.0.0: {}
4208 |
4209 | test-exclude@6.0.0:
4210 | dependencies:
4211 | '@istanbuljs/schema': 0.1.3
4212 | glob: 7.2.3
4213 | minimatch: 3.1.2
4214 |
4215 | tmpl@1.0.5: {}
4216 |
4217 | to-object-path@0.3.0:
4218 | dependencies:
4219 | kind-of: 3.2.2
4220 |
4221 | to-regex-range@2.1.1:
4222 | dependencies:
4223 | is-number: 3.0.0
4224 | repeat-string: 1.6.1
4225 |
4226 | to-regex-range@5.0.1:
4227 | dependencies:
4228 | is-number: 7.0.0
4229 |
4230 | to-regex@3.0.2:
4231 | dependencies:
4232 | define-property: 2.0.2
4233 | extend-shallow: 3.0.2
4234 | regex-not: 1.0.2
4235 | safe-regex: 1.1.0
4236 |
4237 | ts-node@10.9.2(@types/node@22.13.0)(typescript@5.7.3):
4238 | dependencies:
4239 | '@cspotcode/source-map-support': 0.8.1
4240 | '@tsconfig/node10': 1.0.11
4241 | '@tsconfig/node12': 1.0.11
4242 | '@tsconfig/node14': 1.0.3
4243 | '@tsconfig/node16': 1.0.4
4244 | '@types/node': 22.13.0
4245 | acorn: 8.14.0
4246 | acorn-walk: 8.3.4
4247 | arg: 4.1.3
4248 | create-require: 1.1.1
4249 | diff: 4.0.2
4250 | make-error: 1.3.6
4251 | typescript: 5.7.3
4252 | v8-compile-cache-lib: 3.0.1
4253 | yn: 3.1.1
4254 |
4255 | type-detect@4.0.8: {}
4256 |
4257 | type-fest@0.21.3: {}
4258 |
4259 | type-fest@2.19.0: {}
4260 |
4261 | typedarray-to-buffer@3.1.5:
4262 | dependencies:
4263 | is-typedarray: 1.0.0
4264 |
4265 | typescript@5.7.3: {}
4266 |
4267 | undici-types@6.20.0: {}
4268 |
4269 | union-value@1.0.1:
4270 | dependencies:
4271 | arr-union: 3.1.0
4272 | get-value: 2.0.6
4273 | is-extendable: 0.1.1
4274 | set-value: 2.0.1
4275 |
4276 | unset-value@1.0.0:
4277 | dependencies:
4278 | has-value: 0.3.1
4279 | isobject: 3.0.1
4280 |
4281 | update-browserslist-db@1.1.2(browserslist@4.24.4):
4282 | dependencies:
4283 | browserslist: 4.24.4
4284 | escalade: 3.2.0
4285 | picocolors: 1.1.1
4286 |
4287 | update-check@1.5.4:
4288 | dependencies:
4289 | registry-auth-token: 3.3.2
4290 | registry-url: 3.1.0
4291 |
4292 | uri-js@4.4.1:
4293 | dependencies:
4294 | punycode: 2.3.1
4295 |
4296 | urix@0.1.0: {}
4297 |
4298 | use@3.1.1: {}
4299 |
4300 | v8-compile-cache-lib@3.0.1: {}
4301 |
4302 | v8-to-istanbul@9.3.0:
4303 | dependencies:
4304 | '@jridgewell/trace-mapping': 0.3.25
4305 | '@types/istanbul-lib-coverage': 2.0.6
4306 | convert-source-map: 2.0.0
4307 |
4308 | vary@1.1.2: {}
4309 |
4310 | walker@1.0.8:
4311 | dependencies:
4312 | makeerror: 1.0.12
4313 |
4314 | which@1.3.1:
4315 | dependencies:
4316 | isexe: 2.0.0
4317 |
4318 | which@2.0.2:
4319 | dependencies:
4320 | isexe: 2.0.0
4321 |
4322 | widest-line@4.0.1:
4323 | dependencies:
4324 | string-width: 5.1.2
4325 |
4326 | wrap-ansi@7.0.0:
4327 | dependencies:
4328 | ansi-styles: 4.3.0
4329 | string-width: 4.2.3
4330 | strip-ansi: 6.0.1
4331 |
4332 | wrap-ansi@8.1.0:
4333 | dependencies:
4334 | ansi-styles: 6.2.1
4335 | string-width: 5.1.2
4336 | strip-ansi: 7.1.0
4337 |
4338 | wrappy@1.0.2: {}
4339 |
4340 | write-file-atomic@3.0.3:
4341 | dependencies:
4342 | imurmurhash: 0.1.4
4343 | is-typedarray: 1.0.0
4344 | signal-exit: 3.0.7
4345 | typedarray-to-buffer: 3.1.5
4346 |
4347 | write-file-atomic@4.0.2:
4348 | dependencies:
4349 | imurmurhash: 0.1.4
4350 | signal-exit: 3.0.7
4351 |
4352 | y18n@5.0.8: {}
4353 |
4354 | yallist@3.1.1: {}
4355 |
4356 | yargs-parser@21.1.1: {}
4357 |
4358 | yargs@17.7.2:
4359 | dependencies:
4360 | cliui: 8.0.1
4361 | escalade: 3.2.0
4362 | get-caller-file: 2.0.5
4363 | require-directory: 2.1.1
4364 | string-width: 4.2.3
4365 | y18n: 5.0.8
4366 | yargs-parser: 21.1.1
4367 |
4368 | yn@3.1.1: {}
4369 |
4370 | yocto-queue@0.1.0: {}
4371 |
--------------------------------------------------------------------------------
/src/cli.ts:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env node
2 |
3 | import readline from 'node:readline'
4 | import { stdin as input, stdout as output } from 'node:process'
5 | import { checkPassword } from './index'
6 |
7 | const args = process.argv.slice(2)
8 |
9 | async function promptPassword(): Promise {
10 | const rl = readline.createInterface({ input, output })
11 |
12 | return new Promise(resolve => {
13 | rl.question('Enter password to check: ', (answer) => {
14 | rl.close()
15 | resolve(answer)
16 | })
17 | })
18 | }
19 |
20 | async function main() {
21 | try {
22 | const password = args[0] || await promptPassword()
23 | const result = await checkPassword(password)
24 | console.log(`Password ${result.isLeaked ? 'has' : 'has not'} been compromised`)
25 | console.log('Password strength:', JSON.stringify(result.strength, null, 2))
26 | process.exit(result.isLeaked ? 1 : 0)
27 | } catch (error) {
28 | console.error('Error:', error.message)
29 | process.exit(1)
30 | }
31 | }
32 |
33 | main()
34 |
--------------------------------------------------------------------------------
/src/index.ts:
--------------------------------------------------------------------------------
1 | import { passwordStrength } from 'check-password-strength'
2 |
3 | const crypto = globalThis.crypto
4 |
5 | export default isPasswordLeaked
6 | globalThis.isPasswordLeaked = isPasswordLeaked
7 | globalThis.checkPassword = checkPassword
8 | globalThis.checkPasswordStrength = checkPasswordStrength
9 |
10 | export async function checkPassword(password: string) {
11 | return {
12 | strength: passwordStrength(password),
13 | isLeaked: await isPasswordLeaked(password)
14 | }
15 | }
16 |
17 | export function checkPasswordStrength(password: string) {
18 | return passwordStrength(password)
19 | }
20 |
21 | export async function isPasswordLeaked(password: string) {
22 | if (typeof password !== 'string') throw new Error('Password must be a string')
23 |
24 | const hashedPassword = await crypto.subtle.digest('SHA-1', new TextEncoder().encode(password))
25 | const hashedPasswordString = Array.from(new Uint8Array(hashedPassword)).map(b => b.toString(16).padStart(2, '0')).join('')
26 | const firstFive = hashedPasswordString.substring(0, 5).toUpperCase()
27 | const response = await fetch(`https://api.pwnedpasswords.com/range/${firstFive}`)
28 | const data = await response.text()
29 |
30 | return data.includes(hashedPasswordString.substring(5).toUpperCase())
31 | }
32 |
33 | export function isPasswordLeakedSync(password: string, callback: (error: Error | null, isLeaked: boolean) => void) {
34 | if (typeof password !== 'string') {
35 | callback(new Error('Password must be a string'), false)
36 | return
37 | }
38 |
39 | crypto.subtle.digest('SHA-1', new TextEncoder().encode(password))
40 | .catch(error => callback(error, false))
41 | .then(hashedPassword => {
42 | const hashedPasswordString = Array.from(new Uint8Array(hashedPassword as ArrayBuffer)).map(b => b.toString(16).padStart(2, '0')).join('')
43 | const firstFive = hashedPasswordString.substring(0, 5).toUpperCase()
44 | fetch(`https://api.pwnedpasswords.com/range/${firstFive}`)
45 | .then(response => response.text())
46 | .then(data => callback(null, data.includes(hashedPasswordString.substring(5).toUpperCase())))
47 | .catch(error => callback(error, false))
48 | })
49 | }
50 |
--------------------------------------------------------------------------------
/tests/index.test.ts:
--------------------------------------------------------------------------------
1 | import { checkPassword, checkPasswordStrength, isPasswordLeaked, isPasswordLeakedSync } from '../src'
2 |
3 | describe('isPasswordLeaked', () => {
4 | test('Leaked password detected', async () => {
5 | expect(await isPasswordLeaked('password')).toBe(true)
6 | const syncCallback = jest.fn((error, isLeaked) => {
7 | expect(error).toBeNull()
8 | expect(isLeaked).toBe(true)
9 | })
10 |
11 | isPasswordLeakedSync('password', syncCallback)
12 | })
13 |
14 | test('Non-leaked password not detected', async () => {
15 | expect(await isPasswordLeaked(Math.random().toString(36))).toBe(false)
16 | const syncCallback = jest.fn((error, isLeaked) => {
17 | expect(error).toBeNull()
18 | expect(isLeaked).toBe(false)
19 | })
20 |
21 | isPasswordLeakedSync(Math.random().toString(36), syncCallback)
22 | })
23 |
24 | test('Non-string input throws an error', async () => {
25 | await expect(isPasswordLeaked(123 as any)).rejects.toThrow()
26 | const syncCallback = jest.fn((error, isLeaked) => {
27 | expect(error).toBeInstanceOf(Error)
28 | expect(isLeaked).toBe(false)
29 | })
30 |
31 | isPasswordLeakedSync(123 as any, syncCallback)
32 | })
33 | })
34 |
35 | describe('checkPassword', () => {
36 | test('Returns strength and isLeaked', async () => {
37 | const result = await checkPassword(Math.random().toString(36))
38 | expect(result.strength.id).toBeGreaterThan(0)
39 | expect(result.isLeaked).toBe(false)
40 | })
41 | })
42 |
43 | describe('checkPasswordStrength', () => {
44 | test('Returns strength', () => {
45 | const strength = checkPasswordStrength(Math.random().toString(36))
46 | expect(strength.id).toBeGreaterThan(0)
47 | })
48 | })
49 |
--------------------------------------------------------------------------------
/ui.css:
--------------------------------------------------------------------------------
1 | :root {
2 | --primary-color: #6366f1;
3 | --danger-color: #ef4444;
4 | --success-color: #22c55e;
5 | --background-color: #f8fafc;
6 | --card-background: #ffffff;
7 | --text-color: #1e293b;
8 | }
9 |
10 | * {
11 | margin: 0;
12 | padding: 0;
13 | box-sizing: border-box;
14 | }
15 |
16 | body {
17 | font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
18 | background-color: var(--background-color);
19 | color: var(--text-color);
20 | line-height: 1.5;
21 | min-height: 100vh;
22 | display: flex;
23 | align-items: center;
24 | justify-content: center;
25 | }
26 |
27 | .container {
28 | padding: 1.5rem;
29 | width: 100%;
30 | max-width: 480px;
31 | }
32 |
33 | .card {
34 | background: var(--card-background);
35 | padding: 2rem;
36 | border-radius: 1rem;
37 | box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
38 | }
39 |
40 | h1 {
41 | font-size: 1.875rem;
42 | font-weight: 700;
43 | margin-bottom: 0.5rem;
44 | color: var(--text-color);
45 | }
46 |
47 | .description {
48 | color: #64748b;
49 | margin-bottom: 1.5rem;
50 | }
51 |
52 | .input-group {
53 | position: relative;
54 | margin-bottom: 1.5rem;
55 | }
56 |
57 | input {
58 | width: 100%;
59 | padding: 0.75rem 1rem;
60 | padding-right: 3rem;
61 | border: 2px solid #e2e8f0;
62 | border-radius: 0.5rem;
63 | font-size: 1rem;
64 | transition: all 0.2s;
65 | }
66 |
67 | input:focus {
68 | outline: none;
69 | border-color: var(--primary-color);
70 | box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.1);
71 | }
72 |
73 | .visibility-toggle {
74 | position: absolute;
75 | right: 0.75rem;
76 | top: 50%;
77 | transform: translateY(-50%);
78 | background: none;
79 | border: none;
80 | cursor: pointer;
81 | padding: 0.25rem;
82 | }
83 |
84 | .check-button {
85 | width: 100%;
86 | padding: 0.75rem 1.5rem;
87 | background-color: var(--primary-color);
88 | color: white;
89 | border: none;
90 | border-radius: 0.5rem;
91 | font-size: 1rem;
92 | font-weight: 500;
93 | cursor: pointer;
94 | transition: all 0.2s;
95 | position: relative;
96 | }
97 |
98 | .check-button:hover {
99 | background-color: #4f46e5;
100 | }
101 |
102 | .check-button:disabled {
103 | opacity: 0.7;
104 | cursor: not-allowed;
105 | }
106 |
107 | .spinner {
108 | display: none;
109 | width: 1.25rem;
110 | height: 1.25rem;
111 | border: 2px solid #ffffff;
112 | border-top-color: transparent;
113 | border-radius: 50%;
114 | position: absolute;
115 | right: 1rem;
116 | top: 50%;
117 | transform: translateY(-50%);
118 | animation: spin 1s linear infinite;
119 | }
120 |
121 | @keyframes spin {
122 | to { transform: translateY(-50%) rotate(360deg); }
123 | }
124 |
125 | .result {
126 | margin-top: 1.5rem;
127 | padding: 1rem;
128 | border-radius: 0.5rem;
129 | display: none;
130 | align-items: center;
131 | gap: 0.75rem;
132 | text-align: left;
133 | }
134 |
135 | .result.danger {
136 | background-color: #fef2f2;
137 | border: 1px solid #fee2e2;
138 | color: var(--danger-color);
139 | display: flex;
140 | }
141 |
142 | .result.success {
143 | background-color: #f0fdf4;
144 | border: 1px solid #dcfce7;
145 | color: var(--success-color);
146 | display: flex;
147 | }
148 |
149 | .result-icon {
150 | font-size: 1.5rem;
151 | }
152 |
153 | .result-text {
154 | font-size: 0.875rem;
155 | font-weight: 500;
156 | }
157 |
158 | @keyframes fadeIn {
159 | from { opacity: 0; transform: translateY(-10px); }
160 | to { opacity: 1; transform: translateY(0); }
161 | }
162 |
163 | .result.animate {
164 | animation: fadeIn 0.3s ease-out;
165 | }
166 |
167 | .password-strength-bar {
168 | width: 100%;
169 | height: 1rem;
170 | margin-top: 1.5rem;
171 | background: #eee;
172 | border-radius: 4px;
173 | overflow: hidden;
174 | }
175 |
176 | .password-strength-bar-fill {
177 | height: 100%;
178 | width: 0%;
179 | border-radius: 4px;
180 | transition: all 0.3s ease;
181 | }
182 |
183 | .password-strength-bar-fill.weak {
184 | width: 25%;
185 | background: #ef4444;
186 | }
187 |
188 | .password-strength-bar-fill.fair {
189 | width: 50%;
190 | background: #f97316;
191 | }
192 |
193 | .password-strength-bar-fill.good {
194 | width: 75%;
195 | background: #f97316;
196 | }
197 |
198 | .password-strength-bar-fill.strong {
199 | width: 100%;
200 | background: #22c55e;
201 | }
202 |
203 | footer {
204 | margin-top: 2rem;
205 | text-align: center;
206 | color: #666;
207 | font-size: 0.9rem;
208 | display: flex;
209 | flex-direction: column;
210 | gap: 0.5rem;
211 | align-items: center;
212 | }
213 |
214 | footer a {
215 | font-weight: 700;
216 | color: #666;
217 | transition: color 0.2s ease;
218 | }
219 |
220 | footer a:hover {
221 | color: #333;
222 | }
223 |
224 | .github-link {
225 | display: flex;
226 | align-items: center;
227 | gap: 0.5rem;
228 | padding: 0.5rem 1rem;
229 | border-radius: 6px;
230 | background: #f5f5f5;
231 | transition: background 0.2s ease;
232 | }
233 |
234 | .github-link:hover {
235 | background: #eee;
236 | }
237 |
238 | .github-icon {
239 | color: #333;
240 | }
241 |
242 | .npm-link {
243 | display: flex;
244 | align-items: center;
245 | gap: 0.5rem;
246 | padding: 0.5rem 1rem;
247 | border-radius: 6px;
248 | background: #f5f5f5;
249 | transition: background 0.2s ease;
250 | }
251 |
252 | .npm-link:hover {
253 | background: #eee;
254 | }
255 |
256 | .npm-icon {
257 | color: #333;
258 | }
259 |
260 | .info-link {
261 | font-size: 0.85rem;
262 | text-decoration: underline;
263 | opacity: 0.8;
264 | }
265 |
266 | .info-link:hover {
267 | opacity: 1;
268 | }
269 |
270 | #confetti {
271 | pointer-events: none
272 | }
273 |
274 | .warning-overlay {
275 | position: fixed;
276 | top: 0;
277 | left: 0;
278 | right: 0;
279 | bottom: 0;
280 | pointer-events: none;
281 | z-index: 1000;
282 | animation: pulse 1s ease-in-out infinite;
283 | background: rgba(255, 0, 0, 0.1);
284 | }
285 |
286 | .warning-light {
287 | position: absolute;
288 | width: 100px;
289 | height: 100px;
290 | border-radius: 50%;
291 | background: radial-gradient(circle, rgba(255,0,0,0.8) 0%, rgba(255,0,0,0) 70%);
292 | animation: rotate 2s linear infinite;
293 | }
294 |
295 | .warning-light:nth-child(1) {
296 | top: 0;
297 | left: 0;
298 | animation-delay: 0s;
299 | }
300 |
301 | .warning-light:nth-child(2) {
302 | top: 0;
303 | right: 0;
304 | animation-delay: 0.5s;
305 | }
306 |
307 | .warning-light:nth-child(3) {
308 | bottom: 0;
309 | left: 0;
310 | animation-delay: 1s;
311 | }
312 |
313 | .warning-light:nth-child(4) {
314 | bottom: 0;
315 | right: 0;
316 | animation-delay: 1.5s;
317 | }
318 |
319 | @keyframes pulse {
320 | 0% { background: rgba(255, 0, 0, 0.1); }
321 | 50% { background: rgba(255, 0, 0, 0.2); }
322 | 100% { background: rgba(255, 0, 0, 0.1); }
323 | }
324 |
325 | @keyframes rotate {
326 | 0% { transform: scale(0.8); opacity: 0.8; }
327 | 50% { transform: scale(1.2); opacity: 0.5; }
328 | 100% { transform: scale(0.8); opacity: 0.8; }
329 | }
330 |
331 | .warning-overlay.fade-out {
332 | animation: fadeOut 0.5s forwards;
333 | }
334 |
335 | @keyframes fadeOut {
336 | from { opacity: 1; }
337 | to { opacity: 0; }
338 | }
339 |
340 | .result.danger {
341 | animation: shake 0.5s cubic-bezier(.36,.07,.19,.97) both;
342 | }
343 |
344 | @keyframes shake {
345 | 10%, 90% { transform: translate3d(-1px, 0, 0); }
346 | 20%, 80% { transform: translate3d(2px, 0, 0); }
347 | 30%, 50%, 70% { transform: translate3d(-4px, 0, 0); }
348 | 40%, 60% { transform: translate3d(4px, 0, 0); }
349 | }
--------------------------------------------------------------------------------
/ui.js:
--------------------------------------------------------------------------------
1 | const passwordInput = document.getElementById('passwordInput')
2 | const checkButton = document.getElementById('checkButton')
3 | const resultDiv = document.getElementById('result')
4 | const visibilityToggle = document.querySelector('.visibility-toggle')
5 |
6 | function setLoading(loading) {
7 | checkButton.disabled = loading
8 | checkButton.querySelector('.spinner').style.display = loading ? 'block' : 'none'
9 | checkButton.querySelector('.button-text').style.opacity = loading ? '0' : '1'
10 | }
11 |
12 | function showResult(result, password) {
13 | const { isLeaked, strength } = result
14 | resultDiv.className = 'result animate ' + (isLeaked ? 'danger' : 'success')
15 | resultDiv.style.display = 'flex'
16 |
17 | const icon = resultDiv.querySelector('.result-icon')
18 | const text = resultDiv.querySelector('.result-text')
19 |
20 | if (isLeaked) {
21 | icon.textContent = '⚠️'
22 | text.textContent = 'This password has been found in data breaches. Please choose a different password.'
23 | createWarningEffect()
24 | } else {
25 | icon.textContent = '✅'
26 | text.textContent = 'Good news! This password hasn\'t been found in any known data breaches.'
27 | confetti()
28 | }
29 |
30 | const strengthMeter = document.querySelector('.password-strength-bar-fill')
31 | const strengthText = document.querySelector('.password-strength-text')
32 |
33 | let strengthClass
34 | let strengthLabel
35 |
36 | switch (strength.id) {
37 | case 0:
38 | strengthClass = 'weak'
39 | strengthLabel = 'Your password is too weak'
40 | break
41 | case 1:
42 | strengthClass = 'fair'
43 | strengthLabel = 'Your password is weak'
44 | break
45 | case 2:
46 | strengthClass = 'good'
47 | strengthLabel = 'Your password is decent'
48 | break
49 | case 3:
50 | strengthClass = 'strong'
51 | strengthLabel = 'Your password is strong'
52 | break
53 | default:
54 | strengthClass = 'weak'
55 | strengthLabel = 'Your password is too weak'
56 | }
57 |
58 | strengthMeter.className = 'password-strength-bar-fill ' + strengthClass
59 | strengthText.textContent = strengthLabel
60 | }
61 |
62 | function createWarningEffect() {
63 | const existingOverlay = document.querySelector('.warning-overlay')
64 | if (existingOverlay) existingOverlay.remove()
65 |
66 | const overlay = document.createElement('div')
67 | overlay.className = 'warning-overlay'
68 |
69 | for (let i = 0; i < 4; i++) {
70 | const light = document.createElement('div')
71 | light.className = 'warning-light'
72 | overlay.appendChild(light)
73 | }
74 |
75 | document.body.appendChild(overlay)
76 |
77 | setTimeout(() => {
78 | overlay.classList.add('fade-out')
79 | setTimeout(() => overlay.remove(), 500)
80 | }, 3000)
81 | }
82 |
83 | async function checkPassword() {
84 | const password = passwordInput.value.trim()
85 |
86 | if (!password) {
87 | passwordInput.focus()
88 | return
89 | }
90 |
91 | setLoading(true)
92 | resultDiv.style.display = 'none'
93 |
94 | try {
95 | if (location.hostname === 'localhost') await import('./dist/index.js')
96 | else await import('./index.js')
97 | showResult(await window.checkPassword(password), password)
98 | } catch (error) {
99 | console.error('Error checking password:', error)
100 | resultDiv.className = 'result animate danger'
101 | resultDiv.querySelector('.result-icon').textContent = '❌'
102 | resultDiv.querySelector('.result-text').textContent = 'An error occurred. Please try again.'
103 | } finally {
104 | setLoading(false)
105 | }
106 | }
107 |
108 | checkButton.addEventListener('click', checkPassword)
109 | passwordInput.addEventListener('keypress', (event) => event.key === 'Enter' && checkPassword())
110 |
111 | visibilityToggle.addEventListener('click', () => {
112 | const type = passwordInput.type === 'password' ? 'text' : 'password'
113 | passwordInput.type = type
114 | visibilityToggle.querySelector('.icon').textContent = type === 'password' ? '👁️' : '👁️🗨️'
115 | })
116 |
117 | passwordInput.addEventListener('input', () => resultDiv.style.display = 'none')
118 |
--------------------------------------------------------------------------------