├── .editorconfig
├── .eslintrc
├── .github
├── dependabot.yml
└── workflows
│ └── nodejs.yml
├── .gitignore
├── LICENSE
├── README.md
├── biome.json
├── lib
├── index.d.ts
└── index.js
├── package-lock.json
├── package.json
└── test
└── unit.test.js
/.editorconfig:
--------------------------------------------------------------------------------
1 | root = true
2 |
3 | [*]
4 | charset = utf-8
5 | indent_size = 2
6 | indent_style = space
7 | trim_trailing_whitespace = true
8 | insert_final_newline = true
9 |
10 | [*.md]
11 | trim_trailing_whitespace = false
12 |
--------------------------------------------------------------------------------
/.eslintrc:
--------------------------------------------------------------------------------
1 | {
2 | "parserOptions": {
3 | "sourceType": "module",
4 | "ecmaVersion": 2023
5 | },
6 | "plugins": ["@typescript-eslint"],
7 | "rules": {
8 | "indent": [2, 2, {"SwitchCase": 1}],
9 | "quotes": [2, "double"],
10 | "linebreak-style": [2, "unix"],
11 | "camelcase": [2, {"properties": "always"}],
12 | "brace-style": [2, "1tbs", {"allowSingleLine": true}]
13 | },
14 | "env": {
15 | "es6": true,
16 | "node": true,
17 | "browser": false
18 | },
19 | "extends": [
20 | "eslint:recommended",
21 | "plugin:@typescript-eslint/recommended"
22 | ]
23 | }
24 |
--------------------------------------------------------------------------------
/.github/dependabot.yml:
--------------------------------------------------------------------------------
1 | version: 2
2 | updates:
3 | - package-ecosystem: npm
4 | directory: "/"
5 | schedule:
6 | interval: weekly
7 |
--------------------------------------------------------------------------------
/.github/workflows/nodejs.yml:
--------------------------------------------------------------------------------
1 | # This workflow will do a clean install of node dependencies, build the source code and run tests across different versions of node
2 | # For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions
3 |
4 | name: build
5 |
6 | on:
7 | push:
8 | branches: [master]
9 | pull_request:
10 |
11 | jobs:
12 | build:
13 | runs-on: ubuntu-latest
14 |
15 | strategy:
16 | matrix:
17 | node-version: [18, 20]
18 |
19 | steps:
20 | - uses: actions/checkout@v4
21 | - name: Use Node.js ${{ matrix.node-version }}
22 | uses: actions/setup-node@v4
23 | with:
24 | node-version: ${{ matrix.node-version }}
25 | - run: npm ci
26 | - run: npm test
27 | env:
28 | CI: true
29 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | coverage
3 | *.log
4 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License (MIT)
2 |
3 | Copyright (c) Rasmus Fløe
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
13 | all 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
21 | THE SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
2 |

3 |
posthtml-match-helper
4 |
5 | Expand CSS selectors into PostHTML matcher objects
6 |
7 | [![Version][npm-version-shield]][npm]
8 | [![Build][github-ci-shield]][github-ci]
9 | [![License][license-shield]][license]
10 | [![Downloads][npm-stats-shield]][npm-stats]
11 |
12 |
13 | ## Introduction
14 |
15 | This PostHTML plugin can turn simple CSS selectors into [matcher objects](https://github.com/posthtml/posthtml/blob/master/README.md#match).
16 |
17 | Supported features:
18 |
19 | * Tags: `"div"` returns `{tag: "div"}`.
20 | * Ids: `"#bar"` returns `{attrs: {id: "bar"}}`.
21 | * Classes: `.foo` returns `{attrs: { class: /(?:^|\s)foo(?:\\s|$)/ }}`. Any number of classnames supported.
22 | * Attribute selectors: any number of standard [attribute selectors](https://developer.mozilla.org/en/docs/Web/CSS/Attribute_selectors) can be used1 including the following non-standard:
23 | * `[attr!=value]`: matches attributes with values that do not contain `value`.
24 | * Multiple node selectors: `"div, span"` returns `[{tag: "div"}, {tag: "span"}]`.
25 |
26 | **1** Multiple attribute selectors for the same attribute are not supported (this includes mixing classnames and attribute selectors matching `class`).
27 |
28 | The basic template for selectors (and order of features) looks like this:
29 |
30 | ```js
31 | "tag#id.class.name[attr*=value][otherattr^='start']"
32 | ```
33 |
34 | ## Basic usage
35 |
36 | ```js
37 | import matchHelper from "posthtml-match-helper";
38 |
39 | tree.match(matchHelper("div.class"), function (node) {
40 | // do stuff with matched node...
41 | });
42 | ```
43 |
44 | ## Advanced usage
45 |
46 | ```js
47 | import matchHelper from "posthtml-match-helper";
48 |
49 | tree.match(matchHelper("input.my-control[type!='radio'][checked], input[value^='foo'][checked]"), function (node) {
50 | // do stuff with node that matched either of the selectors...
51 | });
52 | ```
53 |
54 | ## Classnames with escaped characters
55 |
56 | If you need to match nodes with classnames that use escaped characters, like those in Tailwind CSS utilities with arbitrary values, use the following syntax:
57 |
58 | ```js
59 | import matchHelper from "posthtml-match-helper";
60 |
61 | tree.match(matchHelper("input.\\[display:none\\]"), function (node) {
62 | // do stuff with node that matched either of the selectors...
63 | });
64 | ```
65 |
66 |
67 | ## The helper function
68 |
69 | #### Arguments
70 |
71 | * `matcher` (string) - A CSS selector that describes the node you want to match in PostHTML.
72 |
73 | #### Returns
74 |
75 | A matcher object or an array of matcher objects.
76 |
77 | [npm]: https://www.npmjs.com/package/posthtml-match-helper
78 | [npm-version-shield]: https://img.shields.io/npm/v/posthtml-match-helper.svg
79 | [npm-stats]: http://npm-stat.com/charts.html?package=posthtml-match-helper
80 | [npm-stats-shield]: https://img.shields.io/npm/dt/posthtml-match-helper.svg
81 | [github-ci]: https://github.com/posthtml/posthtml-match-helper/actions/workflows/nodejs.yml
82 | [github-ci-shield]: https://github.com/posthtml/posthtml-match-helper/actions/workflows/nodejs.yml/badge.svg
83 | [license]: ./LICENSE
84 | [license-shield]: https://img.shields.io/npm/l/posthtml-match-helper.svg
85 |
--------------------------------------------------------------------------------
/biome.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "https://biomejs.dev/schemas/1.8.3/schema.json",
3 | "organizeImports": {
4 | "enabled": true
5 | },
6 | "linter": {
7 | "enabled": true,
8 | "rules": {
9 | "recommended": true,
10 | "style": {
11 | "noParameterAssign": "off",
12 | "useTemplate": "off"
13 | }
14 | }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/lib/index.d.ts:
--------------------------------------------------------------------------------
1 | import type { AttrMatcher, StringMatcher } from "posthtml";
2 |
3 | interface Matcher {
4 | tag?: StringMatcher;
5 | attrs: AttrMatcher;
6 | }
7 |
8 | declare function createMatcher(matcher: string | string[]): Matcher | Matcher[];
9 |
10 | export default createMatcher;
11 |
--------------------------------------------------------------------------------
/lib/index.js:
--------------------------------------------------------------------------------
1 | const selectorReg = /^([^#\.\[]+)?(?:#([^\.\[]+))?(?:\.((?:[^\[\]\\]|\\.)+))?((?:\[[^\]]*\])+)?$/; // eslint-disable-line
2 | const attributeReg = /^([a-zA-Z0-9_-]*[^~|^$*!=])(?:([~|^$*!]?)=['"]?([^'"]*)['"]?)?$/;
3 | const splitReg = /\s*,\s*/;
4 |
5 | function expandMatcher(matcher) {
6 | if (typeof matcher === "string") {
7 | const match = matcher.match(selectorReg);
8 |
9 | if (match) {
10 | matcher = {};
11 | const tag = match[1];
12 | const id = match[2];
13 | const className = match[3];
14 | const attrs = match[4];
15 | let attributes;
16 |
17 | if (tag) {
18 | matcher.tag = tag;
19 | }
20 |
21 | if (attrs) {
22 | attributes = expandAttributes(attrs);
23 | } else if (id || className) {
24 | attributes = {};
25 | }
26 |
27 | if (id) {
28 | attributes.id = id;
29 | }
30 |
31 | if (className) {
32 | attributes.class = new RegExp(getCombinations(className.split(".")).map((order) => {
33 | return "(?:^|\\s)" + order.join("\\s(?:.*?\\s)?") + "(?:\\s|$)";
34 | }).join("|"));
35 | }
36 |
37 | if (attributes) {
38 | matcher.attrs = attributes;
39 | }
40 | } else {
41 | matcher = {tag: matcher};
42 | }
43 | }
44 |
45 | return matcher;
46 | }
47 |
48 | function cssAttrToRegExp(value, operator) {
49 | let reg;
50 |
51 | switch (operator) {
52 | case "~":
53 | reg = "(?:^|\\s)" + value + "(?:\\s|$)";
54 | break;
55 |
56 | case "|":
57 | reg = "^" + value + "(?:-|$)";
58 | break;
59 |
60 | case "^":
61 | reg = "^" + value;
62 | break;
63 |
64 | case "$":
65 | reg = value + "$";
66 | break;
67 |
68 | case "*":
69 | reg = value;
70 | break;
71 |
72 | case "!":
73 | reg = "^((?!" + value + ")[\\s\\S])*$";
74 | break;
75 |
76 | default:
77 | reg = "^" + value + "$";
78 | break;
79 | }
80 |
81 | return new RegExp(reg);
82 | }
83 |
84 | function expandAttributes(attrs) {
85 | attrs = attrs.slice(1, -1);
86 |
87 | if (attrs.length > 0) {
88 | attrs = attrs.split("][");
89 | const attrObject = {};
90 | let l = attrs.length;
91 | let attrMatch;
92 | let name;
93 | let operator;
94 | let value;
95 |
96 | while (l--) {
97 | attrMatch = attrs[l].match(attributeReg);
98 |
99 | if (attrMatch) {
100 | name = attrMatch[1];
101 | operator = attrMatch[2];
102 | value = attrMatch[3];
103 |
104 | if (!value) {
105 | value = true;
106 | }
107 |
108 | attrObject[name] = (operator) ? cssAttrToRegExp(value, operator) : value;
109 | }
110 | }
111 |
112 | return attrObject;
113 | }
114 | }
115 |
116 | function getCombinations(values, subresult) {
117 | subresult = subresult || [];
118 | let result = [];
119 |
120 | for (const value of values) {
121 | if (subresult.indexOf(value) < 0) {
122 | const _subresult = subresult.concat([value]);
123 |
124 | if (_subresult.length < values.length) {
125 | result = result.concat(getCombinations(values, _subresult));
126 | } else {
127 | result.push(_subresult);
128 | }
129 | }
130 | }
131 |
132 | return result;
133 | }
134 |
135 | export default function (matcher) {
136 | if (typeof matcher === "string") {
137 | if (matcher.match(splitReg)) {
138 | matcher = matcher.split(splitReg);
139 | } else {
140 | return expandMatcher(matcher);
141 | }
142 | }
143 |
144 | if (Array.isArray(matcher)) {
145 | return matcher.map(expandMatcher);
146 | }
147 |
148 | return matcher;
149 | }
150 |
--------------------------------------------------------------------------------
/package-lock.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "posthtml-match-helper",
3 | "version": "2.0.3",
4 | "lockfileVersion": 2,
5 | "requires": true,
6 | "packages": {
7 | "": {
8 | "name": "posthtml-match-helper",
9 | "version": "2.0.3",
10 | "license": "MIT",
11 | "devDependencies": {
12 | "@biomejs/biome": "1.9.4",
13 | "@vitest/coverage-v8": "^3.0.4",
14 | "vitest": "^3.0.4"
15 | },
16 | "engines": {
17 | "node": ">=18"
18 | },
19 | "peerDependencies": {
20 | "posthtml": "^0.16.6"
21 | }
22 | },
23 | "node_modules/@ampproject/remapping": {
24 | "version": "2.3.0",
25 | "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz",
26 | "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==",
27 | "dev": true,
28 | "dependencies": {
29 | "@jridgewell/gen-mapping": "^0.3.5",
30 | "@jridgewell/trace-mapping": "^0.3.24"
31 | },
32 | "engines": {
33 | "node": ">=6.0.0"
34 | }
35 | },
36 | "node_modules/@babel/helper-string-parser": {
37 | "version": "7.25.9",
38 | "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz",
39 | "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==",
40 | "dev": true,
41 | "engines": {
42 | "node": ">=6.9.0"
43 | }
44 | },
45 | "node_modules/@babel/helper-validator-identifier": {
46 | "version": "7.25.9",
47 | "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz",
48 | "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==",
49 | "dev": true,
50 | "engines": {
51 | "node": ">=6.9.0"
52 | }
53 | },
54 | "node_modules/@babel/parser": {
55 | "version": "7.26.1",
56 | "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.1.tgz",
57 | "integrity": "sha512-reoQYNiAJreZNsJzyrDNzFQ+IQ5JFiIzAHJg9bn94S3l+4++J7RsIhNMoB+lgP/9tpmiAQqspv+xfdxTSzREOw==",
58 | "dev": true,
59 | "dependencies": {
60 | "@babel/types": "^7.26.0"
61 | },
62 | "bin": {
63 | "parser": "bin/babel-parser.js"
64 | },
65 | "engines": {
66 | "node": ">=6.0.0"
67 | }
68 | },
69 | "node_modules/@babel/types": {
70 | "version": "7.26.0",
71 | "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.0.tgz",
72 | "integrity": "sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA==",
73 | "dev": true,
74 | "dependencies": {
75 | "@babel/helper-string-parser": "^7.25.9",
76 | "@babel/helper-validator-identifier": "^7.25.9"
77 | },
78 | "engines": {
79 | "node": ">=6.9.0"
80 | }
81 | },
82 | "node_modules/@bcoe/v8-coverage": {
83 | "version": "1.0.2",
84 | "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-1.0.2.tgz",
85 | "integrity": "sha512-6zABk/ECA/QYSCQ1NGiVwwbQerUCZ+TQbp64Q3AgmfNvurHH0j8TtXa1qbShXA6qqkpAj4V5W8pP6mLe1mcMqA==",
86 | "dev": true,
87 | "license": "MIT",
88 | "engines": {
89 | "node": ">=18"
90 | }
91 | },
92 | "node_modules/@biomejs/biome": {
93 | "version": "1.9.4",
94 | "resolved": "https://registry.npmjs.org/@biomejs/biome/-/biome-1.9.4.tgz",
95 | "integrity": "sha512-1rkd7G70+o9KkTn5KLmDYXihGoTaIGO9PIIN2ZB7UJxFrWw04CZHPYiMRjYsaDvVV7hP1dYNRLxSANLaBFGpog==",
96 | "dev": true,
97 | "hasInstallScript": true,
98 | "bin": {
99 | "biome": "bin/biome"
100 | },
101 | "engines": {
102 | "node": ">=14.21.3"
103 | },
104 | "funding": {
105 | "type": "opencollective",
106 | "url": "https://opencollective.com/biome"
107 | },
108 | "optionalDependencies": {
109 | "@biomejs/cli-darwin-arm64": "1.9.4",
110 | "@biomejs/cli-darwin-x64": "1.9.4",
111 | "@biomejs/cli-linux-arm64": "1.9.4",
112 | "@biomejs/cli-linux-arm64-musl": "1.9.4",
113 | "@biomejs/cli-linux-x64": "1.9.4",
114 | "@biomejs/cli-linux-x64-musl": "1.9.4",
115 | "@biomejs/cli-win32-arm64": "1.9.4",
116 | "@biomejs/cli-win32-x64": "1.9.4"
117 | }
118 | },
119 | "node_modules/@biomejs/cli-darwin-arm64": {
120 | "version": "1.9.4",
121 | "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-1.9.4.tgz",
122 | "integrity": "sha512-bFBsPWrNvkdKrNCYeAp+xo2HecOGPAy9WyNyB/jKnnedgzl4W4Hb9ZMzYNbf8dMCGmUdSavlYHiR01QaYR58cw==",
123 | "cpu": [
124 | "arm64"
125 | ],
126 | "dev": true,
127 | "optional": true,
128 | "os": [
129 | "darwin"
130 | ],
131 | "engines": {
132 | "node": ">=14.21.3"
133 | }
134 | },
135 | "node_modules/@biomejs/cli-darwin-x64": {
136 | "version": "1.9.4",
137 | "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-x64/-/cli-darwin-x64-1.9.4.tgz",
138 | "integrity": "sha512-ngYBh/+bEedqkSevPVhLP4QfVPCpb+4BBe2p7Xs32dBgs7rh9nY2AIYUL6BgLw1JVXV8GlpKmb/hNiuIxfPfZg==",
139 | "cpu": [
140 | "x64"
141 | ],
142 | "dev": true,
143 | "optional": true,
144 | "os": [
145 | "darwin"
146 | ],
147 | "engines": {
148 | "node": ">=14.21.3"
149 | }
150 | },
151 | "node_modules/@biomejs/cli-linux-arm64": {
152 | "version": "1.9.4",
153 | "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64/-/cli-linux-arm64-1.9.4.tgz",
154 | "integrity": "sha512-fJIW0+LYujdjUgJJuwesP4EjIBl/N/TcOX3IvIHJQNsAqvV2CHIogsmA94BPG6jZATS4Hi+xv4SkBBQSt1N4/g==",
155 | "cpu": [
156 | "arm64"
157 | ],
158 | "dev": true,
159 | "optional": true,
160 | "os": [
161 | "linux"
162 | ],
163 | "engines": {
164 | "node": ">=14.21.3"
165 | }
166 | },
167 | "node_modules/@biomejs/cli-linux-arm64-musl": {
168 | "version": "1.9.4",
169 | "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-1.9.4.tgz",
170 | "integrity": "sha512-v665Ct9WCRjGa8+kTr0CzApU0+XXtRgwmzIf1SeKSGAv+2scAlW6JR5PMFo6FzqqZ64Po79cKODKf3/AAmECqA==",
171 | "cpu": [
172 | "arm64"
173 | ],
174 | "dev": true,
175 | "optional": true,
176 | "os": [
177 | "linux"
178 | ],
179 | "engines": {
180 | "node": ">=14.21.3"
181 | }
182 | },
183 | "node_modules/@biomejs/cli-linux-x64": {
184 | "version": "1.9.4",
185 | "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64/-/cli-linux-x64-1.9.4.tgz",
186 | "integrity": "sha512-lRCJv/Vi3Vlwmbd6K+oQ0KhLHMAysN8lXoCI7XeHlxaajk06u7G+UsFSO01NAs5iYuWKmVZjmiOzJ0OJmGsMwg==",
187 | "cpu": [
188 | "x64"
189 | ],
190 | "dev": true,
191 | "optional": true,
192 | "os": [
193 | "linux"
194 | ],
195 | "engines": {
196 | "node": ">=14.21.3"
197 | }
198 | },
199 | "node_modules/@biomejs/cli-linux-x64-musl": {
200 | "version": "1.9.4",
201 | "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-1.9.4.tgz",
202 | "integrity": "sha512-gEhi/jSBhZ2m6wjV530Yy8+fNqG8PAinM3oV7CyO+6c3CEh16Eizm21uHVsyVBEB6RIM8JHIl6AGYCv6Q6Q9Tg==",
203 | "cpu": [
204 | "x64"
205 | ],
206 | "dev": true,
207 | "optional": true,
208 | "os": [
209 | "linux"
210 | ],
211 | "engines": {
212 | "node": ">=14.21.3"
213 | }
214 | },
215 | "node_modules/@biomejs/cli-win32-arm64": {
216 | "version": "1.9.4",
217 | "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-arm64/-/cli-win32-arm64-1.9.4.tgz",
218 | "integrity": "sha512-tlbhLk+WXZmgwoIKwHIHEBZUwxml7bRJgk0X2sPyNR3S93cdRq6XulAZRQJ17FYGGzWne0fgrXBKpl7l4M87Hg==",
219 | "cpu": [
220 | "arm64"
221 | ],
222 | "dev": true,
223 | "optional": true,
224 | "os": [
225 | "win32"
226 | ],
227 | "engines": {
228 | "node": ">=14.21.3"
229 | }
230 | },
231 | "node_modules/@biomejs/cli-win32-x64": {
232 | "version": "1.9.4",
233 | "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-x64/-/cli-win32-x64-1.9.4.tgz",
234 | "integrity": "sha512-8Y5wMhVIPaWe6jw2H+KlEm4wP/f7EW3810ZLmDlrEEy5KvBsb9ECEfu/kMWD484ijfQ8+nIi0giMgu9g1UAuuA==",
235 | "cpu": [
236 | "x64"
237 | ],
238 | "dev": true,
239 | "optional": true,
240 | "os": [
241 | "win32"
242 | ],
243 | "engines": {
244 | "node": ">=14.21.3"
245 | }
246 | },
247 | "node_modules/@esbuild/aix-ppc64": {
248 | "version": "0.25.5",
249 | "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.5.tgz",
250 | "integrity": "sha512-9o3TMmpmftaCMepOdA5k/yDw8SfInyzWWTjYTFCX3kPSDJMROQTb8jg+h9Cnwnmm1vOzvxN7gIfB5V2ewpjtGA==",
251 | "cpu": [
252 | "ppc64"
253 | ],
254 | "dev": true,
255 | "license": "MIT",
256 | "optional": true,
257 | "os": [
258 | "aix"
259 | ],
260 | "engines": {
261 | "node": ">=18"
262 | }
263 | },
264 | "node_modules/@esbuild/android-arm": {
265 | "version": "0.25.5",
266 | "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.5.tgz",
267 | "integrity": "sha512-AdJKSPeEHgi7/ZhuIPtcQKr5RQdo6OO2IL87JkianiMYMPbCtot9fxPbrMiBADOWWm3T2si9stAiVsGbTQFkbA==",
268 | "cpu": [
269 | "arm"
270 | ],
271 | "dev": true,
272 | "license": "MIT",
273 | "optional": true,
274 | "os": [
275 | "android"
276 | ],
277 | "engines": {
278 | "node": ">=18"
279 | }
280 | },
281 | "node_modules/@esbuild/android-arm64": {
282 | "version": "0.25.5",
283 | "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.5.tgz",
284 | "integrity": "sha512-VGzGhj4lJO+TVGV1v8ntCZWJktV7SGCs3Pn1GRWI1SBFtRALoomm8k5E9Pmwg3HOAal2VDc2F9+PM/rEY6oIDg==",
285 | "cpu": [
286 | "arm64"
287 | ],
288 | "dev": true,
289 | "license": "MIT",
290 | "optional": true,
291 | "os": [
292 | "android"
293 | ],
294 | "engines": {
295 | "node": ">=18"
296 | }
297 | },
298 | "node_modules/@esbuild/android-x64": {
299 | "version": "0.25.5",
300 | "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.5.tgz",
301 | "integrity": "sha512-D2GyJT1kjvO//drbRT3Hib9XPwQeWd9vZoBJn+bu/lVsOZ13cqNdDeqIF/xQ5/VmWvMduP6AmXvylO/PIc2isw==",
302 | "cpu": [
303 | "x64"
304 | ],
305 | "dev": true,
306 | "license": "MIT",
307 | "optional": true,
308 | "os": [
309 | "android"
310 | ],
311 | "engines": {
312 | "node": ">=18"
313 | }
314 | },
315 | "node_modules/@esbuild/darwin-arm64": {
316 | "version": "0.25.5",
317 | "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.5.tgz",
318 | "integrity": "sha512-GtaBgammVvdF7aPIgH2jxMDdivezgFu6iKpmT+48+F8Hhg5J/sfnDieg0aeG/jfSvkYQU2/pceFPDKlqZzwnfQ==",
319 | "cpu": [
320 | "arm64"
321 | ],
322 | "dev": true,
323 | "license": "MIT",
324 | "optional": true,
325 | "os": [
326 | "darwin"
327 | ],
328 | "engines": {
329 | "node": ">=18"
330 | }
331 | },
332 | "node_modules/@esbuild/darwin-x64": {
333 | "version": "0.25.5",
334 | "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.5.tgz",
335 | "integrity": "sha512-1iT4FVL0dJ76/q1wd7XDsXrSW+oLoquptvh4CLR4kITDtqi2e/xwXwdCVH8hVHU43wgJdsq7Gxuzcs6Iq/7bxQ==",
336 | "cpu": [
337 | "x64"
338 | ],
339 | "dev": true,
340 | "license": "MIT",
341 | "optional": true,
342 | "os": [
343 | "darwin"
344 | ],
345 | "engines": {
346 | "node": ">=18"
347 | }
348 | },
349 | "node_modules/@esbuild/freebsd-arm64": {
350 | "version": "0.25.5",
351 | "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.5.tgz",
352 | "integrity": "sha512-nk4tGP3JThz4La38Uy/gzyXtpkPW8zSAmoUhK9xKKXdBCzKODMc2adkB2+8om9BDYugz+uGV7sLmpTYzvmz6Sw==",
353 | "cpu": [
354 | "arm64"
355 | ],
356 | "dev": true,
357 | "license": "MIT",
358 | "optional": true,
359 | "os": [
360 | "freebsd"
361 | ],
362 | "engines": {
363 | "node": ">=18"
364 | }
365 | },
366 | "node_modules/@esbuild/freebsd-x64": {
367 | "version": "0.25.5",
368 | "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.5.tgz",
369 | "integrity": "sha512-PrikaNjiXdR2laW6OIjlbeuCPrPaAl0IwPIaRv+SMV8CiM8i2LqVUHFC1+8eORgWyY7yhQY+2U2fA55mBzReaw==",
370 | "cpu": [
371 | "x64"
372 | ],
373 | "dev": true,
374 | "license": "MIT",
375 | "optional": true,
376 | "os": [
377 | "freebsd"
378 | ],
379 | "engines": {
380 | "node": ">=18"
381 | }
382 | },
383 | "node_modules/@esbuild/linux-arm": {
384 | "version": "0.25.5",
385 | "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.5.tgz",
386 | "integrity": "sha512-cPzojwW2okgh7ZlRpcBEtsX7WBuqbLrNXqLU89GxWbNt6uIg78ET82qifUy3W6OVww6ZWobWub5oqZOVtwolfw==",
387 | "cpu": [
388 | "arm"
389 | ],
390 | "dev": true,
391 | "license": "MIT",
392 | "optional": true,
393 | "os": [
394 | "linux"
395 | ],
396 | "engines": {
397 | "node": ">=18"
398 | }
399 | },
400 | "node_modules/@esbuild/linux-arm64": {
401 | "version": "0.25.5",
402 | "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.5.tgz",
403 | "integrity": "sha512-Z9kfb1v6ZlGbWj8EJk9T6czVEjjq2ntSYLY2cw6pAZl4oKtfgQuS4HOq41M/BcoLPzrUbNd+R4BXFyH//nHxVg==",
404 | "cpu": [
405 | "arm64"
406 | ],
407 | "dev": true,
408 | "license": "MIT",
409 | "optional": true,
410 | "os": [
411 | "linux"
412 | ],
413 | "engines": {
414 | "node": ">=18"
415 | }
416 | },
417 | "node_modules/@esbuild/linux-ia32": {
418 | "version": "0.25.5",
419 | "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.5.tgz",
420 | "integrity": "sha512-sQ7l00M8bSv36GLV95BVAdhJ2QsIbCuCjh/uYrWiMQSUuV+LpXwIqhgJDcvMTj+VsQmqAHL2yYaasENvJ7CDKA==",
421 | "cpu": [
422 | "ia32"
423 | ],
424 | "dev": true,
425 | "license": "MIT",
426 | "optional": true,
427 | "os": [
428 | "linux"
429 | ],
430 | "engines": {
431 | "node": ">=18"
432 | }
433 | },
434 | "node_modules/@esbuild/linux-loong64": {
435 | "version": "0.25.5",
436 | "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.5.tgz",
437 | "integrity": "sha512-0ur7ae16hDUC4OL5iEnDb0tZHDxYmuQyhKhsPBV8f99f6Z9KQM02g33f93rNH5A30agMS46u2HP6qTdEt6Q1kg==",
438 | "cpu": [
439 | "loong64"
440 | ],
441 | "dev": true,
442 | "license": "MIT",
443 | "optional": true,
444 | "os": [
445 | "linux"
446 | ],
447 | "engines": {
448 | "node": ">=18"
449 | }
450 | },
451 | "node_modules/@esbuild/linux-mips64el": {
452 | "version": "0.25.5",
453 | "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.5.tgz",
454 | "integrity": "sha512-kB/66P1OsHO5zLz0i6X0RxlQ+3cu0mkxS3TKFvkb5lin6uwZ/ttOkP3Z8lfR9mJOBk14ZwZ9182SIIWFGNmqmg==",
455 | "cpu": [
456 | "mips64el"
457 | ],
458 | "dev": true,
459 | "license": "MIT",
460 | "optional": true,
461 | "os": [
462 | "linux"
463 | ],
464 | "engines": {
465 | "node": ">=18"
466 | }
467 | },
468 | "node_modules/@esbuild/linux-ppc64": {
469 | "version": "0.25.5",
470 | "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.5.tgz",
471 | "integrity": "sha512-UZCmJ7r9X2fe2D6jBmkLBMQetXPXIsZjQJCjgwpVDz+YMcS6oFR27alkgGv3Oqkv07bxdvw7fyB71/olceJhkQ==",
472 | "cpu": [
473 | "ppc64"
474 | ],
475 | "dev": true,
476 | "license": "MIT",
477 | "optional": true,
478 | "os": [
479 | "linux"
480 | ],
481 | "engines": {
482 | "node": ">=18"
483 | }
484 | },
485 | "node_modules/@esbuild/linux-riscv64": {
486 | "version": "0.25.5",
487 | "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.5.tgz",
488 | "integrity": "sha512-kTxwu4mLyeOlsVIFPfQo+fQJAV9mh24xL+y+Bm6ej067sYANjyEw1dNHmvoqxJUCMnkBdKpvOn0Ahql6+4VyeA==",
489 | "cpu": [
490 | "riscv64"
491 | ],
492 | "dev": true,
493 | "license": "MIT",
494 | "optional": true,
495 | "os": [
496 | "linux"
497 | ],
498 | "engines": {
499 | "node": ">=18"
500 | }
501 | },
502 | "node_modules/@esbuild/linux-s390x": {
503 | "version": "0.25.5",
504 | "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.5.tgz",
505 | "integrity": "sha512-K2dSKTKfmdh78uJ3NcWFiqyRrimfdinS5ErLSn3vluHNeHVnBAFWC8a4X5N+7FgVE1EjXS1QDZbpqZBjfrqMTQ==",
506 | "cpu": [
507 | "s390x"
508 | ],
509 | "dev": true,
510 | "license": "MIT",
511 | "optional": true,
512 | "os": [
513 | "linux"
514 | ],
515 | "engines": {
516 | "node": ">=18"
517 | }
518 | },
519 | "node_modules/@esbuild/linux-x64": {
520 | "version": "0.25.5",
521 | "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.5.tgz",
522 | "integrity": "sha512-uhj8N2obKTE6pSZ+aMUbqq+1nXxNjZIIjCjGLfsWvVpy7gKCOL6rsY1MhRh9zLtUtAI7vpgLMK6DxjO8Qm9lJw==",
523 | "cpu": [
524 | "x64"
525 | ],
526 | "dev": true,
527 | "license": "MIT",
528 | "optional": true,
529 | "os": [
530 | "linux"
531 | ],
532 | "engines": {
533 | "node": ">=18"
534 | }
535 | },
536 | "node_modules/@esbuild/netbsd-arm64": {
537 | "version": "0.25.5",
538 | "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.5.tgz",
539 | "integrity": "sha512-pwHtMP9viAy1oHPvgxtOv+OkduK5ugofNTVDilIzBLpoWAM16r7b/mxBvfpuQDpRQFMfuVr5aLcn4yveGvBZvw==",
540 | "cpu": [
541 | "arm64"
542 | ],
543 | "dev": true,
544 | "license": "MIT",
545 | "optional": true,
546 | "os": [
547 | "netbsd"
548 | ],
549 | "engines": {
550 | "node": ">=18"
551 | }
552 | },
553 | "node_modules/@esbuild/netbsd-x64": {
554 | "version": "0.25.5",
555 | "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.5.tgz",
556 | "integrity": "sha512-WOb5fKrvVTRMfWFNCroYWWklbnXH0Q5rZppjq0vQIdlsQKuw6mdSihwSo4RV/YdQ5UCKKvBy7/0ZZYLBZKIbwQ==",
557 | "cpu": [
558 | "x64"
559 | ],
560 | "dev": true,
561 | "license": "MIT",
562 | "optional": true,
563 | "os": [
564 | "netbsd"
565 | ],
566 | "engines": {
567 | "node": ">=18"
568 | }
569 | },
570 | "node_modules/@esbuild/openbsd-arm64": {
571 | "version": "0.25.5",
572 | "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.5.tgz",
573 | "integrity": "sha512-7A208+uQKgTxHd0G0uqZO8UjK2R0DDb4fDmERtARjSHWxqMTye4Erz4zZafx7Di9Cv+lNHYuncAkiGFySoD+Mw==",
574 | "cpu": [
575 | "arm64"
576 | ],
577 | "dev": true,
578 | "license": "MIT",
579 | "optional": true,
580 | "os": [
581 | "openbsd"
582 | ],
583 | "engines": {
584 | "node": ">=18"
585 | }
586 | },
587 | "node_modules/@esbuild/openbsd-x64": {
588 | "version": "0.25.5",
589 | "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.5.tgz",
590 | "integrity": "sha512-G4hE405ErTWraiZ8UiSoesH8DaCsMm0Cay4fsFWOOUcz8b8rC6uCvnagr+gnioEjWn0wC+o1/TAHt+It+MpIMg==",
591 | "cpu": [
592 | "x64"
593 | ],
594 | "dev": true,
595 | "license": "MIT",
596 | "optional": true,
597 | "os": [
598 | "openbsd"
599 | ],
600 | "engines": {
601 | "node": ">=18"
602 | }
603 | },
604 | "node_modules/@esbuild/sunos-x64": {
605 | "version": "0.25.5",
606 | "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.5.tgz",
607 | "integrity": "sha512-l+azKShMy7FxzY0Rj4RCt5VD/q8mG/e+mDivgspo+yL8zW7qEwctQ6YqKX34DTEleFAvCIUviCFX1SDZRSyMQA==",
608 | "cpu": [
609 | "x64"
610 | ],
611 | "dev": true,
612 | "license": "MIT",
613 | "optional": true,
614 | "os": [
615 | "sunos"
616 | ],
617 | "engines": {
618 | "node": ">=18"
619 | }
620 | },
621 | "node_modules/@esbuild/win32-arm64": {
622 | "version": "0.25.5",
623 | "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.5.tgz",
624 | "integrity": "sha512-O2S7SNZzdcFG7eFKgvwUEZ2VG9D/sn/eIiz8XRZ1Q/DO5a3s76Xv0mdBzVM5j5R639lXQmPmSo0iRpHqUUrsxw==",
625 | "cpu": [
626 | "arm64"
627 | ],
628 | "dev": true,
629 | "license": "MIT",
630 | "optional": true,
631 | "os": [
632 | "win32"
633 | ],
634 | "engines": {
635 | "node": ">=18"
636 | }
637 | },
638 | "node_modules/@esbuild/win32-ia32": {
639 | "version": "0.25.5",
640 | "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.5.tgz",
641 | "integrity": "sha512-onOJ02pqs9h1iMJ1PQphR+VZv8qBMQ77Klcsqv9CNW2w6yLqoURLcgERAIurY6QE63bbLuqgP9ATqajFLK5AMQ==",
642 | "cpu": [
643 | "ia32"
644 | ],
645 | "dev": true,
646 | "license": "MIT",
647 | "optional": true,
648 | "os": [
649 | "win32"
650 | ],
651 | "engines": {
652 | "node": ">=18"
653 | }
654 | },
655 | "node_modules/@esbuild/win32-x64": {
656 | "version": "0.25.5",
657 | "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.5.tgz",
658 | "integrity": "sha512-TXv6YnJ8ZMVdX+SXWVBo/0p8LTcrUYngpWjvm91TMjjBQii7Oz11Lw5lbDV5Y0TzuhSJHwiH4hEtC1I42mMS0g==",
659 | "cpu": [
660 | "x64"
661 | ],
662 | "dev": true,
663 | "license": "MIT",
664 | "optional": true,
665 | "os": [
666 | "win32"
667 | ],
668 | "engines": {
669 | "node": ">=18"
670 | }
671 | },
672 | "node_modules/@isaacs/cliui": {
673 | "version": "8.0.2",
674 | "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz",
675 | "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==",
676 | "dev": true,
677 | "dependencies": {
678 | "string-width": "^5.1.2",
679 | "string-width-cjs": "npm:string-width@^4.2.0",
680 | "strip-ansi": "^7.0.1",
681 | "strip-ansi-cjs": "npm:strip-ansi@^6.0.1",
682 | "wrap-ansi": "^8.1.0",
683 | "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0"
684 | },
685 | "engines": {
686 | "node": ">=12"
687 | }
688 | },
689 | "node_modules/@istanbuljs/schema": {
690 | "version": "0.1.3",
691 | "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz",
692 | "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==",
693 | "dev": true,
694 | "engines": {
695 | "node": ">=8"
696 | }
697 | },
698 | "node_modules/@jridgewell/gen-mapping": {
699 | "version": "0.3.5",
700 | "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz",
701 | "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==",
702 | "dev": true,
703 | "dependencies": {
704 | "@jridgewell/set-array": "^1.2.1",
705 | "@jridgewell/sourcemap-codec": "^1.4.10",
706 | "@jridgewell/trace-mapping": "^0.3.24"
707 | },
708 | "engines": {
709 | "node": ">=6.0.0"
710 | }
711 | },
712 | "node_modules/@jridgewell/resolve-uri": {
713 | "version": "3.1.2",
714 | "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
715 | "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
716 | "dev": true,
717 | "engines": {
718 | "node": ">=6.0.0"
719 | }
720 | },
721 | "node_modules/@jridgewell/set-array": {
722 | "version": "1.2.1",
723 | "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz",
724 | "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==",
725 | "dev": true,
726 | "engines": {
727 | "node": ">=6.0.0"
728 | }
729 | },
730 | "node_modules/@jridgewell/sourcemap-codec": {
731 | "version": "1.5.0",
732 | "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz",
733 | "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==",
734 | "dev": true
735 | },
736 | "node_modules/@jridgewell/trace-mapping": {
737 | "version": "0.3.25",
738 | "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz",
739 | "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==",
740 | "dev": true,
741 | "dependencies": {
742 | "@jridgewell/resolve-uri": "^3.1.0",
743 | "@jridgewell/sourcemap-codec": "^1.4.14"
744 | }
745 | },
746 | "node_modules/@pkgjs/parseargs": {
747 | "version": "0.11.0",
748 | "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz",
749 | "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==",
750 | "dev": true,
751 | "optional": true,
752 | "engines": {
753 | "node": ">=14"
754 | }
755 | },
756 | "node_modules/@rollup/rollup-android-arm-eabi": {
757 | "version": "4.42.0",
758 | "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.42.0.tgz",
759 | "integrity": "sha512-gldmAyS9hpj+H6LpRNlcjQWbuKUtb94lodB9uCz71Jm+7BxK1VIOo7y62tZZwxhA7j1ylv/yQz080L5WkS+LoQ==",
760 | "cpu": [
761 | "arm"
762 | ],
763 | "dev": true,
764 | "license": "MIT",
765 | "optional": true,
766 | "os": [
767 | "android"
768 | ]
769 | },
770 | "node_modules/@rollup/rollup-android-arm64": {
771 | "version": "4.42.0",
772 | "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.42.0.tgz",
773 | "integrity": "sha512-bpRipfTgmGFdCZDFLRvIkSNO1/3RGS74aWkJJTFJBH7h3MRV4UijkaEUeOMbi9wxtxYmtAbVcnMtHTPBhLEkaw==",
774 | "cpu": [
775 | "arm64"
776 | ],
777 | "dev": true,
778 | "license": "MIT",
779 | "optional": true,
780 | "os": [
781 | "android"
782 | ]
783 | },
784 | "node_modules/@rollup/rollup-darwin-arm64": {
785 | "version": "4.42.0",
786 | "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.42.0.tgz",
787 | "integrity": "sha512-JxHtA081izPBVCHLKnl6GEA0w3920mlJPLh89NojpU2GsBSB6ypu4erFg/Wx1qbpUbepn0jY4dVWMGZM8gplgA==",
788 | "cpu": [
789 | "arm64"
790 | ],
791 | "dev": true,
792 | "license": "MIT",
793 | "optional": true,
794 | "os": [
795 | "darwin"
796 | ]
797 | },
798 | "node_modules/@rollup/rollup-darwin-x64": {
799 | "version": "4.42.0",
800 | "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.42.0.tgz",
801 | "integrity": "sha512-rv5UZaWVIJTDMyQ3dCEK+m0SAn6G7H3PRc2AZmExvbDvtaDc+qXkei0knQWcI3+c9tEs7iL/4I4pTQoPbNL2SA==",
802 | "cpu": [
803 | "x64"
804 | ],
805 | "dev": true,
806 | "license": "MIT",
807 | "optional": true,
808 | "os": [
809 | "darwin"
810 | ]
811 | },
812 | "node_modules/@rollup/rollup-freebsd-arm64": {
813 | "version": "4.42.0",
814 | "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.42.0.tgz",
815 | "integrity": "sha512-fJcN4uSGPWdpVmvLuMtALUFwCHgb2XiQjuECkHT3lWLZhSQ3MBQ9pq+WoWeJq2PrNxr9rPM1Qx+IjyGj8/c6zQ==",
816 | "cpu": [
817 | "arm64"
818 | ],
819 | "dev": true,
820 | "license": "MIT",
821 | "optional": true,
822 | "os": [
823 | "freebsd"
824 | ]
825 | },
826 | "node_modules/@rollup/rollup-freebsd-x64": {
827 | "version": "4.42.0",
828 | "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.42.0.tgz",
829 | "integrity": "sha512-CziHfyzpp8hJpCVE/ZdTizw58gr+m7Y2Xq5VOuCSrZR++th2xWAz4Nqk52MoIIrV3JHtVBhbBsJcAxs6NammOQ==",
830 | "cpu": [
831 | "x64"
832 | ],
833 | "dev": true,
834 | "license": "MIT",
835 | "optional": true,
836 | "os": [
837 | "freebsd"
838 | ]
839 | },
840 | "node_modules/@rollup/rollup-linux-arm-gnueabihf": {
841 | "version": "4.42.0",
842 | "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.42.0.tgz",
843 | "integrity": "sha512-UsQD5fyLWm2Fe5CDM7VPYAo+UC7+2Px4Y+N3AcPh/LdZu23YcuGPegQly++XEVaC8XUTFVPscl5y5Cl1twEI4A==",
844 | "cpu": [
845 | "arm"
846 | ],
847 | "dev": true,
848 | "license": "MIT",
849 | "optional": true,
850 | "os": [
851 | "linux"
852 | ]
853 | },
854 | "node_modules/@rollup/rollup-linux-arm-musleabihf": {
855 | "version": "4.42.0",
856 | "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.42.0.tgz",
857 | "integrity": "sha512-/i8NIrlgc/+4n1lnoWl1zgH7Uo0XK5xK3EDqVTf38KvyYgCU/Rm04+o1VvvzJZnVS5/cWSd07owkzcVasgfIkQ==",
858 | "cpu": [
859 | "arm"
860 | ],
861 | "dev": true,
862 | "license": "MIT",
863 | "optional": true,
864 | "os": [
865 | "linux"
866 | ]
867 | },
868 | "node_modules/@rollup/rollup-linux-arm64-gnu": {
869 | "version": "4.42.0",
870 | "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.42.0.tgz",
871 | "integrity": "sha512-eoujJFOvoIBjZEi9hJnXAbWg+Vo1Ov8n/0IKZZcPZ7JhBzxh2A+2NFyeMZIRkY9iwBvSjloKgcvnjTbGKHE44Q==",
872 | "cpu": [
873 | "arm64"
874 | ],
875 | "dev": true,
876 | "license": "MIT",
877 | "optional": true,
878 | "os": [
879 | "linux"
880 | ]
881 | },
882 | "node_modules/@rollup/rollup-linux-arm64-musl": {
883 | "version": "4.42.0",
884 | "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.42.0.tgz",
885 | "integrity": "sha512-/3NrcOWFSR7RQUQIuZQChLND36aTU9IYE4j+TB40VU78S+RA0IiqHR30oSh6P1S9f9/wVOenHQnacs/Byb824g==",
886 | "cpu": [
887 | "arm64"
888 | ],
889 | "dev": true,
890 | "license": "MIT",
891 | "optional": true,
892 | "os": [
893 | "linux"
894 | ]
895 | },
896 | "node_modules/@rollup/rollup-linux-loongarch64-gnu": {
897 | "version": "4.42.0",
898 | "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.42.0.tgz",
899 | "integrity": "sha512-O8AplvIeavK5ABmZlKBq9/STdZlnQo7Sle0LLhVA7QT+CiGpNVe197/t8Aph9bhJqbDVGCHpY2i7QyfEDDStDg==",
900 | "cpu": [
901 | "loong64"
902 | ],
903 | "dev": true,
904 | "license": "MIT",
905 | "optional": true,
906 | "os": [
907 | "linux"
908 | ]
909 | },
910 | "node_modules/@rollup/rollup-linux-powerpc64le-gnu": {
911 | "version": "4.42.0",
912 | "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.42.0.tgz",
913 | "integrity": "sha512-6Qb66tbKVN7VyQrekhEzbHRxXXFFD8QKiFAwX5v9Xt6FiJ3BnCVBuyBxa2fkFGqxOCSGGYNejxd8ht+q5SnmtA==",
914 | "cpu": [
915 | "ppc64"
916 | ],
917 | "dev": true,
918 | "license": "MIT",
919 | "optional": true,
920 | "os": [
921 | "linux"
922 | ]
923 | },
924 | "node_modules/@rollup/rollup-linux-riscv64-gnu": {
925 | "version": "4.42.0",
926 | "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.42.0.tgz",
927 | "integrity": "sha512-KQETDSEBamQFvg/d8jajtRwLNBlGc3aKpaGiP/LvEbnmVUKlFta1vqJqTrvPtsYsfbE/DLg5CC9zyXRX3fnBiA==",
928 | "cpu": [
929 | "riscv64"
930 | ],
931 | "dev": true,
932 | "license": "MIT",
933 | "optional": true,
934 | "os": [
935 | "linux"
936 | ]
937 | },
938 | "node_modules/@rollup/rollup-linux-riscv64-musl": {
939 | "version": "4.42.0",
940 | "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.42.0.tgz",
941 | "integrity": "sha512-qMvnyjcU37sCo/tuC+JqeDKSuukGAd+pVlRl/oyDbkvPJ3awk6G6ua7tyum02O3lI+fio+eM5wsVd66X0jQtxw==",
942 | "cpu": [
943 | "riscv64"
944 | ],
945 | "dev": true,
946 | "license": "MIT",
947 | "optional": true,
948 | "os": [
949 | "linux"
950 | ]
951 | },
952 | "node_modules/@rollup/rollup-linux-s390x-gnu": {
953 | "version": "4.42.0",
954 | "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.42.0.tgz",
955 | "integrity": "sha512-I2Y1ZUgTgU2RLddUHXTIgyrdOwljjkmcZ/VilvaEumtS3Fkuhbw4p4hgHc39Ypwvo2o7sBFNl2MquNvGCa55Iw==",
956 | "cpu": [
957 | "s390x"
958 | ],
959 | "dev": true,
960 | "license": "MIT",
961 | "optional": true,
962 | "os": [
963 | "linux"
964 | ]
965 | },
966 | "node_modules/@rollup/rollup-linux-x64-gnu": {
967 | "version": "4.42.0",
968 | "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.42.0.tgz",
969 | "integrity": "sha512-Gfm6cV6mj3hCUY8TqWa63DB8Mx3NADoFwiJrMpoZ1uESbK8FQV3LXkhfry+8bOniq9pqY1OdsjFWNsSbfjPugw==",
970 | "cpu": [
971 | "x64"
972 | ],
973 | "dev": true,
974 | "license": "MIT",
975 | "optional": true,
976 | "os": [
977 | "linux"
978 | ]
979 | },
980 | "node_modules/@rollup/rollup-linux-x64-musl": {
981 | "version": "4.42.0",
982 | "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.42.0.tgz",
983 | "integrity": "sha512-g86PF8YZ9GRqkdi0VoGlcDUb4rYtQKyTD1IVtxxN4Hpe7YqLBShA7oHMKU6oKTCi3uxwW4VkIGnOaH/El8de3w==",
984 | "cpu": [
985 | "x64"
986 | ],
987 | "dev": true,
988 | "license": "MIT",
989 | "optional": true,
990 | "os": [
991 | "linux"
992 | ]
993 | },
994 | "node_modules/@rollup/rollup-win32-arm64-msvc": {
995 | "version": "4.42.0",
996 | "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.42.0.tgz",
997 | "integrity": "sha512-+axkdyDGSp6hjyzQ5m1pgcvQScfHnMCcsXkx8pTgy/6qBmWVhtRVlgxjWwDp67wEXXUr0x+vD6tp5W4x6V7u1A==",
998 | "cpu": [
999 | "arm64"
1000 | ],
1001 | "dev": true,
1002 | "license": "MIT",
1003 | "optional": true,
1004 | "os": [
1005 | "win32"
1006 | ]
1007 | },
1008 | "node_modules/@rollup/rollup-win32-ia32-msvc": {
1009 | "version": "4.42.0",
1010 | "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.42.0.tgz",
1011 | "integrity": "sha512-F+5J9pelstXKwRSDq92J0TEBXn2nfUrQGg+HK1+Tk7VOL09e0gBqUHugZv7SW4MGrYj41oNCUe3IKCDGVlis2g==",
1012 | "cpu": [
1013 | "ia32"
1014 | ],
1015 | "dev": true,
1016 | "license": "MIT",
1017 | "optional": true,
1018 | "os": [
1019 | "win32"
1020 | ]
1021 | },
1022 | "node_modules/@rollup/rollup-win32-x64-msvc": {
1023 | "version": "4.42.0",
1024 | "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.42.0.tgz",
1025 | "integrity": "sha512-LpHiJRwkaVz/LqjHjK8LCi8osq7elmpwujwbXKNW88bM8eeGxavJIKKjkjpMHAh/2xfnrt1ZSnhTv41WYUHYmA==",
1026 | "cpu": [
1027 | "x64"
1028 | ],
1029 | "dev": true,
1030 | "license": "MIT",
1031 | "optional": true,
1032 | "os": [
1033 | "win32"
1034 | ]
1035 | },
1036 | "node_modules/@types/chai": {
1037 | "version": "5.2.2",
1038 | "resolved": "https://registry.npmjs.org/@types/chai/-/chai-5.2.2.tgz",
1039 | "integrity": "sha512-8kB30R7Hwqf40JPiKhVzodJs2Qc1ZJ5zuT3uzw5Hq/dhNCl3G3l83jfpdI1e20BP348+fV7VIL/+FxaXkqBmWg==",
1040 | "dev": true,
1041 | "license": "MIT",
1042 | "dependencies": {
1043 | "@types/deep-eql": "*"
1044 | }
1045 | },
1046 | "node_modules/@types/deep-eql": {
1047 | "version": "4.0.2",
1048 | "resolved": "https://registry.npmjs.org/@types/deep-eql/-/deep-eql-4.0.2.tgz",
1049 | "integrity": "sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==",
1050 | "dev": true,
1051 | "license": "MIT"
1052 | },
1053 | "node_modules/@types/estree": {
1054 | "version": "1.0.8",
1055 | "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz",
1056 | "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==",
1057 | "dev": true,
1058 | "license": "MIT"
1059 | },
1060 | "node_modules/@vitest/coverage-v8": {
1061 | "version": "3.2.3",
1062 | "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-3.2.3.tgz",
1063 | "integrity": "sha512-D1QKzngg8PcDoCE8FHSZhREDuEy+zcKmMiMafYse41RZpBE5EDJyKOTdqK3RQfsV2S2nyKor5KCs8PyPRFqKPg==",
1064 | "dev": true,
1065 | "license": "MIT",
1066 | "dependencies": {
1067 | "@ampproject/remapping": "^2.3.0",
1068 | "@bcoe/v8-coverage": "^1.0.2",
1069 | "ast-v8-to-istanbul": "^0.3.3",
1070 | "debug": "^4.4.1",
1071 | "istanbul-lib-coverage": "^3.2.2",
1072 | "istanbul-lib-report": "^3.0.1",
1073 | "istanbul-lib-source-maps": "^5.0.6",
1074 | "istanbul-reports": "^3.1.7",
1075 | "magic-string": "^0.30.17",
1076 | "magicast": "^0.3.5",
1077 | "std-env": "^3.9.0",
1078 | "test-exclude": "^7.0.1",
1079 | "tinyrainbow": "^2.0.0"
1080 | },
1081 | "funding": {
1082 | "url": "https://opencollective.com/vitest"
1083 | },
1084 | "peerDependencies": {
1085 | "@vitest/browser": "3.2.3",
1086 | "vitest": "3.2.3"
1087 | },
1088 | "peerDependenciesMeta": {
1089 | "@vitest/browser": {
1090 | "optional": true
1091 | }
1092 | }
1093 | },
1094 | "node_modules/@vitest/expect": {
1095 | "version": "3.2.3",
1096 | "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-3.2.3.tgz",
1097 | "integrity": "sha512-W2RH2TPWVHA1o7UmaFKISPvdicFJH+mjykctJFoAkUw+SPTJTGjUNdKscFBrqM7IPnCVu6zihtKYa7TkZS1dkQ==",
1098 | "dev": true,
1099 | "license": "MIT",
1100 | "dependencies": {
1101 | "@types/chai": "^5.2.2",
1102 | "@vitest/spy": "3.2.3",
1103 | "@vitest/utils": "3.2.3",
1104 | "chai": "^5.2.0",
1105 | "tinyrainbow": "^2.0.0"
1106 | },
1107 | "funding": {
1108 | "url": "https://opencollective.com/vitest"
1109 | }
1110 | },
1111 | "node_modules/@vitest/mocker": {
1112 | "version": "3.2.3",
1113 | "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-3.2.3.tgz",
1114 | "integrity": "sha512-cP6fIun+Zx8he4rbWvi+Oya6goKQDZK+Yq4hhlggwQBbrlOQ4qtZ+G4nxB6ZnzI9lyIb+JnvyiJnPC2AGbKSPA==",
1115 | "dev": true,
1116 | "license": "MIT",
1117 | "dependencies": {
1118 | "@vitest/spy": "3.2.3",
1119 | "estree-walker": "^3.0.3",
1120 | "magic-string": "^0.30.17"
1121 | },
1122 | "funding": {
1123 | "url": "https://opencollective.com/vitest"
1124 | },
1125 | "peerDependencies": {
1126 | "msw": "^2.4.9",
1127 | "vite": "^5.0.0 || ^6.0.0 || ^7.0.0-0"
1128 | },
1129 | "peerDependenciesMeta": {
1130 | "msw": {
1131 | "optional": true
1132 | },
1133 | "vite": {
1134 | "optional": true
1135 | }
1136 | }
1137 | },
1138 | "node_modules/@vitest/pretty-format": {
1139 | "version": "3.2.3",
1140 | "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.2.3.tgz",
1141 | "integrity": "sha512-yFglXGkr9hW/yEXngO+IKMhP0jxyFw2/qys/CK4fFUZnSltD+MU7dVYGrH8rvPcK/O6feXQA+EU33gjaBBbAng==",
1142 | "dev": true,
1143 | "license": "MIT",
1144 | "dependencies": {
1145 | "tinyrainbow": "^2.0.0"
1146 | },
1147 | "funding": {
1148 | "url": "https://opencollective.com/vitest"
1149 | }
1150 | },
1151 | "node_modules/@vitest/runner": {
1152 | "version": "3.2.3",
1153 | "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-3.2.3.tgz",
1154 | "integrity": "sha512-83HWYisT3IpMaU9LN+VN+/nLHVBCSIUKJzGxC5RWUOsK1h3USg7ojL+UXQR3b4o4UBIWCYdD2fxuzM7PQQ1u8w==",
1155 | "dev": true,
1156 | "license": "MIT",
1157 | "dependencies": {
1158 | "@vitest/utils": "3.2.3",
1159 | "pathe": "^2.0.3",
1160 | "strip-literal": "^3.0.0"
1161 | },
1162 | "funding": {
1163 | "url": "https://opencollective.com/vitest"
1164 | }
1165 | },
1166 | "node_modules/@vitest/snapshot": {
1167 | "version": "3.2.3",
1168 | "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-3.2.3.tgz",
1169 | "integrity": "sha512-9gIVWx2+tysDqUmmM1L0hwadyumqssOL1r8KJipwLx5JVYyxvVRfxvMq7DaWbZZsCqZnu/dZedaZQh4iYTtneA==",
1170 | "dev": true,
1171 | "license": "MIT",
1172 | "dependencies": {
1173 | "@vitest/pretty-format": "3.2.3",
1174 | "magic-string": "^0.30.17",
1175 | "pathe": "^2.0.3"
1176 | },
1177 | "funding": {
1178 | "url": "https://opencollective.com/vitest"
1179 | }
1180 | },
1181 | "node_modules/@vitest/spy": {
1182 | "version": "3.2.3",
1183 | "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-3.2.3.tgz",
1184 | "integrity": "sha512-JHu9Wl+7bf6FEejTCREy+DmgWe+rQKbK+y32C/k5f4TBIAlijhJbRBIRIOCEpVevgRsCQR2iHRUH2/qKVM/plw==",
1185 | "dev": true,
1186 | "license": "MIT",
1187 | "dependencies": {
1188 | "tinyspy": "^4.0.3"
1189 | },
1190 | "funding": {
1191 | "url": "https://opencollective.com/vitest"
1192 | }
1193 | },
1194 | "node_modules/@vitest/utils": {
1195 | "version": "3.2.3",
1196 | "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-3.2.3.tgz",
1197 | "integrity": "sha512-4zFBCU5Pf+4Z6v+rwnZ1HU1yzOKKvDkMXZrymE2PBlbjKJRlrOxbvpfPSvJTGRIwGoahaOGvp+kbCoxifhzJ1Q==",
1198 | "dev": true,
1199 | "license": "MIT",
1200 | "dependencies": {
1201 | "@vitest/pretty-format": "3.2.3",
1202 | "loupe": "^3.1.3",
1203 | "tinyrainbow": "^2.0.0"
1204 | },
1205 | "funding": {
1206 | "url": "https://opencollective.com/vitest"
1207 | }
1208 | },
1209 | "node_modules/ansi-regex": {
1210 | "version": "6.0.1",
1211 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz",
1212 | "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==",
1213 | "dev": true,
1214 | "engines": {
1215 | "node": ">=12"
1216 | },
1217 | "funding": {
1218 | "url": "https://github.com/chalk/ansi-regex?sponsor=1"
1219 | }
1220 | },
1221 | "node_modules/assertion-error": {
1222 | "version": "2.0.1",
1223 | "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz",
1224 | "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==",
1225 | "dev": true,
1226 | "license": "MIT",
1227 | "engines": {
1228 | "node": ">=12"
1229 | }
1230 | },
1231 | "node_modules/ast-v8-to-istanbul": {
1232 | "version": "0.3.3",
1233 | "resolved": "https://registry.npmjs.org/ast-v8-to-istanbul/-/ast-v8-to-istanbul-0.3.3.tgz",
1234 | "integrity": "sha512-MuXMrSLVVoA6sYN/6Hke18vMzrT4TZNbZIj/hvh0fnYFpO+/kFXcLIaiPwXXWaQUPg4yJD8fj+lfJ7/1EBconw==",
1235 | "dev": true,
1236 | "license": "MIT",
1237 | "dependencies": {
1238 | "@jridgewell/trace-mapping": "^0.3.25",
1239 | "estree-walker": "^3.0.3",
1240 | "js-tokens": "^9.0.1"
1241 | }
1242 | },
1243 | "node_modules/balanced-match": {
1244 | "version": "1.0.2",
1245 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
1246 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
1247 | "dev": true
1248 | },
1249 | "node_modules/brace-expansion": {
1250 | "version": "2.0.1",
1251 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
1252 | "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
1253 | "dev": true,
1254 | "dependencies": {
1255 | "balanced-match": "^1.0.0"
1256 | }
1257 | },
1258 | "node_modules/cac": {
1259 | "version": "6.7.14",
1260 | "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz",
1261 | "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==",
1262 | "dev": true,
1263 | "license": "MIT",
1264 | "engines": {
1265 | "node": ">=8"
1266 | }
1267 | },
1268 | "node_modules/chai": {
1269 | "version": "5.2.0",
1270 | "resolved": "https://registry.npmjs.org/chai/-/chai-5.2.0.tgz",
1271 | "integrity": "sha512-mCuXncKXk5iCLhfhwTc0izo0gtEmpz5CtG2y8GiOINBlMVS6v8TMRc5TaLWKS6692m9+dVVfzgeVxR5UxWHTYw==",
1272 | "dev": true,
1273 | "license": "MIT",
1274 | "dependencies": {
1275 | "assertion-error": "^2.0.1",
1276 | "check-error": "^2.1.1",
1277 | "deep-eql": "^5.0.1",
1278 | "loupe": "^3.1.0",
1279 | "pathval": "^2.0.0"
1280 | },
1281 | "engines": {
1282 | "node": ">=12"
1283 | }
1284 | },
1285 | "node_modules/check-error": {
1286 | "version": "2.1.1",
1287 | "resolved": "https://registry.npmjs.org/check-error/-/check-error-2.1.1.tgz",
1288 | "integrity": "sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==",
1289 | "dev": true,
1290 | "license": "MIT",
1291 | "engines": {
1292 | "node": ">= 16"
1293 | }
1294 | },
1295 | "node_modules/color-convert": {
1296 | "version": "2.0.1",
1297 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
1298 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
1299 | "dev": true,
1300 | "dependencies": {
1301 | "color-name": "~1.1.4"
1302 | },
1303 | "engines": {
1304 | "node": ">=7.0.0"
1305 | }
1306 | },
1307 | "node_modules/color-name": {
1308 | "version": "1.1.4",
1309 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
1310 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
1311 | "dev": true
1312 | },
1313 | "node_modules/cross-spawn": {
1314 | "version": "7.0.3",
1315 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
1316 | "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
1317 | "dev": true,
1318 | "dependencies": {
1319 | "path-key": "^3.1.0",
1320 | "shebang-command": "^2.0.0",
1321 | "which": "^2.0.1"
1322 | },
1323 | "engines": {
1324 | "node": ">= 8"
1325 | }
1326 | },
1327 | "node_modules/debug": {
1328 | "version": "4.4.1",
1329 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz",
1330 | "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==",
1331 | "dev": true,
1332 | "license": "MIT",
1333 | "dependencies": {
1334 | "ms": "^2.1.3"
1335 | },
1336 | "engines": {
1337 | "node": ">=6.0"
1338 | },
1339 | "peerDependenciesMeta": {
1340 | "supports-color": {
1341 | "optional": true
1342 | }
1343 | }
1344 | },
1345 | "node_modules/deep-eql": {
1346 | "version": "5.0.2",
1347 | "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-5.0.2.tgz",
1348 | "integrity": "sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==",
1349 | "dev": true,
1350 | "license": "MIT",
1351 | "engines": {
1352 | "node": ">=6"
1353 | }
1354 | },
1355 | "node_modules/dom-serializer": {
1356 | "version": "1.4.1",
1357 | "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz",
1358 | "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==",
1359 | "peer": true,
1360 | "dependencies": {
1361 | "domelementtype": "^2.0.1",
1362 | "domhandler": "^4.2.0",
1363 | "entities": "^2.0.0"
1364 | },
1365 | "funding": {
1366 | "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1"
1367 | }
1368 | },
1369 | "node_modules/dom-serializer/node_modules/entities": {
1370 | "version": "2.2.0",
1371 | "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz",
1372 | "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==",
1373 | "peer": true,
1374 | "funding": {
1375 | "url": "https://github.com/fb55/entities?sponsor=1"
1376 | }
1377 | },
1378 | "node_modules/domelementtype": {
1379 | "version": "2.3.0",
1380 | "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz",
1381 | "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==",
1382 | "funding": [
1383 | {
1384 | "type": "github",
1385 | "url": "https://github.com/sponsors/fb55"
1386 | }
1387 | ],
1388 | "peer": true
1389 | },
1390 | "node_modules/domhandler": {
1391 | "version": "4.3.1",
1392 | "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz",
1393 | "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==",
1394 | "peer": true,
1395 | "dependencies": {
1396 | "domelementtype": "^2.2.0"
1397 | },
1398 | "engines": {
1399 | "node": ">= 4"
1400 | },
1401 | "funding": {
1402 | "url": "https://github.com/fb55/domhandler?sponsor=1"
1403 | }
1404 | },
1405 | "node_modules/domutils": {
1406 | "version": "2.8.0",
1407 | "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz",
1408 | "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==",
1409 | "peer": true,
1410 | "dependencies": {
1411 | "dom-serializer": "^1.0.1",
1412 | "domelementtype": "^2.2.0",
1413 | "domhandler": "^4.2.0"
1414 | },
1415 | "funding": {
1416 | "url": "https://github.com/fb55/domutils?sponsor=1"
1417 | }
1418 | },
1419 | "node_modules/eastasianwidth": {
1420 | "version": "0.2.0",
1421 | "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz",
1422 | "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==",
1423 | "dev": true
1424 | },
1425 | "node_modules/emoji-regex": {
1426 | "version": "9.2.2",
1427 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
1428 | "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==",
1429 | "dev": true
1430 | },
1431 | "node_modules/entities": {
1432 | "version": "3.0.1",
1433 | "resolved": "https://registry.npmjs.org/entities/-/entities-3.0.1.tgz",
1434 | "integrity": "sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==",
1435 | "peer": true,
1436 | "engines": {
1437 | "node": ">=0.12"
1438 | },
1439 | "funding": {
1440 | "url": "https://github.com/fb55/entities?sponsor=1"
1441 | }
1442 | },
1443 | "node_modules/es-module-lexer": {
1444 | "version": "1.7.0",
1445 | "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz",
1446 | "integrity": "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==",
1447 | "dev": true,
1448 | "license": "MIT"
1449 | },
1450 | "node_modules/esbuild": {
1451 | "version": "0.25.5",
1452 | "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.5.tgz",
1453 | "integrity": "sha512-P8OtKZRv/5J5hhz0cUAdu/cLuPIKXpQl1R9pZtvmHWQvrAUVd0UNIPT4IB4W3rNOqVO0rlqHmCIbSwxh/c9yUQ==",
1454 | "dev": true,
1455 | "hasInstallScript": true,
1456 | "license": "MIT",
1457 | "bin": {
1458 | "esbuild": "bin/esbuild"
1459 | },
1460 | "engines": {
1461 | "node": ">=18"
1462 | },
1463 | "optionalDependencies": {
1464 | "@esbuild/aix-ppc64": "0.25.5",
1465 | "@esbuild/android-arm": "0.25.5",
1466 | "@esbuild/android-arm64": "0.25.5",
1467 | "@esbuild/android-x64": "0.25.5",
1468 | "@esbuild/darwin-arm64": "0.25.5",
1469 | "@esbuild/darwin-x64": "0.25.5",
1470 | "@esbuild/freebsd-arm64": "0.25.5",
1471 | "@esbuild/freebsd-x64": "0.25.5",
1472 | "@esbuild/linux-arm": "0.25.5",
1473 | "@esbuild/linux-arm64": "0.25.5",
1474 | "@esbuild/linux-ia32": "0.25.5",
1475 | "@esbuild/linux-loong64": "0.25.5",
1476 | "@esbuild/linux-mips64el": "0.25.5",
1477 | "@esbuild/linux-ppc64": "0.25.5",
1478 | "@esbuild/linux-riscv64": "0.25.5",
1479 | "@esbuild/linux-s390x": "0.25.5",
1480 | "@esbuild/linux-x64": "0.25.5",
1481 | "@esbuild/netbsd-arm64": "0.25.5",
1482 | "@esbuild/netbsd-x64": "0.25.5",
1483 | "@esbuild/openbsd-arm64": "0.25.5",
1484 | "@esbuild/openbsd-x64": "0.25.5",
1485 | "@esbuild/sunos-x64": "0.25.5",
1486 | "@esbuild/win32-arm64": "0.25.5",
1487 | "@esbuild/win32-ia32": "0.25.5",
1488 | "@esbuild/win32-x64": "0.25.5"
1489 | }
1490 | },
1491 | "node_modules/estree-walker": {
1492 | "version": "3.0.3",
1493 | "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz",
1494 | "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==",
1495 | "dev": true,
1496 | "license": "MIT",
1497 | "dependencies": {
1498 | "@types/estree": "^1.0.0"
1499 | }
1500 | },
1501 | "node_modules/expect-type": {
1502 | "version": "1.2.1",
1503 | "resolved": "https://registry.npmjs.org/expect-type/-/expect-type-1.2.1.tgz",
1504 | "integrity": "sha512-/kP8CAwxzLVEeFrMm4kMmy4CCDlpipyA7MYLVrdJIkV0fYF0UaigQHRsxHiuY/GEea+bh4KSv3TIlgr+2UL6bw==",
1505 | "dev": true,
1506 | "license": "Apache-2.0",
1507 | "engines": {
1508 | "node": ">=12.0.0"
1509 | }
1510 | },
1511 | "node_modules/fdir": {
1512 | "version": "6.4.5",
1513 | "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.5.tgz",
1514 | "integrity": "sha512-4BG7puHpVsIYxZUbiUE3RqGloLaSSwzYie5jvasC4LWuBWzZawynvYouhjbQKw2JuIGYdm0DzIxl8iVidKlUEw==",
1515 | "dev": true,
1516 | "license": "MIT",
1517 | "peerDependencies": {
1518 | "picomatch": "^3 || ^4"
1519 | },
1520 | "peerDependenciesMeta": {
1521 | "picomatch": {
1522 | "optional": true
1523 | }
1524 | }
1525 | },
1526 | "node_modules/foreground-child": {
1527 | "version": "3.2.1",
1528 | "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.2.1.tgz",
1529 | "integrity": "sha512-PXUUyLqrR2XCWICfv6ukppP96sdFwWbNEnfEMt7jNsISjMsvaLNinAHNDYyvkyU+SZG2BTSbT5NjG+vZslfGTA==",
1530 | "dev": true,
1531 | "dependencies": {
1532 | "cross-spawn": "^7.0.0",
1533 | "signal-exit": "^4.0.1"
1534 | },
1535 | "engines": {
1536 | "node": ">=14"
1537 | },
1538 | "funding": {
1539 | "url": "https://github.com/sponsors/isaacs"
1540 | }
1541 | },
1542 | "node_modules/fsevents": {
1543 | "version": "2.3.3",
1544 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
1545 | "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
1546 | "dev": true,
1547 | "hasInstallScript": true,
1548 | "license": "MIT",
1549 | "optional": true,
1550 | "os": [
1551 | "darwin"
1552 | ],
1553 | "engines": {
1554 | "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
1555 | }
1556 | },
1557 | "node_modules/glob": {
1558 | "version": "10.4.3",
1559 | "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.3.tgz",
1560 | "integrity": "sha512-Q38SGlYRpVtDBPSWEylRyctn7uDeTp4NQERTLiCT1FqA9JXPYWqAVmQU6qh4r/zMM5ehxTcbaO8EjhWnvEhmyg==",
1561 | "dev": true,
1562 | "dependencies": {
1563 | "foreground-child": "^3.1.0",
1564 | "jackspeak": "^3.1.2",
1565 | "minimatch": "^9.0.4",
1566 | "minipass": "^7.1.2",
1567 | "package-json-from-dist": "^1.0.0",
1568 | "path-scurry": "^1.11.1"
1569 | },
1570 | "bin": {
1571 | "glob": "dist/esm/bin.mjs"
1572 | },
1573 | "engines": {
1574 | "node": ">=18"
1575 | },
1576 | "funding": {
1577 | "url": "https://github.com/sponsors/isaacs"
1578 | }
1579 | },
1580 | "node_modules/has-flag": {
1581 | "version": "4.0.0",
1582 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
1583 | "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
1584 | "dev": true,
1585 | "engines": {
1586 | "node": ">=8"
1587 | }
1588 | },
1589 | "node_modules/html-escaper": {
1590 | "version": "2.0.2",
1591 | "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz",
1592 | "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==",
1593 | "dev": true
1594 | },
1595 | "node_modules/htmlparser2": {
1596 | "version": "7.2.0",
1597 | "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-7.2.0.tgz",
1598 | "integrity": "sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog==",
1599 | "funding": [
1600 | "https://github.com/fb55/htmlparser2?sponsor=1",
1601 | {
1602 | "type": "github",
1603 | "url": "https://github.com/sponsors/fb55"
1604 | }
1605 | ],
1606 | "peer": true,
1607 | "dependencies": {
1608 | "domelementtype": "^2.0.1",
1609 | "domhandler": "^4.2.2",
1610 | "domutils": "^2.8.0",
1611 | "entities": "^3.0.1"
1612 | }
1613 | },
1614 | "node_modules/is-fullwidth-code-point": {
1615 | "version": "3.0.0",
1616 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
1617 | "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
1618 | "dev": true,
1619 | "engines": {
1620 | "node": ">=8"
1621 | }
1622 | },
1623 | "node_modules/is-json": {
1624 | "version": "2.0.1",
1625 | "resolved": "https://registry.npmjs.org/is-json/-/is-json-2.0.1.tgz",
1626 | "integrity": "sha1-a+Fm0USCihMdaGiRuYPfYsOUkf8=",
1627 | "peer": true
1628 | },
1629 | "node_modules/isexe": {
1630 | "version": "2.0.0",
1631 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
1632 | "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
1633 | "dev": true
1634 | },
1635 | "node_modules/istanbul-lib-coverage": {
1636 | "version": "3.2.2",
1637 | "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz",
1638 | "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==",
1639 | "dev": true,
1640 | "engines": {
1641 | "node": ">=8"
1642 | }
1643 | },
1644 | "node_modules/istanbul-lib-report": {
1645 | "version": "3.0.1",
1646 | "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz",
1647 | "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==",
1648 | "dev": true,
1649 | "dependencies": {
1650 | "istanbul-lib-coverage": "^3.0.0",
1651 | "make-dir": "^4.0.0",
1652 | "supports-color": "^7.1.0"
1653 | },
1654 | "engines": {
1655 | "node": ">=10"
1656 | }
1657 | },
1658 | "node_modules/istanbul-lib-source-maps": {
1659 | "version": "5.0.6",
1660 | "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-5.0.6.tgz",
1661 | "integrity": "sha512-yg2d+Em4KizZC5niWhQaIomgf5WlL4vOOjZ5xGCmF8SnPE/mDWWXgvRExdcpCgh9lLRRa1/fSYp2ymmbJ1pI+A==",
1662 | "dev": true,
1663 | "dependencies": {
1664 | "@jridgewell/trace-mapping": "^0.3.23",
1665 | "debug": "^4.1.1",
1666 | "istanbul-lib-coverage": "^3.0.0"
1667 | },
1668 | "engines": {
1669 | "node": ">=10"
1670 | }
1671 | },
1672 | "node_modules/istanbul-reports": {
1673 | "version": "3.1.7",
1674 | "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz",
1675 | "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==",
1676 | "dev": true,
1677 | "dependencies": {
1678 | "html-escaper": "^2.0.0",
1679 | "istanbul-lib-report": "^3.0.0"
1680 | },
1681 | "engines": {
1682 | "node": ">=8"
1683 | }
1684 | },
1685 | "node_modules/jackspeak": {
1686 | "version": "3.4.1",
1687 | "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.1.tgz",
1688 | "integrity": "sha512-U23pQPDnmYybVkYjObcuYMk43VRlMLLqLI+RdZy8s8WV8WsxO9SnqSroKaluuvcNOdCAlauKszDwd+umbot5Mg==",
1689 | "dev": true,
1690 | "dependencies": {
1691 | "@isaacs/cliui": "^8.0.2"
1692 | },
1693 | "engines": {
1694 | "node": ">=18"
1695 | },
1696 | "funding": {
1697 | "url": "https://github.com/sponsors/isaacs"
1698 | },
1699 | "optionalDependencies": {
1700 | "@pkgjs/parseargs": "^0.11.0"
1701 | }
1702 | },
1703 | "node_modules/js-tokens": {
1704 | "version": "9.0.1",
1705 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.1.tgz",
1706 | "integrity": "sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==",
1707 | "dev": true,
1708 | "license": "MIT"
1709 | },
1710 | "node_modules/loupe": {
1711 | "version": "3.1.3",
1712 | "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.1.3.tgz",
1713 | "integrity": "sha512-kkIp7XSkP78ZxJEsSxW3712C6teJVoeHHwgo9zJ380de7IYyJ2ISlxojcH2pC5OFLewESmnRi/+XCDIEEVyoug==",
1714 | "dev": true,
1715 | "license": "MIT"
1716 | },
1717 | "node_modules/lru-cache": {
1718 | "version": "6.0.0",
1719 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
1720 | "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
1721 | "dev": true,
1722 | "dependencies": {
1723 | "yallist": "^4.0.0"
1724 | },
1725 | "engines": {
1726 | "node": ">=10"
1727 | }
1728 | },
1729 | "node_modules/magic-string": {
1730 | "version": "0.30.17",
1731 | "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz",
1732 | "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==",
1733 | "dev": true,
1734 | "license": "MIT",
1735 | "dependencies": {
1736 | "@jridgewell/sourcemap-codec": "^1.5.0"
1737 | }
1738 | },
1739 | "node_modules/magicast": {
1740 | "version": "0.3.5",
1741 | "resolved": "https://registry.npmjs.org/magicast/-/magicast-0.3.5.tgz",
1742 | "integrity": "sha512-L0WhttDl+2BOsybvEOLK7fW3UA0OQ0IQ2d6Zl2x/a6vVRs3bAY0ECOSHHeL5jD+SbOpOCUEi0y1DgHEn9Qn1AQ==",
1743 | "dev": true,
1744 | "dependencies": {
1745 | "@babel/parser": "^7.25.4",
1746 | "@babel/types": "^7.25.4",
1747 | "source-map-js": "^1.2.0"
1748 | }
1749 | },
1750 | "node_modules/make-dir": {
1751 | "version": "4.0.0",
1752 | "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz",
1753 | "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==",
1754 | "dev": true,
1755 | "dependencies": {
1756 | "semver": "^7.5.3"
1757 | },
1758 | "engines": {
1759 | "node": ">=10"
1760 | },
1761 | "funding": {
1762 | "url": "https://github.com/sponsors/sindresorhus"
1763 | }
1764 | },
1765 | "node_modules/minimatch": {
1766 | "version": "9.0.5",
1767 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
1768 | "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
1769 | "dev": true,
1770 | "dependencies": {
1771 | "brace-expansion": "^2.0.1"
1772 | },
1773 | "engines": {
1774 | "node": ">=16 || 14 >=14.17"
1775 | },
1776 | "funding": {
1777 | "url": "https://github.com/sponsors/isaacs"
1778 | }
1779 | },
1780 | "node_modules/minipass": {
1781 | "version": "7.1.2",
1782 | "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz",
1783 | "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==",
1784 | "dev": true,
1785 | "engines": {
1786 | "node": ">=16 || 14 >=14.17"
1787 | }
1788 | },
1789 | "node_modules/ms": {
1790 | "version": "2.1.3",
1791 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
1792 | "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
1793 | "dev": true
1794 | },
1795 | "node_modules/nanoid": {
1796 | "version": "3.3.11",
1797 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz",
1798 | "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==",
1799 | "dev": true,
1800 | "funding": [
1801 | {
1802 | "type": "github",
1803 | "url": "https://github.com/sponsors/ai"
1804 | }
1805 | ],
1806 | "license": "MIT",
1807 | "bin": {
1808 | "nanoid": "bin/nanoid.cjs"
1809 | },
1810 | "engines": {
1811 | "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
1812 | }
1813 | },
1814 | "node_modules/package-json-from-dist": {
1815 | "version": "1.0.0",
1816 | "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz",
1817 | "integrity": "sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==",
1818 | "dev": true
1819 | },
1820 | "node_modules/path-key": {
1821 | "version": "3.1.1",
1822 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
1823 | "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
1824 | "dev": true,
1825 | "engines": {
1826 | "node": ">=8"
1827 | }
1828 | },
1829 | "node_modules/path-scurry": {
1830 | "version": "1.11.1",
1831 | "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz",
1832 | "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==",
1833 | "dev": true,
1834 | "dependencies": {
1835 | "lru-cache": "^10.2.0",
1836 | "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0"
1837 | },
1838 | "engines": {
1839 | "node": ">=16 || 14 >=14.18"
1840 | },
1841 | "funding": {
1842 | "url": "https://github.com/sponsors/isaacs"
1843 | }
1844 | },
1845 | "node_modules/path-scurry/node_modules/lru-cache": {
1846 | "version": "10.4.0",
1847 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.0.tgz",
1848 | "integrity": "sha512-bfJaPTuEiTYBu+ulDaeQ0F+uLmlfFkMgXj4cbwfuMSjgObGMzb55FMMbDvbRU0fAHZ4sLGkz2mKwcMg8Dvm8Ww==",
1849 | "dev": true,
1850 | "engines": {
1851 | "node": ">=18"
1852 | }
1853 | },
1854 | "node_modules/pathe": {
1855 | "version": "2.0.3",
1856 | "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz",
1857 | "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==",
1858 | "dev": true,
1859 | "license": "MIT"
1860 | },
1861 | "node_modules/pathval": {
1862 | "version": "2.0.0",
1863 | "resolved": "https://registry.npmjs.org/pathval/-/pathval-2.0.0.tgz",
1864 | "integrity": "sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==",
1865 | "dev": true,
1866 | "license": "MIT",
1867 | "engines": {
1868 | "node": ">= 14.16"
1869 | }
1870 | },
1871 | "node_modules/picocolors": {
1872 | "version": "1.1.1",
1873 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
1874 | "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==",
1875 | "dev": true,
1876 | "license": "ISC"
1877 | },
1878 | "node_modules/picomatch": {
1879 | "version": "4.0.2",
1880 | "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz",
1881 | "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==",
1882 | "dev": true,
1883 | "license": "MIT",
1884 | "engines": {
1885 | "node": ">=12"
1886 | },
1887 | "funding": {
1888 | "url": "https://github.com/sponsors/jonschlinkert"
1889 | }
1890 | },
1891 | "node_modules/postcss": {
1892 | "version": "8.5.4",
1893 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.4.tgz",
1894 | "integrity": "sha512-QSa9EBe+uwlGTFmHsPKokv3B/oEMQZxfqW0QqNCyhpa6mB1afzulwn8hihglqAb2pOw+BJgNlmXQ8la2VeHB7w==",
1895 | "dev": true,
1896 | "funding": [
1897 | {
1898 | "type": "opencollective",
1899 | "url": "https://opencollective.com/postcss/"
1900 | },
1901 | {
1902 | "type": "tidelift",
1903 | "url": "https://tidelift.com/funding/github/npm/postcss"
1904 | },
1905 | {
1906 | "type": "github",
1907 | "url": "https://github.com/sponsors/ai"
1908 | }
1909 | ],
1910 | "license": "MIT",
1911 | "dependencies": {
1912 | "nanoid": "^3.3.11",
1913 | "picocolors": "^1.1.1",
1914 | "source-map-js": "^1.2.1"
1915 | },
1916 | "engines": {
1917 | "node": "^10 || ^12 || >=14"
1918 | }
1919 | },
1920 | "node_modules/posthtml": {
1921 | "version": "0.16.6",
1922 | "resolved": "https://registry.npmjs.org/posthtml/-/posthtml-0.16.6.tgz",
1923 | "integrity": "sha512-JcEmHlyLK/o0uGAlj65vgg+7LIms0xKXe60lcDOTU7oVX/3LuEuLwrQpW3VJ7de5TaFKiW4kWkaIpJL42FEgxQ==",
1924 | "peer": true,
1925 | "dependencies": {
1926 | "posthtml-parser": "^0.11.0",
1927 | "posthtml-render": "^3.0.0"
1928 | },
1929 | "engines": {
1930 | "node": ">=12.0.0"
1931 | }
1932 | },
1933 | "node_modules/posthtml-parser": {
1934 | "version": "0.11.0",
1935 | "resolved": "https://registry.npmjs.org/posthtml-parser/-/posthtml-parser-0.11.0.tgz",
1936 | "integrity": "sha512-QecJtfLekJbWVo/dMAA+OSwY79wpRmbqS5TeXvXSX+f0c6pW4/SE6inzZ2qkU7oAMCPqIDkZDvd/bQsSFUnKyw==",
1937 | "peer": true,
1938 | "dependencies": {
1939 | "htmlparser2": "^7.1.1"
1940 | },
1941 | "engines": {
1942 | "node": ">=12"
1943 | }
1944 | },
1945 | "node_modules/posthtml-render": {
1946 | "version": "3.0.0",
1947 | "resolved": "https://registry.npmjs.org/posthtml-render/-/posthtml-render-3.0.0.tgz",
1948 | "integrity": "sha512-z+16RoxK3fUPgwaIgH9NGnK1HKY9XIDpydky5eQGgAFVXTCSezalv9U2jQuNV+Z9qV1fDWNzldcw4eK0SSbqKA==",
1949 | "peer": true,
1950 | "dependencies": {
1951 | "is-json": "^2.0.1"
1952 | },
1953 | "engines": {
1954 | "node": ">=12"
1955 | }
1956 | },
1957 | "node_modules/rollup": {
1958 | "version": "4.42.0",
1959 | "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.42.0.tgz",
1960 | "integrity": "sha512-LW+Vse3BJPyGJGAJt1j8pWDKPd73QM8cRXYK1IxOBgL2AGLu7Xd2YOW0M2sLUBCkF5MshXXtMApyEAEzMVMsnw==",
1961 | "dev": true,
1962 | "license": "MIT",
1963 | "dependencies": {
1964 | "@types/estree": "1.0.7"
1965 | },
1966 | "bin": {
1967 | "rollup": "dist/bin/rollup"
1968 | },
1969 | "engines": {
1970 | "node": ">=18.0.0",
1971 | "npm": ">=8.0.0"
1972 | },
1973 | "optionalDependencies": {
1974 | "@rollup/rollup-android-arm-eabi": "4.42.0",
1975 | "@rollup/rollup-android-arm64": "4.42.0",
1976 | "@rollup/rollup-darwin-arm64": "4.42.0",
1977 | "@rollup/rollup-darwin-x64": "4.42.0",
1978 | "@rollup/rollup-freebsd-arm64": "4.42.0",
1979 | "@rollup/rollup-freebsd-x64": "4.42.0",
1980 | "@rollup/rollup-linux-arm-gnueabihf": "4.42.0",
1981 | "@rollup/rollup-linux-arm-musleabihf": "4.42.0",
1982 | "@rollup/rollup-linux-arm64-gnu": "4.42.0",
1983 | "@rollup/rollup-linux-arm64-musl": "4.42.0",
1984 | "@rollup/rollup-linux-loongarch64-gnu": "4.42.0",
1985 | "@rollup/rollup-linux-powerpc64le-gnu": "4.42.0",
1986 | "@rollup/rollup-linux-riscv64-gnu": "4.42.0",
1987 | "@rollup/rollup-linux-riscv64-musl": "4.42.0",
1988 | "@rollup/rollup-linux-s390x-gnu": "4.42.0",
1989 | "@rollup/rollup-linux-x64-gnu": "4.42.0",
1990 | "@rollup/rollup-linux-x64-musl": "4.42.0",
1991 | "@rollup/rollup-win32-arm64-msvc": "4.42.0",
1992 | "@rollup/rollup-win32-ia32-msvc": "4.42.0",
1993 | "@rollup/rollup-win32-x64-msvc": "4.42.0",
1994 | "fsevents": "~2.3.2"
1995 | }
1996 | },
1997 | "node_modules/rollup/node_modules/@types/estree": {
1998 | "version": "1.0.7",
1999 | "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.7.tgz",
2000 | "integrity": "sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==",
2001 | "dev": true,
2002 | "license": "MIT"
2003 | },
2004 | "node_modules/semver": {
2005 | "version": "7.6.0",
2006 | "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz",
2007 | "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==",
2008 | "dev": true,
2009 | "dependencies": {
2010 | "lru-cache": "^6.0.0"
2011 | },
2012 | "bin": {
2013 | "semver": "bin/semver.js"
2014 | },
2015 | "engines": {
2016 | "node": ">=10"
2017 | }
2018 | },
2019 | "node_modules/shebang-command": {
2020 | "version": "2.0.0",
2021 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
2022 | "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
2023 | "dev": true,
2024 | "dependencies": {
2025 | "shebang-regex": "^3.0.0"
2026 | },
2027 | "engines": {
2028 | "node": ">=8"
2029 | }
2030 | },
2031 | "node_modules/shebang-regex": {
2032 | "version": "3.0.0",
2033 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
2034 | "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
2035 | "dev": true,
2036 | "engines": {
2037 | "node": ">=8"
2038 | }
2039 | },
2040 | "node_modules/siginfo": {
2041 | "version": "2.0.0",
2042 | "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz",
2043 | "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==",
2044 | "dev": true
2045 | },
2046 | "node_modules/signal-exit": {
2047 | "version": "4.1.0",
2048 | "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz",
2049 | "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
2050 | "dev": true,
2051 | "engines": {
2052 | "node": ">=14"
2053 | },
2054 | "funding": {
2055 | "url": "https://github.com/sponsors/isaacs"
2056 | }
2057 | },
2058 | "node_modules/source-map-js": {
2059 | "version": "1.2.1",
2060 | "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz",
2061 | "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==",
2062 | "dev": true,
2063 | "engines": {
2064 | "node": ">=0.10.0"
2065 | }
2066 | },
2067 | "node_modules/stackback": {
2068 | "version": "0.0.2",
2069 | "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz",
2070 | "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==",
2071 | "dev": true
2072 | },
2073 | "node_modules/std-env": {
2074 | "version": "3.9.0",
2075 | "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.9.0.tgz",
2076 | "integrity": "sha512-UGvjygr6F6tpH7o2qyqR6QYpwraIjKSdtzyBdyytFOHmPZY917kwdwLG0RbOjWOnKmnm3PeHjaoLLMie7kPLQw==",
2077 | "dev": true,
2078 | "license": "MIT"
2079 | },
2080 | "node_modules/string-width": {
2081 | "version": "5.1.2",
2082 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz",
2083 | "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==",
2084 | "dev": true,
2085 | "dependencies": {
2086 | "eastasianwidth": "^0.2.0",
2087 | "emoji-regex": "^9.2.2",
2088 | "strip-ansi": "^7.0.1"
2089 | },
2090 | "engines": {
2091 | "node": ">=12"
2092 | },
2093 | "funding": {
2094 | "url": "https://github.com/sponsors/sindresorhus"
2095 | }
2096 | },
2097 | "node_modules/string-width-cjs": {
2098 | "name": "string-width",
2099 | "version": "4.2.3",
2100 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
2101 | "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
2102 | "dev": true,
2103 | "dependencies": {
2104 | "emoji-regex": "^8.0.0",
2105 | "is-fullwidth-code-point": "^3.0.0",
2106 | "strip-ansi": "^6.0.1"
2107 | },
2108 | "engines": {
2109 | "node": ">=8"
2110 | }
2111 | },
2112 | "node_modules/string-width-cjs/node_modules/ansi-regex": {
2113 | "version": "5.0.1",
2114 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
2115 | "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
2116 | "dev": true,
2117 | "engines": {
2118 | "node": ">=8"
2119 | }
2120 | },
2121 | "node_modules/string-width-cjs/node_modules/emoji-regex": {
2122 | "version": "8.0.0",
2123 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
2124 | "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
2125 | "dev": true
2126 | },
2127 | "node_modules/string-width-cjs/node_modules/strip-ansi": {
2128 | "version": "6.0.1",
2129 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
2130 | "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
2131 | "dev": true,
2132 | "dependencies": {
2133 | "ansi-regex": "^5.0.1"
2134 | },
2135 | "engines": {
2136 | "node": ">=8"
2137 | }
2138 | },
2139 | "node_modules/strip-ansi": {
2140 | "version": "7.1.0",
2141 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz",
2142 | "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==",
2143 | "dev": true,
2144 | "dependencies": {
2145 | "ansi-regex": "^6.0.1"
2146 | },
2147 | "engines": {
2148 | "node": ">=12"
2149 | },
2150 | "funding": {
2151 | "url": "https://github.com/chalk/strip-ansi?sponsor=1"
2152 | }
2153 | },
2154 | "node_modules/strip-ansi-cjs": {
2155 | "name": "strip-ansi",
2156 | "version": "6.0.1",
2157 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
2158 | "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
2159 | "dev": true,
2160 | "dependencies": {
2161 | "ansi-regex": "^5.0.1"
2162 | },
2163 | "engines": {
2164 | "node": ">=8"
2165 | }
2166 | },
2167 | "node_modules/strip-ansi-cjs/node_modules/ansi-regex": {
2168 | "version": "5.0.1",
2169 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
2170 | "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
2171 | "dev": true,
2172 | "engines": {
2173 | "node": ">=8"
2174 | }
2175 | },
2176 | "node_modules/strip-literal": {
2177 | "version": "3.0.0",
2178 | "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-3.0.0.tgz",
2179 | "integrity": "sha512-TcccoMhJOM3OebGhSBEmp3UZ2SfDMZUEBdRA/9ynfLi8yYajyWX3JiXArcJt4Umh4vISpspkQIY8ZZoCqjbviA==",
2180 | "dev": true,
2181 | "license": "MIT",
2182 | "dependencies": {
2183 | "js-tokens": "^9.0.1"
2184 | },
2185 | "funding": {
2186 | "url": "https://github.com/sponsors/antfu"
2187 | }
2188 | },
2189 | "node_modules/supports-color": {
2190 | "version": "7.2.0",
2191 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
2192 | "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
2193 | "dev": true,
2194 | "dependencies": {
2195 | "has-flag": "^4.0.0"
2196 | },
2197 | "engines": {
2198 | "node": ">=8"
2199 | }
2200 | },
2201 | "node_modules/test-exclude": {
2202 | "version": "7.0.1",
2203 | "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-7.0.1.tgz",
2204 | "integrity": "sha512-pFYqmTw68LXVjeWJMST4+borgQP2AyMNbg1BpZh9LbyhUeNkeaPF9gzfPGUAnSMV3qPYdWUwDIjjCLiSDOl7vg==",
2205 | "dev": true,
2206 | "dependencies": {
2207 | "@istanbuljs/schema": "^0.1.2",
2208 | "glob": "^10.4.1",
2209 | "minimatch": "^9.0.4"
2210 | },
2211 | "engines": {
2212 | "node": ">=18"
2213 | }
2214 | },
2215 | "node_modules/tinybench": {
2216 | "version": "2.9.0",
2217 | "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz",
2218 | "integrity": "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==",
2219 | "dev": true
2220 | },
2221 | "node_modules/tinyexec": {
2222 | "version": "0.3.2",
2223 | "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.2.tgz",
2224 | "integrity": "sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==",
2225 | "dev": true,
2226 | "license": "MIT"
2227 | },
2228 | "node_modules/tinyglobby": {
2229 | "version": "0.2.14",
2230 | "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.14.tgz",
2231 | "integrity": "sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==",
2232 | "dev": true,
2233 | "license": "MIT",
2234 | "dependencies": {
2235 | "fdir": "^6.4.4",
2236 | "picomatch": "^4.0.2"
2237 | },
2238 | "engines": {
2239 | "node": ">=12.0.0"
2240 | },
2241 | "funding": {
2242 | "url": "https://github.com/sponsors/SuperchupuDev"
2243 | }
2244 | },
2245 | "node_modules/tinypool": {
2246 | "version": "1.1.0",
2247 | "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-1.1.0.tgz",
2248 | "integrity": "sha512-7CotroY9a8DKsKprEy/a14aCCm8jYVmR7aFy4fpkZM8sdpNJbKkixuNjgM50yCmip2ezc8z4N7k3oe2+rfRJCQ==",
2249 | "dev": true,
2250 | "license": "MIT",
2251 | "engines": {
2252 | "node": "^18.0.0 || >=20.0.0"
2253 | }
2254 | },
2255 | "node_modules/tinyrainbow": {
2256 | "version": "2.0.0",
2257 | "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-2.0.0.tgz",
2258 | "integrity": "sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==",
2259 | "dev": true,
2260 | "license": "MIT",
2261 | "engines": {
2262 | "node": ">=14.0.0"
2263 | }
2264 | },
2265 | "node_modules/tinyspy": {
2266 | "version": "4.0.3",
2267 | "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-4.0.3.tgz",
2268 | "integrity": "sha512-t2T/WLB2WRgZ9EpE4jgPJ9w+i66UZfDc8wHh0xrwiRNN+UwH98GIJkTeZqX9rg0i0ptwzqW+uYeIF0T4F8LR7A==",
2269 | "dev": true,
2270 | "license": "MIT",
2271 | "engines": {
2272 | "node": ">=14.0.0"
2273 | }
2274 | },
2275 | "node_modules/vite": {
2276 | "version": "6.3.5",
2277 | "resolved": "https://registry.npmjs.org/vite/-/vite-6.3.5.tgz",
2278 | "integrity": "sha512-cZn6NDFE7wdTpINgs++ZJ4N49W2vRp8LCKrn3Ob1kYNtOo21vfDoaV5GzBfLU4MovSAB8uNRm4jgzVQZ+mBzPQ==",
2279 | "dev": true,
2280 | "license": "MIT",
2281 | "dependencies": {
2282 | "esbuild": "^0.25.0",
2283 | "fdir": "^6.4.4",
2284 | "picomatch": "^4.0.2",
2285 | "postcss": "^8.5.3",
2286 | "rollup": "^4.34.9",
2287 | "tinyglobby": "^0.2.13"
2288 | },
2289 | "bin": {
2290 | "vite": "bin/vite.js"
2291 | },
2292 | "engines": {
2293 | "node": "^18.0.0 || ^20.0.0 || >=22.0.0"
2294 | },
2295 | "funding": {
2296 | "url": "https://github.com/vitejs/vite?sponsor=1"
2297 | },
2298 | "optionalDependencies": {
2299 | "fsevents": "~2.3.3"
2300 | },
2301 | "peerDependencies": {
2302 | "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0",
2303 | "jiti": ">=1.21.0",
2304 | "less": "*",
2305 | "lightningcss": "^1.21.0",
2306 | "sass": "*",
2307 | "sass-embedded": "*",
2308 | "stylus": "*",
2309 | "sugarss": "*",
2310 | "terser": "^5.16.0",
2311 | "tsx": "^4.8.1",
2312 | "yaml": "^2.4.2"
2313 | },
2314 | "peerDependenciesMeta": {
2315 | "@types/node": {
2316 | "optional": true
2317 | },
2318 | "jiti": {
2319 | "optional": true
2320 | },
2321 | "less": {
2322 | "optional": true
2323 | },
2324 | "lightningcss": {
2325 | "optional": true
2326 | },
2327 | "sass": {
2328 | "optional": true
2329 | },
2330 | "sass-embedded": {
2331 | "optional": true
2332 | },
2333 | "stylus": {
2334 | "optional": true
2335 | },
2336 | "sugarss": {
2337 | "optional": true
2338 | },
2339 | "terser": {
2340 | "optional": true
2341 | },
2342 | "tsx": {
2343 | "optional": true
2344 | },
2345 | "yaml": {
2346 | "optional": true
2347 | }
2348 | }
2349 | },
2350 | "node_modules/vite-node": {
2351 | "version": "3.2.3",
2352 | "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-3.2.3.tgz",
2353 | "integrity": "sha512-gc8aAifGuDIpZHrPjuHyP4dpQmYXqWw7D1GmDnWeNWP654UEXzVfQ5IHPSK5HaHkwB/+p1atpYpSdw/2kOv8iQ==",
2354 | "dev": true,
2355 | "license": "MIT",
2356 | "dependencies": {
2357 | "cac": "^6.7.14",
2358 | "debug": "^4.4.1",
2359 | "es-module-lexer": "^1.7.0",
2360 | "pathe": "^2.0.3",
2361 | "vite": "^5.0.0 || ^6.0.0 || ^7.0.0-0"
2362 | },
2363 | "bin": {
2364 | "vite-node": "vite-node.mjs"
2365 | },
2366 | "engines": {
2367 | "node": "^18.0.0 || ^20.0.0 || >=22.0.0"
2368 | },
2369 | "funding": {
2370 | "url": "https://opencollective.com/vitest"
2371 | }
2372 | },
2373 | "node_modules/vitest": {
2374 | "version": "3.2.3",
2375 | "resolved": "https://registry.npmjs.org/vitest/-/vitest-3.2.3.tgz",
2376 | "integrity": "sha512-E6U2ZFXe3N/t4f5BwUaVCKRLHqUpk1CBWeMh78UT4VaTPH/2dyvH6ALl29JTovEPu9dVKr/K/J4PkXgrMbw4Ww==",
2377 | "dev": true,
2378 | "license": "MIT",
2379 | "dependencies": {
2380 | "@types/chai": "^5.2.2",
2381 | "@vitest/expect": "3.2.3",
2382 | "@vitest/mocker": "3.2.3",
2383 | "@vitest/pretty-format": "^3.2.3",
2384 | "@vitest/runner": "3.2.3",
2385 | "@vitest/snapshot": "3.2.3",
2386 | "@vitest/spy": "3.2.3",
2387 | "@vitest/utils": "3.2.3",
2388 | "chai": "^5.2.0",
2389 | "debug": "^4.4.1",
2390 | "expect-type": "^1.2.1",
2391 | "magic-string": "^0.30.17",
2392 | "pathe": "^2.0.3",
2393 | "picomatch": "^4.0.2",
2394 | "std-env": "^3.9.0",
2395 | "tinybench": "^2.9.0",
2396 | "tinyexec": "^0.3.2",
2397 | "tinyglobby": "^0.2.14",
2398 | "tinypool": "^1.1.0",
2399 | "tinyrainbow": "^2.0.0",
2400 | "vite": "^5.0.0 || ^6.0.0 || ^7.0.0-0",
2401 | "vite-node": "3.2.3",
2402 | "why-is-node-running": "^2.3.0"
2403 | },
2404 | "bin": {
2405 | "vitest": "vitest.mjs"
2406 | },
2407 | "engines": {
2408 | "node": "^18.0.0 || ^20.0.0 || >=22.0.0"
2409 | },
2410 | "funding": {
2411 | "url": "https://opencollective.com/vitest"
2412 | },
2413 | "peerDependencies": {
2414 | "@edge-runtime/vm": "*",
2415 | "@types/debug": "^4.1.12",
2416 | "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0",
2417 | "@vitest/browser": "3.2.3",
2418 | "@vitest/ui": "3.2.3",
2419 | "happy-dom": "*",
2420 | "jsdom": "*"
2421 | },
2422 | "peerDependenciesMeta": {
2423 | "@edge-runtime/vm": {
2424 | "optional": true
2425 | },
2426 | "@types/debug": {
2427 | "optional": true
2428 | },
2429 | "@types/node": {
2430 | "optional": true
2431 | },
2432 | "@vitest/browser": {
2433 | "optional": true
2434 | },
2435 | "@vitest/ui": {
2436 | "optional": true
2437 | },
2438 | "happy-dom": {
2439 | "optional": true
2440 | },
2441 | "jsdom": {
2442 | "optional": true
2443 | }
2444 | }
2445 | },
2446 | "node_modules/which": {
2447 | "version": "2.0.2",
2448 | "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
2449 | "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
2450 | "dev": true,
2451 | "dependencies": {
2452 | "isexe": "^2.0.0"
2453 | },
2454 | "bin": {
2455 | "node-which": "bin/node-which"
2456 | },
2457 | "engines": {
2458 | "node": ">= 8"
2459 | }
2460 | },
2461 | "node_modules/why-is-node-running": {
2462 | "version": "2.3.0",
2463 | "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz",
2464 | "integrity": "sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==",
2465 | "dev": true,
2466 | "dependencies": {
2467 | "siginfo": "^2.0.0",
2468 | "stackback": "0.0.2"
2469 | },
2470 | "bin": {
2471 | "why-is-node-running": "cli.js"
2472 | },
2473 | "engines": {
2474 | "node": ">=8"
2475 | }
2476 | },
2477 | "node_modules/wrap-ansi": {
2478 | "version": "8.1.0",
2479 | "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz",
2480 | "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==",
2481 | "dev": true,
2482 | "dependencies": {
2483 | "ansi-styles": "^6.1.0",
2484 | "string-width": "^5.0.1",
2485 | "strip-ansi": "^7.0.1"
2486 | },
2487 | "engines": {
2488 | "node": ">=12"
2489 | },
2490 | "funding": {
2491 | "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
2492 | }
2493 | },
2494 | "node_modules/wrap-ansi-cjs": {
2495 | "name": "wrap-ansi",
2496 | "version": "7.0.0",
2497 | "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
2498 | "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
2499 | "dev": true,
2500 | "dependencies": {
2501 | "ansi-styles": "^4.0.0",
2502 | "string-width": "^4.1.0",
2503 | "strip-ansi": "^6.0.0"
2504 | },
2505 | "engines": {
2506 | "node": ">=10"
2507 | },
2508 | "funding": {
2509 | "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
2510 | }
2511 | },
2512 | "node_modules/wrap-ansi-cjs/node_modules/ansi-regex": {
2513 | "version": "5.0.1",
2514 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
2515 | "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
2516 | "dev": true,
2517 | "engines": {
2518 | "node": ">=8"
2519 | }
2520 | },
2521 | "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": {
2522 | "version": "4.3.0",
2523 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
2524 | "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
2525 | "dev": true,
2526 | "dependencies": {
2527 | "color-convert": "^2.0.1"
2528 | },
2529 | "engines": {
2530 | "node": ">=8"
2531 | },
2532 | "funding": {
2533 | "url": "https://github.com/chalk/ansi-styles?sponsor=1"
2534 | }
2535 | },
2536 | "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": {
2537 | "version": "8.0.0",
2538 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
2539 | "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
2540 | "dev": true
2541 | },
2542 | "node_modules/wrap-ansi-cjs/node_modules/string-width": {
2543 | "version": "4.2.3",
2544 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
2545 | "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
2546 | "dev": true,
2547 | "dependencies": {
2548 | "emoji-regex": "^8.0.0",
2549 | "is-fullwidth-code-point": "^3.0.0",
2550 | "strip-ansi": "^6.0.1"
2551 | },
2552 | "engines": {
2553 | "node": ">=8"
2554 | }
2555 | },
2556 | "node_modules/wrap-ansi-cjs/node_modules/strip-ansi": {
2557 | "version": "6.0.1",
2558 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
2559 | "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
2560 | "dev": true,
2561 | "dependencies": {
2562 | "ansi-regex": "^5.0.1"
2563 | },
2564 | "engines": {
2565 | "node": ">=8"
2566 | }
2567 | },
2568 | "node_modules/wrap-ansi/node_modules/ansi-styles": {
2569 | "version": "6.2.1",
2570 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz",
2571 | "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==",
2572 | "dev": true,
2573 | "engines": {
2574 | "node": ">=12"
2575 | },
2576 | "funding": {
2577 | "url": "https://github.com/chalk/ansi-styles?sponsor=1"
2578 | }
2579 | },
2580 | "node_modules/yallist": {
2581 | "version": "4.0.0",
2582 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
2583 | "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
2584 | "dev": true
2585 | }
2586 | },
2587 | "dependencies": {
2588 | "@ampproject/remapping": {
2589 | "version": "2.3.0",
2590 | "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz",
2591 | "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==",
2592 | "dev": true,
2593 | "requires": {
2594 | "@jridgewell/gen-mapping": "^0.3.5",
2595 | "@jridgewell/trace-mapping": "^0.3.24"
2596 | }
2597 | },
2598 | "@babel/helper-string-parser": {
2599 | "version": "7.25.9",
2600 | "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz",
2601 | "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==",
2602 | "dev": true
2603 | },
2604 | "@babel/helper-validator-identifier": {
2605 | "version": "7.25.9",
2606 | "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz",
2607 | "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==",
2608 | "dev": true
2609 | },
2610 | "@babel/parser": {
2611 | "version": "7.26.1",
2612 | "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.1.tgz",
2613 | "integrity": "sha512-reoQYNiAJreZNsJzyrDNzFQ+IQ5JFiIzAHJg9bn94S3l+4++J7RsIhNMoB+lgP/9tpmiAQqspv+xfdxTSzREOw==",
2614 | "dev": true,
2615 | "requires": {
2616 | "@babel/types": "^7.26.0"
2617 | }
2618 | },
2619 | "@babel/types": {
2620 | "version": "7.26.0",
2621 | "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.0.tgz",
2622 | "integrity": "sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA==",
2623 | "dev": true,
2624 | "requires": {
2625 | "@babel/helper-string-parser": "^7.25.9",
2626 | "@babel/helper-validator-identifier": "^7.25.9"
2627 | }
2628 | },
2629 | "@bcoe/v8-coverage": {
2630 | "version": "1.0.2",
2631 | "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-1.0.2.tgz",
2632 | "integrity": "sha512-6zABk/ECA/QYSCQ1NGiVwwbQerUCZ+TQbp64Q3AgmfNvurHH0j8TtXa1qbShXA6qqkpAj4V5W8pP6mLe1mcMqA==",
2633 | "dev": true
2634 | },
2635 | "@biomejs/biome": {
2636 | "version": "1.9.4",
2637 | "resolved": "https://registry.npmjs.org/@biomejs/biome/-/biome-1.9.4.tgz",
2638 | "integrity": "sha512-1rkd7G70+o9KkTn5KLmDYXihGoTaIGO9PIIN2ZB7UJxFrWw04CZHPYiMRjYsaDvVV7hP1dYNRLxSANLaBFGpog==",
2639 | "dev": true,
2640 | "requires": {
2641 | "@biomejs/cli-darwin-arm64": "1.9.4",
2642 | "@biomejs/cli-darwin-x64": "1.9.4",
2643 | "@biomejs/cli-linux-arm64": "1.9.4",
2644 | "@biomejs/cli-linux-arm64-musl": "1.9.4",
2645 | "@biomejs/cli-linux-x64": "1.9.4",
2646 | "@biomejs/cli-linux-x64-musl": "1.9.4",
2647 | "@biomejs/cli-win32-arm64": "1.9.4",
2648 | "@biomejs/cli-win32-x64": "1.9.4"
2649 | }
2650 | },
2651 | "@biomejs/cli-darwin-arm64": {
2652 | "version": "1.9.4",
2653 | "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-1.9.4.tgz",
2654 | "integrity": "sha512-bFBsPWrNvkdKrNCYeAp+xo2HecOGPAy9WyNyB/jKnnedgzl4W4Hb9ZMzYNbf8dMCGmUdSavlYHiR01QaYR58cw==",
2655 | "dev": true,
2656 | "optional": true
2657 | },
2658 | "@biomejs/cli-darwin-x64": {
2659 | "version": "1.9.4",
2660 | "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-x64/-/cli-darwin-x64-1.9.4.tgz",
2661 | "integrity": "sha512-ngYBh/+bEedqkSevPVhLP4QfVPCpb+4BBe2p7Xs32dBgs7rh9nY2AIYUL6BgLw1JVXV8GlpKmb/hNiuIxfPfZg==",
2662 | "dev": true,
2663 | "optional": true
2664 | },
2665 | "@biomejs/cli-linux-arm64": {
2666 | "version": "1.9.4",
2667 | "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64/-/cli-linux-arm64-1.9.4.tgz",
2668 | "integrity": "sha512-fJIW0+LYujdjUgJJuwesP4EjIBl/N/TcOX3IvIHJQNsAqvV2CHIogsmA94BPG6jZATS4Hi+xv4SkBBQSt1N4/g==",
2669 | "dev": true,
2670 | "optional": true
2671 | },
2672 | "@biomejs/cli-linux-arm64-musl": {
2673 | "version": "1.9.4",
2674 | "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-1.9.4.tgz",
2675 | "integrity": "sha512-v665Ct9WCRjGa8+kTr0CzApU0+XXtRgwmzIf1SeKSGAv+2scAlW6JR5PMFo6FzqqZ64Po79cKODKf3/AAmECqA==",
2676 | "dev": true,
2677 | "optional": true
2678 | },
2679 | "@biomejs/cli-linux-x64": {
2680 | "version": "1.9.4",
2681 | "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64/-/cli-linux-x64-1.9.4.tgz",
2682 | "integrity": "sha512-lRCJv/Vi3Vlwmbd6K+oQ0KhLHMAysN8lXoCI7XeHlxaajk06u7G+UsFSO01NAs5iYuWKmVZjmiOzJ0OJmGsMwg==",
2683 | "dev": true,
2684 | "optional": true
2685 | },
2686 | "@biomejs/cli-linux-x64-musl": {
2687 | "version": "1.9.4",
2688 | "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-1.9.4.tgz",
2689 | "integrity": "sha512-gEhi/jSBhZ2m6wjV530Yy8+fNqG8PAinM3oV7CyO+6c3CEh16Eizm21uHVsyVBEB6RIM8JHIl6AGYCv6Q6Q9Tg==",
2690 | "dev": true,
2691 | "optional": true
2692 | },
2693 | "@biomejs/cli-win32-arm64": {
2694 | "version": "1.9.4",
2695 | "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-arm64/-/cli-win32-arm64-1.9.4.tgz",
2696 | "integrity": "sha512-tlbhLk+WXZmgwoIKwHIHEBZUwxml7bRJgk0X2sPyNR3S93cdRq6XulAZRQJ17FYGGzWne0fgrXBKpl7l4M87Hg==",
2697 | "dev": true,
2698 | "optional": true
2699 | },
2700 | "@biomejs/cli-win32-x64": {
2701 | "version": "1.9.4",
2702 | "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-x64/-/cli-win32-x64-1.9.4.tgz",
2703 | "integrity": "sha512-8Y5wMhVIPaWe6jw2H+KlEm4wP/f7EW3810ZLmDlrEEy5KvBsb9ECEfu/kMWD484ijfQ8+nIi0giMgu9g1UAuuA==",
2704 | "dev": true,
2705 | "optional": true
2706 | },
2707 | "@esbuild/aix-ppc64": {
2708 | "version": "0.25.5",
2709 | "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.5.tgz",
2710 | "integrity": "sha512-9o3TMmpmftaCMepOdA5k/yDw8SfInyzWWTjYTFCX3kPSDJMROQTb8jg+h9Cnwnmm1vOzvxN7gIfB5V2ewpjtGA==",
2711 | "dev": true,
2712 | "optional": true
2713 | },
2714 | "@esbuild/android-arm": {
2715 | "version": "0.25.5",
2716 | "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.5.tgz",
2717 | "integrity": "sha512-AdJKSPeEHgi7/ZhuIPtcQKr5RQdo6OO2IL87JkianiMYMPbCtot9fxPbrMiBADOWWm3T2si9stAiVsGbTQFkbA==",
2718 | "dev": true,
2719 | "optional": true
2720 | },
2721 | "@esbuild/android-arm64": {
2722 | "version": "0.25.5",
2723 | "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.5.tgz",
2724 | "integrity": "sha512-VGzGhj4lJO+TVGV1v8ntCZWJktV7SGCs3Pn1GRWI1SBFtRALoomm8k5E9Pmwg3HOAal2VDc2F9+PM/rEY6oIDg==",
2725 | "dev": true,
2726 | "optional": true
2727 | },
2728 | "@esbuild/android-x64": {
2729 | "version": "0.25.5",
2730 | "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.5.tgz",
2731 | "integrity": "sha512-D2GyJT1kjvO//drbRT3Hib9XPwQeWd9vZoBJn+bu/lVsOZ13cqNdDeqIF/xQ5/VmWvMduP6AmXvylO/PIc2isw==",
2732 | "dev": true,
2733 | "optional": true
2734 | },
2735 | "@esbuild/darwin-arm64": {
2736 | "version": "0.25.5",
2737 | "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.5.tgz",
2738 | "integrity": "sha512-GtaBgammVvdF7aPIgH2jxMDdivezgFu6iKpmT+48+F8Hhg5J/sfnDieg0aeG/jfSvkYQU2/pceFPDKlqZzwnfQ==",
2739 | "dev": true,
2740 | "optional": true
2741 | },
2742 | "@esbuild/darwin-x64": {
2743 | "version": "0.25.5",
2744 | "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.5.tgz",
2745 | "integrity": "sha512-1iT4FVL0dJ76/q1wd7XDsXrSW+oLoquptvh4CLR4kITDtqi2e/xwXwdCVH8hVHU43wgJdsq7Gxuzcs6Iq/7bxQ==",
2746 | "dev": true,
2747 | "optional": true
2748 | },
2749 | "@esbuild/freebsd-arm64": {
2750 | "version": "0.25.5",
2751 | "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.5.tgz",
2752 | "integrity": "sha512-nk4tGP3JThz4La38Uy/gzyXtpkPW8zSAmoUhK9xKKXdBCzKODMc2adkB2+8om9BDYugz+uGV7sLmpTYzvmz6Sw==",
2753 | "dev": true,
2754 | "optional": true
2755 | },
2756 | "@esbuild/freebsd-x64": {
2757 | "version": "0.25.5",
2758 | "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.5.tgz",
2759 | "integrity": "sha512-PrikaNjiXdR2laW6OIjlbeuCPrPaAl0IwPIaRv+SMV8CiM8i2LqVUHFC1+8eORgWyY7yhQY+2U2fA55mBzReaw==",
2760 | "dev": true,
2761 | "optional": true
2762 | },
2763 | "@esbuild/linux-arm": {
2764 | "version": "0.25.5",
2765 | "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.5.tgz",
2766 | "integrity": "sha512-cPzojwW2okgh7ZlRpcBEtsX7WBuqbLrNXqLU89GxWbNt6uIg78ET82qifUy3W6OVww6ZWobWub5oqZOVtwolfw==",
2767 | "dev": true,
2768 | "optional": true
2769 | },
2770 | "@esbuild/linux-arm64": {
2771 | "version": "0.25.5",
2772 | "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.5.tgz",
2773 | "integrity": "sha512-Z9kfb1v6ZlGbWj8EJk9T6czVEjjq2ntSYLY2cw6pAZl4oKtfgQuS4HOq41M/BcoLPzrUbNd+R4BXFyH//nHxVg==",
2774 | "dev": true,
2775 | "optional": true
2776 | },
2777 | "@esbuild/linux-ia32": {
2778 | "version": "0.25.5",
2779 | "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.5.tgz",
2780 | "integrity": "sha512-sQ7l00M8bSv36GLV95BVAdhJ2QsIbCuCjh/uYrWiMQSUuV+LpXwIqhgJDcvMTj+VsQmqAHL2yYaasENvJ7CDKA==",
2781 | "dev": true,
2782 | "optional": true
2783 | },
2784 | "@esbuild/linux-loong64": {
2785 | "version": "0.25.5",
2786 | "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.5.tgz",
2787 | "integrity": "sha512-0ur7ae16hDUC4OL5iEnDb0tZHDxYmuQyhKhsPBV8f99f6Z9KQM02g33f93rNH5A30agMS46u2HP6qTdEt6Q1kg==",
2788 | "dev": true,
2789 | "optional": true
2790 | },
2791 | "@esbuild/linux-mips64el": {
2792 | "version": "0.25.5",
2793 | "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.5.tgz",
2794 | "integrity": "sha512-kB/66P1OsHO5zLz0i6X0RxlQ+3cu0mkxS3TKFvkb5lin6uwZ/ttOkP3Z8lfR9mJOBk14ZwZ9182SIIWFGNmqmg==",
2795 | "dev": true,
2796 | "optional": true
2797 | },
2798 | "@esbuild/linux-ppc64": {
2799 | "version": "0.25.5",
2800 | "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.5.tgz",
2801 | "integrity": "sha512-UZCmJ7r9X2fe2D6jBmkLBMQetXPXIsZjQJCjgwpVDz+YMcS6oFR27alkgGv3Oqkv07bxdvw7fyB71/olceJhkQ==",
2802 | "dev": true,
2803 | "optional": true
2804 | },
2805 | "@esbuild/linux-riscv64": {
2806 | "version": "0.25.5",
2807 | "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.5.tgz",
2808 | "integrity": "sha512-kTxwu4mLyeOlsVIFPfQo+fQJAV9mh24xL+y+Bm6ej067sYANjyEw1dNHmvoqxJUCMnkBdKpvOn0Ahql6+4VyeA==",
2809 | "dev": true,
2810 | "optional": true
2811 | },
2812 | "@esbuild/linux-s390x": {
2813 | "version": "0.25.5",
2814 | "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.5.tgz",
2815 | "integrity": "sha512-K2dSKTKfmdh78uJ3NcWFiqyRrimfdinS5ErLSn3vluHNeHVnBAFWC8a4X5N+7FgVE1EjXS1QDZbpqZBjfrqMTQ==",
2816 | "dev": true,
2817 | "optional": true
2818 | },
2819 | "@esbuild/linux-x64": {
2820 | "version": "0.25.5",
2821 | "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.5.tgz",
2822 | "integrity": "sha512-uhj8N2obKTE6pSZ+aMUbqq+1nXxNjZIIjCjGLfsWvVpy7gKCOL6rsY1MhRh9zLtUtAI7vpgLMK6DxjO8Qm9lJw==",
2823 | "dev": true,
2824 | "optional": true
2825 | },
2826 | "@esbuild/netbsd-arm64": {
2827 | "version": "0.25.5",
2828 | "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.5.tgz",
2829 | "integrity": "sha512-pwHtMP9viAy1oHPvgxtOv+OkduK5ugofNTVDilIzBLpoWAM16r7b/mxBvfpuQDpRQFMfuVr5aLcn4yveGvBZvw==",
2830 | "dev": true,
2831 | "optional": true
2832 | },
2833 | "@esbuild/netbsd-x64": {
2834 | "version": "0.25.5",
2835 | "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.5.tgz",
2836 | "integrity": "sha512-WOb5fKrvVTRMfWFNCroYWWklbnXH0Q5rZppjq0vQIdlsQKuw6mdSihwSo4RV/YdQ5UCKKvBy7/0ZZYLBZKIbwQ==",
2837 | "dev": true,
2838 | "optional": true
2839 | },
2840 | "@esbuild/openbsd-arm64": {
2841 | "version": "0.25.5",
2842 | "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.5.tgz",
2843 | "integrity": "sha512-7A208+uQKgTxHd0G0uqZO8UjK2R0DDb4fDmERtARjSHWxqMTye4Erz4zZafx7Di9Cv+lNHYuncAkiGFySoD+Mw==",
2844 | "dev": true,
2845 | "optional": true
2846 | },
2847 | "@esbuild/openbsd-x64": {
2848 | "version": "0.25.5",
2849 | "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.5.tgz",
2850 | "integrity": "sha512-G4hE405ErTWraiZ8UiSoesH8DaCsMm0Cay4fsFWOOUcz8b8rC6uCvnagr+gnioEjWn0wC+o1/TAHt+It+MpIMg==",
2851 | "dev": true,
2852 | "optional": true
2853 | },
2854 | "@esbuild/sunos-x64": {
2855 | "version": "0.25.5",
2856 | "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.5.tgz",
2857 | "integrity": "sha512-l+azKShMy7FxzY0Rj4RCt5VD/q8mG/e+mDivgspo+yL8zW7qEwctQ6YqKX34DTEleFAvCIUviCFX1SDZRSyMQA==",
2858 | "dev": true,
2859 | "optional": true
2860 | },
2861 | "@esbuild/win32-arm64": {
2862 | "version": "0.25.5",
2863 | "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.5.tgz",
2864 | "integrity": "sha512-O2S7SNZzdcFG7eFKgvwUEZ2VG9D/sn/eIiz8XRZ1Q/DO5a3s76Xv0mdBzVM5j5R639lXQmPmSo0iRpHqUUrsxw==",
2865 | "dev": true,
2866 | "optional": true
2867 | },
2868 | "@esbuild/win32-ia32": {
2869 | "version": "0.25.5",
2870 | "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.5.tgz",
2871 | "integrity": "sha512-onOJ02pqs9h1iMJ1PQphR+VZv8qBMQ77Klcsqv9CNW2w6yLqoURLcgERAIurY6QE63bbLuqgP9ATqajFLK5AMQ==",
2872 | "dev": true,
2873 | "optional": true
2874 | },
2875 | "@esbuild/win32-x64": {
2876 | "version": "0.25.5",
2877 | "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.5.tgz",
2878 | "integrity": "sha512-TXv6YnJ8ZMVdX+SXWVBo/0p8LTcrUYngpWjvm91TMjjBQii7Oz11Lw5lbDV5Y0TzuhSJHwiH4hEtC1I42mMS0g==",
2879 | "dev": true,
2880 | "optional": true
2881 | },
2882 | "@isaacs/cliui": {
2883 | "version": "8.0.2",
2884 | "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz",
2885 | "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==",
2886 | "dev": true,
2887 | "requires": {
2888 | "string-width": "^5.1.2",
2889 | "string-width-cjs": "npm:string-width@^4.2.0",
2890 | "strip-ansi": "^7.0.1",
2891 | "strip-ansi-cjs": "npm:strip-ansi@^6.0.1",
2892 | "wrap-ansi": "^8.1.0",
2893 | "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0"
2894 | }
2895 | },
2896 | "@istanbuljs/schema": {
2897 | "version": "0.1.3",
2898 | "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz",
2899 | "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==",
2900 | "dev": true
2901 | },
2902 | "@jridgewell/gen-mapping": {
2903 | "version": "0.3.5",
2904 | "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz",
2905 | "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==",
2906 | "dev": true,
2907 | "requires": {
2908 | "@jridgewell/set-array": "^1.2.1",
2909 | "@jridgewell/sourcemap-codec": "^1.4.10",
2910 | "@jridgewell/trace-mapping": "^0.3.24"
2911 | }
2912 | },
2913 | "@jridgewell/resolve-uri": {
2914 | "version": "3.1.2",
2915 | "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
2916 | "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
2917 | "dev": true
2918 | },
2919 | "@jridgewell/set-array": {
2920 | "version": "1.2.1",
2921 | "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz",
2922 | "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==",
2923 | "dev": true
2924 | },
2925 | "@jridgewell/sourcemap-codec": {
2926 | "version": "1.5.0",
2927 | "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz",
2928 | "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==",
2929 | "dev": true
2930 | },
2931 | "@jridgewell/trace-mapping": {
2932 | "version": "0.3.25",
2933 | "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz",
2934 | "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==",
2935 | "dev": true,
2936 | "requires": {
2937 | "@jridgewell/resolve-uri": "^3.1.0",
2938 | "@jridgewell/sourcemap-codec": "^1.4.14"
2939 | }
2940 | },
2941 | "@pkgjs/parseargs": {
2942 | "version": "0.11.0",
2943 | "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz",
2944 | "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==",
2945 | "dev": true,
2946 | "optional": true
2947 | },
2948 | "@rollup/rollup-android-arm-eabi": {
2949 | "version": "4.42.0",
2950 | "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.42.0.tgz",
2951 | "integrity": "sha512-gldmAyS9hpj+H6LpRNlcjQWbuKUtb94lodB9uCz71Jm+7BxK1VIOo7y62tZZwxhA7j1ylv/yQz080L5WkS+LoQ==",
2952 | "dev": true,
2953 | "optional": true
2954 | },
2955 | "@rollup/rollup-android-arm64": {
2956 | "version": "4.42.0",
2957 | "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.42.0.tgz",
2958 | "integrity": "sha512-bpRipfTgmGFdCZDFLRvIkSNO1/3RGS74aWkJJTFJBH7h3MRV4UijkaEUeOMbi9wxtxYmtAbVcnMtHTPBhLEkaw==",
2959 | "dev": true,
2960 | "optional": true
2961 | },
2962 | "@rollup/rollup-darwin-arm64": {
2963 | "version": "4.42.0",
2964 | "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.42.0.tgz",
2965 | "integrity": "sha512-JxHtA081izPBVCHLKnl6GEA0w3920mlJPLh89NojpU2GsBSB6ypu4erFg/Wx1qbpUbepn0jY4dVWMGZM8gplgA==",
2966 | "dev": true,
2967 | "optional": true
2968 | },
2969 | "@rollup/rollup-darwin-x64": {
2970 | "version": "4.42.0",
2971 | "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.42.0.tgz",
2972 | "integrity": "sha512-rv5UZaWVIJTDMyQ3dCEK+m0SAn6G7H3PRc2AZmExvbDvtaDc+qXkei0knQWcI3+c9tEs7iL/4I4pTQoPbNL2SA==",
2973 | "dev": true,
2974 | "optional": true
2975 | },
2976 | "@rollup/rollup-freebsd-arm64": {
2977 | "version": "4.42.0",
2978 | "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.42.0.tgz",
2979 | "integrity": "sha512-fJcN4uSGPWdpVmvLuMtALUFwCHgb2XiQjuECkHT3lWLZhSQ3MBQ9pq+WoWeJq2PrNxr9rPM1Qx+IjyGj8/c6zQ==",
2980 | "dev": true,
2981 | "optional": true
2982 | },
2983 | "@rollup/rollup-freebsd-x64": {
2984 | "version": "4.42.0",
2985 | "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.42.0.tgz",
2986 | "integrity": "sha512-CziHfyzpp8hJpCVE/ZdTizw58gr+m7Y2Xq5VOuCSrZR++th2xWAz4Nqk52MoIIrV3JHtVBhbBsJcAxs6NammOQ==",
2987 | "dev": true,
2988 | "optional": true
2989 | },
2990 | "@rollup/rollup-linux-arm-gnueabihf": {
2991 | "version": "4.42.0",
2992 | "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.42.0.tgz",
2993 | "integrity": "sha512-UsQD5fyLWm2Fe5CDM7VPYAo+UC7+2Px4Y+N3AcPh/LdZu23YcuGPegQly++XEVaC8XUTFVPscl5y5Cl1twEI4A==",
2994 | "dev": true,
2995 | "optional": true
2996 | },
2997 | "@rollup/rollup-linux-arm-musleabihf": {
2998 | "version": "4.42.0",
2999 | "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.42.0.tgz",
3000 | "integrity": "sha512-/i8NIrlgc/+4n1lnoWl1zgH7Uo0XK5xK3EDqVTf38KvyYgCU/Rm04+o1VvvzJZnVS5/cWSd07owkzcVasgfIkQ==",
3001 | "dev": true,
3002 | "optional": true
3003 | },
3004 | "@rollup/rollup-linux-arm64-gnu": {
3005 | "version": "4.42.0",
3006 | "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.42.0.tgz",
3007 | "integrity": "sha512-eoujJFOvoIBjZEi9hJnXAbWg+Vo1Ov8n/0IKZZcPZ7JhBzxh2A+2NFyeMZIRkY9iwBvSjloKgcvnjTbGKHE44Q==",
3008 | "dev": true,
3009 | "optional": true
3010 | },
3011 | "@rollup/rollup-linux-arm64-musl": {
3012 | "version": "4.42.0",
3013 | "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.42.0.tgz",
3014 | "integrity": "sha512-/3NrcOWFSR7RQUQIuZQChLND36aTU9IYE4j+TB40VU78S+RA0IiqHR30oSh6P1S9f9/wVOenHQnacs/Byb824g==",
3015 | "dev": true,
3016 | "optional": true
3017 | },
3018 | "@rollup/rollup-linux-loongarch64-gnu": {
3019 | "version": "4.42.0",
3020 | "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.42.0.tgz",
3021 | "integrity": "sha512-O8AplvIeavK5ABmZlKBq9/STdZlnQo7Sle0LLhVA7QT+CiGpNVe197/t8Aph9bhJqbDVGCHpY2i7QyfEDDStDg==",
3022 | "dev": true,
3023 | "optional": true
3024 | },
3025 | "@rollup/rollup-linux-powerpc64le-gnu": {
3026 | "version": "4.42.0",
3027 | "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.42.0.tgz",
3028 | "integrity": "sha512-6Qb66tbKVN7VyQrekhEzbHRxXXFFD8QKiFAwX5v9Xt6FiJ3BnCVBuyBxa2fkFGqxOCSGGYNejxd8ht+q5SnmtA==",
3029 | "dev": true,
3030 | "optional": true
3031 | },
3032 | "@rollup/rollup-linux-riscv64-gnu": {
3033 | "version": "4.42.0",
3034 | "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.42.0.tgz",
3035 | "integrity": "sha512-KQETDSEBamQFvg/d8jajtRwLNBlGc3aKpaGiP/LvEbnmVUKlFta1vqJqTrvPtsYsfbE/DLg5CC9zyXRX3fnBiA==",
3036 | "dev": true,
3037 | "optional": true
3038 | },
3039 | "@rollup/rollup-linux-riscv64-musl": {
3040 | "version": "4.42.0",
3041 | "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.42.0.tgz",
3042 | "integrity": "sha512-qMvnyjcU37sCo/tuC+JqeDKSuukGAd+pVlRl/oyDbkvPJ3awk6G6ua7tyum02O3lI+fio+eM5wsVd66X0jQtxw==",
3043 | "dev": true,
3044 | "optional": true
3045 | },
3046 | "@rollup/rollup-linux-s390x-gnu": {
3047 | "version": "4.42.0",
3048 | "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.42.0.tgz",
3049 | "integrity": "sha512-I2Y1ZUgTgU2RLddUHXTIgyrdOwljjkmcZ/VilvaEumtS3Fkuhbw4p4hgHc39Ypwvo2o7sBFNl2MquNvGCa55Iw==",
3050 | "dev": true,
3051 | "optional": true
3052 | },
3053 | "@rollup/rollup-linux-x64-gnu": {
3054 | "version": "4.42.0",
3055 | "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.42.0.tgz",
3056 | "integrity": "sha512-Gfm6cV6mj3hCUY8TqWa63DB8Mx3NADoFwiJrMpoZ1uESbK8FQV3LXkhfry+8bOniq9pqY1OdsjFWNsSbfjPugw==",
3057 | "dev": true,
3058 | "optional": true
3059 | },
3060 | "@rollup/rollup-linux-x64-musl": {
3061 | "version": "4.42.0",
3062 | "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.42.0.tgz",
3063 | "integrity": "sha512-g86PF8YZ9GRqkdi0VoGlcDUb4rYtQKyTD1IVtxxN4Hpe7YqLBShA7oHMKU6oKTCi3uxwW4VkIGnOaH/El8de3w==",
3064 | "dev": true,
3065 | "optional": true
3066 | },
3067 | "@rollup/rollup-win32-arm64-msvc": {
3068 | "version": "4.42.0",
3069 | "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.42.0.tgz",
3070 | "integrity": "sha512-+axkdyDGSp6hjyzQ5m1pgcvQScfHnMCcsXkx8pTgy/6qBmWVhtRVlgxjWwDp67wEXXUr0x+vD6tp5W4x6V7u1A==",
3071 | "dev": true,
3072 | "optional": true
3073 | },
3074 | "@rollup/rollup-win32-ia32-msvc": {
3075 | "version": "4.42.0",
3076 | "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.42.0.tgz",
3077 | "integrity": "sha512-F+5J9pelstXKwRSDq92J0TEBXn2nfUrQGg+HK1+Tk7VOL09e0gBqUHugZv7SW4MGrYj41oNCUe3IKCDGVlis2g==",
3078 | "dev": true,
3079 | "optional": true
3080 | },
3081 | "@rollup/rollup-win32-x64-msvc": {
3082 | "version": "4.42.0",
3083 | "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.42.0.tgz",
3084 | "integrity": "sha512-LpHiJRwkaVz/LqjHjK8LCi8osq7elmpwujwbXKNW88bM8eeGxavJIKKjkjpMHAh/2xfnrt1ZSnhTv41WYUHYmA==",
3085 | "dev": true,
3086 | "optional": true
3087 | },
3088 | "@types/chai": {
3089 | "version": "5.2.2",
3090 | "resolved": "https://registry.npmjs.org/@types/chai/-/chai-5.2.2.tgz",
3091 | "integrity": "sha512-8kB30R7Hwqf40JPiKhVzodJs2Qc1ZJ5zuT3uzw5Hq/dhNCl3G3l83jfpdI1e20BP348+fV7VIL/+FxaXkqBmWg==",
3092 | "dev": true,
3093 | "requires": {
3094 | "@types/deep-eql": "*"
3095 | }
3096 | },
3097 | "@types/deep-eql": {
3098 | "version": "4.0.2",
3099 | "resolved": "https://registry.npmjs.org/@types/deep-eql/-/deep-eql-4.0.2.tgz",
3100 | "integrity": "sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==",
3101 | "dev": true
3102 | },
3103 | "@types/estree": {
3104 | "version": "1.0.8",
3105 | "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz",
3106 | "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==",
3107 | "dev": true
3108 | },
3109 | "@vitest/coverage-v8": {
3110 | "version": "3.2.3",
3111 | "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-3.2.3.tgz",
3112 | "integrity": "sha512-D1QKzngg8PcDoCE8FHSZhREDuEy+zcKmMiMafYse41RZpBE5EDJyKOTdqK3RQfsV2S2nyKor5KCs8PyPRFqKPg==",
3113 | "dev": true,
3114 | "requires": {
3115 | "@ampproject/remapping": "^2.3.0",
3116 | "@bcoe/v8-coverage": "^1.0.2",
3117 | "ast-v8-to-istanbul": "^0.3.3",
3118 | "debug": "^4.4.1",
3119 | "istanbul-lib-coverage": "^3.2.2",
3120 | "istanbul-lib-report": "^3.0.1",
3121 | "istanbul-lib-source-maps": "^5.0.6",
3122 | "istanbul-reports": "^3.1.7",
3123 | "magic-string": "^0.30.17",
3124 | "magicast": "^0.3.5",
3125 | "std-env": "^3.9.0",
3126 | "test-exclude": "^7.0.1",
3127 | "tinyrainbow": "^2.0.0"
3128 | }
3129 | },
3130 | "@vitest/expect": {
3131 | "version": "3.2.3",
3132 | "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-3.2.3.tgz",
3133 | "integrity": "sha512-W2RH2TPWVHA1o7UmaFKISPvdicFJH+mjykctJFoAkUw+SPTJTGjUNdKscFBrqM7IPnCVu6zihtKYa7TkZS1dkQ==",
3134 | "dev": true,
3135 | "requires": {
3136 | "@types/chai": "^5.2.2",
3137 | "@vitest/spy": "3.2.3",
3138 | "@vitest/utils": "3.2.3",
3139 | "chai": "^5.2.0",
3140 | "tinyrainbow": "^2.0.0"
3141 | }
3142 | },
3143 | "@vitest/mocker": {
3144 | "version": "3.2.3",
3145 | "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-3.2.3.tgz",
3146 | "integrity": "sha512-cP6fIun+Zx8he4rbWvi+Oya6goKQDZK+Yq4hhlggwQBbrlOQ4qtZ+G4nxB6ZnzI9lyIb+JnvyiJnPC2AGbKSPA==",
3147 | "dev": true,
3148 | "requires": {
3149 | "@vitest/spy": "3.2.3",
3150 | "estree-walker": "^3.0.3",
3151 | "magic-string": "^0.30.17"
3152 | }
3153 | },
3154 | "@vitest/pretty-format": {
3155 | "version": "3.2.3",
3156 | "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.2.3.tgz",
3157 | "integrity": "sha512-yFglXGkr9hW/yEXngO+IKMhP0jxyFw2/qys/CK4fFUZnSltD+MU7dVYGrH8rvPcK/O6feXQA+EU33gjaBBbAng==",
3158 | "dev": true,
3159 | "requires": {
3160 | "tinyrainbow": "^2.0.0"
3161 | }
3162 | },
3163 | "@vitest/runner": {
3164 | "version": "3.2.3",
3165 | "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-3.2.3.tgz",
3166 | "integrity": "sha512-83HWYisT3IpMaU9LN+VN+/nLHVBCSIUKJzGxC5RWUOsK1h3USg7ojL+UXQR3b4o4UBIWCYdD2fxuzM7PQQ1u8w==",
3167 | "dev": true,
3168 | "requires": {
3169 | "@vitest/utils": "3.2.3",
3170 | "pathe": "^2.0.3",
3171 | "strip-literal": "^3.0.0"
3172 | }
3173 | },
3174 | "@vitest/snapshot": {
3175 | "version": "3.2.3",
3176 | "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-3.2.3.tgz",
3177 | "integrity": "sha512-9gIVWx2+tysDqUmmM1L0hwadyumqssOL1r8KJipwLx5JVYyxvVRfxvMq7DaWbZZsCqZnu/dZedaZQh4iYTtneA==",
3178 | "dev": true,
3179 | "requires": {
3180 | "@vitest/pretty-format": "3.2.3",
3181 | "magic-string": "^0.30.17",
3182 | "pathe": "^2.0.3"
3183 | }
3184 | },
3185 | "@vitest/spy": {
3186 | "version": "3.2.3",
3187 | "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-3.2.3.tgz",
3188 | "integrity": "sha512-JHu9Wl+7bf6FEejTCREy+DmgWe+rQKbK+y32C/k5f4TBIAlijhJbRBIRIOCEpVevgRsCQR2iHRUH2/qKVM/plw==",
3189 | "dev": true,
3190 | "requires": {
3191 | "tinyspy": "^4.0.3"
3192 | }
3193 | },
3194 | "@vitest/utils": {
3195 | "version": "3.2.3",
3196 | "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-3.2.3.tgz",
3197 | "integrity": "sha512-4zFBCU5Pf+4Z6v+rwnZ1HU1yzOKKvDkMXZrymE2PBlbjKJRlrOxbvpfPSvJTGRIwGoahaOGvp+kbCoxifhzJ1Q==",
3198 | "dev": true,
3199 | "requires": {
3200 | "@vitest/pretty-format": "3.2.3",
3201 | "loupe": "^3.1.3",
3202 | "tinyrainbow": "^2.0.0"
3203 | }
3204 | },
3205 | "ansi-regex": {
3206 | "version": "6.0.1",
3207 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz",
3208 | "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==",
3209 | "dev": true
3210 | },
3211 | "assertion-error": {
3212 | "version": "2.0.1",
3213 | "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz",
3214 | "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==",
3215 | "dev": true
3216 | },
3217 | "ast-v8-to-istanbul": {
3218 | "version": "0.3.3",
3219 | "resolved": "https://registry.npmjs.org/ast-v8-to-istanbul/-/ast-v8-to-istanbul-0.3.3.tgz",
3220 | "integrity": "sha512-MuXMrSLVVoA6sYN/6Hke18vMzrT4TZNbZIj/hvh0fnYFpO+/kFXcLIaiPwXXWaQUPg4yJD8fj+lfJ7/1EBconw==",
3221 | "dev": true,
3222 | "requires": {
3223 | "@jridgewell/trace-mapping": "^0.3.25",
3224 | "estree-walker": "^3.0.3",
3225 | "js-tokens": "^9.0.1"
3226 | }
3227 | },
3228 | "balanced-match": {
3229 | "version": "1.0.2",
3230 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
3231 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
3232 | "dev": true
3233 | },
3234 | "brace-expansion": {
3235 | "version": "2.0.1",
3236 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
3237 | "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
3238 | "dev": true,
3239 | "requires": {
3240 | "balanced-match": "^1.0.0"
3241 | }
3242 | },
3243 | "cac": {
3244 | "version": "6.7.14",
3245 | "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz",
3246 | "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==",
3247 | "dev": true
3248 | },
3249 | "chai": {
3250 | "version": "5.2.0",
3251 | "resolved": "https://registry.npmjs.org/chai/-/chai-5.2.0.tgz",
3252 | "integrity": "sha512-mCuXncKXk5iCLhfhwTc0izo0gtEmpz5CtG2y8GiOINBlMVS6v8TMRc5TaLWKS6692m9+dVVfzgeVxR5UxWHTYw==",
3253 | "dev": true,
3254 | "requires": {
3255 | "assertion-error": "^2.0.1",
3256 | "check-error": "^2.1.1",
3257 | "deep-eql": "^5.0.1",
3258 | "loupe": "^3.1.0",
3259 | "pathval": "^2.0.0"
3260 | }
3261 | },
3262 | "check-error": {
3263 | "version": "2.1.1",
3264 | "resolved": "https://registry.npmjs.org/check-error/-/check-error-2.1.1.tgz",
3265 | "integrity": "sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==",
3266 | "dev": true
3267 | },
3268 | "color-convert": {
3269 | "version": "2.0.1",
3270 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
3271 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
3272 | "dev": true,
3273 | "requires": {
3274 | "color-name": "~1.1.4"
3275 | }
3276 | },
3277 | "color-name": {
3278 | "version": "1.1.4",
3279 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
3280 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
3281 | "dev": true
3282 | },
3283 | "cross-spawn": {
3284 | "version": "7.0.3",
3285 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
3286 | "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
3287 | "dev": true,
3288 | "requires": {
3289 | "path-key": "^3.1.0",
3290 | "shebang-command": "^2.0.0",
3291 | "which": "^2.0.1"
3292 | }
3293 | },
3294 | "debug": {
3295 | "version": "4.4.1",
3296 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz",
3297 | "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==",
3298 | "dev": true,
3299 | "requires": {
3300 | "ms": "^2.1.3"
3301 | }
3302 | },
3303 | "deep-eql": {
3304 | "version": "5.0.2",
3305 | "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-5.0.2.tgz",
3306 | "integrity": "sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==",
3307 | "dev": true
3308 | },
3309 | "dom-serializer": {
3310 | "version": "1.4.1",
3311 | "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz",
3312 | "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==",
3313 | "peer": true,
3314 | "requires": {
3315 | "domelementtype": "^2.0.1",
3316 | "domhandler": "^4.2.0",
3317 | "entities": "^2.0.0"
3318 | },
3319 | "dependencies": {
3320 | "entities": {
3321 | "version": "2.2.0",
3322 | "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz",
3323 | "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==",
3324 | "peer": true
3325 | }
3326 | }
3327 | },
3328 | "domelementtype": {
3329 | "version": "2.3.0",
3330 | "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz",
3331 | "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==",
3332 | "peer": true
3333 | },
3334 | "domhandler": {
3335 | "version": "4.3.1",
3336 | "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz",
3337 | "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==",
3338 | "peer": true,
3339 | "requires": {
3340 | "domelementtype": "^2.2.0"
3341 | }
3342 | },
3343 | "domutils": {
3344 | "version": "2.8.0",
3345 | "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz",
3346 | "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==",
3347 | "peer": true,
3348 | "requires": {
3349 | "dom-serializer": "^1.0.1",
3350 | "domelementtype": "^2.2.0",
3351 | "domhandler": "^4.2.0"
3352 | }
3353 | },
3354 | "eastasianwidth": {
3355 | "version": "0.2.0",
3356 | "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz",
3357 | "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==",
3358 | "dev": true
3359 | },
3360 | "emoji-regex": {
3361 | "version": "9.2.2",
3362 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
3363 | "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==",
3364 | "dev": true
3365 | },
3366 | "entities": {
3367 | "version": "3.0.1",
3368 | "resolved": "https://registry.npmjs.org/entities/-/entities-3.0.1.tgz",
3369 | "integrity": "sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==",
3370 | "peer": true
3371 | },
3372 | "es-module-lexer": {
3373 | "version": "1.7.0",
3374 | "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz",
3375 | "integrity": "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==",
3376 | "dev": true
3377 | },
3378 | "esbuild": {
3379 | "version": "0.25.5",
3380 | "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.5.tgz",
3381 | "integrity": "sha512-P8OtKZRv/5J5hhz0cUAdu/cLuPIKXpQl1R9pZtvmHWQvrAUVd0UNIPT4IB4W3rNOqVO0rlqHmCIbSwxh/c9yUQ==",
3382 | "dev": true,
3383 | "requires": {
3384 | "@esbuild/aix-ppc64": "0.25.5",
3385 | "@esbuild/android-arm": "0.25.5",
3386 | "@esbuild/android-arm64": "0.25.5",
3387 | "@esbuild/android-x64": "0.25.5",
3388 | "@esbuild/darwin-arm64": "0.25.5",
3389 | "@esbuild/darwin-x64": "0.25.5",
3390 | "@esbuild/freebsd-arm64": "0.25.5",
3391 | "@esbuild/freebsd-x64": "0.25.5",
3392 | "@esbuild/linux-arm": "0.25.5",
3393 | "@esbuild/linux-arm64": "0.25.5",
3394 | "@esbuild/linux-ia32": "0.25.5",
3395 | "@esbuild/linux-loong64": "0.25.5",
3396 | "@esbuild/linux-mips64el": "0.25.5",
3397 | "@esbuild/linux-ppc64": "0.25.5",
3398 | "@esbuild/linux-riscv64": "0.25.5",
3399 | "@esbuild/linux-s390x": "0.25.5",
3400 | "@esbuild/linux-x64": "0.25.5",
3401 | "@esbuild/netbsd-arm64": "0.25.5",
3402 | "@esbuild/netbsd-x64": "0.25.5",
3403 | "@esbuild/openbsd-arm64": "0.25.5",
3404 | "@esbuild/openbsd-x64": "0.25.5",
3405 | "@esbuild/sunos-x64": "0.25.5",
3406 | "@esbuild/win32-arm64": "0.25.5",
3407 | "@esbuild/win32-ia32": "0.25.5",
3408 | "@esbuild/win32-x64": "0.25.5"
3409 | }
3410 | },
3411 | "estree-walker": {
3412 | "version": "3.0.3",
3413 | "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz",
3414 | "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==",
3415 | "dev": true,
3416 | "requires": {
3417 | "@types/estree": "^1.0.0"
3418 | }
3419 | },
3420 | "expect-type": {
3421 | "version": "1.2.1",
3422 | "resolved": "https://registry.npmjs.org/expect-type/-/expect-type-1.2.1.tgz",
3423 | "integrity": "sha512-/kP8CAwxzLVEeFrMm4kMmy4CCDlpipyA7MYLVrdJIkV0fYF0UaigQHRsxHiuY/GEea+bh4KSv3TIlgr+2UL6bw==",
3424 | "dev": true
3425 | },
3426 | "fdir": {
3427 | "version": "6.4.5",
3428 | "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.5.tgz",
3429 | "integrity": "sha512-4BG7puHpVsIYxZUbiUE3RqGloLaSSwzYie5jvasC4LWuBWzZawynvYouhjbQKw2JuIGYdm0DzIxl8iVidKlUEw==",
3430 | "dev": true,
3431 | "requires": {}
3432 | },
3433 | "foreground-child": {
3434 | "version": "3.2.1",
3435 | "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.2.1.tgz",
3436 | "integrity": "sha512-PXUUyLqrR2XCWICfv6ukppP96sdFwWbNEnfEMt7jNsISjMsvaLNinAHNDYyvkyU+SZG2BTSbT5NjG+vZslfGTA==",
3437 | "dev": true,
3438 | "requires": {
3439 | "cross-spawn": "^7.0.0",
3440 | "signal-exit": "^4.0.1"
3441 | }
3442 | },
3443 | "fsevents": {
3444 | "version": "2.3.3",
3445 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
3446 | "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
3447 | "dev": true,
3448 | "optional": true
3449 | },
3450 | "glob": {
3451 | "version": "10.4.3",
3452 | "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.3.tgz",
3453 | "integrity": "sha512-Q38SGlYRpVtDBPSWEylRyctn7uDeTp4NQERTLiCT1FqA9JXPYWqAVmQU6qh4r/zMM5ehxTcbaO8EjhWnvEhmyg==",
3454 | "dev": true,
3455 | "requires": {
3456 | "foreground-child": "^3.1.0",
3457 | "jackspeak": "^3.1.2",
3458 | "minimatch": "^9.0.4",
3459 | "minipass": "^7.1.2",
3460 | "package-json-from-dist": "^1.0.0",
3461 | "path-scurry": "^1.11.1"
3462 | }
3463 | },
3464 | "has-flag": {
3465 | "version": "4.0.0",
3466 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
3467 | "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
3468 | "dev": true
3469 | },
3470 | "html-escaper": {
3471 | "version": "2.0.2",
3472 | "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz",
3473 | "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==",
3474 | "dev": true
3475 | },
3476 | "htmlparser2": {
3477 | "version": "7.2.0",
3478 | "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-7.2.0.tgz",
3479 | "integrity": "sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog==",
3480 | "peer": true,
3481 | "requires": {
3482 | "domelementtype": "^2.0.1",
3483 | "domhandler": "^4.2.2",
3484 | "domutils": "^2.8.0",
3485 | "entities": "^3.0.1"
3486 | }
3487 | },
3488 | "is-fullwidth-code-point": {
3489 | "version": "3.0.0",
3490 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
3491 | "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
3492 | "dev": true
3493 | },
3494 | "is-json": {
3495 | "version": "2.0.1",
3496 | "resolved": "https://registry.npmjs.org/is-json/-/is-json-2.0.1.tgz",
3497 | "integrity": "sha1-a+Fm0USCihMdaGiRuYPfYsOUkf8=",
3498 | "peer": true
3499 | },
3500 | "isexe": {
3501 | "version": "2.0.0",
3502 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
3503 | "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
3504 | "dev": true
3505 | },
3506 | "istanbul-lib-coverage": {
3507 | "version": "3.2.2",
3508 | "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz",
3509 | "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==",
3510 | "dev": true
3511 | },
3512 | "istanbul-lib-report": {
3513 | "version": "3.0.1",
3514 | "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz",
3515 | "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==",
3516 | "dev": true,
3517 | "requires": {
3518 | "istanbul-lib-coverage": "^3.0.0",
3519 | "make-dir": "^4.0.0",
3520 | "supports-color": "^7.1.0"
3521 | }
3522 | },
3523 | "istanbul-lib-source-maps": {
3524 | "version": "5.0.6",
3525 | "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-5.0.6.tgz",
3526 | "integrity": "sha512-yg2d+Em4KizZC5niWhQaIomgf5WlL4vOOjZ5xGCmF8SnPE/mDWWXgvRExdcpCgh9lLRRa1/fSYp2ymmbJ1pI+A==",
3527 | "dev": true,
3528 | "requires": {
3529 | "@jridgewell/trace-mapping": "^0.3.23",
3530 | "debug": "^4.1.1",
3531 | "istanbul-lib-coverage": "^3.0.0"
3532 | }
3533 | },
3534 | "istanbul-reports": {
3535 | "version": "3.1.7",
3536 | "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz",
3537 | "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==",
3538 | "dev": true,
3539 | "requires": {
3540 | "html-escaper": "^2.0.0",
3541 | "istanbul-lib-report": "^3.0.0"
3542 | }
3543 | },
3544 | "jackspeak": {
3545 | "version": "3.4.1",
3546 | "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.1.tgz",
3547 | "integrity": "sha512-U23pQPDnmYybVkYjObcuYMk43VRlMLLqLI+RdZy8s8WV8WsxO9SnqSroKaluuvcNOdCAlauKszDwd+umbot5Mg==",
3548 | "dev": true,
3549 | "requires": {
3550 | "@isaacs/cliui": "^8.0.2",
3551 | "@pkgjs/parseargs": "^0.11.0"
3552 | }
3553 | },
3554 | "js-tokens": {
3555 | "version": "9.0.1",
3556 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.1.tgz",
3557 | "integrity": "sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==",
3558 | "dev": true
3559 | },
3560 | "loupe": {
3561 | "version": "3.1.3",
3562 | "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.1.3.tgz",
3563 | "integrity": "sha512-kkIp7XSkP78ZxJEsSxW3712C6teJVoeHHwgo9zJ380de7IYyJ2ISlxojcH2pC5OFLewESmnRi/+XCDIEEVyoug==",
3564 | "dev": true
3565 | },
3566 | "lru-cache": {
3567 | "version": "6.0.0",
3568 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
3569 | "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
3570 | "dev": true,
3571 | "requires": {
3572 | "yallist": "^4.0.0"
3573 | }
3574 | },
3575 | "magic-string": {
3576 | "version": "0.30.17",
3577 | "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz",
3578 | "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==",
3579 | "dev": true,
3580 | "requires": {
3581 | "@jridgewell/sourcemap-codec": "^1.5.0"
3582 | }
3583 | },
3584 | "magicast": {
3585 | "version": "0.3.5",
3586 | "resolved": "https://registry.npmjs.org/magicast/-/magicast-0.3.5.tgz",
3587 | "integrity": "sha512-L0WhttDl+2BOsybvEOLK7fW3UA0OQ0IQ2d6Zl2x/a6vVRs3bAY0ECOSHHeL5jD+SbOpOCUEi0y1DgHEn9Qn1AQ==",
3588 | "dev": true,
3589 | "requires": {
3590 | "@babel/parser": "^7.25.4",
3591 | "@babel/types": "^7.25.4",
3592 | "source-map-js": "^1.2.0"
3593 | }
3594 | },
3595 | "make-dir": {
3596 | "version": "4.0.0",
3597 | "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz",
3598 | "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==",
3599 | "dev": true,
3600 | "requires": {
3601 | "semver": "^7.5.3"
3602 | }
3603 | },
3604 | "minimatch": {
3605 | "version": "9.0.5",
3606 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
3607 | "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
3608 | "dev": true,
3609 | "requires": {
3610 | "brace-expansion": "^2.0.1"
3611 | }
3612 | },
3613 | "minipass": {
3614 | "version": "7.1.2",
3615 | "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz",
3616 | "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==",
3617 | "dev": true
3618 | },
3619 | "ms": {
3620 | "version": "2.1.3",
3621 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
3622 | "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
3623 | "dev": true
3624 | },
3625 | "nanoid": {
3626 | "version": "3.3.11",
3627 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz",
3628 | "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==",
3629 | "dev": true
3630 | },
3631 | "package-json-from-dist": {
3632 | "version": "1.0.0",
3633 | "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz",
3634 | "integrity": "sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==",
3635 | "dev": true
3636 | },
3637 | "path-key": {
3638 | "version": "3.1.1",
3639 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
3640 | "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
3641 | "dev": true
3642 | },
3643 | "path-scurry": {
3644 | "version": "1.11.1",
3645 | "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz",
3646 | "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==",
3647 | "dev": true,
3648 | "requires": {
3649 | "lru-cache": "^10.2.0",
3650 | "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0"
3651 | },
3652 | "dependencies": {
3653 | "lru-cache": {
3654 | "version": "10.4.0",
3655 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.0.tgz",
3656 | "integrity": "sha512-bfJaPTuEiTYBu+ulDaeQ0F+uLmlfFkMgXj4cbwfuMSjgObGMzb55FMMbDvbRU0fAHZ4sLGkz2mKwcMg8Dvm8Ww==",
3657 | "dev": true
3658 | }
3659 | }
3660 | },
3661 | "pathe": {
3662 | "version": "2.0.3",
3663 | "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz",
3664 | "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==",
3665 | "dev": true
3666 | },
3667 | "pathval": {
3668 | "version": "2.0.0",
3669 | "resolved": "https://registry.npmjs.org/pathval/-/pathval-2.0.0.tgz",
3670 | "integrity": "sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==",
3671 | "dev": true
3672 | },
3673 | "picocolors": {
3674 | "version": "1.1.1",
3675 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
3676 | "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==",
3677 | "dev": true
3678 | },
3679 | "picomatch": {
3680 | "version": "4.0.2",
3681 | "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz",
3682 | "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==",
3683 | "dev": true
3684 | },
3685 | "postcss": {
3686 | "version": "8.5.4",
3687 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.4.tgz",
3688 | "integrity": "sha512-QSa9EBe+uwlGTFmHsPKokv3B/oEMQZxfqW0QqNCyhpa6mB1afzulwn8hihglqAb2pOw+BJgNlmXQ8la2VeHB7w==",
3689 | "dev": true,
3690 | "requires": {
3691 | "nanoid": "^3.3.11",
3692 | "picocolors": "^1.1.1",
3693 | "source-map-js": "^1.2.1"
3694 | }
3695 | },
3696 | "posthtml": {
3697 | "version": "0.16.6",
3698 | "resolved": "https://registry.npmjs.org/posthtml/-/posthtml-0.16.6.tgz",
3699 | "integrity": "sha512-JcEmHlyLK/o0uGAlj65vgg+7LIms0xKXe60lcDOTU7oVX/3LuEuLwrQpW3VJ7de5TaFKiW4kWkaIpJL42FEgxQ==",
3700 | "peer": true,
3701 | "requires": {
3702 | "posthtml-parser": "^0.11.0",
3703 | "posthtml-render": "^3.0.0"
3704 | }
3705 | },
3706 | "posthtml-parser": {
3707 | "version": "0.11.0",
3708 | "resolved": "https://registry.npmjs.org/posthtml-parser/-/posthtml-parser-0.11.0.tgz",
3709 | "integrity": "sha512-QecJtfLekJbWVo/dMAA+OSwY79wpRmbqS5TeXvXSX+f0c6pW4/SE6inzZ2qkU7oAMCPqIDkZDvd/bQsSFUnKyw==",
3710 | "peer": true,
3711 | "requires": {
3712 | "htmlparser2": "^7.1.1"
3713 | }
3714 | },
3715 | "posthtml-render": {
3716 | "version": "3.0.0",
3717 | "resolved": "https://registry.npmjs.org/posthtml-render/-/posthtml-render-3.0.0.tgz",
3718 | "integrity": "sha512-z+16RoxK3fUPgwaIgH9NGnK1HKY9XIDpydky5eQGgAFVXTCSezalv9U2jQuNV+Z9qV1fDWNzldcw4eK0SSbqKA==",
3719 | "peer": true,
3720 | "requires": {
3721 | "is-json": "^2.0.1"
3722 | }
3723 | },
3724 | "rollup": {
3725 | "version": "4.42.0",
3726 | "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.42.0.tgz",
3727 | "integrity": "sha512-LW+Vse3BJPyGJGAJt1j8pWDKPd73QM8cRXYK1IxOBgL2AGLu7Xd2YOW0M2sLUBCkF5MshXXtMApyEAEzMVMsnw==",
3728 | "dev": true,
3729 | "requires": {
3730 | "@rollup/rollup-android-arm-eabi": "4.42.0",
3731 | "@rollup/rollup-android-arm64": "4.42.0",
3732 | "@rollup/rollup-darwin-arm64": "4.42.0",
3733 | "@rollup/rollup-darwin-x64": "4.42.0",
3734 | "@rollup/rollup-freebsd-arm64": "4.42.0",
3735 | "@rollup/rollup-freebsd-x64": "4.42.0",
3736 | "@rollup/rollup-linux-arm-gnueabihf": "4.42.0",
3737 | "@rollup/rollup-linux-arm-musleabihf": "4.42.0",
3738 | "@rollup/rollup-linux-arm64-gnu": "4.42.0",
3739 | "@rollup/rollup-linux-arm64-musl": "4.42.0",
3740 | "@rollup/rollup-linux-loongarch64-gnu": "4.42.0",
3741 | "@rollup/rollup-linux-powerpc64le-gnu": "4.42.0",
3742 | "@rollup/rollup-linux-riscv64-gnu": "4.42.0",
3743 | "@rollup/rollup-linux-riscv64-musl": "4.42.0",
3744 | "@rollup/rollup-linux-s390x-gnu": "4.42.0",
3745 | "@rollup/rollup-linux-x64-gnu": "4.42.0",
3746 | "@rollup/rollup-linux-x64-musl": "4.42.0",
3747 | "@rollup/rollup-win32-arm64-msvc": "4.42.0",
3748 | "@rollup/rollup-win32-ia32-msvc": "4.42.0",
3749 | "@rollup/rollup-win32-x64-msvc": "4.42.0",
3750 | "@types/estree": "1.0.7",
3751 | "fsevents": "~2.3.2"
3752 | },
3753 | "dependencies": {
3754 | "@types/estree": {
3755 | "version": "1.0.7",
3756 | "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.7.tgz",
3757 | "integrity": "sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==",
3758 | "dev": true
3759 | }
3760 | }
3761 | },
3762 | "semver": {
3763 | "version": "7.6.0",
3764 | "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz",
3765 | "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==",
3766 | "dev": true,
3767 | "requires": {
3768 | "lru-cache": "^6.0.0"
3769 | }
3770 | },
3771 | "shebang-command": {
3772 | "version": "2.0.0",
3773 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
3774 | "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
3775 | "dev": true,
3776 | "requires": {
3777 | "shebang-regex": "^3.0.0"
3778 | }
3779 | },
3780 | "shebang-regex": {
3781 | "version": "3.0.0",
3782 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
3783 | "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
3784 | "dev": true
3785 | },
3786 | "siginfo": {
3787 | "version": "2.0.0",
3788 | "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz",
3789 | "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==",
3790 | "dev": true
3791 | },
3792 | "signal-exit": {
3793 | "version": "4.1.0",
3794 | "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz",
3795 | "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
3796 | "dev": true
3797 | },
3798 | "source-map-js": {
3799 | "version": "1.2.1",
3800 | "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz",
3801 | "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==",
3802 | "dev": true
3803 | },
3804 | "stackback": {
3805 | "version": "0.0.2",
3806 | "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz",
3807 | "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==",
3808 | "dev": true
3809 | },
3810 | "std-env": {
3811 | "version": "3.9.0",
3812 | "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.9.0.tgz",
3813 | "integrity": "sha512-UGvjygr6F6tpH7o2qyqR6QYpwraIjKSdtzyBdyytFOHmPZY917kwdwLG0RbOjWOnKmnm3PeHjaoLLMie7kPLQw==",
3814 | "dev": true
3815 | },
3816 | "string-width": {
3817 | "version": "5.1.2",
3818 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz",
3819 | "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==",
3820 | "dev": true,
3821 | "requires": {
3822 | "eastasianwidth": "^0.2.0",
3823 | "emoji-regex": "^9.2.2",
3824 | "strip-ansi": "^7.0.1"
3825 | }
3826 | },
3827 | "string-width-cjs": {
3828 | "version": "npm:string-width@4.2.3",
3829 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
3830 | "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
3831 | "dev": true,
3832 | "requires": {
3833 | "emoji-regex": "^8.0.0",
3834 | "is-fullwidth-code-point": "^3.0.0",
3835 | "strip-ansi": "^6.0.1"
3836 | },
3837 | "dependencies": {
3838 | "ansi-regex": {
3839 | "version": "5.0.1",
3840 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
3841 | "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
3842 | "dev": true
3843 | },
3844 | "emoji-regex": {
3845 | "version": "8.0.0",
3846 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
3847 | "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
3848 | "dev": true
3849 | },
3850 | "strip-ansi": {
3851 | "version": "6.0.1",
3852 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
3853 | "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
3854 | "dev": true,
3855 | "requires": {
3856 | "ansi-regex": "^5.0.1"
3857 | }
3858 | }
3859 | }
3860 | },
3861 | "strip-ansi": {
3862 | "version": "7.1.0",
3863 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz",
3864 | "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==",
3865 | "dev": true,
3866 | "requires": {
3867 | "ansi-regex": "^6.0.1"
3868 | }
3869 | },
3870 | "strip-ansi-cjs": {
3871 | "version": "npm:strip-ansi@6.0.1",
3872 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
3873 | "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
3874 | "dev": true,
3875 | "requires": {
3876 | "ansi-regex": "^5.0.1"
3877 | },
3878 | "dependencies": {
3879 | "ansi-regex": {
3880 | "version": "5.0.1",
3881 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
3882 | "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
3883 | "dev": true
3884 | }
3885 | }
3886 | },
3887 | "strip-literal": {
3888 | "version": "3.0.0",
3889 | "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-3.0.0.tgz",
3890 | "integrity": "sha512-TcccoMhJOM3OebGhSBEmp3UZ2SfDMZUEBdRA/9ynfLi8yYajyWX3JiXArcJt4Umh4vISpspkQIY8ZZoCqjbviA==",
3891 | "dev": true,
3892 | "requires": {
3893 | "js-tokens": "^9.0.1"
3894 | }
3895 | },
3896 | "supports-color": {
3897 | "version": "7.2.0",
3898 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
3899 | "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
3900 | "dev": true,
3901 | "requires": {
3902 | "has-flag": "^4.0.0"
3903 | }
3904 | },
3905 | "test-exclude": {
3906 | "version": "7.0.1",
3907 | "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-7.0.1.tgz",
3908 | "integrity": "sha512-pFYqmTw68LXVjeWJMST4+borgQP2AyMNbg1BpZh9LbyhUeNkeaPF9gzfPGUAnSMV3qPYdWUwDIjjCLiSDOl7vg==",
3909 | "dev": true,
3910 | "requires": {
3911 | "@istanbuljs/schema": "^0.1.2",
3912 | "glob": "^10.4.1",
3913 | "minimatch": "^9.0.4"
3914 | }
3915 | },
3916 | "tinybench": {
3917 | "version": "2.9.0",
3918 | "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz",
3919 | "integrity": "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==",
3920 | "dev": true
3921 | },
3922 | "tinyexec": {
3923 | "version": "0.3.2",
3924 | "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.2.tgz",
3925 | "integrity": "sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==",
3926 | "dev": true
3927 | },
3928 | "tinyglobby": {
3929 | "version": "0.2.14",
3930 | "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.14.tgz",
3931 | "integrity": "sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==",
3932 | "dev": true,
3933 | "requires": {
3934 | "fdir": "^6.4.4",
3935 | "picomatch": "^4.0.2"
3936 | }
3937 | },
3938 | "tinypool": {
3939 | "version": "1.1.0",
3940 | "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-1.1.0.tgz",
3941 | "integrity": "sha512-7CotroY9a8DKsKprEy/a14aCCm8jYVmR7aFy4fpkZM8sdpNJbKkixuNjgM50yCmip2ezc8z4N7k3oe2+rfRJCQ==",
3942 | "dev": true
3943 | },
3944 | "tinyrainbow": {
3945 | "version": "2.0.0",
3946 | "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-2.0.0.tgz",
3947 | "integrity": "sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==",
3948 | "dev": true
3949 | },
3950 | "tinyspy": {
3951 | "version": "4.0.3",
3952 | "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-4.0.3.tgz",
3953 | "integrity": "sha512-t2T/WLB2WRgZ9EpE4jgPJ9w+i66UZfDc8wHh0xrwiRNN+UwH98GIJkTeZqX9rg0i0ptwzqW+uYeIF0T4F8LR7A==",
3954 | "dev": true
3955 | },
3956 | "vite": {
3957 | "version": "6.3.5",
3958 | "resolved": "https://registry.npmjs.org/vite/-/vite-6.3.5.tgz",
3959 | "integrity": "sha512-cZn6NDFE7wdTpINgs++ZJ4N49W2vRp8LCKrn3Ob1kYNtOo21vfDoaV5GzBfLU4MovSAB8uNRm4jgzVQZ+mBzPQ==",
3960 | "dev": true,
3961 | "requires": {
3962 | "esbuild": "^0.25.0",
3963 | "fdir": "^6.4.4",
3964 | "fsevents": "~2.3.3",
3965 | "picomatch": "^4.0.2",
3966 | "postcss": "^8.5.3",
3967 | "rollup": "^4.34.9",
3968 | "tinyglobby": "^0.2.13"
3969 | }
3970 | },
3971 | "vite-node": {
3972 | "version": "3.2.3",
3973 | "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-3.2.3.tgz",
3974 | "integrity": "sha512-gc8aAifGuDIpZHrPjuHyP4dpQmYXqWw7D1GmDnWeNWP654UEXzVfQ5IHPSK5HaHkwB/+p1atpYpSdw/2kOv8iQ==",
3975 | "dev": true,
3976 | "requires": {
3977 | "cac": "^6.7.14",
3978 | "debug": "^4.4.1",
3979 | "es-module-lexer": "^1.7.0",
3980 | "pathe": "^2.0.3",
3981 | "vite": "^5.0.0 || ^6.0.0 || ^7.0.0-0"
3982 | }
3983 | },
3984 | "vitest": {
3985 | "version": "3.2.3",
3986 | "resolved": "https://registry.npmjs.org/vitest/-/vitest-3.2.3.tgz",
3987 | "integrity": "sha512-E6U2ZFXe3N/t4f5BwUaVCKRLHqUpk1CBWeMh78UT4VaTPH/2dyvH6ALl29JTovEPu9dVKr/K/J4PkXgrMbw4Ww==",
3988 | "dev": true,
3989 | "requires": {
3990 | "@types/chai": "^5.2.2",
3991 | "@vitest/expect": "3.2.3",
3992 | "@vitest/mocker": "3.2.3",
3993 | "@vitest/pretty-format": "^3.2.3",
3994 | "@vitest/runner": "3.2.3",
3995 | "@vitest/snapshot": "3.2.3",
3996 | "@vitest/spy": "3.2.3",
3997 | "@vitest/utils": "3.2.3",
3998 | "chai": "^5.2.0",
3999 | "debug": "^4.4.1",
4000 | "expect-type": "^1.2.1",
4001 | "magic-string": "^0.30.17",
4002 | "pathe": "^2.0.3",
4003 | "picomatch": "^4.0.2",
4004 | "std-env": "^3.9.0",
4005 | "tinybench": "^2.9.0",
4006 | "tinyexec": "^0.3.2",
4007 | "tinyglobby": "^0.2.14",
4008 | "tinypool": "^1.1.0",
4009 | "tinyrainbow": "^2.0.0",
4010 | "vite": "^5.0.0 || ^6.0.0 || ^7.0.0-0",
4011 | "vite-node": "3.2.3",
4012 | "why-is-node-running": "^2.3.0"
4013 | }
4014 | },
4015 | "which": {
4016 | "version": "2.0.2",
4017 | "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
4018 | "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
4019 | "dev": true,
4020 | "requires": {
4021 | "isexe": "^2.0.0"
4022 | }
4023 | },
4024 | "why-is-node-running": {
4025 | "version": "2.3.0",
4026 | "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz",
4027 | "integrity": "sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==",
4028 | "dev": true,
4029 | "requires": {
4030 | "siginfo": "^2.0.0",
4031 | "stackback": "0.0.2"
4032 | }
4033 | },
4034 | "wrap-ansi": {
4035 | "version": "8.1.0",
4036 | "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz",
4037 | "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==",
4038 | "dev": true,
4039 | "requires": {
4040 | "ansi-styles": "^6.1.0",
4041 | "string-width": "^5.0.1",
4042 | "strip-ansi": "^7.0.1"
4043 | },
4044 | "dependencies": {
4045 | "ansi-styles": {
4046 | "version": "6.2.1",
4047 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz",
4048 | "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==",
4049 | "dev": true
4050 | }
4051 | }
4052 | },
4053 | "wrap-ansi-cjs": {
4054 | "version": "npm:wrap-ansi@7.0.0",
4055 | "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
4056 | "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
4057 | "dev": true,
4058 | "requires": {
4059 | "ansi-styles": "^4.0.0",
4060 | "string-width": "^4.1.0",
4061 | "strip-ansi": "^6.0.0"
4062 | },
4063 | "dependencies": {
4064 | "ansi-regex": {
4065 | "version": "5.0.1",
4066 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
4067 | "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
4068 | "dev": true
4069 | },
4070 | "ansi-styles": {
4071 | "version": "4.3.0",
4072 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
4073 | "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
4074 | "dev": true,
4075 | "requires": {
4076 | "color-convert": "^2.0.1"
4077 | }
4078 | },
4079 | "emoji-regex": {
4080 | "version": "8.0.0",
4081 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
4082 | "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
4083 | "dev": true
4084 | },
4085 | "string-width": {
4086 | "version": "4.2.3",
4087 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
4088 | "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
4089 | "dev": true,
4090 | "requires": {
4091 | "emoji-regex": "^8.0.0",
4092 | "is-fullwidth-code-point": "^3.0.0",
4093 | "strip-ansi": "^6.0.1"
4094 | }
4095 | },
4096 | "strip-ansi": {
4097 | "version": "6.0.1",
4098 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
4099 | "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
4100 | "dev": true,
4101 | "requires": {
4102 | "ansi-regex": "^5.0.1"
4103 | }
4104 | }
4105 | }
4106 | },
4107 | "yallist": {
4108 | "version": "4.0.0",
4109 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
4110 | "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
4111 | "dev": true
4112 | }
4113 | }
4114 | }
4115 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "posthtml-match-helper",
3 | "description": "A helper to expand CSS selectors into PostHTML matcher objects",
4 | "version": "2.0.3",
5 | "license": "MIT",
6 | "author": "Rasmus Fløe (https://github.com/phloe)",
7 | "repository": {
8 | "type": "git",
9 | "url": "https://github.com/posthtml/posthtml-match-helper.git"
10 | },
11 | "bugs": "https://github.com/posthtml/posthtml-match-helper/issues",
12 | "type": "module",
13 | "exports": "./lib/index.js",
14 | "types": "./lib/index.d.ts",
15 | "engines": {
16 | "node": ">=18"
17 | },
18 | "scripts": {
19 | "dev": "vitest",
20 | "test": "vitest run --coverage",
21 | "lint": "biome lint ./lib",
22 | "pretest": "npm run lint",
23 | "release": "npx np"
24 | },
25 | "files": [
26 | "lib"
27 | ],
28 | "keywords": [
29 | "posthtml",
30 | "posthtml-helper",
31 | "posthtml-matcher"
32 | ],
33 | "peerDependencies": {
34 | "posthtml": "^0.16.6"
35 | },
36 | "devDependencies": {
37 | "@biomejs/biome": "1.9.4",
38 | "@vitest/coverage-v8": "^3.0.4",
39 | "vitest": "^3.0.4"
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/test/unit.test.js:
--------------------------------------------------------------------------------
1 | import {test, expect} from 'vitest'
2 | import match from '../lib/index.js'
3 |
4 | test("Matcher with tag name", () => {
5 | expect(match("div")).toEqual({ tag: "div" });
6 | });
7 |
8 | test("Matcher with id", () => {
9 | expect(match("#waldo")).toEqual({ attrs: { id: "waldo" } });
10 | });
11 |
12 | test("Matcher with one class", () => {
13 | expect(match(".foo")).toEqual({ attrs: { class: /(?:^|\s)foo(?:\s|$)/ } });
14 | });
15 |
16 | test("Matcher with multiple classes", () => {
17 | expect(match(".foo.bar.baz")).toEqual({
18 | attrs: {
19 | class: /(?:^|\s)foo\s(?:.*?\s)?bar\s(?:.*?\s)?baz(?:\s|$)|(?:^|\s)foo\s(?:.*?\s)?baz\s(?:.*?\s)?bar(?:\s|$)|(?:^|\s)bar\s(?:.*?\s)?foo\s(?:.*?\s)?baz(?:\s|$)|(?:^|\s)bar\s(?:.*?\s)?baz\s(?:.*?\s)?foo(?:\s|$)|(?:^|\s)baz\s(?:.*?\s)?foo\s(?:.*?\s)?bar(?:\s|$)|(?:^|\s)baz\s(?:.*?\s)?bar\s(?:.*?\s)?foo(?:\s|$)/
20 | }
21 | });
22 | });
23 |
24 | test("Matcher with tag name and id", () => {
25 | expect(match("div#waldo")).toEqual({ tag: "div", attrs: { id: "waldo" } });
26 | });
27 |
28 | test("Matcher with tag name and class", () => {
29 | expect(match("div.foo")).toEqual({ tag: "div", attrs: { class: /(?:^|\s)foo(?:\s|$)/ } });
30 | });
31 |
32 | test("Matcher with tag name, id and class", () => {
33 | expect(match("div#waldo.foo")).toEqual({ tag: "div", attrs: { id: "waldo", class: /(?:^|\s)foo(?:\s|$)/ } });
34 | });
35 |
36 | test("Matcher with id and class", () => {
37 | expect(match("#waldo.foo")).toEqual({ attrs: { id: "waldo", class: /(?:^|\s)foo(?:\s|$)/ } });
38 | });
39 |
40 | test("Matcher with attribute", () => {
41 | expect(match("[qux]")).toEqual({ attrs: { qux: true } });
42 | });
43 |
44 | test("Matcher with attribute with exact match", () => {
45 | expect(match("[qux=\"corge\"]")).toEqual({ attrs: { qux: "corge" } });
46 | });
47 |
48 | test("Matcher with attribute with whitespaced list matching", () => {
49 | expect(match("[qux~=\"corge\"]")).toEqual({ attrs: { qux: /(?:^|\s)corge(?:\s|$)/ } });
50 | });
51 |
52 | test("Matcher with attribute with full match or followed by a dash", () => {
53 | expect(match("[qux|=\"corge\"]")).toEqual({ attrs: { qux: /^corge(?:-|$)/ } });
54 | });
55 |
56 | test("Matcher with attribute with start match", () => {
57 | expect(match("[qux^=\"corge\"]")).toEqual({ attrs: { qux: /^corge/ } });
58 | });
59 |
60 | test("Matcher with attribute with end match", () => {
61 | expect(match("[qux$=\"corge\"]")).toEqual({ attrs: { qux: /corge$/ } });
62 | });
63 |
64 | test("Matcher with attribute that contains value", () => {
65 | expect(match("[qux*=\"corge\"]")).toEqual({ attrs: { qux: /corge/ } });
66 | });
67 |
68 | test("Matcher with attribute that does not contain value", () => {
69 | expect(match("[qux!=\"corge\"]")).toEqual({ attrs: { qux: /^((?!corge)[\s\S])*$/ } });
70 | });
71 |
72 | test("Matcher with id notation and id as attribute - the former wins", () => {
73 | expect(match("#waldo[id=\"fred\"]")).toEqual({ attrs: { id: "waldo" } });
74 | });
75 |
76 | test("Matcher with class notation and class as attribute - the former wins", () => {
77 | expect(match(".foo[class=\"baz\"]")).toEqual({ attrs: { class: /(?:^|\s)foo(?:\s|$)/ } });
78 | });
79 |
80 | test("Matcher with escaped class notation", () => {
81 | expect(match(".\\[display:none\\]")).toEqual({ attrs: { class: /(?:^|\s)\[display:none\](?:\s|$)/ } });
82 | });
83 |
84 | test("Matcher with escaped class notation and attribute", () => {
85 | expect(match(".\\[display:none\\][foo^=bar]")).toEqual({ attrs: { class: /(?:^|\s)\[display:none\](?:\s|$)/, foo: /^bar/ } });
86 | });
87 |
--------------------------------------------------------------------------------