├── .github
└── dependabot.yml
├── .gitignore
├── LICENSE
├── README.md
├── img
├── bottom-bar.png
└── whitelist-config.png
├── package-lock.json
├── package.json
└── src
└── ultra-popup-blocker.user.js
/.github/dependabot.yml:
--------------------------------------------------------------------------------
1 | version: 2
2 | updates:
3 | - package-ecosystem: "npm"
4 | directory: "/"
5 | schedule:
6 | interval: "monthly"
7 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Logs
2 | logs
3 | *.log
4 | npm-debug.log*
5 | yarn-debug.log*
6 | yarn-error.log*
7 | lerna-debug.log*
8 |
9 | # Diagnostic reports (https://nodejs.org/api/report.html)
10 | report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
11 |
12 | # Runtime data
13 | pids
14 | *.pid
15 | *.seed
16 | *.pid.lock
17 |
18 | # Directory for instrumented libs generated by jscoverage/JSCover
19 | lib-cov
20 |
21 | # Coverage directory used by tools like istanbul
22 | coverage
23 | *.lcov
24 |
25 | # nyc test coverage
26 | .nyc_output
27 |
28 | # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
29 | .grunt
30 |
31 | # Bower dependency directory (https://bower.io/)
32 | bower_components
33 |
34 | # node-waf configuration
35 | .lock-wscript
36 |
37 | # Compiled binary addons (https://nodejs.org/api/addons.html)
38 | build/Release
39 |
40 | # Dependency directories
41 | node_modules/
42 | jspm_packages/
43 |
44 | # TypeScript v1 declaration files
45 | typings/
46 |
47 | # TypeScript cache
48 | *.tsbuildinfo
49 |
50 | # Optional npm cache directory
51 | .npm
52 |
53 | # Optional eslint cache
54 | .eslintcache
55 |
56 | # Microbundle cache
57 | .rpt2_cache/
58 | .rts2_cache_cjs/
59 | .rts2_cache_es/
60 | .rts2_cache_umd/
61 |
62 | # Optional REPL history
63 | .node_repl_history
64 |
65 | # Output of 'npm pack'
66 | *.tgz
67 |
68 | # Yarn Integrity file
69 | .yarn-integrity
70 |
71 | # dotenv environment variables file
72 | .env
73 | .env.test
74 |
75 | # parcel-bundler cache (https://parceljs.org/)
76 | .cache
77 |
78 | # Next.js build output
79 | .next
80 |
81 | # Nuxt.js build / generate output
82 | .nuxt
83 | dist
84 |
85 | # Gatsby files
86 | .cache/
87 | # Comment in the public line in if your project uses Gatsby and *not* Next.js
88 | # https://nextjs.org/blog/next-9-1#public-directory-support
89 | # public
90 |
91 | # vuepress build output
92 | .vuepress/dist
93 |
94 | # Serverless directories
95 | .serverless/
96 |
97 | # FuseBox cache
98 | .fusebox/
99 |
100 | # DynamoDB Local files
101 | .dynamodb/
102 |
103 | # TernJS port file
104 | .tern-port
105 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2013 Jakub Gieryluk
4 | Copyright (c) 2019 Eskander Bejaoui
5 |
6 | Permission is hereby granted, free of charge, to any person obtaining a copy
7 | of this software and associated documentation files (the "Software"), to deal
8 | in the Software without restriction, including without limitation the rights
9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | copies of the Software, and to permit persons to whom the Software is
11 | furnished to do so, subject to the following conditions:
12 |
13 | The above copyright notice and this permission notice shall be included in all
14 | copies or substantial portions of the Software.
15 |
16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22 | SOFTWARE.
23 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # **Ultra Popup Blocker**
2 |
3 | Ultra Popup Blocker (**UPB**) is a lightweight popup blocker designed to **block all popup windows by default**—even user-initiated ones—unless explicitly allowed. It provides a simple yet effective [Permission Manager][whtlstid] to manage exceptions.
4 |
5 |

6 |
7 | > [!Note]
8 | > This project is in maintenance mode—no new features are planned.
9 |
10 | [](https://github.com/standard/standard)
11 |
12 | ## **Why Another Popup Blocker?**
13 |
14 | Default popup blockers in Firefox and Chrome only block popups triggered automatically (e.g., on page load). However, some websites abuse popups by attaching them to any user interaction, including clicks on seemingly empty areas. **UPB** blocks these aggressive popups, giving you full control.
15 |
16 | ## **How It Works**
17 |
18 | In JavaScript, functions are *first-class citizens*, meaning they can be stored in variables and modified. **UPB** takes advantage of this by overriding `window.open` with a custom implementation that prompts the user for confirmation before opening any popups.
19 |
20 | **Note:** This is not a foolproof solution. For comprehensive protection, use **uBlock Origin** with the appropriate filter lists.
21 |
22 | ## **Managing Permissions**
23 |
24 | The built-in **Permission Manager** allows you to whitelist websites that should be allowed to open popups freely.
25 |
26 | 
27 |
28 | ## **Installation Instructions**
29 |
30 | 1. Install a **userscript manager** for your browser:
31 | - **Firefox**: [Violentmonkey][ff_ext1] or [Tampermonkey][ff_ext2]
32 | - **Chrome**: [Violentmonkey][cr_ext1] or [Tampermonkey][cr_ext2]
33 |
34 | 2. Add **Ultra Popup Blocker** from one of the sources below:
35 |
36 | [![GreasyFork][button1]][link1] [![OpenUserJS][button2]][link2] [![GitHub][button3]][link3]
37 |
38 | [whtlstid]: #managing-permissions
39 | [ff_ext1]: https://addons.mozilla.org/en-US/firefox/addon/violentmonkey/
40 | [ff_ext2]: https://addons.mozilla.org/en-US/firefox/addon/tampermonkey/
41 | [cr_ext1]: https://chrome.google.com/webstore/detail/violentmonkey/jinjaccalgkegednnccohejagnlnfdag
42 | [cr_ext2]: https://chrome.google.com/webstore/detail/tampermonkey/dhdgffkkebhmkfjojejmpbldmpobfkfo
43 |
44 | [button1]: https://img.shields.io/badge/Install-GreasyFork-red.svg?longCache=true&style=for-the-badge
45 | [link1]: https://greasyfork.org/en/scripts/387937-ultra-popup-blocker
46 |
47 | [button2]: https://img.shields.io/badge/Install-OpenUserJS-blue.svg?longCache=true&style=for-the-badge
48 | [link2]: https://openuserjs.org/scripts/eskander/Ultra_Popup_Blocker
49 |
50 | [button3]: https://img.shields.io/badge/Install-GitHub-lightgrey.svg?longCache=true&style=for-the-badge
51 | [link3]: https://github.com/Eskander/ultra-popup-blocker/raw/main/src/ultra-popup-blocker.user.js
52 |
--------------------------------------------------------------------------------
/img/bottom-bar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Eskander/ultra-popup-blocker/cb022fc65371cc95f1e124146b5f0648b2edc985/img/bottom-bar.png
--------------------------------------------------------------------------------
/img/whitelist-config.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Eskander/ultra-popup-blocker/cb022fc65371cc95f1e124146b5f0648b2edc985/img/whitelist-config.png
--------------------------------------------------------------------------------
/package-lock.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "ultra-popup-blocker",
3 | "version": "1.0.0",
4 | "lockfileVersion": 3,
5 | "requires": true,
6 | "packages": {
7 | "": {
8 | "name": "ultra-popup-blocker",
9 | "version": "1.0.0",
10 | "license": "MIT",
11 | "devDependencies": {
12 | "standard": "^17.1.2"
13 | }
14 | },
15 | "node_modules/@eslint-community/eslint-utils": {
16 | "version": "4.4.0",
17 | "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz",
18 | "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==",
19 | "dev": true,
20 | "license": "MIT",
21 | "dependencies": {
22 | "eslint-visitor-keys": "^3.3.0"
23 | },
24 | "engines": {
25 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
26 | },
27 | "peerDependencies": {
28 | "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0"
29 | }
30 | },
31 | "node_modules/@eslint-community/regexpp": {
32 | "version": "4.11.1",
33 | "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.1.tgz",
34 | "integrity": "sha512-m4DVN9ZqskZoLU5GlWZadwDnYo3vAEydiUayB9widCl9ffWx2IvPnp6n3on5rJmziJSw9Bv+Z3ChDVdMwXCY8Q==",
35 | "dev": true,
36 | "license": "MIT",
37 | "engines": {
38 | "node": "^12.0.0 || ^14.0.0 || >=16.0.0"
39 | }
40 | },
41 | "node_modules/@eslint/eslintrc": {
42 | "version": "2.1.4",
43 | "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz",
44 | "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==",
45 | "dev": true,
46 | "license": "MIT",
47 | "dependencies": {
48 | "ajv": "^6.12.4",
49 | "debug": "^4.3.2",
50 | "espree": "^9.6.0",
51 | "globals": "^13.19.0",
52 | "ignore": "^5.2.0",
53 | "import-fresh": "^3.2.1",
54 | "js-yaml": "^4.1.0",
55 | "minimatch": "^3.1.2",
56 | "strip-json-comments": "^3.1.1"
57 | },
58 | "engines": {
59 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
60 | },
61 | "funding": {
62 | "url": "https://opencollective.com/eslint"
63 | }
64 | },
65 | "node_modules/@eslint/js": {
66 | "version": "8.57.1",
67 | "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz",
68 | "integrity": "sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==",
69 | "dev": true,
70 | "license": "MIT",
71 | "engines": {
72 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
73 | }
74 | },
75 | "node_modules/@humanwhocodes/config-array": {
76 | "version": "0.13.0",
77 | "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz",
78 | "integrity": "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==",
79 | "deprecated": "Use @eslint/config-array instead",
80 | "dev": true,
81 | "license": "Apache-2.0",
82 | "dependencies": {
83 | "@humanwhocodes/object-schema": "^2.0.3",
84 | "debug": "^4.3.1",
85 | "minimatch": "^3.0.5"
86 | },
87 | "engines": {
88 | "node": ">=10.10.0"
89 | }
90 | },
91 | "node_modules/@humanwhocodes/module-importer": {
92 | "version": "1.0.1",
93 | "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz",
94 | "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==",
95 | "dev": true,
96 | "license": "Apache-2.0",
97 | "engines": {
98 | "node": ">=12.22"
99 | },
100 | "funding": {
101 | "type": "github",
102 | "url": "https://github.com/sponsors/nzakas"
103 | }
104 | },
105 | "node_modules/@humanwhocodes/object-schema": {
106 | "version": "2.0.3",
107 | "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz",
108 | "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==",
109 | "deprecated": "Use @eslint/object-schema instead",
110 | "dev": true,
111 | "license": "BSD-3-Clause"
112 | },
113 | "node_modules/@nodelib/fs.scandir": {
114 | "version": "2.1.5",
115 | "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
116 | "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
117 | "dev": true,
118 | "license": "MIT",
119 | "dependencies": {
120 | "@nodelib/fs.stat": "2.0.5",
121 | "run-parallel": "^1.1.9"
122 | },
123 | "engines": {
124 | "node": ">= 8"
125 | }
126 | },
127 | "node_modules/@nodelib/fs.stat": {
128 | "version": "2.0.5",
129 | "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
130 | "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
131 | "dev": true,
132 | "license": "MIT",
133 | "engines": {
134 | "node": ">= 8"
135 | }
136 | },
137 | "node_modules/@nodelib/fs.walk": {
138 | "version": "1.2.8",
139 | "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
140 | "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
141 | "dev": true,
142 | "license": "MIT",
143 | "dependencies": {
144 | "@nodelib/fs.scandir": "2.1.5",
145 | "fastq": "^1.6.0"
146 | },
147 | "engines": {
148 | "node": ">= 8"
149 | }
150 | },
151 | "node_modules/@rtsao/scc": {
152 | "version": "1.1.0",
153 | "resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz",
154 | "integrity": "sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==",
155 | "dev": true,
156 | "license": "MIT"
157 | },
158 | "node_modules/@types/json5": {
159 | "version": "0.0.29",
160 | "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz",
161 | "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==",
162 | "dev": true,
163 | "license": "MIT"
164 | },
165 | "node_modules/@ungap/structured-clone": {
166 | "version": "1.2.0",
167 | "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz",
168 | "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==",
169 | "dev": true,
170 | "license": "ISC"
171 | },
172 | "node_modules/acorn": {
173 | "version": "8.13.0",
174 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.13.0.tgz",
175 | "integrity": "sha512-8zSiw54Oxrdym50NlZ9sUusyO1Z1ZchgRLWRaK6c86XJFClyCgFKetdowBg5bKxyp/u+CDBJG4Mpp0m3HLZl9w==",
176 | "dev": true,
177 | "license": "MIT",
178 | "bin": {
179 | "acorn": "bin/acorn"
180 | },
181 | "engines": {
182 | "node": ">=0.4.0"
183 | }
184 | },
185 | "node_modules/acorn-jsx": {
186 | "version": "5.3.2",
187 | "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
188 | "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
189 | "dev": true,
190 | "license": "MIT",
191 | "peerDependencies": {
192 | "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
193 | }
194 | },
195 | "node_modules/ajv": {
196 | "version": "6.12.6",
197 | "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
198 | "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
199 | "dev": true,
200 | "license": "MIT",
201 | "dependencies": {
202 | "fast-deep-equal": "^3.1.1",
203 | "fast-json-stable-stringify": "^2.0.0",
204 | "json-schema-traverse": "^0.4.1",
205 | "uri-js": "^4.2.2"
206 | },
207 | "funding": {
208 | "type": "github",
209 | "url": "https://github.com/sponsors/epoberezkin"
210 | }
211 | },
212 | "node_modules/ansi-regex": {
213 | "version": "5.0.1",
214 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
215 | "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
216 | "dev": true,
217 | "license": "MIT",
218 | "engines": {
219 | "node": ">=8"
220 | }
221 | },
222 | "node_modules/ansi-styles": {
223 | "version": "4.3.0",
224 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
225 | "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
226 | "dev": true,
227 | "license": "MIT",
228 | "dependencies": {
229 | "color-convert": "^2.0.1"
230 | },
231 | "engines": {
232 | "node": ">=8"
233 | },
234 | "funding": {
235 | "url": "https://github.com/chalk/ansi-styles?sponsor=1"
236 | }
237 | },
238 | "node_modules/argparse": {
239 | "version": "2.0.1",
240 | "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
241 | "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
242 | "dev": true,
243 | "license": "Python-2.0"
244 | },
245 | "node_modules/array-buffer-byte-length": {
246 | "version": "1.0.1",
247 | "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz",
248 | "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==",
249 | "dev": true,
250 | "license": "MIT",
251 | "dependencies": {
252 | "call-bind": "^1.0.5",
253 | "is-array-buffer": "^3.0.4"
254 | },
255 | "engines": {
256 | "node": ">= 0.4"
257 | },
258 | "funding": {
259 | "url": "https://github.com/sponsors/ljharb"
260 | }
261 | },
262 | "node_modules/array-includes": {
263 | "version": "3.1.8",
264 | "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz",
265 | "integrity": "sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==",
266 | "dev": true,
267 | "license": "MIT",
268 | "dependencies": {
269 | "call-bind": "^1.0.7",
270 | "define-properties": "^1.2.1",
271 | "es-abstract": "^1.23.2",
272 | "es-object-atoms": "^1.0.0",
273 | "get-intrinsic": "^1.2.4",
274 | "is-string": "^1.0.7"
275 | },
276 | "engines": {
277 | "node": ">= 0.4"
278 | },
279 | "funding": {
280 | "url": "https://github.com/sponsors/ljharb"
281 | }
282 | },
283 | "node_modules/array.prototype.findlast": {
284 | "version": "1.2.5",
285 | "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz",
286 | "integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==",
287 | "dev": true,
288 | "license": "MIT",
289 | "dependencies": {
290 | "call-bind": "^1.0.7",
291 | "define-properties": "^1.2.1",
292 | "es-abstract": "^1.23.2",
293 | "es-errors": "^1.3.0",
294 | "es-object-atoms": "^1.0.0",
295 | "es-shim-unscopables": "^1.0.2"
296 | },
297 | "engines": {
298 | "node": ">= 0.4"
299 | },
300 | "funding": {
301 | "url": "https://github.com/sponsors/ljharb"
302 | }
303 | },
304 | "node_modules/array.prototype.findlastindex": {
305 | "version": "1.2.5",
306 | "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.5.tgz",
307 | "integrity": "sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==",
308 | "dev": true,
309 | "license": "MIT",
310 | "dependencies": {
311 | "call-bind": "^1.0.7",
312 | "define-properties": "^1.2.1",
313 | "es-abstract": "^1.23.2",
314 | "es-errors": "^1.3.0",
315 | "es-object-atoms": "^1.0.0",
316 | "es-shim-unscopables": "^1.0.2"
317 | },
318 | "engines": {
319 | "node": ">= 0.4"
320 | },
321 | "funding": {
322 | "url": "https://github.com/sponsors/ljharb"
323 | }
324 | },
325 | "node_modules/array.prototype.flat": {
326 | "version": "1.3.2",
327 | "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz",
328 | "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==",
329 | "dev": true,
330 | "license": "MIT",
331 | "dependencies": {
332 | "call-bind": "^1.0.2",
333 | "define-properties": "^1.2.0",
334 | "es-abstract": "^1.22.1",
335 | "es-shim-unscopables": "^1.0.0"
336 | },
337 | "engines": {
338 | "node": ">= 0.4"
339 | },
340 | "funding": {
341 | "url": "https://github.com/sponsors/ljharb"
342 | }
343 | },
344 | "node_modules/array.prototype.flatmap": {
345 | "version": "1.3.2",
346 | "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz",
347 | "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==",
348 | "dev": true,
349 | "license": "MIT",
350 | "dependencies": {
351 | "call-bind": "^1.0.2",
352 | "define-properties": "^1.2.0",
353 | "es-abstract": "^1.22.1",
354 | "es-shim-unscopables": "^1.0.0"
355 | },
356 | "engines": {
357 | "node": ">= 0.4"
358 | },
359 | "funding": {
360 | "url": "https://github.com/sponsors/ljharb"
361 | }
362 | },
363 | "node_modules/array.prototype.tosorted": {
364 | "version": "1.1.4",
365 | "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz",
366 | "integrity": "sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==",
367 | "dev": true,
368 | "license": "MIT",
369 | "dependencies": {
370 | "call-bind": "^1.0.7",
371 | "define-properties": "^1.2.1",
372 | "es-abstract": "^1.23.3",
373 | "es-errors": "^1.3.0",
374 | "es-shim-unscopables": "^1.0.2"
375 | },
376 | "engines": {
377 | "node": ">= 0.4"
378 | }
379 | },
380 | "node_modules/arraybuffer.prototype.slice": {
381 | "version": "1.0.3",
382 | "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz",
383 | "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==",
384 | "dev": true,
385 | "license": "MIT",
386 | "dependencies": {
387 | "array-buffer-byte-length": "^1.0.1",
388 | "call-bind": "^1.0.5",
389 | "define-properties": "^1.2.1",
390 | "es-abstract": "^1.22.3",
391 | "es-errors": "^1.2.1",
392 | "get-intrinsic": "^1.2.3",
393 | "is-array-buffer": "^3.0.4",
394 | "is-shared-array-buffer": "^1.0.2"
395 | },
396 | "engines": {
397 | "node": ">= 0.4"
398 | },
399 | "funding": {
400 | "url": "https://github.com/sponsors/ljharb"
401 | }
402 | },
403 | "node_modules/available-typed-arrays": {
404 | "version": "1.0.7",
405 | "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz",
406 | "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==",
407 | "dev": true,
408 | "license": "MIT",
409 | "dependencies": {
410 | "possible-typed-array-names": "^1.0.0"
411 | },
412 | "engines": {
413 | "node": ">= 0.4"
414 | },
415 | "funding": {
416 | "url": "https://github.com/sponsors/ljharb"
417 | }
418 | },
419 | "node_modules/balanced-match": {
420 | "version": "1.0.2",
421 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
422 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
423 | "dev": true,
424 | "license": "MIT"
425 | },
426 | "node_modules/brace-expansion": {
427 | "version": "1.1.11",
428 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
429 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
430 | "dev": true,
431 | "license": "MIT",
432 | "dependencies": {
433 | "balanced-match": "^1.0.0",
434 | "concat-map": "0.0.1"
435 | }
436 | },
437 | "node_modules/builtins": {
438 | "version": "5.1.0",
439 | "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.1.0.tgz",
440 | "integrity": "sha512-SW9lzGTLvWTP1AY8xeAMZimqDrIaSdLQUcVr9DMef51niJ022Ri87SwRRKYm4A6iHfkPaiVUu/Duw2Wc4J7kKg==",
441 | "dev": true,
442 | "license": "MIT",
443 | "dependencies": {
444 | "semver": "^7.0.0"
445 | }
446 | },
447 | "node_modules/builtins/node_modules/semver": {
448 | "version": "7.6.3",
449 | "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz",
450 | "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==",
451 | "dev": true,
452 | "license": "ISC",
453 | "bin": {
454 | "semver": "bin/semver.js"
455 | },
456 | "engines": {
457 | "node": ">=10"
458 | }
459 | },
460 | "node_modules/call-bind": {
461 | "version": "1.0.7",
462 | "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz",
463 | "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==",
464 | "dev": true,
465 | "license": "MIT",
466 | "dependencies": {
467 | "es-define-property": "^1.0.0",
468 | "es-errors": "^1.3.0",
469 | "function-bind": "^1.1.2",
470 | "get-intrinsic": "^1.2.4",
471 | "set-function-length": "^1.2.1"
472 | },
473 | "engines": {
474 | "node": ">= 0.4"
475 | },
476 | "funding": {
477 | "url": "https://github.com/sponsors/ljharb"
478 | }
479 | },
480 | "node_modules/callsites": {
481 | "version": "3.1.0",
482 | "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
483 | "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
484 | "dev": true,
485 | "license": "MIT",
486 | "engines": {
487 | "node": ">=6"
488 | }
489 | },
490 | "node_modules/chalk": {
491 | "version": "4.1.2",
492 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
493 | "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
494 | "dev": true,
495 | "license": "MIT",
496 | "dependencies": {
497 | "ansi-styles": "^4.1.0",
498 | "supports-color": "^7.1.0"
499 | },
500 | "engines": {
501 | "node": ">=10"
502 | },
503 | "funding": {
504 | "url": "https://github.com/chalk/chalk?sponsor=1"
505 | }
506 | },
507 | "node_modules/color-convert": {
508 | "version": "2.0.1",
509 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
510 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
511 | "dev": true,
512 | "license": "MIT",
513 | "dependencies": {
514 | "color-name": "~1.1.4"
515 | },
516 | "engines": {
517 | "node": ">=7.0.0"
518 | }
519 | },
520 | "node_modules/color-name": {
521 | "version": "1.1.4",
522 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
523 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
524 | "dev": true,
525 | "license": "MIT"
526 | },
527 | "node_modules/concat-map": {
528 | "version": "0.0.1",
529 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
530 | "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
531 | "dev": true,
532 | "license": "MIT"
533 | },
534 | "node_modules/cross-spawn": {
535 | "version": "7.0.3",
536 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
537 | "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
538 | "dev": true,
539 | "license": "MIT",
540 | "dependencies": {
541 | "path-key": "^3.1.0",
542 | "shebang-command": "^2.0.0",
543 | "which": "^2.0.1"
544 | },
545 | "engines": {
546 | "node": ">= 8"
547 | }
548 | },
549 | "node_modules/data-view-buffer": {
550 | "version": "1.0.1",
551 | "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz",
552 | "integrity": "sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==",
553 | "dev": true,
554 | "license": "MIT",
555 | "dependencies": {
556 | "call-bind": "^1.0.6",
557 | "es-errors": "^1.3.0",
558 | "is-data-view": "^1.0.1"
559 | },
560 | "engines": {
561 | "node": ">= 0.4"
562 | },
563 | "funding": {
564 | "url": "https://github.com/sponsors/ljharb"
565 | }
566 | },
567 | "node_modules/data-view-byte-length": {
568 | "version": "1.0.1",
569 | "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz",
570 | "integrity": "sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==",
571 | "dev": true,
572 | "license": "MIT",
573 | "dependencies": {
574 | "call-bind": "^1.0.7",
575 | "es-errors": "^1.3.0",
576 | "is-data-view": "^1.0.1"
577 | },
578 | "engines": {
579 | "node": ">= 0.4"
580 | },
581 | "funding": {
582 | "url": "https://github.com/sponsors/ljharb"
583 | }
584 | },
585 | "node_modules/data-view-byte-offset": {
586 | "version": "1.0.0",
587 | "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz",
588 | "integrity": "sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==",
589 | "dev": true,
590 | "license": "MIT",
591 | "dependencies": {
592 | "call-bind": "^1.0.6",
593 | "es-errors": "^1.3.0",
594 | "is-data-view": "^1.0.1"
595 | },
596 | "engines": {
597 | "node": ">= 0.4"
598 | },
599 | "funding": {
600 | "url": "https://github.com/sponsors/ljharb"
601 | }
602 | },
603 | "node_modules/debug": {
604 | "version": "4.3.7",
605 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz",
606 | "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==",
607 | "dev": true,
608 | "license": "MIT",
609 | "dependencies": {
610 | "ms": "^2.1.3"
611 | },
612 | "engines": {
613 | "node": ">=6.0"
614 | },
615 | "peerDependenciesMeta": {
616 | "supports-color": {
617 | "optional": true
618 | }
619 | }
620 | },
621 | "node_modules/deep-is": {
622 | "version": "0.1.4",
623 | "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
624 | "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==",
625 | "dev": true,
626 | "license": "MIT"
627 | },
628 | "node_modules/define-data-property": {
629 | "version": "1.1.4",
630 | "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz",
631 | "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==",
632 | "dev": true,
633 | "license": "MIT",
634 | "dependencies": {
635 | "es-define-property": "^1.0.0",
636 | "es-errors": "^1.3.0",
637 | "gopd": "^1.0.1"
638 | },
639 | "engines": {
640 | "node": ">= 0.4"
641 | },
642 | "funding": {
643 | "url": "https://github.com/sponsors/ljharb"
644 | }
645 | },
646 | "node_modules/define-properties": {
647 | "version": "1.2.1",
648 | "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz",
649 | "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==",
650 | "dev": true,
651 | "license": "MIT",
652 | "dependencies": {
653 | "define-data-property": "^1.0.1",
654 | "has-property-descriptors": "^1.0.0",
655 | "object-keys": "^1.1.1"
656 | },
657 | "engines": {
658 | "node": ">= 0.4"
659 | },
660 | "funding": {
661 | "url": "https://github.com/sponsors/ljharb"
662 | }
663 | },
664 | "node_modules/doctrine": {
665 | "version": "3.0.0",
666 | "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
667 | "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
668 | "dev": true,
669 | "license": "Apache-2.0",
670 | "dependencies": {
671 | "esutils": "^2.0.2"
672 | },
673 | "engines": {
674 | "node": ">=6.0.0"
675 | }
676 | },
677 | "node_modules/error-ex": {
678 | "version": "1.3.2",
679 | "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
680 | "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
681 | "dev": true,
682 | "license": "MIT",
683 | "dependencies": {
684 | "is-arrayish": "^0.2.1"
685 | }
686 | },
687 | "node_modules/es-abstract": {
688 | "version": "1.23.3",
689 | "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.3.tgz",
690 | "integrity": "sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==",
691 | "dev": true,
692 | "license": "MIT",
693 | "dependencies": {
694 | "array-buffer-byte-length": "^1.0.1",
695 | "arraybuffer.prototype.slice": "^1.0.3",
696 | "available-typed-arrays": "^1.0.7",
697 | "call-bind": "^1.0.7",
698 | "data-view-buffer": "^1.0.1",
699 | "data-view-byte-length": "^1.0.1",
700 | "data-view-byte-offset": "^1.0.0",
701 | "es-define-property": "^1.0.0",
702 | "es-errors": "^1.3.0",
703 | "es-object-atoms": "^1.0.0",
704 | "es-set-tostringtag": "^2.0.3",
705 | "es-to-primitive": "^1.2.1",
706 | "function.prototype.name": "^1.1.6",
707 | "get-intrinsic": "^1.2.4",
708 | "get-symbol-description": "^1.0.2",
709 | "globalthis": "^1.0.3",
710 | "gopd": "^1.0.1",
711 | "has-property-descriptors": "^1.0.2",
712 | "has-proto": "^1.0.3",
713 | "has-symbols": "^1.0.3",
714 | "hasown": "^2.0.2",
715 | "internal-slot": "^1.0.7",
716 | "is-array-buffer": "^3.0.4",
717 | "is-callable": "^1.2.7",
718 | "is-data-view": "^1.0.1",
719 | "is-negative-zero": "^2.0.3",
720 | "is-regex": "^1.1.4",
721 | "is-shared-array-buffer": "^1.0.3",
722 | "is-string": "^1.0.7",
723 | "is-typed-array": "^1.1.13",
724 | "is-weakref": "^1.0.2",
725 | "object-inspect": "^1.13.1",
726 | "object-keys": "^1.1.1",
727 | "object.assign": "^4.1.5",
728 | "regexp.prototype.flags": "^1.5.2",
729 | "safe-array-concat": "^1.1.2",
730 | "safe-regex-test": "^1.0.3",
731 | "string.prototype.trim": "^1.2.9",
732 | "string.prototype.trimend": "^1.0.8",
733 | "string.prototype.trimstart": "^1.0.8",
734 | "typed-array-buffer": "^1.0.2",
735 | "typed-array-byte-length": "^1.0.1",
736 | "typed-array-byte-offset": "^1.0.2",
737 | "typed-array-length": "^1.0.6",
738 | "unbox-primitive": "^1.0.2",
739 | "which-typed-array": "^1.1.15"
740 | },
741 | "engines": {
742 | "node": ">= 0.4"
743 | },
744 | "funding": {
745 | "url": "https://github.com/sponsors/ljharb"
746 | }
747 | },
748 | "node_modules/es-define-property": {
749 | "version": "1.0.0",
750 | "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz",
751 | "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==",
752 | "dev": true,
753 | "license": "MIT",
754 | "dependencies": {
755 | "get-intrinsic": "^1.2.4"
756 | },
757 | "engines": {
758 | "node": ">= 0.4"
759 | }
760 | },
761 | "node_modules/es-errors": {
762 | "version": "1.3.0",
763 | "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz",
764 | "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==",
765 | "dev": true,
766 | "license": "MIT",
767 | "engines": {
768 | "node": ">= 0.4"
769 | }
770 | },
771 | "node_modules/es-iterator-helpers": {
772 | "version": "1.1.0",
773 | "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.1.0.tgz",
774 | "integrity": "sha512-/SurEfycdyssORP/E+bj4sEu1CWw4EmLDsHynHwSXQ7utgbrMRWW195pTrCjFgFCddf/UkYm3oqKPRq5i8bJbw==",
775 | "dev": true,
776 | "license": "MIT",
777 | "dependencies": {
778 | "call-bind": "^1.0.7",
779 | "define-properties": "^1.2.1",
780 | "es-abstract": "^1.23.3",
781 | "es-errors": "^1.3.0",
782 | "es-set-tostringtag": "^2.0.3",
783 | "function-bind": "^1.1.2",
784 | "get-intrinsic": "^1.2.4",
785 | "globalthis": "^1.0.4",
786 | "has-property-descriptors": "^1.0.2",
787 | "has-proto": "^1.0.3",
788 | "has-symbols": "^1.0.3",
789 | "internal-slot": "^1.0.7",
790 | "iterator.prototype": "^1.1.3",
791 | "safe-array-concat": "^1.1.2"
792 | },
793 | "engines": {
794 | "node": ">= 0.4"
795 | }
796 | },
797 | "node_modules/es-object-atoms": {
798 | "version": "1.0.0",
799 | "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz",
800 | "integrity": "sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==",
801 | "dev": true,
802 | "license": "MIT",
803 | "dependencies": {
804 | "es-errors": "^1.3.0"
805 | },
806 | "engines": {
807 | "node": ">= 0.4"
808 | }
809 | },
810 | "node_modules/es-set-tostringtag": {
811 | "version": "2.0.3",
812 | "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz",
813 | "integrity": "sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==",
814 | "dev": true,
815 | "license": "MIT",
816 | "dependencies": {
817 | "get-intrinsic": "^1.2.4",
818 | "has-tostringtag": "^1.0.2",
819 | "hasown": "^2.0.1"
820 | },
821 | "engines": {
822 | "node": ">= 0.4"
823 | }
824 | },
825 | "node_modules/es-shim-unscopables": {
826 | "version": "1.0.2",
827 | "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz",
828 | "integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==",
829 | "dev": true,
830 | "license": "MIT",
831 | "dependencies": {
832 | "hasown": "^2.0.0"
833 | }
834 | },
835 | "node_modules/es-to-primitive": {
836 | "version": "1.2.1",
837 | "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz",
838 | "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==",
839 | "dev": true,
840 | "license": "MIT",
841 | "dependencies": {
842 | "is-callable": "^1.1.4",
843 | "is-date-object": "^1.0.1",
844 | "is-symbol": "^1.0.2"
845 | },
846 | "engines": {
847 | "node": ">= 0.4"
848 | },
849 | "funding": {
850 | "url": "https://github.com/sponsors/ljharb"
851 | }
852 | },
853 | "node_modules/escape-string-regexp": {
854 | "version": "4.0.0",
855 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
856 | "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
857 | "dev": true,
858 | "license": "MIT",
859 | "engines": {
860 | "node": ">=10"
861 | },
862 | "funding": {
863 | "url": "https://github.com/sponsors/sindresorhus"
864 | }
865 | },
866 | "node_modules/eslint": {
867 | "version": "8.57.1",
868 | "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz",
869 | "integrity": "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==",
870 | "deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.",
871 | "dev": true,
872 | "license": "MIT",
873 | "dependencies": {
874 | "@eslint-community/eslint-utils": "^4.2.0",
875 | "@eslint-community/regexpp": "^4.6.1",
876 | "@eslint/eslintrc": "^2.1.4",
877 | "@eslint/js": "8.57.1",
878 | "@humanwhocodes/config-array": "^0.13.0",
879 | "@humanwhocodes/module-importer": "^1.0.1",
880 | "@nodelib/fs.walk": "^1.2.8",
881 | "@ungap/structured-clone": "^1.2.0",
882 | "ajv": "^6.12.4",
883 | "chalk": "^4.0.0",
884 | "cross-spawn": "^7.0.2",
885 | "debug": "^4.3.2",
886 | "doctrine": "^3.0.0",
887 | "escape-string-regexp": "^4.0.0",
888 | "eslint-scope": "^7.2.2",
889 | "eslint-visitor-keys": "^3.4.3",
890 | "espree": "^9.6.1",
891 | "esquery": "^1.4.2",
892 | "esutils": "^2.0.2",
893 | "fast-deep-equal": "^3.1.3",
894 | "file-entry-cache": "^6.0.1",
895 | "find-up": "^5.0.0",
896 | "glob-parent": "^6.0.2",
897 | "globals": "^13.19.0",
898 | "graphemer": "^1.4.0",
899 | "ignore": "^5.2.0",
900 | "imurmurhash": "^0.1.4",
901 | "is-glob": "^4.0.0",
902 | "is-path-inside": "^3.0.3",
903 | "js-yaml": "^4.1.0",
904 | "json-stable-stringify-without-jsonify": "^1.0.1",
905 | "levn": "^0.4.1",
906 | "lodash.merge": "^4.6.2",
907 | "minimatch": "^3.1.2",
908 | "natural-compare": "^1.4.0",
909 | "optionator": "^0.9.3",
910 | "strip-ansi": "^6.0.1",
911 | "text-table": "^0.2.0"
912 | },
913 | "bin": {
914 | "eslint": "bin/eslint.js"
915 | },
916 | "engines": {
917 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
918 | },
919 | "funding": {
920 | "url": "https://opencollective.com/eslint"
921 | }
922 | },
923 | "node_modules/eslint-config-standard": {
924 | "version": "17.1.0",
925 | "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-17.1.0.tgz",
926 | "integrity": "sha512-IwHwmaBNtDK4zDHQukFDW5u/aTb8+meQWZvNFWkiGmbWjD6bqyuSSBxxXKkCftCUzc1zwCH2m/baCNDLGmuO5Q==",
927 | "dev": true,
928 | "funding": [
929 | {
930 | "type": "github",
931 | "url": "https://github.com/sponsors/feross"
932 | },
933 | {
934 | "type": "patreon",
935 | "url": "https://www.patreon.com/feross"
936 | },
937 | {
938 | "type": "consulting",
939 | "url": "https://feross.org/support"
940 | }
941 | ],
942 | "license": "MIT",
943 | "engines": {
944 | "node": ">=12.0.0"
945 | },
946 | "peerDependencies": {
947 | "eslint": "^8.0.1",
948 | "eslint-plugin-import": "^2.25.2",
949 | "eslint-plugin-n": "^15.0.0 || ^16.0.0 ",
950 | "eslint-plugin-promise": "^6.0.0"
951 | }
952 | },
953 | "node_modules/eslint-config-standard-jsx": {
954 | "version": "11.0.0",
955 | "resolved": "https://registry.npmjs.org/eslint-config-standard-jsx/-/eslint-config-standard-jsx-11.0.0.tgz",
956 | "integrity": "sha512-+1EV/R0JxEK1L0NGolAr8Iktm3Rgotx3BKwgaX+eAuSX8D952LULKtjgZD3F+e6SvibONnhLwoTi9DPxN5LvvQ==",
957 | "dev": true,
958 | "funding": [
959 | {
960 | "type": "github",
961 | "url": "https://github.com/sponsors/feross"
962 | },
963 | {
964 | "type": "patreon",
965 | "url": "https://www.patreon.com/feross"
966 | },
967 | {
968 | "type": "consulting",
969 | "url": "https://feross.org/support"
970 | }
971 | ],
972 | "license": "MIT",
973 | "peerDependencies": {
974 | "eslint": "^8.8.0",
975 | "eslint-plugin-react": "^7.28.0"
976 | }
977 | },
978 | "node_modules/eslint-import-resolver-node": {
979 | "version": "0.3.9",
980 | "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz",
981 | "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==",
982 | "dev": true,
983 | "license": "MIT",
984 | "dependencies": {
985 | "debug": "^3.2.7",
986 | "is-core-module": "^2.13.0",
987 | "resolve": "^1.22.4"
988 | }
989 | },
990 | "node_modules/eslint-import-resolver-node/node_modules/debug": {
991 | "version": "3.2.7",
992 | "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
993 | "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
994 | "dev": true,
995 | "license": "MIT",
996 | "dependencies": {
997 | "ms": "^2.1.1"
998 | }
999 | },
1000 | "node_modules/eslint-module-utils": {
1001 | "version": "2.12.0",
1002 | "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.12.0.tgz",
1003 | "integrity": "sha512-wALZ0HFoytlyh/1+4wuZ9FJCD/leWHQzzrxJ8+rebyReSLk7LApMyd3WJaLVoN+D5+WIdJyDK1c6JnE65V4Zyg==",
1004 | "dev": true,
1005 | "license": "MIT",
1006 | "dependencies": {
1007 | "debug": "^3.2.7"
1008 | },
1009 | "engines": {
1010 | "node": ">=4"
1011 | },
1012 | "peerDependenciesMeta": {
1013 | "eslint": {
1014 | "optional": true
1015 | }
1016 | }
1017 | },
1018 | "node_modules/eslint-module-utils/node_modules/debug": {
1019 | "version": "3.2.7",
1020 | "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
1021 | "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
1022 | "dev": true,
1023 | "license": "MIT",
1024 | "dependencies": {
1025 | "ms": "^2.1.1"
1026 | }
1027 | },
1028 | "node_modules/eslint-plugin-es": {
1029 | "version": "4.1.0",
1030 | "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-4.1.0.tgz",
1031 | "integrity": "sha512-GILhQTnjYE2WorX5Jyi5i4dz5ALWxBIdQECVQavL6s7cI76IZTDWleTHkxz/QT3kvcs2QlGHvKLYsSlPOlPXnQ==",
1032 | "dev": true,
1033 | "license": "MIT",
1034 | "dependencies": {
1035 | "eslint-utils": "^2.0.0",
1036 | "regexpp": "^3.0.0"
1037 | },
1038 | "engines": {
1039 | "node": ">=8.10.0"
1040 | },
1041 | "funding": {
1042 | "url": "https://github.com/sponsors/mysticatea"
1043 | },
1044 | "peerDependencies": {
1045 | "eslint": ">=4.19.1"
1046 | }
1047 | },
1048 | "node_modules/eslint-plugin-es/node_modules/eslint-utils": {
1049 | "version": "2.1.0",
1050 | "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz",
1051 | "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==",
1052 | "dev": true,
1053 | "license": "MIT",
1054 | "dependencies": {
1055 | "eslint-visitor-keys": "^1.1.0"
1056 | },
1057 | "engines": {
1058 | "node": ">=6"
1059 | },
1060 | "funding": {
1061 | "url": "https://github.com/sponsors/mysticatea"
1062 | }
1063 | },
1064 | "node_modules/eslint-plugin-es/node_modules/eslint-visitor-keys": {
1065 | "version": "1.3.0",
1066 | "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz",
1067 | "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==",
1068 | "dev": true,
1069 | "license": "Apache-2.0",
1070 | "engines": {
1071 | "node": ">=4"
1072 | }
1073 | },
1074 | "node_modules/eslint-plugin-import": {
1075 | "version": "2.31.0",
1076 | "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.31.0.tgz",
1077 | "integrity": "sha512-ixmkI62Rbc2/w8Vfxyh1jQRTdRTF52VxwRVHl/ykPAmqG+Nb7/kNn+byLP0LxPgI7zWA16Jt82SybJInmMia3A==",
1078 | "dev": true,
1079 | "license": "MIT",
1080 | "dependencies": {
1081 | "@rtsao/scc": "^1.1.0",
1082 | "array-includes": "^3.1.8",
1083 | "array.prototype.findlastindex": "^1.2.5",
1084 | "array.prototype.flat": "^1.3.2",
1085 | "array.prototype.flatmap": "^1.3.2",
1086 | "debug": "^3.2.7",
1087 | "doctrine": "^2.1.0",
1088 | "eslint-import-resolver-node": "^0.3.9",
1089 | "eslint-module-utils": "^2.12.0",
1090 | "hasown": "^2.0.2",
1091 | "is-core-module": "^2.15.1",
1092 | "is-glob": "^4.0.3",
1093 | "minimatch": "^3.1.2",
1094 | "object.fromentries": "^2.0.8",
1095 | "object.groupby": "^1.0.3",
1096 | "object.values": "^1.2.0",
1097 | "semver": "^6.3.1",
1098 | "string.prototype.trimend": "^1.0.8",
1099 | "tsconfig-paths": "^3.15.0"
1100 | },
1101 | "engines": {
1102 | "node": ">=4"
1103 | },
1104 | "peerDependencies": {
1105 | "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9"
1106 | }
1107 | },
1108 | "node_modules/eslint-plugin-import/node_modules/debug": {
1109 | "version": "3.2.7",
1110 | "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
1111 | "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
1112 | "dev": true,
1113 | "license": "MIT",
1114 | "dependencies": {
1115 | "ms": "^2.1.1"
1116 | }
1117 | },
1118 | "node_modules/eslint-plugin-import/node_modules/doctrine": {
1119 | "version": "2.1.0",
1120 | "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz",
1121 | "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==",
1122 | "dev": true,
1123 | "license": "Apache-2.0",
1124 | "dependencies": {
1125 | "esutils": "^2.0.2"
1126 | },
1127 | "engines": {
1128 | "node": ">=0.10.0"
1129 | }
1130 | },
1131 | "node_modules/eslint-plugin-n": {
1132 | "version": "15.7.0",
1133 | "resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-15.7.0.tgz",
1134 | "integrity": "sha512-jDex9s7D/Qial8AGVIHq4W7NswpUD5DPDL2RH8Lzd9EloWUuvUkHfv4FRLMipH5q2UtyurorBkPeNi1wVWNh3Q==",
1135 | "dev": true,
1136 | "license": "MIT",
1137 | "dependencies": {
1138 | "builtins": "^5.0.1",
1139 | "eslint-plugin-es": "^4.1.0",
1140 | "eslint-utils": "^3.0.0",
1141 | "ignore": "^5.1.1",
1142 | "is-core-module": "^2.11.0",
1143 | "minimatch": "^3.1.2",
1144 | "resolve": "^1.22.1",
1145 | "semver": "^7.3.8"
1146 | },
1147 | "engines": {
1148 | "node": ">=12.22.0"
1149 | },
1150 | "funding": {
1151 | "url": "https://github.com/sponsors/mysticatea"
1152 | },
1153 | "peerDependencies": {
1154 | "eslint": ">=7.0.0"
1155 | }
1156 | },
1157 | "node_modules/eslint-plugin-n/node_modules/semver": {
1158 | "version": "7.6.3",
1159 | "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz",
1160 | "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==",
1161 | "dev": true,
1162 | "license": "ISC",
1163 | "bin": {
1164 | "semver": "bin/semver.js"
1165 | },
1166 | "engines": {
1167 | "node": ">=10"
1168 | }
1169 | },
1170 | "node_modules/eslint-plugin-promise": {
1171 | "version": "6.6.0",
1172 | "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-6.6.0.tgz",
1173 | "integrity": "sha512-57Zzfw8G6+Gq7axm2Pdo3gW/Rx3h9Yywgn61uE/3elTCOePEHVrn2i5CdfBwA1BLK0Q0WqctICIUSqXZW/VprQ==",
1174 | "dev": true,
1175 | "license": "ISC",
1176 | "engines": {
1177 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
1178 | },
1179 | "funding": {
1180 | "url": "https://opencollective.com/eslint"
1181 | },
1182 | "peerDependencies": {
1183 | "eslint": "^7.0.0 || ^8.0.0 || ^9.0.0"
1184 | }
1185 | },
1186 | "node_modules/eslint-plugin-react": {
1187 | "version": "7.37.1",
1188 | "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.1.tgz",
1189 | "integrity": "sha512-xwTnwDqzbDRA8uJ7BMxPs/EXRB3i8ZfnOIp8BsxEQkT0nHPp+WWceqGgo6rKb9ctNi8GJLDT4Go5HAWELa/WMg==",
1190 | "dev": true,
1191 | "license": "MIT",
1192 | "dependencies": {
1193 | "array-includes": "^3.1.8",
1194 | "array.prototype.findlast": "^1.2.5",
1195 | "array.prototype.flatmap": "^1.3.2",
1196 | "array.prototype.tosorted": "^1.1.4",
1197 | "doctrine": "^2.1.0",
1198 | "es-iterator-helpers": "^1.0.19",
1199 | "estraverse": "^5.3.0",
1200 | "hasown": "^2.0.2",
1201 | "jsx-ast-utils": "^2.4.1 || ^3.0.0",
1202 | "minimatch": "^3.1.2",
1203 | "object.entries": "^1.1.8",
1204 | "object.fromentries": "^2.0.8",
1205 | "object.values": "^1.2.0",
1206 | "prop-types": "^15.8.1",
1207 | "resolve": "^2.0.0-next.5",
1208 | "semver": "^6.3.1",
1209 | "string.prototype.matchall": "^4.0.11",
1210 | "string.prototype.repeat": "^1.0.0"
1211 | },
1212 | "engines": {
1213 | "node": ">=4"
1214 | },
1215 | "peerDependencies": {
1216 | "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7"
1217 | }
1218 | },
1219 | "node_modules/eslint-plugin-react/node_modules/doctrine": {
1220 | "version": "2.1.0",
1221 | "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz",
1222 | "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==",
1223 | "dev": true,
1224 | "license": "Apache-2.0",
1225 | "dependencies": {
1226 | "esutils": "^2.0.2"
1227 | },
1228 | "engines": {
1229 | "node": ">=0.10.0"
1230 | }
1231 | },
1232 | "node_modules/eslint-plugin-react/node_modules/resolve": {
1233 | "version": "2.0.0-next.5",
1234 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz",
1235 | "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==",
1236 | "dev": true,
1237 | "license": "MIT",
1238 | "dependencies": {
1239 | "is-core-module": "^2.13.0",
1240 | "path-parse": "^1.0.7",
1241 | "supports-preserve-symlinks-flag": "^1.0.0"
1242 | },
1243 | "bin": {
1244 | "resolve": "bin/resolve"
1245 | },
1246 | "funding": {
1247 | "url": "https://github.com/sponsors/ljharb"
1248 | }
1249 | },
1250 | "node_modules/eslint-scope": {
1251 | "version": "7.2.2",
1252 | "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz",
1253 | "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==",
1254 | "dev": true,
1255 | "license": "BSD-2-Clause",
1256 | "dependencies": {
1257 | "esrecurse": "^4.3.0",
1258 | "estraverse": "^5.2.0"
1259 | },
1260 | "engines": {
1261 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
1262 | },
1263 | "funding": {
1264 | "url": "https://opencollective.com/eslint"
1265 | }
1266 | },
1267 | "node_modules/eslint-utils": {
1268 | "version": "3.0.0",
1269 | "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz",
1270 | "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==",
1271 | "dev": true,
1272 | "license": "MIT",
1273 | "dependencies": {
1274 | "eslint-visitor-keys": "^2.0.0"
1275 | },
1276 | "engines": {
1277 | "node": "^10.0.0 || ^12.0.0 || >= 14.0.0"
1278 | },
1279 | "funding": {
1280 | "url": "https://github.com/sponsors/mysticatea"
1281 | },
1282 | "peerDependencies": {
1283 | "eslint": ">=5"
1284 | }
1285 | },
1286 | "node_modules/eslint-utils/node_modules/eslint-visitor-keys": {
1287 | "version": "2.1.0",
1288 | "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz",
1289 | "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==",
1290 | "dev": true,
1291 | "license": "Apache-2.0",
1292 | "engines": {
1293 | "node": ">=10"
1294 | }
1295 | },
1296 | "node_modules/eslint-visitor-keys": {
1297 | "version": "3.4.3",
1298 | "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz",
1299 | "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==",
1300 | "dev": true,
1301 | "license": "Apache-2.0",
1302 | "engines": {
1303 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
1304 | },
1305 | "funding": {
1306 | "url": "https://opencollective.com/eslint"
1307 | }
1308 | },
1309 | "node_modules/espree": {
1310 | "version": "9.6.1",
1311 | "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz",
1312 | "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==",
1313 | "dev": true,
1314 | "license": "BSD-2-Clause",
1315 | "dependencies": {
1316 | "acorn": "^8.9.0",
1317 | "acorn-jsx": "^5.3.2",
1318 | "eslint-visitor-keys": "^3.4.1"
1319 | },
1320 | "engines": {
1321 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
1322 | },
1323 | "funding": {
1324 | "url": "https://opencollective.com/eslint"
1325 | }
1326 | },
1327 | "node_modules/esquery": {
1328 | "version": "1.6.0",
1329 | "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz",
1330 | "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==",
1331 | "dev": true,
1332 | "license": "BSD-3-Clause",
1333 | "dependencies": {
1334 | "estraverse": "^5.1.0"
1335 | },
1336 | "engines": {
1337 | "node": ">=0.10"
1338 | }
1339 | },
1340 | "node_modules/esrecurse": {
1341 | "version": "4.3.0",
1342 | "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
1343 | "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
1344 | "dev": true,
1345 | "license": "BSD-2-Clause",
1346 | "dependencies": {
1347 | "estraverse": "^5.2.0"
1348 | },
1349 | "engines": {
1350 | "node": ">=4.0"
1351 | }
1352 | },
1353 | "node_modules/estraverse": {
1354 | "version": "5.3.0",
1355 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
1356 | "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
1357 | "dev": true,
1358 | "license": "BSD-2-Clause",
1359 | "engines": {
1360 | "node": ">=4.0"
1361 | }
1362 | },
1363 | "node_modules/esutils": {
1364 | "version": "2.0.3",
1365 | "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
1366 | "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
1367 | "dev": true,
1368 | "license": "BSD-2-Clause",
1369 | "engines": {
1370 | "node": ">=0.10.0"
1371 | }
1372 | },
1373 | "node_modules/fast-deep-equal": {
1374 | "version": "3.1.3",
1375 | "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
1376 | "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
1377 | "dev": true,
1378 | "license": "MIT"
1379 | },
1380 | "node_modules/fast-json-stable-stringify": {
1381 | "version": "2.1.0",
1382 | "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
1383 | "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
1384 | "dev": true,
1385 | "license": "MIT"
1386 | },
1387 | "node_modules/fast-levenshtein": {
1388 | "version": "2.0.6",
1389 | "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
1390 | "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==",
1391 | "dev": true,
1392 | "license": "MIT"
1393 | },
1394 | "node_modules/fastq": {
1395 | "version": "1.17.1",
1396 | "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz",
1397 | "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==",
1398 | "dev": true,
1399 | "license": "ISC",
1400 | "dependencies": {
1401 | "reusify": "^1.0.4"
1402 | }
1403 | },
1404 | "node_modules/file-entry-cache": {
1405 | "version": "6.0.1",
1406 | "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz",
1407 | "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==",
1408 | "dev": true,
1409 | "license": "MIT",
1410 | "dependencies": {
1411 | "flat-cache": "^3.0.4"
1412 | },
1413 | "engines": {
1414 | "node": "^10.12.0 || >=12.0.0"
1415 | }
1416 | },
1417 | "node_modules/find-up": {
1418 | "version": "5.0.0",
1419 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
1420 | "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
1421 | "dev": true,
1422 | "license": "MIT",
1423 | "dependencies": {
1424 | "locate-path": "^6.0.0",
1425 | "path-exists": "^4.0.0"
1426 | },
1427 | "engines": {
1428 | "node": ">=10"
1429 | },
1430 | "funding": {
1431 | "url": "https://github.com/sponsors/sindresorhus"
1432 | }
1433 | },
1434 | "node_modules/flat-cache": {
1435 | "version": "3.2.0",
1436 | "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz",
1437 | "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==",
1438 | "dev": true,
1439 | "license": "MIT",
1440 | "dependencies": {
1441 | "flatted": "^3.2.9",
1442 | "keyv": "^4.5.3",
1443 | "rimraf": "^3.0.2"
1444 | },
1445 | "engines": {
1446 | "node": "^10.12.0 || >=12.0.0"
1447 | }
1448 | },
1449 | "node_modules/flatted": {
1450 | "version": "3.3.1",
1451 | "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz",
1452 | "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==",
1453 | "dev": true,
1454 | "license": "ISC"
1455 | },
1456 | "node_modules/for-each": {
1457 | "version": "0.3.3",
1458 | "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz",
1459 | "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==",
1460 | "dev": true,
1461 | "license": "MIT",
1462 | "dependencies": {
1463 | "is-callable": "^1.1.3"
1464 | }
1465 | },
1466 | "node_modules/fs.realpath": {
1467 | "version": "1.0.0",
1468 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
1469 | "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
1470 | "dev": true,
1471 | "license": "ISC"
1472 | },
1473 | "node_modules/function-bind": {
1474 | "version": "1.1.2",
1475 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
1476 | "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
1477 | "dev": true,
1478 | "license": "MIT",
1479 | "funding": {
1480 | "url": "https://github.com/sponsors/ljharb"
1481 | }
1482 | },
1483 | "node_modules/function.prototype.name": {
1484 | "version": "1.1.6",
1485 | "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz",
1486 | "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==",
1487 | "dev": true,
1488 | "license": "MIT",
1489 | "dependencies": {
1490 | "call-bind": "^1.0.2",
1491 | "define-properties": "^1.2.0",
1492 | "es-abstract": "^1.22.1",
1493 | "functions-have-names": "^1.2.3"
1494 | },
1495 | "engines": {
1496 | "node": ">= 0.4"
1497 | },
1498 | "funding": {
1499 | "url": "https://github.com/sponsors/ljharb"
1500 | }
1501 | },
1502 | "node_modules/functions-have-names": {
1503 | "version": "1.2.3",
1504 | "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz",
1505 | "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==",
1506 | "dev": true,
1507 | "license": "MIT",
1508 | "funding": {
1509 | "url": "https://github.com/sponsors/ljharb"
1510 | }
1511 | },
1512 | "node_modules/get-intrinsic": {
1513 | "version": "1.2.4",
1514 | "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz",
1515 | "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==",
1516 | "dev": true,
1517 | "license": "MIT",
1518 | "dependencies": {
1519 | "es-errors": "^1.3.0",
1520 | "function-bind": "^1.1.2",
1521 | "has-proto": "^1.0.1",
1522 | "has-symbols": "^1.0.3",
1523 | "hasown": "^2.0.0"
1524 | },
1525 | "engines": {
1526 | "node": ">= 0.4"
1527 | },
1528 | "funding": {
1529 | "url": "https://github.com/sponsors/ljharb"
1530 | }
1531 | },
1532 | "node_modules/get-stdin": {
1533 | "version": "8.0.0",
1534 | "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-8.0.0.tgz",
1535 | "integrity": "sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==",
1536 | "dev": true,
1537 | "license": "MIT",
1538 | "engines": {
1539 | "node": ">=10"
1540 | },
1541 | "funding": {
1542 | "url": "https://github.com/sponsors/sindresorhus"
1543 | }
1544 | },
1545 | "node_modules/get-symbol-description": {
1546 | "version": "1.0.2",
1547 | "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz",
1548 | "integrity": "sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==",
1549 | "dev": true,
1550 | "license": "MIT",
1551 | "dependencies": {
1552 | "call-bind": "^1.0.5",
1553 | "es-errors": "^1.3.0",
1554 | "get-intrinsic": "^1.2.4"
1555 | },
1556 | "engines": {
1557 | "node": ">= 0.4"
1558 | },
1559 | "funding": {
1560 | "url": "https://github.com/sponsors/ljharb"
1561 | }
1562 | },
1563 | "node_modules/glob": {
1564 | "version": "7.2.3",
1565 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
1566 | "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
1567 | "deprecated": "Glob versions prior to v9 are no longer supported",
1568 | "dev": true,
1569 | "license": "ISC",
1570 | "dependencies": {
1571 | "fs.realpath": "^1.0.0",
1572 | "inflight": "^1.0.4",
1573 | "inherits": "2",
1574 | "minimatch": "^3.1.1",
1575 | "once": "^1.3.0",
1576 | "path-is-absolute": "^1.0.0"
1577 | },
1578 | "engines": {
1579 | "node": "*"
1580 | },
1581 | "funding": {
1582 | "url": "https://github.com/sponsors/isaacs"
1583 | }
1584 | },
1585 | "node_modules/glob-parent": {
1586 | "version": "6.0.2",
1587 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
1588 | "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
1589 | "dev": true,
1590 | "license": "ISC",
1591 | "dependencies": {
1592 | "is-glob": "^4.0.3"
1593 | },
1594 | "engines": {
1595 | "node": ">=10.13.0"
1596 | }
1597 | },
1598 | "node_modules/globals": {
1599 | "version": "13.24.0",
1600 | "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz",
1601 | "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==",
1602 | "dev": true,
1603 | "license": "MIT",
1604 | "dependencies": {
1605 | "type-fest": "^0.20.2"
1606 | },
1607 | "engines": {
1608 | "node": ">=8"
1609 | },
1610 | "funding": {
1611 | "url": "https://github.com/sponsors/sindresorhus"
1612 | }
1613 | },
1614 | "node_modules/globalthis": {
1615 | "version": "1.0.4",
1616 | "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz",
1617 | "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==",
1618 | "dev": true,
1619 | "license": "MIT",
1620 | "dependencies": {
1621 | "define-properties": "^1.2.1",
1622 | "gopd": "^1.0.1"
1623 | },
1624 | "engines": {
1625 | "node": ">= 0.4"
1626 | },
1627 | "funding": {
1628 | "url": "https://github.com/sponsors/ljharb"
1629 | }
1630 | },
1631 | "node_modules/gopd": {
1632 | "version": "1.0.1",
1633 | "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz",
1634 | "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==",
1635 | "dev": true,
1636 | "license": "MIT",
1637 | "dependencies": {
1638 | "get-intrinsic": "^1.1.3"
1639 | },
1640 | "funding": {
1641 | "url": "https://github.com/sponsors/ljharb"
1642 | }
1643 | },
1644 | "node_modules/graceful-fs": {
1645 | "version": "4.2.11",
1646 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
1647 | "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
1648 | "dev": true,
1649 | "license": "ISC"
1650 | },
1651 | "node_modules/graphemer": {
1652 | "version": "1.4.0",
1653 | "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz",
1654 | "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==",
1655 | "dev": true,
1656 | "license": "MIT"
1657 | },
1658 | "node_modules/has-bigints": {
1659 | "version": "1.0.2",
1660 | "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz",
1661 | "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==",
1662 | "dev": true,
1663 | "license": "MIT",
1664 | "funding": {
1665 | "url": "https://github.com/sponsors/ljharb"
1666 | }
1667 | },
1668 | "node_modules/has-flag": {
1669 | "version": "4.0.0",
1670 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
1671 | "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
1672 | "dev": true,
1673 | "license": "MIT",
1674 | "engines": {
1675 | "node": ">=8"
1676 | }
1677 | },
1678 | "node_modules/has-property-descriptors": {
1679 | "version": "1.0.2",
1680 | "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz",
1681 | "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==",
1682 | "dev": true,
1683 | "license": "MIT",
1684 | "dependencies": {
1685 | "es-define-property": "^1.0.0"
1686 | },
1687 | "funding": {
1688 | "url": "https://github.com/sponsors/ljharb"
1689 | }
1690 | },
1691 | "node_modules/has-proto": {
1692 | "version": "1.0.3",
1693 | "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz",
1694 | "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==",
1695 | "dev": true,
1696 | "license": "MIT",
1697 | "engines": {
1698 | "node": ">= 0.4"
1699 | },
1700 | "funding": {
1701 | "url": "https://github.com/sponsors/ljharb"
1702 | }
1703 | },
1704 | "node_modules/has-symbols": {
1705 | "version": "1.0.3",
1706 | "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
1707 | "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
1708 | "dev": true,
1709 | "license": "MIT",
1710 | "engines": {
1711 | "node": ">= 0.4"
1712 | },
1713 | "funding": {
1714 | "url": "https://github.com/sponsors/ljharb"
1715 | }
1716 | },
1717 | "node_modules/has-tostringtag": {
1718 | "version": "1.0.2",
1719 | "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz",
1720 | "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==",
1721 | "dev": true,
1722 | "license": "MIT",
1723 | "dependencies": {
1724 | "has-symbols": "^1.0.3"
1725 | },
1726 | "engines": {
1727 | "node": ">= 0.4"
1728 | },
1729 | "funding": {
1730 | "url": "https://github.com/sponsors/ljharb"
1731 | }
1732 | },
1733 | "node_modules/hasown": {
1734 | "version": "2.0.2",
1735 | "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
1736 | "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
1737 | "dev": true,
1738 | "license": "MIT",
1739 | "dependencies": {
1740 | "function-bind": "^1.1.2"
1741 | },
1742 | "engines": {
1743 | "node": ">= 0.4"
1744 | }
1745 | },
1746 | "node_modules/ignore": {
1747 | "version": "5.3.2",
1748 | "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz",
1749 | "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==",
1750 | "dev": true,
1751 | "license": "MIT",
1752 | "engines": {
1753 | "node": ">= 4"
1754 | }
1755 | },
1756 | "node_modules/import-fresh": {
1757 | "version": "3.3.0",
1758 | "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
1759 | "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
1760 | "dev": true,
1761 | "license": "MIT",
1762 | "dependencies": {
1763 | "parent-module": "^1.0.0",
1764 | "resolve-from": "^4.0.0"
1765 | },
1766 | "engines": {
1767 | "node": ">=6"
1768 | },
1769 | "funding": {
1770 | "url": "https://github.com/sponsors/sindresorhus"
1771 | }
1772 | },
1773 | "node_modules/imurmurhash": {
1774 | "version": "0.1.4",
1775 | "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
1776 | "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==",
1777 | "dev": true,
1778 | "license": "MIT",
1779 | "engines": {
1780 | "node": ">=0.8.19"
1781 | }
1782 | },
1783 | "node_modules/inflight": {
1784 | "version": "1.0.6",
1785 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
1786 | "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
1787 | "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.",
1788 | "dev": true,
1789 | "license": "ISC",
1790 | "dependencies": {
1791 | "once": "^1.3.0",
1792 | "wrappy": "1"
1793 | }
1794 | },
1795 | "node_modules/inherits": {
1796 | "version": "2.0.4",
1797 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
1798 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
1799 | "dev": true,
1800 | "license": "ISC"
1801 | },
1802 | "node_modules/internal-slot": {
1803 | "version": "1.0.7",
1804 | "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz",
1805 | "integrity": "sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==",
1806 | "dev": true,
1807 | "license": "MIT",
1808 | "dependencies": {
1809 | "es-errors": "^1.3.0",
1810 | "hasown": "^2.0.0",
1811 | "side-channel": "^1.0.4"
1812 | },
1813 | "engines": {
1814 | "node": ">= 0.4"
1815 | }
1816 | },
1817 | "node_modules/is-array-buffer": {
1818 | "version": "3.0.4",
1819 | "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz",
1820 | "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==",
1821 | "dev": true,
1822 | "license": "MIT",
1823 | "dependencies": {
1824 | "call-bind": "^1.0.2",
1825 | "get-intrinsic": "^1.2.1"
1826 | },
1827 | "engines": {
1828 | "node": ">= 0.4"
1829 | },
1830 | "funding": {
1831 | "url": "https://github.com/sponsors/ljharb"
1832 | }
1833 | },
1834 | "node_modules/is-arrayish": {
1835 | "version": "0.2.1",
1836 | "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
1837 | "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==",
1838 | "dev": true,
1839 | "license": "MIT"
1840 | },
1841 | "node_modules/is-async-function": {
1842 | "version": "2.0.0",
1843 | "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz",
1844 | "integrity": "sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==",
1845 | "dev": true,
1846 | "license": "MIT",
1847 | "dependencies": {
1848 | "has-tostringtag": "^1.0.0"
1849 | },
1850 | "engines": {
1851 | "node": ">= 0.4"
1852 | },
1853 | "funding": {
1854 | "url": "https://github.com/sponsors/ljharb"
1855 | }
1856 | },
1857 | "node_modules/is-bigint": {
1858 | "version": "1.0.4",
1859 | "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz",
1860 | "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==",
1861 | "dev": true,
1862 | "license": "MIT",
1863 | "dependencies": {
1864 | "has-bigints": "^1.0.1"
1865 | },
1866 | "funding": {
1867 | "url": "https://github.com/sponsors/ljharb"
1868 | }
1869 | },
1870 | "node_modules/is-boolean-object": {
1871 | "version": "1.1.2",
1872 | "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz",
1873 | "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==",
1874 | "dev": true,
1875 | "license": "MIT",
1876 | "dependencies": {
1877 | "call-bind": "^1.0.2",
1878 | "has-tostringtag": "^1.0.0"
1879 | },
1880 | "engines": {
1881 | "node": ">= 0.4"
1882 | },
1883 | "funding": {
1884 | "url": "https://github.com/sponsors/ljharb"
1885 | }
1886 | },
1887 | "node_modules/is-callable": {
1888 | "version": "1.2.7",
1889 | "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz",
1890 | "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==",
1891 | "dev": true,
1892 | "license": "MIT",
1893 | "engines": {
1894 | "node": ">= 0.4"
1895 | },
1896 | "funding": {
1897 | "url": "https://github.com/sponsors/ljharb"
1898 | }
1899 | },
1900 | "node_modules/is-core-module": {
1901 | "version": "2.15.1",
1902 | "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.1.tgz",
1903 | "integrity": "sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==",
1904 | "dev": true,
1905 | "license": "MIT",
1906 | "dependencies": {
1907 | "hasown": "^2.0.2"
1908 | },
1909 | "engines": {
1910 | "node": ">= 0.4"
1911 | },
1912 | "funding": {
1913 | "url": "https://github.com/sponsors/ljharb"
1914 | }
1915 | },
1916 | "node_modules/is-data-view": {
1917 | "version": "1.0.1",
1918 | "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.1.tgz",
1919 | "integrity": "sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==",
1920 | "dev": true,
1921 | "license": "MIT",
1922 | "dependencies": {
1923 | "is-typed-array": "^1.1.13"
1924 | },
1925 | "engines": {
1926 | "node": ">= 0.4"
1927 | },
1928 | "funding": {
1929 | "url": "https://github.com/sponsors/ljharb"
1930 | }
1931 | },
1932 | "node_modules/is-date-object": {
1933 | "version": "1.0.5",
1934 | "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz",
1935 | "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==",
1936 | "dev": true,
1937 | "license": "MIT",
1938 | "dependencies": {
1939 | "has-tostringtag": "^1.0.0"
1940 | },
1941 | "engines": {
1942 | "node": ">= 0.4"
1943 | },
1944 | "funding": {
1945 | "url": "https://github.com/sponsors/ljharb"
1946 | }
1947 | },
1948 | "node_modules/is-extglob": {
1949 | "version": "2.1.1",
1950 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
1951 | "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
1952 | "dev": true,
1953 | "license": "MIT",
1954 | "engines": {
1955 | "node": ">=0.10.0"
1956 | }
1957 | },
1958 | "node_modules/is-finalizationregistry": {
1959 | "version": "1.0.2",
1960 | "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz",
1961 | "integrity": "sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==",
1962 | "dev": true,
1963 | "license": "MIT",
1964 | "dependencies": {
1965 | "call-bind": "^1.0.2"
1966 | },
1967 | "funding": {
1968 | "url": "https://github.com/sponsors/ljharb"
1969 | }
1970 | },
1971 | "node_modules/is-generator-function": {
1972 | "version": "1.0.10",
1973 | "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz",
1974 | "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==",
1975 | "dev": true,
1976 | "license": "MIT",
1977 | "dependencies": {
1978 | "has-tostringtag": "^1.0.0"
1979 | },
1980 | "engines": {
1981 | "node": ">= 0.4"
1982 | },
1983 | "funding": {
1984 | "url": "https://github.com/sponsors/ljharb"
1985 | }
1986 | },
1987 | "node_modules/is-glob": {
1988 | "version": "4.0.3",
1989 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
1990 | "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
1991 | "dev": true,
1992 | "license": "MIT",
1993 | "dependencies": {
1994 | "is-extglob": "^2.1.1"
1995 | },
1996 | "engines": {
1997 | "node": ">=0.10.0"
1998 | }
1999 | },
2000 | "node_modules/is-map": {
2001 | "version": "2.0.3",
2002 | "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz",
2003 | "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==",
2004 | "dev": true,
2005 | "license": "MIT",
2006 | "engines": {
2007 | "node": ">= 0.4"
2008 | },
2009 | "funding": {
2010 | "url": "https://github.com/sponsors/ljharb"
2011 | }
2012 | },
2013 | "node_modules/is-negative-zero": {
2014 | "version": "2.0.3",
2015 | "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz",
2016 | "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==",
2017 | "dev": true,
2018 | "license": "MIT",
2019 | "engines": {
2020 | "node": ">= 0.4"
2021 | },
2022 | "funding": {
2023 | "url": "https://github.com/sponsors/ljharb"
2024 | }
2025 | },
2026 | "node_modules/is-number-object": {
2027 | "version": "1.0.7",
2028 | "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz",
2029 | "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==",
2030 | "dev": true,
2031 | "license": "MIT",
2032 | "dependencies": {
2033 | "has-tostringtag": "^1.0.0"
2034 | },
2035 | "engines": {
2036 | "node": ">= 0.4"
2037 | },
2038 | "funding": {
2039 | "url": "https://github.com/sponsors/ljharb"
2040 | }
2041 | },
2042 | "node_modules/is-path-inside": {
2043 | "version": "3.0.3",
2044 | "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz",
2045 | "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==",
2046 | "dev": true,
2047 | "license": "MIT",
2048 | "engines": {
2049 | "node": ">=8"
2050 | }
2051 | },
2052 | "node_modules/is-regex": {
2053 | "version": "1.1.4",
2054 | "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz",
2055 | "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==",
2056 | "dev": true,
2057 | "license": "MIT",
2058 | "dependencies": {
2059 | "call-bind": "^1.0.2",
2060 | "has-tostringtag": "^1.0.0"
2061 | },
2062 | "engines": {
2063 | "node": ">= 0.4"
2064 | },
2065 | "funding": {
2066 | "url": "https://github.com/sponsors/ljharb"
2067 | }
2068 | },
2069 | "node_modules/is-set": {
2070 | "version": "2.0.3",
2071 | "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz",
2072 | "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==",
2073 | "dev": true,
2074 | "license": "MIT",
2075 | "engines": {
2076 | "node": ">= 0.4"
2077 | },
2078 | "funding": {
2079 | "url": "https://github.com/sponsors/ljharb"
2080 | }
2081 | },
2082 | "node_modules/is-shared-array-buffer": {
2083 | "version": "1.0.3",
2084 | "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz",
2085 | "integrity": "sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==",
2086 | "dev": true,
2087 | "license": "MIT",
2088 | "dependencies": {
2089 | "call-bind": "^1.0.7"
2090 | },
2091 | "engines": {
2092 | "node": ">= 0.4"
2093 | },
2094 | "funding": {
2095 | "url": "https://github.com/sponsors/ljharb"
2096 | }
2097 | },
2098 | "node_modules/is-string": {
2099 | "version": "1.0.7",
2100 | "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz",
2101 | "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==",
2102 | "dev": true,
2103 | "license": "MIT",
2104 | "dependencies": {
2105 | "has-tostringtag": "^1.0.0"
2106 | },
2107 | "engines": {
2108 | "node": ">= 0.4"
2109 | },
2110 | "funding": {
2111 | "url": "https://github.com/sponsors/ljharb"
2112 | }
2113 | },
2114 | "node_modules/is-symbol": {
2115 | "version": "1.0.4",
2116 | "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz",
2117 | "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==",
2118 | "dev": true,
2119 | "license": "MIT",
2120 | "dependencies": {
2121 | "has-symbols": "^1.0.2"
2122 | },
2123 | "engines": {
2124 | "node": ">= 0.4"
2125 | },
2126 | "funding": {
2127 | "url": "https://github.com/sponsors/ljharb"
2128 | }
2129 | },
2130 | "node_modules/is-typed-array": {
2131 | "version": "1.1.13",
2132 | "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz",
2133 | "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==",
2134 | "dev": true,
2135 | "license": "MIT",
2136 | "dependencies": {
2137 | "which-typed-array": "^1.1.14"
2138 | },
2139 | "engines": {
2140 | "node": ">= 0.4"
2141 | },
2142 | "funding": {
2143 | "url": "https://github.com/sponsors/ljharb"
2144 | }
2145 | },
2146 | "node_modules/is-weakmap": {
2147 | "version": "2.0.2",
2148 | "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz",
2149 | "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==",
2150 | "dev": true,
2151 | "license": "MIT",
2152 | "engines": {
2153 | "node": ">= 0.4"
2154 | },
2155 | "funding": {
2156 | "url": "https://github.com/sponsors/ljharb"
2157 | }
2158 | },
2159 | "node_modules/is-weakref": {
2160 | "version": "1.0.2",
2161 | "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz",
2162 | "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==",
2163 | "dev": true,
2164 | "license": "MIT",
2165 | "dependencies": {
2166 | "call-bind": "^1.0.2"
2167 | },
2168 | "funding": {
2169 | "url": "https://github.com/sponsors/ljharb"
2170 | }
2171 | },
2172 | "node_modules/is-weakset": {
2173 | "version": "2.0.3",
2174 | "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.3.tgz",
2175 | "integrity": "sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==",
2176 | "dev": true,
2177 | "license": "MIT",
2178 | "dependencies": {
2179 | "call-bind": "^1.0.7",
2180 | "get-intrinsic": "^1.2.4"
2181 | },
2182 | "engines": {
2183 | "node": ">= 0.4"
2184 | },
2185 | "funding": {
2186 | "url": "https://github.com/sponsors/ljharb"
2187 | }
2188 | },
2189 | "node_modules/isarray": {
2190 | "version": "2.0.5",
2191 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz",
2192 | "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==",
2193 | "dev": true,
2194 | "license": "MIT"
2195 | },
2196 | "node_modules/isexe": {
2197 | "version": "2.0.0",
2198 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
2199 | "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
2200 | "dev": true,
2201 | "license": "ISC"
2202 | },
2203 | "node_modules/iterator.prototype": {
2204 | "version": "1.1.3",
2205 | "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.3.tgz",
2206 | "integrity": "sha512-FW5iMbeQ6rBGm/oKgzq2aW4KvAGpxPzYES8N4g4xNXUKpL1mclMvOe+76AcLDTvD+Ze+sOpVhgdAQEKF4L9iGQ==",
2207 | "dev": true,
2208 | "license": "MIT",
2209 | "dependencies": {
2210 | "define-properties": "^1.2.1",
2211 | "get-intrinsic": "^1.2.1",
2212 | "has-symbols": "^1.0.3",
2213 | "reflect.getprototypeof": "^1.0.4",
2214 | "set-function-name": "^2.0.1"
2215 | },
2216 | "engines": {
2217 | "node": ">= 0.4"
2218 | }
2219 | },
2220 | "node_modules/js-tokens": {
2221 | "version": "4.0.0",
2222 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
2223 | "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
2224 | "dev": true,
2225 | "license": "MIT"
2226 | },
2227 | "node_modules/js-yaml": {
2228 | "version": "4.1.0",
2229 | "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
2230 | "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
2231 | "dev": true,
2232 | "license": "MIT",
2233 | "dependencies": {
2234 | "argparse": "^2.0.1"
2235 | },
2236 | "bin": {
2237 | "js-yaml": "bin/js-yaml.js"
2238 | }
2239 | },
2240 | "node_modules/json-buffer": {
2241 | "version": "3.0.1",
2242 | "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz",
2243 | "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==",
2244 | "dev": true,
2245 | "license": "MIT"
2246 | },
2247 | "node_modules/json-parse-better-errors": {
2248 | "version": "1.0.2",
2249 | "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
2250 | "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==",
2251 | "dev": true,
2252 | "license": "MIT"
2253 | },
2254 | "node_modules/json-schema-traverse": {
2255 | "version": "0.4.1",
2256 | "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
2257 | "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
2258 | "dev": true,
2259 | "license": "MIT"
2260 | },
2261 | "node_modules/json-stable-stringify-without-jsonify": {
2262 | "version": "1.0.1",
2263 | "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
2264 | "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==",
2265 | "dev": true,
2266 | "license": "MIT"
2267 | },
2268 | "node_modules/json5": {
2269 | "version": "1.0.2",
2270 | "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz",
2271 | "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==",
2272 | "dev": true,
2273 | "license": "MIT",
2274 | "dependencies": {
2275 | "minimist": "^1.2.0"
2276 | },
2277 | "bin": {
2278 | "json5": "lib/cli.js"
2279 | }
2280 | },
2281 | "node_modules/jsx-ast-utils": {
2282 | "version": "3.3.5",
2283 | "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz",
2284 | "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==",
2285 | "dev": true,
2286 | "license": "MIT",
2287 | "dependencies": {
2288 | "array-includes": "^3.1.6",
2289 | "array.prototype.flat": "^1.3.1",
2290 | "object.assign": "^4.1.4",
2291 | "object.values": "^1.1.6"
2292 | },
2293 | "engines": {
2294 | "node": ">=4.0"
2295 | }
2296 | },
2297 | "node_modules/keyv": {
2298 | "version": "4.5.4",
2299 | "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz",
2300 | "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==",
2301 | "dev": true,
2302 | "license": "MIT",
2303 | "dependencies": {
2304 | "json-buffer": "3.0.1"
2305 | }
2306 | },
2307 | "node_modules/levn": {
2308 | "version": "0.4.1",
2309 | "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
2310 | "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==",
2311 | "dev": true,
2312 | "license": "MIT",
2313 | "dependencies": {
2314 | "prelude-ls": "^1.2.1",
2315 | "type-check": "~0.4.0"
2316 | },
2317 | "engines": {
2318 | "node": ">= 0.8.0"
2319 | }
2320 | },
2321 | "node_modules/load-json-file": {
2322 | "version": "5.3.0",
2323 | "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-5.3.0.tgz",
2324 | "integrity": "sha512-cJGP40Jc/VXUsp8/OrnyKyTZ1y6v/dphm3bioS+RrKXjK2BB6wHUd6JptZEFDGgGahMT+InnZO5i1Ei9mpC8Bw==",
2325 | "dev": true,
2326 | "license": "MIT",
2327 | "dependencies": {
2328 | "graceful-fs": "^4.1.15",
2329 | "parse-json": "^4.0.0",
2330 | "pify": "^4.0.1",
2331 | "strip-bom": "^3.0.0",
2332 | "type-fest": "^0.3.0"
2333 | },
2334 | "engines": {
2335 | "node": ">=6"
2336 | }
2337 | },
2338 | "node_modules/load-json-file/node_modules/type-fest": {
2339 | "version": "0.3.1",
2340 | "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.3.1.tgz",
2341 | "integrity": "sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ==",
2342 | "dev": true,
2343 | "license": "(MIT OR CC0-1.0)",
2344 | "engines": {
2345 | "node": ">=6"
2346 | }
2347 | },
2348 | "node_modules/locate-path": {
2349 | "version": "6.0.0",
2350 | "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
2351 | "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
2352 | "dev": true,
2353 | "license": "MIT",
2354 | "dependencies": {
2355 | "p-locate": "^5.0.0"
2356 | },
2357 | "engines": {
2358 | "node": ">=10"
2359 | },
2360 | "funding": {
2361 | "url": "https://github.com/sponsors/sindresorhus"
2362 | }
2363 | },
2364 | "node_modules/lodash.merge": {
2365 | "version": "4.6.2",
2366 | "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
2367 | "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
2368 | "dev": true,
2369 | "license": "MIT"
2370 | },
2371 | "node_modules/loose-envify": {
2372 | "version": "1.4.0",
2373 | "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
2374 | "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
2375 | "dev": true,
2376 | "license": "MIT",
2377 | "dependencies": {
2378 | "js-tokens": "^3.0.0 || ^4.0.0"
2379 | },
2380 | "bin": {
2381 | "loose-envify": "cli.js"
2382 | }
2383 | },
2384 | "node_modules/minimatch": {
2385 | "version": "3.1.2",
2386 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
2387 | "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
2388 | "dev": true,
2389 | "license": "ISC",
2390 | "dependencies": {
2391 | "brace-expansion": "^1.1.7"
2392 | },
2393 | "engines": {
2394 | "node": "*"
2395 | }
2396 | },
2397 | "node_modules/minimist": {
2398 | "version": "1.2.8",
2399 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
2400 | "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
2401 | "dev": true,
2402 | "license": "MIT",
2403 | "funding": {
2404 | "url": "https://github.com/sponsors/ljharb"
2405 | }
2406 | },
2407 | "node_modules/ms": {
2408 | "version": "2.1.3",
2409 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
2410 | "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
2411 | "dev": true,
2412 | "license": "MIT"
2413 | },
2414 | "node_modules/natural-compare": {
2415 | "version": "1.4.0",
2416 | "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
2417 | "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==",
2418 | "dev": true,
2419 | "license": "MIT"
2420 | },
2421 | "node_modules/object-assign": {
2422 | "version": "4.1.1",
2423 | "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
2424 | "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
2425 | "dev": true,
2426 | "license": "MIT",
2427 | "engines": {
2428 | "node": ">=0.10.0"
2429 | }
2430 | },
2431 | "node_modules/object-inspect": {
2432 | "version": "1.13.2",
2433 | "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz",
2434 | "integrity": "sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==",
2435 | "dev": true,
2436 | "license": "MIT",
2437 | "engines": {
2438 | "node": ">= 0.4"
2439 | },
2440 | "funding": {
2441 | "url": "https://github.com/sponsors/ljharb"
2442 | }
2443 | },
2444 | "node_modules/object-keys": {
2445 | "version": "1.1.1",
2446 | "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
2447 | "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
2448 | "dev": true,
2449 | "license": "MIT",
2450 | "engines": {
2451 | "node": ">= 0.4"
2452 | }
2453 | },
2454 | "node_modules/object.assign": {
2455 | "version": "4.1.5",
2456 | "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz",
2457 | "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==",
2458 | "dev": true,
2459 | "license": "MIT",
2460 | "dependencies": {
2461 | "call-bind": "^1.0.5",
2462 | "define-properties": "^1.2.1",
2463 | "has-symbols": "^1.0.3",
2464 | "object-keys": "^1.1.1"
2465 | },
2466 | "engines": {
2467 | "node": ">= 0.4"
2468 | },
2469 | "funding": {
2470 | "url": "https://github.com/sponsors/ljharb"
2471 | }
2472 | },
2473 | "node_modules/object.entries": {
2474 | "version": "1.1.8",
2475 | "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.8.tgz",
2476 | "integrity": "sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==",
2477 | "dev": true,
2478 | "license": "MIT",
2479 | "dependencies": {
2480 | "call-bind": "^1.0.7",
2481 | "define-properties": "^1.2.1",
2482 | "es-object-atoms": "^1.0.0"
2483 | },
2484 | "engines": {
2485 | "node": ">= 0.4"
2486 | }
2487 | },
2488 | "node_modules/object.fromentries": {
2489 | "version": "2.0.8",
2490 | "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz",
2491 | "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==",
2492 | "dev": true,
2493 | "license": "MIT",
2494 | "dependencies": {
2495 | "call-bind": "^1.0.7",
2496 | "define-properties": "^1.2.1",
2497 | "es-abstract": "^1.23.2",
2498 | "es-object-atoms": "^1.0.0"
2499 | },
2500 | "engines": {
2501 | "node": ">= 0.4"
2502 | },
2503 | "funding": {
2504 | "url": "https://github.com/sponsors/ljharb"
2505 | }
2506 | },
2507 | "node_modules/object.groupby": {
2508 | "version": "1.0.3",
2509 | "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz",
2510 | "integrity": "sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==",
2511 | "dev": true,
2512 | "license": "MIT",
2513 | "dependencies": {
2514 | "call-bind": "^1.0.7",
2515 | "define-properties": "^1.2.1",
2516 | "es-abstract": "^1.23.2"
2517 | },
2518 | "engines": {
2519 | "node": ">= 0.4"
2520 | }
2521 | },
2522 | "node_modules/object.values": {
2523 | "version": "1.2.0",
2524 | "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.0.tgz",
2525 | "integrity": "sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==",
2526 | "dev": true,
2527 | "license": "MIT",
2528 | "dependencies": {
2529 | "call-bind": "^1.0.7",
2530 | "define-properties": "^1.2.1",
2531 | "es-object-atoms": "^1.0.0"
2532 | },
2533 | "engines": {
2534 | "node": ">= 0.4"
2535 | },
2536 | "funding": {
2537 | "url": "https://github.com/sponsors/ljharb"
2538 | }
2539 | },
2540 | "node_modules/once": {
2541 | "version": "1.4.0",
2542 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
2543 | "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
2544 | "dev": true,
2545 | "license": "ISC",
2546 | "dependencies": {
2547 | "wrappy": "1"
2548 | }
2549 | },
2550 | "node_modules/optionator": {
2551 | "version": "0.9.4",
2552 | "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz",
2553 | "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==",
2554 | "dev": true,
2555 | "license": "MIT",
2556 | "dependencies": {
2557 | "deep-is": "^0.1.3",
2558 | "fast-levenshtein": "^2.0.6",
2559 | "levn": "^0.4.1",
2560 | "prelude-ls": "^1.2.1",
2561 | "type-check": "^0.4.0",
2562 | "word-wrap": "^1.2.5"
2563 | },
2564 | "engines": {
2565 | "node": ">= 0.8.0"
2566 | }
2567 | },
2568 | "node_modules/p-limit": {
2569 | "version": "3.1.0",
2570 | "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
2571 | "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
2572 | "dev": true,
2573 | "license": "MIT",
2574 | "dependencies": {
2575 | "yocto-queue": "^0.1.0"
2576 | },
2577 | "engines": {
2578 | "node": ">=10"
2579 | },
2580 | "funding": {
2581 | "url": "https://github.com/sponsors/sindresorhus"
2582 | }
2583 | },
2584 | "node_modules/p-locate": {
2585 | "version": "5.0.0",
2586 | "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
2587 | "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
2588 | "dev": true,
2589 | "license": "MIT",
2590 | "dependencies": {
2591 | "p-limit": "^3.0.2"
2592 | },
2593 | "engines": {
2594 | "node": ">=10"
2595 | },
2596 | "funding": {
2597 | "url": "https://github.com/sponsors/sindresorhus"
2598 | }
2599 | },
2600 | "node_modules/p-try": {
2601 | "version": "2.2.0",
2602 | "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
2603 | "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
2604 | "dev": true,
2605 | "license": "MIT",
2606 | "engines": {
2607 | "node": ">=6"
2608 | }
2609 | },
2610 | "node_modules/parent-module": {
2611 | "version": "1.0.1",
2612 | "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
2613 | "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
2614 | "dev": true,
2615 | "license": "MIT",
2616 | "dependencies": {
2617 | "callsites": "^3.0.0"
2618 | },
2619 | "engines": {
2620 | "node": ">=6"
2621 | }
2622 | },
2623 | "node_modules/parse-json": {
2624 | "version": "4.0.0",
2625 | "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
2626 | "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==",
2627 | "dev": true,
2628 | "license": "MIT",
2629 | "dependencies": {
2630 | "error-ex": "^1.3.1",
2631 | "json-parse-better-errors": "^1.0.1"
2632 | },
2633 | "engines": {
2634 | "node": ">=4"
2635 | }
2636 | },
2637 | "node_modules/path-exists": {
2638 | "version": "4.0.0",
2639 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
2640 | "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
2641 | "dev": true,
2642 | "license": "MIT",
2643 | "engines": {
2644 | "node": ">=8"
2645 | }
2646 | },
2647 | "node_modules/path-is-absolute": {
2648 | "version": "1.0.1",
2649 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
2650 | "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
2651 | "dev": true,
2652 | "license": "MIT",
2653 | "engines": {
2654 | "node": ">=0.10.0"
2655 | }
2656 | },
2657 | "node_modules/path-key": {
2658 | "version": "3.1.1",
2659 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
2660 | "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
2661 | "dev": true,
2662 | "license": "MIT",
2663 | "engines": {
2664 | "node": ">=8"
2665 | }
2666 | },
2667 | "node_modules/path-parse": {
2668 | "version": "1.0.7",
2669 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
2670 | "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
2671 | "dev": true,
2672 | "license": "MIT"
2673 | },
2674 | "node_modules/pify": {
2675 | "version": "4.0.1",
2676 | "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
2677 | "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
2678 | "dev": true,
2679 | "license": "MIT",
2680 | "engines": {
2681 | "node": ">=6"
2682 | }
2683 | },
2684 | "node_modules/pkg-conf": {
2685 | "version": "3.1.0",
2686 | "resolved": "https://registry.npmjs.org/pkg-conf/-/pkg-conf-3.1.0.tgz",
2687 | "integrity": "sha512-m0OTbR/5VPNPqO1ph6Fqbj7Hv6QU7gR/tQW40ZqrL1rjgCU85W6C1bJn0BItuJqnR98PWzw7Z8hHeChD1WrgdQ==",
2688 | "dev": true,
2689 | "license": "MIT",
2690 | "dependencies": {
2691 | "find-up": "^3.0.0",
2692 | "load-json-file": "^5.2.0"
2693 | },
2694 | "engines": {
2695 | "node": ">=6"
2696 | }
2697 | },
2698 | "node_modules/pkg-conf/node_modules/find-up": {
2699 | "version": "3.0.0",
2700 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
2701 | "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
2702 | "dev": true,
2703 | "license": "MIT",
2704 | "dependencies": {
2705 | "locate-path": "^3.0.0"
2706 | },
2707 | "engines": {
2708 | "node": ">=6"
2709 | }
2710 | },
2711 | "node_modules/pkg-conf/node_modules/locate-path": {
2712 | "version": "3.0.0",
2713 | "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
2714 | "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
2715 | "dev": true,
2716 | "license": "MIT",
2717 | "dependencies": {
2718 | "p-locate": "^3.0.0",
2719 | "path-exists": "^3.0.0"
2720 | },
2721 | "engines": {
2722 | "node": ">=6"
2723 | }
2724 | },
2725 | "node_modules/pkg-conf/node_modules/p-limit": {
2726 | "version": "2.3.0",
2727 | "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
2728 | "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
2729 | "dev": true,
2730 | "license": "MIT",
2731 | "dependencies": {
2732 | "p-try": "^2.0.0"
2733 | },
2734 | "engines": {
2735 | "node": ">=6"
2736 | },
2737 | "funding": {
2738 | "url": "https://github.com/sponsors/sindresorhus"
2739 | }
2740 | },
2741 | "node_modules/pkg-conf/node_modules/p-locate": {
2742 | "version": "3.0.0",
2743 | "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
2744 | "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
2745 | "dev": true,
2746 | "license": "MIT",
2747 | "dependencies": {
2748 | "p-limit": "^2.0.0"
2749 | },
2750 | "engines": {
2751 | "node": ">=6"
2752 | }
2753 | },
2754 | "node_modules/pkg-conf/node_modules/path-exists": {
2755 | "version": "3.0.0",
2756 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
2757 | "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==",
2758 | "dev": true,
2759 | "license": "MIT",
2760 | "engines": {
2761 | "node": ">=4"
2762 | }
2763 | },
2764 | "node_modules/possible-typed-array-names": {
2765 | "version": "1.0.0",
2766 | "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz",
2767 | "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==",
2768 | "dev": true,
2769 | "license": "MIT",
2770 | "engines": {
2771 | "node": ">= 0.4"
2772 | }
2773 | },
2774 | "node_modules/prelude-ls": {
2775 | "version": "1.2.1",
2776 | "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
2777 | "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
2778 | "dev": true,
2779 | "license": "MIT",
2780 | "engines": {
2781 | "node": ">= 0.8.0"
2782 | }
2783 | },
2784 | "node_modules/prop-types": {
2785 | "version": "15.8.1",
2786 | "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz",
2787 | "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==",
2788 | "dev": true,
2789 | "license": "MIT",
2790 | "dependencies": {
2791 | "loose-envify": "^1.4.0",
2792 | "object-assign": "^4.1.1",
2793 | "react-is": "^16.13.1"
2794 | }
2795 | },
2796 | "node_modules/punycode": {
2797 | "version": "2.3.1",
2798 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz",
2799 | "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==",
2800 | "dev": true,
2801 | "license": "MIT",
2802 | "engines": {
2803 | "node": ">=6"
2804 | }
2805 | },
2806 | "node_modules/queue-microtask": {
2807 | "version": "1.2.3",
2808 | "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
2809 | "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
2810 | "dev": true,
2811 | "funding": [
2812 | {
2813 | "type": "github",
2814 | "url": "https://github.com/sponsors/feross"
2815 | },
2816 | {
2817 | "type": "patreon",
2818 | "url": "https://www.patreon.com/feross"
2819 | },
2820 | {
2821 | "type": "consulting",
2822 | "url": "https://feross.org/support"
2823 | }
2824 | ],
2825 | "license": "MIT"
2826 | },
2827 | "node_modules/react-is": {
2828 | "version": "16.13.1",
2829 | "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
2830 | "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==",
2831 | "dev": true,
2832 | "license": "MIT"
2833 | },
2834 | "node_modules/reflect.getprototypeof": {
2835 | "version": "1.0.6",
2836 | "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.6.tgz",
2837 | "integrity": "sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==",
2838 | "dev": true,
2839 | "license": "MIT",
2840 | "dependencies": {
2841 | "call-bind": "^1.0.7",
2842 | "define-properties": "^1.2.1",
2843 | "es-abstract": "^1.23.1",
2844 | "es-errors": "^1.3.0",
2845 | "get-intrinsic": "^1.2.4",
2846 | "globalthis": "^1.0.3",
2847 | "which-builtin-type": "^1.1.3"
2848 | },
2849 | "engines": {
2850 | "node": ">= 0.4"
2851 | },
2852 | "funding": {
2853 | "url": "https://github.com/sponsors/ljharb"
2854 | }
2855 | },
2856 | "node_modules/regexp.prototype.flags": {
2857 | "version": "1.5.3",
2858 | "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.3.tgz",
2859 | "integrity": "sha512-vqlC04+RQoFalODCbCumG2xIOvapzVMHwsyIGM/SIE8fRhFFsXeH8/QQ+s0T0kDAhKc4k30s73/0ydkHQz6HlQ==",
2860 | "dev": true,
2861 | "license": "MIT",
2862 | "dependencies": {
2863 | "call-bind": "^1.0.7",
2864 | "define-properties": "^1.2.1",
2865 | "es-errors": "^1.3.0",
2866 | "set-function-name": "^2.0.2"
2867 | },
2868 | "engines": {
2869 | "node": ">= 0.4"
2870 | },
2871 | "funding": {
2872 | "url": "https://github.com/sponsors/ljharb"
2873 | }
2874 | },
2875 | "node_modules/regexpp": {
2876 | "version": "3.2.0",
2877 | "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz",
2878 | "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==",
2879 | "dev": true,
2880 | "license": "MIT",
2881 | "engines": {
2882 | "node": ">=8"
2883 | },
2884 | "funding": {
2885 | "url": "https://github.com/sponsors/mysticatea"
2886 | }
2887 | },
2888 | "node_modules/resolve": {
2889 | "version": "1.22.8",
2890 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz",
2891 | "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==",
2892 | "dev": true,
2893 | "license": "MIT",
2894 | "dependencies": {
2895 | "is-core-module": "^2.13.0",
2896 | "path-parse": "^1.0.7",
2897 | "supports-preserve-symlinks-flag": "^1.0.0"
2898 | },
2899 | "bin": {
2900 | "resolve": "bin/resolve"
2901 | },
2902 | "funding": {
2903 | "url": "https://github.com/sponsors/ljharb"
2904 | }
2905 | },
2906 | "node_modules/resolve-from": {
2907 | "version": "4.0.0",
2908 | "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
2909 | "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
2910 | "dev": true,
2911 | "license": "MIT",
2912 | "engines": {
2913 | "node": ">=4"
2914 | }
2915 | },
2916 | "node_modules/reusify": {
2917 | "version": "1.0.4",
2918 | "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
2919 | "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
2920 | "dev": true,
2921 | "license": "MIT",
2922 | "engines": {
2923 | "iojs": ">=1.0.0",
2924 | "node": ">=0.10.0"
2925 | }
2926 | },
2927 | "node_modules/rimraf": {
2928 | "version": "3.0.2",
2929 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
2930 | "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
2931 | "deprecated": "Rimraf versions prior to v4 are no longer supported",
2932 | "dev": true,
2933 | "license": "ISC",
2934 | "dependencies": {
2935 | "glob": "^7.1.3"
2936 | },
2937 | "bin": {
2938 | "rimraf": "bin.js"
2939 | },
2940 | "funding": {
2941 | "url": "https://github.com/sponsors/isaacs"
2942 | }
2943 | },
2944 | "node_modules/run-parallel": {
2945 | "version": "1.2.0",
2946 | "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
2947 | "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
2948 | "dev": true,
2949 | "funding": [
2950 | {
2951 | "type": "github",
2952 | "url": "https://github.com/sponsors/feross"
2953 | },
2954 | {
2955 | "type": "patreon",
2956 | "url": "https://www.patreon.com/feross"
2957 | },
2958 | {
2959 | "type": "consulting",
2960 | "url": "https://feross.org/support"
2961 | }
2962 | ],
2963 | "license": "MIT",
2964 | "dependencies": {
2965 | "queue-microtask": "^1.2.2"
2966 | }
2967 | },
2968 | "node_modules/safe-array-concat": {
2969 | "version": "1.1.2",
2970 | "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.2.tgz",
2971 | "integrity": "sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==",
2972 | "dev": true,
2973 | "license": "MIT",
2974 | "dependencies": {
2975 | "call-bind": "^1.0.7",
2976 | "get-intrinsic": "^1.2.4",
2977 | "has-symbols": "^1.0.3",
2978 | "isarray": "^2.0.5"
2979 | },
2980 | "engines": {
2981 | "node": ">=0.4"
2982 | },
2983 | "funding": {
2984 | "url": "https://github.com/sponsors/ljharb"
2985 | }
2986 | },
2987 | "node_modules/safe-regex-test": {
2988 | "version": "1.0.3",
2989 | "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz",
2990 | "integrity": "sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==",
2991 | "dev": true,
2992 | "license": "MIT",
2993 | "dependencies": {
2994 | "call-bind": "^1.0.6",
2995 | "es-errors": "^1.3.0",
2996 | "is-regex": "^1.1.4"
2997 | },
2998 | "engines": {
2999 | "node": ">= 0.4"
3000 | },
3001 | "funding": {
3002 | "url": "https://github.com/sponsors/ljharb"
3003 | }
3004 | },
3005 | "node_modules/semver": {
3006 | "version": "6.3.1",
3007 | "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
3008 | "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
3009 | "dev": true,
3010 | "license": "ISC",
3011 | "bin": {
3012 | "semver": "bin/semver.js"
3013 | }
3014 | },
3015 | "node_modules/set-function-length": {
3016 | "version": "1.2.2",
3017 | "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz",
3018 | "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==",
3019 | "dev": true,
3020 | "license": "MIT",
3021 | "dependencies": {
3022 | "define-data-property": "^1.1.4",
3023 | "es-errors": "^1.3.0",
3024 | "function-bind": "^1.1.2",
3025 | "get-intrinsic": "^1.2.4",
3026 | "gopd": "^1.0.1",
3027 | "has-property-descriptors": "^1.0.2"
3028 | },
3029 | "engines": {
3030 | "node": ">= 0.4"
3031 | }
3032 | },
3033 | "node_modules/set-function-name": {
3034 | "version": "2.0.2",
3035 | "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz",
3036 | "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==",
3037 | "dev": true,
3038 | "license": "MIT",
3039 | "dependencies": {
3040 | "define-data-property": "^1.1.4",
3041 | "es-errors": "^1.3.0",
3042 | "functions-have-names": "^1.2.3",
3043 | "has-property-descriptors": "^1.0.2"
3044 | },
3045 | "engines": {
3046 | "node": ">= 0.4"
3047 | }
3048 | },
3049 | "node_modules/shebang-command": {
3050 | "version": "2.0.0",
3051 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
3052 | "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
3053 | "dev": true,
3054 | "license": "MIT",
3055 | "dependencies": {
3056 | "shebang-regex": "^3.0.0"
3057 | },
3058 | "engines": {
3059 | "node": ">=8"
3060 | }
3061 | },
3062 | "node_modules/shebang-regex": {
3063 | "version": "3.0.0",
3064 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
3065 | "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
3066 | "dev": true,
3067 | "license": "MIT",
3068 | "engines": {
3069 | "node": ">=8"
3070 | }
3071 | },
3072 | "node_modules/side-channel": {
3073 | "version": "1.0.6",
3074 | "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz",
3075 | "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==",
3076 | "dev": true,
3077 | "license": "MIT",
3078 | "dependencies": {
3079 | "call-bind": "^1.0.7",
3080 | "es-errors": "^1.3.0",
3081 | "get-intrinsic": "^1.2.4",
3082 | "object-inspect": "^1.13.1"
3083 | },
3084 | "engines": {
3085 | "node": ">= 0.4"
3086 | },
3087 | "funding": {
3088 | "url": "https://github.com/sponsors/ljharb"
3089 | }
3090 | },
3091 | "node_modules/standard": {
3092 | "version": "17.1.2",
3093 | "resolved": "https://registry.npmjs.org/standard/-/standard-17.1.2.tgz",
3094 | "integrity": "sha512-WLm12WoXveKkvnPnPnaFUUHuOB2cUdAsJ4AiGHL2G0UNMrcRAWY2WriQaV8IQ3oRmYr0AWUbLNr94ekYFAHOrA==",
3095 | "dev": true,
3096 | "funding": [
3097 | {
3098 | "type": "github",
3099 | "url": "https://github.com/sponsors/feross"
3100 | },
3101 | {
3102 | "type": "patreon",
3103 | "url": "https://www.patreon.com/feross"
3104 | },
3105 | {
3106 | "type": "consulting",
3107 | "url": "https://feross.org/support"
3108 | }
3109 | ],
3110 | "license": "MIT",
3111 | "dependencies": {
3112 | "eslint": "^8.41.0",
3113 | "eslint-config-standard": "17.1.0",
3114 | "eslint-config-standard-jsx": "^11.0.0",
3115 | "eslint-plugin-import": "^2.27.5",
3116 | "eslint-plugin-n": "^15.7.0",
3117 | "eslint-plugin-promise": "^6.1.1",
3118 | "eslint-plugin-react": "^7.36.1",
3119 | "standard-engine": "^15.1.0",
3120 | "version-guard": "^1.1.1"
3121 | },
3122 | "bin": {
3123 | "standard": "bin/cmd.cjs"
3124 | },
3125 | "engines": {
3126 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
3127 | }
3128 | },
3129 | "node_modules/standard-engine": {
3130 | "version": "15.1.0",
3131 | "resolved": "https://registry.npmjs.org/standard-engine/-/standard-engine-15.1.0.tgz",
3132 | "integrity": "sha512-VHysfoyxFu/ukT+9v49d4BRXIokFRZuH3z1VRxzFArZdjSCFpro6rEIU3ji7e4AoAtuSfKBkiOmsrDqKW5ZSRw==",
3133 | "dev": true,
3134 | "funding": [
3135 | {
3136 | "type": "github",
3137 | "url": "https://github.com/sponsors/feross"
3138 | },
3139 | {
3140 | "type": "patreon",
3141 | "url": "https://www.patreon.com/feross"
3142 | },
3143 | {
3144 | "type": "consulting",
3145 | "url": "https://feross.org/support"
3146 | }
3147 | ],
3148 | "license": "MIT",
3149 | "dependencies": {
3150 | "get-stdin": "^8.0.0",
3151 | "minimist": "^1.2.6",
3152 | "pkg-conf": "^3.1.0",
3153 | "xdg-basedir": "^4.0.0"
3154 | },
3155 | "engines": {
3156 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
3157 | }
3158 | },
3159 | "node_modules/string.prototype.matchall": {
3160 | "version": "4.0.11",
3161 | "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.11.tgz",
3162 | "integrity": "sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==",
3163 | "dev": true,
3164 | "license": "MIT",
3165 | "dependencies": {
3166 | "call-bind": "^1.0.7",
3167 | "define-properties": "^1.2.1",
3168 | "es-abstract": "^1.23.2",
3169 | "es-errors": "^1.3.0",
3170 | "es-object-atoms": "^1.0.0",
3171 | "get-intrinsic": "^1.2.4",
3172 | "gopd": "^1.0.1",
3173 | "has-symbols": "^1.0.3",
3174 | "internal-slot": "^1.0.7",
3175 | "regexp.prototype.flags": "^1.5.2",
3176 | "set-function-name": "^2.0.2",
3177 | "side-channel": "^1.0.6"
3178 | },
3179 | "engines": {
3180 | "node": ">= 0.4"
3181 | },
3182 | "funding": {
3183 | "url": "https://github.com/sponsors/ljharb"
3184 | }
3185 | },
3186 | "node_modules/string.prototype.repeat": {
3187 | "version": "1.0.0",
3188 | "resolved": "https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz",
3189 | "integrity": "sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==",
3190 | "dev": true,
3191 | "license": "MIT",
3192 | "dependencies": {
3193 | "define-properties": "^1.1.3",
3194 | "es-abstract": "^1.17.5"
3195 | }
3196 | },
3197 | "node_modules/string.prototype.trim": {
3198 | "version": "1.2.9",
3199 | "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz",
3200 | "integrity": "sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==",
3201 | "dev": true,
3202 | "license": "MIT",
3203 | "dependencies": {
3204 | "call-bind": "^1.0.7",
3205 | "define-properties": "^1.2.1",
3206 | "es-abstract": "^1.23.0",
3207 | "es-object-atoms": "^1.0.0"
3208 | },
3209 | "engines": {
3210 | "node": ">= 0.4"
3211 | },
3212 | "funding": {
3213 | "url": "https://github.com/sponsors/ljharb"
3214 | }
3215 | },
3216 | "node_modules/string.prototype.trimend": {
3217 | "version": "1.0.8",
3218 | "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz",
3219 | "integrity": "sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==",
3220 | "dev": true,
3221 | "license": "MIT",
3222 | "dependencies": {
3223 | "call-bind": "^1.0.7",
3224 | "define-properties": "^1.2.1",
3225 | "es-object-atoms": "^1.0.0"
3226 | },
3227 | "funding": {
3228 | "url": "https://github.com/sponsors/ljharb"
3229 | }
3230 | },
3231 | "node_modules/string.prototype.trimstart": {
3232 | "version": "1.0.8",
3233 | "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz",
3234 | "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==",
3235 | "dev": true,
3236 | "license": "MIT",
3237 | "dependencies": {
3238 | "call-bind": "^1.0.7",
3239 | "define-properties": "^1.2.1",
3240 | "es-object-atoms": "^1.0.0"
3241 | },
3242 | "engines": {
3243 | "node": ">= 0.4"
3244 | },
3245 | "funding": {
3246 | "url": "https://github.com/sponsors/ljharb"
3247 | }
3248 | },
3249 | "node_modules/strip-ansi": {
3250 | "version": "6.0.1",
3251 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
3252 | "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
3253 | "dev": true,
3254 | "license": "MIT",
3255 | "dependencies": {
3256 | "ansi-regex": "^5.0.1"
3257 | },
3258 | "engines": {
3259 | "node": ">=8"
3260 | }
3261 | },
3262 | "node_modules/strip-bom": {
3263 | "version": "3.0.0",
3264 | "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
3265 | "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==",
3266 | "dev": true,
3267 | "license": "MIT",
3268 | "engines": {
3269 | "node": ">=4"
3270 | }
3271 | },
3272 | "node_modules/strip-json-comments": {
3273 | "version": "3.1.1",
3274 | "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
3275 | "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
3276 | "dev": true,
3277 | "license": "MIT",
3278 | "engines": {
3279 | "node": ">=8"
3280 | },
3281 | "funding": {
3282 | "url": "https://github.com/sponsors/sindresorhus"
3283 | }
3284 | },
3285 | "node_modules/supports-color": {
3286 | "version": "7.2.0",
3287 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
3288 | "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
3289 | "dev": true,
3290 | "license": "MIT",
3291 | "dependencies": {
3292 | "has-flag": "^4.0.0"
3293 | },
3294 | "engines": {
3295 | "node": ">=8"
3296 | }
3297 | },
3298 | "node_modules/supports-preserve-symlinks-flag": {
3299 | "version": "1.0.0",
3300 | "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
3301 | "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
3302 | "dev": true,
3303 | "license": "MIT",
3304 | "engines": {
3305 | "node": ">= 0.4"
3306 | },
3307 | "funding": {
3308 | "url": "https://github.com/sponsors/ljharb"
3309 | }
3310 | },
3311 | "node_modules/text-table": {
3312 | "version": "0.2.0",
3313 | "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
3314 | "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==",
3315 | "dev": true,
3316 | "license": "MIT"
3317 | },
3318 | "node_modules/tsconfig-paths": {
3319 | "version": "3.15.0",
3320 | "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz",
3321 | "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==",
3322 | "dev": true,
3323 | "license": "MIT",
3324 | "dependencies": {
3325 | "@types/json5": "^0.0.29",
3326 | "json5": "^1.0.2",
3327 | "minimist": "^1.2.6",
3328 | "strip-bom": "^3.0.0"
3329 | }
3330 | },
3331 | "node_modules/type-check": {
3332 | "version": "0.4.0",
3333 | "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
3334 | "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
3335 | "dev": true,
3336 | "license": "MIT",
3337 | "dependencies": {
3338 | "prelude-ls": "^1.2.1"
3339 | },
3340 | "engines": {
3341 | "node": ">= 0.8.0"
3342 | }
3343 | },
3344 | "node_modules/type-fest": {
3345 | "version": "0.20.2",
3346 | "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
3347 | "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
3348 | "dev": true,
3349 | "license": "(MIT OR CC0-1.0)",
3350 | "engines": {
3351 | "node": ">=10"
3352 | },
3353 | "funding": {
3354 | "url": "https://github.com/sponsors/sindresorhus"
3355 | }
3356 | },
3357 | "node_modules/typed-array-buffer": {
3358 | "version": "1.0.2",
3359 | "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz",
3360 | "integrity": "sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==",
3361 | "dev": true,
3362 | "license": "MIT",
3363 | "dependencies": {
3364 | "call-bind": "^1.0.7",
3365 | "es-errors": "^1.3.0",
3366 | "is-typed-array": "^1.1.13"
3367 | },
3368 | "engines": {
3369 | "node": ">= 0.4"
3370 | }
3371 | },
3372 | "node_modules/typed-array-byte-length": {
3373 | "version": "1.0.1",
3374 | "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz",
3375 | "integrity": "sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==",
3376 | "dev": true,
3377 | "license": "MIT",
3378 | "dependencies": {
3379 | "call-bind": "^1.0.7",
3380 | "for-each": "^0.3.3",
3381 | "gopd": "^1.0.1",
3382 | "has-proto": "^1.0.3",
3383 | "is-typed-array": "^1.1.13"
3384 | },
3385 | "engines": {
3386 | "node": ">= 0.4"
3387 | },
3388 | "funding": {
3389 | "url": "https://github.com/sponsors/ljharb"
3390 | }
3391 | },
3392 | "node_modules/typed-array-byte-offset": {
3393 | "version": "1.0.2",
3394 | "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz",
3395 | "integrity": "sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==",
3396 | "dev": true,
3397 | "license": "MIT",
3398 | "dependencies": {
3399 | "available-typed-arrays": "^1.0.7",
3400 | "call-bind": "^1.0.7",
3401 | "for-each": "^0.3.3",
3402 | "gopd": "^1.0.1",
3403 | "has-proto": "^1.0.3",
3404 | "is-typed-array": "^1.1.13"
3405 | },
3406 | "engines": {
3407 | "node": ">= 0.4"
3408 | },
3409 | "funding": {
3410 | "url": "https://github.com/sponsors/ljharb"
3411 | }
3412 | },
3413 | "node_modules/typed-array-length": {
3414 | "version": "1.0.6",
3415 | "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.6.tgz",
3416 | "integrity": "sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==",
3417 | "dev": true,
3418 | "license": "MIT",
3419 | "dependencies": {
3420 | "call-bind": "^1.0.7",
3421 | "for-each": "^0.3.3",
3422 | "gopd": "^1.0.1",
3423 | "has-proto": "^1.0.3",
3424 | "is-typed-array": "^1.1.13",
3425 | "possible-typed-array-names": "^1.0.0"
3426 | },
3427 | "engines": {
3428 | "node": ">= 0.4"
3429 | },
3430 | "funding": {
3431 | "url": "https://github.com/sponsors/ljharb"
3432 | }
3433 | },
3434 | "node_modules/unbox-primitive": {
3435 | "version": "1.0.2",
3436 | "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz",
3437 | "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==",
3438 | "dev": true,
3439 | "license": "MIT",
3440 | "dependencies": {
3441 | "call-bind": "^1.0.2",
3442 | "has-bigints": "^1.0.2",
3443 | "has-symbols": "^1.0.3",
3444 | "which-boxed-primitive": "^1.0.2"
3445 | },
3446 | "funding": {
3447 | "url": "https://github.com/sponsors/ljharb"
3448 | }
3449 | },
3450 | "node_modules/uri-js": {
3451 | "version": "4.4.1",
3452 | "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
3453 | "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
3454 | "dev": true,
3455 | "license": "BSD-2-Clause",
3456 | "dependencies": {
3457 | "punycode": "^2.1.0"
3458 | }
3459 | },
3460 | "node_modules/version-guard": {
3461 | "version": "1.1.3",
3462 | "resolved": "https://registry.npmjs.org/version-guard/-/version-guard-1.1.3.tgz",
3463 | "integrity": "sha512-JwPr6erhX53EWH/HCSzfy1tTFrtPXUe927wdM1jqBBeYp1OM+qPHjWbsvv6pIBduqdgxxS+ScfG7S28pzyr2DQ==",
3464 | "dev": true,
3465 | "license": "0BSD",
3466 | "engines": {
3467 | "node": ">=0.10.48"
3468 | }
3469 | },
3470 | "node_modules/which": {
3471 | "version": "2.0.2",
3472 | "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
3473 | "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
3474 | "dev": true,
3475 | "license": "ISC",
3476 | "dependencies": {
3477 | "isexe": "^2.0.0"
3478 | },
3479 | "bin": {
3480 | "node-which": "bin/node-which"
3481 | },
3482 | "engines": {
3483 | "node": ">= 8"
3484 | }
3485 | },
3486 | "node_modules/which-boxed-primitive": {
3487 | "version": "1.0.2",
3488 | "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz",
3489 | "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==",
3490 | "dev": true,
3491 | "license": "MIT",
3492 | "dependencies": {
3493 | "is-bigint": "^1.0.1",
3494 | "is-boolean-object": "^1.1.0",
3495 | "is-number-object": "^1.0.4",
3496 | "is-string": "^1.0.5",
3497 | "is-symbol": "^1.0.3"
3498 | },
3499 | "funding": {
3500 | "url": "https://github.com/sponsors/ljharb"
3501 | }
3502 | },
3503 | "node_modules/which-builtin-type": {
3504 | "version": "1.1.4",
3505 | "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.4.tgz",
3506 | "integrity": "sha512-bppkmBSsHFmIMSl8BO9TbsyzsvGjVoppt8xUiGzwiu/bhDCGxnpOKCxgqj6GuyHE0mINMDecBFPlOm2hzY084w==",
3507 | "dev": true,
3508 | "license": "MIT",
3509 | "dependencies": {
3510 | "function.prototype.name": "^1.1.6",
3511 | "has-tostringtag": "^1.0.2",
3512 | "is-async-function": "^2.0.0",
3513 | "is-date-object": "^1.0.5",
3514 | "is-finalizationregistry": "^1.0.2",
3515 | "is-generator-function": "^1.0.10",
3516 | "is-regex": "^1.1.4",
3517 | "is-weakref": "^1.0.2",
3518 | "isarray": "^2.0.5",
3519 | "which-boxed-primitive": "^1.0.2",
3520 | "which-collection": "^1.0.2",
3521 | "which-typed-array": "^1.1.15"
3522 | },
3523 | "engines": {
3524 | "node": ">= 0.4"
3525 | },
3526 | "funding": {
3527 | "url": "https://github.com/sponsors/ljharb"
3528 | }
3529 | },
3530 | "node_modules/which-collection": {
3531 | "version": "1.0.2",
3532 | "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz",
3533 | "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==",
3534 | "dev": true,
3535 | "license": "MIT",
3536 | "dependencies": {
3537 | "is-map": "^2.0.3",
3538 | "is-set": "^2.0.3",
3539 | "is-weakmap": "^2.0.2",
3540 | "is-weakset": "^2.0.3"
3541 | },
3542 | "engines": {
3543 | "node": ">= 0.4"
3544 | },
3545 | "funding": {
3546 | "url": "https://github.com/sponsors/ljharb"
3547 | }
3548 | },
3549 | "node_modules/which-typed-array": {
3550 | "version": "1.1.15",
3551 | "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz",
3552 | "integrity": "sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==",
3553 | "dev": true,
3554 | "license": "MIT",
3555 | "dependencies": {
3556 | "available-typed-arrays": "^1.0.7",
3557 | "call-bind": "^1.0.7",
3558 | "for-each": "^0.3.3",
3559 | "gopd": "^1.0.1",
3560 | "has-tostringtag": "^1.0.2"
3561 | },
3562 | "engines": {
3563 | "node": ">= 0.4"
3564 | },
3565 | "funding": {
3566 | "url": "https://github.com/sponsors/ljharb"
3567 | }
3568 | },
3569 | "node_modules/word-wrap": {
3570 | "version": "1.2.5",
3571 | "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz",
3572 | "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==",
3573 | "dev": true,
3574 | "license": "MIT",
3575 | "engines": {
3576 | "node": ">=0.10.0"
3577 | }
3578 | },
3579 | "node_modules/wrappy": {
3580 | "version": "1.0.2",
3581 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
3582 | "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
3583 | "dev": true,
3584 | "license": "ISC"
3585 | },
3586 | "node_modules/xdg-basedir": {
3587 | "version": "4.0.0",
3588 | "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz",
3589 | "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==",
3590 | "dev": true,
3591 | "license": "MIT",
3592 | "engines": {
3593 | "node": ">=8"
3594 | }
3595 | },
3596 | "node_modules/yocto-queue": {
3597 | "version": "0.1.0",
3598 | "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
3599 | "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
3600 | "dev": true,
3601 | "license": "MIT",
3602 | "engines": {
3603 | "node": ">=10"
3604 | },
3605 | "funding": {
3606 | "url": "https://github.com/sponsors/sindresorhus"
3607 | }
3608 | }
3609 | }
3610 | }
3611 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "ultra-popup-blocker",
3 | "version": "1.0.0",
4 | "description": "Configurable popup blocker that blocks all popup windows by default.",
5 | "main": "ultra-popup-blocker.user.js",
6 | "scripts": {
7 | "test": "npx standard"
8 | },
9 | "repository": {
10 | "type": "git",
11 | "url": "git+https://github.com/Eskander/ultra-popup-blocker.git"
12 | },
13 | "author": "Eskander",
14 | "license": "MIT",
15 | "bugs": {
16 | "url": "https://github.com/Eskander/ultra-popup-blocker/issues"
17 | },
18 | "homepage": "https://eskander.tn/ultra-popup-blocker/",
19 | "devDependencies": {
20 | "standard": "^17.1.2"
21 | },
22 | "standard": {
23 | "env": [
24 | "greasemonkey"
25 | ]
26 | }
27 | }
--------------------------------------------------------------------------------
/src/ultra-popup-blocker.user.js:
--------------------------------------------------------------------------------
1 | // ==UserScript==
2 | // @name Ultra Popup Blocker
3 | // @description Configurable popup blocker that blocks all popup windows by default.
4 | // @namespace eskander.github.io
5 | // @author Eskander
6 | // @version 4.1
7 | // @include *
8 | // @license MIT
9 | // @homepage https://github.com/Eskander/ultra-popup-blocker
10 | // @supportURL https://github.com/Eskander/ultra-popup-blocker/issues/new
11 | // @compatible firefox Tampermonkey / Violentmonkey
12 | // @compatible chrome Tampermonkey / Violentmonkey
13 | // @grant GM.getValue
14 | // @grant GM.setValue
15 | // @grant GM.deleteValue
16 | // @grant GM.listValues
17 | // @grant GM.registerMenuCommand
18 | // ==/UserScript==
19 |
20 | /* Constants and Globals */
21 | const CONSTANTS = {
22 | TIMEOUT_SECONDS: 15,
23 | TRUNCATE_LENGTH: 50,
24 | MODAL_WIDTH: '400px'
25 | }
26 |
27 | const STYLES = {
28 | modal: `
29 | position: fixed !important;
30 | top: 50% !important;
31 | left: 50% !important;
32 | transform: translate(-50%, -50%) !important;
33 | background-color: #ffffff !important;
34 | color: #000000 !important;
35 | width: ${CONSTANTS.MODAL_WIDTH} !important;
36 | border: 1px solid #000000 !important;
37 | z-index: 2147483647 !important;
38 | box-shadow: 0 2px 10px rgba(0,0,0,0.5) !important;
39 | margin: 0 !important;
40 | padding: 0 !important;
41 | font-family: Arial !important;
42 | font-size: 14px !important;
43 | line-height: 1.5 !important;
44 | box-sizing: border-box !important;
45 | `,
46 | modalHeader: `
47 | background-color: #000000 !important;
48 | padding: 30px 40px !important;
49 | color: #ffffff !important;
50 | text-align: center !important;
51 | margin: 0 !important;
52 | font-size: inherit !important;
53 | line-height: inherit !important;
54 | `,
55 | modalFooter: `
56 | background-color: #000000 !important;
57 | padding: 5px 40px !important;
58 | color: #ffffff !important;
59 | text-align: center !important;
60 | margin: 0 !important;
61 | `,
62 | button: `
63 | margin-right: 20px !important;
64 | padding: 5px !important;
65 | cursor: pointer !important;
66 | font-family: inherit !important;
67 | font-size: inherit !important;
68 | line-height: inherit !important;
69 | border: 1px solid #000000 !important;
70 | background: #ffffff !important;
71 | color: #000000 !important;
72 | border-radius: 3px !important;
73 | `,
74 | notificationBar: `
75 | position: fixed !important;
76 | bottom: 0 !important;
77 | left: 0 !important;
78 | z-index: 2147483646 !important;
79 | width: 100% !important;
80 | padding: 5px !important;
81 | font-family: Arial !important;
82 | font-size: 14px !important;
83 | line-height: 1.5 !important;
84 | background-color: #000000 !important;
85 | color: #ffffff !important;
86 | display: none !important;
87 | margin: 0 !important;
88 | box-sizing: border-box !important;
89 | `,
90 | listItem: `
91 | padding: 12px 8px 12px 40px !important;
92 | font-size: 18px !important;
93 | background-color: #ffffff !important;
94 | color: #000000 !important;
95 | border-bottom: 1px solid #000000 !important;
96 | position: relative !important;
97 | transition: 0.2s !important;
98 | margin: 0 !important;
99 | `,
100 | removeButton: `
101 | cursor: pointer !important;
102 | position: absolute !important;
103 | right: 0 !important;
104 | top: 0 !important;
105 | padding: 12px 16px !important;
106 | background: transparent !important;
107 | border: none !important;
108 | color: #000000 !important;
109 | `
110 | }
111 |
112 | // Reference to page's window through GreaseMonkey
113 | const global = unsafeWindow
114 | global.upbCounter = 0
115 |
116 | // Store reference to original window.open
117 | const realWindowOpen = global.open
118 |
119 | // Fake window object to prevent JS errors
120 | const FakeWindow = {
121 | blur: () => false,
122 | focus: () => false
123 | }
124 |
125 | /* Domain Management */
126 | class DomainManager {
127 | static async getCurrentTopDomain () {
128 | const [domainName, topLevelDomain] = document.location.hostname.split('.').slice(-2)
129 | return `${domainName}.${topLevelDomain}`
130 | }
131 |
132 | static async isCurrentDomainTrusted () {
133 | const domain = await this.getCurrentTopDomain()
134 | return await GM.getValue(domain)
135 | }
136 |
137 | static async addTrustedDomain (domain) {
138 | await GM.setValue(domain, true)
139 | }
140 |
141 | static async removeTrustedDomain (domain) {
142 | await GM.deleteValue(domain)
143 | }
144 |
145 | static async getTrustedDomains () {
146 | return await GM.listValues()
147 | }
148 | }
149 |
150 | /* UI Components */
151 | class UIComponents {
152 | static createButton (text, id, clickHandler, color) {
153 | const button = document.createElement('button')
154 | button.id = `upb-${id}`
155 | button.innerHTML = text
156 | button.style.cssText = `${STYLES.button} color: ${color} !important;`
157 | button.addEventListener('click', clickHandler)
158 | return button
159 | }
160 |
161 | static createNotificationBar () {
162 | const bar = document.createElement('div')
163 | bar.id = 'upb-notification-bar'
164 | bar.style.cssText = STYLES.notificationBar
165 | return bar
166 | }
167 |
168 | static createModalElement () {
169 | const modal = document.createElement('div')
170 | modal.id = 'upb-trusted-domains-modal'
171 | modal.style.cssText = STYLES.modal
172 | return modal
173 | }
174 |
175 | static updateDenyButtonText (button, timeLeft) {
176 | if (button) {
177 | button.innerHTML = `🔴 Deny (${timeLeft})`
178 | }
179 | }
180 | }
181 |
182 | /* Notification Bar */
183 | class NotificationBar {
184 | constructor () {
185 | // Don't create the element in constructor
186 | this.element = null
187 | this.timeLeft = CONSTANTS.TIMEOUT_SECONDS
188 | this.denyTimeoutId = null
189 | this.denyButton = null
190 | }
191 |
192 | createElement () {
193 | if (!this.element) {
194 | this.element = UIComponents.createNotificationBar()
195 | document.body.appendChild(this.element)
196 | }
197 | return this.element
198 | }
199 |
200 | show (url) {
201 | if (!this.element) {
202 | this.createElement()
203 | }
204 | this.element.style.display = 'block'
205 | this.setMessage(url)
206 | this.addButtons(url)
207 | this.startDenyTimeout()
208 | }
209 |
210 | hide () {
211 | if (this.element) {
212 | this.element.style.display = 'none'
213 | if (this.element.parentNode) {
214 | this.element.parentNode.removeChild(this.element)
215 | }
216 | this.element = null
217 | }
218 | global.upbCounter = 0
219 | this.clearDenyTimeout()
220 | }
221 |
222 | clearDenyTimeout () {
223 | if (this.denyTimeoutId) {
224 | clearInterval(this.denyTimeoutId)
225 | this.denyTimeoutId = null
226 | }
227 | }
228 |
229 | setMessage (url) {
230 | const truncatedUrl = url.length > CONSTANTS.TRUNCATE_LENGTH
231 | ? `${url.substring(0, CONSTANTS.TRUNCATE_LENGTH)}..`
232 | : url
233 |
234 | this.element.innerHTML = `
235 | Ultra Popup Blocker: This site is attempting to open ${global.upbCounter} popup(s).
236 | ${truncatedUrl}
237 | `
238 | }
239 |
240 | async addButtons (url) {
241 | const currentDomain = await DomainManager.getCurrentTopDomain()
242 |
243 | // Allow Once
244 | this.element.appendChild(
245 | UIComponents.createButton('🟢 Allow Once', 'allow', () => {
246 | realWindowOpen(url)
247 | this.hide()
248 | }, 'green')
249 | )
250 |
251 | // Always Allow
252 | this.element.appendChild(
253 | UIComponents.createButton('🔵 Always Allow', 'trust', async () => {
254 | await DomainManager.addTrustedDomain(currentDomain)
255 | realWindowOpen(url)
256 | this.hide()
257 | global.open = realWindowOpen
258 | }, 'blue')
259 | )
260 |
261 | // Deny
262 | this.denyButton = UIComponents.createButton('🔴 Deny (15)', 'deny', () => {
263 | this.hide()
264 | PopupBlocker.initialize()
265 | }, 'red')
266 | this.element.appendChild(this.denyButton)
267 |
268 | // Config
269 | const configButton = UIComponents.createButton('🟠 Config', 'config', () => {
270 | new TrustedDomainsModal().show()
271 | }, 'orange')
272 | configButton.style.float = 'right'
273 | this.element.appendChild(configButton)
274 | }
275 |
276 | startDenyTimeout () {
277 | this.timeLeft = CONSTANTS.TIMEOUT_SECONDS
278 | this.clearDenyTimeout()
279 |
280 | // Initial update
281 | UIComponents.updateDenyButtonText(this.denyButton, this.timeLeft)
282 |
283 | this.denyTimeoutId = setInterval(() => {
284 | this.timeLeft--
285 | UIComponents.updateDenyButtonText(this.denyButton, this.timeLeft)
286 |
287 | if (this.timeLeft <= 0) {
288 | this.clearDenyTimeout()
289 | this.hide()
290 | PopupBlocker.initialize()
291 | }
292 | }, 1000)
293 | }
294 |
295 | resetTimeout () {
296 | if (this.element && this.element.style.display === 'block') {
297 | this.startDenyTimeout()
298 | }
299 | }
300 | }
301 |
302 | /* Trusted Domains Modal */
303 | class TrustedDomainsModal {
304 | constructor () {
305 | this.element = document.getElementById('upb-trusted-domains-modal') || this.createElement()
306 | }
307 |
308 | createElement () {
309 | const modal = UIComponents.createModalElement()
310 |
311 | const header = document.createElement('div')
312 | header.style.cssText = STYLES.modalHeader
313 | header.innerHTML = `
314 | Ultra Popup Blocker
315 | Trusted websites:
316 | `
317 | modal.appendChild(header)
318 |
319 | const footer = document.createElement('div')
320 | footer.style.cssText = STYLES.modalFooter
321 |
322 | const closeButton = document.createElement('button')
323 | closeButton.innerText = 'Close'
324 | closeButton.style.cssText = `
325 | background-color: #000000;
326 | color: #ffffff;
327 | border: none;
328 | padding: 10px;
329 | cursor: pointer;
330 | `
331 | closeButton.onclick = () => this.hide()
332 |
333 | footer.appendChild(closeButton)
334 | modal.appendChild(footer)
335 |
336 | document.body.appendChild(modal)
337 | return modal
338 | }
339 |
340 | show () {
341 | this.refreshDomainsList()
342 | this.element.style.display = 'block'
343 | }
344 |
345 | hide () {
346 | this.element.style.display = 'none'
347 | }
348 |
349 | async refreshDomainsList () {
350 | const existingList = document.getElementById('upb-domains-list')
351 | if (existingList) existingList.remove()
352 |
353 | const list = document.createElement('ul')
354 | list.id = 'upb-domains-list'
355 | list.style.cssText = 'margin:0;padding:0;list-style-type:none;'
356 |
357 | const trustedDomains = await DomainManager.getTrustedDomains()
358 |
359 | if (trustedDomains.length === 0) {
360 | const message = document.createElement('p')
361 | message.style.padding = '20px'
362 | message.innerText = 'No allowed websites'
363 | list.appendChild(message)
364 | } else {
365 | for (const domain of trustedDomains) {
366 | await this.addDomainListItem(list, domain)
367 | }
368 | }
369 |
370 | this.element.insertBefore(list, this.element.querySelector('div:last-child'))
371 | }
372 |
373 | async addDomainListItem (list, domain) {
374 | const item = document.createElement('li')
375 | item.style.cssText = STYLES.listItem
376 | item.innerText = domain
377 |
378 | item.addEventListener('mouseover', () => {
379 | item.style.backgroundColor = '#ddd'
380 | })
381 | item.addEventListener('mouseout', () => {
382 | item.style.backgroundColor = 'white'
383 | })
384 |
385 | const removeButton = document.createElement('span')
386 | removeButton.style.cssText = STYLES.removeButton
387 | removeButton.innerText = '×'
388 |
389 | removeButton.addEventListener('mouseover', () => {
390 | removeButton.style.backgroundColor = '#f44336'
391 | removeButton.style.color = 'white'
392 | })
393 | removeButton.addEventListener('mouseout', () => {
394 | removeButton.style.backgroundColor = 'transparent'
395 | removeButton.style.color = 'black'
396 | })
397 | removeButton.addEventListener('click', async () => {
398 | await DomainManager.removeTrustedDomain(domain)
399 | item.remove()
400 | PopupBlocker.initialize()
401 | })
402 |
403 | item.appendChild(removeButton)
404 | list.appendChild(item)
405 | }
406 | }
407 |
408 | /* Popup Blocker */
409 | class PopupBlocker {
410 | static async initialize () {
411 | if (global.open !== realWindowOpen) return
412 |
413 | if (await DomainManager.isCurrentDomainTrusted()) {
414 | const domain = await DomainManager.getCurrentTopDomain()
415 | console.log(`[UPB] Trusted domain: ${domain}`)
416 | global.open = realWindowOpen
417 | return
418 | }
419 |
420 | const notificationBar = new NotificationBar()
421 |
422 | global.open = (url, target, features) => {
423 | global.upbCounter++
424 | console.log(`[UPB] Popup blocked: ${url}`)
425 | notificationBar.show(url)
426 | return FakeWindow
427 | }
428 | }
429 | }
430 |
431 | /* Initialize */
432 | window.addEventListener('load', () => PopupBlocker.initialize())
433 | GM.registerMenuCommand('Ultra Popup Blocker: Trusted domains', () => new TrustedDomainsModal().show())
434 |
--------------------------------------------------------------------------------