├── .DS_Store ├── .eslintrc.json ├── .gitignore ├── .vscode ├── extensions.json ├── launch.json ├── settings.json └── tasks.json ├── .vscodeignore ├── CHANGELOG.md ├── CONTRIBUTING.md ├── LICENSE.md ├── README.md ├── assets ├── .DS_Store ├── logo.png └── preview.gif ├── package-lock.json ├── package.json ├── src ├── extension.ts ├── fonts.ts ├── template.ts └── test │ ├── runTest.ts │ └── suite │ ├── extension.test.ts │ └── index.ts └── tsconfig.json /.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khattakdev/capture/0e54a8d6271fe9e54d01a3a780399253ef534618/.DS_Store -------------------------------------------------------------------------------- /.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "root": true, 3 | "parser": "@typescript-eslint/parser", 4 | "parserOptions": { 5 | "ecmaVersion": 6, 6 | "sourceType": "module" 7 | }, 8 | "plugins": [ 9 | "@typescript-eslint" 10 | ], 11 | "rules": { 12 | "@typescript-eslint/naming-convention": "warn", 13 | "@typescript-eslint/semi": "warn", 14 | "curly": "warn", 15 | "eqeqeq": "warn", 16 | "no-throw-literal": "warn", 17 | "semi": "off" 18 | }, 19 | "ignorePatterns": [ 20 | "out", 21 | "dist", 22 | "**/*.d.ts" 23 | ] 24 | } 25 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | out 2 | dist 3 | node_modules 4 | .vscode-test/ 5 | *.vsix 6 | -------------------------------------------------------------------------------- /.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | // See http://go.microsoft.com/fwlink/?LinkId=827846 3 | // for the documentation about the extensions.json format 4 | "recommendations": [ 5 | "dbaeumer.vscode-eslint" 6 | ] 7 | } 8 | -------------------------------------------------------------------------------- /.vscode/launch.json: -------------------------------------------------------------------------------- 1 | // A launch configuration that compiles the extension and then opens it inside a new window 2 | // Use IntelliSense to learn about possible attributes. 3 | // Hover to view descriptions of existing attributes. 4 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 5 | { 6 | "version": "0.2.0", 7 | "configurations": [ 8 | { 9 | "name": "Run Extension", 10 | "type": "extensionHost", 11 | "request": "launch", 12 | "args": [ 13 | "--extensionDevelopmentPath=${workspaceFolder}" 14 | ], 15 | "outFiles": [ 16 | "${workspaceFolder}/out/**/*.js" 17 | ], 18 | "preLaunchTask": "${defaultBuildTask}" 19 | }, 20 | { 21 | "name": "Extension Tests", 22 | "type": "extensionHost", 23 | "request": "launch", 24 | "args": [ 25 | "--extensionDevelopmentPath=${workspaceFolder}", 26 | "--extensionTestsPath=${workspaceFolder}/out/test/suite/index" 27 | ], 28 | "outFiles": [ 29 | "${workspaceFolder}/out/test/**/*.js" 30 | ], 31 | "preLaunchTask": "${defaultBuildTask}" 32 | } 33 | ] 34 | } 35 | -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | // Place your settings in this file to overwrite default and user settings. 2 | { 3 | "files.exclude": { 4 | "out": false // set this to true to hide the "out" folder with the compiled JS files 5 | }, 6 | "search.exclude": { 7 | "out": true // set this to false to include "out" folder in search results 8 | }, 9 | // Turn off tsc task auto detection since we have the necessary tasks as npm scripts 10 | "typescript.tsc.autoDetect": "off" 11 | } -------------------------------------------------------------------------------- /.vscode/tasks.json: -------------------------------------------------------------------------------- 1 | // See https://go.microsoft.com/fwlink/?LinkId=733558 2 | // for the documentation about the tasks.json format 3 | { 4 | "version": "2.0.0", 5 | "tasks": [ 6 | { 7 | "type": "npm", 8 | "script": "watch", 9 | "problemMatcher": "$tsc-watch", 10 | "isBackground": true, 11 | "presentation": { 12 | "reveal": "never" 13 | }, 14 | "group": { 15 | "kind": "build", 16 | "isDefault": true 17 | } 18 | } 19 | ] 20 | } 21 | -------------------------------------------------------------------------------- /.vscodeignore: -------------------------------------------------------------------------------- 1 | .vscode/** 2 | .vscode-test/** 3 | src/** 4 | .gitignore 5 | .yarnrc 6 | vsc-extension-quickstart.md 7 | **/tsconfig.json 8 | **/.eslintrc.json 9 | **/*.map 10 | **/*.ts 11 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Change Log 2 | 3 | All notable changes to the "capture" extension will be documented in this file. 4 | 5 | Check [Keep a Changelog](http://keepachangelog.com/) for recommendations on how to structure this file. 6 | 7 | ## [Unreleased] 8 | 9 | - Initial release -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Welcome to Capture contributing guide 2 | 3 | Thank you for investing your time in contributing to our project! Any contribution you make will be reflected on [Capture](https://github.com/khattakdev/capture) :sparkles: . 4 | 5 | In this guide you will get an overview of the contribution workflow from opening an issue, creating a PR, reviewing, and merging the PR. 6 | 7 | ## New contributor guide 8 | 9 | To get an overview of the project, read the [README](README.md). Here are some resources to help you get started with open source contributions: 10 | 11 | - [Finding ways to contribute to open source on GitHub](https://docs.github.com/en/get-started/exploring-projects-on-github/finding-ways-to-contribute-to-open-source-on-github) 12 | - [Set up Git](https://docs.github.com/en/get-started/quickstart/set-up-git) 13 | - [GitHub flow](https://docs.github.com/en/get-started/quickstart/github-flow) 14 | - [Collaborating with pull requests](https://docs.github.com/en/github/collaborating-with-pull-requests) 15 | 16 | 17 | ## Getting started 18 | 19 | Before making code contributions, make sure to set up your development environment. Please follow the project's documentation for specific instructions. 20 | 21 | 22 | ### Issues 23 | 24 | #### Create a new issue 25 | 26 | If you spot a problem with the Capture, search if an issue already exists. If a related issue doesn't exist, you can open a new issue using a relevant issue form. 27 | 28 | #### Solve an issue 29 | 30 | Scan through our [existing issues](https://github.com/khattakdev/capture/issues) to find one that interests you. You can narrow down the search using `labels` as filters. If you find an issue to work on, you are welcome to open a PR with a fix. 31 | 32 | ### Make Changes 33 | 34 | #### Make changes in a codespace 35 | 36 | To access GitHub Codespaces for the repository, follow these steps: 37 | 38 | 1. Navigate to your repository on GitHub. 39 | 40 | 2. Click on the "Code" button located at the top right of the repository page. 41 | 42 | 3. Select "Open with Codespaces" from the dropdown menu. 43 | 44 | 4. If you're using Codespaces for the first time, you might need to set up your Codespaces environment. Follow the on-screen instructions to configure your environment. 45 | 46 | Once you have configured your environment, you can start making changes to your GitHub repository using Codespaces. Here's what you can do: 47 | 48 | 1. Edit Files: Open and edit files in the web-based Codespaces environment. You can use a built-in code editor (VS Code) or other tools. 49 | 50 | 2. Run Commands: Execute commands in the integrated terminal to build, test, or run your project. 51 | 52 | 3. Version Control: Use Git commands to manage your changes. You can commit, create branches, and push your commits directly to your GitHub repository. Codespaces also integrates with GitHub Pull Requests, allowing you to create and review pull requests from within the environment. 53 | 54 | 4. Real-Time Collaboration: If you're working on a collaborative project, multiple users can access and work on the same Codespaces environment simultaneously, making real-time collaboration easy. 55 | 56 | #### Make changes locally 57 | 58 | Fork the repository. 59 | - **Using GitHub Desktop**: 60 | - [Getting started with GitHub Desktop](https://docs.github.com/en/desktop/installing-and-configuring-github-desktop/getting-started-with-github-desktop) will guide you through setting up Desktop. 61 | - Once Desktop is set up, you can use it to [fork the repo](https://docs.github.com/en/desktop/contributing-and-collaborating-using-github-desktop/cloning-and-forking-repositories-from-github-desktop)! 62 | 63 | - **Using the command line**: 64 | - To set up a working development environment, just fork the project git repository. 65 | - Open your terminal and navigate to the directory where you want to store the project. Then, run the following command to clone the repository: git clone https://github.com/yourusername/capture.git 66 | - Navigate into the project directory: `cd capture` 67 | - Use npm to install the project's dependencies: `npm install` 68 | 69 | ### Commit your update 70 | 71 | Commit the changes once you are happy with them. Don't forget to self-review to speed up the review process:zap:. 72 | 73 | ### Pull Request 74 | 75 | When you're finished with the changes, create a pull request, also known as a PR. 76 | - Fill the "Ready for review" template so that we can review your PR. This template helps reviewers understand your changes as well as the purpose of your pull request. 77 | - Don't forget to link PR to issue if you are solving one. 78 | - Enable the checkbox to allow maintainer edits so the branch can be updated for a merge. 79 | Once you submit your PR, a Capture team member will review your proposal. We may ask questions or request additional information. 80 | - We may ask for changes to be made before a PR can be merged, either using suggested changes or pull request comments. You can apply suggested changes directly through the UI. You can make any other changes in your fork, then commit them to your branch. 81 | - As you update your PR and apply changes, mark each conversation as resolved. 82 | 83 | ### Your PR is merged! 84 | 85 | Congratulations :tada::tada: The Capture team thanks you :sparkles:. 86 | 87 | Once your PR is merged, your contributions will be publicly visible on the Capture. 88 | 89 | Now that you are part of the Capture community, see how else you can contribute to the docs. 90 | 91 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | Copyright <2023> 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 4 | 5 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 6 | 7 | THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 8 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Capture 2 | 3 | A VS Code plugin that generates a screenshot of the highlighted content. 4 | ![demo - how to capture](/assets/preview.gif) 5 | 6 | # Getting Started 7 | 8 | You can take the code snapshot in two steps: 9 | 10 | - Highlight the code 11 | - Run the command `Capture: Take a snapshot` 12 | 13 | ## Features 14 | 15 | - [x] Generate code snippets 16 | - [x] Syntax highlighting 17 | - [x] Adjustable image dimensions 18 | - [ ] Customizable theme 19 | - [ ] Customizable fonts 20 | 21 | ## Contributing 22 | 23 | See [the contributing guide](CONTRIBUTING.md) for detailed instructions on how to get started with our project. 24 | We accept different types of contributions, including some that don't require you to write a single line of code. 25 | If you're looking for a way to contribute, you can scan through our [existing issues](https://github.com/khattakdev/capture/issues) for something to work on. When ready, check out [Getting Started with Contributing](CONTRIBUTING.md) for detailed instructions. 26 | 27 | ### Layout 28 | 29 | - `.vscode`: 30 | 31 | - This directory contains configuration files for VS Code specific to your project. 32 | - For example, it might include a launch.json file for debugging configurations. 33 | 34 | - `src`: 35 | 36 | - This directory contains the source files for your extension. 37 | - Typically, this includes a extension.ts file, which is the main entry point for your extension. 38 | 39 | - `src/test`: 40 | - This directory contains any tests for your extension. 41 | - It usually includes a suite folder with extension test files. 42 | 43 | ### Discord 44 | Join our community on [Discord](http://discord.devsdope.com/) 45 | 46 | ### Show your support 47 | Give a ⭐️ if this project helped you! 48 | 49 | ### License 50 | This project is [MIT](https://github.com/khattakdev/capture/blob/main/LICENSE.md) licensed. -------------------------------------------------------------------------------- /assets/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khattakdev/capture/0e54a8d6271fe9e54d01a3a780399253ef534618/assets/.DS_Store -------------------------------------------------------------------------------- /assets/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khattakdev/capture/0e54a8d6271fe9e54d01a3a780399253ef534618/assets/logo.png -------------------------------------------------------------------------------- /assets/preview.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khattakdev/capture/0e54a8d6271fe9e54d01a3a780399253ef534618/assets/preview.gif -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "capture", 3 | "version": "0.0.1", 4 | "lockfileVersion": 3, 5 | "requires": true, 6 | "packages": { 7 | "": { 8 | "name": "capture", 9 | "version": "0.0.1", 10 | "dependencies": { 11 | "img-clipboard": "^1.1.0", 12 | "puppeteer": "^21.3.8", 13 | "shiki": "^0.14.5" 14 | }, 15 | "devDependencies": { 16 | "@types/mocha": "^10.0.2", 17 | "@types/node": "^18.18.4", 18 | "@types/puppeteer": "^7.0.4", 19 | "@types/vscode": "^1.83.0", 20 | "@typescript-eslint/eslint-plugin": "^6.7.3", 21 | "@typescript-eslint/parser": "^6.7.3", 22 | "@vscode/test-electron": "^2.3.4", 23 | "esbuild": "^0.19.4", 24 | "eslint": "^8.50.0", 25 | "glob": "^10.3.3", 26 | "mocha": "^10.2.0", 27 | "ts-loader": "^9.5.0", 28 | "typescript": "^5.2.2" 29 | }, 30 | "engines": { 31 | "vscode": "^1.83.0" 32 | } 33 | }, 34 | "node_modules/@aashutoshrathi/word-wrap": { 35 | "version": "1.2.6", 36 | "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", 37 | "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", 38 | "dev": true, 39 | "engines": { 40 | "node": ">=0.10.0" 41 | } 42 | }, 43 | "node_modules/@babel/code-frame": { 44 | "version": "7.22.13", 45 | "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", 46 | "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", 47 | "dependencies": { 48 | "@babel/highlight": "^7.22.13", 49 | "chalk": "^2.4.2" 50 | }, 51 | "engines": { 52 | "node": ">=6.9.0" 53 | } 54 | }, 55 | "node_modules/@babel/code-frame/node_modules/ansi-styles": { 56 | "version": "3.2.1", 57 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", 58 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", 59 | "dependencies": { 60 | "color-convert": "^1.9.0" 61 | }, 62 | "engines": { 63 | "node": ">=4" 64 | } 65 | }, 66 | "node_modules/@babel/code-frame/node_modules/chalk": { 67 | "version": "2.4.2", 68 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", 69 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", 70 | "dependencies": { 71 | "ansi-styles": "^3.2.1", 72 | "escape-string-regexp": "^1.0.5", 73 | "supports-color": "^5.3.0" 74 | }, 75 | "engines": { 76 | "node": ">=4" 77 | } 78 | }, 79 | "node_modules/@babel/code-frame/node_modules/color-convert": { 80 | "version": "1.9.3", 81 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", 82 | "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", 83 | "dependencies": { 84 | "color-name": "1.1.3" 85 | } 86 | }, 87 | "node_modules/@babel/code-frame/node_modules/color-name": { 88 | "version": "1.1.3", 89 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", 90 | "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" 91 | }, 92 | "node_modules/@babel/code-frame/node_modules/escape-string-regexp": { 93 | "version": "1.0.5", 94 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", 95 | "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", 96 | "engines": { 97 | "node": ">=0.8.0" 98 | } 99 | }, 100 | "node_modules/@babel/code-frame/node_modules/has-flag": { 101 | "version": "3.0.0", 102 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", 103 | "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", 104 | "engines": { 105 | "node": ">=4" 106 | } 107 | }, 108 | "node_modules/@babel/code-frame/node_modules/supports-color": { 109 | "version": "5.5.0", 110 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", 111 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", 112 | "dependencies": { 113 | "has-flag": "^3.0.0" 114 | }, 115 | "engines": { 116 | "node": ">=4" 117 | } 118 | }, 119 | "node_modules/@babel/helper-validator-identifier": { 120 | "version": "7.22.20", 121 | "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", 122 | "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", 123 | "engines": { 124 | "node": ">=6.9.0" 125 | } 126 | }, 127 | "node_modules/@babel/highlight": { 128 | "version": "7.22.20", 129 | "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", 130 | "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", 131 | "dependencies": { 132 | "@babel/helper-validator-identifier": "^7.22.20", 133 | "chalk": "^2.4.2", 134 | "js-tokens": "^4.0.0" 135 | }, 136 | "engines": { 137 | "node": ">=6.9.0" 138 | } 139 | }, 140 | "node_modules/@babel/highlight/node_modules/ansi-styles": { 141 | "version": "3.2.1", 142 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", 143 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", 144 | "dependencies": { 145 | "color-convert": "^1.9.0" 146 | }, 147 | "engines": { 148 | "node": ">=4" 149 | } 150 | }, 151 | "node_modules/@babel/highlight/node_modules/chalk": { 152 | "version": "2.4.2", 153 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", 154 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", 155 | "dependencies": { 156 | "ansi-styles": "^3.2.1", 157 | "escape-string-regexp": "^1.0.5", 158 | "supports-color": "^5.3.0" 159 | }, 160 | "engines": { 161 | "node": ">=4" 162 | } 163 | }, 164 | "node_modules/@babel/highlight/node_modules/color-convert": { 165 | "version": "1.9.3", 166 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", 167 | "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", 168 | "dependencies": { 169 | "color-name": "1.1.3" 170 | } 171 | }, 172 | "node_modules/@babel/highlight/node_modules/color-name": { 173 | "version": "1.1.3", 174 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", 175 | "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" 176 | }, 177 | "node_modules/@babel/highlight/node_modules/escape-string-regexp": { 178 | "version": "1.0.5", 179 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", 180 | "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", 181 | "engines": { 182 | "node": ">=0.8.0" 183 | } 184 | }, 185 | "node_modules/@babel/highlight/node_modules/has-flag": { 186 | "version": "3.0.0", 187 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", 188 | "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", 189 | "engines": { 190 | "node": ">=4" 191 | } 192 | }, 193 | "node_modules/@babel/highlight/node_modules/supports-color": { 194 | "version": "5.5.0", 195 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", 196 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", 197 | "dependencies": { 198 | "has-flag": "^3.0.0" 199 | }, 200 | "engines": { 201 | "node": ">=4" 202 | } 203 | }, 204 | "node_modules/@esbuild/android-arm": { 205 | "version": "0.19.4", 206 | "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.4.tgz", 207 | "integrity": "sha512-uBIbiYMeSsy2U0XQoOGVVcpIktjLMEKa7ryz2RLr7L/vTnANNEsPVAh4xOv7ondGz6ac1zVb0F8Jx20rQikffQ==", 208 | "cpu": [ 209 | "arm" 210 | ], 211 | "dev": true, 212 | "optional": true, 213 | "os": [ 214 | "android" 215 | ], 216 | "engines": { 217 | "node": ">=12" 218 | } 219 | }, 220 | "node_modules/@esbuild/android-arm64": { 221 | "version": "0.19.4", 222 | "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.19.4.tgz", 223 | "integrity": "sha512-mRsi2vJsk4Bx/AFsNBqOH2fqedxn5L/moT58xgg51DjX1la64Z3Npicut2VbhvDFO26qjWtPMsVxCd80YTFVeg==", 224 | "cpu": [ 225 | "arm64" 226 | ], 227 | "dev": true, 228 | "optional": true, 229 | "os": [ 230 | "android" 231 | ], 232 | "engines": { 233 | "node": ">=12" 234 | } 235 | }, 236 | "node_modules/@esbuild/android-x64": { 237 | "version": "0.19.4", 238 | "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.19.4.tgz", 239 | "integrity": "sha512-4iPufZ1TMOD3oBlGFqHXBpa3KFT46aLl6Vy7gwed0ZSYgHaZ/mihbYb4t7Z9etjkC9Al3ZYIoOaHrU60gcMy7g==", 240 | "cpu": [ 241 | "x64" 242 | ], 243 | "dev": true, 244 | "optional": true, 245 | "os": [ 246 | "android" 247 | ], 248 | "engines": { 249 | "node": ">=12" 250 | } 251 | }, 252 | "node_modules/@esbuild/darwin-arm64": { 253 | "version": "0.19.4", 254 | "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.4.tgz", 255 | "integrity": "sha512-Lviw8EzxsVQKpbS+rSt6/6zjn9ashUZ7Tbuvc2YENgRl0yZTktGlachZ9KMJUsVjZEGFVu336kl5lBgDN6PmpA==", 256 | "cpu": [ 257 | "arm64" 258 | ], 259 | "dev": true, 260 | "optional": true, 261 | "os": [ 262 | "darwin" 263 | ], 264 | "engines": { 265 | "node": ">=12" 266 | } 267 | }, 268 | "node_modules/@esbuild/darwin-x64": { 269 | "version": "0.19.4", 270 | "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.19.4.tgz", 271 | "integrity": "sha512-YHbSFlLgDwglFn0lAO3Zsdrife9jcQXQhgRp77YiTDja23FrC2uwnhXMNkAucthsf+Psr7sTwYEryxz6FPAVqw==", 272 | "cpu": [ 273 | "x64" 274 | ], 275 | "dev": true, 276 | "optional": true, 277 | "os": [ 278 | "darwin" 279 | ], 280 | "engines": { 281 | "node": ">=12" 282 | } 283 | }, 284 | "node_modules/@esbuild/freebsd-arm64": { 285 | "version": "0.19.4", 286 | "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.4.tgz", 287 | "integrity": "sha512-vz59ijyrTG22Hshaj620e5yhs2dU1WJy723ofc+KUgxVCM6zxQESmWdMuVmUzxtGqtj5heHyB44PjV/HKsEmuQ==", 288 | "cpu": [ 289 | "arm64" 290 | ], 291 | "dev": true, 292 | "optional": true, 293 | "os": [ 294 | "freebsd" 295 | ], 296 | "engines": { 297 | "node": ">=12" 298 | } 299 | }, 300 | "node_modules/@esbuild/freebsd-x64": { 301 | "version": "0.19.4", 302 | "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.19.4.tgz", 303 | "integrity": "sha512-3sRbQ6W5kAiVQRBWREGJNd1YE7OgzS0AmOGjDmX/qZZecq8NFlQsQH0IfXjjmD0XtUYqr64e0EKNFjMUlPL3Cw==", 304 | "cpu": [ 305 | "x64" 306 | ], 307 | "dev": true, 308 | "optional": true, 309 | "os": [ 310 | "freebsd" 311 | ], 312 | "engines": { 313 | "node": ">=12" 314 | } 315 | }, 316 | "node_modules/@esbuild/linux-arm": { 317 | "version": "0.19.4", 318 | "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.19.4.tgz", 319 | "integrity": "sha512-z/4ArqOo9EImzTi4b6Vq+pthLnepFzJ92BnofU1jgNlcVb+UqynVFdoXMCFreTK7FdhqAzH0vmdwW5373Hm9pg==", 320 | "cpu": [ 321 | "arm" 322 | ], 323 | "dev": true, 324 | "optional": true, 325 | "os": [ 326 | "linux" 327 | ], 328 | "engines": { 329 | "node": ">=12" 330 | } 331 | }, 332 | "node_modules/@esbuild/linux-arm64": { 333 | "version": "0.19.4", 334 | "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.4.tgz", 335 | "integrity": "sha512-ZWmWORaPbsPwmyu7eIEATFlaqm0QGt+joRE9sKcnVUG3oBbr/KYdNE2TnkzdQwX6EDRdg/x8Q4EZQTXoClUqqA==", 336 | "cpu": [ 337 | "arm64" 338 | ], 339 | "dev": true, 340 | "optional": true, 341 | "os": [ 342 | "linux" 343 | ], 344 | "engines": { 345 | "node": ">=12" 346 | } 347 | }, 348 | "node_modules/@esbuild/linux-ia32": { 349 | "version": "0.19.4", 350 | "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.19.4.tgz", 351 | "integrity": "sha512-EGc4vYM7i1GRUIMqRZNCTzJh25MHePYsnQfKDexD8uPTCm9mK56NIL04LUfX2aaJ+C9vyEp2fJ7jbqFEYgO9lQ==", 352 | "cpu": [ 353 | "ia32" 354 | ], 355 | "dev": true, 356 | "optional": true, 357 | "os": [ 358 | "linux" 359 | ], 360 | "engines": { 361 | "node": ">=12" 362 | } 363 | }, 364 | "node_modules/@esbuild/linux-loong64": { 365 | "version": "0.19.4", 366 | "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.19.4.tgz", 367 | "integrity": "sha512-WVhIKO26kmm8lPmNrUikxSpXcgd6HDog0cx12BUfA2PkmURHSgx9G6vA19lrlQOMw+UjMZ+l3PpbtzffCxFDRg==", 368 | "cpu": [ 369 | "loong64" 370 | ], 371 | "dev": true, 372 | "optional": true, 373 | "os": [ 374 | "linux" 375 | ], 376 | "engines": { 377 | "node": ">=12" 378 | } 379 | }, 380 | "node_modules/@esbuild/linux-mips64el": { 381 | "version": "0.19.4", 382 | "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.19.4.tgz", 383 | "integrity": "sha512-keYY+Hlj5w86hNp5JJPuZNbvW4jql7c1eXdBUHIJGTeN/+0QFutU3GrS+c27L+NTmzi73yhtojHk+lr2+502Mw==", 384 | "cpu": [ 385 | "mips64el" 386 | ], 387 | "dev": true, 388 | "optional": true, 389 | "os": [ 390 | "linux" 391 | ], 392 | "engines": { 393 | "node": ">=12" 394 | } 395 | }, 396 | "node_modules/@esbuild/linux-ppc64": { 397 | "version": "0.19.4", 398 | "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.19.4.tgz", 399 | "integrity": "sha512-tQ92n0WMXyEsCH4m32S21fND8VxNiVazUbU4IUGVXQpWiaAxOBvtOtbEt3cXIV3GEBydYsY8pyeRMJx9kn3rvw==", 400 | "cpu": [ 401 | "ppc64" 402 | ], 403 | "dev": true, 404 | "optional": true, 405 | "os": [ 406 | "linux" 407 | ], 408 | "engines": { 409 | "node": ">=12" 410 | } 411 | }, 412 | "node_modules/@esbuild/linux-riscv64": { 413 | "version": "0.19.4", 414 | "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.19.4.tgz", 415 | "integrity": "sha512-tRRBey6fG9tqGH6V75xH3lFPpj9E8BH+N+zjSUCnFOX93kEzqS0WdyJHkta/mmJHn7MBaa++9P4ARiU4ykjhig==", 416 | "cpu": [ 417 | "riscv64" 418 | ], 419 | "dev": true, 420 | "optional": true, 421 | "os": [ 422 | "linux" 423 | ], 424 | "engines": { 425 | "node": ">=12" 426 | } 427 | }, 428 | "node_modules/@esbuild/linux-s390x": { 429 | "version": "0.19.4", 430 | "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.19.4.tgz", 431 | "integrity": "sha512-152aLpQqKZYhThiJ+uAM4PcuLCAOxDsCekIbnGzPKVBRUDlgaaAfaUl5NYkB1hgY6WN4sPkejxKlANgVcGl9Qg==", 432 | "cpu": [ 433 | "s390x" 434 | ], 435 | "dev": true, 436 | "optional": true, 437 | "os": [ 438 | "linux" 439 | ], 440 | "engines": { 441 | "node": ">=12" 442 | } 443 | }, 444 | "node_modules/@esbuild/linux-x64": { 445 | "version": "0.19.4", 446 | "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.4.tgz", 447 | "integrity": "sha512-Mi4aNA3rz1BNFtB7aGadMD0MavmzuuXNTaYL6/uiYIs08U7YMPETpgNn5oue3ICr+inKwItOwSsJDYkrE9ekVg==", 448 | "cpu": [ 449 | "x64" 450 | ], 451 | "dev": true, 452 | "optional": true, 453 | "os": [ 454 | "linux" 455 | ], 456 | "engines": { 457 | "node": ">=12" 458 | } 459 | }, 460 | "node_modules/@esbuild/netbsd-x64": { 461 | "version": "0.19.4", 462 | "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.4.tgz", 463 | "integrity": "sha512-9+Wxx1i5N/CYo505CTT7T+ix4lVzEdz0uCoYGxM5JDVlP2YdDC1Bdz+Khv6IbqmisT0Si928eAxbmGkcbiuM/A==", 464 | "cpu": [ 465 | "x64" 466 | ], 467 | "dev": true, 468 | "optional": true, 469 | "os": [ 470 | "netbsd" 471 | ], 472 | "engines": { 473 | "node": ">=12" 474 | } 475 | }, 476 | "node_modules/@esbuild/openbsd-x64": { 477 | "version": "0.19.4", 478 | "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.4.tgz", 479 | "integrity": "sha512-MFsHleM5/rWRW9EivFssop+OulYVUoVcqkyOkjiynKBCGBj9Lihl7kh9IzrreDyXa4sNkquei5/DTP4uCk25xw==", 480 | "cpu": [ 481 | "x64" 482 | ], 483 | "dev": true, 484 | "optional": true, 485 | "os": [ 486 | "openbsd" 487 | ], 488 | "engines": { 489 | "node": ">=12" 490 | } 491 | }, 492 | "node_modules/@esbuild/sunos-x64": { 493 | "version": "0.19.4", 494 | "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.19.4.tgz", 495 | "integrity": "sha512-6Xq8SpK46yLvrGxjp6HftkDwPP49puU4OF0hEL4dTxqCbfx09LyrbUj/D7tmIRMj5D5FCUPksBbxyQhp8tmHzw==", 496 | "cpu": [ 497 | "x64" 498 | ], 499 | "dev": true, 500 | "optional": true, 501 | "os": [ 502 | "sunos" 503 | ], 504 | "engines": { 505 | "node": ">=12" 506 | } 507 | }, 508 | "node_modules/@esbuild/win32-arm64": { 509 | "version": "0.19.4", 510 | "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.19.4.tgz", 511 | "integrity": "sha512-PkIl7Jq4mP6ke7QKwyg4fD4Xvn8PXisagV/+HntWoDEdmerB2LTukRZg728Yd1Fj+LuEX75t/hKXE2Ppk8Hh1w==", 512 | "cpu": [ 513 | "arm64" 514 | ], 515 | "dev": true, 516 | "optional": true, 517 | "os": [ 518 | "win32" 519 | ], 520 | "engines": { 521 | "node": ">=12" 522 | } 523 | }, 524 | "node_modules/@esbuild/win32-ia32": { 525 | "version": "0.19.4", 526 | "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.19.4.tgz", 527 | "integrity": "sha512-ga676Hnvw7/ycdKB53qPusvsKdwrWzEyJ+AtItHGoARszIqvjffTwaaW3b2L6l90i7MO9i+dlAW415INuRhSGg==", 528 | "cpu": [ 529 | "ia32" 530 | ], 531 | "dev": true, 532 | "optional": true, 533 | "os": [ 534 | "win32" 535 | ], 536 | "engines": { 537 | "node": ">=12" 538 | } 539 | }, 540 | "node_modules/@esbuild/win32-x64": { 541 | "version": "0.19.4", 542 | "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.4.tgz", 543 | "integrity": "sha512-HP0GDNla1T3ZL8Ko/SHAS2GgtjOg+VmWnnYLhuTksr++EnduYB0f3Y2LzHsUwb2iQ13JGoY6G3R8h6Du/WG6uA==", 544 | "cpu": [ 545 | "x64" 546 | ], 547 | "dev": true, 548 | "optional": true, 549 | "os": [ 550 | "win32" 551 | ], 552 | "engines": { 553 | "node": ">=12" 554 | } 555 | }, 556 | "node_modules/@eslint-community/eslint-utils": { 557 | "version": "4.4.0", 558 | "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", 559 | "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", 560 | "dev": true, 561 | "dependencies": { 562 | "eslint-visitor-keys": "^3.3.0" 563 | }, 564 | "engines": { 565 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 566 | }, 567 | "peerDependencies": { 568 | "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" 569 | } 570 | }, 571 | "node_modules/@eslint-community/regexpp": { 572 | "version": "4.9.1", 573 | "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.9.1.tgz", 574 | "integrity": "sha512-Y27x+MBLjXa+0JWDhykM3+JE+il3kHKAEqabfEWq3SDhZjLYb6/BHL/JKFnH3fe207JaXkyDo685Oc2Glt6ifA==", 575 | "dev": true, 576 | "engines": { 577 | "node": "^12.0.0 || ^14.0.0 || >=16.0.0" 578 | } 579 | }, 580 | "node_modules/@eslint/eslintrc": { 581 | "version": "2.1.2", 582 | "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz", 583 | "integrity": "sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==", 584 | "dev": true, 585 | "dependencies": { 586 | "ajv": "^6.12.4", 587 | "debug": "^4.3.2", 588 | "espree": "^9.6.0", 589 | "globals": "^13.19.0", 590 | "ignore": "^5.2.0", 591 | "import-fresh": "^3.2.1", 592 | "js-yaml": "^4.1.0", 593 | "minimatch": "^3.1.2", 594 | "strip-json-comments": "^3.1.1" 595 | }, 596 | "engines": { 597 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 598 | }, 599 | "funding": { 600 | "url": "https://opencollective.com/eslint" 601 | } 602 | }, 603 | "node_modules/@eslint/js": { 604 | "version": "8.51.0", 605 | "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.51.0.tgz", 606 | "integrity": "sha512-HxjQ8Qn+4SI3/AFv6sOrDB+g6PpUTDwSJiQqOrnneEk8L71161srI9gjzzZvYVbzHiVg/BvcH95+cK/zfIt4pg==", 607 | "dev": true, 608 | "engines": { 609 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 610 | } 611 | }, 612 | "node_modules/@humanwhocodes/config-array": { 613 | "version": "0.11.11", 614 | "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.11.tgz", 615 | "integrity": "sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA==", 616 | "dev": true, 617 | "dependencies": { 618 | "@humanwhocodes/object-schema": "^1.2.1", 619 | "debug": "^4.1.1", 620 | "minimatch": "^3.0.5" 621 | }, 622 | "engines": { 623 | "node": ">=10.10.0" 624 | } 625 | }, 626 | "node_modules/@humanwhocodes/module-importer": { 627 | "version": "1.0.1", 628 | "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", 629 | "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", 630 | "dev": true, 631 | "engines": { 632 | "node": ">=12.22" 633 | }, 634 | "funding": { 635 | "type": "github", 636 | "url": "https://github.com/sponsors/nzakas" 637 | } 638 | }, 639 | "node_modules/@humanwhocodes/object-schema": { 640 | "version": "1.2.1", 641 | "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", 642 | "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", 643 | "dev": true 644 | }, 645 | "node_modules/@isaacs/cliui": { 646 | "version": "8.0.2", 647 | "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", 648 | "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", 649 | "dev": true, 650 | "dependencies": { 651 | "string-width": "^5.1.2", 652 | "string-width-cjs": "npm:string-width@^4.2.0", 653 | "strip-ansi": "^7.0.1", 654 | "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", 655 | "wrap-ansi": "^8.1.0", 656 | "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" 657 | }, 658 | "engines": { 659 | "node": ">=12" 660 | } 661 | }, 662 | "node_modules/@isaacs/cliui/node_modules/ansi-regex": { 663 | "version": "6.0.1", 664 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", 665 | "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", 666 | "dev": true, 667 | "engines": { 668 | "node": ">=12" 669 | }, 670 | "funding": { 671 | "url": "https://github.com/chalk/ansi-regex?sponsor=1" 672 | } 673 | }, 674 | "node_modules/@isaacs/cliui/node_modules/strip-ansi": { 675 | "version": "7.1.0", 676 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", 677 | "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", 678 | "dev": true, 679 | "dependencies": { 680 | "ansi-regex": "^6.0.1" 681 | }, 682 | "engines": { 683 | "node": ">=12" 684 | }, 685 | "funding": { 686 | "url": "https://github.com/chalk/strip-ansi?sponsor=1" 687 | } 688 | }, 689 | "node_modules/@jridgewell/gen-mapping": { 690 | "version": "0.3.3", 691 | "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", 692 | "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", 693 | "dev": true, 694 | "peer": true, 695 | "dependencies": { 696 | "@jridgewell/set-array": "^1.0.1", 697 | "@jridgewell/sourcemap-codec": "^1.4.10", 698 | "@jridgewell/trace-mapping": "^0.3.9" 699 | }, 700 | "engines": { 701 | "node": ">=6.0.0" 702 | } 703 | }, 704 | "node_modules/@jridgewell/resolve-uri": { 705 | "version": "3.1.1", 706 | "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", 707 | "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", 708 | "dev": true, 709 | "peer": true, 710 | "engines": { 711 | "node": ">=6.0.0" 712 | } 713 | }, 714 | "node_modules/@jridgewell/set-array": { 715 | "version": "1.1.2", 716 | "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", 717 | "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", 718 | "dev": true, 719 | "peer": true, 720 | "engines": { 721 | "node": ">=6.0.0" 722 | } 723 | }, 724 | "node_modules/@jridgewell/source-map": { 725 | "version": "0.3.5", 726 | "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", 727 | "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", 728 | "dev": true, 729 | "peer": true, 730 | "dependencies": { 731 | "@jridgewell/gen-mapping": "^0.3.0", 732 | "@jridgewell/trace-mapping": "^0.3.9" 733 | } 734 | }, 735 | "node_modules/@jridgewell/sourcemap-codec": { 736 | "version": "1.4.15", 737 | "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", 738 | "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", 739 | "dev": true, 740 | "peer": true 741 | }, 742 | "node_modules/@jridgewell/trace-mapping": { 743 | "version": "0.3.19", 744 | "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz", 745 | "integrity": "sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==", 746 | "dev": true, 747 | "peer": true, 748 | "dependencies": { 749 | "@jridgewell/resolve-uri": "^3.1.0", 750 | "@jridgewell/sourcemap-codec": "^1.4.14" 751 | } 752 | }, 753 | "node_modules/@nodelib/fs.scandir": { 754 | "version": "2.1.5", 755 | "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", 756 | "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", 757 | "dev": true, 758 | "dependencies": { 759 | "@nodelib/fs.stat": "2.0.5", 760 | "run-parallel": "^1.1.9" 761 | }, 762 | "engines": { 763 | "node": ">= 8" 764 | } 765 | }, 766 | "node_modules/@nodelib/fs.stat": { 767 | "version": "2.0.5", 768 | "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", 769 | "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", 770 | "dev": true, 771 | "engines": { 772 | "node": ">= 8" 773 | } 774 | }, 775 | "node_modules/@nodelib/fs.walk": { 776 | "version": "1.2.8", 777 | "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", 778 | "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", 779 | "dev": true, 780 | "dependencies": { 781 | "@nodelib/fs.scandir": "2.1.5", 782 | "fastq": "^1.6.0" 783 | }, 784 | "engines": { 785 | "node": ">= 8" 786 | } 787 | }, 788 | "node_modules/@pkgjs/parseargs": { 789 | "version": "0.11.0", 790 | "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", 791 | "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", 792 | "dev": true, 793 | "optional": true, 794 | "engines": { 795 | "node": ">=14" 796 | } 797 | }, 798 | "node_modules/@puppeteer/browsers": { 799 | "version": "1.7.1", 800 | "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-1.7.1.tgz", 801 | "integrity": "sha512-nIb8SOBgDEMFY2iS2MdnUZOg2ikcYchRrBoF+wtdjieRFKR2uGRipHY/oFLo+2N6anDualyClPzGywTHRGrLfw==", 802 | "dependencies": { 803 | "debug": "4.3.4", 804 | "extract-zip": "2.0.1", 805 | "progress": "2.0.3", 806 | "proxy-agent": "6.3.1", 807 | "tar-fs": "3.0.4", 808 | "unbzip2-stream": "1.4.3", 809 | "yargs": "17.7.1" 810 | }, 811 | "bin": { 812 | "browsers": "lib/cjs/main-cli.js" 813 | }, 814 | "engines": { 815 | "node": ">=16.3.0" 816 | } 817 | }, 818 | "node_modules/@puppeteer/browsers/node_modules/cliui": { 819 | "version": "8.0.1", 820 | "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", 821 | "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", 822 | "dependencies": { 823 | "string-width": "^4.2.0", 824 | "strip-ansi": "^6.0.1", 825 | "wrap-ansi": "^7.0.0" 826 | }, 827 | "engines": { 828 | "node": ">=12" 829 | } 830 | }, 831 | "node_modules/@puppeteer/browsers/node_modules/emoji-regex": { 832 | "version": "8.0.0", 833 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", 834 | "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" 835 | }, 836 | "node_modules/@puppeteer/browsers/node_modules/string-width": { 837 | "version": "4.2.3", 838 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", 839 | "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", 840 | "dependencies": { 841 | "emoji-regex": "^8.0.0", 842 | "is-fullwidth-code-point": "^3.0.0", 843 | "strip-ansi": "^6.0.1" 844 | }, 845 | "engines": { 846 | "node": ">=8" 847 | } 848 | }, 849 | "node_modules/@puppeteer/browsers/node_modules/wrap-ansi": { 850 | "version": "7.0.0", 851 | "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", 852 | "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", 853 | "dependencies": { 854 | "ansi-styles": "^4.0.0", 855 | "string-width": "^4.1.0", 856 | "strip-ansi": "^6.0.0" 857 | }, 858 | "engines": { 859 | "node": ">=10" 860 | }, 861 | "funding": { 862 | "url": "https://github.com/chalk/wrap-ansi?sponsor=1" 863 | } 864 | }, 865 | "node_modules/@puppeteer/browsers/node_modules/yargs": { 866 | "version": "17.7.1", 867 | "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.1.tgz", 868 | "integrity": "sha512-cwiTb08Xuv5fqF4AovYacTFNxk62th7LKJ6BL9IGUpTJrWoU7/7WdQGTP2SjKf1dUNBGzDd28p/Yfs/GI6JrLw==", 869 | "dependencies": { 870 | "cliui": "^8.0.1", 871 | "escalade": "^3.1.1", 872 | "get-caller-file": "^2.0.5", 873 | "require-directory": "^2.1.1", 874 | "string-width": "^4.2.3", 875 | "y18n": "^5.0.5", 876 | "yargs-parser": "^21.1.1" 877 | }, 878 | "engines": { 879 | "node": ">=12" 880 | } 881 | }, 882 | "node_modules/@puppeteer/browsers/node_modules/yargs-parser": { 883 | "version": "21.1.1", 884 | "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", 885 | "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", 886 | "engines": { 887 | "node": ">=12" 888 | } 889 | }, 890 | "node_modules/@tootallnate/once": { 891 | "version": "1.1.2", 892 | "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", 893 | "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", 894 | "dev": true, 895 | "engines": { 896 | "node": ">= 6" 897 | } 898 | }, 899 | "node_modules/@tootallnate/quickjs-emscripten": { 900 | "version": "0.23.0", 901 | "resolved": "https://registry.npmjs.org/@tootallnate/quickjs-emscripten/-/quickjs-emscripten-0.23.0.tgz", 902 | "integrity": "sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==" 903 | }, 904 | "node_modules/@types/eslint": { 905 | "version": "8.44.4", 906 | "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.44.4.tgz", 907 | "integrity": "sha512-lOzjyfY/D9QR4hY9oblZ76B90MYTB3RrQ4z2vBIJKj9ROCRqdkYl2gSUx1x1a4IWPjKJZLL4Aw1Zfay7eMnmnA==", 908 | "dev": true, 909 | "peer": true, 910 | "dependencies": { 911 | "@types/estree": "*", 912 | "@types/json-schema": "*" 913 | } 914 | }, 915 | "node_modules/@types/eslint-scope": { 916 | "version": "3.7.5", 917 | "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.5.tgz", 918 | "integrity": "sha512-JNvhIEyxVW6EoMIFIvj93ZOywYFatlpu9deeH6eSx6PE3WHYvHaQtmHmQeNw7aA81bYGBPPQqdtBm6b1SsQMmA==", 919 | "dev": true, 920 | "peer": true, 921 | "dependencies": { 922 | "@types/eslint": "*", 923 | "@types/estree": "*" 924 | } 925 | }, 926 | "node_modules/@types/estree": { 927 | "version": "1.0.2", 928 | "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.2.tgz", 929 | "integrity": "sha512-VeiPZ9MMwXjO32/Xu7+OwflfmeoRwkE/qzndw42gGtgJwZopBnzy2gD//NN1+go1mADzkDcqf/KnFRSjTJ8xJA==", 930 | "dev": true, 931 | "peer": true 932 | }, 933 | "node_modules/@types/json-schema": { 934 | "version": "7.0.13", 935 | "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.13.tgz", 936 | "integrity": "sha512-RbSSoHliUbnXj3ny0CNFOoxrIDV6SUGyStHsvDqosw6CkdPV8TtWGlfecuK4ToyMEAql6pzNxgCFKanovUzlgQ==", 937 | "dev": true 938 | }, 939 | "node_modules/@types/mocha": { 940 | "version": "10.0.2", 941 | "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-10.0.2.tgz", 942 | "integrity": "sha512-NaHL0+0lLNhX6d9rs+NSt97WH/gIlRHmszXbQ/8/MV/eVcFNdeJ/GYhrFuUc8K7WuPhRhTSdMkCp8VMzhUq85w==", 943 | "dev": true 944 | }, 945 | "node_modules/@types/node": { 946 | "version": "18.18.4", 947 | "resolved": "https://registry.npmjs.org/@types/node/-/node-18.18.4.tgz", 948 | "integrity": "sha512-t3rNFBgJRugIhackit2mVcLfF6IRc0JE4oeizPQL8Zrm8n2WY/0wOdpOPhdtG0V9Q2TlW/axbF1MJ6z+Yj/kKQ==", 949 | "devOptional": true 950 | }, 951 | "node_modules/@types/puppeteer": { 952 | "version": "7.0.4", 953 | "resolved": "https://registry.npmjs.org/@types/puppeteer/-/puppeteer-7.0.4.tgz", 954 | "integrity": "sha512-ja78vquZc8y+GM2al07GZqWDKQskQXygCDiu0e3uO0DMRKqE0MjrFBFmTulfPYzLB6WnL7Kl2tFPy0WXSpPomg==", 955 | "deprecated": "This is a stub types definition. puppeteer provides its own type definitions, so you do not need this installed.", 956 | "dev": true, 957 | "dependencies": { 958 | "puppeteer": "*" 959 | } 960 | }, 961 | "node_modules/@types/semver": { 962 | "version": "7.5.3", 963 | "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.3.tgz", 964 | "integrity": "sha512-OxepLK9EuNEIPxWNME+C6WwbRAOOI2o2BaQEGzz5Lu2e4Z5eDnEo+/aVEDMIXywoJitJ7xWd641wrGLZdtwRyw==", 965 | "dev": true 966 | }, 967 | "node_modules/@types/vscode": { 968 | "version": "1.83.0", 969 | "resolved": "https://registry.npmjs.org/@types/vscode/-/vscode-1.83.0.tgz", 970 | "integrity": "sha512-3mUtHqLAVz9hegut9au4xehuBrzRE3UJiQMpoEHkNl6XHliihO7eATx2BMHs0odsmmrwjJrlixx/Pte6M3ygDQ==", 971 | "dev": true 972 | }, 973 | "node_modules/@types/yauzl": { 974 | "version": "2.10.1", 975 | "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.1.tgz", 976 | "integrity": "sha512-CHzgNU3qYBnp/O4S3yv2tXPlvMTq0YWSTVg2/JYLqWZGHwwgJGAwd00poay/11asPq8wLFwHzubyInqHIFmmiw==", 977 | "optional": true, 978 | "dependencies": { 979 | "@types/node": "*" 980 | } 981 | }, 982 | "node_modules/@typescript-eslint/eslint-plugin": { 983 | "version": "6.7.5", 984 | "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.7.5.tgz", 985 | "integrity": "sha512-JhtAwTRhOUcP96D0Y6KYnwig/MRQbOoLGXTON2+LlyB/N35SP9j1boai2zzwXb7ypKELXMx3DVk9UTaEq1vHEw==", 986 | "dev": true, 987 | "dependencies": { 988 | "@eslint-community/regexpp": "^4.5.1", 989 | "@typescript-eslint/scope-manager": "6.7.5", 990 | "@typescript-eslint/type-utils": "6.7.5", 991 | "@typescript-eslint/utils": "6.7.5", 992 | "@typescript-eslint/visitor-keys": "6.7.5", 993 | "debug": "^4.3.4", 994 | "graphemer": "^1.4.0", 995 | "ignore": "^5.2.4", 996 | "natural-compare": "^1.4.0", 997 | "semver": "^7.5.4", 998 | "ts-api-utils": "^1.0.1" 999 | }, 1000 | "engines": { 1001 | "node": "^16.0.0 || >=18.0.0" 1002 | }, 1003 | "funding": { 1004 | "type": "opencollective", 1005 | "url": "https://opencollective.com/typescript-eslint" 1006 | }, 1007 | "peerDependencies": { 1008 | "@typescript-eslint/parser": "^6.0.0 || ^6.0.0-alpha", 1009 | "eslint": "^7.0.0 || ^8.0.0" 1010 | }, 1011 | "peerDependenciesMeta": { 1012 | "typescript": { 1013 | "optional": true 1014 | } 1015 | } 1016 | }, 1017 | "node_modules/@typescript-eslint/parser": { 1018 | "version": "6.7.5", 1019 | "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.7.5.tgz", 1020 | "integrity": "sha512-bIZVSGx2UME/lmhLcjdVc7ePBwn7CLqKarUBL4me1C5feOd663liTGjMBGVcGr+BhnSLeP4SgwdvNnnkbIdkCw==", 1021 | "dev": true, 1022 | "dependencies": { 1023 | "@typescript-eslint/scope-manager": "6.7.5", 1024 | "@typescript-eslint/types": "6.7.5", 1025 | "@typescript-eslint/typescript-estree": "6.7.5", 1026 | "@typescript-eslint/visitor-keys": "6.7.5", 1027 | "debug": "^4.3.4" 1028 | }, 1029 | "engines": { 1030 | "node": "^16.0.0 || >=18.0.0" 1031 | }, 1032 | "funding": { 1033 | "type": "opencollective", 1034 | "url": "https://opencollective.com/typescript-eslint" 1035 | }, 1036 | "peerDependencies": { 1037 | "eslint": "^7.0.0 || ^8.0.0" 1038 | }, 1039 | "peerDependenciesMeta": { 1040 | "typescript": { 1041 | "optional": true 1042 | } 1043 | } 1044 | }, 1045 | "node_modules/@typescript-eslint/scope-manager": { 1046 | "version": "6.7.5", 1047 | "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.7.5.tgz", 1048 | "integrity": "sha512-GAlk3eQIwWOJeb9F7MKQ6Jbah/vx1zETSDw8likab/eFcqkjSD7BI75SDAeC5N2L0MmConMoPvTsmkrg71+B1A==", 1049 | "dev": true, 1050 | "dependencies": { 1051 | "@typescript-eslint/types": "6.7.5", 1052 | "@typescript-eslint/visitor-keys": "6.7.5" 1053 | }, 1054 | "engines": { 1055 | "node": "^16.0.0 || >=18.0.0" 1056 | }, 1057 | "funding": { 1058 | "type": "opencollective", 1059 | "url": "https://opencollective.com/typescript-eslint" 1060 | } 1061 | }, 1062 | "node_modules/@typescript-eslint/type-utils": { 1063 | "version": "6.7.5", 1064 | "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.7.5.tgz", 1065 | "integrity": "sha512-Gs0qos5wqxnQrvpYv+pf3XfcRXW6jiAn9zE/K+DlmYf6FcpxeNYN0AIETaPR7rHO4K2UY+D0CIbDP9Ut0U4m1g==", 1066 | "dev": true, 1067 | "dependencies": { 1068 | "@typescript-eslint/typescript-estree": "6.7.5", 1069 | "@typescript-eslint/utils": "6.7.5", 1070 | "debug": "^4.3.4", 1071 | "ts-api-utils": "^1.0.1" 1072 | }, 1073 | "engines": { 1074 | "node": "^16.0.0 || >=18.0.0" 1075 | }, 1076 | "funding": { 1077 | "type": "opencollective", 1078 | "url": "https://opencollective.com/typescript-eslint" 1079 | }, 1080 | "peerDependencies": { 1081 | "eslint": "^7.0.0 || ^8.0.0" 1082 | }, 1083 | "peerDependenciesMeta": { 1084 | "typescript": { 1085 | "optional": true 1086 | } 1087 | } 1088 | }, 1089 | "node_modules/@typescript-eslint/types": { 1090 | "version": "6.7.5", 1091 | "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.7.5.tgz", 1092 | "integrity": "sha512-WboQBlOXtdj1tDFPyIthpKrUb+kZf2VroLZhxKa/VlwLlLyqv/PwUNgL30BlTVZV1Wu4Asu2mMYPqarSO4L5ZQ==", 1093 | "dev": true, 1094 | "engines": { 1095 | "node": "^16.0.0 || >=18.0.0" 1096 | }, 1097 | "funding": { 1098 | "type": "opencollective", 1099 | "url": "https://opencollective.com/typescript-eslint" 1100 | } 1101 | }, 1102 | "node_modules/@typescript-eslint/typescript-estree": { 1103 | "version": "6.7.5", 1104 | "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.7.5.tgz", 1105 | "integrity": "sha512-NhJiJ4KdtwBIxrKl0BqG1Ur+uw7FiOnOThcYx9DpOGJ/Abc9z2xNzLeirCG02Ig3vkvrc2qFLmYSSsaITbKjlg==", 1106 | "dev": true, 1107 | "dependencies": { 1108 | "@typescript-eslint/types": "6.7.5", 1109 | "@typescript-eslint/visitor-keys": "6.7.5", 1110 | "debug": "^4.3.4", 1111 | "globby": "^11.1.0", 1112 | "is-glob": "^4.0.3", 1113 | "semver": "^7.5.4", 1114 | "ts-api-utils": "^1.0.1" 1115 | }, 1116 | "engines": { 1117 | "node": "^16.0.0 || >=18.0.0" 1118 | }, 1119 | "funding": { 1120 | "type": "opencollective", 1121 | "url": "https://opencollective.com/typescript-eslint" 1122 | }, 1123 | "peerDependenciesMeta": { 1124 | "typescript": { 1125 | "optional": true 1126 | } 1127 | } 1128 | }, 1129 | "node_modules/@typescript-eslint/utils": { 1130 | "version": "6.7.5", 1131 | "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.7.5.tgz", 1132 | "integrity": "sha512-pfRRrH20thJbzPPlPc4j0UNGvH1PjPlhlCMq4Yx7EGjV7lvEeGX0U6MJYe8+SyFutWgSHsdbJ3BXzZccYggezA==", 1133 | "dev": true, 1134 | "dependencies": { 1135 | "@eslint-community/eslint-utils": "^4.4.0", 1136 | "@types/json-schema": "^7.0.12", 1137 | "@types/semver": "^7.5.0", 1138 | "@typescript-eslint/scope-manager": "6.7.5", 1139 | "@typescript-eslint/types": "6.7.5", 1140 | "@typescript-eslint/typescript-estree": "6.7.5", 1141 | "semver": "^7.5.4" 1142 | }, 1143 | "engines": { 1144 | "node": "^16.0.0 || >=18.0.0" 1145 | }, 1146 | "funding": { 1147 | "type": "opencollective", 1148 | "url": "https://opencollective.com/typescript-eslint" 1149 | }, 1150 | "peerDependencies": { 1151 | "eslint": "^7.0.0 || ^8.0.0" 1152 | } 1153 | }, 1154 | "node_modules/@typescript-eslint/visitor-keys": { 1155 | "version": "6.7.5", 1156 | "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.7.5.tgz", 1157 | "integrity": "sha512-3MaWdDZtLlsexZzDSdQWsFQ9l9nL8B80Z4fImSpyllFC/KLqWQRdEcB+gGGO+N3Q2uL40EsG66wZLsohPxNXvg==", 1158 | "dev": true, 1159 | "dependencies": { 1160 | "@typescript-eslint/types": "6.7.5", 1161 | "eslint-visitor-keys": "^3.4.1" 1162 | }, 1163 | "engines": { 1164 | "node": "^16.0.0 || >=18.0.0" 1165 | }, 1166 | "funding": { 1167 | "type": "opencollective", 1168 | "url": "https://opencollective.com/typescript-eslint" 1169 | } 1170 | }, 1171 | "node_modules/@vscode/test-electron": { 1172 | "version": "2.3.5", 1173 | "resolved": "https://registry.npmjs.org/@vscode/test-electron/-/test-electron-2.3.5.tgz", 1174 | "integrity": "sha512-lAW7nQ0HuPqJnGJrtCzEKZCICtRizeP6qNanyCrjmdCOAAWjX3ixiG8RVPwqsYPQBWLPgYuE12qQlwXsOR/2fQ==", 1175 | "dev": true, 1176 | "dependencies": { 1177 | "http-proxy-agent": "^4.0.1", 1178 | "https-proxy-agent": "^5.0.0", 1179 | "jszip": "^3.10.1", 1180 | "semver": "^7.5.2" 1181 | }, 1182 | "engines": { 1183 | "node": ">=16" 1184 | } 1185 | }, 1186 | "node_modules/@webassemblyjs/ast": { 1187 | "version": "1.11.6", 1188 | "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", 1189 | "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", 1190 | "dev": true, 1191 | "peer": true, 1192 | "dependencies": { 1193 | "@webassemblyjs/helper-numbers": "1.11.6", 1194 | "@webassemblyjs/helper-wasm-bytecode": "1.11.6" 1195 | } 1196 | }, 1197 | "node_modules/@webassemblyjs/floating-point-hex-parser": { 1198 | "version": "1.11.6", 1199 | "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", 1200 | "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", 1201 | "dev": true, 1202 | "peer": true 1203 | }, 1204 | "node_modules/@webassemblyjs/helper-api-error": { 1205 | "version": "1.11.6", 1206 | "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", 1207 | "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", 1208 | "dev": true, 1209 | "peer": true 1210 | }, 1211 | "node_modules/@webassemblyjs/helper-buffer": { 1212 | "version": "1.11.6", 1213 | "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", 1214 | "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==", 1215 | "dev": true, 1216 | "peer": true 1217 | }, 1218 | "node_modules/@webassemblyjs/helper-numbers": { 1219 | "version": "1.11.6", 1220 | "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", 1221 | "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", 1222 | "dev": true, 1223 | "peer": true, 1224 | "dependencies": { 1225 | "@webassemblyjs/floating-point-hex-parser": "1.11.6", 1226 | "@webassemblyjs/helper-api-error": "1.11.6", 1227 | "@xtuc/long": "4.2.2" 1228 | } 1229 | }, 1230 | "node_modules/@webassemblyjs/helper-wasm-bytecode": { 1231 | "version": "1.11.6", 1232 | "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", 1233 | "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", 1234 | "dev": true, 1235 | "peer": true 1236 | }, 1237 | "node_modules/@webassemblyjs/helper-wasm-section": { 1238 | "version": "1.11.6", 1239 | "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", 1240 | "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", 1241 | "dev": true, 1242 | "peer": true, 1243 | "dependencies": { 1244 | "@webassemblyjs/ast": "1.11.6", 1245 | "@webassemblyjs/helper-buffer": "1.11.6", 1246 | "@webassemblyjs/helper-wasm-bytecode": "1.11.6", 1247 | "@webassemblyjs/wasm-gen": "1.11.6" 1248 | } 1249 | }, 1250 | "node_modules/@webassemblyjs/ieee754": { 1251 | "version": "1.11.6", 1252 | "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", 1253 | "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", 1254 | "dev": true, 1255 | "peer": true, 1256 | "dependencies": { 1257 | "@xtuc/ieee754": "^1.2.0" 1258 | } 1259 | }, 1260 | "node_modules/@webassemblyjs/leb128": { 1261 | "version": "1.11.6", 1262 | "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", 1263 | "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", 1264 | "dev": true, 1265 | "peer": true, 1266 | "dependencies": { 1267 | "@xtuc/long": "4.2.2" 1268 | } 1269 | }, 1270 | "node_modules/@webassemblyjs/utf8": { 1271 | "version": "1.11.6", 1272 | "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", 1273 | "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", 1274 | "dev": true, 1275 | "peer": true 1276 | }, 1277 | "node_modules/@webassemblyjs/wasm-edit": { 1278 | "version": "1.11.6", 1279 | "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", 1280 | "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", 1281 | "dev": true, 1282 | "peer": true, 1283 | "dependencies": { 1284 | "@webassemblyjs/ast": "1.11.6", 1285 | "@webassemblyjs/helper-buffer": "1.11.6", 1286 | "@webassemblyjs/helper-wasm-bytecode": "1.11.6", 1287 | "@webassemblyjs/helper-wasm-section": "1.11.6", 1288 | "@webassemblyjs/wasm-gen": "1.11.6", 1289 | "@webassemblyjs/wasm-opt": "1.11.6", 1290 | "@webassemblyjs/wasm-parser": "1.11.6", 1291 | "@webassemblyjs/wast-printer": "1.11.6" 1292 | } 1293 | }, 1294 | "node_modules/@webassemblyjs/wasm-gen": { 1295 | "version": "1.11.6", 1296 | "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", 1297 | "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", 1298 | "dev": true, 1299 | "peer": true, 1300 | "dependencies": { 1301 | "@webassemblyjs/ast": "1.11.6", 1302 | "@webassemblyjs/helper-wasm-bytecode": "1.11.6", 1303 | "@webassemblyjs/ieee754": "1.11.6", 1304 | "@webassemblyjs/leb128": "1.11.6", 1305 | "@webassemblyjs/utf8": "1.11.6" 1306 | } 1307 | }, 1308 | "node_modules/@webassemblyjs/wasm-opt": { 1309 | "version": "1.11.6", 1310 | "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", 1311 | "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", 1312 | "dev": true, 1313 | "peer": true, 1314 | "dependencies": { 1315 | "@webassemblyjs/ast": "1.11.6", 1316 | "@webassemblyjs/helper-buffer": "1.11.6", 1317 | "@webassemblyjs/wasm-gen": "1.11.6", 1318 | "@webassemblyjs/wasm-parser": "1.11.6" 1319 | } 1320 | }, 1321 | "node_modules/@webassemblyjs/wasm-parser": { 1322 | "version": "1.11.6", 1323 | "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", 1324 | "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", 1325 | "dev": true, 1326 | "peer": true, 1327 | "dependencies": { 1328 | "@webassemblyjs/ast": "1.11.6", 1329 | "@webassemblyjs/helper-api-error": "1.11.6", 1330 | "@webassemblyjs/helper-wasm-bytecode": "1.11.6", 1331 | "@webassemblyjs/ieee754": "1.11.6", 1332 | "@webassemblyjs/leb128": "1.11.6", 1333 | "@webassemblyjs/utf8": "1.11.6" 1334 | } 1335 | }, 1336 | "node_modules/@webassemblyjs/wast-printer": { 1337 | "version": "1.11.6", 1338 | "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", 1339 | "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", 1340 | "dev": true, 1341 | "peer": true, 1342 | "dependencies": { 1343 | "@webassemblyjs/ast": "1.11.6", 1344 | "@xtuc/long": "4.2.2" 1345 | } 1346 | }, 1347 | "node_modules/@xtuc/ieee754": { 1348 | "version": "1.2.0", 1349 | "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", 1350 | "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", 1351 | "dev": true, 1352 | "peer": true 1353 | }, 1354 | "node_modules/@xtuc/long": { 1355 | "version": "4.2.2", 1356 | "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", 1357 | "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", 1358 | "dev": true, 1359 | "peer": true 1360 | }, 1361 | "node_modules/acorn": { 1362 | "version": "8.10.0", 1363 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", 1364 | "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", 1365 | "dev": true, 1366 | "bin": { 1367 | "acorn": "bin/acorn" 1368 | }, 1369 | "engines": { 1370 | "node": ">=0.4.0" 1371 | } 1372 | }, 1373 | "node_modules/acorn-import-assertions": { 1374 | "version": "1.9.0", 1375 | "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", 1376 | "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", 1377 | "dev": true, 1378 | "peer": true, 1379 | "peerDependencies": { 1380 | "acorn": "^8" 1381 | } 1382 | }, 1383 | "node_modules/acorn-jsx": { 1384 | "version": "5.3.2", 1385 | "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", 1386 | "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", 1387 | "dev": true, 1388 | "peerDependencies": { 1389 | "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" 1390 | } 1391 | }, 1392 | "node_modules/agent-base": { 1393 | "version": "6.0.2", 1394 | "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", 1395 | "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", 1396 | "dev": true, 1397 | "dependencies": { 1398 | "debug": "4" 1399 | }, 1400 | "engines": { 1401 | "node": ">= 6.0.0" 1402 | } 1403 | }, 1404 | "node_modules/ajv": { 1405 | "version": "6.12.6", 1406 | "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", 1407 | "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", 1408 | "dev": true, 1409 | "dependencies": { 1410 | "fast-deep-equal": "^3.1.1", 1411 | "fast-json-stable-stringify": "^2.0.0", 1412 | "json-schema-traverse": "^0.4.1", 1413 | "uri-js": "^4.2.2" 1414 | }, 1415 | "funding": { 1416 | "type": "github", 1417 | "url": "https://github.com/sponsors/epoberezkin" 1418 | } 1419 | }, 1420 | "node_modules/ajv-keywords": { 1421 | "version": "3.5.2", 1422 | "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", 1423 | "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", 1424 | "dev": true, 1425 | "peer": true, 1426 | "peerDependencies": { 1427 | "ajv": "^6.9.1" 1428 | } 1429 | }, 1430 | "node_modules/ansi-colors": { 1431 | "version": "4.1.1", 1432 | "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", 1433 | "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", 1434 | "dev": true, 1435 | "engines": { 1436 | "node": ">=6" 1437 | } 1438 | }, 1439 | "node_modules/ansi-regex": { 1440 | "version": "5.0.1", 1441 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 1442 | "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", 1443 | "engines": { 1444 | "node": ">=8" 1445 | } 1446 | }, 1447 | "node_modules/ansi-sequence-parser": { 1448 | "version": "1.1.1", 1449 | "resolved": "https://registry.npmjs.org/ansi-sequence-parser/-/ansi-sequence-parser-1.1.1.tgz", 1450 | "integrity": "sha512-vJXt3yiaUL4UU546s3rPXlsry/RnM730G1+HkpKE012AN0sx1eOrxSu95oKDIonskeLTijMgqWZ3uDEe3NFvyg==" 1451 | }, 1452 | "node_modules/ansi-styles": { 1453 | "version": "4.3.0", 1454 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", 1455 | "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", 1456 | "dependencies": { 1457 | "color-convert": "^2.0.1" 1458 | }, 1459 | "engines": { 1460 | "node": ">=8" 1461 | }, 1462 | "funding": { 1463 | "url": "https://github.com/chalk/ansi-styles?sponsor=1" 1464 | } 1465 | }, 1466 | "node_modules/anymatch": { 1467 | "version": "3.1.3", 1468 | "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", 1469 | "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", 1470 | "dev": true, 1471 | "dependencies": { 1472 | "normalize-path": "^3.0.0", 1473 | "picomatch": "^2.0.4" 1474 | }, 1475 | "engines": { 1476 | "node": ">= 8" 1477 | } 1478 | }, 1479 | "node_modules/argparse": { 1480 | "version": "2.0.1", 1481 | "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", 1482 | "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" 1483 | }, 1484 | "node_modules/array-union": { 1485 | "version": "2.1.0", 1486 | "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", 1487 | "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", 1488 | "dev": true, 1489 | "engines": { 1490 | "node": ">=8" 1491 | } 1492 | }, 1493 | "node_modules/ast-types": { 1494 | "version": "0.13.4", 1495 | "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.13.4.tgz", 1496 | "integrity": "sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==", 1497 | "dependencies": { 1498 | "tslib": "^2.0.1" 1499 | }, 1500 | "engines": { 1501 | "node": ">=4" 1502 | } 1503 | }, 1504 | "node_modules/b4a": { 1505 | "version": "1.6.4", 1506 | "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.4.tgz", 1507 | "integrity": "sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw==" 1508 | }, 1509 | "node_modules/balanced-match": { 1510 | "version": "1.0.2", 1511 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", 1512 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", 1513 | "dev": true 1514 | }, 1515 | "node_modules/base64-js": { 1516 | "version": "1.5.1", 1517 | "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", 1518 | "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", 1519 | "funding": [ 1520 | { 1521 | "type": "github", 1522 | "url": "https://github.com/sponsors/feross" 1523 | }, 1524 | { 1525 | "type": "patreon", 1526 | "url": "https://www.patreon.com/feross" 1527 | }, 1528 | { 1529 | "type": "consulting", 1530 | "url": "https://feross.org/support" 1531 | } 1532 | ] 1533 | }, 1534 | "node_modules/basic-ftp": { 1535 | "version": "5.0.3", 1536 | "resolved": "https://registry.npmjs.org/basic-ftp/-/basic-ftp-5.0.3.tgz", 1537 | "integrity": "sha512-QHX8HLlncOLpy54mh+k/sWIFd0ThmRqwe9ZjELybGZK+tZ8rUb9VO0saKJUROTbE+KhzDUT7xziGpGrW8Kmd+g==", 1538 | "engines": { 1539 | "node": ">=10.0.0" 1540 | } 1541 | }, 1542 | "node_modules/binary-extensions": { 1543 | "version": "2.2.0", 1544 | "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", 1545 | "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", 1546 | "dev": true, 1547 | "engines": { 1548 | "node": ">=8" 1549 | } 1550 | }, 1551 | "node_modules/brace-expansion": { 1552 | "version": "1.1.11", 1553 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 1554 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 1555 | "dev": true, 1556 | "dependencies": { 1557 | "balanced-match": "^1.0.0", 1558 | "concat-map": "0.0.1" 1559 | } 1560 | }, 1561 | "node_modules/braces": { 1562 | "version": "3.0.2", 1563 | "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", 1564 | "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", 1565 | "dev": true, 1566 | "dependencies": { 1567 | "fill-range": "^7.0.1" 1568 | }, 1569 | "engines": { 1570 | "node": ">=8" 1571 | } 1572 | }, 1573 | "node_modules/browser-stdout": { 1574 | "version": "1.3.1", 1575 | "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", 1576 | "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", 1577 | "dev": true 1578 | }, 1579 | "node_modules/browserslist": { 1580 | "version": "4.22.1", 1581 | "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.1.tgz", 1582 | "integrity": "sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==", 1583 | "dev": true, 1584 | "funding": [ 1585 | { 1586 | "type": "opencollective", 1587 | "url": "https://opencollective.com/browserslist" 1588 | }, 1589 | { 1590 | "type": "tidelift", 1591 | "url": "https://tidelift.com/funding/github/npm/browserslist" 1592 | }, 1593 | { 1594 | "type": "github", 1595 | "url": "https://github.com/sponsors/ai" 1596 | } 1597 | ], 1598 | "peer": true, 1599 | "dependencies": { 1600 | "caniuse-lite": "^1.0.30001541", 1601 | "electron-to-chromium": "^1.4.535", 1602 | "node-releases": "^2.0.13", 1603 | "update-browserslist-db": "^1.0.13" 1604 | }, 1605 | "bin": { 1606 | "browserslist": "cli.js" 1607 | }, 1608 | "engines": { 1609 | "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" 1610 | } 1611 | }, 1612 | "node_modules/buffer": { 1613 | "version": "5.7.1", 1614 | "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", 1615 | "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", 1616 | "funding": [ 1617 | { 1618 | "type": "github", 1619 | "url": "https://github.com/sponsors/feross" 1620 | }, 1621 | { 1622 | "type": "patreon", 1623 | "url": "https://www.patreon.com/feross" 1624 | }, 1625 | { 1626 | "type": "consulting", 1627 | "url": "https://feross.org/support" 1628 | } 1629 | ], 1630 | "dependencies": { 1631 | "base64-js": "^1.3.1", 1632 | "ieee754": "^1.1.13" 1633 | } 1634 | }, 1635 | "node_modules/buffer-crc32": { 1636 | "version": "0.2.13", 1637 | "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", 1638 | "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", 1639 | "engines": { 1640 | "node": "*" 1641 | } 1642 | }, 1643 | "node_modules/buffer-from": { 1644 | "version": "1.1.2", 1645 | "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", 1646 | "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", 1647 | "dev": true, 1648 | "peer": true 1649 | }, 1650 | "node_modules/callsites": { 1651 | "version": "3.1.0", 1652 | "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", 1653 | "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", 1654 | "engines": { 1655 | "node": ">=6" 1656 | } 1657 | }, 1658 | "node_modules/camelcase": { 1659 | "version": "6.3.0", 1660 | "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", 1661 | "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", 1662 | "dev": true, 1663 | "engines": { 1664 | "node": ">=10" 1665 | }, 1666 | "funding": { 1667 | "url": "https://github.com/sponsors/sindresorhus" 1668 | } 1669 | }, 1670 | "node_modules/caniuse-lite": { 1671 | "version": "1.0.30001549", 1672 | "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001549.tgz", 1673 | "integrity": "sha512-qRp48dPYSCYaP+KurZLhDYdVE+yEyht/3NlmcJgVQ2VMGt6JL36ndQ/7rgspdZsJuxDPFIo/OzBT2+GmIJ53BA==", 1674 | "dev": true, 1675 | "funding": [ 1676 | { 1677 | "type": "opencollective", 1678 | "url": "https://opencollective.com/browserslist" 1679 | }, 1680 | { 1681 | "type": "tidelift", 1682 | "url": "https://tidelift.com/funding/github/npm/caniuse-lite" 1683 | }, 1684 | { 1685 | "type": "github", 1686 | "url": "https://github.com/sponsors/ai" 1687 | } 1688 | ], 1689 | "peer": true 1690 | }, 1691 | "node_modules/chalk": { 1692 | "version": "4.1.2", 1693 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", 1694 | "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", 1695 | "dev": true, 1696 | "dependencies": { 1697 | "ansi-styles": "^4.1.0", 1698 | "supports-color": "^7.1.0" 1699 | }, 1700 | "engines": { 1701 | "node": ">=10" 1702 | }, 1703 | "funding": { 1704 | "url": "https://github.com/chalk/chalk?sponsor=1" 1705 | } 1706 | }, 1707 | "node_modules/chokidar": { 1708 | "version": "3.5.3", 1709 | "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", 1710 | "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", 1711 | "dev": true, 1712 | "funding": [ 1713 | { 1714 | "type": "individual", 1715 | "url": "https://paulmillr.com/funding/" 1716 | } 1717 | ], 1718 | "dependencies": { 1719 | "anymatch": "~3.1.2", 1720 | "braces": "~3.0.2", 1721 | "glob-parent": "~5.1.2", 1722 | "is-binary-path": "~2.1.0", 1723 | "is-glob": "~4.0.1", 1724 | "normalize-path": "~3.0.0", 1725 | "readdirp": "~3.6.0" 1726 | }, 1727 | "engines": { 1728 | "node": ">= 8.10.0" 1729 | }, 1730 | "optionalDependencies": { 1731 | "fsevents": "~2.3.2" 1732 | } 1733 | }, 1734 | "node_modules/chokidar/node_modules/glob-parent": { 1735 | "version": "5.1.2", 1736 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", 1737 | "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", 1738 | "dev": true, 1739 | "dependencies": { 1740 | "is-glob": "^4.0.1" 1741 | }, 1742 | "engines": { 1743 | "node": ">= 6" 1744 | } 1745 | }, 1746 | "node_modules/chrome-trace-event": { 1747 | "version": "1.0.3", 1748 | "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", 1749 | "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", 1750 | "dev": true, 1751 | "peer": true, 1752 | "engines": { 1753 | "node": ">=6.0" 1754 | } 1755 | }, 1756 | "node_modules/chromium-bidi": { 1757 | "version": "0.4.31", 1758 | "resolved": "https://registry.npmjs.org/chromium-bidi/-/chromium-bidi-0.4.31.tgz", 1759 | "integrity": "sha512-OtvEg2JMRQrHsmLx4FV3u1Hf9waYxB5PmL+yM0HkFpc9H2x3TMbUqS+GP2/fC4399hzOO+EQF8uVU43By9ILag==", 1760 | "dependencies": { 1761 | "mitt": "3.0.1", 1762 | "urlpattern-polyfill": "9.0.0" 1763 | }, 1764 | "peerDependencies": { 1765 | "devtools-protocol": "*" 1766 | } 1767 | }, 1768 | "node_modules/cliui": { 1769 | "version": "7.0.4", 1770 | "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", 1771 | "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", 1772 | "dev": true, 1773 | "dependencies": { 1774 | "string-width": "^4.2.0", 1775 | "strip-ansi": "^6.0.0", 1776 | "wrap-ansi": "^7.0.0" 1777 | } 1778 | }, 1779 | "node_modules/cliui/node_modules/emoji-regex": { 1780 | "version": "8.0.0", 1781 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", 1782 | "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", 1783 | "dev": true 1784 | }, 1785 | "node_modules/cliui/node_modules/string-width": { 1786 | "version": "4.2.3", 1787 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", 1788 | "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", 1789 | "dev": true, 1790 | "dependencies": { 1791 | "emoji-regex": "^8.0.0", 1792 | "is-fullwidth-code-point": "^3.0.0", 1793 | "strip-ansi": "^6.0.1" 1794 | }, 1795 | "engines": { 1796 | "node": ">=8" 1797 | } 1798 | }, 1799 | "node_modules/cliui/node_modules/wrap-ansi": { 1800 | "version": "7.0.0", 1801 | "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", 1802 | "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", 1803 | "dev": true, 1804 | "dependencies": { 1805 | "ansi-styles": "^4.0.0", 1806 | "string-width": "^4.1.0", 1807 | "strip-ansi": "^6.0.0" 1808 | }, 1809 | "engines": { 1810 | "node": ">=10" 1811 | }, 1812 | "funding": { 1813 | "url": "https://github.com/chalk/wrap-ansi?sponsor=1" 1814 | } 1815 | }, 1816 | "node_modules/color-convert": { 1817 | "version": "2.0.1", 1818 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", 1819 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", 1820 | "dependencies": { 1821 | "color-name": "~1.1.4" 1822 | }, 1823 | "engines": { 1824 | "node": ">=7.0.0" 1825 | } 1826 | }, 1827 | "node_modules/color-name": { 1828 | "version": "1.1.4", 1829 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 1830 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" 1831 | }, 1832 | "node_modules/commander": { 1833 | "version": "2.20.3", 1834 | "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", 1835 | "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", 1836 | "dev": true, 1837 | "peer": true 1838 | }, 1839 | "node_modules/concat-map": { 1840 | "version": "0.0.1", 1841 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 1842 | "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", 1843 | "dev": true 1844 | }, 1845 | "node_modules/core-util-is": { 1846 | "version": "1.0.3", 1847 | "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", 1848 | "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", 1849 | "dev": true 1850 | }, 1851 | "node_modules/cosmiconfig": { 1852 | "version": "8.3.6", 1853 | "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", 1854 | "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", 1855 | "dependencies": { 1856 | "import-fresh": "^3.3.0", 1857 | "js-yaml": "^4.1.0", 1858 | "parse-json": "^5.2.0", 1859 | "path-type": "^4.0.0" 1860 | }, 1861 | "engines": { 1862 | "node": ">=14" 1863 | }, 1864 | "funding": { 1865 | "url": "https://github.com/sponsors/d-fischer" 1866 | }, 1867 | "peerDependencies": { 1868 | "typescript": ">=4.9.5" 1869 | }, 1870 | "peerDependenciesMeta": { 1871 | "typescript": { 1872 | "optional": true 1873 | } 1874 | } 1875 | }, 1876 | "node_modules/cross-fetch": { 1877 | "version": "4.0.0", 1878 | "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-4.0.0.tgz", 1879 | "integrity": "sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g==", 1880 | "dependencies": { 1881 | "node-fetch": "^2.6.12" 1882 | } 1883 | }, 1884 | "node_modules/cross-spawn": { 1885 | "version": "7.0.3", 1886 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", 1887 | "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", 1888 | "dev": true, 1889 | "dependencies": { 1890 | "path-key": "^3.1.0", 1891 | "shebang-command": "^2.0.0", 1892 | "which": "^2.0.1" 1893 | }, 1894 | "engines": { 1895 | "node": ">= 8" 1896 | } 1897 | }, 1898 | "node_modules/data-uri-to-buffer": { 1899 | "version": "6.0.1", 1900 | "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-6.0.1.tgz", 1901 | "integrity": "sha512-MZd3VlchQkp8rdend6vrx7MmVDJzSNTBvghvKjirLkD+WTChA3KUf0jkE68Q4UyctNqI11zZO9/x2Yx+ub5Cvg==", 1902 | "engines": { 1903 | "node": ">= 14" 1904 | } 1905 | }, 1906 | "node_modules/debug": { 1907 | "version": "4.3.4", 1908 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", 1909 | "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", 1910 | "dependencies": { 1911 | "ms": "2.1.2" 1912 | }, 1913 | "engines": { 1914 | "node": ">=6.0" 1915 | }, 1916 | "peerDependenciesMeta": { 1917 | "supports-color": { 1918 | "optional": true 1919 | } 1920 | } 1921 | }, 1922 | "node_modules/decamelize": { 1923 | "version": "4.0.0", 1924 | "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", 1925 | "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", 1926 | "dev": true, 1927 | "engines": { 1928 | "node": ">=10" 1929 | }, 1930 | "funding": { 1931 | "url": "https://github.com/sponsors/sindresorhus" 1932 | } 1933 | }, 1934 | "node_modules/deep-is": { 1935 | "version": "0.1.4", 1936 | "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", 1937 | "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", 1938 | "dev": true 1939 | }, 1940 | "node_modules/degenerator": { 1941 | "version": "5.0.1", 1942 | "resolved": "https://registry.npmjs.org/degenerator/-/degenerator-5.0.1.tgz", 1943 | "integrity": "sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ==", 1944 | "dependencies": { 1945 | "ast-types": "^0.13.4", 1946 | "escodegen": "^2.1.0", 1947 | "esprima": "^4.0.1" 1948 | }, 1949 | "engines": { 1950 | "node": ">= 14" 1951 | } 1952 | }, 1953 | "node_modules/devtools-protocol": { 1954 | "version": "0.0.1179426", 1955 | "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1179426.tgz", 1956 | "integrity": "sha512-KKC7IGwdOr7u9kTGgjUvGTov/z1s2H7oHi3zKCdR9eSDyCPia5CBi4aRhtp7d8uR7l0GS5UTDw3TjKGu5CqINg==" 1957 | }, 1958 | "node_modules/diff": { 1959 | "version": "5.0.0", 1960 | "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", 1961 | "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", 1962 | "dev": true, 1963 | "engines": { 1964 | "node": ">=0.3.1" 1965 | } 1966 | }, 1967 | "node_modules/dir-glob": { 1968 | "version": "3.0.1", 1969 | "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", 1970 | "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", 1971 | "dev": true, 1972 | "dependencies": { 1973 | "path-type": "^4.0.0" 1974 | }, 1975 | "engines": { 1976 | "node": ">=8" 1977 | } 1978 | }, 1979 | "node_modules/doctrine": { 1980 | "version": "3.0.0", 1981 | "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", 1982 | "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", 1983 | "dev": true, 1984 | "dependencies": { 1985 | "esutils": "^2.0.2" 1986 | }, 1987 | "engines": { 1988 | "node": ">=6.0.0" 1989 | } 1990 | }, 1991 | "node_modules/eastasianwidth": { 1992 | "version": "0.2.0", 1993 | "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", 1994 | "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", 1995 | "dev": true 1996 | }, 1997 | "node_modules/electron-to-chromium": { 1998 | "version": "1.4.554", 1999 | "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.554.tgz", 2000 | "integrity": "sha512-Q0umzPJjfBrrj8unkONTgbKQXzXRrH7sVV7D9ea2yBV3Oaogz991yhbpfvo2LMNkJItmruXTEzVpP9cp7vaIiQ==", 2001 | "dev": true, 2002 | "peer": true 2003 | }, 2004 | "node_modules/emoji-regex": { 2005 | "version": "9.2.2", 2006 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", 2007 | "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", 2008 | "dev": true 2009 | }, 2010 | "node_modules/end-of-stream": { 2011 | "version": "1.4.4", 2012 | "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", 2013 | "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", 2014 | "dependencies": { 2015 | "once": "^1.4.0" 2016 | } 2017 | }, 2018 | "node_modules/enhanced-resolve": { 2019 | "version": "5.15.0", 2020 | "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", 2021 | "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", 2022 | "dev": true, 2023 | "dependencies": { 2024 | "graceful-fs": "^4.2.4", 2025 | "tapable": "^2.2.0" 2026 | }, 2027 | "engines": { 2028 | "node": ">=10.13.0" 2029 | } 2030 | }, 2031 | "node_modules/error-ex": { 2032 | "version": "1.3.2", 2033 | "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", 2034 | "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", 2035 | "dependencies": { 2036 | "is-arrayish": "^0.2.1" 2037 | } 2038 | }, 2039 | "node_modules/es-module-lexer": { 2040 | "version": "1.3.1", 2041 | "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.3.1.tgz", 2042 | "integrity": "sha512-JUFAyicQV9mXc3YRxPnDlrfBKpqt6hUYzz9/boprUJHs4e4KVr3XwOF70doO6gwXUor6EWZJAyWAfKki84t20Q==", 2043 | "dev": true, 2044 | "peer": true 2045 | }, 2046 | "node_modules/esbuild": { 2047 | "version": "0.19.4", 2048 | "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.19.4.tgz", 2049 | "integrity": "sha512-x7jL0tbRRpv4QUyuDMjONtWFciygUxWaUM1kMX2zWxI0X2YWOt7MSA0g4UdeSiHM8fcYVzpQhKYOycZwxTdZkA==", 2050 | "dev": true, 2051 | "hasInstallScript": true, 2052 | "bin": { 2053 | "esbuild": "bin/esbuild" 2054 | }, 2055 | "engines": { 2056 | "node": ">=12" 2057 | }, 2058 | "optionalDependencies": { 2059 | "@esbuild/android-arm": "0.19.4", 2060 | "@esbuild/android-arm64": "0.19.4", 2061 | "@esbuild/android-x64": "0.19.4", 2062 | "@esbuild/darwin-arm64": "0.19.4", 2063 | "@esbuild/darwin-x64": "0.19.4", 2064 | "@esbuild/freebsd-arm64": "0.19.4", 2065 | "@esbuild/freebsd-x64": "0.19.4", 2066 | "@esbuild/linux-arm": "0.19.4", 2067 | "@esbuild/linux-arm64": "0.19.4", 2068 | "@esbuild/linux-ia32": "0.19.4", 2069 | "@esbuild/linux-loong64": "0.19.4", 2070 | "@esbuild/linux-mips64el": "0.19.4", 2071 | "@esbuild/linux-ppc64": "0.19.4", 2072 | "@esbuild/linux-riscv64": "0.19.4", 2073 | "@esbuild/linux-s390x": "0.19.4", 2074 | "@esbuild/linux-x64": "0.19.4", 2075 | "@esbuild/netbsd-x64": "0.19.4", 2076 | "@esbuild/openbsd-x64": "0.19.4", 2077 | "@esbuild/sunos-x64": "0.19.4", 2078 | "@esbuild/win32-arm64": "0.19.4", 2079 | "@esbuild/win32-ia32": "0.19.4", 2080 | "@esbuild/win32-x64": "0.19.4" 2081 | } 2082 | }, 2083 | "node_modules/escalade": { 2084 | "version": "3.1.1", 2085 | "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", 2086 | "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", 2087 | "engines": { 2088 | "node": ">=6" 2089 | } 2090 | }, 2091 | "node_modules/escape-string-regexp": { 2092 | "version": "4.0.0", 2093 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", 2094 | "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", 2095 | "dev": true, 2096 | "engines": { 2097 | "node": ">=10" 2098 | }, 2099 | "funding": { 2100 | "url": "https://github.com/sponsors/sindresorhus" 2101 | } 2102 | }, 2103 | "node_modules/escodegen": { 2104 | "version": "2.1.0", 2105 | "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", 2106 | "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", 2107 | "dependencies": { 2108 | "esprima": "^4.0.1", 2109 | "estraverse": "^5.2.0", 2110 | "esutils": "^2.0.2" 2111 | }, 2112 | "bin": { 2113 | "escodegen": "bin/escodegen.js", 2114 | "esgenerate": "bin/esgenerate.js" 2115 | }, 2116 | "engines": { 2117 | "node": ">=6.0" 2118 | }, 2119 | "optionalDependencies": { 2120 | "source-map": "~0.6.1" 2121 | } 2122 | }, 2123 | "node_modules/eslint": { 2124 | "version": "8.51.0", 2125 | "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.51.0.tgz", 2126 | "integrity": "sha512-2WuxRZBrlwnXi+/vFSJyjMqrNjtJqiasMzehF0shoLaW7DzS3/9Yvrmq5JiT66+pNjiX4UBnLDiKHcWAr/OInA==", 2127 | "dev": true, 2128 | "dependencies": { 2129 | "@eslint-community/eslint-utils": "^4.2.0", 2130 | "@eslint-community/regexpp": "^4.6.1", 2131 | "@eslint/eslintrc": "^2.1.2", 2132 | "@eslint/js": "8.51.0", 2133 | "@humanwhocodes/config-array": "^0.11.11", 2134 | "@humanwhocodes/module-importer": "^1.0.1", 2135 | "@nodelib/fs.walk": "^1.2.8", 2136 | "ajv": "^6.12.4", 2137 | "chalk": "^4.0.0", 2138 | "cross-spawn": "^7.0.2", 2139 | "debug": "^4.3.2", 2140 | "doctrine": "^3.0.0", 2141 | "escape-string-regexp": "^4.0.0", 2142 | "eslint-scope": "^7.2.2", 2143 | "eslint-visitor-keys": "^3.4.3", 2144 | "espree": "^9.6.1", 2145 | "esquery": "^1.4.2", 2146 | "esutils": "^2.0.2", 2147 | "fast-deep-equal": "^3.1.3", 2148 | "file-entry-cache": "^6.0.1", 2149 | "find-up": "^5.0.0", 2150 | "glob-parent": "^6.0.2", 2151 | "globals": "^13.19.0", 2152 | "graphemer": "^1.4.0", 2153 | "ignore": "^5.2.0", 2154 | "imurmurhash": "^0.1.4", 2155 | "is-glob": "^4.0.0", 2156 | "is-path-inside": "^3.0.3", 2157 | "js-yaml": "^4.1.0", 2158 | "json-stable-stringify-without-jsonify": "^1.0.1", 2159 | "levn": "^0.4.1", 2160 | "lodash.merge": "^4.6.2", 2161 | "minimatch": "^3.1.2", 2162 | "natural-compare": "^1.4.0", 2163 | "optionator": "^0.9.3", 2164 | "strip-ansi": "^6.0.1", 2165 | "text-table": "^0.2.0" 2166 | }, 2167 | "bin": { 2168 | "eslint": "bin/eslint.js" 2169 | }, 2170 | "engines": { 2171 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 2172 | }, 2173 | "funding": { 2174 | "url": "https://opencollective.com/eslint" 2175 | } 2176 | }, 2177 | "node_modules/eslint-scope": { 2178 | "version": "7.2.2", 2179 | "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", 2180 | "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", 2181 | "dev": true, 2182 | "dependencies": { 2183 | "esrecurse": "^4.3.0", 2184 | "estraverse": "^5.2.0" 2185 | }, 2186 | "engines": { 2187 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 2188 | }, 2189 | "funding": { 2190 | "url": "https://opencollective.com/eslint" 2191 | } 2192 | }, 2193 | "node_modules/eslint-visitor-keys": { 2194 | "version": "3.4.3", 2195 | "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", 2196 | "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", 2197 | "dev": true, 2198 | "engines": { 2199 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 2200 | }, 2201 | "funding": { 2202 | "url": "https://opencollective.com/eslint" 2203 | } 2204 | }, 2205 | "node_modules/espree": { 2206 | "version": "9.6.1", 2207 | "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", 2208 | "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", 2209 | "dev": true, 2210 | "dependencies": { 2211 | "acorn": "^8.9.0", 2212 | "acorn-jsx": "^5.3.2", 2213 | "eslint-visitor-keys": "^3.4.1" 2214 | }, 2215 | "engines": { 2216 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 2217 | }, 2218 | "funding": { 2219 | "url": "https://opencollective.com/eslint" 2220 | } 2221 | }, 2222 | "node_modules/esprima": { 2223 | "version": "4.0.1", 2224 | "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", 2225 | "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", 2226 | "bin": { 2227 | "esparse": "bin/esparse.js", 2228 | "esvalidate": "bin/esvalidate.js" 2229 | }, 2230 | "engines": { 2231 | "node": ">=4" 2232 | } 2233 | }, 2234 | "node_modules/esquery": { 2235 | "version": "1.5.0", 2236 | "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", 2237 | "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", 2238 | "dev": true, 2239 | "dependencies": { 2240 | "estraverse": "^5.1.0" 2241 | }, 2242 | "engines": { 2243 | "node": ">=0.10" 2244 | } 2245 | }, 2246 | "node_modules/esrecurse": { 2247 | "version": "4.3.0", 2248 | "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", 2249 | "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", 2250 | "dev": true, 2251 | "dependencies": { 2252 | "estraverse": "^5.2.0" 2253 | }, 2254 | "engines": { 2255 | "node": ">=4.0" 2256 | } 2257 | }, 2258 | "node_modules/estraverse": { 2259 | "version": "5.3.0", 2260 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", 2261 | "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", 2262 | "engines": { 2263 | "node": ">=4.0" 2264 | } 2265 | }, 2266 | "node_modules/esutils": { 2267 | "version": "2.0.3", 2268 | "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", 2269 | "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", 2270 | "engines": { 2271 | "node": ">=0.10.0" 2272 | } 2273 | }, 2274 | "node_modules/events": { 2275 | "version": "3.3.0", 2276 | "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", 2277 | "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", 2278 | "dev": true, 2279 | "peer": true, 2280 | "engines": { 2281 | "node": ">=0.8.x" 2282 | } 2283 | }, 2284 | "node_modules/extract-zip": { 2285 | "version": "2.0.1", 2286 | "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", 2287 | "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", 2288 | "dependencies": { 2289 | "debug": "^4.1.1", 2290 | "get-stream": "^5.1.0", 2291 | "yauzl": "^2.10.0" 2292 | }, 2293 | "bin": { 2294 | "extract-zip": "cli.js" 2295 | }, 2296 | "engines": { 2297 | "node": ">= 10.17.0" 2298 | }, 2299 | "optionalDependencies": { 2300 | "@types/yauzl": "^2.9.1" 2301 | } 2302 | }, 2303 | "node_modules/fast-deep-equal": { 2304 | "version": "3.1.3", 2305 | "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", 2306 | "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", 2307 | "dev": true 2308 | }, 2309 | "node_modules/fast-fifo": { 2310 | "version": "1.3.2", 2311 | "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", 2312 | "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==" 2313 | }, 2314 | "node_modules/fast-glob": { 2315 | "version": "3.3.1", 2316 | "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", 2317 | "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", 2318 | "dev": true, 2319 | "dependencies": { 2320 | "@nodelib/fs.stat": "^2.0.2", 2321 | "@nodelib/fs.walk": "^1.2.3", 2322 | "glob-parent": "^5.1.2", 2323 | "merge2": "^1.3.0", 2324 | "micromatch": "^4.0.4" 2325 | }, 2326 | "engines": { 2327 | "node": ">=8.6.0" 2328 | } 2329 | }, 2330 | "node_modules/fast-glob/node_modules/glob-parent": { 2331 | "version": "5.1.2", 2332 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", 2333 | "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", 2334 | "dev": true, 2335 | "dependencies": { 2336 | "is-glob": "^4.0.1" 2337 | }, 2338 | "engines": { 2339 | "node": ">= 6" 2340 | } 2341 | }, 2342 | "node_modules/fast-json-stable-stringify": { 2343 | "version": "2.1.0", 2344 | "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", 2345 | "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", 2346 | "dev": true 2347 | }, 2348 | "node_modules/fast-levenshtein": { 2349 | "version": "2.0.6", 2350 | "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", 2351 | "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", 2352 | "dev": true 2353 | }, 2354 | "node_modules/fastq": { 2355 | "version": "1.15.0", 2356 | "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", 2357 | "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", 2358 | "dev": true, 2359 | "dependencies": { 2360 | "reusify": "^1.0.4" 2361 | } 2362 | }, 2363 | "node_modules/fd-slicer": { 2364 | "version": "1.1.0", 2365 | "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", 2366 | "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", 2367 | "dependencies": { 2368 | "pend": "~1.2.0" 2369 | } 2370 | }, 2371 | "node_modules/file-entry-cache": { 2372 | "version": "6.0.1", 2373 | "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", 2374 | "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", 2375 | "dev": true, 2376 | "dependencies": { 2377 | "flat-cache": "^3.0.4" 2378 | }, 2379 | "engines": { 2380 | "node": "^10.12.0 || >=12.0.0" 2381 | } 2382 | }, 2383 | "node_modules/fill-range": { 2384 | "version": "7.0.1", 2385 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", 2386 | "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", 2387 | "dev": true, 2388 | "dependencies": { 2389 | "to-regex-range": "^5.0.1" 2390 | }, 2391 | "engines": { 2392 | "node": ">=8" 2393 | } 2394 | }, 2395 | "node_modules/find-up": { 2396 | "version": "5.0.0", 2397 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", 2398 | "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", 2399 | "dev": true, 2400 | "dependencies": { 2401 | "locate-path": "^6.0.0", 2402 | "path-exists": "^4.0.0" 2403 | }, 2404 | "engines": { 2405 | "node": ">=10" 2406 | }, 2407 | "funding": { 2408 | "url": "https://github.com/sponsors/sindresorhus" 2409 | } 2410 | }, 2411 | "node_modules/flat": { 2412 | "version": "5.0.2", 2413 | "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", 2414 | "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", 2415 | "dev": true, 2416 | "bin": { 2417 | "flat": "cli.js" 2418 | } 2419 | }, 2420 | "node_modules/flat-cache": { 2421 | "version": "3.1.1", 2422 | "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.1.1.tgz", 2423 | "integrity": "sha512-/qM2b3LUIaIgviBQovTLvijfyOQXPtSRnRK26ksj2J7rzPIecePUIpJsZ4T02Qg+xiAEKIs5K8dsHEd+VaKa/Q==", 2424 | "dev": true, 2425 | "dependencies": { 2426 | "flatted": "^3.2.9", 2427 | "keyv": "^4.5.3", 2428 | "rimraf": "^3.0.2" 2429 | }, 2430 | "engines": { 2431 | "node": ">=12.0.0" 2432 | } 2433 | }, 2434 | "node_modules/flatted": { 2435 | "version": "3.2.9", 2436 | "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz", 2437 | "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==", 2438 | "dev": true 2439 | }, 2440 | "node_modules/foreground-child": { 2441 | "version": "3.1.1", 2442 | "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", 2443 | "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", 2444 | "dev": true, 2445 | "dependencies": { 2446 | "cross-spawn": "^7.0.0", 2447 | "signal-exit": "^4.0.1" 2448 | }, 2449 | "engines": { 2450 | "node": ">=14" 2451 | }, 2452 | "funding": { 2453 | "url": "https://github.com/sponsors/isaacs" 2454 | } 2455 | }, 2456 | "node_modules/fs-extra": { 2457 | "version": "8.1.0", 2458 | "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", 2459 | "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", 2460 | "dependencies": { 2461 | "graceful-fs": "^4.2.0", 2462 | "jsonfile": "^4.0.0", 2463 | "universalify": "^0.1.0" 2464 | }, 2465 | "engines": { 2466 | "node": ">=6 <7 || >=8" 2467 | } 2468 | }, 2469 | "node_modules/fs.realpath": { 2470 | "version": "1.0.0", 2471 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 2472 | "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", 2473 | "dev": true 2474 | }, 2475 | "node_modules/fsevents": { 2476 | "version": "2.3.3", 2477 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", 2478 | "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", 2479 | "dev": true, 2480 | "hasInstallScript": true, 2481 | "optional": true, 2482 | "os": [ 2483 | "darwin" 2484 | ], 2485 | "engines": { 2486 | "node": "^8.16.0 || ^10.6.0 || >=11.0.0" 2487 | } 2488 | }, 2489 | "node_modules/get-caller-file": { 2490 | "version": "2.0.5", 2491 | "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", 2492 | "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", 2493 | "engines": { 2494 | "node": "6.* || 8.* || >= 10.*" 2495 | } 2496 | }, 2497 | "node_modules/get-stream": { 2498 | "version": "5.2.0", 2499 | "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", 2500 | "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", 2501 | "dependencies": { 2502 | "pump": "^3.0.0" 2503 | }, 2504 | "engines": { 2505 | "node": ">=8" 2506 | }, 2507 | "funding": { 2508 | "url": "https://github.com/sponsors/sindresorhus" 2509 | } 2510 | }, 2511 | "node_modules/get-uri": { 2512 | "version": "6.0.2", 2513 | "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-6.0.2.tgz", 2514 | "integrity": "sha512-5KLucCJobh8vBY1K07EFV4+cPZH3mrV9YeAruUseCQKHB58SGjjT2l9/eA9LD082IiuMjSlFJEcdJ27TXvbZNw==", 2515 | "dependencies": { 2516 | "basic-ftp": "^5.0.2", 2517 | "data-uri-to-buffer": "^6.0.0", 2518 | "debug": "^4.3.4", 2519 | "fs-extra": "^8.1.0" 2520 | }, 2521 | "engines": { 2522 | "node": ">= 14" 2523 | } 2524 | }, 2525 | "node_modules/glob": { 2526 | "version": "10.3.10", 2527 | "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", 2528 | "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", 2529 | "dev": true, 2530 | "dependencies": { 2531 | "foreground-child": "^3.1.0", 2532 | "jackspeak": "^2.3.5", 2533 | "minimatch": "^9.0.1", 2534 | "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", 2535 | "path-scurry": "^1.10.1" 2536 | }, 2537 | "bin": { 2538 | "glob": "dist/esm/bin.mjs" 2539 | }, 2540 | "engines": { 2541 | "node": ">=16 || 14 >=14.17" 2542 | }, 2543 | "funding": { 2544 | "url": "https://github.com/sponsors/isaacs" 2545 | } 2546 | }, 2547 | "node_modules/glob-parent": { 2548 | "version": "6.0.2", 2549 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", 2550 | "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", 2551 | "dev": true, 2552 | "dependencies": { 2553 | "is-glob": "^4.0.3" 2554 | }, 2555 | "engines": { 2556 | "node": ">=10.13.0" 2557 | } 2558 | }, 2559 | "node_modules/glob-to-regexp": { 2560 | "version": "0.4.1", 2561 | "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", 2562 | "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", 2563 | "dev": true, 2564 | "peer": true 2565 | }, 2566 | "node_modules/glob/node_modules/brace-expansion": { 2567 | "version": "2.0.1", 2568 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", 2569 | "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", 2570 | "dev": true, 2571 | "dependencies": { 2572 | "balanced-match": "^1.0.0" 2573 | } 2574 | }, 2575 | "node_modules/glob/node_modules/minimatch": { 2576 | "version": "9.0.3", 2577 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", 2578 | "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", 2579 | "dev": true, 2580 | "dependencies": { 2581 | "brace-expansion": "^2.0.1" 2582 | }, 2583 | "engines": { 2584 | "node": ">=16 || 14 >=14.17" 2585 | }, 2586 | "funding": { 2587 | "url": "https://github.com/sponsors/isaacs" 2588 | } 2589 | }, 2590 | "node_modules/globals": { 2591 | "version": "13.23.0", 2592 | "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", 2593 | "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", 2594 | "dev": true, 2595 | "dependencies": { 2596 | "type-fest": "^0.20.2" 2597 | }, 2598 | "engines": { 2599 | "node": ">=8" 2600 | }, 2601 | "funding": { 2602 | "url": "https://github.com/sponsors/sindresorhus" 2603 | } 2604 | }, 2605 | "node_modules/globby": { 2606 | "version": "11.1.0", 2607 | "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", 2608 | "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", 2609 | "dev": true, 2610 | "dependencies": { 2611 | "array-union": "^2.1.0", 2612 | "dir-glob": "^3.0.1", 2613 | "fast-glob": "^3.2.9", 2614 | "ignore": "^5.2.0", 2615 | "merge2": "^1.4.1", 2616 | "slash": "^3.0.0" 2617 | }, 2618 | "engines": { 2619 | "node": ">=10" 2620 | }, 2621 | "funding": { 2622 | "url": "https://github.com/sponsors/sindresorhus" 2623 | } 2624 | }, 2625 | "node_modules/graceful-fs": { 2626 | "version": "4.2.11", 2627 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", 2628 | "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" 2629 | }, 2630 | "node_modules/graphemer": { 2631 | "version": "1.4.0", 2632 | "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", 2633 | "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", 2634 | "dev": true 2635 | }, 2636 | "node_modules/has-flag": { 2637 | "version": "4.0.0", 2638 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", 2639 | "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", 2640 | "dev": true, 2641 | "engines": { 2642 | "node": ">=8" 2643 | } 2644 | }, 2645 | "node_modules/he": { 2646 | "version": "1.2.0", 2647 | "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", 2648 | "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", 2649 | "dev": true, 2650 | "bin": { 2651 | "he": "bin/he" 2652 | } 2653 | }, 2654 | "node_modules/http-proxy-agent": { 2655 | "version": "4.0.1", 2656 | "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", 2657 | "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", 2658 | "dev": true, 2659 | "dependencies": { 2660 | "@tootallnate/once": "1", 2661 | "agent-base": "6", 2662 | "debug": "4" 2663 | }, 2664 | "engines": { 2665 | "node": ">= 6" 2666 | } 2667 | }, 2668 | "node_modules/https-proxy-agent": { 2669 | "version": "5.0.1", 2670 | "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", 2671 | "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", 2672 | "dev": true, 2673 | "dependencies": { 2674 | "agent-base": "6", 2675 | "debug": "4" 2676 | }, 2677 | "engines": { 2678 | "node": ">= 6" 2679 | } 2680 | }, 2681 | "node_modules/ieee754": { 2682 | "version": "1.2.1", 2683 | "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", 2684 | "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", 2685 | "funding": [ 2686 | { 2687 | "type": "github", 2688 | "url": "https://github.com/sponsors/feross" 2689 | }, 2690 | { 2691 | "type": "patreon", 2692 | "url": "https://www.patreon.com/feross" 2693 | }, 2694 | { 2695 | "type": "consulting", 2696 | "url": "https://feross.org/support" 2697 | } 2698 | ] 2699 | }, 2700 | "node_modules/ignore": { 2701 | "version": "5.2.4", 2702 | "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", 2703 | "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", 2704 | "dev": true, 2705 | "engines": { 2706 | "node": ">= 4" 2707 | } 2708 | }, 2709 | "node_modules/img-clipboard": { 2710 | "version": "1.1.0", 2711 | "resolved": "https://registry.npmjs.org/img-clipboard/-/img-clipboard-1.1.0.tgz", 2712 | "integrity": "sha512-oPKwD+RVviDZ8IvYLDcs1aLodfYqSTPuXBgZUrXXYySeZb2UYVynj+Oh+b8YJvtkWXK6Ief5xu4+ri2BGI4ZsQ==", 2713 | "hasInstallScript": true, 2714 | "dependencies": { 2715 | "temp-write": "^4.0.0" 2716 | } 2717 | }, 2718 | "node_modules/immediate": { 2719 | "version": "3.0.6", 2720 | "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", 2721 | "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==", 2722 | "dev": true 2723 | }, 2724 | "node_modules/import-fresh": { 2725 | "version": "3.3.0", 2726 | "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", 2727 | "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", 2728 | "dependencies": { 2729 | "parent-module": "^1.0.0", 2730 | "resolve-from": "^4.0.0" 2731 | }, 2732 | "engines": { 2733 | "node": ">=6" 2734 | }, 2735 | "funding": { 2736 | "url": "https://github.com/sponsors/sindresorhus" 2737 | } 2738 | }, 2739 | "node_modules/imurmurhash": { 2740 | "version": "0.1.4", 2741 | "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", 2742 | "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", 2743 | "dev": true, 2744 | "engines": { 2745 | "node": ">=0.8.19" 2746 | } 2747 | }, 2748 | "node_modules/inflight": { 2749 | "version": "1.0.6", 2750 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 2751 | "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", 2752 | "dev": true, 2753 | "dependencies": { 2754 | "once": "^1.3.0", 2755 | "wrappy": "1" 2756 | } 2757 | }, 2758 | "node_modules/inherits": { 2759 | "version": "2.0.4", 2760 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 2761 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", 2762 | "dev": true 2763 | }, 2764 | "node_modules/ip": { 2765 | "version": "1.1.8", 2766 | "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.8.tgz", 2767 | "integrity": "sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg==" 2768 | }, 2769 | "node_modules/is-arrayish": { 2770 | "version": "0.2.1", 2771 | "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", 2772 | "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" 2773 | }, 2774 | "node_modules/is-binary-path": { 2775 | "version": "2.1.0", 2776 | "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", 2777 | "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", 2778 | "dev": true, 2779 | "dependencies": { 2780 | "binary-extensions": "^2.0.0" 2781 | }, 2782 | "engines": { 2783 | "node": ">=8" 2784 | } 2785 | }, 2786 | "node_modules/is-extglob": { 2787 | "version": "2.1.1", 2788 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", 2789 | "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", 2790 | "dev": true, 2791 | "engines": { 2792 | "node": ">=0.10.0" 2793 | } 2794 | }, 2795 | "node_modules/is-fullwidth-code-point": { 2796 | "version": "3.0.0", 2797 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", 2798 | "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", 2799 | "engines": { 2800 | "node": ">=8" 2801 | } 2802 | }, 2803 | "node_modules/is-glob": { 2804 | "version": "4.0.3", 2805 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", 2806 | "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", 2807 | "dev": true, 2808 | "dependencies": { 2809 | "is-extglob": "^2.1.1" 2810 | }, 2811 | "engines": { 2812 | "node": ">=0.10.0" 2813 | } 2814 | }, 2815 | "node_modules/is-number": { 2816 | "version": "7.0.0", 2817 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", 2818 | "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", 2819 | "dev": true, 2820 | "engines": { 2821 | "node": ">=0.12.0" 2822 | } 2823 | }, 2824 | "node_modules/is-path-inside": { 2825 | "version": "3.0.3", 2826 | "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", 2827 | "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", 2828 | "dev": true, 2829 | "engines": { 2830 | "node": ">=8" 2831 | } 2832 | }, 2833 | "node_modules/is-plain-obj": { 2834 | "version": "2.1.0", 2835 | "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", 2836 | "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", 2837 | "dev": true, 2838 | "engines": { 2839 | "node": ">=8" 2840 | } 2841 | }, 2842 | "node_modules/is-stream": { 2843 | "version": "2.0.1", 2844 | "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", 2845 | "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", 2846 | "engines": { 2847 | "node": ">=8" 2848 | }, 2849 | "funding": { 2850 | "url": "https://github.com/sponsors/sindresorhus" 2851 | } 2852 | }, 2853 | "node_modules/is-unicode-supported": { 2854 | "version": "0.1.0", 2855 | "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", 2856 | "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", 2857 | "dev": true, 2858 | "engines": { 2859 | "node": ">=10" 2860 | }, 2861 | "funding": { 2862 | "url": "https://github.com/sponsors/sindresorhus" 2863 | } 2864 | }, 2865 | "node_modules/isarray": { 2866 | "version": "1.0.0", 2867 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", 2868 | "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", 2869 | "dev": true 2870 | }, 2871 | "node_modules/isexe": { 2872 | "version": "2.0.0", 2873 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 2874 | "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", 2875 | "dev": true 2876 | }, 2877 | "node_modules/jackspeak": { 2878 | "version": "2.3.6", 2879 | "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", 2880 | "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", 2881 | "dev": true, 2882 | "dependencies": { 2883 | "@isaacs/cliui": "^8.0.2" 2884 | }, 2885 | "engines": { 2886 | "node": ">=14" 2887 | }, 2888 | "funding": { 2889 | "url": "https://github.com/sponsors/isaacs" 2890 | }, 2891 | "optionalDependencies": { 2892 | "@pkgjs/parseargs": "^0.11.0" 2893 | } 2894 | }, 2895 | "node_modules/jest-worker": { 2896 | "version": "27.5.1", 2897 | "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", 2898 | "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", 2899 | "dev": true, 2900 | "peer": true, 2901 | "dependencies": { 2902 | "@types/node": "*", 2903 | "merge-stream": "^2.0.0", 2904 | "supports-color": "^8.0.0" 2905 | }, 2906 | "engines": { 2907 | "node": ">= 10.13.0" 2908 | } 2909 | }, 2910 | "node_modules/jest-worker/node_modules/supports-color": { 2911 | "version": "8.1.1", 2912 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", 2913 | "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", 2914 | "dev": true, 2915 | "peer": true, 2916 | "dependencies": { 2917 | "has-flag": "^4.0.0" 2918 | }, 2919 | "engines": { 2920 | "node": ">=10" 2921 | }, 2922 | "funding": { 2923 | "url": "https://github.com/chalk/supports-color?sponsor=1" 2924 | } 2925 | }, 2926 | "node_modules/js-tokens": { 2927 | "version": "4.0.0", 2928 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", 2929 | "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" 2930 | }, 2931 | "node_modules/js-yaml": { 2932 | "version": "4.1.0", 2933 | "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", 2934 | "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", 2935 | "dependencies": { 2936 | "argparse": "^2.0.1" 2937 | }, 2938 | "bin": { 2939 | "js-yaml": "bin/js-yaml.js" 2940 | } 2941 | }, 2942 | "node_modules/json-buffer": { 2943 | "version": "3.0.1", 2944 | "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", 2945 | "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", 2946 | "dev": true 2947 | }, 2948 | "node_modules/json-parse-even-better-errors": { 2949 | "version": "2.3.1", 2950 | "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", 2951 | "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" 2952 | }, 2953 | "node_modules/json-schema-traverse": { 2954 | "version": "0.4.1", 2955 | "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", 2956 | "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", 2957 | "dev": true 2958 | }, 2959 | "node_modules/json-stable-stringify-without-jsonify": { 2960 | "version": "1.0.1", 2961 | "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", 2962 | "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", 2963 | "dev": true 2964 | }, 2965 | "node_modules/jsonc-parser": { 2966 | "version": "3.2.0", 2967 | "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", 2968 | "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==" 2969 | }, 2970 | "node_modules/jsonfile": { 2971 | "version": "4.0.0", 2972 | "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", 2973 | "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", 2974 | "optionalDependencies": { 2975 | "graceful-fs": "^4.1.6" 2976 | } 2977 | }, 2978 | "node_modules/jszip": { 2979 | "version": "3.10.1", 2980 | "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.10.1.tgz", 2981 | "integrity": "sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==", 2982 | "dev": true, 2983 | "dependencies": { 2984 | "lie": "~3.3.0", 2985 | "pako": "~1.0.2", 2986 | "readable-stream": "~2.3.6", 2987 | "setimmediate": "^1.0.5" 2988 | } 2989 | }, 2990 | "node_modules/keyv": { 2991 | "version": "4.5.4", 2992 | "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", 2993 | "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", 2994 | "dev": true, 2995 | "dependencies": { 2996 | "json-buffer": "3.0.1" 2997 | } 2998 | }, 2999 | "node_modules/levn": { 3000 | "version": "0.4.1", 3001 | "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", 3002 | "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", 3003 | "dev": true, 3004 | "dependencies": { 3005 | "prelude-ls": "^1.2.1", 3006 | "type-check": "~0.4.0" 3007 | }, 3008 | "engines": { 3009 | "node": ">= 0.8.0" 3010 | } 3011 | }, 3012 | "node_modules/lie": { 3013 | "version": "3.3.0", 3014 | "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz", 3015 | "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==", 3016 | "dev": true, 3017 | "dependencies": { 3018 | "immediate": "~3.0.5" 3019 | } 3020 | }, 3021 | "node_modules/lines-and-columns": { 3022 | "version": "1.2.4", 3023 | "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", 3024 | "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" 3025 | }, 3026 | "node_modules/loader-runner": { 3027 | "version": "4.3.0", 3028 | "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", 3029 | "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", 3030 | "dev": true, 3031 | "peer": true, 3032 | "engines": { 3033 | "node": ">=6.11.5" 3034 | } 3035 | }, 3036 | "node_modules/locate-path": { 3037 | "version": "6.0.0", 3038 | "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", 3039 | "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", 3040 | "dev": true, 3041 | "dependencies": { 3042 | "p-locate": "^5.0.0" 3043 | }, 3044 | "engines": { 3045 | "node": ">=10" 3046 | }, 3047 | "funding": { 3048 | "url": "https://github.com/sponsors/sindresorhus" 3049 | } 3050 | }, 3051 | "node_modules/lodash.merge": { 3052 | "version": "4.6.2", 3053 | "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", 3054 | "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", 3055 | "dev": true 3056 | }, 3057 | "node_modules/log-symbols": { 3058 | "version": "4.1.0", 3059 | "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", 3060 | "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", 3061 | "dev": true, 3062 | "dependencies": { 3063 | "chalk": "^4.1.0", 3064 | "is-unicode-supported": "^0.1.0" 3065 | }, 3066 | "engines": { 3067 | "node": ">=10" 3068 | }, 3069 | "funding": { 3070 | "url": "https://github.com/sponsors/sindresorhus" 3071 | } 3072 | }, 3073 | "node_modules/lru-cache": { 3074 | "version": "10.0.1", 3075 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.1.tgz", 3076 | "integrity": "sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==", 3077 | "dev": true, 3078 | "engines": { 3079 | "node": "14 || >=16.14" 3080 | } 3081 | }, 3082 | "node_modules/make-dir": { 3083 | "version": "3.1.0", 3084 | "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", 3085 | "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", 3086 | "dependencies": { 3087 | "semver": "^6.0.0" 3088 | }, 3089 | "engines": { 3090 | "node": ">=8" 3091 | }, 3092 | "funding": { 3093 | "url": "https://github.com/sponsors/sindresorhus" 3094 | } 3095 | }, 3096 | "node_modules/make-dir/node_modules/semver": { 3097 | "version": "6.3.1", 3098 | "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", 3099 | "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", 3100 | "bin": { 3101 | "semver": "bin/semver.js" 3102 | } 3103 | }, 3104 | "node_modules/merge-stream": { 3105 | "version": "2.0.0", 3106 | "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", 3107 | "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", 3108 | "dev": true, 3109 | "peer": true 3110 | }, 3111 | "node_modules/merge2": { 3112 | "version": "1.4.1", 3113 | "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", 3114 | "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", 3115 | "dev": true, 3116 | "engines": { 3117 | "node": ">= 8" 3118 | } 3119 | }, 3120 | "node_modules/micromatch": { 3121 | "version": "4.0.5", 3122 | "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", 3123 | "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", 3124 | "dev": true, 3125 | "dependencies": { 3126 | "braces": "^3.0.2", 3127 | "picomatch": "^2.3.1" 3128 | }, 3129 | "engines": { 3130 | "node": ">=8.6" 3131 | } 3132 | }, 3133 | "node_modules/mime-db": { 3134 | "version": "1.52.0", 3135 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", 3136 | "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", 3137 | "dev": true, 3138 | "peer": true, 3139 | "engines": { 3140 | "node": ">= 0.6" 3141 | } 3142 | }, 3143 | "node_modules/mime-types": { 3144 | "version": "2.1.35", 3145 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", 3146 | "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", 3147 | "dev": true, 3148 | "peer": true, 3149 | "dependencies": { 3150 | "mime-db": "1.52.0" 3151 | }, 3152 | "engines": { 3153 | "node": ">= 0.6" 3154 | } 3155 | }, 3156 | "node_modules/minimatch": { 3157 | "version": "3.1.2", 3158 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", 3159 | "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", 3160 | "dev": true, 3161 | "dependencies": { 3162 | "brace-expansion": "^1.1.7" 3163 | }, 3164 | "engines": { 3165 | "node": "*" 3166 | } 3167 | }, 3168 | "node_modules/minipass": { 3169 | "version": "7.0.4", 3170 | "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", 3171 | "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", 3172 | "dev": true, 3173 | "engines": { 3174 | "node": ">=16 || 14 >=14.17" 3175 | } 3176 | }, 3177 | "node_modules/mitt": { 3178 | "version": "3.0.1", 3179 | "resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.1.tgz", 3180 | "integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==" 3181 | }, 3182 | "node_modules/mkdirp-classic": { 3183 | "version": "0.5.3", 3184 | "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", 3185 | "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==" 3186 | }, 3187 | "node_modules/mocha": { 3188 | "version": "10.2.0", 3189 | "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.2.0.tgz", 3190 | "integrity": "sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==", 3191 | "dev": true, 3192 | "dependencies": { 3193 | "ansi-colors": "4.1.1", 3194 | "browser-stdout": "1.3.1", 3195 | "chokidar": "3.5.3", 3196 | "debug": "4.3.4", 3197 | "diff": "5.0.0", 3198 | "escape-string-regexp": "4.0.0", 3199 | "find-up": "5.0.0", 3200 | "glob": "7.2.0", 3201 | "he": "1.2.0", 3202 | "js-yaml": "4.1.0", 3203 | "log-symbols": "4.1.0", 3204 | "minimatch": "5.0.1", 3205 | "ms": "2.1.3", 3206 | "nanoid": "3.3.3", 3207 | "serialize-javascript": "6.0.0", 3208 | "strip-json-comments": "3.1.1", 3209 | "supports-color": "8.1.1", 3210 | "workerpool": "6.2.1", 3211 | "yargs": "16.2.0", 3212 | "yargs-parser": "20.2.4", 3213 | "yargs-unparser": "2.0.0" 3214 | }, 3215 | "bin": { 3216 | "_mocha": "bin/_mocha", 3217 | "mocha": "bin/mocha.js" 3218 | }, 3219 | "engines": { 3220 | "node": ">= 14.0.0" 3221 | }, 3222 | "funding": { 3223 | "type": "opencollective", 3224 | "url": "https://opencollective.com/mochajs" 3225 | } 3226 | }, 3227 | "node_modules/mocha/node_modules/glob": { 3228 | "version": "7.2.0", 3229 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", 3230 | "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", 3231 | "dev": true, 3232 | "dependencies": { 3233 | "fs.realpath": "^1.0.0", 3234 | "inflight": "^1.0.4", 3235 | "inherits": "2", 3236 | "minimatch": "^3.0.4", 3237 | "once": "^1.3.0", 3238 | "path-is-absolute": "^1.0.0" 3239 | }, 3240 | "engines": { 3241 | "node": "*" 3242 | }, 3243 | "funding": { 3244 | "url": "https://github.com/sponsors/isaacs" 3245 | } 3246 | }, 3247 | "node_modules/mocha/node_modules/glob/node_modules/minimatch": { 3248 | "version": "3.1.2", 3249 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", 3250 | "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", 3251 | "dev": true, 3252 | "dependencies": { 3253 | "brace-expansion": "^1.1.7" 3254 | }, 3255 | "engines": { 3256 | "node": "*" 3257 | } 3258 | }, 3259 | "node_modules/mocha/node_modules/minimatch": { 3260 | "version": "5.0.1", 3261 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz", 3262 | "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==", 3263 | "dev": true, 3264 | "dependencies": { 3265 | "brace-expansion": "^2.0.1" 3266 | }, 3267 | "engines": { 3268 | "node": ">=10" 3269 | } 3270 | }, 3271 | "node_modules/mocha/node_modules/minimatch/node_modules/brace-expansion": { 3272 | "version": "2.0.1", 3273 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", 3274 | "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", 3275 | "dev": true, 3276 | "dependencies": { 3277 | "balanced-match": "^1.0.0" 3278 | } 3279 | }, 3280 | "node_modules/mocha/node_modules/ms": { 3281 | "version": "2.1.3", 3282 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", 3283 | "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", 3284 | "dev": true 3285 | }, 3286 | "node_modules/mocha/node_modules/supports-color": { 3287 | "version": "8.1.1", 3288 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", 3289 | "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", 3290 | "dev": true, 3291 | "dependencies": { 3292 | "has-flag": "^4.0.0" 3293 | }, 3294 | "engines": { 3295 | "node": ">=10" 3296 | }, 3297 | "funding": { 3298 | "url": "https://github.com/chalk/supports-color?sponsor=1" 3299 | } 3300 | }, 3301 | "node_modules/ms": { 3302 | "version": "2.1.2", 3303 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", 3304 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" 3305 | }, 3306 | "node_modules/nanoid": { 3307 | "version": "3.3.3", 3308 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz", 3309 | "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==", 3310 | "dev": true, 3311 | "bin": { 3312 | "nanoid": "bin/nanoid.cjs" 3313 | }, 3314 | "engines": { 3315 | "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" 3316 | } 3317 | }, 3318 | "node_modules/natural-compare": { 3319 | "version": "1.4.0", 3320 | "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", 3321 | "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", 3322 | "dev": true 3323 | }, 3324 | "node_modules/neo-async": { 3325 | "version": "2.6.2", 3326 | "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", 3327 | "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", 3328 | "dev": true, 3329 | "peer": true 3330 | }, 3331 | "node_modules/netmask": { 3332 | "version": "2.0.2", 3333 | "resolved": "https://registry.npmjs.org/netmask/-/netmask-2.0.2.tgz", 3334 | "integrity": "sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==", 3335 | "engines": { 3336 | "node": ">= 0.4.0" 3337 | } 3338 | }, 3339 | "node_modules/node-fetch": { 3340 | "version": "2.7.0", 3341 | "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", 3342 | "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", 3343 | "dependencies": { 3344 | "whatwg-url": "^5.0.0" 3345 | }, 3346 | "engines": { 3347 | "node": "4.x || >=6.0.0" 3348 | }, 3349 | "peerDependencies": { 3350 | "encoding": "^0.1.0" 3351 | }, 3352 | "peerDependenciesMeta": { 3353 | "encoding": { 3354 | "optional": true 3355 | } 3356 | } 3357 | }, 3358 | "node_modules/node-releases": { 3359 | "version": "2.0.13", 3360 | "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", 3361 | "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==", 3362 | "dev": true, 3363 | "peer": true 3364 | }, 3365 | "node_modules/normalize-path": { 3366 | "version": "3.0.0", 3367 | "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", 3368 | "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", 3369 | "dev": true, 3370 | "engines": { 3371 | "node": ">=0.10.0" 3372 | } 3373 | }, 3374 | "node_modules/once": { 3375 | "version": "1.4.0", 3376 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 3377 | "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", 3378 | "dependencies": { 3379 | "wrappy": "1" 3380 | } 3381 | }, 3382 | "node_modules/optionator": { 3383 | "version": "0.9.3", 3384 | "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", 3385 | "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", 3386 | "dev": true, 3387 | "dependencies": { 3388 | "@aashutoshrathi/word-wrap": "^1.2.3", 3389 | "deep-is": "^0.1.3", 3390 | "fast-levenshtein": "^2.0.6", 3391 | "levn": "^0.4.1", 3392 | "prelude-ls": "^1.2.1", 3393 | "type-check": "^0.4.0" 3394 | }, 3395 | "engines": { 3396 | "node": ">= 0.8.0" 3397 | } 3398 | }, 3399 | "node_modules/p-limit": { 3400 | "version": "3.1.0", 3401 | "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", 3402 | "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", 3403 | "dev": true, 3404 | "dependencies": { 3405 | "yocto-queue": "^0.1.0" 3406 | }, 3407 | "engines": { 3408 | "node": ">=10" 3409 | }, 3410 | "funding": { 3411 | "url": "https://github.com/sponsors/sindresorhus" 3412 | } 3413 | }, 3414 | "node_modules/p-locate": { 3415 | "version": "5.0.0", 3416 | "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", 3417 | "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", 3418 | "dev": true, 3419 | "dependencies": { 3420 | "p-limit": "^3.0.2" 3421 | }, 3422 | "engines": { 3423 | "node": ">=10" 3424 | }, 3425 | "funding": { 3426 | "url": "https://github.com/sponsors/sindresorhus" 3427 | } 3428 | }, 3429 | "node_modules/pac-proxy-agent": { 3430 | "version": "7.0.1", 3431 | "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-7.0.1.tgz", 3432 | "integrity": "sha512-ASV8yU4LLKBAjqIPMbrgtaKIvxQri/yh2OpI+S6hVa9JRkUI3Y3NPFbfngDtY7oFtSMD3w31Xns89mDa3Feo5A==", 3433 | "dependencies": { 3434 | "@tootallnate/quickjs-emscripten": "^0.23.0", 3435 | "agent-base": "^7.0.2", 3436 | "debug": "^4.3.4", 3437 | "get-uri": "^6.0.1", 3438 | "http-proxy-agent": "^7.0.0", 3439 | "https-proxy-agent": "^7.0.2", 3440 | "pac-resolver": "^7.0.0", 3441 | "socks-proxy-agent": "^8.0.2" 3442 | }, 3443 | "engines": { 3444 | "node": ">= 14" 3445 | } 3446 | }, 3447 | "node_modules/pac-proxy-agent/node_modules/agent-base": { 3448 | "version": "7.1.0", 3449 | "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz", 3450 | "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==", 3451 | "dependencies": { 3452 | "debug": "^4.3.4" 3453 | }, 3454 | "engines": { 3455 | "node": ">= 14" 3456 | } 3457 | }, 3458 | "node_modules/pac-proxy-agent/node_modules/http-proxy-agent": { 3459 | "version": "7.0.0", 3460 | "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.0.tgz", 3461 | "integrity": "sha512-+ZT+iBxVUQ1asugqnD6oWoRiS25AkjNfG085dKJGtGxkdwLQrMKU5wJr2bOOFAXzKcTuqq+7fZlTMgG3SRfIYQ==", 3462 | "dependencies": { 3463 | "agent-base": "^7.1.0", 3464 | "debug": "^4.3.4" 3465 | }, 3466 | "engines": { 3467 | "node": ">= 14" 3468 | } 3469 | }, 3470 | "node_modules/pac-proxy-agent/node_modules/https-proxy-agent": { 3471 | "version": "7.0.2", 3472 | "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.2.tgz", 3473 | "integrity": "sha512-NmLNjm6ucYwtcUmL7JQC1ZQ57LmHP4lT15FQ8D61nak1rO6DH+fz5qNK2Ap5UN4ZapYICE3/0KodcLYSPsPbaA==", 3474 | "dependencies": { 3475 | "agent-base": "^7.0.2", 3476 | "debug": "4" 3477 | }, 3478 | "engines": { 3479 | "node": ">= 14" 3480 | } 3481 | }, 3482 | "node_modules/pac-resolver": { 3483 | "version": "7.0.0", 3484 | "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-7.0.0.tgz", 3485 | "integrity": "sha512-Fd9lT9vJbHYRACT8OhCbZBbxr6KRSawSovFpy8nDGshaK99S/EBhVIHp9+crhxrsZOuvLpgL1n23iyPg6Rl2hg==", 3486 | "dependencies": { 3487 | "degenerator": "^5.0.0", 3488 | "ip": "^1.1.8", 3489 | "netmask": "^2.0.2" 3490 | }, 3491 | "engines": { 3492 | "node": ">= 14" 3493 | } 3494 | }, 3495 | "node_modules/pako": { 3496 | "version": "1.0.11", 3497 | "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", 3498 | "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", 3499 | "dev": true 3500 | }, 3501 | "node_modules/parent-module": { 3502 | "version": "1.0.1", 3503 | "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", 3504 | "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", 3505 | "dependencies": { 3506 | "callsites": "^3.0.0" 3507 | }, 3508 | "engines": { 3509 | "node": ">=6" 3510 | } 3511 | }, 3512 | "node_modules/parse-json": { 3513 | "version": "5.2.0", 3514 | "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", 3515 | "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", 3516 | "dependencies": { 3517 | "@babel/code-frame": "^7.0.0", 3518 | "error-ex": "^1.3.1", 3519 | "json-parse-even-better-errors": "^2.3.0", 3520 | "lines-and-columns": "^1.1.6" 3521 | }, 3522 | "engines": { 3523 | "node": ">=8" 3524 | }, 3525 | "funding": { 3526 | "url": "https://github.com/sponsors/sindresorhus" 3527 | } 3528 | }, 3529 | "node_modules/path-exists": { 3530 | "version": "4.0.0", 3531 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", 3532 | "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", 3533 | "dev": true, 3534 | "engines": { 3535 | "node": ">=8" 3536 | } 3537 | }, 3538 | "node_modules/path-is-absolute": { 3539 | "version": "1.0.1", 3540 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 3541 | "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", 3542 | "dev": true, 3543 | "engines": { 3544 | "node": ">=0.10.0" 3545 | } 3546 | }, 3547 | "node_modules/path-key": { 3548 | "version": "3.1.1", 3549 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", 3550 | "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", 3551 | "dev": true, 3552 | "engines": { 3553 | "node": ">=8" 3554 | } 3555 | }, 3556 | "node_modules/path-scurry": { 3557 | "version": "1.10.1", 3558 | "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz", 3559 | "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==", 3560 | "dev": true, 3561 | "dependencies": { 3562 | "lru-cache": "^9.1.1 || ^10.0.0", 3563 | "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" 3564 | }, 3565 | "engines": { 3566 | "node": ">=16 || 14 >=14.17" 3567 | }, 3568 | "funding": { 3569 | "url": "https://github.com/sponsors/isaacs" 3570 | } 3571 | }, 3572 | "node_modules/path-type": { 3573 | "version": "4.0.0", 3574 | "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", 3575 | "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", 3576 | "engines": { 3577 | "node": ">=8" 3578 | } 3579 | }, 3580 | "node_modules/pend": { 3581 | "version": "1.2.0", 3582 | "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", 3583 | "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==" 3584 | }, 3585 | "node_modules/picocolors": { 3586 | "version": "1.0.0", 3587 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", 3588 | "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", 3589 | "dev": true, 3590 | "peer": true 3591 | }, 3592 | "node_modules/picomatch": { 3593 | "version": "2.3.1", 3594 | "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", 3595 | "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", 3596 | "dev": true, 3597 | "engines": { 3598 | "node": ">=8.6" 3599 | }, 3600 | "funding": { 3601 | "url": "https://github.com/sponsors/jonschlinkert" 3602 | } 3603 | }, 3604 | "node_modules/prelude-ls": { 3605 | "version": "1.2.1", 3606 | "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", 3607 | "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", 3608 | "dev": true, 3609 | "engines": { 3610 | "node": ">= 0.8.0" 3611 | } 3612 | }, 3613 | "node_modules/process-nextick-args": { 3614 | "version": "2.0.1", 3615 | "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", 3616 | "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", 3617 | "dev": true 3618 | }, 3619 | "node_modules/progress": { 3620 | "version": "2.0.3", 3621 | "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", 3622 | "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", 3623 | "engines": { 3624 | "node": ">=0.4.0" 3625 | } 3626 | }, 3627 | "node_modules/proxy-agent": { 3628 | "version": "6.3.1", 3629 | "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-6.3.1.tgz", 3630 | "integrity": "sha512-Rb5RVBy1iyqOtNl15Cw/llpeLH8bsb37gM1FUfKQ+Wck6xHlbAhWGUFiTRHtkjqGTA5pSHz6+0hrPW/oECihPQ==", 3631 | "dependencies": { 3632 | "agent-base": "^7.0.2", 3633 | "debug": "^4.3.4", 3634 | "http-proxy-agent": "^7.0.0", 3635 | "https-proxy-agent": "^7.0.2", 3636 | "lru-cache": "^7.14.1", 3637 | "pac-proxy-agent": "^7.0.1", 3638 | "proxy-from-env": "^1.1.0", 3639 | "socks-proxy-agent": "^8.0.2" 3640 | }, 3641 | "engines": { 3642 | "node": ">= 14" 3643 | } 3644 | }, 3645 | "node_modules/proxy-agent/node_modules/agent-base": { 3646 | "version": "7.1.0", 3647 | "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz", 3648 | "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==", 3649 | "dependencies": { 3650 | "debug": "^4.3.4" 3651 | }, 3652 | "engines": { 3653 | "node": ">= 14" 3654 | } 3655 | }, 3656 | "node_modules/proxy-agent/node_modules/http-proxy-agent": { 3657 | "version": "7.0.0", 3658 | "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.0.tgz", 3659 | "integrity": "sha512-+ZT+iBxVUQ1asugqnD6oWoRiS25AkjNfG085dKJGtGxkdwLQrMKU5wJr2bOOFAXzKcTuqq+7fZlTMgG3SRfIYQ==", 3660 | "dependencies": { 3661 | "agent-base": "^7.1.0", 3662 | "debug": "^4.3.4" 3663 | }, 3664 | "engines": { 3665 | "node": ">= 14" 3666 | } 3667 | }, 3668 | "node_modules/proxy-agent/node_modules/https-proxy-agent": { 3669 | "version": "7.0.2", 3670 | "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.2.tgz", 3671 | "integrity": "sha512-NmLNjm6ucYwtcUmL7JQC1ZQ57LmHP4lT15FQ8D61nak1rO6DH+fz5qNK2Ap5UN4ZapYICE3/0KodcLYSPsPbaA==", 3672 | "dependencies": { 3673 | "agent-base": "^7.0.2", 3674 | "debug": "4" 3675 | }, 3676 | "engines": { 3677 | "node": ">= 14" 3678 | } 3679 | }, 3680 | "node_modules/proxy-agent/node_modules/lru-cache": { 3681 | "version": "7.18.3", 3682 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", 3683 | "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", 3684 | "engines": { 3685 | "node": ">=12" 3686 | } 3687 | }, 3688 | "node_modules/proxy-from-env": { 3689 | "version": "1.1.0", 3690 | "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", 3691 | "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" 3692 | }, 3693 | "node_modules/pump": { 3694 | "version": "3.0.0", 3695 | "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", 3696 | "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", 3697 | "dependencies": { 3698 | "end-of-stream": "^1.1.0", 3699 | "once": "^1.3.1" 3700 | } 3701 | }, 3702 | "node_modules/punycode": { 3703 | "version": "2.3.0", 3704 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", 3705 | "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", 3706 | "dev": true, 3707 | "engines": { 3708 | "node": ">=6" 3709 | } 3710 | }, 3711 | "node_modules/puppeteer": { 3712 | "version": "21.3.8", 3713 | "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-21.3.8.tgz", 3714 | "integrity": "sha512-4OrInVIAtDgcznENUV4Du4gYSZhRmbCkckvOoPstXrUH4JsQ3atSegY+9f/tOKCDB2qh7sXaszDcFEn+RymY0g==", 3715 | "hasInstallScript": true, 3716 | "dependencies": { 3717 | "@puppeteer/browsers": "1.7.1", 3718 | "cosmiconfig": "8.3.6", 3719 | "puppeteer-core": "21.3.8" 3720 | }, 3721 | "engines": { 3722 | "node": ">=16.3.0" 3723 | } 3724 | }, 3725 | "node_modules/puppeteer-core": { 3726 | "version": "21.3.8", 3727 | "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-21.3.8.tgz", 3728 | "integrity": "sha512-yv12E/+zZ7Lei5tJB4sUkSrsuqKibuYpYxLGbmtLUjjYIqGE5HKz9OUI2I/RFHEvF+pHi2bTbv5bWydeCGJ6Mw==", 3729 | "dependencies": { 3730 | "@puppeteer/browsers": "1.7.1", 3731 | "chromium-bidi": "0.4.31", 3732 | "cross-fetch": "4.0.0", 3733 | "debug": "4.3.4", 3734 | "devtools-protocol": "0.0.1179426", 3735 | "ws": "8.14.2" 3736 | }, 3737 | "engines": { 3738 | "node": ">=16.3.0" 3739 | } 3740 | }, 3741 | "node_modules/queue-microtask": { 3742 | "version": "1.2.3", 3743 | "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", 3744 | "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", 3745 | "dev": true, 3746 | "funding": [ 3747 | { 3748 | "type": "github", 3749 | "url": "https://github.com/sponsors/feross" 3750 | }, 3751 | { 3752 | "type": "patreon", 3753 | "url": "https://www.patreon.com/feross" 3754 | }, 3755 | { 3756 | "type": "consulting", 3757 | "url": "https://feross.org/support" 3758 | } 3759 | ] 3760 | }, 3761 | "node_modules/queue-tick": { 3762 | "version": "1.0.1", 3763 | "resolved": "https://registry.npmjs.org/queue-tick/-/queue-tick-1.0.1.tgz", 3764 | "integrity": "sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==" 3765 | }, 3766 | "node_modules/randombytes": { 3767 | "version": "2.1.0", 3768 | "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", 3769 | "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", 3770 | "dev": true, 3771 | "dependencies": { 3772 | "safe-buffer": "^5.1.0" 3773 | } 3774 | }, 3775 | "node_modules/readable-stream": { 3776 | "version": "2.3.8", 3777 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", 3778 | "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", 3779 | "dev": true, 3780 | "dependencies": { 3781 | "core-util-is": "~1.0.0", 3782 | "inherits": "~2.0.3", 3783 | "isarray": "~1.0.0", 3784 | "process-nextick-args": "~2.0.0", 3785 | "safe-buffer": "~5.1.1", 3786 | "string_decoder": "~1.1.1", 3787 | "util-deprecate": "~1.0.1" 3788 | } 3789 | }, 3790 | "node_modules/readdirp": { 3791 | "version": "3.6.0", 3792 | "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", 3793 | "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", 3794 | "dev": true, 3795 | "dependencies": { 3796 | "picomatch": "^2.2.1" 3797 | }, 3798 | "engines": { 3799 | "node": ">=8.10.0" 3800 | } 3801 | }, 3802 | "node_modules/require-directory": { 3803 | "version": "2.1.1", 3804 | "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", 3805 | "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", 3806 | "engines": { 3807 | "node": ">=0.10.0" 3808 | } 3809 | }, 3810 | "node_modules/resolve-from": { 3811 | "version": "4.0.0", 3812 | "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", 3813 | "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", 3814 | "engines": { 3815 | "node": ">=4" 3816 | } 3817 | }, 3818 | "node_modules/reusify": { 3819 | "version": "1.0.4", 3820 | "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", 3821 | "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", 3822 | "dev": true, 3823 | "engines": { 3824 | "iojs": ">=1.0.0", 3825 | "node": ">=0.10.0" 3826 | } 3827 | }, 3828 | "node_modules/rimraf": { 3829 | "version": "3.0.2", 3830 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", 3831 | "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", 3832 | "dev": true, 3833 | "dependencies": { 3834 | "glob": "^7.1.3" 3835 | }, 3836 | "bin": { 3837 | "rimraf": "bin.js" 3838 | }, 3839 | "funding": { 3840 | "url": "https://github.com/sponsors/isaacs" 3841 | } 3842 | }, 3843 | "node_modules/rimraf/node_modules/glob": { 3844 | "version": "7.2.3", 3845 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", 3846 | "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", 3847 | "dev": true, 3848 | "dependencies": { 3849 | "fs.realpath": "^1.0.0", 3850 | "inflight": "^1.0.4", 3851 | "inherits": "2", 3852 | "minimatch": "^3.1.1", 3853 | "once": "^1.3.0", 3854 | "path-is-absolute": "^1.0.0" 3855 | }, 3856 | "engines": { 3857 | "node": "*" 3858 | }, 3859 | "funding": { 3860 | "url": "https://github.com/sponsors/isaacs" 3861 | } 3862 | }, 3863 | "node_modules/run-parallel": { 3864 | "version": "1.2.0", 3865 | "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", 3866 | "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", 3867 | "dev": true, 3868 | "funding": [ 3869 | { 3870 | "type": "github", 3871 | "url": "https://github.com/sponsors/feross" 3872 | }, 3873 | { 3874 | "type": "patreon", 3875 | "url": "https://www.patreon.com/feross" 3876 | }, 3877 | { 3878 | "type": "consulting", 3879 | "url": "https://feross.org/support" 3880 | } 3881 | ], 3882 | "dependencies": { 3883 | "queue-microtask": "^1.2.2" 3884 | } 3885 | }, 3886 | "node_modules/safe-buffer": { 3887 | "version": "5.1.2", 3888 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", 3889 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", 3890 | "dev": true 3891 | }, 3892 | "node_modules/schema-utils": { 3893 | "version": "3.3.0", 3894 | "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", 3895 | "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", 3896 | "dev": true, 3897 | "peer": true, 3898 | "dependencies": { 3899 | "@types/json-schema": "^7.0.8", 3900 | "ajv": "^6.12.5", 3901 | "ajv-keywords": "^3.5.2" 3902 | }, 3903 | "engines": { 3904 | "node": ">= 10.13.0" 3905 | }, 3906 | "funding": { 3907 | "type": "opencollective", 3908 | "url": "https://opencollective.com/webpack" 3909 | } 3910 | }, 3911 | "node_modules/semver": { 3912 | "version": "7.5.4", 3913 | "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", 3914 | "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", 3915 | "dev": true, 3916 | "dependencies": { 3917 | "lru-cache": "^6.0.0" 3918 | }, 3919 | "bin": { 3920 | "semver": "bin/semver.js" 3921 | }, 3922 | "engines": { 3923 | "node": ">=10" 3924 | } 3925 | }, 3926 | "node_modules/semver/node_modules/lru-cache": { 3927 | "version": "6.0.0", 3928 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", 3929 | "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", 3930 | "dev": true, 3931 | "dependencies": { 3932 | "yallist": "^4.0.0" 3933 | }, 3934 | "engines": { 3935 | "node": ">=10" 3936 | } 3937 | }, 3938 | "node_modules/serialize-javascript": { 3939 | "version": "6.0.0", 3940 | "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", 3941 | "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", 3942 | "dev": true, 3943 | "dependencies": { 3944 | "randombytes": "^2.1.0" 3945 | } 3946 | }, 3947 | "node_modules/setimmediate": { 3948 | "version": "1.0.5", 3949 | "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", 3950 | "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==", 3951 | "dev": true 3952 | }, 3953 | "node_modules/shebang-command": { 3954 | "version": "2.0.0", 3955 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", 3956 | "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", 3957 | "dev": true, 3958 | "dependencies": { 3959 | "shebang-regex": "^3.0.0" 3960 | }, 3961 | "engines": { 3962 | "node": ">=8" 3963 | } 3964 | }, 3965 | "node_modules/shebang-regex": { 3966 | "version": "3.0.0", 3967 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", 3968 | "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", 3969 | "dev": true, 3970 | "engines": { 3971 | "node": ">=8" 3972 | } 3973 | }, 3974 | "node_modules/shiki": { 3975 | "version": "0.14.5", 3976 | "resolved": "https://registry.npmjs.org/shiki/-/shiki-0.14.5.tgz", 3977 | "integrity": "sha512-1gCAYOcmCFONmErGTrS1fjzJLA7MGZmKzrBNX7apqSwhyITJg2O102uFzXUeBxNnEkDA9vHIKLyeKq0V083vIw==", 3978 | "dependencies": { 3979 | "ansi-sequence-parser": "^1.1.0", 3980 | "jsonc-parser": "^3.2.0", 3981 | "vscode-oniguruma": "^1.7.0", 3982 | "vscode-textmate": "^8.0.0" 3983 | } 3984 | }, 3985 | "node_modules/signal-exit": { 3986 | "version": "4.1.0", 3987 | "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", 3988 | "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", 3989 | "dev": true, 3990 | "engines": { 3991 | "node": ">=14" 3992 | }, 3993 | "funding": { 3994 | "url": "https://github.com/sponsors/isaacs" 3995 | } 3996 | }, 3997 | "node_modules/slash": { 3998 | "version": "3.0.0", 3999 | "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", 4000 | "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", 4001 | "dev": true, 4002 | "engines": { 4003 | "node": ">=8" 4004 | } 4005 | }, 4006 | "node_modules/smart-buffer": { 4007 | "version": "4.2.0", 4008 | "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", 4009 | "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", 4010 | "engines": { 4011 | "node": ">= 6.0.0", 4012 | "npm": ">= 3.0.0" 4013 | } 4014 | }, 4015 | "node_modules/socks": { 4016 | "version": "2.7.1", 4017 | "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz", 4018 | "integrity": "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==", 4019 | "dependencies": { 4020 | "ip": "^2.0.0", 4021 | "smart-buffer": "^4.2.0" 4022 | }, 4023 | "engines": { 4024 | "node": ">= 10.13.0", 4025 | "npm": ">= 3.0.0" 4026 | } 4027 | }, 4028 | "node_modules/socks-proxy-agent": { 4029 | "version": "8.0.2", 4030 | "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.2.tgz", 4031 | "integrity": "sha512-8zuqoLv1aP/66PHF5TqwJ7Czm3Yv32urJQHrVyhD7mmA6d61Zv8cIXQYPTWwmg6qlupnPvs/QKDmfa4P/qct2g==", 4032 | "dependencies": { 4033 | "agent-base": "^7.0.2", 4034 | "debug": "^4.3.4", 4035 | "socks": "^2.7.1" 4036 | }, 4037 | "engines": { 4038 | "node": ">= 14" 4039 | } 4040 | }, 4041 | "node_modules/socks-proxy-agent/node_modules/agent-base": { 4042 | "version": "7.1.0", 4043 | "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz", 4044 | "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==", 4045 | "dependencies": { 4046 | "debug": "^4.3.4" 4047 | }, 4048 | "engines": { 4049 | "node": ">= 14" 4050 | } 4051 | }, 4052 | "node_modules/socks/node_modules/ip": { 4053 | "version": "2.0.0", 4054 | "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz", 4055 | "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==" 4056 | }, 4057 | "node_modules/source-map": { 4058 | "version": "0.6.1", 4059 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", 4060 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", 4061 | "devOptional": true, 4062 | "engines": { 4063 | "node": ">=0.10.0" 4064 | } 4065 | }, 4066 | "node_modules/source-map-support": { 4067 | "version": "0.5.21", 4068 | "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", 4069 | "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", 4070 | "dev": true, 4071 | "peer": true, 4072 | "dependencies": { 4073 | "buffer-from": "^1.0.0", 4074 | "source-map": "^0.6.0" 4075 | } 4076 | }, 4077 | "node_modules/streamx": { 4078 | "version": "2.15.1", 4079 | "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.15.1.tgz", 4080 | "integrity": "sha512-fQMzy2O/Q47rgwErk/eGeLu/roaFWV0jVsogDmrszM9uIw8L5OA+t+V93MgYlufNptfjmYR1tOMWhei/Eh7TQA==", 4081 | "dependencies": { 4082 | "fast-fifo": "^1.1.0", 4083 | "queue-tick": "^1.0.1" 4084 | } 4085 | }, 4086 | "node_modules/string_decoder": { 4087 | "version": "1.1.1", 4088 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", 4089 | "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", 4090 | "dev": true, 4091 | "dependencies": { 4092 | "safe-buffer": "~5.1.0" 4093 | } 4094 | }, 4095 | "node_modules/string-width": { 4096 | "version": "5.1.2", 4097 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", 4098 | "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", 4099 | "dev": true, 4100 | "dependencies": { 4101 | "eastasianwidth": "^0.2.0", 4102 | "emoji-regex": "^9.2.2", 4103 | "strip-ansi": "^7.0.1" 4104 | }, 4105 | "engines": { 4106 | "node": ">=12" 4107 | }, 4108 | "funding": { 4109 | "url": "https://github.com/sponsors/sindresorhus" 4110 | } 4111 | }, 4112 | "node_modules/string-width-cjs": { 4113 | "name": "string-width", 4114 | "version": "4.2.3", 4115 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", 4116 | "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", 4117 | "dev": true, 4118 | "dependencies": { 4119 | "emoji-regex": "^8.0.0", 4120 | "is-fullwidth-code-point": "^3.0.0", 4121 | "strip-ansi": "^6.0.1" 4122 | }, 4123 | "engines": { 4124 | "node": ">=8" 4125 | } 4126 | }, 4127 | "node_modules/string-width-cjs/node_modules/emoji-regex": { 4128 | "version": "8.0.0", 4129 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", 4130 | "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", 4131 | "dev": true 4132 | }, 4133 | "node_modules/string-width/node_modules/ansi-regex": { 4134 | "version": "6.0.1", 4135 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", 4136 | "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", 4137 | "dev": true, 4138 | "engines": { 4139 | "node": ">=12" 4140 | }, 4141 | "funding": { 4142 | "url": "https://github.com/chalk/ansi-regex?sponsor=1" 4143 | } 4144 | }, 4145 | "node_modules/string-width/node_modules/strip-ansi": { 4146 | "version": "7.1.0", 4147 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", 4148 | "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", 4149 | "dev": true, 4150 | "dependencies": { 4151 | "ansi-regex": "^6.0.1" 4152 | }, 4153 | "engines": { 4154 | "node": ">=12" 4155 | }, 4156 | "funding": { 4157 | "url": "https://github.com/chalk/strip-ansi?sponsor=1" 4158 | } 4159 | }, 4160 | "node_modules/strip-ansi": { 4161 | "version": "6.0.1", 4162 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", 4163 | "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", 4164 | "dependencies": { 4165 | "ansi-regex": "^5.0.1" 4166 | }, 4167 | "engines": { 4168 | "node": ">=8" 4169 | } 4170 | }, 4171 | "node_modules/strip-ansi-cjs": { 4172 | "name": "strip-ansi", 4173 | "version": "6.0.1", 4174 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", 4175 | "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", 4176 | "dev": true, 4177 | "dependencies": { 4178 | "ansi-regex": "^5.0.1" 4179 | }, 4180 | "engines": { 4181 | "node": ">=8" 4182 | } 4183 | }, 4184 | "node_modules/strip-json-comments": { 4185 | "version": "3.1.1", 4186 | "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", 4187 | "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", 4188 | "dev": true, 4189 | "engines": { 4190 | "node": ">=8" 4191 | }, 4192 | "funding": { 4193 | "url": "https://github.com/sponsors/sindresorhus" 4194 | } 4195 | }, 4196 | "node_modules/supports-color": { 4197 | "version": "7.2.0", 4198 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", 4199 | "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", 4200 | "dev": true, 4201 | "dependencies": { 4202 | "has-flag": "^4.0.0" 4203 | }, 4204 | "engines": { 4205 | "node": ">=8" 4206 | } 4207 | }, 4208 | "node_modules/tapable": { 4209 | "version": "2.2.1", 4210 | "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", 4211 | "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", 4212 | "dev": true, 4213 | "engines": { 4214 | "node": ">=6" 4215 | } 4216 | }, 4217 | "node_modules/tar-fs": { 4218 | "version": "3.0.4", 4219 | "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.0.4.tgz", 4220 | "integrity": "sha512-5AFQU8b9qLfZCX9zp2duONhPmZv0hGYiBPJsyUdqMjzq/mqVpy/rEUSeHk1+YitmxugaptgBh5oDGU3VsAJq4w==", 4221 | "dependencies": { 4222 | "mkdirp-classic": "^0.5.2", 4223 | "pump": "^3.0.0", 4224 | "tar-stream": "^3.1.5" 4225 | } 4226 | }, 4227 | "node_modules/tar-stream": { 4228 | "version": "3.1.6", 4229 | "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.6.tgz", 4230 | "integrity": "sha512-B/UyjYwPpMBv+PaFSWAmtYjwdrlEaZQEhMIBFNC5oEG8lpiW8XjcSdmEaClj28ArfKScKHs2nshz3k2le6crsg==", 4231 | "dependencies": { 4232 | "b4a": "^1.6.4", 4233 | "fast-fifo": "^1.2.0", 4234 | "streamx": "^2.15.0" 4235 | } 4236 | }, 4237 | "node_modules/temp-dir": { 4238 | "version": "1.0.0", 4239 | "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-1.0.0.tgz", 4240 | "integrity": "sha512-xZFXEGbG7SNC3itwBzI3RYjq/cEhBkx2hJuKGIUOcEULmkQExXiHat2z/qkISYsuR+IKumhEfKKbV5qXmhICFQ==", 4241 | "engines": { 4242 | "node": ">=4" 4243 | } 4244 | }, 4245 | "node_modules/temp-write": { 4246 | "version": "4.0.0", 4247 | "resolved": "https://registry.npmjs.org/temp-write/-/temp-write-4.0.0.tgz", 4248 | "integrity": "sha512-HIeWmj77uOOHb0QX7siN3OtwV3CTntquin6TNVg6SHOqCP3hYKmox90eeFOGaY1MqJ9WYDDjkyZrW6qS5AWpbw==", 4249 | "dependencies": { 4250 | "graceful-fs": "^4.1.15", 4251 | "is-stream": "^2.0.0", 4252 | "make-dir": "^3.0.0", 4253 | "temp-dir": "^1.0.0", 4254 | "uuid": "^3.3.2" 4255 | }, 4256 | "engines": { 4257 | "node": ">=8" 4258 | } 4259 | }, 4260 | "node_modules/terser": { 4261 | "version": "5.21.0", 4262 | "resolved": "https://registry.npmjs.org/terser/-/terser-5.21.0.tgz", 4263 | "integrity": "sha512-WtnFKrxu9kaoXuiZFSGrcAvvBqAdmKx0SFNmVNYdJamMu9yyN3I/QF0FbH4QcqJQ+y1CJnzxGIKH0cSj+FGYRw==", 4264 | "dev": true, 4265 | "peer": true, 4266 | "dependencies": { 4267 | "@jridgewell/source-map": "^0.3.3", 4268 | "acorn": "^8.8.2", 4269 | "commander": "^2.20.0", 4270 | "source-map-support": "~0.5.20" 4271 | }, 4272 | "bin": { 4273 | "terser": "bin/terser" 4274 | }, 4275 | "engines": { 4276 | "node": ">=10" 4277 | } 4278 | }, 4279 | "node_modules/terser-webpack-plugin": { 4280 | "version": "5.3.9", 4281 | "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz", 4282 | "integrity": "sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==", 4283 | "dev": true, 4284 | "peer": true, 4285 | "dependencies": { 4286 | "@jridgewell/trace-mapping": "^0.3.17", 4287 | "jest-worker": "^27.4.5", 4288 | "schema-utils": "^3.1.1", 4289 | "serialize-javascript": "^6.0.1", 4290 | "terser": "^5.16.8" 4291 | }, 4292 | "engines": { 4293 | "node": ">= 10.13.0" 4294 | }, 4295 | "funding": { 4296 | "type": "opencollective", 4297 | "url": "https://opencollective.com/webpack" 4298 | }, 4299 | "peerDependencies": { 4300 | "webpack": "^5.1.0" 4301 | }, 4302 | "peerDependenciesMeta": { 4303 | "@swc/core": { 4304 | "optional": true 4305 | }, 4306 | "esbuild": { 4307 | "optional": true 4308 | }, 4309 | "uglify-js": { 4310 | "optional": true 4311 | } 4312 | } 4313 | }, 4314 | "node_modules/terser-webpack-plugin/node_modules/serialize-javascript": { 4315 | "version": "6.0.1", 4316 | "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", 4317 | "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", 4318 | "dev": true, 4319 | "peer": true, 4320 | "dependencies": { 4321 | "randombytes": "^2.1.0" 4322 | } 4323 | }, 4324 | "node_modules/text-table": { 4325 | "version": "0.2.0", 4326 | "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", 4327 | "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", 4328 | "dev": true 4329 | }, 4330 | "node_modules/through": { 4331 | "version": "2.3.8", 4332 | "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", 4333 | "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==" 4334 | }, 4335 | "node_modules/to-regex-range": { 4336 | "version": "5.0.1", 4337 | "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", 4338 | "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", 4339 | "dev": true, 4340 | "dependencies": { 4341 | "is-number": "^7.0.0" 4342 | }, 4343 | "engines": { 4344 | "node": ">=8.0" 4345 | } 4346 | }, 4347 | "node_modules/tr46": { 4348 | "version": "0.0.3", 4349 | "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", 4350 | "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" 4351 | }, 4352 | "node_modules/ts-api-utils": { 4353 | "version": "1.0.3", 4354 | "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.0.3.tgz", 4355 | "integrity": "sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==", 4356 | "dev": true, 4357 | "engines": { 4358 | "node": ">=16.13.0" 4359 | }, 4360 | "peerDependencies": { 4361 | "typescript": ">=4.2.0" 4362 | } 4363 | }, 4364 | "node_modules/ts-loader": { 4365 | "version": "9.5.0", 4366 | "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.5.0.tgz", 4367 | "integrity": "sha512-LLlB/pkB4q9mW2yLdFMnK3dEHbrBjeZTYguaaIfusyojBgAGf5kF+O6KcWqiGzWqHk0LBsoolrp4VftEURhybg==", 4368 | "dev": true, 4369 | "dependencies": { 4370 | "chalk": "^4.1.0", 4371 | "enhanced-resolve": "^5.0.0", 4372 | "micromatch": "^4.0.0", 4373 | "semver": "^7.3.4", 4374 | "source-map": "^0.7.4" 4375 | }, 4376 | "engines": { 4377 | "node": ">=12.0.0" 4378 | }, 4379 | "peerDependencies": { 4380 | "typescript": "*", 4381 | "webpack": "^5.0.0" 4382 | } 4383 | }, 4384 | "node_modules/ts-loader/node_modules/source-map": { 4385 | "version": "0.7.4", 4386 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", 4387 | "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", 4388 | "dev": true, 4389 | "engines": { 4390 | "node": ">= 8" 4391 | } 4392 | }, 4393 | "node_modules/tslib": { 4394 | "version": "2.6.2", 4395 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", 4396 | "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" 4397 | }, 4398 | "node_modules/type-check": { 4399 | "version": "0.4.0", 4400 | "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", 4401 | "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", 4402 | "dev": true, 4403 | "dependencies": { 4404 | "prelude-ls": "^1.2.1" 4405 | }, 4406 | "engines": { 4407 | "node": ">= 0.8.0" 4408 | } 4409 | }, 4410 | "node_modules/type-fest": { 4411 | "version": "0.20.2", 4412 | "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", 4413 | "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", 4414 | "dev": true, 4415 | "engines": { 4416 | "node": ">=10" 4417 | }, 4418 | "funding": { 4419 | "url": "https://github.com/sponsors/sindresorhus" 4420 | } 4421 | }, 4422 | "node_modules/typescript": { 4423 | "version": "5.2.2", 4424 | "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz", 4425 | "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==", 4426 | "devOptional": true, 4427 | "bin": { 4428 | "tsc": "bin/tsc", 4429 | "tsserver": "bin/tsserver" 4430 | }, 4431 | "engines": { 4432 | "node": ">=14.17" 4433 | } 4434 | }, 4435 | "node_modules/unbzip2-stream": { 4436 | "version": "1.4.3", 4437 | "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz", 4438 | "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==", 4439 | "dependencies": { 4440 | "buffer": "^5.2.1", 4441 | "through": "^2.3.8" 4442 | } 4443 | }, 4444 | "node_modules/universalify": { 4445 | "version": "0.1.2", 4446 | "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", 4447 | "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", 4448 | "engines": { 4449 | "node": ">= 4.0.0" 4450 | } 4451 | }, 4452 | "node_modules/update-browserslist-db": { 4453 | "version": "1.0.13", 4454 | "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", 4455 | "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", 4456 | "dev": true, 4457 | "funding": [ 4458 | { 4459 | "type": "opencollective", 4460 | "url": "https://opencollective.com/browserslist" 4461 | }, 4462 | { 4463 | "type": "tidelift", 4464 | "url": "https://tidelift.com/funding/github/npm/browserslist" 4465 | }, 4466 | { 4467 | "type": "github", 4468 | "url": "https://github.com/sponsors/ai" 4469 | } 4470 | ], 4471 | "peer": true, 4472 | "dependencies": { 4473 | "escalade": "^3.1.1", 4474 | "picocolors": "^1.0.0" 4475 | }, 4476 | "bin": { 4477 | "update-browserslist-db": "cli.js" 4478 | }, 4479 | "peerDependencies": { 4480 | "browserslist": ">= 4.21.0" 4481 | } 4482 | }, 4483 | "node_modules/uri-js": { 4484 | "version": "4.4.1", 4485 | "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", 4486 | "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", 4487 | "dev": true, 4488 | "dependencies": { 4489 | "punycode": "^2.1.0" 4490 | } 4491 | }, 4492 | "node_modules/urlpattern-polyfill": { 4493 | "version": "9.0.0", 4494 | "resolved": "https://registry.npmjs.org/urlpattern-polyfill/-/urlpattern-polyfill-9.0.0.tgz", 4495 | "integrity": "sha512-WHN8KDQblxd32odxeIgo83rdVDE2bvdkb86it7bMhYZwWKJz0+O0RK/eZiHYnM+zgt/U7hAHOlCQGfjjvSkw2g==" 4496 | }, 4497 | "node_modules/util-deprecate": { 4498 | "version": "1.0.2", 4499 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", 4500 | "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", 4501 | "dev": true 4502 | }, 4503 | "node_modules/uuid": { 4504 | "version": "3.4.0", 4505 | "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", 4506 | "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", 4507 | "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", 4508 | "bin": { 4509 | "uuid": "bin/uuid" 4510 | } 4511 | }, 4512 | "node_modules/vscode-oniguruma": { 4513 | "version": "1.7.0", 4514 | "resolved": "https://registry.npmjs.org/vscode-oniguruma/-/vscode-oniguruma-1.7.0.tgz", 4515 | "integrity": "sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA==" 4516 | }, 4517 | "node_modules/vscode-textmate": { 4518 | "version": "8.0.0", 4519 | "resolved": "https://registry.npmjs.org/vscode-textmate/-/vscode-textmate-8.0.0.tgz", 4520 | "integrity": "sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg==" 4521 | }, 4522 | "node_modules/watchpack": { 4523 | "version": "2.4.0", 4524 | "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", 4525 | "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", 4526 | "dev": true, 4527 | "peer": true, 4528 | "dependencies": { 4529 | "glob-to-regexp": "^0.4.1", 4530 | "graceful-fs": "^4.1.2" 4531 | }, 4532 | "engines": { 4533 | "node": ">=10.13.0" 4534 | } 4535 | }, 4536 | "node_modules/webidl-conversions": { 4537 | "version": "3.0.1", 4538 | "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", 4539 | "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" 4540 | }, 4541 | "node_modules/webpack": { 4542 | "version": "5.89.0", 4543 | "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.89.0.tgz", 4544 | "integrity": "sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==", 4545 | "dev": true, 4546 | "peer": true, 4547 | "dependencies": { 4548 | "@types/eslint-scope": "^3.7.3", 4549 | "@types/estree": "^1.0.0", 4550 | "@webassemblyjs/ast": "^1.11.5", 4551 | "@webassemblyjs/wasm-edit": "^1.11.5", 4552 | "@webassemblyjs/wasm-parser": "^1.11.5", 4553 | "acorn": "^8.7.1", 4554 | "acorn-import-assertions": "^1.9.0", 4555 | "browserslist": "^4.14.5", 4556 | "chrome-trace-event": "^1.0.2", 4557 | "enhanced-resolve": "^5.15.0", 4558 | "es-module-lexer": "^1.2.1", 4559 | "eslint-scope": "5.1.1", 4560 | "events": "^3.2.0", 4561 | "glob-to-regexp": "^0.4.1", 4562 | "graceful-fs": "^4.2.9", 4563 | "json-parse-even-better-errors": "^2.3.1", 4564 | "loader-runner": "^4.2.0", 4565 | "mime-types": "^2.1.27", 4566 | "neo-async": "^2.6.2", 4567 | "schema-utils": "^3.2.0", 4568 | "tapable": "^2.1.1", 4569 | "terser-webpack-plugin": "^5.3.7", 4570 | "watchpack": "^2.4.0", 4571 | "webpack-sources": "^3.2.3" 4572 | }, 4573 | "bin": { 4574 | "webpack": "bin/webpack.js" 4575 | }, 4576 | "engines": { 4577 | "node": ">=10.13.0" 4578 | }, 4579 | "funding": { 4580 | "type": "opencollective", 4581 | "url": "https://opencollective.com/webpack" 4582 | }, 4583 | "peerDependenciesMeta": { 4584 | "webpack-cli": { 4585 | "optional": true 4586 | } 4587 | } 4588 | }, 4589 | "node_modules/webpack-sources": { 4590 | "version": "3.2.3", 4591 | "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", 4592 | "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", 4593 | "dev": true, 4594 | "peer": true, 4595 | "engines": { 4596 | "node": ">=10.13.0" 4597 | } 4598 | }, 4599 | "node_modules/webpack/node_modules/eslint-scope": { 4600 | "version": "5.1.1", 4601 | "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", 4602 | "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", 4603 | "dev": true, 4604 | "peer": true, 4605 | "dependencies": { 4606 | "esrecurse": "^4.3.0", 4607 | "estraverse": "^4.1.1" 4608 | }, 4609 | "engines": { 4610 | "node": ">=8.0.0" 4611 | } 4612 | }, 4613 | "node_modules/webpack/node_modules/estraverse": { 4614 | "version": "4.3.0", 4615 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", 4616 | "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", 4617 | "dev": true, 4618 | "peer": true, 4619 | "engines": { 4620 | "node": ">=4.0" 4621 | } 4622 | }, 4623 | "node_modules/whatwg-url": { 4624 | "version": "5.0.0", 4625 | "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", 4626 | "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", 4627 | "dependencies": { 4628 | "tr46": "~0.0.3", 4629 | "webidl-conversions": "^3.0.0" 4630 | } 4631 | }, 4632 | "node_modules/which": { 4633 | "version": "2.0.2", 4634 | "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", 4635 | "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", 4636 | "dev": true, 4637 | "dependencies": { 4638 | "isexe": "^2.0.0" 4639 | }, 4640 | "bin": { 4641 | "node-which": "bin/node-which" 4642 | }, 4643 | "engines": { 4644 | "node": ">= 8" 4645 | } 4646 | }, 4647 | "node_modules/workerpool": { 4648 | "version": "6.2.1", 4649 | "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz", 4650 | "integrity": "sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==", 4651 | "dev": true 4652 | }, 4653 | "node_modules/wrap-ansi": { 4654 | "version": "8.1.0", 4655 | "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", 4656 | "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", 4657 | "dev": true, 4658 | "dependencies": { 4659 | "ansi-styles": "^6.1.0", 4660 | "string-width": "^5.0.1", 4661 | "strip-ansi": "^7.0.1" 4662 | }, 4663 | "engines": { 4664 | "node": ">=12" 4665 | }, 4666 | "funding": { 4667 | "url": "https://github.com/chalk/wrap-ansi?sponsor=1" 4668 | } 4669 | }, 4670 | "node_modules/wrap-ansi-cjs": { 4671 | "name": "wrap-ansi", 4672 | "version": "7.0.0", 4673 | "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", 4674 | "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", 4675 | "dev": true, 4676 | "dependencies": { 4677 | "ansi-styles": "^4.0.0", 4678 | "string-width": "^4.1.0", 4679 | "strip-ansi": "^6.0.0" 4680 | }, 4681 | "engines": { 4682 | "node": ">=10" 4683 | }, 4684 | "funding": { 4685 | "url": "https://github.com/chalk/wrap-ansi?sponsor=1" 4686 | } 4687 | }, 4688 | "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { 4689 | "version": "8.0.0", 4690 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", 4691 | "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", 4692 | "dev": true 4693 | }, 4694 | "node_modules/wrap-ansi-cjs/node_modules/string-width": { 4695 | "version": "4.2.3", 4696 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", 4697 | "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", 4698 | "dev": true, 4699 | "dependencies": { 4700 | "emoji-regex": "^8.0.0", 4701 | "is-fullwidth-code-point": "^3.0.0", 4702 | "strip-ansi": "^6.0.1" 4703 | }, 4704 | "engines": { 4705 | "node": ">=8" 4706 | } 4707 | }, 4708 | "node_modules/wrap-ansi/node_modules/ansi-regex": { 4709 | "version": "6.0.1", 4710 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", 4711 | "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", 4712 | "dev": true, 4713 | "engines": { 4714 | "node": ">=12" 4715 | }, 4716 | "funding": { 4717 | "url": "https://github.com/chalk/ansi-regex?sponsor=1" 4718 | } 4719 | }, 4720 | "node_modules/wrap-ansi/node_modules/ansi-styles": { 4721 | "version": "6.2.1", 4722 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", 4723 | "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", 4724 | "dev": true, 4725 | "engines": { 4726 | "node": ">=12" 4727 | }, 4728 | "funding": { 4729 | "url": "https://github.com/chalk/ansi-styles?sponsor=1" 4730 | } 4731 | }, 4732 | "node_modules/wrap-ansi/node_modules/strip-ansi": { 4733 | "version": "7.1.0", 4734 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", 4735 | "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", 4736 | "dev": true, 4737 | "dependencies": { 4738 | "ansi-regex": "^6.0.1" 4739 | }, 4740 | "engines": { 4741 | "node": ">=12" 4742 | }, 4743 | "funding": { 4744 | "url": "https://github.com/chalk/strip-ansi?sponsor=1" 4745 | } 4746 | }, 4747 | "node_modules/wrappy": { 4748 | "version": "1.0.2", 4749 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 4750 | "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" 4751 | }, 4752 | "node_modules/ws": { 4753 | "version": "8.14.2", 4754 | "resolved": "https://registry.npmjs.org/ws/-/ws-8.14.2.tgz", 4755 | "integrity": "sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g==", 4756 | "engines": { 4757 | "node": ">=10.0.0" 4758 | }, 4759 | "peerDependencies": { 4760 | "bufferutil": "^4.0.1", 4761 | "utf-8-validate": ">=5.0.2" 4762 | }, 4763 | "peerDependenciesMeta": { 4764 | "bufferutil": { 4765 | "optional": true 4766 | }, 4767 | "utf-8-validate": { 4768 | "optional": true 4769 | } 4770 | } 4771 | }, 4772 | "node_modules/y18n": { 4773 | "version": "5.0.8", 4774 | "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", 4775 | "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", 4776 | "engines": { 4777 | "node": ">=10" 4778 | } 4779 | }, 4780 | "node_modules/yallist": { 4781 | "version": "4.0.0", 4782 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", 4783 | "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", 4784 | "dev": true 4785 | }, 4786 | "node_modules/yargs": { 4787 | "version": "16.2.0", 4788 | "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", 4789 | "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", 4790 | "dev": true, 4791 | "dependencies": { 4792 | "cliui": "^7.0.2", 4793 | "escalade": "^3.1.1", 4794 | "get-caller-file": "^2.0.5", 4795 | "require-directory": "^2.1.1", 4796 | "string-width": "^4.2.0", 4797 | "y18n": "^5.0.5", 4798 | "yargs-parser": "^20.2.2" 4799 | }, 4800 | "engines": { 4801 | "node": ">=10" 4802 | } 4803 | }, 4804 | "node_modules/yargs-parser": { 4805 | "version": "20.2.4", 4806 | "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", 4807 | "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", 4808 | "dev": true, 4809 | "engines": { 4810 | "node": ">=10" 4811 | } 4812 | }, 4813 | "node_modules/yargs-unparser": { 4814 | "version": "2.0.0", 4815 | "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", 4816 | "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", 4817 | "dev": true, 4818 | "dependencies": { 4819 | "camelcase": "^6.0.0", 4820 | "decamelize": "^4.0.0", 4821 | "flat": "^5.0.2", 4822 | "is-plain-obj": "^2.1.0" 4823 | }, 4824 | "engines": { 4825 | "node": ">=10" 4826 | } 4827 | }, 4828 | "node_modules/yargs/node_modules/emoji-regex": { 4829 | "version": "8.0.0", 4830 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", 4831 | "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", 4832 | "dev": true 4833 | }, 4834 | "node_modules/yargs/node_modules/string-width": { 4835 | "version": "4.2.3", 4836 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", 4837 | "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", 4838 | "dev": true, 4839 | "dependencies": { 4840 | "emoji-regex": "^8.0.0", 4841 | "is-fullwidth-code-point": "^3.0.0", 4842 | "strip-ansi": "^6.0.1" 4843 | }, 4844 | "engines": { 4845 | "node": ">=8" 4846 | } 4847 | }, 4848 | "node_modules/yauzl": { 4849 | "version": "2.10.0", 4850 | "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", 4851 | "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", 4852 | "dependencies": { 4853 | "buffer-crc32": "~0.2.3", 4854 | "fd-slicer": "~1.1.0" 4855 | } 4856 | }, 4857 | "node_modules/yocto-queue": { 4858 | "version": "0.1.0", 4859 | "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", 4860 | "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", 4861 | "dev": true, 4862 | "engines": { 4863 | "node": ">=10" 4864 | }, 4865 | "funding": { 4866 | "url": "https://github.com/sponsors/sindresorhus" 4867 | } 4868 | } 4869 | } 4870 | } 4871 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "capture", 3 | "displayName": "capture", 4 | "description": "Transform highlighted code into beautifully styled images with a single click in VS Code.", 5 | "version": "0.0.1", 6 | "icon": "assets/logo.png", 7 | "publisher": "khattakdev", 8 | "engines": { 9 | "vscode": "^1.83.0" 10 | }, 11 | "categories": [ 12 | "Other" 13 | ], 14 | "activationEvents": [], 15 | "main": "./out/extension.js", 16 | "contributes": { 17 | "commands": [ 18 | { 19 | "command": "capture.snapshot", 20 | "title": "Capture: Take a snapshot" 21 | } 22 | ], 23 | "keybindings": [ 24 | { 25 | "command": "capture.snapshot", 26 | "key": "ctrl+alt+p", 27 | "mac": "cmd+alt+p", 28 | "when": "editorHasSelection" 29 | } 30 | ], 31 | "configuration": [{ 32 | "title": "Capture settings", 33 | "properties": { 34 | "capture.themeName": { 35 | "type": "string", 36 | "default": "one-dark-pro", 37 | "description": "Select a theme for the screenshot. This theme will be used to style the code in the screenshot, making it look like it does in the VS Code editor with that theme applied.", 38 | "enum": ["dark-plus","dracula-soft","dracula","github-dark-dimmed","github-dark","github-light","hc_light","light-plus","material-theme-darker","material-theme-lighter","material-theme-ocean","material-theme","material-theme-palenight","min-dark","min-light","monokai","nord","one-dark-pro","poimandres","rose-pine-dane","rose-pine","slack-dark","slack-ochin","solarized-dark","solarized-light","vitesse-dark","vitesse-light","rose-pine-dawn","rose-pine-moon","css-variables"] 39 | } 40 | } 41 | }] 42 | }, 43 | "repository": { 44 | "type": "git", 45 | "url": "https://github.com/khattakdev/capture.git" 46 | }, 47 | "scripts": { 48 | "vscode:prepublish": "npm run compile", 49 | "compile": "tsc -p ./", 50 | "watch": "tsc -watch -p ./", 51 | "pretest": "npm run compile && npm run lint", 52 | "lint": "eslint src --ext ts", 53 | "test": "node ./out/test/runTest.js" 54 | }, 55 | "devDependencies": { 56 | "@types/mocha": "^10.0.2", 57 | "@types/node": "^18.18.4", 58 | "@types/puppeteer": "^7.0.4", 59 | "@types/vscode": "^1.83.0", 60 | "@typescript-eslint/eslint-plugin": "^6.7.3", 61 | "@typescript-eslint/parser": "^6.7.3", 62 | "@vscode/test-electron": "^2.3.4", 63 | "esbuild": "^0.19.4", 64 | "eslint": "^8.50.0", 65 | "glob": "^10.3.3", 66 | "mocha": "^10.2.0", 67 | "ts-loader": "^9.5.0", 68 | "typescript": "^5.2.2" 69 | }, 70 | "dependencies": { 71 | "img-clipboard": "^1.1.0", 72 | "puppeteer": "^21.3.8", 73 | "shiki": "^0.14.5" 74 | } 75 | } 76 | -------------------------------------------------------------------------------- /src/extension.ts: -------------------------------------------------------------------------------- 1 | // The module 'vscode' contains the VS Code extensibility API 2 | // Import the module and reference it with the alias vscode in your code below 3 | import * as vscode from "vscode"; 4 | import * as fs from "fs"; 5 | import * as puppeteer from "puppeteer"; 6 | import generateTemplate from "./template"; 7 | const { copyImg } = require('img-clipboard'); 8 | 9 | // This method is called when your extension is activated 10 | // Your extension is activated the very first time the command is executed 11 | export function activate(context: vscode.ExtensionContext) { 12 | // Use the console to output diagnostic information (console.log) and errors (console.error) 13 | // This line of code will only be executed once when your extension is activated 14 | console.log('Congratulations, your extension "capture" is now active!'); 15 | 16 | // The command has been defined in the package.json file 17 | // Now provide the implementation of the command with registerCommand 18 | // The commandId parameter must match the command field in package.json 19 | let disposable = vscode.commands.registerCommand("capture.snapshot", async () => { 20 | const editor = vscode.window.activeTextEditor; 21 | if (editor) { 22 | const document = editor.document; 23 | const selection = editor.selection; 24 | const text = document.getText(selection); 25 | 26 | const browser = await puppeteer.launch(); 27 | const page = await browser.newPage(); 28 | 29 | if (text.trim() === "") { 30 | vscode.window.showErrorMessage("You have not highlighted anything."); 31 | return; 32 | } 33 | 34 | const configuration = vscode.workspace.getConfiguration('capture'); 35 | const themeName = configuration.get('themeName', 'one-dark-pro'); 36 | 37 | const content = await generateTemplate(text,themeName); 38 | await page.setContent(content); 39 | const contentHeight = content.split("\n").length; 40 | const totalHeight = contentHeight * 3; 41 | await page.setViewport({ 42 | width: 800, 43 | height: totalHeight + 50, 44 | }); 45 | const imageBuffer = await page.screenshot({ 46 | fullPage: true, 47 | }); 48 | 49 | const now = new Date(); 50 | const isoString = now.toISOString(); 51 | const dateAndTime = isoString.replace( 52 | /(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2}).*/, 53 | (_, year, month, day, hour, minute, second) => 54 | `${day}-${month}-${year.slice(-2)} ${hour}-${minute}-${second}` 55 | ); 56 | const defaultFileName = `capture_${dateAndTime}.png`; 57 | 58 | // Show a save dialog to choose the image file location 59 | const fileUri = await vscode.window.showSaveDialog({ 60 | filters: { 61 | images: ["png"], 62 | }, 63 | saveLabel: "Save Image", 64 | title: "Save Code Snippet Image", 65 | defaultUri: vscode.Uri.file(defaultFileName), 66 | }); 67 | 68 | if (fileUri) { 69 | fs.writeFile(fileUri.fsPath, imageBuffer, (err) => { 70 | if (err) { 71 | vscode.window.showErrorMessage("Failed to save image!"); 72 | } else { 73 | // Create a vscode.Uri for the saved image 74 | const imageUri = vscode.Uri.file(fileUri.fsPath); 75 | // copy to clipboard 76 | copyImg(fileUri.fsPath); 77 | // Show an information message with a clickable link to open the image 78 | vscode.window.showInformationMessage("Image saved and copied to clipboard. Click to open.", "Open Image").then((choice) => { 79 | if (choice === "Open Image") { 80 | vscode.env.openExternal(imageUri); 81 | } 82 | }); 83 | } 84 | }); 85 | } 86 | await browser.close(); 87 | } 88 | }); 89 | 90 | // Add the command to the context subscriptions 91 | context.subscriptions.push(disposable); 92 | } 93 | 94 | // This method is called when your extension is deactivated 95 | export function deactivate() {} 96 | -------------------------------------------------------------------------------- /src/template.ts: -------------------------------------------------------------------------------- 1 | const shiki = require("shiki"); 2 | 3 | const highlightCode = async (themeName: string) => { 4 | const highlighter = await shiki.getHighlighter({ 5 | theme: themeName, // You can specify other themes like 'dark-plus', 'light-plus', etc. 6 | }); 7 | 8 | return highlighter; 9 | }; 10 | 11 | const generateTemplate = async (content: string, themeName: string) => { 12 | // get hightlighter 13 | const highlighter = await highlightCode(themeName); 14 | // set content 15 | const htmlContent = highlighter.codeToHtml(content, "javascript"); 16 | // get theme background color 17 | const backgroundClr = highlighter.getBackgroundColor(); 18 | 19 | return ` 20 | 21 | 22 | 23 | 74 | 75 | 76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 | ${htmlContent} 85 |
86 | 87 | 88 | `; 89 | }; 90 | 91 | export default generateTemplate; 92 | -------------------------------------------------------------------------------- /src/test/runTest.ts: -------------------------------------------------------------------------------- 1 | import * as path from 'path'; 2 | 3 | import { runTests } from '@vscode/test-electron'; 4 | 5 | async function main() { 6 | try { 7 | // The folder containing the Extension Manifest package.json 8 | // Passed to `--extensionDevelopmentPath` 9 | const extensionDevelopmentPath = path.resolve(__dirname, '../../'); 10 | 11 | // The path to test runner 12 | // Passed to --extensionTestsPath 13 | const extensionTestsPath = path.resolve(__dirname, './suite/index'); 14 | 15 | // Download VS Code, unzip it and run the integration test 16 | await runTests({ extensionDevelopmentPath, extensionTestsPath }); 17 | } catch (err) { 18 | console.error('Failed to run tests', err); 19 | process.exit(1); 20 | } 21 | } 22 | 23 | main(); 24 | -------------------------------------------------------------------------------- /src/test/suite/extension.test.ts: -------------------------------------------------------------------------------- 1 | import * as assert from 'assert'; 2 | 3 | // You can import and use all API from the 'vscode' module 4 | // as well as import your extension to test it 5 | import * as vscode from 'vscode'; 6 | // import * as myExtension from '../../extension'; 7 | 8 | suite('Extension Test Suite', () => { 9 | vscode.window.showInformationMessage('Start all tests.'); 10 | 11 | test('Sample test', () => { 12 | assert.strictEqual(-1, [1, 2, 3].indexOf(5)); 13 | assert.strictEqual(-1, [1, 2, 3].indexOf(0)); 14 | }); 15 | }); 16 | -------------------------------------------------------------------------------- /src/test/suite/index.ts: -------------------------------------------------------------------------------- 1 | import * as path from 'path'; 2 | import * as Mocha from 'mocha'; 3 | import * as glob from 'glob'; 4 | 5 | export function run(): Promise { 6 | // Create the mocha test 7 | const mocha = new Mocha({ 8 | ui: 'tdd', 9 | color: true 10 | }); 11 | 12 | const testsRoot = path.resolve(__dirname, '..'); 13 | 14 | return new Promise((c, e) => { 15 | const testFiles = new glob.Glob("**/**.test.js", { cwd: testsRoot }); 16 | const testFileStream = testFiles.stream(); 17 | 18 | testFileStream.on("data", (file) => { 19 | mocha.addFile(path.resolve(testsRoot, file)); 20 | }); 21 | testFileStream.on("error", (err) => { 22 | e(err); 23 | }); 24 | testFileStream.on("end", () => { 25 | try { 26 | // Run the mocha test 27 | mocha.run(failures => { 28 | if (failures > 0) { 29 | e(new Error(`${failures} tests failed.`)); 30 | } else { 31 | c(); 32 | } 33 | }); 34 | } catch (err) { 35 | console.error(err); 36 | e(err); 37 | } 38 | }); 39 | }); 40 | } 41 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "module": "commonjs", 4 | "target": "ES2020", 5 | "outDir": "out", 6 | "lib": ["dom", "ES2020"], 7 | "sourceMap": true, 8 | "rootDir": "src", 9 | "strict": true /* enable all strict type-checking options */ 10 | /* Additional Checks */ 11 | // "noImplicitReturns": true, /* Report error when not all code paths in function return a value. */ 12 | // "noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */ 13 | // "noUnusedParameters": true, /* Report errors on unused parameters. */ 14 | } 15 | } 16 | --------------------------------------------------------------------------------