├── .editorconfig ├── .eslintignore ├── .eslintrc.js ├── .gitignore ├── .husky ├── .gitignore ├── commit-msg └── pre-commit ├── .vscode └── launch.json ├── LICENSE ├── README.md ├── article.md ├── commitlint.config.js ├── index.html ├── lint-staged.config.js ├── package.json ├── pnpm-lock.yaml ├── polyfill ├── ShadowRoot-getSelection.js └── custom-elements.js ├── screenshots ├── index.png └── inspect.png ├── src ├── index.ts ├── utils.ts └── ydebugger.ts ├── tsconfig.json └── ydebugger.js /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | charset = utf-8 5 | indent_style = space 6 | indent_size = 2 7 | end_of_line = lf 8 | insert_final_newline = true 9 | trim_trailing_whitespace = true 10 | -------------------------------------------------------------------------------- /.eslintignore: -------------------------------------------------------------------------------- 1 | /dist 2 | .eslintrc.js 3 | commitlint.config.js 4 | lint-staged.config.js 5 | /polyfill 6 | /ydebugger.js 7 | -------------------------------------------------------------------------------- /.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | root: true, 3 | parser: '@typescript-eslint/parser', 4 | parserOptions: { 5 | project: './tsconfig.json' 6 | }, 7 | env: { 8 | es6: true, 9 | node: true, 10 | commonjs: true 11 | }, 12 | extends: ['airbnb-base', 'airbnb-typescript/base'] 13 | } 14 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | lerna-debug.log* 8 | 9 | # Diagnostic reports (https://nodejs.org/api/report.html) 10 | report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json 11 | 12 | # Runtime data 13 | pids 14 | *.pid 15 | *.seed 16 | *.pid.lock 17 | 18 | # Directory for instrumented libs generated by jscoverage/JSCover 19 | lib-cov 20 | 21 | # Coverage directory used by tools like istanbul 22 | coverage 23 | *.lcov 24 | 25 | # nyc test coverage 26 | .nyc_output 27 | 28 | # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) 29 | .grunt 30 | 31 | # Bower dependency directory (https://bower.io/) 32 | bower_components 33 | 34 | # node-waf configuration 35 | .lock-wscript 36 | 37 | # Compiled binary addons (https://nodejs.org/api/addons.html) 38 | build/Release 39 | 40 | # Dependency directories 41 | node_modules/ 42 | jspm_packages/ 43 | 44 | # TypeScript v1 declaration files 45 | typings/ 46 | 47 | # TypeScript cache 48 | *.tsbuildinfo 49 | 50 | # Optional npm cache directory 51 | .npm 52 | 53 | # Optional eslint cache 54 | .eslintcache 55 | 56 | # Microbundle cache 57 | .rpt2_cache/ 58 | .rts2_cache_cjs/ 59 | .rts2_cache_es/ 60 | .rts2_cache_umd/ 61 | 62 | # Optional REPL history 63 | .node_repl_history 64 | 65 | # Output of 'npm pack' 66 | *.tgz 67 | 68 | # Yarn Integrity file 69 | .yarn-integrity 70 | 71 | # dotenv environment variables file 72 | .env 73 | .env.test 74 | 75 | # parcel-bundler cache (https://parceljs.org/) 76 | .cache 77 | 78 | # Next.js build output 79 | .next 80 | 81 | # Nuxt.js build / generate output 82 | .nuxt 83 | dist 84 | 85 | # Gatsby files 86 | .cache/ 87 | # Comment in the public line in if your project uses Gatsby and *not* Next.js 88 | # https://nextjs.org/blog/next-9-1#public-directory-support 89 | # public 90 | 91 | # vuepress build output 92 | .vuepress/dist 93 | 94 | # Serverless directories 95 | .serverless/ 96 | 97 | # FuseBox cache 98 | .fusebox/ 99 | 100 | # DynamoDB Local files 101 | .dynamodb/ 102 | 103 | # TernJS port file 104 | .tern-port 105 | 106 | /lib 107 | -------------------------------------------------------------------------------- /.husky/.gitignore: -------------------------------------------------------------------------------- 1 | _ 2 | -------------------------------------------------------------------------------- /.husky/commit-msg: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | . "$(dirname "$0")/_/husky.sh" 3 | 4 | npx --no -- commitlint --edit "${1}" 5 | -------------------------------------------------------------------------------- /.husky/pre-commit: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | . "$(dirname -- "$0")/_/husky.sh" 3 | 4 | npx lint-staged 5 | -------------------------------------------------------------------------------- /.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | // 使用 IntelliSense 了解相关属性。 3 | // 悬停以查看现有属性的描述。 4 | // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387 5 | "version": "0.2.0", 6 | "configurations": [ 7 | { 8 | "type": "pwa-node", 9 | "request": "launch", 10 | "name": "Launch Program", 11 | "skipFiles": [ 12 | "/**" 13 | ], 14 | "program": "${workspaceFolder}/ydebugger.js", 15 | "args": ["https://www.baidu.com"], 16 | "outFiles": [ 17 | "${workspaceFolder}/**/*.js" 18 | ] 19 | } 20 | ] 21 | } 22 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Failed to fetch version info for nashaofu/test. -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # ydebugger 2 | 3 | A remote webapp of the Chrome DevTools, you can develop and debug front-end pages on iPad Browser with [GitHub codespaces](https://github.com/features/codespaces) or [code-server](https://github.com/coder/code-server). 4 | 5 | ## Usage 6 | 7 | ```bash 8 | npm i -g ydebugger 9 | 10 | ydebugger https://www.google.com 11 | ``` 12 | 13 | ## Browser support 14 | 15 | | name | version | OS | 16 | | :------ | :------ | :---------------------- | 17 | | Safari | >=15 | `mac ios` | 18 | | Chrome | >=80 | `mac ios windows linux` | 19 | | Firefox | >=96 | `mac ios windows linux` | 20 | | Edge | >=80 | `mac ios windows linux` | 21 | 22 | ## Screenshots 23 | 24 | - Pages 25 | 26 | ![index.png](./screenshots/index.png) 27 | 28 | - Inspector page 29 | 30 | ![inspect.png](./screenshots/inspect.png) 31 | 32 | ## Options 33 | 34 | ```bash 35 | ydebugger [url] 36 | 37 | Positionals: 38 | url debugging website url [string] 39 | 40 | Options: 41 | -h, --help Show help [boolean] 42 | -v, --version Show version number [boolean] 43 | -p, --port devtools frontend port number [number] [default: 8080] 44 | -o, --open Open browser automatically [boolean] [default: false] 45 | --width viewport width [number] [default: 1024] 46 | --height viewport width [number] [default: 768] 47 | --mobile viewport is mobile [boolean] [default: false] 48 | --landscape viewport is landscape [boolean] [default: false] 49 | --touch viewport is touch supported [boolean] [default: false] 50 | --dsf viewport device scale factor [number] [default: 2] 51 | ``` 52 | 53 | ## Github Codespaces 54 | 55 | There will be a problem of page character scrambling When debugging a non English website. This situation is because the system does not have a font file in the corresponding language. The corresponding language font file can be put into `~/.fonts` or `/usr/share/fonts`. For example, you can use [HarmonyOS Sans](https://developer.harmonyos.com/cn/docs/design/des-guides/font-0000001157868583) to render Chinese fonts. 56 | use xx to render Chinese fonts 57 | 58 | ```bash 59 | curl -o HarmonyOS_Sans.zip https://communityfile-drcn.op.hicloud.com/FileServer/getFile/cmtyPub/011/111/111/0000000000011111111.20211104104632.29664895974930825801937957883629:50521103025534:2800:1C62D8D976C9EAB505E2AAE22BD5B04FB5E6E311A8C39626B70F3F5BCF941EF9.zip\?needInitFileName\=true 60 | 61 | unzip -d ~/.fonts/ HarmonyOS_Sans.zip 62 | ``` 63 | -------------------------------------------------------------------------------- /article.md: -------------------------------------------------------------------------------- 1 | # 这个工具让平板不再买后爱奇艺 2 | 3 | > 让你的平板不再吃灰,不再买前生产力,买后爱奇艺,让 Github Codespace & Codeserver 也能在平板设备上进行 Web 开发调试。----[ydebugger](https://github.com/nashaofu/ydebugger 'ydebugger') 4 | 5 | 随着 Codeserver 的推出,让我们能够便捷地在网页中进行开发,Github 推出 Codespace 更加提升了便捷性。 6 | 7 | 假期在外旅行,不想带沉重的电脑,我可以使用平板,在 Codespace 上进行开发吗?然后我就动手试了一下,下面总结了一下 Codeserver 和 Codespace 的优缺点。 8 | 9 | ## Codeserver 与 Codespace 优点 10 | 11 | 1. 可以随时随地地进行开发,不受开发环境的限制,一切都在云端。 12 | 2. 开发后端程序比较方便,例如 nodejs,完全和在本地 vscode 体验一样。 13 | 3. Codespace 与 GitHub 深度集成,更易于使用。 14 | 15 | ## Codeserver 与 Codespace 缺点 16 | 17 | 1. 网络有一定的延迟,如果是自己部署的 codeserver,延迟应该较低。 18 | 2. 没办法运行带有 UI 类的程序,界面效果不能显示。例如 electron 不能调试和效果预览。 19 | 3. 服务器上的环境也需要自己先配置,例如 Codespace 不包含中文字体,导致中文乱码。 20 | 4. vscode 部分插件没法使用。 21 | 22 | 但作为一个前端开发者,当我访问正在开发的页面的时候,习惯性的打开开发者工具,结果一点反应都没有,这才想起来,平板设备上的浏览器没有开发者工具。那么问题来了,怎么让平板用上开发者工具呢?一通操作,发现 Chrome 的 Devtools 是一个独立的 Web 应用,并且如果在 Chrome 启动时指定`remote-debugging-port`就可以在浏览器中访问 Devtools 应用。 23 | 24 | ```bash 25 | # Mac 26 | /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --remote-debugging-port=9222 27 | ``` 28 | 29 | 这个时候在浏览器中输入:`http:127.0.0.1:9222/json`就能获取到对应页面的调试信息,类似于下面的内容。 30 | 31 | ```json 32 | [ 33 | { 34 | "description": "", 35 | "devtoolsFrontendUrl": "/devtools/inspector.html?ws=127.0.0.1:8080/devtools/page/A7033F3F4904852AD107E9E489C27E58", 36 | "id": "A7033F3F4904852AD107E9E489C27E58", 37 | "title": "百度一下,你就知道", 38 | "type": "page", 39 | "url": "https://www.baidu.com/", 40 | "webSocketDebuggerUrl": "ws://127.0.0.1:8080/devtools/page/A7033F3F4904852AD107E9E489C27E58" 41 | }, 42 | { 43 | "description": "", 44 | "devtoolsFrontendUrl": "/devtools/inspector.html?ws=127.0.0.1:8080/devtools/page/9B115D928C2121A09BCF49A28B70EDA5", 45 | "id": "9B115D928C2121A09BCF49A28B70EDA5", 46 | "title": "about:blank", 47 | "type": "page", 48 | "url": "about:blank", 49 | "webSocketDebuggerUrl": "ws://127.0.0.1:8080/devtools/page/9B115D928C2121A09BCF49A28B70EDA5" 50 | } 51 | ] 52 | ``` 53 | 54 | 然后春节假期我就落地了这个想法,在服务端使用 puppeteer 启动一个无头浏览器,并且开启调试功能,然后用 puppeteer 访问要调试的页面,访问对应页面调试地址就可以在平板中调试啦!然后对 Codeserver 和 Codespace 进行了一些适配,`npm publish` 一把梭,**[ydebugger](https://github.com/nashaofu/ydebugger 'ydebugger')** 发布啦! 55 | 56 | ## 使用方法 57 | 58 | ```bash 59 | npm i -g ydebugger 60 | 61 | # 调试 https://www.google.com 62 | ydebugger https://www.google.com 63 | ``` 64 | 65 | 然后在浏览器打开`http://127.0.0.1:8080`,就会得到如下界面: 66 | 67 | 点击对应页面的`inspect`按钮,就会跳转到调试页面了,效果如下: 68 | 69 | 更多信息请前往 [https://github.com/nashaofu/ydebugger](https://github.com/nashaofu/ydebugger) 查看。 70 | -------------------------------------------------------------------------------- /commitlint.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | extends: ['@commitlint/config-conventional'], 3 | }; 4 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | YDebugger 8 | 120 | 121 | 122 |

Pages

123 |
124 | 125 | 126 |
127 | 130 | 188 | 189 | 190 | -------------------------------------------------------------------------------- /lint-staged.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | '*.{js,ts}': 'eslint --cache --fix' 3 | } 4 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ydebugger", 3 | "version": "0.1.5", 4 | "description": "A remote webapp of the Chrome DevTools, you can develop and debug front-end pages on iPad Browser with GitHub codespaces or code-server.", 5 | "bin": { 6 | "ydebugger": "./ydebugger.js" 7 | }, 8 | "files": [ 9 | "dist", 10 | "polyfill", 11 | "index.html", 12 | "ydebugger.js" 13 | ], 14 | "scripts": { 15 | "prepublish": "npm run build", 16 | "dev": "tsc --watch --sourceMap", 17 | "build": "npm run lint && npm run clean && tsc", 18 | "lint": "eslint . --ext .js,.ts --fix", 19 | "clean": "rimraf dist", 20 | "prepare": "husky install" 21 | }, 22 | "repository": { 23 | "type": "git", 24 | "url": "git+https://github.com/nashaofu/ydebugger.git" 25 | }, 26 | "keywords": [ 27 | "webapp", 28 | "chrome", 29 | "devtools", 30 | "remote", 31 | "debugger", 32 | "inspector" 33 | ], 34 | "author": "nashaofu", 35 | "license": "MIT", 36 | "bugs": { 37 | "url": "https://github.com/nashaofu/ydebugger/issues" 38 | }, 39 | "homepage": "https://github.com/nashaofu/ydebugger#readme", 40 | "publishConfig": { 41 | "registry": "https://registry.npmjs.org/" 42 | }, 43 | "dependencies": { 44 | "colors": "^1.4.0", 45 | "detect-port": "^1.3.0", 46 | "express": "^4.18.1", 47 | "http-proxy-middleware": "^2.0.6", 48 | "open": "^8.4.0", 49 | "puppeteer": "^2.1.0", 50 | "yargs": "^17.5.1" 51 | }, 52 | "devDependencies": { 53 | "@commitlint/cli": "^17.0.1", 54 | "@commitlint/config-conventional": "^17.0.0", 55 | "@types/detect-port": "^1.3.2", 56 | "@types/express": "^4.17.13", 57 | "@types/puppeteer": "^5.4.6", 58 | "@types/yargs": "^17.0.10", 59 | "@typescript-eslint/eslint-plugin": "^5.26.0", 60 | "@typescript-eslint/parser": "^5.26.0", 61 | "eslint": "^8.16.0", 62 | "eslint-config-airbnb-base": "^15.0.0", 63 | "eslint-config-airbnb-typescript": "^17.0.0", 64 | "eslint-plugin-import": "^2.26.0", 65 | "husky": "^8.0.1", 66 | "lint-staged": "^12.4.2", 67 | "rimraf": "^3.0.2", 68 | "typescript": "^4.7.2" 69 | } 70 | } 71 | -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: 5.4 2 | 3 | specifiers: 4 | '@commitlint/cli': ^17.0.1 5 | '@commitlint/config-conventional': ^17.0.0 6 | '@types/detect-port': ^1.3.2 7 | '@types/express': ^4.17.13 8 | '@types/puppeteer': ^5.4.6 9 | '@types/yargs': ^17.0.10 10 | '@typescript-eslint/eslint-plugin': ^5.26.0 11 | '@typescript-eslint/parser': ^5.26.0 12 | colors: ^1.4.0 13 | detect-port: ^1.3.0 14 | eslint: ^8.16.0 15 | eslint-config-airbnb-base: ^15.0.0 16 | eslint-config-airbnb-typescript: ^17.0.0 17 | eslint-plugin-import: ^2.26.0 18 | express: ^4.18.1 19 | http-proxy-middleware: ^2.0.6 20 | husky: ^8.0.1 21 | lint-staged: ^12.4.2 22 | open: ^8.4.0 23 | puppeteer: ^2.1.0 24 | rimraf: ^3.0.2 25 | typescript: ^4.7.2 26 | yargs: ^17.5.1 27 | 28 | dependencies: 29 | colors: 1.4.0 30 | detect-port: 1.3.0 31 | express: 4.18.1 32 | http-proxy-middleware: 2.0.6_@types+express@4.17.13 33 | open: 8.4.0 34 | puppeteer: 2.1.1 35 | yargs: 17.5.1 36 | 37 | devDependencies: 38 | '@commitlint/cli': 17.0.1 39 | '@commitlint/config-conventional': 17.0.0 40 | '@types/detect-port': 1.3.2 41 | '@types/express': 4.17.13 42 | '@types/puppeteer': 5.4.6 43 | '@types/yargs': 17.0.10 44 | '@typescript-eslint/eslint-plugin': 5.26.0_hzuh7e2up357pvq3mkokjvu2lq 45 | '@typescript-eslint/parser': 5.26.0_xztl6dhthcahlo6akmb2bmjmle 46 | eslint: 8.16.0 47 | eslint-config-airbnb-base: 15.0.0_btspkuwbqkl4adpiufzbathtpi 48 | eslint-config-airbnb-typescript: 17.0.0_omfmjsp36rj32txxzmcgovksfy 49 | eslint-plugin-import: 2.26.0_grfei5yostfimvqdpf73rlhy3e 50 | husky: 8.0.1 51 | lint-staged: 12.4.2 52 | rimraf: 3.0.2 53 | typescript: 4.7.2 54 | 55 | packages: 56 | 57 | /@babel/code-frame/7.16.7: 58 | resolution: {integrity: sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==} 59 | engines: {node: '>=6.9.0'} 60 | dependencies: 61 | '@babel/highlight': 7.17.12 62 | dev: true 63 | 64 | /@babel/helper-validator-identifier/7.16.7: 65 | resolution: {integrity: sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==} 66 | engines: {node: '>=6.9.0'} 67 | dev: true 68 | 69 | /@babel/highlight/7.17.12: 70 | resolution: {integrity: sha512-7yykMVF3hfZY2jsHZEEgLc+3x4o1O+fYyULu11GynEUQNwB6lua+IIQn1FiJxNucd5UlyJryrwsOh8PL9Sn8Qg==} 71 | engines: {node: '>=6.9.0'} 72 | dependencies: 73 | '@babel/helper-validator-identifier': 7.16.7 74 | chalk: 2.4.2 75 | js-tokens: 4.0.0 76 | dev: true 77 | 78 | /@commitlint/cli/17.0.1: 79 | resolution: {integrity: sha512-5xT1G5pnynR0tk/ms8Ji7yr9lZCeQs4GLVVtyK/gw20w+enoLTVuRKKY9zg88hy9FoCycc/W8iip2xv3c8payg==} 80 | engines: {node: '>=v14'} 81 | hasBin: true 82 | dependencies: 83 | '@commitlint/format': 17.0.0 84 | '@commitlint/lint': 17.0.0 85 | '@commitlint/load': 17.0.0 86 | '@commitlint/read': 17.0.0 87 | '@commitlint/types': 17.0.0 88 | execa: 5.1.1 89 | lodash: 4.17.21 90 | resolve-from: 5.0.0 91 | resolve-global: 1.0.0 92 | yargs: 17.5.1 93 | transitivePeerDependencies: 94 | - '@swc/core' 95 | - '@swc/wasm' 96 | dev: true 97 | 98 | /@commitlint/config-conventional/17.0.0: 99 | resolution: {integrity: sha512-jttJXBIq3AuQCvUVwxSctCwKfHxxbALE0IB9OIHYCu/eQdOzPxN72pugeZsWDo1VK/T9iFx+MZoPb6Rb1/ylsw==} 100 | engines: {node: '>=v14'} 101 | dependencies: 102 | conventional-changelog-conventionalcommits: 4.6.3 103 | dev: true 104 | 105 | /@commitlint/config-validator/17.0.0: 106 | resolution: {integrity: sha512-78IQjoZWR4kDHp/U5y17euEWzswJpPkA9TDL5F6oZZZaLIEreWzrDZD5PWtM8MsSRl/K2LDU/UrzYju2bKLMpA==} 107 | engines: {node: '>=v14'} 108 | dependencies: 109 | '@commitlint/types': 17.0.0 110 | ajv: 6.12.6 111 | dev: true 112 | 113 | /@commitlint/ensure/17.0.0: 114 | resolution: {integrity: sha512-M2hkJnNXvEni59S0QPOnqCKIK52G1XyXBGw51mvh7OXDudCmZ9tZiIPpU882p475Mhx48Ien1MbWjCP1zlyC0A==} 115 | engines: {node: '>=v14'} 116 | dependencies: 117 | '@commitlint/types': 17.0.0 118 | lodash: 4.17.21 119 | dev: true 120 | 121 | /@commitlint/execute-rule/17.0.0: 122 | resolution: {integrity: sha512-nVjL/w/zuqjCqSJm8UfpNaw66V9WzuJtQvEnCrK4jDw6qKTmZB+1JQ8m6BQVZbNBcwfYdDNKnhIhqI0Rk7lgpQ==} 123 | engines: {node: '>=v14'} 124 | dev: true 125 | 126 | /@commitlint/format/17.0.0: 127 | resolution: {integrity: sha512-MZzJv7rBp/r6ZQJDEodoZvdRM0vXu1PfQvMTNWFb8jFraxnISMTnPBWMMjr2G/puoMashwaNM//fl7j8gGV5lA==} 128 | engines: {node: '>=v14'} 129 | dependencies: 130 | '@commitlint/types': 17.0.0 131 | chalk: 4.1.2 132 | dev: true 133 | 134 | /@commitlint/is-ignored/17.0.0: 135 | resolution: {integrity: sha512-UmacD0XM/wWykgdXn5CEWVS4XGuqzU+ZGvM2hwv85+SXGnIOaG88XHrt81u37ZeVt1riWW+YdOxcJW6+nd5v5w==} 136 | engines: {node: '>=v14'} 137 | dependencies: 138 | '@commitlint/types': 17.0.0 139 | semver: 7.3.7 140 | dev: true 141 | 142 | /@commitlint/lint/17.0.0: 143 | resolution: {integrity: sha512-5FL7VLvGJQby24q0pd4UdM8FNFcL+ER1T/UBf8A9KRL5+QXV1Rkl6Zhcl7+SGpGlVo6Yo0pm6aLW716LVKWLGg==} 144 | engines: {node: '>=v14'} 145 | dependencies: 146 | '@commitlint/is-ignored': 17.0.0 147 | '@commitlint/parse': 17.0.0 148 | '@commitlint/rules': 17.0.0 149 | '@commitlint/types': 17.0.0 150 | dev: true 151 | 152 | /@commitlint/load/17.0.0: 153 | resolution: {integrity: sha512-XaiHF4yWQOPAI0O6wXvk+NYLtJn/Xb7jgZEeKd4C1ZWd7vR7u8z5h0PkWxSr0uLZGQsElGxv3fiZ32C5+q6M8w==} 154 | engines: {node: '>=v14'} 155 | dependencies: 156 | '@commitlint/config-validator': 17.0.0 157 | '@commitlint/execute-rule': 17.0.0 158 | '@commitlint/resolve-extends': 17.0.0 159 | '@commitlint/types': 17.0.0 160 | '@types/node': 17.0.36 161 | chalk: 4.1.2 162 | cosmiconfig: 7.0.1 163 | cosmiconfig-typescript-loader: 2.0.1_w6gfxie3xfwntbz3mwbbvycbdq 164 | lodash: 4.17.21 165 | resolve-from: 5.0.0 166 | typescript: 4.7.2 167 | transitivePeerDependencies: 168 | - '@swc/core' 169 | - '@swc/wasm' 170 | dev: true 171 | 172 | /@commitlint/message/17.0.0: 173 | resolution: {integrity: sha512-LpcwYtN+lBlfZijHUdVr8aNFTVpHjuHI52BnfoV01TF7iSLnia0jttzpLkrLmI8HNQz6Vhr9UrxDWtKZiMGsBw==} 174 | engines: {node: '>=v14'} 175 | dev: true 176 | 177 | /@commitlint/parse/17.0.0: 178 | resolution: {integrity: sha512-cKcpfTIQYDG1ywTIr5AG0RAiLBr1gudqEsmAGCTtj8ffDChbBRxm6xXs2nv7GvmJN7msOt7vOKleLvcMmRa1+A==} 179 | engines: {node: '>=v14'} 180 | dependencies: 181 | '@commitlint/types': 17.0.0 182 | conventional-changelog-angular: 5.0.13 183 | conventional-commits-parser: 3.2.4 184 | dev: true 185 | 186 | /@commitlint/read/17.0.0: 187 | resolution: {integrity: sha512-zkuOdZayKX3J6F6mPnVMzohK3OBrsEdOByIqp4zQjA9VLw1hMsDEFQ18rKgUc2adkZar+4S01QrFreDCfZgbxA==} 188 | engines: {node: '>=v14'} 189 | dependencies: 190 | '@commitlint/top-level': 17.0.0 191 | '@commitlint/types': 17.0.0 192 | fs-extra: 10.1.0 193 | git-raw-commits: 2.0.11 194 | dev: true 195 | 196 | /@commitlint/resolve-extends/17.0.0: 197 | resolution: {integrity: sha512-wi60WiJmwaQ7lzMXK8Vbc18Hq9tE2j/6iv2AFfPUGV7fvfY6Sf1iNKuUHirSqR0fquUyufIXe4y/K9A6LVIIvw==} 198 | engines: {node: '>=v14'} 199 | dependencies: 200 | '@commitlint/config-validator': 17.0.0 201 | '@commitlint/types': 17.0.0 202 | import-fresh: 3.3.0 203 | lodash: 4.17.21 204 | resolve-from: 5.0.0 205 | resolve-global: 1.0.0 206 | dev: true 207 | 208 | /@commitlint/rules/17.0.0: 209 | resolution: {integrity: sha512-45nIy3dERKXWpnwX9HeBzK5SepHwlDxdGBfmedXhL30fmFCkJOdxHyOJsh0+B0RaVsLGT01NELpfzJUmtpDwdQ==} 210 | engines: {node: '>=v14'} 211 | dependencies: 212 | '@commitlint/ensure': 17.0.0 213 | '@commitlint/message': 17.0.0 214 | '@commitlint/to-lines': 17.0.0 215 | '@commitlint/types': 17.0.0 216 | execa: 5.1.1 217 | dev: true 218 | 219 | /@commitlint/to-lines/17.0.0: 220 | resolution: {integrity: sha512-nEi4YEz04Rf2upFbpnEorG8iymyH7o9jYIVFBG1QdzebbIFET3ir+8kQvCZuBE5pKCtViE4XBUsRZz139uFrRQ==} 221 | engines: {node: '>=v14'} 222 | dev: true 223 | 224 | /@commitlint/top-level/17.0.0: 225 | resolution: {integrity: sha512-dZrEP1PBJvodNWYPOYiLWf6XZergdksKQaT6i1KSROLdjf5Ai0brLOv5/P+CPxBeoj3vBxK4Ax8H1Pg9t7sHIQ==} 226 | engines: {node: '>=v14'} 227 | dependencies: 228 | find-up: 5.0.0 229 | dev: true 230 | 231 | /@commitlint/types/17.0.0: 232 | resolution: {integrity: sha512-hBAw6U+SkAT5h47zDMeOu3HSiD0SODw4Aq7rRNh1ceUmL7GyLKYhPbUvlRWqZ65XjBLPHZhFyQlRaPNz8qvUyQ==} 233 | engines: {node: '>=v14'} 234 | dependencies: 235 | chalk: 4.1.2 236 | dev: true 237 | 238 | /@cspotcode/source-map-support/0.8.1: 239 | resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} 240 | engines: {node: '>=12'} 241 | dependencies: 242 | '@jridgewell/trace-mapping': 0.3.9 243 | dev: true 244 | 245 | /@eslint/eslintrc/1.3.0: 246 | resolution: {integrity: sha512-UWW0TMTmk2d7hLcWD1/e2g5HDM/HQ3csaLSqXCfqwh4uNDuNqlaKWXmEsL4Cs41Z0KnILNvwbHAah3C2yt06kw==} 247 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 248 | dependencies: 249 | ajv: 6.12.6 250 | debug: 4.3.4 251 | espree: 9.3.2 252 | globals: 13.15.0 253 | ignore: 5.2.0 254 | import-fresh: 3.3.0 255 | js-yaml: 4.1.0 256 | minimatch: 3.1.2 257 | strip-json-comments: 3.1.1 258 | transitivePeerDependencies: 259 | - supports-color 260 | dev: true 261 | 262 | /@humanwhocodes/config-array/0.9.5: 263 | resolution: {integrity: sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==} 264 | engines: {node: '>=10.10.0'} 265 | dependencies: 266 | '@humanwhocodes/object-schema': 1.2.1 267 | debug: 4.3.4 268 | minimatch: 3.1.2 269 | transitivePeerDependencies: 270 | - supports-color 271 | dev: true 272 | 273 | /@humanwhocodes/object-schema/1.2.1: 274 | resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} 275 | dev: true 276 | 277 | /@jridgewell/resolve-uri/3.0.7: 278 | resolution: {integrity: sha512-8cXDaBBHOr2pQ7j77Y6Vp5VDT2sIqWyWQ56TjEq4ih/a4iST3dItRe8Q9fp0rrIl9DoKhWQtUQz/YpOxLkXbNA==} 279 | engines: {node: '>=6.0.0'} 280 | dev: true 281 | 282 | /@jridgewell/sourcemap-codec/1.4.13: 283 | resolution: {integrity: sha512-GryiOJmNcWbovBxTfZSF71V/mXbgcV3MewDe3kIMCLyIh5e7SKAeUZs+rMnJ8jkMolZ/4/VsdBmMrw3l+VdZ3w==} 284 | dev: true 285 | 286 | /@jridgewell/trace-mapping/0.3.9: 287 | resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} 288 | dependencies: 289 | '@jridgewell/resolve-uri': 3.0.7 290 | '@jridgewell/sourcemap-codec': 1.4.13 291 | dev: true 292 | 293 | /@nodelib/fs.scandir/2.1.5: 294 | resolution: {integrity: sha1-dhnC6yGyVIP20WdUi0z9WnSIw9U=, tarball: '@nodelib/fs.scandir/download/@nodelib/fs.scandir-2.1.5.tgz'} 295 | engines: {node: '>= 8'} 296 | dependencies: 297 | '@nodelib/fs.stat': 2.0.5 298 | run-parallel: 1.2.0 299 | dev: true 300 | 301 | /@nodelib/fs.stat/2.0.5: 302 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} 303 | engines: {node: '>= 8'} 304 | dev: true 305 | 306 | /@nodelib/fs.walk/1.2.8: 307 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} 308 | engines: {node: '>= 8'} 309 | dependencies: 310 | '@nodelib/fs.scandir': 2.1.5 311 | fastq: 1.13.0 312 | dev: true 313 | 314 | /@tsconfig/node10/1.0.8: 315 | resolution: {integrity: sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==} 316 | dev: true 317 | 318 | /@tsconfig/node12/1.0.9: 319 | resolution: {integrity: sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==} 320 | dev: true 321 | 322 | /@tsconfig/node14/1.0.1: 323 | resolution: {integrity: sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==} 324 | dev: true 325 | 326 | /@tsconfig/node16/1.0.2: 327 | resolution: {integrity: sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==} 328 | dev: true 329 | 330 | /@types/body-parser/1.19.2: 331 | resolution: {integrity: sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==} 332 | dependencies: 333 | '@types/connect': 3.4.35 334 | '@types/node': 17.0.36 335 | 336 | /@types/connect/3.4.35: 337 | resolution: {integrity: sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==} 338 | dependencies: 339 | '@types/node': 17.0.36 340 | 341 | /@types/detect-port/1.3.2: 342 | resolution: {integrity: sha512-xxgAGA2SAU4111QefXPSp5eGbDm/hW6zhvYl9IeEPZEry9F4d66QAHm5qpUXjb6IsevZV/7emAEx5MhP6O192g==} 343 | dev: true 344 | 345 | /@types/express-serve-static-core/4.17.28: 346 | resolution: {integrity: sha512-P1BJAEAW3E2DJUlkgq4tOL3RyMunoWXqbSCygWo5ZIWTjUgN1YnaXWW4VWl/oc8vs/XoYibEGBKP0uZyF4AHig==} 347 | dependencies: 348 | '@types/node': 17.0.36 349 | '@types/qs': 6.9.7 350 | '@types/range-parser': 1.2.4 351 | 352 | /@types/express/4.17.13: 353 | resolution: {integrity: sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA==} 354 | dependencies: 355 | '@types/body-parser': 1.19.2 356 | '@types/express-serve-static-core': 4.17.28 357 | '@types/qs': 6.9.7 358 | '@types/serve-static': 1.13.10 359 | 360 | /@types/http-proxy/1.17.9: 361 | resolution: {integrity: sha512-QsbSjA/fSk7xB+UXlCT3wHBy5ai9wOcNDWwZAtud+jXhwOM3l+EYZh8Lng4+/6n8uar0J7xILzqftJdJ/Wdfkw==} 362 | dependencies: 363 | '@types/node': 17.0.36 364 | dev: false 365 | 366 | /@types/json-schema/7.0.11: 367 | resolution: {integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==} 368 | dev: true 369 | 370 | /@types/json5/0.0.29: 371 | resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} 372 | dev: true 373 | 374 | /@types/mime-types/2.1.1: 375 | resolution: {integrity: sha512-vXOTGVSLR2jMw440moWTC7H19iUyLtP3Z1YTj7cSsubOICinjMxFeb/V57v9QdyyPGbbWolUFSSmSiRSn94tFw==} 376 | dev: false 377 | 378 | /@types/mime/1.3.2: 379 | resolution: {integrity: sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==} 380 | 381 | /@types/minimist/1.2.2: 382 | resolution: {integrity: sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==} 383 | dev: true 384 | 385 | /@types/node/17.0.36: 386 | resolution: {integrity: sha512-V3orv+ggDsWVHP99K3JlwtH20R7J4IhI1Kksgc+64q5VxgfRkQG8Ws3MFm/FZOKDYGy9feGFlZ70/HpCNe9QaA==} 387 | 388 | /@types/normalize-package-data/2.4.1: 389 | resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==} 390 | dev: true 391 | 392 | /@types/parse-json/4.0.0: 393 | resolution: {integrity: sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==} 394 | dev: true 395 | 396 | /@types/puppeteer/5.4.6: 397 | resolution: {integrity: sha512-98Kghehs7+/GD9b56qryhqdqVCXUTbetTv3PlvDnmFRTHQH0j9DIp1f7rkAW3BAj4U3yoeSEQnKgdW8bDq0Y0Q==} 398 | dependencies: 399 | '@types/node': 17.0.36 400 | dev: true 401 | 402 | /@types/qs/6.9.7: 403 | resolution: {integrity: sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==} 404 | 405 | /@types/range-parser/1.2.4: 406 | resolution: {integrity: sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==} 407 | 408 | /@types/serve-static/1.13.10: 409 | resolution: {integrity: sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ==} 410 | dependencies: 411 | '@types/mime': 1.3.2 412 | '@types/node': 17.0.36 413 | 414 | /@types/yargs-parser/21.0.0: 415 | resolution: {integrity: sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==} 416 | dev: true 417 | 418 | /@types/yargs/17.0.10: 419 | resolution: {integrity: sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA==} 420 | dependencies: 421 | '@types/yargs-parser': 21.0.0 422 | dev: true 423 | 424 | /@typescript-eslint/eslint-plugin/5.26.0_hzuh7e2up357pvq3mkokjvu2lq: 425 | resolution: {integrity: sha512-oGCmo0PqnRZZndr+KwvvAUvD3kNE4AfyoGCwOZpoCncSh4MVD06JTE8XQa2u9u+NX5CsyZMBTEc2C72zx38eYA==} 426 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 427 | peerDependencies: 428 | '@typescript-eslint/parser': ^5.0.0 429 | eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 430 | typescript: '*' 431 | peerDependenciesMeta: 432 | typescript: 433 | optional: true 434 | dependencies: 435 | '@typescript-eslint/parser': 5.26.0_xztl6dhthcahlo6akmb2bmjmle 436 | '@typescript-eslint/scope-manager': 5.26.0 437 | '@typescript-eslint/type-utils': 5.26.0_xztl6dhthcahlo6akmb2bmjmle 438 | '@typescript-eslint/utils': 5.26.0_xztl6dhthcahlo6akmb2bmjmle 439 | debug: 4.3.4 440 | eslint: 8.16.0 441 | functional-red-black-tree: 1.0.1 442 | ignore: 5.2.0 443 | regexpp: 3.2.0 444 | semver: 7.3.7 445 | tsutils: 3.21.0_typescript@4.7.2 446 | typescript: 4.7.2 447 | transitivePeerDependencies: 448 | - supports-color 449 | dev: true 450 | 451 | /@typescript-eslint/parser/5.26.0_xztl6dhthcahlo6akmb2bmjmle: 452 | resolution: {integrity: sha512-n/IzU87ttzIdnAH5vQ4BBDnLPly7rC5VnjN3m0xBG82HK6rhRxnCb3w/GyWbNDghPd+NktJqB/wl6+YkzZ5T5Q==} 453 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 454 | peerDependencies: 455 | eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 456 | typescript: '*' 457 | peerDependenciesMeta: 458 | typescript: 459 | optional: true 460 | dependencies: 461 | '@typescript-eslint/scope-manager': 5.26.0 462 | '@typescript-eslint/types': 5.26.0 463 | '@typescript-eslint/typescript-estree': 5.26.0_typescript@4.7.2 464 | debug: 4.3.4 465 | eslint: 8.16.0 466 | typescript: 4.7.2 467 | transitivePeerDependencies: 468 | - supports-color 469 | dev: true 470 | 471 | /@typescript-eslint/scope-manager/5.26.0: 472 | resolution: {integrity: sha512-gVzTJUESuTwiju/7NiTb4c5oqod8xt5GhMbExKsCTp6adU3mya6AGJ4Pl9xC7x2DX9UYFsjImC0mA62BCY22Iw==} 473 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 474 | dependencies: 475 | '@typescript-eslint/types': 5.26.0 476 | '@typescript-eslint/visitor-keys': 5.26.0 477 | dev: true 478 | 479 | /@typescript-eslint/type-utils/5.26.0_xztl6dhthcahlo6akmb2bmjmle: 480 | resolution: {integrity: sha512-7ccbUVWGLmcRDSA1+ADkDBl5fP87EJt0fnijsMFTVHXKGduYMgienC/i3QwoVhDADUAPoytgjbZbCOMj4TY55A==} 481 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 482 | peerDependencies: 483 | eslint: '*' 484 | typescript: '*' 485 | peerDependenciesMeta: 486 | typescript: 487 | optional: true 488 | dependencies: 489 | '@typescript-eslint/utils': 5.26.0_xztl6dhthcahlo6akmb2bmjmle 490 | debug: 4.3.4 491 | eslint: 8.16.0 492 | tsutils: 3.21.0_typescript@4.7.2 493 | typescript: 4.7.2 494 | transitivePeerDependencies: 495 | - supports-color 496 | dev: true 497 | 498 | /@typescript-eslint/types/5.26.0: 499 | resolution: {integrity: sha512-8794JZFE1RN4XaExLWLI2oSXsVImNkl79PzTOOWt9h0UHROwJedNOD2IJyfL0NbddFllcktGIO2aOu10avQQyA==} 500 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 501 | dev: true 502 | 503 | /@typescript-eslint/typescript-estree/5.26.0_typescript@4.7.2: 504 | resolution: {integrity: sha512-EyGpw6eQDsfD6jIqmXP3rU5oHScZ51tL/cZgFbFBvWuCwrIptl+oueUZzSmLtxFuSOQ9vDcJIs+279gnJkfd1w==} 505 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 506 | peerDependencies: 507 | typescript: '*' 508 | peerDependenciesMeta: 509 | typescript: 510 | optional: true 511 | dependencies: 512 | '@typescript-eslint/types': 5.26.0 513 | '@typescript-eslint/visitor-keys': 5.26.0 514 | debug: 4.3.4 515 | globby: 11.1.0 516 | is-glob: 4.0.3 517 | semver: 7.3.7 518 | tsutils: 3.21.0_typescript@4.7.2 519 | typescript: 4.7.2 520 | transitivePeerDependencies: 521 | - supports-color 522 | dev: true 523 | 524 | /@typescript-eslint/utils/5.26.0_xztl6dhthcahlo6akmb2bmjmle: 525 | resolution: {integrity: sha512-PJFwcTq2Pt4AMOKfe3zQOdez6InIDOjUJJD3v3LyEtxHGVVRK3Vo7Dd923t/4M9hSH2q2CLvcTdxlLPjcIk3eg==} 526 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 527 | peerDependencies: 528 | eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 529 | dependencies: 530 | '@types/json-schema': 7.0.11 531 | '@typescript-eslint/scope-manager': 5.26.0 532 | '@typescript-eslint/types': 5.26.0 533 | '@typescript-eslint/typescript-estree': 5.26.0_typescript@4.7.2 534 | eslint: 8.16.0 535 | eslint-scope: 5.1.1 536 | eslint-utils: 3.0.0_eslint@8.16.0 537 | transitivePeerDependencies: 538 | - supports-color 539 | - typescript 540 | dev: true 541 | 542 | /@typescript-eslint/visitor-keys/5.26.0: 543 | resolution: {integrity: sha512-wei+ffqHanYDOQgg/fS6Hcar6wAWv0CUPQ3TZzOWd2BLfgP539rb49bwua8WRAs7R6kOSLn82rfEu2ro6Llt8Q==} 544 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 545 | dependencies: 546 | '@typescript-eslint/types': 5.26.0 547 | eslint-visitor-keys: 3.3.0 548 | dev: true 549 | 550 | /JSONStream/1.3.5: 551 | resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==} 552 | hasBin: true 553 | dependencies: 554 | jsonparse: 1.3.1 555 | through: 2.3.8 556 | dev: true 557 | 558 | /accepts/1.3.8: 559 | resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} 560 | engines: {node: '>= 0.6'} 561 | dependencies: 562 | mime-types: 2.1.35 563 | negotiator: 0.6.3 564 | dev: false 565 | 566 | /acorn-jsx/5.3.2_acorn@8.7.1: 567 | resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} 568 | peerDependencies: 569 | acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 570 | dependencies: 571 | acorn: 8.7.1 572 | dev: true 573 | 574 | /acorn-walk/8.2.0: 575 | resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} 576 | engines: {node: '>=0.4.0'} 577 | dev: true 578 | 579 | /acorn/8.7.1: 580 | resolution: {integrity: sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==} 581 | engines: {node: '>=0.4.0'} 582 | hasBin: true 583 | dev: true 584 | 585 | /address/1.2.0: 586 | resolution: {integrity: sha512-tNEZYz5G/zYunxFm7sfhAxkXEuLj3K6BKwv6ZURlsF6yiUQ65z0Q2wZW9L5cPUl9ocofGvXOdFYbFHp0+6MOig==} 587 | engines: {node: '>= 10.0.0'} 588 | dev: false 589 | 590 | /agent-base/5.1.1: 591 | resolution: {integrity: sha512-TMeqbNl2fMW0nMjTEPOwe3J/PRFP4vqeoNuQMG0HlMrtm5QxKqdvAkZ1pRBQ/ulIyDD5Yq0nJ7YbdD8ey0TO3g==} 592 | engines: {node: '>= 6.0.0'} 593 | dev: false 594 | 595 | /aggregate-error/3.1.0: 596 | resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} 597 | engines: {node: '>=8'} 598 | dependencies: 599 | clean-stack: 2.2.0 600 | indent-string: 4.0.0 601 | dev: true 602 | 603 | /ajv/6.12.6: 604 | resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} 605 | dependencies: 606 | fast-deep-equal: 3.1.3 607 | fast-json-stable-stringify: 2.1.0 608 | json-schema-traverse: 0.4.1 609 | uri-js: 4.4.1 610 | dev: true 611 | 612 | /ansi-escapes/4.3.2: 613 | resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} 614 | engines: {node: '>=8'} 615 | dependencies: 616 | type-fest: 0.21.3 617 | dev: true 618 | 619 | /ansi-regex/5.0.1: 620 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} 621 | engines: {node: '>=8'} 622 | 623 | /ansi-regex/6.0.1: 624 | resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} 625 | engines: {node: '>=12'} 626 | dev: true 627 | 628 | /ansi-styles/3.2.1: 629 | resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} 630 | engines: {node: '>=4'} 631 | dependencies: 632 | color-convert: 1.9.3 633 | dev: true 634 | 635 | /ansi-styles/4.3.0: 636 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} 637 | engines: {node: '>=8'} 638 | dependencies: 639 | color-convert: 2.0.1 640 | 641 | /ansi-styles/6.1.0: 642 | resolution: {integrity: sha512-VbqNsoz55SYGczauuup0MFUyXNQviSpFTj1RQtFzmQLk18qbVSpTFFGMT293rmDaQuKCT6InmbuEyUne4mTuxQ==} 643 | engines: {node: '>=12'} 644 | dev: true 645 | 646 | /arg/4.1.3: 647 | resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} 648 | dev: true 649 | 650 | /argparse/2.0.1: 651 | resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} 652 | dev: true 653 | 654 | /array-flatten/1.1.1: 655 | resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} 656 | dev: false 657 | 658 | /array-ify/1.0.0: 659 | resolution: {integrity: sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==} 660 | dev: true 661 | 662 | /array-includes/3.1.5: 663 | resolution: {integrity: sha512-iSDYZMMyTPkiFasVqfuAQnWAYcvO/SeBSCGKePoEthjp4LEMTe4uLc7b025o4jAZpHhihh8xPo99TNWUWWkGDQ==} 664 | engines: {node: '>= 0.4'} 665 | dependencies: 666 | call-bind: 1.0.2 667 | define-properties: 1.1.4 668 | es-abstract: 1.20.1 669 | get-intrinsic: 1.1.1 670 | is-string: 1.0.7 671 | dev: true 672 | 673 | /array-union/2.1.0: 674 | resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} 675 | engines: {node: '>=8'} 676 | dev: true 677 | 678 | /array.prototype.flat/1.3.0: 679 | resolution: {integrity: sha512-12IUEkHsAhA4DY5s0FPgNXIdc8VRSqD9Zp78a5au9abH/SOBrsp082JOWFNTjkMozh8mqcdiKuaLGhPeYztxSw==} 680 | engines: {node: '>= 0.4'} 681 | dependencies: 682 | call-bind: 1.0.2 683 | define-properties: 1.1.4 684 | es-abstract: 1.20.1 685 | es-shim-unscopables: 1.0.0 686 | dev: true 687 | 688 | /arrify/1.0.1: 689 | resolution: {integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==} 690 | engines: {node: '>=0.10.0'} 691 | dev: true 692 | 693 | /astral-regex/2.0.0: 694 | resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} 695 | engines: {node: '>=8'} 696 | dev: true 697 | 698 | /async-limiter/1.0.1: 699 | resolution: {integrity: sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==} 700 | dev: false 701 | 702 | /balanced-match/1.0.2: 703 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} 704 | 705 | /body-parser/1.20.0: 706 | resolution: {integrity: sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==} 707 | engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} 708 | dependencies: 709 | bytes: 3.1.2 710 | content-type: 1.0.4 711 | debug: 2.6.9 712 | depd: 2.0.0 713 | destroy: 1.2.0 714 | http-errors: 2.0.0 715 | iconv-lite: 0.4.24 716 | on-finished: 2.4.1 717 | qs: 6.10.3 718 | raw-body: 2.5.1 719 | type-is: 1.6.18 720 | unpipe: 1.0.0 721 | transitivePeerDependencies: 722 | - supports-color 723 | dev: false 724 | 725 | /brace-expansion/1.1.11: 726 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} 727 | dependencies: 728 | balanced-match: 1.0.2 729 | concat-map: 0.0.1 730 | 731 | /braces/3.0.2: 732 | resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} 733 | engines: {node: '>=8'} 734 | dependencies: 735 | fill-range: 7.0.1 736 | 737 | /buffer-crc32/0.2.13: 738 | resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} 739 | dev: false 740 | 741 | /buffer-from/1.1.2: 742 | resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} 743 | dev: false 744 | 745 | /bytes/3.1.2: 746 | resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} 747 | engines: {node: '>= 0.8'} 748 | dev: false 749 | 750 | /call-bind/1.0.2: 751 | resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} 752 | dependencies: 753 | function-bind: 1.1.1 754 | get-intrinsic: 1.1.1 755 | 756 | /callsites/3.1.0: 757 | resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} 758 | engines: {node: '>=6'} 759 | dev: true 760 | 761 | /camelcase-keys/6.2.2: 762 | resolution: {integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==} 763 | engines: {node: '>=8'} 764 | dependencies: 765 | camelcase: 5.3.1 766 | map-obj: 4.3.0 767 | quick-lru: 4.0.1 768 | dev: true 769 | 770 | /camelcase/5.3.1: 771 | resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} 772 | engines: {node: '>=6'} 773 | dev: true 774 | 775 | /chalk/2.4.2: 776 | resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} 777 | engines: {node: '>=4'} 778 | dependencies: 779 | ansi-styles: 3.2.1 780 | escape-string-regexp: 1.0.5 781 | supports-color: 5.5.0 782 | dev: true 783 | 784 | /chalk/4.1.2: 785 | resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} 786 | engines: {node: '>=10'} 787 | dependencies: 788 | ansi-styles: 4.3.0 789 | supports-color: 7.2.0 790 | dev: true 791 | 792 | /clean-stack/2.2.0: 793 | resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} 794 | engines: {node: '>=6'} 795 | dev: true 796 | 797 | /cli-cursor/3.1.0: 798 | resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} 799 | engines: {node: '>=8'} 800 | dependencies: 801 | restore-cursor: 3.1.0 802 | dev: true 803 | 804 | /cli-truncate/2.1.0: 805 | resolution: {integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==} 806 | engines: {node: '>=8'} 807 | dependencies: 808 | slice-ansi: 3.0.0 809 | string-width: 4.2.3 810 | dev: true 811 | 812 | /cli-truncate/3.1.0: 813 | resolution: {integrity: sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==} 814 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 815 | dependencies: 816 | slice-ansi: 5.0.0 817 | string-width: 5.1.2 818 | dev: true 819 | 820 | /cliui/7.0.4: 821 | resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} 822 | dependencies: 823 | string-width: 4.2.3 824 | strip-ansi: 6.0.1 825 | wrap-ansi: 7.0.0 826 | 827 | /color-convert/1.9.3: 828 | resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} 829 | dependencies: 830 | color-name: 1.1.3 831 | dev: true 832 | 833 | /color-convert/2.0.1: 834 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} 835 | engines: {node: '>=7.0.0'} 836 | dependencies: 837 | color-name: 1.1.4 838 | 839 | /color-name/1.1.3: 840 | resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} 841 | dev: true 842 | 843 | /color-name/1.1.4: 844 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} 845 | 846 | /colorette/2.0.16: 847 | resolution: {integrity: sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g==} 848 | dev: true 849 | 850 | /colors/1.4.0: 851 | resolution: {integrity: sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==} 852 | engines: {node: '>=0.1.90'} 853 | dev: false 854 | 855 | /commander/8.3.0: 856 | resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==} 857 | engines: {node: '>= 12'} 858 | dev: true 859 | 860 | /compare-func/2.0.0: 861 | resolution: {integrity: sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==} 862 | dependencies: 863 | array-ify: 1.0.0 864 | dot-prop: 5.3.0 865 | dev: true 866 | 867 | /concat-map/0.0.1: 868 | resolution: {integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=, tarball: concat-map/download/concat-map-0.0.1.tgz} 869 | 870 | /concat-stream/1.6.2: 871 | resolution: {integrity: sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==} 872 | engines: {'0': node >= 0.8} 873 | dependencies: 874 | buffer-from: 1.1.2 875 | inherits: 2.0.4 876 | readable-stream: 2.3.7 877 | typedarray: 0.0.6 878 | dev: false 879 | 880 | /confusing-browser-globals/1.0.11: 881 | resolution: {integrity: sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==} 882 | dev: true 883 | 884 | /content-disposition/0.5.4: 885 | resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} 886 | engines: {node: '>= 0.6'} 887 | dependencies: 888 | safe-buffer: 5.2.1 889 | dev: false 890 | 891 | /content-type/1.0.4: 892 | resolution: {integrity: sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==} 893 | engines: {node: '>= 0.6'} 894 | dev: false 895 | 896 | /conventional-changelog-angular/5.0.13: 897 | resolution: {integrity: sha512-i/gipMxs7s8L/QeuavPF2hLnJgH6pEZAttySB6aiQLWcX3puWDL3ACVmvBhJGxnAy52Qc15ua26BufY6KpmrVA==} 898 | engines: {node: '>=10'} 899 | dependencies: 900 | compare-func: 2.0.0 901 | q: 1.5.1 902 | dev: true 903 | 904 | /conventional-changelog-conventionalcommits/4.6.3: 905 | resolution: {integrity: sha512-LTTQV4fwOM4oLPad317V/QNQ1FY4Hju5qeBIM1uTHbrnCE+Eg4CdRZ3gO2pUeR+tzWdp80M2j3qFFEDWVqOV4g==} 906 | engines: {node: '>=10'} 907 | dependencies: 908 | compare-func: 2.0.0 909 | lodash: 4.17.21 910 | q: 1.5.1 911 | dev: true 912 | 913 | /conventional-commits-parser/3.2.4: 914 | resolution: {integrity: sha512-nK7sAtfi+QXbxHCYfhpZsfRtaitZLIA6889kFIouLvz6repszQDgxBu7wf2WbU+Dco7sAnNCJYERCwt54WPC2Q==} 915 | engines: {node: '>=10'} 916 | hasBin: true 917 | dependencies: 918 | is-text-path: 1.0.1 919 | JSONStream: 1.3.5 920 | lodash: 4.17.21 921 | meow: 8.1.2 922 | split2: 3.2.2 923 | through2: 4.0.2 924 | dev: true 925 | 926 | /cookie-signature/1.0.6: 927 | resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} 928 | dev: false 929 | 930 | /cookie/0.5.0: 931 | resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==} 932 | engines: {node: '>= 0.6'} 933 | dev: false 934 | 935 | /core-util-is/1.0.3: 936 | resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} 937 | dev: false 938 | 939 | /cosmiconfig-typescript-loader/2.0.1_w6gfxie3xfwntbz3mwbbvycbdq: 940 | resolution: {integrity: sha512-B9s6sX/omXq7I6gC6+YgLmrBFMJhPWew7ty/X5Tuwtd2zOSgWaUdXjkuVwbe3qqcdETo60+1nSVMekq//LIXVA==} 941 | engines: {node: '>=12', npm: '>=6'} 942 | peerDependencies: 943 | '@types/node': '*' 944 | typescript: '>=3' 945 | dependencies: 946 | '@types/node': 17.0.36 947 | cosmiconfig: 7.0.1 948 | ts-node: 10.8.0_w6gfxie3xfwntbz3mwbbvycbdq 949 | typescript: 4.7.2 950 | transitivePeerDependencies: 951 | - '@swc/core' 952 | - '@swc/wasm' 953 | dev: true 954 | 955 | /cosmiconfig/7.0.1: 956 | resolution: {integrity: sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==} 957 | engines: {node: '>=10'} 958 | dependencies: 959 | '@types/parse-json': 4.0.0 960 | import-fresh: 3.3.0 961 | parse-json: 5.2.0 962 | path-type: 4.0.0 963 | yaml: 1.10.2 964 | dev: true 965 | 966 | /create-require/1.1.1: 967 | resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} 968 | dev: true 969 | 970 | /cross-spawn/7.0.3: 971 | resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} 972 | engines: {node: '>= 8'} 973 | dependencies: 974 | path-key: 3.1.1 975 | shebang-command: 2.0.0 976 | which: 2.0.2 977 | dev: true 978 | 979 | /dargs/7.0.0: 980 | resolution: {integrity: sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==} 981 | engines: {node: '>=8'} 982 | dev: true 983 | 984 | /debug/2.6.9: 985 | resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} 986 | peerDependencies: 987 | supports-color: '*' 988 | peerDependenciesMeta: 989 | supports-color: 990 | optional: true 991 | dependencies: 992 | ms: 2.0.0 993 | 994 | /debug/3.2.7: 995 | resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} 996 | peerDependencies: 997 | supports-color: '*' 998 | peerDependenciesMeta: 999 | supports-color: 1000 | optional: true 1001 | dependencies: 1002 | ms: 2.1.3 1003 | dev: true 1004 | 1005 | /debug/4.3.4: 1006 | resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} 1007 | engines: {node: '>=6.0'} 1008 | peerDependencies: 1009 | supports-color: '*' 1010 | peerDependenciesMeta: 1011 | supports-color: 1012 | optional: true 1013 | dependencies: 1014 | ms: 2.1.2 1015 | 1016 | /debug/4.3.4_supports-color@9.2.2: 1017 | resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} 1018 | engines: {node: '>=6.0'} 1019 | peerDependencies: 1020 | supports-color: '*' 1021 | peerDependenciesMeta: 1022 | supports-color: 1023 | optional: true 1024 | dependencies: 1025 | ms: 2.1.2 1026 | supports-color: 9.2.2 1027 | dev: true 1028 | 1029 | /decamelize-keys/1.1.0: 1030 | resolution: {integrity: sha512-ocLWuYzRPoS9bfiSdDd3cxvrzovVMZnRDVEzAs+hWIVXGDbHxWMECij2OBuyB/An0FFW/nLuq6Kv1i/YC5Qfzg==} 1031 | engines: {node: '>=0.10.0'} 1032 | dependencies: 1033 | decamelize: 1.2.0 1034 | map-obj: 1.0.1 1035 | dev: true 1036 | 1037 | /decamelize/1.2.0: 1038 | resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} 1039 | engines: {node: '>=0.10.0'} 1040 | dev: true 1041 | 1042 | /deep-is/0.1.4: 1043 | resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} 1044 | dev: true 1045 | 1046 | /define-lazy-prop/2.0.0: 1047 | resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} 1048 | engines: {node: '>=8'} 1049 | dev: false 1050 | 1051 | /define-properties/1.1.4: 1052 | resolution: {integrity: sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==} 1053 | engines: {node: '>= 0.4'} 1054 | dependencies: 1055 | has-property-descriptors: 1.0.0 1056 | object-keys: 1.1.1 1057 | dev: true 1058 | 1059 | /depd/2.0.0: 1060 | resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} 1061 | engines: {node: '>= 0.8'} 1062 | dev: false 1063 | 1064 | /destroy/1.2.0: 1065 | resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} 1066 | engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} 1067 | dev: false 1068 | 1069 | /detect-port/1.3.0: 1070 | resolution: {integrity: sha512-E+B1gzkl2gqxt1IhUzwjrxBKRqx1UzC3WLONHinn8S3T6lwV/agVCyitiFOsGJ/eYuEUBvD71MZHy3Pv1G9doQ==} 1071 | engines: {node: '>= 4.2.1'} 1072 | hasBin: true 1073 | dependencies: 1074 | address: 1.2.0 1075 | debug: 2.6.9 1076 | transitivePeerDependencies: 1077 | - supports-color 1078 | dev: false 1079 | 1080 | /diff/4.0.2: 1081 | resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} 1082 | engines: {node: '>=0.3.1'} 1083 | dev: true 1084 | 1085 | /dir-glob/3.0.1: 1086 | resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} 1087 | engines: {node: '>=8'} 1088 | dependencies: 1089 | path-type: 4.0.0 1090 | dev: true 1091 | 1092 | /doctrine/2.1.0: 1093 | resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} 1094 | engines: {node: '>=0.10.0'} 1095 | dependencies: 1096 | esutils: 2.0.3 1097 | dev: true 1098 | 1099 | /doctrine/3.0.0: 1100 | resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} 1101 | engines: {node: '>=6.0.0'} 1102 | dependencies: 1103 | esutils: 2.0.3 1104 | dev: true 1105 | 1106 | /dot-prop/5.3.0: 1107 | resolution: {integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==} 1108 | engines: {node: '>=8'} 1109 | dependencies: 1110 | is-obj: 2.0.0 1111 | dev: true 1112 | 1113 | /eastasianwidth/0.2.0: 1114 | resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} 1115 | dev: true 1116 | 1117 | /ee-first/1.1.1: 1118 | resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} 1119 | dev: false 1120 | 1121 | /emoji-regex/8.0.0: 1122 | resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} 1123 | 1124 | /emoji-regex/9.2.2: 1125 | resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} 1126 | dev: true 1127 | 1128 | /encodeurl/1.0.2: 1129 | resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} 1130 | engines: {node: '>= 0.8'} 1131 | dev: false 1132 | 1133 | /error-ex/1.3.2: 1134 | resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} 1135 | dependencies: 1136 | is-arrayish: 0.2.1 1137 | dev: true 1138 | 1139 | /es-abstract/1.20.1: 1140 | resolution: {integrity: sha512-WEm2oBhfoI2sImeM4OF2zE2V3BYdSF+KnSi9Sidz51fQHd7+JuF8Xgcj9/0o+OWeIeIS/MiuNnlruQrJf16GQA==} 1141 | engines: {node: '>= 0.4'} 1142 | dependencies: 1143 | call-bind: 1.0.2 1144 | es-to-primitive: 1.2.1 1145 | function-bind: 1.1.1 1146 | function.prototype.name: 1.1.5 1147 | get-intrinsic: 1.1.1 1148 | get-symbol-description: 1.0.0 1149 | has: 1.0.3 1150 | has-property-descriptors: 1.0.0 1151 | has-symbols: 1.0.3 1152 | internal-slot: 1.0.3 1153 | is-callable: 1.2.4 1154 | is-negative-zero: 2.0.2 1155 | is-regex: 1.1.4 1156 | is-shared-array-buffer: 1.0.2 1157 | is-string: 1.0.7 1158 | is-weakref: 1.0.2 1159 | object-inspect: 1.12.2 1160 | object-keys: 1.1.1 1161 | object.assign: 4.1.2 1162 | regexp.prototype.flags: 1.4.3 1163 | string.prototype.trimend: 1.0.5 1164 | string.prototype.trimstart: 1.0.5 1165 | unbox-primitive: 1.0.2 1166 | dev: true 1167 | 1168 | /es-shim-unscopables/1.0.0: 1169 | resolution: {integrity: sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==} 1170 | dependencies: 1171 | has: 1.0.3 1172 | dev: true 1173 | 1174 | /es-to-primitive/1.2.1: 1175 | resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} 1176 | engines: {node: '>= 0.4'} 1177 | dependencies: 1178 | is-callable: 1.2.4 1179 | is-date-object: 1.0.5 1180 | is-symbol: 1.0.4 1181 | dev: true 1182 | 1183 | /escalade/3.1.1: 1184 | resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} 1185 | engines: {node: '>=6'} 1186 | 1187 | /escape-html/1.0.3: 1188 | resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} 1189 | dev: false 1190 | 1191 | /escape-string-regexp/1.0.5: 1192 | resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} 1193 | engines: {node: '>=0.8.0'} 1194 | dev: true 1195 | 1196 | /escape-string-regexp/4.0.0: 1197 | resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} 1198 | engines: {node: '>=10'} 1199 | dev: true 1200 | 1201 | /eslint-config-airbnb-base/15.0.0_btspkuwbqkl4adpiufzbathtpi: 1202 | resolution: {integrity: sha512-xaX3z4ZZIcFLvh2oUNvcX5oEofXda7giYmuplVxoOg5A7EXJMrUyqRgR+mhDhPK8LZ4PttFOBvCYDbX3sUoUig==} 1203 | engines: {node: ^10.12.0 || >=12.0.0} 1204 | peerDependencies: 1205 | eslint: ^7.32.0 || ^8.2.0 1206 | eslint-plugin-import: ^2.25.2 1207 | dependencies: 1208 | confusing-browser-globals: 1.0.11 1209 | eslint: 8.16.0 1210 | eslint-plugin-import: 2.26.0_grfei5yostfimvqdpf73rlhy3e 1211 | object.assign: 4.1.2 1212 | object.entries: 1.1.5 1213 | semver: 6.3.0 1214 | dev: true 1215 | 1216 | /eslint-config-airbnb-typescript/17.0.0_omfmjsp36rj32txxzmcgovksfy: 1217 | resolution: {integrity: sha512-elNiuzD0kPAPTXjFWg+lE24nMdHMtuxgYoD30OyMD6yrW1AhFZPAg27VX7d3tzOErw+dgJTNWfRSDqEcXb4V0g==} 1218 | peerDependencies: 1219 | '@typescript-eslint/eslint-plugin': ^5.13.0 1220 | '@typescript-eslint/parser': ^5.0.0 1221 | eslint: ^7.32.0 || ^8.2.0 1222 | eslint-plugin-import: ^2.25.3 1223 | dependencies: 1224 | '@typescript-eslint/eslint-plugin': 5.26.0_hzuh7e2up357pvq3mkokjvu2lq 1225 | '@typescript-eslint/parser': 5.26.0_xztl6dhthcahlo6akmb2bmjmle 1226 | eslint: 8.16.0 1227 | eslint-config-airbnb-base: 15.0.0_btspkuwbqkl4adpiufzbathtpi 1228 | eslint-plugin-import: 2.26.0_grfei5yostfimvqdpf73rlhy3e 1229 | dev: true 1230 | 1231 | /eslint-import-resolver-node/0.3.6: 1232 | resolution: {integrity: sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==} 1233 | dependencies: 1234 | debug: 3.2.7 1235 | resolve: 1.22.0 1236 | transitivePeerDependencies: 1237 | - supports-color 1238 | dev: true 1239 | 1240 | /eslint-module-utils/2.7.3_zhgf6mw2wzy6dnrak3ta47vb3m: 1241 | resolution: {integrity: sha512-088JEC7O3lDZM9xGe0RerkOMd0EjFl+Yvd1jPWIkMT5u3H9+HC34mWWPnqPrN13gieT9pBOO+Qt07Nb/6TresQ==} 1242 | engines: {node: '>=4'} 1243 | peerDependencies: 1244 | '@typescript-eslint/parser': '*' 1245 | eslint-import-resolver-node: '*' 1246 | eslint-import-resolver-typescript: '*' 1247 | eslint-import-resolver-webpack: '*' 1248 | peerDependenciesMeta: 1249 | '@typescript-eslint/parser': 1250 | optional: true 1251 | eslint-import-resolver-node: 1252 | optional: true 1253 | eslint-import-resolver-typescript: 1254 | optional: true 1255 | eslint-import-resolver-webpack: 1256 | optional: true 1257 | dependencies: 1258 | '@typescript-eslint/parser': 5.26.0_xztl6dhthcahlo6akmb2bmjmle 1259 | debug: 3.2.7 1260 | eslint-import-resolver-node: 0.3.6 1261 | find-up: 2.1.0 1262 | transitivePeerDependencies: 1263 | - supports-color 1264 | dev: true 1265 | 1266 | /eslint-plugin-import/2.26.0_grfei5yostfimvqdpf73rlhy3e: 1267 | resolution: {integrity: sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==} 1268 | engines: {node: '>=4'} 1269 | peerDependencies: 1270 | '@typescript-eslint/parser': '*' 1271 | eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 1272 | peerDependenciesMeta: 1273 | '@typescript-eslint/parser': 1274 | optional: true 1275 | dependencies: 1276 | '@typescript-eslint/parser': 5.26.0_xztl6dhthcahlo6akmb2bmjmle 1277 | array-includes: 3.1.5 1278 | array.prototype.flat: 1.3.0 1279 | debug: 2.6.9 1280 | doctrine: 2.1.0 1281 | eslint: 8.16.0 1282 | eslint-import-resolver-node: 0.3.6 1283 | eslint-module-utils: 2.7.3_zhgf6mw2wzy6dnrak3ta47vb3m 1284 | has: 1.0.3 1285 | is-core-module: 2.9.0 1286 | is-glob: 4.0.3 1287 | minimatch: 3.1.2 1288 | object.values: 1.1.5 1289 | resolve: 1.22.0 1290 | tsconfig-paths: 3.14.1 1291 | transitivePeerDependencies: 1292 | - eslint-import-resolver-typescript 1293 | - eslint-import-resolver-webpack 1294 | - supports-color 1295 | dev: true 1296 | 1297 | /eslint-scope/5.1.1: 1298 | resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} 1299 | engines: {node: '>=8.0.0'} 1300 | dependencies: 1301 | esrecurse: 4.3.0 1302 | estraverse: 4.3.0 1303 | dev: true 1304 | 1305 | /eslint-scope/7.1.1: 1306 | resolution: {integrity: sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==} 1307 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1308 | dependencies: 1309 | esrecurse: 4.3.0 1310 | estraverse: 5.3.0 1311 | dev: true 1312 | 1313 | /eslint-utils/3.0.0_eslint@8.16.0: 1314 | resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} 1315 | engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} 1316 | peerDependencies: 1317 | eslint: '>=5' 1318 | dependencies: 1319 | eslint: 8.16.0 1320 | eslint-visitor-keys: 2.1.0 1321 | dev: true 1322 | 1323 | /eslint-visitor-keys/2.1.0: 1324 | resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==} 1325 | engines: {node: '>=10'} 1326 | dev: true 1327 | 1328 | /eslint-visitor-keys/3.3.0: 1329 | resolution: {integrity: sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==} 1330 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1331 | dev: true 1332 | 1333 | /eslint/8.16.0: 1334 | resolution: {integrity: sha512-MBndsoXY/PeVTDJeWsYj7kLZ5hQpJOfMYLsF6LicLHQWbRDG19lK5jOix4DPl8yY4SUFcE3txy86OzFLWT+yoA==} 1335 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1336 | hasBin: true 1337 | dependencies: 1338 | '@eslint/eslintrc': 1.3.0 1339 | '@humanwhocodes/config-array': 0.9.5 1340 | ajv: 6.12.6 1341 | chalk: 4.1.2 1342 | cross-spawn: 7.0.3 1343 | debug: 4.3.4 1344 | doctrine: 3.0.0 1345 | escape-string-regexp: 4.0.0 1346 | eslint-scope: 7.1.1 1347 | eslint-utils: 3.0.0_eslint@8.16.0 1348 | eslint-visitor-keys: 3.3.0 1349 | espree: 9.3.2 1350 | esquery: 1.4.0 1351 | esutils: 2.0.3 1352 | fast-deep-equal: 3.1.3 1353 | file-entry-cache: 6.0.1 1354 | functional-red-black-tree: 1.0.1 1355 | glob-parent: 6.0.2 1356 | globals: 13.15.0 1357 | ignore: 5.2.0 1358 | import-fresh: 3.3.0 1359 | imurmurhash: 0.1.4 1360 | is-glob: 4.0.3 1361 | js-yaml: 4.1.0 1362 | json-stable-stringify-without-jsonify: 1.0.1 1363 | levn: 0.4.1 1364 | lodash.merge: 4.6.2 1365 | minimatch: 3.1.2 1366 | natural-compare: 1.4.0 1367 | optionator: 0.9.1 1368 | regexpp: 3.2.0 1369 | strip-ansi: 6.0.1 1370 | strip-json-comments: 3.1.1 1371 | text-table: 0.2.0 1372 | v8-compile-cache: 2.3.0 1373 | transitivePeerDependencies: 1374 | - supports-color 1375 | dev: true 1376 | 1377 | /espree/9.3.2: 1378 | resolution: {integrity: sha512-D211tC7ZwouTIuY5x9XnS0E9sWNChB7IYKX/Xp5eQj3nFXhqmiUDB9q27y76oFl8jTg3pXcQx/bpxMfs3CIZbA==} 1379 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1380 | dependencies: 1381 | acorn: 8.7.1 1382 | acorn-jsx: 5.3.2_acorn@8.7.1 1383 | eslint-visitor-keys: 3.3.0 1384 | dev: true 1385 | 1386 | /esquery/1.4.0: 1387 | resolution: {integrity: sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==} 1388 | engines: {node: '>=0.10'} 1389 | dependencies: 1390 | estraverse: 5.3.0 1391 | dev: true 1392 | 1393 | /esrecurse/4.3.0: 1394 | resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} 1395 | engines: {node: '>=4.0'} 1396 | dependencies: 1397 | estraverse: 5.3.0 1398 | dev: true 1399 | 1400 | /estraverse/4.3.0: 1401 | resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} 1402 | engines: {node: '>=4.0'} 1403 | dev: true 1404 | 1405 | /estraverse/5.3.0: 1406 | resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} 1407 | engines: {node: '>=4.0'} 1408 | dev: true 1409 | 1410 | /esutils/2.0.3: 1411 | resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} 1412 | engines: {node: '>=0.10.0'} 1413 | dev: true 1414 | 1415 | /etag/1.8.1: 1416 | resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} 1417 | engines: {node: '>= 0.6'} 1418 | dev: false 1419 | 1420 | /eventemitter3/4.0.7: 1421 | resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} 1422 | dev: false 1423 | 1424 | /execa/5.1.1: 1425 | resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} 1426 | engines: {node: '>=10'} 1427 | dependencies: 1428 | cross-spawn: 7.0.3 1429 | get-stream: 6.0.1 1430 | human-signals: 2.1.0 1431 | is-stream: 2.0.1 1432 | merge-stream: 2.0.0 1433 | npm-run-path: 4.0.1 1434 | onetime: 5.1.2 1435 | signal-exit: 3.0.7 1436 | strip-final-newline: 2.0.0 1437 | dev: true 1438 | 1439 | /express/4.18.1: 1440 | resolution: {integrity: sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q==} 1441 | engines: {node: '>= 0.10.0'} 1442 | dependencies: 1443 | accepts: 1.3.8 1444 | array-flatten: 1.1.1 1445 | body-parser: 1.20.0 1446 | content-disposition: 0.5.4 1447 | content-type: 1.0.4 1448 | cookie: 0.5.0 1449 | cookie-signature: 1.0.6 1450 | debug: 2.6.9 1451 | depd: 2.0.0 1452 | encodeurl: 1.0.2 1453 | escape-html: 1.0.3 1454 | etag: 1.8.1 1455 | finalhandler: 1.2.0 1456 | fresh: 0.5.2 1457 | http-errors: 2.0.0 1458 | merge-descriptors: 1.0.1 1459 | methods: 1.1.2 1460 | on-finished: 2.4.1 1461 | parseurl: 1.3.3 1462 | path-to-regexp: 0.1.7 1463 | proxy-addr: 2.0.7 1464 | qs: 6.10.3 1465 | range-parser: 1.2.1 1466 | safe-buffer: 5.2.1 1467 | send: 0.18.0 1468 | serve-static: 1.15.0 1469 | setprototypeof: 1.2.0 1470 | statuses: 2.0.1 1471 | type-is: 1.6.18 1472 | utils-merge: 1.0.1 1473 | vary: 1.1.2 1474 | transitivePeerDependencies: 1475 | - supports-color 1476 | dev: false 1477 | 1478 | /extract-zip/1.7.0: 1479 | resolution: {integrity: sha512-xoh5G1W/PB0/27lXgMQyIhP5DSY/LhoCsOyZgb+6iMmRtCwVBo55uKaMoEYrDCKQhWvqEip5ZPKAc6eFNyf/MA==} 1480 | hasBin: true 1481 | dependencies: 1482 | concat-stream: 1.6.2 1483 | debug: 2.6.9 1484 | mkdirp: 0.5.6 1485 | yauzl: 2.10.0 1486 | transitivePeerDependencies: 1487 | - supports-color 1488 | dev: false 1489 | 1490 | /fast-deep-equal/3.1.3: 1491 | resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} 1492 | dev: true 1493 | 1494 | /fast-glob/3.2.11: 1495 | resolution: {integrity: sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==} 1496 | engines: {node: '>=8.6.0'} 1497 | dependencies: 1498 | '@nodelib/fs.stat': 2.0.5 1499 | '@nodelib/fs.walk': 1.2.8 1500 | glob-parent: 5.1.2 1501 | merge2: 1.4.1 1502 | micromatch: 4.0.5 1503 | dev: true 1504 | 1505 | /fast-json-stable-stringify/2.1.0: 1506 | resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} 1507 | dev: true 1508 | 1509 | /fast-levenshtein/2.0.6: 1510 | resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} 1511 | dev: true 1512 | 1513 | /fastq/1.13.0: 1514 | resolution: {integrity: sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==} 1515 | dependencies: 1516 | reusify: 1.0.4 1517 | dev: true 1518 | 1519 | /fd-slicer/1.1.0: 1520 | resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==} 1521 | dependencies: 1522 | pend: 1.2.0 1523 | dev: false 1524 | 1525 | /file-entry-cache/6.0.1: 1526 | resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} 1527 | engines: {node: ^10.12.0 || >=12.0.0} 1528 | dependencies: 1529 | flat-cache: 3.0.4 1530 | dev: true 1531 | 1532 | /fill-range/7.0.1: 1533 | resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} 1534 | engines: {node: '>=8'} 1535 | dependencies: 1536 | to-regex-range: 5.0.1 1537 | 1538 | /finalhandler/1.2.0: 1539 | resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==} 1540 | engines: {node: '>= 0.8'} 1541 | dependencies: 1542 | debug: 2.6.9 1543 | encodeurl: 1.0.2 1544 | escape-html: 1.0.3 1545 | on-finished: 2.4.1 1546 | parseurl: 1.3.3 1547 | statuses: 2.0.1 1548 | unpipe: 1.0.0 1549 | transitivePeerDependencies: 1550 | - supports-color 1551 | dev: false 1552 | 1553 | /find-up/2.1.0: 1554 | resolution: {integrity: sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==} 1555 | engines: {node: '>=4'} 1556 | dependencies: 1557 | locate-path: 2.0.0 1558 | dev: true 1559 | 1560 | /find-up/4.1.0: 1561 | resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} 1562 | engines: {node: '>=8'} 1563 | dependencies: 1564 | locate-path: 5.0.0 1565 | path-exists: 4.0.0 1566 | dev: true 1567 | 1568 | /find-up/5.0.0: 1569 | resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} 1570 | engines: {node: '>=10'} 1571 | dependencies: 1572 | locate-path: 6.0.0 1573 | path-exists: 4.0.0 1574 | dev: true 1575 | 1576 | /flat-cache/3.0.4: 1577 | resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} 1578 | engines: {node: ^10.12.0 || >=12.0.0} 1579 | dependencies: 1580 | flatted: 3.2.5 1581 | rimraf: 3.0.2 1582 | dev: true 1583 | 1584 | /flatted/3.2.5: 1585 | resolution: {integrity: sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==} 1586 | dev: true 1587 | 1588 | /follow-redirects/1.15.1: 1589 | resolution: {integrity: sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==} 1590 | engines: {node: '>=4.0'} 1591 | peerDependencies: 1592 | debug: '*' 1593 | peerDependenciesMeta: 1594 | debug: 1595 | optional: true 1596 | dev: false 1597 | 1598 | /forwarded/0.2.0: 1599 | resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} 1600 | engines: {node: '>= 0.6'} 1601 | dev: false 1602 | 1603 | /fresh/0.5.2: 1604 | resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} 1605 | engines: {node: '>= 0.6'} 1606 | dev: false 1607 | 1608 | /fs-extra/10.1.0: 1609 | resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} 1610 | engines: {node: '>=12'} 1611 | dependencies: 1612 | graceful-fs: 4.2.10 1613 | jsonfile: 6.1.0 1614 | universalify: 2.0.0 1615 | dev: true 1616 | 1617 | /fs.realpath/1.0.0: 1618 | resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} 1619 | 1620 | /function-bind/1.1.1: 1621 | resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} 1622 | 1623 | /function.prototype.name/1.1.5: 1624 | resolution: {integrity: sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==} 1625 | engines: {node: '>= 0.4'} 1626 | dependencies: 1627 | call-bind: 1.0.2 1628 | define-properties: 1.1.4 1629 | es-abstract: 1.20.1 1630 | functions-have-names: 1.2.3 1631 | dev: true 1632 | 1633 | /functional-red-black-tree/1.0.1: 1634 | resolution: {integrity: sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==} 1635 | dev: true 1636 | 1637 | /functions-have-names/1.2.3: 1638 | resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} 1639 | dev: true 1640 | 1641 | /get-caller-file/2.0.5: 1642 | resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} 1643 | engines: {node: 6.* || 8.* || >= 10.*} 1644 | 1645 | /get-intrinsic/1.1.1: 1646 | resolution: {integrity: sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==} 1647 | dependencies: 1648 | function-bind: 1.1.1 1649 | has: 1.0.3 1650 | has-symbols: 1.0.3 1651 | 1652 | /get-stream/6.0.1: 1653 | resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} 1654 | engines: {node: '>=10'} 1655 | dev: true 1656 | 1657 | /get-symbol-description/1.0.0: 1658 | resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} 1659 | engines: {node: '>= 0.4'} 1660 | dependencies: 1661 | call-bind: 1.0.2 1662 | get-intrinsic: 1.1.1 1663 | dev: true 1664 | 1665 | /git-raw-commits/2.0.11: 1666 | resolution: {integrity: sha512-VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A==} 1667 | engines: {node: '>=10'} 1668 | hasBin: true 1669 | dependencies: 1670 | dargs: 7.0.0 1671 | lodash: 4.17.21 1672 | meow: 8.1.2 1673 | split2: 3.2.2 1674 | through2: 4.0.2 1675 | dev: true 1676 | 1677 | /glob-parent/5.1.2: 1678 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} 1679 | engines: {node: '>= 6'} 1680 | dependencies: 1681 | is-glob: 4.0.3 1682 | dev: true 1683 | 1684 | /glob-parent/6.0.2: 1685 | resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} 1686 | engines: {node: '>=10.13.0'} 1687 | dependencies: 1688 | is-glob: 4.0.3 1689 | dev: true 1690 | 1691 | /glob/7.2.3: 1692 | resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} 1693 | dependencies: 1694 | fs.realpath: 1.0.0 1695 | inflight: 1.0.6 1696 | inherits: 2.0.4 1697 | minimatch: 3.1.2 1698 | once: 1.4.0 1699 | path-is-absolute: 1.0.1 1700 | 1701 | /global-dirs/0.1.1: 1702 | resolution: {integrity: sha512-NknMLn7F2J7aflwFOlGdNIuCDpN3VGoSoB+aap3KABFWbHVn1TCgFC+np23J8W2BiZbjfEw3BFBycSMv1AFblg==} 1703 | engines: {node: '>=4'} 1704 | dependencies: 1705 | ini: 1.3.8 1706 | dev: true 1707 | 1708 | /globals/13.15.0: 1709 | resolution: {integrity: sha512-bpzcOlgDhMG070Av0Vy5Owklpv1I6+j96GhUI7Rh7IzDCKLzboflLrrfqMu8NquDbiR4EOQk7XzJwqVJxicxog==} 1710 | engines: {node: '>=8'} 1711 | dependencies: 1712 | type-fest: 0.20.2 1713 | dev: true 1714 | 1715 | /globby/11.1.0: 1716 | resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} 1717 | engines: {node: '>=10'} 1718 | dependencies: 1719 | array-union: 2.1.0 1720 | dir-glob: 3.0.1 1721 | fast-glob: 3.2.11 1722 | ignore: 5.2.0 1723 | merge2: 1.4.1 1724 | slash: 3.0.0 1725 | dev: true 1726 | 1727 | /graceful-fs/4.2.10: 1728 | resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} 1729 | dev: true 1730 | 1731 | /hard-rejection/2.1.0: 1732 | resolution: {integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==} 1733 | engines: {node: '>=6'} 1734 | dev: true 1735 | 1736 | /has-bigints/1.0.2: 1737 | resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} 1738 | dev: true 1739 | 1740 | /has-flag/3.0.0: 1741 | resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} 1742 | engines: {node: '>=4'} 1743 | dev: true 1744 | 1745 | /has-flag/4.0.0: 1746 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} 1747 | engines: {node: '>=8'} 1748 | dev: true 1749 | 1750 | /has-property-descriptors/1.0.0: 1751 | resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==} 1752 | dependencies: 1753 | get-intrinsic: 1.1.1 1754 | dev: true 1755 | 1756 | /has-symbols/1.0.3: 1757 | resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} 1758 | engines: {node: '>= 0.4'} 1759 | 1760 | /has-tostringtag/1.0.0: 1761 | resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} 1762 | engines: {node: '>= 0.4'} 1763 | dependencies: 1764 | has-symbols: 1.0.3 1765 | dev: true 1766 | 1767 | /has/1.0.3: 1768 | resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} 1769 | engines: {node: '>= 0.4.0'} 1770 | dependencies: 1771 | function-bind: 1.1.1 1772 | 1773 | /hosted-git-info/2.8.9: 1774 | resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} 1775 | dev: true 1776 | 1777 | /hosted-git-info/4.1.0: 1778 | resolution: {integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==} 1779 | engines: {node: '>=10'} 1780 | dependencies: 1781 | lru-cache: 6.0.0 1782 | dev: true 1783 | 1784 | /http-errors/2.0.0: 1785 | resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} 1786 | engines: {node: '>= 0.8'} 1787 | dependencies: 1788 | depd: 2.0.0 1789 | inherits: 2.0.4 1790 | setprototypeof: 1.2.0 1791 | statuses: 2.0.1 1792 | toidentifier: 1.0.1 1793 | dev: false 1794 | 1795 | /http-proxy-middleware/2.0.6_@types+express@4.17.13: 1796 | resolution: {integrity: sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==} 1797 | engines: {node: '>=12.0.0'} 1798 | peerDependencies: 1799 | '@types/express': ^4.17.13 1800 | peerDependenciesMeta: 1801 | '@types/express': 1802 | optional: true 1803 | dependencies: 1804 | '@types/express': 4.17.13 1805 | '@types/http-proxy': 1.17.9 1806 | http-proxy: 1.18.1 1807 | is-glob: 4.0.3 1808 | is-plain-obj: 3.0.0 1809 | micromatch: 4.0.5 1810 | transitivePeerDependencies: 1811 | - debug 1812 | dev: false 1813 | 1814 | /http-proxy/1.18.1: 1815 | resolution: {integrity: sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==} 1816 | engines: {node: '>=8.0.0'} 1817 | dependencies: 1818 | eventemitter3: 4.0.7 1819 | follow-redirects: 1.15.1 1820 | requires-port: 1.0.0 1821 | transitivePeerDependencies: 1822 | - debug 1823 | dev: false 1824 | 1825 | /https-proxy-agent/4.0.0: 1826 | resolution: {integrity: sha512-zoDhWrkR3of1l9QAL8/scJZyLu8j/gBkcwcaQOZh7Gyh/+uJQzGVETdgT30akuwkpL8HTRfssqI3BZuV18teDg==} 1827 | engines: {node: '>= 6.0.0'} 1828 | dependencies: 1829 | agent-base: 5.1.1 1830 | debug: 4.3.4 1831 | transitivePeerDependencies: 1832 | - supports-color 1833 | dev: false 1834 | 1835 | /human-signals/2.1.0: 1836 | resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} 1837 | engines: {node: '>=10.17.0'} 1838 | dev: true 1839 | 1840 | /husky/8.0.1: 1841 | resolution: {integrity: sha512-xs7/chUH/CKdOCs7Zy0Aev9e/dKOMZf3K1Az1nar3tzlv0jfqnYtu235bstsWTmXOR0EfINrPa97yy4Lz6RiKw==} 1842 | engines: {node: '>=14'} 1843 | hasBin: true 1844 | dev: true 1845 | 1846 | /iconv-lite/0.4.24: 1847 | resolution: {integrity: sha1-ICK0sl+93CHS9SSXSkdKr+czkIs=, tarball: iconv-lite/download/iconv-lite-0.4.24.tgz} 1848 | engines: {node: '>=0.10.0'} 1849 | dependencies: 1850 | safer-buffer: 2.1.2 1851 | dev: false 1852 | 1853 | /ignore/5.2.0: 1854 | resolution: {integrity: sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==} 1855 | engines: {node: '>= 4'} 1856 | dev: true 1857 | 1858 | /import-fresh/3.3.0: 1859 | resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} 1860 | engines: {node: '>=6'} 1861 | dependencies: 1862 | parent-module: 1.0.1 1863 | resolve-from: 4.0.0 1864 | dev: true 1865 | 1866 | /imurmurhash/0.1.4: 1867 | resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} 1868 | engines: {node: '>=0.8.19'} 1869 | dev: true 1870 | 1871 | /indent-string/4.0.0: 1872 | resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} 1873 | engines: {node: '>=8'} 1874 | dev: true 1875 | 1876 | /inflight/1.0.6: 1877 | resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} 1878 | dependencies: 1879 | once: 1.4.0 1880 | wrappy: 1.0.2 1881 | 1882 | /inherits/2.0.4: 1883 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} 1884 | 1885 | /ini/1.3.8: 1886 | resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} 1887 | dev: true 1888 | 1889 | /internal-slot/1.0.3: 1890 | resolution: {integrity: sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==} 1891 | engines: {node: '>= 0.4'} 1892 | dependencies: 1893 | get-intrinsic: 1.1.1 1894 | has: 1.0.3 1895 | side-channel: 1.0.4 1896 | dev: true 1897 | 1898 | /ipaddr.js/1.9.1: 1899 | resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} 1900 | engines: {node: '>= 0.10'} 1901 | dev: false 1902 | 1903 | /is-arrayish/0.2.1: 1904 | resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} 1905 | dev: true 1906 | 1907 | /is-bigint/1.0.4: 1908 | resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} 1909 | dependencies: 1910 | has-bigints: 1.0.2 1911 | dev: true 1912 | 1913 | /is-boolean-object/1.1.2: 1914 | resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} 1915 | engines: {node: '>= 0.4'} 1916 | dependencies: 1917 | call-bind: 1.0.2 1918 | has-tostringtag: 1.0.0 1919 | dev: true 1920 | 1921 | /is-callable/1.2.4: 1922 | resolution: {integrity: sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==} 1923 | engines: {node: '>= 0.4'} 1924 | dev: true 1925 | 1926 | /is-core-module/2.9.0: 1927 | resolution: {integrity: sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==} 1928 | dependencies: 1929 | has: 1.0.3 1930 | dev: true 1931 | 1932 | /is-date-object/1.0.5: 1933 | resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} 1934 | engines: {node: '>= 0.4'} 1935 | dependencies: 1936 | has-tostringtag: 1.0.0 1937 | dev: true 1938 | 1939 | /is-docker/2.2.1: 1940 | resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} 1941 | engines: {node: '>=8'} 1942 | hasBin: true 1943 | dev: false 1944 | 1945 | /is-extglob/2.1.1: 1946 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} 1947 | engines: {node: '>=0.10.0'} 1948 | 1949 | /is-fullwidth-code-point/3.0.0: 1950 | resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} 1951 | engines: {node: '>=8'} 1952 | 1953 | /is-fullwidth-code-point/4.0.0: 1954 | resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==} 1955 | engines: {node: '>=12'} 1956 | dev: true 1957 | 1958 | /is-glob/4.0.3: 1959 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} 1960 | engines: {node: '>=0.10.0'} 1961 | dependencies: 1962 | is-extglob: 2.1.1 1963 | 1964 | /is-negative-zero/2.0.2: 1965 | resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} 1966 | engines: {node: '>= 0.4'} 1967 | dev: true 1968 | 1969 | /is-number-object/1.0.7: 1970 | resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} 1971 | engines: {node: '>= 0.4'} 1972 | dependencies: 1973 | has-tostringtag: 1.0.0 1974 | dev: true 1975 | 1976 | /is-number/7.0.0: 1977 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} 1978 | engines: {node: '>=0.12.0'} 1979 | 1980 | /is-obj/2.0.0: 1981 | resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==} 1982 | engines: {node: '>=8'} 1983 | dev: true 1984 | 1985 | /is-plain-obj/1.1.0: 1986 | resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==} 1987 | engines: {node: '>=0.10.0'} 1988 | dev: true 1989 | 1990 | /is-plain-obj/3.0.0: 1991 | resolution: {integrity: sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==} 1992 | engines: {node: '>=10'} 1993 | dev: false 1994 | 1995 | /is-regex/1.1.4: 1996 | resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} 1997 | engines: {node: '>= 0.4'} 1998 | dependencies: 1999 | call-bind: 1.0.2 2000 | has-tostringtag: 1.0.0 2001 | dev: true 2002 | 2003 | /is-shared-array-buffer/1.0.2: 2004 | resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} 2005 | dependencies: 2006 | call-bind: 1.0.2 2007 | dev: true 2008 | 2009 | /is-stream/2.0.1: 2010 | resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} 2011 | engines: {node: '>=8'} 2012 | dev: true 2013 | 2014 | /is-string/1.0.7: 2015 | resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} 2016 | engines: {node: '>= 0.4'} 2017 | dependencies: 2018 | has-tostringtag: 1.0.0 2019 | dev: true 2020 | 2021 | /is-symbol/1.0.4: 2022 | resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} 2023 | engines: {node: '>= 0.4'} 2024 | dependencies: 2025 | has-symbols: 1.0.3 2026 | dev: true 2027 | 2028 | /is-text-path/1.0.1: 2029 | resolution: {integrity: sha512-xFuJpne9oFz5qDaodwmmG08e3CawH/2ZV8Qqza1Ko7Sk8POWbkRdwIoAWVhqvq0XeUzANEhKo2n0IXUGBm7A/w==} 2030 | engines: {node: '>=0.10.0'} 2031 | dependencies: 2032 | text-extensions: 1.9.0 2033 | dev: true 2034 | 2035 | /is-weakref/1.0.2: 2036 | resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} 2037 | dependencies: 2038 | call-bind: 1.0.2 2039 | dev: true 2040 | 2041 | /is-wsl/2.2.0: 2042 | resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} 2043 | engines: {node: '>=8'} 2044 | dependencies: 2045 | is-docker: 2.2.1 2046 | dev: false 2047 | 2048 | /isarray/1.0.0: 2049 | resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} 2050 | dev: false 2051 | 2052 | /isexe/2.0.0: 2053 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} 2054 | dev: true 2055 | 2056 | /js-tokens/4.0.0: 2057 | resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} 2058 | dev: true 2059 | 2060 | /js-yaml/4.1.0: 2061 | resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} 2062 | hasBin: true 2063 | dependencies: 2064 | argparse: 2.0.1 2065 | dev: true 2066 | 2067 | /json-parse-even-better-errors/2.3.1: 2068 | resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} 2069 | dev: true 2070 | 2071 | /json-schema-traverse/0.4.1: 2072 | resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} 2073 | dev: true 2074 | 2075 | /json-stable-stringify-without-jsonify/1.0.1: 2076 | resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} 2077 | dev: true 2078 | 2079 | /json5/1.0.1: 2080 | resolution: {integrity: sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==} 2081 | hasBin: true 2082 | dependencies: 2083 | minimist: 1.2.6 2084 | dev: true 2085 | 2086 | /jsonfile/6.1.0: 2087 | resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} 2088 | dependencies: 2089 | universalify: 2.0.0 2090 | optionalDependencies: 2091 | graceful-fs: 4.2.10 2092 | dev: true 2093 | 2094 | /jsonparse/1.3.1: 2095 | resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==} 2096 | engines: {'0': node >= 0.2.0} 2097 | dev: true 2098 | 2099 | /kind-of/6.0.3: 2100 | resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} 2101 | engines: {node: '>=0.10.0'} 2102 | dev: true 2103 | 2104 | /levn/0.4.1: 2105 | resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} 2106 | engines: {node: '>= 0.8.0'} 2107 | dependencies: 2108 | prelude-ls: 1.2.1 2109 | type-check: 0.4.0 2110 | dev: true 2111 | 2112 | /lilconfig/2.0.4: 2113 | resolution: {integrity: sha512-bfTIN7lEsiooCocSISTWXkiWJkRqtL9wYtYy+8EK3Y41qh3mpwPU0ycTOgjdY9ErwXCc8QyrQp82bdL0Xkm9yA==} 2114 | engines: {node: '>=10'} 2115 | dev: true 2116 | 2117 | /lines-and-columns/1.2.4: 2118 | resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} 2119 | dev: true 2120 | 2121 | /lint-staged/12.4.2: 2122 | resolution: {integrity: sha512-JAJGIzY/OioIUtrRePr8go6qUxij//mL+RGGoFKU3VWQRtIHgWoHizSqH0QVn2OwrbXS9Q6CICQjfj+E5qvrXg==} 2123 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 2124 | hasBin: true 2125 | dependencies: 2126 | cli-truncate: 3.1.0 2127 | colorette: 2.0.16 2128 | commander: 8.3.0 2129 | debug: 4.3.4_supports-color@9.2.2 2130 | execa: 5.1.1 2131 | lilconfig: 2.0.4 2132 | listr2: 4.0.5 2133 | micromatch: 4.0.5 2134 | normalize-path: 3.0.0 2135 | object-inspect: 1.12.2 2136 | pidtree: 0.5.0 2137 | string-argv: 0.3.1 2138 | supports-color: 9.2.2 2139 | yaml: 1.10.2 2140 | transitivePeerDependencies: 2141 | - enquirer 2142 | dev: true 2143 | 2144 | /listr2/4.0.5: 2145 | resolution: {integrity: sha512-juGHV1doQdpNT3GSTs9IUN43QJb7KHdF9uqg7Vufs/tG9VTzpFphqF4pm/ICdAABGQxsyNn9CiYA3StkI6jpwA==} 2146 | engines: {node: '>=12'} 2147 | peerDependencies: 2148 | enquirer: '>= 2.3.0 < 3' 2149 | peerDependenciesMeta: 2150 | enquirer: 2151 | optional: true 2152 | dependencies: 2153 | cli-truncate: 2.1.0 2154 | colorette: 2.0.16 2155 | log-update: 4.0.0 2156 | p-map: 4.0.0 2157 | rfdc: 1.3.0 2158 | rxjs: 7.5.5 2159 | through: 2.3.8 2160 | wrap-ansi: 7.0.0 2161 | dev: true 2162 | 2163 | /locate-path/2.0.0: 2164 | resolution: {integrity: sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==} 2165 | engines: {node: '>=4'} 2166 | dependencies: 2167 | p-locate: 2.0.0 2168 | path-exists: 3.0.0 2169 | dev: true 2170 | 2171 | /locate-path/5.0.0: 2172 | resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} 2173 | engines: {node: '>=8'} 2174 | dependencies: 2175 | p-locate: 4.1.0 2176 | dev: true 2177 | 2178 | /locate-path/6.0.0: 2179 | resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} 2180 | engines: {node: '>=10'} 2181 | dependencies: 2182 | p-locate: 5.0.0 2183 | dev: true 2184 | 2185 | /lodash.merge/4.6.2: 2186 | resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} 2187 | dev: true 2188 | 2189 | /lodash/4.17.21: 2190 | resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} 2191 | dev: true 2192 | 2193 | /log-update/4.0.0: 2194 | resolution: {integrity: sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==} 2195 | engines: {node: '>=10'} 2196 | dependencies: 2197 | ansi-escapes: 4.3.2 2198 | cli-cursor: 3.1.0 2199 | slice-ansi: 4.0.0 2200 | wrap-ansi: 6.2.0 2201 | dev: true 2202 | 2203 | /lru-cache/6.0.0: 2204 | resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} 2205 | engines: {node: '>=10'} 2206 | dependencies: 2207 | yallist: 4.0.0 2208 | dev: true 2209 | 2210 | /make-error/1.3.6: 2211 | resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} 2212 | dev: true 2213 | 2214 | /map-obj/1.0.1: 2215 | resolution: {integrity: sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==} 2216 | engines: {node: '>=0.10.0'} 2217 | dev: true 2218 | 2219 | /map-obj/4.3.0: 2220 | resolution: {integrity: sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==} 2221 | engines: {node: '>=8'} 2222 | dev: true 2223 | 2224 | /media-typer/0.3.0: 2225 | resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} 2226 | engines: {node: '>= 0.6'} 2227 | dev: false 2228 | 2229 | /meow/8.1.2: 2230 | resolution: {integrity: sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==} 2231 | engines: {node: '>=10'} 2232 | dependencies: 2233 | '@types/minimist': 1.2.2 2234 | camelcase-keys: 6.2.2 2235 | decamelize-keys: 1.1.0 2236 | hard-rejection: 2.1.0 2237 | minimist-options: 4.1.0 2238 | normalize-package-data: 3.0.3 2239 | read-pkg-up: 7.0.1 2240 | redent: 3.0.0 2241 | trim-newlines: 3.0.1 2242 | type-fest: 0.18.1 2243 | yargs-parser: 20.2.9 2244 | dev: true 2245 | 2246 | /merge-descriptors/1.0.1: 2247 | resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==} 2248 | dev: false 2249 | 2250 | /merge-stream/2.0.0: 2251 | resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} 2252 | dev: true 2253 | 2254 | /merge2/1.4.1: 2255 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} 2256 | engines: {node: '>= 8'} 2257 | dev: true 2258 | 2259 | /methods/1.1.2: 2260 | resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} 2261 | engines: {node: '>= 0.6'} 2262 | dev: false 2263 | 2264 | /micromatch/4.0.5: 2265 | resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} 2266 | engines: {node: '>=8.6'} 2267 | dependencies: 2268 | braces: 3.0.2 2269 | picomatch: 2.3.1 2270 | 2271 | /mime-db/1.52.0: 2272 | resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} 2273 | engines: {node: '>= 0.6'} 2274 | dev: false 2275 | 2276 | /mime-types/2.1.35: 2277 | resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} 2278 | engines: {node: '>= 0.6'} 2279 | dependencies: 2280 | mime-db: 1.52.0 2281 | dev: false 2282 | 2283 | /mime/1.6.0: 2284 | resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} 2285 | engines: {node: '>=4'} 2286 | hasBin: true 2287 | dev: false 2288 | 2289 | /mime/2.6.0: 2290 | resolution: {integrity: sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==} 2291 | engines: {node: '>=4.0.0'} 2292 | hasBin: true 2293 | dev: false 2294 | 2295 | /mimic-fn/2.1.0: 2296 | resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} 2297 | engines: {node: '>=6'} 2298 | dev: true 2299 | 2300 | /min-indent/1.0.1: 2301 | resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} 2302 | engines: {node: '>=4'} 2303 | dev: true 2304 | 2305 | /minimatch/3.1.2: 2306 | resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} 2307 | dependencies: 2308 | brace-expansion: 1.1.11 2309 | 2310 | /minimist-options/4.1.0: 2311 | resolution: {integrity: sha1-wGVXE8U6ii69d/+iR9NCxA8BBhk=, tarball: minimist-options/download/minimist-options-4.1.0.tgz} 2312 | engines: {node: '>= 6'} 2313 | dependencies: 2314 | arrify: 1.0.1 2315 | is-plain-obj: 1.1.0 2316 | kind-of: 6.0.3 2317 | dev: true 2318 | 2319 | /minimist/1.2.6: 2320 | resolution: {integrity: sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==} 2321 | 2322 | /mkdirp/0.5.6: 2323 | resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} 2324 | hasBin: true 2325 | dependencies: 2326 | minimist: 1.2.6 2327 | dev: false 2328 | 2329 | /ms/2.0.0: 2330 | resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} 2331 | 2332 | /ms/2.1.2: 2333 | resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} 2334 | 2335 | /ms/2.1.3: 2336 | resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} 2337 | 2338 | /natural-compare/1.4.0: 2339 | resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} 2340 | dev: true 2341 | 2342 | /negotiator/0.6.3: 2343 | resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} 2344 | engines: {node: '>= 0.6'} 2345 | dev: false 2346 | 2347 | /normalize-package-data/2.5.0: 2348 | resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} 2349 | dependencies: 2350 | hosted-git-info: 2.8.9 2351 | resolve: 1.22.0 2352 | semver: 5.7.1 2353 | validate-npm-package-license: 3.0.4 2354 | dev: true 2355 | 2356 | /normalize-package-data/3.0.3: 2357 | resolution: {integrity: sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==} 2358 | engines: {node: '>=10'} 2359 | dependencies: 2360 | hosted-git-info: 4.1.0 2361 | is-core-module: 2.9.0 2362 | semver: 7.3.7 2363 | validate-npm-package-license: 3.0.4 2364 | dev: true 2365 | 2366 | /normalize-path/3.0.0: 2367 | resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} 2368 | engines: {node: '>=0.10.0'} 2369 | dev: true 2370 | 2371 | /npm-run-path/4.0.1: 2372 | resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} 2373 | engines: {node: '>=8'} 2374 | dependencies: 2375 | path-key: 3.1.1 2376 | dev: true 2377 | 2378 | /object-inspect/1.12.2: 2379 | resolution: {integrity: sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==} 2380 | 2381 | /object-keys/1.1.1: 2382 | resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} 2383 | engines: {node: '>= 0.4'} 2384 | dev: true 2385 | 2386 | /object.assign/4.1.2: 2387 | resolution: {integrity: sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==} 2388 | engines: {node: '>= 0.4'} 2389 | dependencies: 2390 | call-bind: 1.0.2 2391 | define-properties: 1.1.4 2392 | has-symbols: 1.0.3 2393 | object-keys: 1.1.1 2394 | dev: true 2395 | 2396 | /object.entries/1.1.5: 2397 | resolution: {integrity: sha512-TyxmjUoZggd4OrrU1W66FMDG6CuqJxsFvymeyXI51+vQLN67zYfZseptRge703kKQdo4uccgAKebXFcRCzk4+g==} 2398 | engines: {node: '>= 0.4'} 2399 | dependencies: 2400 | call-bind: 1.0.2 2401 | define-properties: 1.1.4 2402 | es-abstract: 1.20.1 2403 | dev: true 2404 | 2405 | /object.values/1.1.5: 2406 | resolution: {integrity: sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==} 2407 | engines: {node: '>= 0.4'} 2408 | dependencies: 2409 | call-bind: 1.0.2 2410 | define-properties: 1.1.4 2411 | es-abstract: 1.20.1 2412 | dev: true 2413 | 2414 | /on-finished/2.4.1: 2415 | resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} 2416 | engines: {node: '>= 0.8'} 2417 | dependencies: 2418 | ee-first: 1.1.1 2419 | dev: false 2420 | 2421 | /once/1.4.0: 2422 | resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} 2423 | dependencies: 2424 | wrappy: 1.0.2 2425 | 2426 | /onetime/5.1.2: 2427 | resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} 2428 | engines: {node: '>=6'} 2429 | dependencies: 2430 | mimic-fn: 2.1.0 2431 | dev: true 2432 | 2433 | /open/8.4.0: 2434 | resolution: {integrity: sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==} 2435 | engines: {node: '>=12'} 2436 | dependencies: 2437 | define-lazy-prop: 2.0.0 2438 | is-docker: 2.2.1 2439 | is-wsl: 2.2.0 2440 | dev: false 2441 | 2442 | /optionator/0.9.1: 2443 | resolution: {integrity: sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==} 2444 | engines: {node: '>= 0.8.0'} 2445 | dependencies: 2446 | deep-is: 0.1.4 2447 | fast-levenshtein: 2.0.6 2448 | levn: 0.4.1 2449 | prelude-ls: 1.2.1 2450 | type-check: 0.4.0 2451 | word-wrap: 1.2.3 2452 | dev: true 2453 | 2454 | /p-limit/1.3.0: 2455 | resolution: {integrity: sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==} 2456 | engines: {node: '>=4'} 2457 | dependencies: 2458 | p-try: 1.0.0 2459 | dev: true 2460 | 2461 | /p-limit/2.3.0: 2462 | resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} 2463 | engines: {node: '>=6'} 2464 | dependencies: 2465 | p-try: 2.2.0 2466 | dev: true 2467 | 2468 | /p-limit/3.1.0: 2469 | resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} 2470 | engines: {node: '>=10'} 2471 | dependencies: 2472 | yocto-queue: 0.1.0 2473 | dev: true 2474 | 2475 | /p-locate/2.0.0: 2476 | resolution: {integrity: sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==} 2477 | engines: {node: '>=4'} 2478 | dependencies: 2479 | p-limit: 1.3.0 2480 | dev: true 2481 | 2482 | /p-locate/4.1.0: 2483 | resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} 2484 | engines: {node: '>=8'} 2485 | dependencies: 2486 | p-limit: 2.3.0 2487 | dev: true 2488 | 2489 | /p-locate/5.0.0: 2490 | resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} 2491 | engines: {node: '>=10'} 2492 | dependencies: 2493 | p-limit: 3.1.0 2494 | dev: true 2495 | 2496 | /p-map/4.0.0: 2497 | resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} 2498 | engines: {node: '>=10'} 2499 | dependencies: 2500 | aggregate-error: 3.1.0 2501 | dev: true 2502 | 2503 | /p-try/1.0.0: 2504 | resolution: {integrity: sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==} 2505 | engines: {node: '>=4'} 2506 | dev: true 2507 | 2508 | /p-try/2.2.0: 2509 | resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} 2510 | engines: {node: '>=6'} 2511 | dev: true 2512 | 2513 | /parent-module/1.0.1: 2514 | resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} 2515 | engines: {node: '>=6'} 2516 | dependencies: 2517 | callsites: 3.1.0 2518 | dev: true 2519 | 2520 | /parse-json/5.2.0: 2521 | resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} 2522 | engines: {node: '>=8'} 2523 | dependencies: 2524 | '@babel/code-frame': 7.16.7 2525 | error-ex: 1.3.2 2526 | json-parse-even-better-errors: 2.3.1 2527 | lines-and-columns: 1.2.4 2528 | dev: true 2529 | 2530 | /parseurl/1.3.3: 2531 | resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} 2532 | engines: {node: '>= 0.8'} 2533 | dev: false 2534 | 2535 | /path-exists/3.0.0: 2536 | resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==} 2537 | engines: {node: '>=4'} 2538 | dev: true 2539 | 2540 | /path-exists/4.0.0: 2541 | resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} 2542 | engines: {node: '>=8'} 2543 | dev: true 2544 | 2545 | /path-is-absolute/1.0.1: 2546 | resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} 2547 | engines: {node: '>=0.10.0'} 2548 | 2549 | /path-key/3.1.1: 2550 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} 2551 | engines: {node: '>=8'} 2552 | dev: true 2553 | 2554 | /path-parse/1.0.7: 2555 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} 2556 | dev: true 2557 | 2558 | /path-to-regexp/0.1.7: 2559 | resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==} 2560 | dev: false 2561 | 2562 | /path-type/4.0.0: 2563 | resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} 2564 | engines: {node: '>=8'} 2565 | dev: true 2566 | 2567 | /pend/1.2.0: 2568 | resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==} 2569 | dev: false 2570 | 2571 | /picomatch/2.3.1: 2572 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} 2573 | engines: {node: '>=8.6'} 2574 | 2575 | /pidtree/0.5.0: 2576 | resolution: {integrity: sha512-9nxspIM7OpZuhBxPg73Zvyq7j1QMPMPsGKTqRc2XOaFQauDvoNz9fM1Wdkjmeo7l9GXOZiRs97sPkuayl39wjA==} 2577 | engines: {node: '>=0.10'} 2578 | hasBin: true 2579 | dev: true 2580 | 2581 | /prelude-ls/1.2.1: 2582 | resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} 2583 | engines: {node: '>= 0.8.0'} 2584 | dev: true 2585 | 2586 | /process-nextick-args/2.0.1: 2587 | resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} 2588 | dev: false 2589 | 2590 | /progress/2.0.3: 2591 | resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} 2592 | engines: {node: '>=0.4.0'} 2593 | dev: false 2594 | 2595 | /proxy-addr/2.0.7: 2596 | resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} 2597 | engines: {node: '>= 0.10'} 2598 | dependencies: 2599 | forwarded: 0.2.0 2600 | ipaddr.js: 1.9.1 2601 | dev: false 2602 | 2603 | /proxy-from-env/1.1.0: 2604 | resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} 2605 | dev: false 2606 | 2607 | /punycode/2.1.1: 2608 | resolution: {integrity: sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==} 2609 | engines: {node: '>=6'} 2610 | dev: true 2611 | 2612 | /puppeteer/2.1.1: 2613 | resolution: {integrity: sha512-LWzaDVQkk1EPiuYeTOj+CZRIjda4k2s5w4MK4xoH2+kgWV/SDlkYHmxatDdtYrciHUKSXTsGgPgPP8ILVdBsxg==} 2614 | engines: {node: '>=8.16.0'} 2615 | deprecated: Version no longer supported. Upgrade to @latest 2616 | requiresBuild: true 2617 | dependencies: 2618 | '@types/mime-types': 2.1.1 2619 | debug: 4.3.4 2620 | extract-zip: 1.7.0 2621 | https-proxy-agent: 4.0.0 2622 | mime: 2.6.0 2623 | mime-types: 2.1.35 2624 | progress: 2.0.3 2625 | proxy-from-env: 1.1.0 2626 | rimraf: 2.7.1 2627 | ws: 6.2.2 2628 | transitivePeerDependencies: 2629 | - bufferutil 2630 | - supports-color 2631 | - utf-8-validate 2632 | dev: false 2633 | 2634 | /q/1.5.1: 2635 | resolution: {integrity: sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==} 2636 | engines: {node: '>=0.6.0', teleport: '>=0.2.0'} 2637 | dev: true 2638 | 2639 | /qs/6.10.3: 2640 | resolution: {integrity: sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==, tarball: qs/download/qs-6.10.3.tgz} 2641 | engines: {node: '>=0.6'} 2642 | dependencies: 2643 | side-channel: 1.0.4 2644 | dev: false 2645 | 2646 | /queue-microtask/1.2.3: 2647 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} 2648 | dev: true 2649 | 2650 | /quick-lru/4.0.1: 2651 | resolution: {integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==} 2652 | engines: {node: '>=8'} 2653 | dev: true 2654 | 2655 | /range-parser/1.2.1: 2656 | resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} 2657 | engines: {node: '>= 0.6'} 2658 | dev: false 2659 | 2660 | /raw-body/2.5.1: 2661 | resolution: {integrity: sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==} 2662 | engines: {node: '>= 0.8'} 2663 | dependencies: 2664 | bytes: 3.1.2 2665 | http-errors: 2.0.0 2666 | iconv-lite: 0.4.24 2667 | unpipe: 1.0.0 2668 | dev: false 2669 | 2670 | /read-pkg-up/7.0.1: 2671 | resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} 2672 | engines: {node: '>=8'} 2673 | dependencies: 2674 | find-up: 4.1.0 2675 | read-pkg: 5.2.0 2676 | type-fest: 0.8.1 2677 | dev: true 2678 | 2679 | /read-pkg/5.2.0: 2680 | resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} 2681 | engines: {node: '>=8'} 2682 | dependencies: 2683 | '@types/normalize-package-data': 2.4.1 2684 | normalize-package-data: 2.5.0 2685 | parse-json: 5.2.0 2686 | type-fest: 0.6.0 2687 | dev: true 2688 | 2689 | /readable-stream/2.3.7: 2690 | resolution: {integrity: sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==} 2691 | dependencies: 2692 | core-util-is: 1.0.3 2693 | inherits: 2.0.4 2694 | isarray: 1.0.0 2695 | process-nextick-args: 2.0.1 2696 | safe-buffer: 5.1.2 2697 | string_decoder: 1.1.1 2698 | util-deprecate: 1.0.2 2699 | dev: false 2700 | 2701 | /readable-stream/3.6.0: 2702 | resolution: {integrity: sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==} 2703 | engines: {node: '>= 6'} 2704 | dependencies: 2705 | inherits: 2.0.4 2706 | string_decoder: 1.3.0 2707 | util-deprecate: 1.0.2 2708 | dev: true 2709 | 2710 | /redent/3.0.0: 2711 | resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} 2712 | engines: {node: '>=8'} 2713 | dependencies: 2714 | indent-string: 4.0.0 2715 | strip-indent: 3.0.0 2716 | dev: true 2717 | 2718 | /regexp.prototype.flags/1.4.3: 2719 | resolution: {integrity: sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==} 2720 | engines: {node: '>= 0.4'} 2721 | dependencies: 2722 | call-bind: 1.0.2 2723 | define-properties: 1.1.4 2724 | functions-have-names: 1.2.3 2725 | dev: true 2726 | 2727 | /regexpp/3.2.0: 2728 | resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==} 2729 | engines: {node: '>=8'} 2730 | dev: true 2731 | 2732 | /require-directory/2.1.1: 2733 | resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} 2734 | engines: {node: '>=0.10.0'} 2735 | 2736 | /requires-port/1.0.0: 2737 | resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} 2738 | dev: false 2739 | 2740 | /resolve-from/4.0.0: 2741 | resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} 2742 | engines: {node: '>=4'} 2743 | dev: true 2744 | 2745 | /resolve-from/5.0.0: 2746 | resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} 2747 | engines: {node: '>=8'} 2748 | dev: true 2749 | 2750 | /resolve-global/1.0.0: 2751 | resolution: {integrity: sha512-zFa12V4OLtT5XUX/Q4VLvTfBf+Ok0SPc1FNGM/z9ctUdiU618qwKpWnd0CHs3+RqROfyEg/DhuHbMWYqcgljEw==} 2752 | engines: {node: '>=8'} 2753 | dependencies: 2754 | global-dirs: 0.1.1 2755 | dev: true 2756 | 2757 | /resolve/1.22.0: 2758 | resolution: {integrity: sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==} 2759 | hasBin: true 2760 | dependencies: 2761 | is-core-module: 2.9.0 2762 | path-parse: 1.0.7 2763 | supports-preserve-symlinks-flag: 1.0.0 2764 | dev: true 2765 | 2766 | /restore-cursor/3.1.0: 2767 | resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} 2768 | engines: {node: '>=8'} 2769 | dependencies: 2770 | onetime: 5.1.2 2771 | signal-exit: 3.0.7 2772 | dev: true 2773 | 2774 | /reusify/1.0.4: 2775 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} 2776 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'} 2777 | dev: true 2778 | 2779 | /rfdc/1.3.0: 2780 | resolution: {integrity: sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==} 2781 | dev: true 2782 | 2783 | /rimraf/2.7.1: 2784 | resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==} 2785 | hasBin: true 2786 | dependencies: 2787 | glob: 7.2.3 2788 | dev: false 2789 | 2790 | /rimraf/3.0.2: 2791 | resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} 2792 | hasBin: true 2793 | dependencies: 2794 | glob: 7.2.3 2795 | dev: true 2796 | 2797 | /run-parallel/1.2.0: 2798 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} 2799 | dependencies: 2800 | queue-microtask: 1.2.3 2801 | dev: true 2802 | 2803 | /rxjs/7.5.5: 2804 | resolution: {integrity: sha512-sy+H0pQofO95VDmFLzyaw9xNJU4KTRSwQIGM6+iG3SypAtCiLDzpeG8sJrNCWn2Up9km+KhkvTdbkrdy+yzZdw==} 2805 | dependencies: 2806 | tslib: 2.4.0 2807 | dev: true 2808 | 2809 | /safe-buffer/5.1.2: 2810 | resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} 2811 | dev: false 2812 | 2813 | /safe-buffer/5.2.1: 2814 | resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} 2815 | 2816 | /safer-buffer/2.1.2: 2817 | resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} 2818 | dev: false 2819 | 2820 | /semver/5.7.1: 2821 | resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==} 2822 | hasBin: true 2823 | dev: true 2824 | 2825 | /semver/6.3.0: 2826 | resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} 2827 | hasBin: true 2828 | dev: true 2829 | 2830 | /semver/7.3.7: 2831 | resolution: {integrity: sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==} 2832 | engines: {node: '>=10'} 2833 | hasBin: true 2834 | dependencies: 2835 | lru-cache: 6.0.0 2836 | dev: true 2837 | 2838 | /send/0.18.0: 2839 | resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} 2840 | engines: {node: '>= 0.8.0'} 2841 | dependencies: 2842 | debug: 2.6.9 2843 | depd: 2.0.0 2844 | destroy: 1.2.0 2845 | encodeurl: 1.0.2 2846 | escape-html: 1.0.3 2847 | etag: 1.8.1 2848 | fresh: 0.5.2 2849 | http-errors: 2.0.0 2850 | mime: 1.6.0 2851 | ms: 2.1.3 2852 | on-finished: 2.4.1 2853 | range-parser: 1.2.1 2854 | statuses: 2.0.1 2855 | transitivePeerDependencies: 2856 | - supports-color 2857 | dev: false 2858 | 2859 | /serve-static/1.15.0: 2860 | resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==} 2861 | engines: {node: '>= 0.8.0'} 2862 | dependencies: 2863 | encodeurl: 1.0.2 2864 | escape-html: 1.0.3 2865 | parseurl: 1.3.3 2866 | send: 0.18.0 2867 | transitivePeerDependencies: 2868 | - supports-color 2869 | dev: false 2870 | 2871 | /setprototypeof/1.2.0: 2872 | resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} 2873 | dev: false 2874 | 2875 | /shebang-command/2.0.0: 2876 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} 2877 | engines: {node: '>=8'} 2878 | dependencies: 2879 | shebang-regex: 3.0.0 2880 | dev: true 2881 | 2882 | /shebang-regex/3.0.0: 2883 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} 2884 | engines: {node: '>=8'} 2885 | dev: true 2886 | 2887 | /side-channel/1.0.4: 2888 | resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} 2889 | dependencies: 2890 | call-bind: 1.0.2 2891 | get-intrinsic: 1.1.1 2892 | object-inspect: 1.12.2 2893 | 2894 | /signal-exit/3.0.7: 2895 | resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} 2896 | dev: true 2897 | 2898 | /slash/3.0.0: 2899 | resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} 2900 | engines: {node: '>=8'} 2901 | dev: true 2902 | 2903 | /slice-ansi/3.0.0: 2904 | resolution: {integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==} 2905 | engines: {node: '>=8'} 2906 | dependencies: 2907 | ansi-styles: 4.3.0 2908 | astral-regex: 2.0.0 2909 | is-fullwidth-code-point: 3.0.0 2910 | dev: true 2911 | 2912 | /slice-ansi/4.0.0: 2913 | resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} 2914 | engines: {node: '>=10'} 2915 | dependencies: 2916 | ansi-styles: 4.3.0 2917 | astral-regex: 2.0.0 2918 | is-fullwidth-code-point: 3.0.0 2919 | dev: true 2920 | 2921 | /slice-ansi/5.0.0: 2922 | resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==} 2923 | engines: {node: '>=12'} 2924 | dependencies: 2925 | ansi-styles: 6.1.0 2926 | is-fullwidth-code-point: 4.0.0 2927 | dev: true 2928 | 2929 | /spdx-correct/3.1.1: 2930 | resolution: {integrity: sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==} 2931 | dependencies: 2932 | spdx-expression-parse: 3.0.1 2933 | spdx-license-ids: 3.0.11 2934 | dev: true 2935 | 2936 | /spdx-exceptions/2.3.0: 2937 | resolution: {integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==} 2938 | dev: true 2939 | 2940 | /spdx-expression-parse/3.0.1: 2941 | resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} 2942 | dependencies: 2943 | spdx-exceptions: 2.3.0 2944 | spdx-license-ids: 3.0.11 2945 | dev: true 2946 | 2947 | /spdx-license-ids/3.0.11: 2948 | resolution: {integrity: sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==} 2949 | dev: true 2950 | 2951 | /split2/3.2.2: 2952 | resolution: {integrity: sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==} 2953 | dependencies: 2954 | readable-stream: 3.6.0 2955 | dev: true 2956 | 2957 | /statuses/2.0.1: 2958 | resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} 2959 | engines: {node: '>= 0.8'} 2960 | dev: false 2961 | 2962 | /string-argv/0.3.1: 2963 | resolution: {integrity: sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==} 2964 | engines: {node: '>=0.6.19'} 2965 | dev: true 2966 | 2967 | /string-width/4.2.3: 2968 | resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} 2969 | engines: {node: '>=8'} 2970 | dependencies: 2971 | emoji-regex: 8.0.0 2972 | is-fullwidth-code-point: 3.0.0 2973 | strip-ansi: 6.0.1 2974 | 2975 | /string-width/5.1.2: 2976 | resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} 2977 | engines: {node: '>=12'} 2978 | dependencies: 2979 | eastasianwidth: 0.2.0 2980 | emoji-regex: 9.2.2 2981 | strip-ansi: 7.0.1 2982 | dev: true 2983 | 2984 | /string.prototype.trimend/1.0.5: 2985 | resolution: {integrity: sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog==} 2986 | dependencies: 2987 | call-bind: 1.0.2 2988 | define-properties: 1.1.4 2989 | es-abstract: 1.20.1 2990 | dev: true 2991 | 2992 | /string.prototype.trimstart/1.0.5: 2993 | resolution: {integrity: sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg==} 2994 | dependencies: 2995 | call-bind: 1.0.2 2996 | define-properties: 1.1.4 2997 | es-abstract: 1.20.1 2998 | dev: true 2999 | 3000 | /string_decoder/1.1.1: 3001 | resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} 3002 | dependencies: 3003 | safe-buffer: 5.1.2 3004 | dev: false 3005 | 3006 | /string_decoder/1.3.0: 3007 | resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} 3008 | dependencies: 3009 | safe-buffer: 5.2.1 3010 | dev: true 3011 | 3012 | /strip-ansi/6.0.1: 3013 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} 3014 | engines: {node: '>=8'} 3015 | dependencies: 3016 | ansi-regex: 5.0.1 3017 | 3018 | /strip-ansi/7.0.1: 3019 | resolution: {integrity: sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==} 3020 | engines: {node: '>=12'} 3021 | dependencies: 3022 | ansi-regex: 6.0.1 3023 | dev: true 3024 | 3025 | /strip-bom/3.0.0: 3026 | resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} 3027 | engines: {node: '>=4'} 3028 | dev: true 3029 | 3030 | /strip-final-newline/2.0.0: 3031 | resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} 3032 | engines: {node: '>=6'} 3033 | dev: true 3034 | 3035 | /strip-indent/3.0.0: 3036 | resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} 3037 | engines: {node: '>=8'} 3038 | dependencies: 3039 | min-indent: 1.0.1 3040 | dev: true 3041 | 3042 | /strip-json-comments/3.1.1: 3043 | resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} 3044 | engines: {node: '>=8'} 3045 | dev: true 3046 | 3047 | /supports-color/5.5.0: 3048 | resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} 3049 | engines: {node: '>=4'} 3050 | dependencies: 3051 | has-flag: 3.0.0 3052 | dev: true 3053 | 3054 | /supports-color/7.2.0: 3055 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} 3056 | engines: {node: '>=8'} 3057 | dependencies: 3058 | has-flag: 4.0.0 3059 | dev: true 3060 | 3061 | /supports-color/9.2.2: 3062 | resolution: {integrity: sha512-XC6g/Kgux+rJXmwokjm9ECpD6k/smUoS5LKlUCcsYr4IY3rW0XyAympon2RmxGrlnZURMpg5T18gWDP9CsHXFA==} 3063 | engines: {node: '>=12'} 3064 | dev: true 3065 | 3066 | /supports-preserve-symlinks-flag/1.0.0: 3067 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} 3068 | engines: {node: '>= 0.4'} 3069 | dev: true 3070 | 3071 | /text-extensions/1.9.0: 3072 | resolution: {integrity: sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==} 3073 | engines: {node: '>=0.10'} 3074 | dev: true 3075 | 3076 | /text-table/0.2.0: 3077 | resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} 3078 | dev: true 3079 | 3080 | /through/2.3.8: 3081 | resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} 3082 | dev: true 3083 | 3084 | /through2/4.0.2: 3085 | resolution: {integrity: sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==} 3086 | dependencies: 3087 | readable-stream: 3.6.0 3088 | dev: true 3089 | 3090 | /to-regex-range/5.0.1: 3091 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} 3092 | engines: {node: '>=8.0'} 3093 | dependencies: 3094 | is-number: 7.0.0 3095 | 3096 | /toidentifier/1.0.1: 3097 | resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} 3098 | engines: {node: '>=0.6'} 3099 | dev: false 3100 | 3101 | /trim-newlines/3.0.1: 3102 | resolution: {integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==} 3103 | engines: {node: '>=8'} 3104 | dev: true 3105 | 3106 | /ts-node/10.8.0_w6gfxie3xfwntbz3mwbbvycbdq: 3107 | resolution: {integrity: sha512-/fNd5Qh+zTt8Vt1KbYZjRHCE9sI5i7nqfD/dzBBRDeVXZXS6kToW6R7tTU6Nd4XavFs0mAVCg29Q//ML7WsZYA==} 3108 | hasBin: true 3109 | peerDependencies: 3110 | '@swc/core': '>=1.2.50' 3111 | '@swc/wasm': '>=1.2.50' 3112 | '@types/node': '*' 3113 | typescript: '>=2.7' 3114 | peerDependenciesMeta: 3115 | '@swc/core': 3116 | optional: true 3117 | '@swc/wasm': 3118 | optional: true 3119 | dependencies: 3120 | '@cspotcode/source-map-support': 0.8.1 3121 | '@tsconfig/node10': 1.0.8 3122 | '@tsconfig/node12': 1.0.9 3123 | '@tsconfig/node14': 1.0.1 3124 | '@tsconfig/node16': 1.0.2 3125 | '@types/node': 17.0.36 3126 | acorn: 8.7.1 3127 | acorn-walk: 8.2.0 3128 | arg: 4.1.3 3129 | create-require: 1.1.1 3130 | diff: 4.0.2 3131 | make-error: 1.3.6 3132 | typescript: 4.7.2 3133 | v8-compile-cache-lib: 3.0.1 3134 | yn: 3.1.1 3135 | dev: true 3136 | 3137 | /tsconfig-paths/3.14.1: 3138 | resolution: {integrity: sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==} 3139 | dependencies: 3140 | '@types/json5': 0.0.29 3141 | json5: 1.0.1 3142 | minimist: 1.2.6 3143 | strip-bom: 3.0.0 3144 | dev: true 3145 | 3146 | /tslib/1.14.1: 3147 | resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} 3148 | dev: true 3149 | 3150 | /tslib/2.4.0: 3151 | resolution: {integrity: sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==} 3152 | dev: true 3153 | 3154 | /tsutils/3.21.0_typescript@4.7.2: 3155 | resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} 3156 | engines: {node: '>= 6'} 3157 | peerDependencies: 3158 | typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' 3159 | dependencies: 3160 | tslib: 1.14.1 3161 | typescript: 4.7.2 3162 | dev: true 3163 | 3164 | /type-check/0.4.0: 3165 | resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} 3166 | engines: {node: '>= 0.8.0'} 3167 | dependencies: 3168 | prelude-ls: 1.2.1 3169 | dev: true 3170 | 3171 | /type-fest/0.18.1: 3172 | resolution: {integrity: sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==} 3173 | engines: {node: '>=10'} 3174 | dev: true 3175 | 3176 | /type-fest/0.20.2: 3177 | resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} 3178 | engines: {node: '>=10'} 3179 | dev: true 3180 | 3181 | /type-fest/0.21.3: 3182 | resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} 3183 | engines: {node: '>=10'} 3184 | dev: true 3185 | 3186 | /type-fest/0.6.0: 3187 | resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} 3188 | engines: {node: '>=8'} 3189 | dev: true 3190 | 3191 | /type-fest/0.8.1: 3192 | resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} 3193 | engines: {node: '>=8'} 3194 | dev: true 3195 | 3196 | /type-is/1.6.18: 3197 | resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} 3198 | engines: {node: '>= 0.6'} 3199 | dependencies: 3200 | media-typer: 0.3.0 3201 | mime-types: 2.1.35 3202 | dev: false 3203 | 3204 | /typedarray/0.0.6: 3205 | resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} 3206 | dev: false 3207 | 3208 | /typescript/4.7.2: 3209 | resolution: {integrity: sha512-Mamb1iX2FDUpcTRzltPxgWMKy3fhg0TN378ylbktPGPK/99KbDtMQ4W1hwgsbPAsG3a0xKa1vmw4VKZQbkvz5A==} 3210 | engines: {node: '>=4.2.0'} 3211 | hasBin: true 3212 | dev: true 3213 | 3214 | /unbox-primitive/1.0.2: 3215 | resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} 3216 | dependencies: 3217 | call-bind: 1.0.2 3218 | has-bigints: 1.0.2 3219 | has-symbols: 1.0.3 3220 | which-boxed-primitive: 1.0.2 3221 | dev: true 3222 | 3223 | /universalify/2.0.0: 3224 | resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} 3225 | engines: {node: '>= 10.0.0'} 3226 | dev: true 3227 | 3228 | /unpipe/1.0.0: 3229 | resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} 3230 | engines: {node: '>= 0.8'} 3231 | dev: false 3232 | 3233 | /uri-js/4.4.1: 3234 | resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} 3235 | dependencies: 3236 | punycode: 2.1.1 3237 | dev: true 3238 | 3239 | /util-deprecate/1.0.2: 3240 | resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} 3241 | 3242 | /utils-merge/1.0.1: 3243 | resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} 3244 | engines: {node: '>= 0.4.0'} 3245 | dev: false 3246 | 3247 | /v8-compile-cache-lib/3.0.1: 3248 | resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} 3249 | dev: true 3250 | 3251 | /v8-compile-cache/2.3.0: 3252 | resolution: {integrity: sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==} 3253 | dev: true 3254 | 3255 | /validate-npm-package-license/3.0.4: 3256 | resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} 3257 | dependencies: 3258 | spdx-correct: 3.1.1 3259 | spdx-expression-parse: 3.0.1 3260 | dev: true 3261 | 3262 | /vary/1.1.2: 3263 | resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} 3264 | engines: {node: '>= 0.8'} 3265 | dev: false 3266 | 3267 | /which-boxed-primitive/1.0.2: 3268 | resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} 3269 | dependencies: 3270 | is-bigint: 1.0.4 3271 | is-boolean-object: 1.1.2 3272 | is-number-object: 1.0.7 3273 | is-string: 1.0.7 3274 | is-symbol: 1.0.4 3275 | dev: true 3276 | 3277 | /which/2.0.2: 3278 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} 3279 | engines: {node: '>= 8'} 3280 | hasBin: true 3281 | dependencies: 3282 | isexe: 2.0.0 3283 | dev: true 3284 | 3285 | /word-wrap/1.2.3: 3286 | resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==} 3287 | engines: {node: '>=0.10.0'} 3288 | dev: true 3289 | 3290 | /wrap-ansi/6.2.0: 3291 | resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} 3292 | engines: {node: '>=8'} 3293 | dependencies: 3294 | ansi-styles: 4.3.0 3295 | string-width: 4.2.3 3296 | strip-ansi: 6.0.1 3297 | dev: true 3298 | 3299 | /wrap-ansi/7.0.0: 3300 | resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} 3301 | engines: {node: '>=10'} 3302 | dependencies: 3303 | ansi-styles: 4.3.0 3304 | string-width: 4.2.3 3305 | strip-ansi: 6.0.1 3306 | 3307 | /wrappy/1.0.2: 3308 | resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} 3309 | 3310 | /ws/6.2.2: 3311 | resolution: {integrity: sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==} 3312 | peerDependencies: 3313 | bufferutil: ^4.0.1 3314 | utf-8-validate: ^5.0.2 3315 | peerDependenciesMeta: 3316 | bufferutil: 3317 | optional: true 3318 | utf-8-validate: 3319 | optional: true 3320 | dependencies: 3321 | async-limiter: 1.0.1 3322 | dev: false 3323 | 3324 | /y18n/5.0.8: 3325 | resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} 3326 | engines: {node: '>=10'} 3327 | 3328 | /yallist/4.0.0: 3329 | resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} 3330 | dev: true 3331 | 3332 | /yaml/1.10.2: 3333 | resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} 3334 | engines: {node: '>= 6'} 3335 | dev: true 3336 | 3337 | /yargs-parser/20.2.9: 3338 | resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} 3339 | engines: {node: '>=10'} 3340 | dev: true 3341 | 3342 | /yargs-parser/21.0.1: 3343 | resolution: {integrity: sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==} 3344 | engines: {node: '>=12'} 3345 | 3346 | /yargs/17.5.1: 3347 | resolution: {integrity: sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA==} 3348 | engines: {node: '>=12'} 3349 | dependencies: 3350 | cliui: 7.0.4 3351 | escalade: 3.1.1 3352 | get-caller-file: 2.0.5 3353 | require-directory: 2.1.1 3354 | string-width: 4.2.3 3355 | y18n: 5.0.8 3356 | yargs-parser: 21.0.1 3357 | 3358 | /yauzl/2.10.0: 3359 | resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==} 3360 | dependencies: 3361 | buffer-crc32: 0.2.13 3362 | fd-slicer: 1.1.0 3363 | dev: false 3364 | 3365 | /yn/3.1.1: 3366 | resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} 3367 | engines: {node: '>=6'} 3368 | dev: true 3369 | 3370 | /yocto-queue/0.1.0: 3371 | resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} 3372 | engines: {node: '>=10'} 3373 | dev: true 3374 | -------------------------------------------------------------------------------- /polyfill/ShadowRoot-getSelection.js: -------------------------------------------------------------------------------- 1 | if (typeof ShadowRoot !== 'undefined' && !ShadowRoot.prototype.getSelection) { 2 | ShadowRoot.prototype.getSelection = () => document.getSelection() 3 | } 4 | -------------------------------------------------------------------------------- /polyfill/custom-elements.js: -------------------------------------------------------------------------------- 1 | /*! (c) Andrea Giammarchi @webreflection ISC */ 2 | ;(function () { 3 | 'use strict' 4 | 5 | var Lie = 6 | typeof Promise === 'function' 7 | ? Promise 8 | : function (fn) { 9 | var queue = [], 10 | resolved = 0, 11 | value 12 | fn(function ($) { 13 | value = $ 14 | resolved = 1 15 | queue.splice(0).forEach(then) 16 | }) 17 | return { 18 | then: then 19 | } 20 | 21 | function then(fn) { 22 | return resolved ? setTimeout(fn, 0, value) : queue.push(fn), this 23 | } 24 | } 25 | 26 | var attributesObserver = function (whenDefined, MutationObserver) { 27 | var attributeChanged = function attributeChanged(records) { 28 | for (var i = 0, length = records.length; i < length; i++) { 29 | dispatch(records[i]) 30 | } 31 | } 32 | 33 | var dispatch = function dispatch(_ref) { 34 | var target = _ref.target, 35 | attributeName = _ref.attributeName, 36 | oldValue = _ref.oldValue 37 | target.attributeChangedCallback(attributeName, oldValue, target.getAttribute(attributeName)) 38 | } 39 | 40 | return function (target, is) { 41 | var attributeFilter = target.constructor.observedAttributes 42 | 43 | if (attributeFilter) { 44 | whenDefined(is).then(function () { 45 | new MutationObserver(attributeChanged).observe(target, { 46 | attributes: true, 47 | attributeOldValue: true, 48 | attributeFilter: attributeFilter 49 | }) 50 | 51 | for (var i = 0, length = attributeFilter.length; i < length; i++) { 52 | if (target.hasAttribute(attributeFilter[i])) 53 | dispatch({ 54 | target: target, 55 | attributeName: attributeFilter[i], 56 | oldValue: null 57 | }) 58 | } 59 | }) 60 | } 61 | 62 | return target 63 | } 64 | } 65 | 66 | var TRUE = true, 67 | FALSE = false 68 | var QSA$1 = 'querySelectorAll' 69 | 70 | function add(node) { 71 | this.observe(node, { 72 | subtree: TRUE, 73 | childList: TRUE 74 | }) 75 | } 76 | /** 77 | * Start observing a generic document or root element. 78 | * @param {Function} callback triggered per each dis/connected node 79 | * @param {Element?} root by default, the global document to observe 80 | * @param {Function?} MO by default, the global MutationObserver 81 | * @returns {MutationObserver} 82 | */ 83 | 84 | var notify = function notify(callback, root, MO) { 85 | var loop = function loop(nodes, added, removed, connected, pass) { 86 | for (var i = 0, length = nodes.length; i < length; i++) { 87 | var node = nodes[i] 88 | 89 | if (pass || QSA$1 in node) { 90 | if (connected) { 91 | if (!added.has(node)) { 92 | added.add(node) 93 | removed['delete'](node) 94 | callback(node, connected) 95 | } 96 | } else if (!removed.has(node)) { 97 | removed.add(node) 98 | added['delete'](node) 99 | callback(node, connected) 100 | } 101 | 102 | if (!pass) loop(node[QSA$1]('*'), added, removed, connected, TRUE) 103 | } 104 | } 105 | } 106 | 107 | var observer = new (MO || MutationObserver)(function (records) { 108 | for (var added = new Set(), removed = new Set(), i = 0, length = records.length; i < length; i++) { 109 | var _records$i = records[i], 110 | addedNodes = _records$i.addedNodes, 111 | removedNodes = _records$i.removedNodes 112 | loop(removedNodes, added, removed, FALSE, FALSE) 113 | loop(addedNodes, added, removed, TRUE, FALSE) 114 | } 115 | }) 116 | observer.add = add 117 | observer.add(root || document) 118 | return observer 119 | } 120 | 121 | var QSA = 'querySelectorAll' 122 | var _self$1 = self, 123 | document$2 = _self$1.document, 124 | Element$1 = _self$1.Element, 125 | MutationObserver$2 = _self$1.MutationObserver, 126 | Set$2 = _self$1.Set, 127 | WeakMap$1 = _self$1.WeakMap 128 | 129 | var elements = function elements(element) { 130 | return QSA in element 131 | } 132 | 133 | var filter = [].filter 134 | var qsaObserver = function (options) { 135 | var live = new WeakMap$1() 136 | 137 | var drop = function drop(elements) { 138 | for (var i = 0, length = elements.length; i < length; i++) { 139 | live['delete'](elements[i]) 140 | } 141 | } 142 | 143 | var flush = function flush() { 144 | var records = observer.takeRecords() 145 | 146 | for (var i = 0, length = records.length; i < length; i++) { 147 | parse(filter.call(records[i].removedNodes, elements), false) 148 | parse(filter.call(records[i].addedNodes, elements), true) 149 | } 150 | } 151 | 152 | var matches = function matches(element) { 153 | return element.matches || element.webkitMatchesSelector || element.msMatchesSelector 154 | } 155 | 156 | var notifier = function notifier(element, connected) { 157 | var selectors 158 | 159 | if (connected) { 160 | for (var q, m = matches(element), i = 0, length = query.length; i < length; i++) { 161 | if (m.call(element, (q = query[i]))) { 162 | if (!live.has(element)) live.set(element, new Set$2()) 163 | selectors = live.get(element) 164 | 165 | if (!selectors.has(q)) { 166 | selectors.add(q) 167 | options.handle(element, connected, q) 168 | } 169 | } 170 | } 171 | } else if (live.has(element)) { 172 | selectors = live.get(element) 173 | live['delete'](element) 174 | selectors.forEach(function (q) { 175 | options.handle(element, connected, q) 176 | }) 177 | } 178 | } 179 | 180 | var parse = function parse(elements) { 181 | var connected = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true 182 | 183 | for (var i = 0, length = elements.length; i < length; i++) { 184 | notifier(elements[i], connected) 185 | } 186 | } 187 | 188 | var query = options.query 189 | var root = options.root || document$2 190 | var observer = notify(notifier, root, MutationObserver$2) 191 | var attachShadow = Element$1.prototype.attachShadow 192 | if (attachShadow) 193 | Element$1.prototype.attachShadow = function (init) { 194 | var shadowRoot = attachShadow.call(this, init) 195 | observer.add(shadowRoot) 196 | return shadowRoot 197 | } 198 | if (query.length) parse(root[QSA](query)) 199 | return { 200 | drop: drop, 201 | flush: flush, 202 | observer: observer, 203 | parse: parse 204 | } 205 | } 206 | 207 | var _self = self, 208 | document$1 = _self.document, 209 | Map = _self.Map, 210 | MutationObserver$1 = _self.MutationObserver, 211 | Object$1 = _self.Object, 212 | Set$1 = _self.Set, 213 | WeakMap = _self.WeakMap, 214 | Element = _self.Element, 215 | HTMLElement = _self.HTMLElement, 216 | Node = _self.Node, 217 | Error = _self.Error, 218 | TypeError = _self.TypeError, 219 | Reflect = _self.Reflect 220 | var Promise$1 = self.Promise || Lie 221 | var defineProperty = Object$1.defineProperty, 222 | keys = Object$1.keys, 223 | getOwnPropertyNames = Object$1.getOwnPropertyNames, 224 | setPrototypeOf = Object$1.setPrototypeOf 225 | var legacy = !self.customElements 226 | 227 | var expando = function expando(element) { 228 | var key = keys(element) 229 | var value = [] 230 | var length = key.length 231 | 232 | for (var i = 0; i < length; i++) { 233 | value[i] = element[key[i]] 234 | delete element[key[i]] 235 | } 236 | 237 | return function () { 238 | for (var _i = 0; _i < length; _i++) { 239 | element[key[_i]] = value[_i] 240 | } 241 | } 242 | } 243 | 244 | if (legacy) { 245 | var HTMLBuiltIn = function HTMLBuiltIn() { 246 | var constructor = this.constructor 247 | if (!classes.has(constructor)) throw new TypeError('Illegal constructor') 248 | var is = classes.get(constructor) 249 | if (override) return augment(override, is) 250 | var element = createElement.call(document$1, is) 251 | return augment(setPrototypeOf(element, constructor.prototype), is) 252 | } 253 | 254 | var createElement = document$1.createElement 255 | var classes = new Map() 256 | var defined = new Map() 257 | var prototypes = new Map() 258 | var registry = new Map() 259 | var query = [] 260 | 261 | var handle = function handle(element, connected, selector) { 262 | var proto = prototypes.get(selector) 263 | 264 | if (connected && !proto.isPrototypeOf(element)) { 265 | var redefine = expando(element) 266 | override = setPrototypeOf(element, proto) 267 | 268 | try { 269 | new proto.constructor() 270 | } finally { 271 | override = null 272 | redefine() 273 | } 274 | } 275 | 276 | var method = ''.concat(connected ? '' : 'dis', 'connectedCallback') 277 | if (method in proto) element[method]() 278 | } 279 | 280 | var _qsaObserver = qsaObserver({ 281 | query: query, 282 | handle: handle 283 | }), 284 | parse = _qsaObserver.parse 285 | 286 | var override = null 287 | 288 | var whenDefined = function whenDefined(name) { 289 | if (!defined.has(name)) { 290 | var _, 291 | $ = new Lie(function ($) { 292 | _ = $ 293 | }) 294 | 295 | defined.set(name, { 296 | $: $, 297 | _: _ 298 | }) 299 | } 300 | 301 | return defined.get(name).$ 302 | } 303 | 304 | var augment = attributesObserver(whenDefined, MutationObserver$1) 305 | defineProperty(self, 'customElements', { 306 | configurable: true, 307 | value: { 308 | define: function define(is, Class) { 309 | if (registry.has(is)) throw new Error('the name "'.concat(is, '" has already been used with this registry')) 310 | classes.set(Class, is) 311 | prototypes.set(is, Class.prototype) 312 | registry.set(is, Class) 313 | query.push(is) 314 | whenDefined(is).then(function () { 315 | parse(document$1.querySelectorAll(is)) 316 | }) 317 | 318 | defined.get(is)._(Class) 319 | }, 320 | get: function get(is) { 321 | return registry.get(is) 322 | }, 323 | whenDefined: whenDefined 324 | } 325 | }) 326 | defineProperty((HTMLBuiltIn.prototype = HTMLElement.prototype), 'constructor', { 327 | value: HTMLBuiltIn 328 | }) 329 | defineProperty(self, 'HTMLElement', { 330 | configurable: true, 331 | value: HTMLBuiltIn 332 | }) 333 | defineProperty(document$1, 'createElement', { 334 | configurable: true, 335 | value: function value(name, options) { 336 | var is = options && options.is 337 | var Class = is ? registry.get(is) : registry.get(name) 338 | return Class ? new Class() : createElement.call(document$1, name) 339 | } 340 | }) // in case ShadowDOM is used through a polyfill, to avoid issues 341 | // with builtin extends within shadow roots 342 | 343 | if (!('isConnected' in Node.prototype)) 344 | defineProperty(Node.prototype, 'isConnected', { 345 | configurable: true, 346 | get: function get() { 347 | return !(this.ownerDocument.compareDocumentPosition(this) & this.DOCUMENT_POSITION_DISCONNECTED) 348 | } 349 | }) 350 | } else { 351 | try { 352 | var LI = function LI() { 353 | return self.Reflect.construct(HTMLLIElement, [], LI) 354 | } 355 | 356 | LI.prototype = HTMLLIElement.prototype 357 | var is = 'extends-li' 358 | self.customElements.define('extends-li', LI, { 359 | extends: 'li' 360 | }) 361 | legacy = 362 | document$1 363 | .createElement('li', { 364 | is: is 365 | }) 366 | .outerHTML.indexOf(is) < 0 367 | var _self$customElements = self.customElements, 368 | get = _self$customElements.get, 369 | _whenDefined = _self$customElements.whenDefined 370 | defineProperty(self.customElements, 'whenDefined', { 371 | configurable: true, 372 | value: function value(is) { 373 | var _this = this 374 | 375 | return _whenDefined.call(this, is).then(function (Class) { 376 | return Class || get.call(_this, is) 377 | }) 378 | } 379 | }) 380 | } catch (o_O) { 381 | legacy = !legacy 382 | } 383 | } 384 | 385 | if (legacy) { 386 | var parseShadow = function parseShadow(element) { 387 | var root = shadowRoots.get(element) 388 | 389 | _parse(root.querySelectorAll(this), element.isConnected) 390 | } 391 | 392 | var customElements = self.customElements 393 | var attachShadow = Element.prototype.attachShadow 394 | var _createElement = document$1.createElement 395 | var define = customElements.define, 396 | _get = customElements.get 397 | 398 | var _ref = Reflect || { 399 | construct: function construct(HTMLElement) { 400 | return HTMLElement.call(this) 401 | } 402 | }, 403 | construct = _ref.construct 404 | 405 | var shadowRoots = new WeakMap() 406 | var shadows = new Set$1() 407 | 408 | var _classes = new Map() 409 | 410 | var _defined = new Map() 411 | 412 | var _prototypes = new Map() 413 | 414 | var _registry = new Map() 415 | 416 | var shadowed = [] 417 | var _query = [] 418 | 419 | var getCE = function getCE(is) { 420 | return _registry.get(is) || _get.call(customElements, is) 421 | } 422 | 423 | var _handle = function _handle(element, connected, selector) { 424 | var proto = _prototypes.get(selector) 425 | 426 | if (connected && !proto.isPrototypeOf(element)) { 427 | var redefine = expando(element) 428 | _override = setPrototypeOf(element, proto) 429 | 430 | try { 431 | new proto.constructor() 432 | } finally { 433 | _override = null 434 | redefine() 435 | } 436 | } 437 | 438 | var method = ''.concat(connected ? '' : 'dis', 'connectedCallback') 439 | if (method in proto) element[method]() 440 | } 441 | 442 | var _qsaObserver2 = qsaObserver({ 443 | query: _query, 444 | handle: _handle 445 | }), 446 | _parse = _qsaObserver2.parse 447 | 448 | var _qsaObserver3 = qsaObserver({ 449 | query: shadowed, 450 | handle: function handle(element, connected) { 451 | if (shadowRoots.has(element)) { 452 | if (connected) shadows.add(element) 453 | else shadows['delete'](element) 454 | if (_query.length) parseShadow.call(_query, element) 455 | } 456 | } 457 | }), 458 | parseShadowed = _qsaObserver3.parse 459 | 460 | var _whenDefined2 = function _whenDefined2(name) { 461 | if (!_defined.has(name)) { 462 | var _, 463 | $ = new Promise$1(function ($) { 464 | _ = $ 465 | }) 466 | 467 | _defined.set(name, { 468 | $: $, 469 | _: _ 470 | }) 471 | } 472 | 473 | return _defined.get(name).$ 474 | } 475 | 476 | var _augment = attributesObserver(_whenDefined2, MutationObserver$1) 477 | 478 | var _override = null 479 | getOwnPropertyNames(self) 480 | .filter(function (k) { 481 | return /^HTML/.test(k) 482 | }) 483 | .forEach(function (k) { 484 | var HTMLElement = self[k] 485 | 486 | function HTMLBuiltIn() { 487 | var constructor = this.constructor 488 | if (!_classes.has(constructor)) throw new TypeError('Illegal constructor') 489 | 490 | var _classes$get = _classes.get(constructor), 491 | is = _classes$get.is, 492 | tag = _classes$get.tag 493 | 494 | if (is) { 495 | if (_override) return _augment(_override, is) 496 | 497 | var element = _createElement.call(document$1, tag) 498 | 499 | element.setAttribute('is', is) 500 | return _augment(setPrototypeOf(element, constructor.prototype), is) 501 | } else return construct.call(this, HTMLElement, [], constructor) 502 | } 503 | 504 | defineProperty((HTMLBuiltIn.prototype = HTMLElement.prototype), 'constructor', { 505 | value: HTMLBuiltIn 506 | }) 507 | defineProperty(self, k, { 508 | value: HTMLBuiltIn 509 | }) 510 | }) 511 | defineProperty(document$1, 'createElement', { 512 | configurable: true, 513 | value: function value(name, options) { 514 | var is = options && options.is 515 | 516 | if (is) { 517 | var Class = _registry.get(is) 518 | 519 | if (Class && _classes.get(Class).tag === name) return new Class() 520 | } 521 | 522 | var element = _createElement.call(document$1, name) 523 | 524 | if (is) element.setAttribute('is', is) 525 | return element 526 | } 527 | }) 528 | if (attachShadow) 529 | Element.prototype.attachShadow = function (init) { 530 | var root = attachShadow.call(this, init) 531 | shadowRoots.set(this, root) 532 | return root 533 | } 534 | defineProperty(customElements, 'get', { 535 | configurable: true, 536 | value: getCE 537 | }) 538 | defineProperty(customElements, 'whenDefined', { 539 | configurable: true, 540 | value: _whenDefined2 541 | }) 542 | defineProperty(customElements, 'define', { 543 | configurable: true, 544 | value: function value(is, Class, options) { 545 | if (getCE(is)) throw new Error("'".concat(is, "' has already been defined as a custom element")) 546 | var selector 547 | var tag = options && options['extends'] 548 | 549 | _classes.set( 550 | Class, 551 | tag 552 | ? { 553 | is: is, 554 | tag: tag 555 | } 556 | : { 557 | is: '', 558 | tag: is 559 | } 560 | ) 561 | 562 | if (tag) { 563 | selector = ''.concat(tag, '[is="').concat(is, '"]') 564 | 565 | _prototypes.set(selector, Class.prototype) 566 | 567 | _registry.set(is, Class) 568 | 569 | _query.push(selector) 570 | } else { 571 | define.apply(customElements, arguments) 572 | shadowed.push((selector = is)) 573 | } 574 | 575 | _whenDefined2(is).then(function () { 576 | if (tag) { 577 | _parse(document$1.querySelectorAll(selector)) 578 | 579 | shadows.forEach(parseShadow, [selector]) 580 | } else parseShadowed(document$1.querySelectorAll(selector)) 581 | }) 582 | 583 | _defined.get(is)._(Class) 584 | } 585 | }) 586 | } 587 | })() 588 | -------------------------------------------------------------------------------- /screenshots/index.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nashaofu/ydebugger/0f2ac1eec853dfffa53c34e5866349e0beba3503/screenshots/index.png -------------------------------------------------------------------------------- /screenshots/inspect.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nashaofu/ydebugger/0f2ac1eec853dfffa53c34e5866349e0beba3503/screenshots/inspect.png -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- 1 | import yargs from 'yargs'; 2 | import ydebugger, { Options } from './ydebugger'; 3 | 4 | yargs 5 | .strict(true) 6 | .scriptName('ydebugger') 7 | .usage('$0 [url]') 8 | .alias('help', 'h') 9 | .alias('version', 'v') 10 | .locale('en') 11 | .wrap(null) 12 | .fail((msg: string, err: Error): void => { 13 | yargs.showHelp(); 14 | /* eslint-disable no-console */ 15 | console.log(); 16 | if (err) { 17 | console.error(msg || err); 18 | } 19 | /* eslint-enable no-console */ 20 | process.exit(1); 21 | }) 22 | /* eslint-disable @typescript-eslint/indent */ 23 | .command( 24 | '$0 [url]', 25 | 'Start a web debugger service', 26 | // eslint-disable-next-line @typescript-eslint/no-shadow 27 | (yargs: yargs.Argv) => yargs 28 | .positional('url', { 29 | type: 'string', 30 | describe: 'debugging website url', 31 | }) 32 | .option('port', { 33 | alias: 'p', 34 | type: 'number', 35 | default: 8080, 36 | requiresArg: true, 37 | describe: 'devtools frontend port number', 38 | }) 39 | .option('open', { 40 | alias: 'o', 41 | type: 'boolean', 42 | default: false, 43 | describe: 'Open browser automatically', 44 | }) 45 | .option('width', { 46 | type: 'number', 47 | default: 1024, 48 | describe: 'viewport width', 49 | }) 50 | .option('height', { 51 | type: 'number', 52 | default: 768, 53 | describe: 'viewport width', 54 | }) 55 | .option('mobile', { 56 | type: 'boolean', 57 | default: false, 58 | describe: 'viewport is mobile', 59 | }) 60 | .option('landscape', { 61 | type: 'boolean', 62 | default: false, 63 | describe: 'viewport is landscape', 64 | }) 65 | .option('touch', { 66 | type: 'boolean', 67 | default: false, 68 | describe: 'viewport is touch supported', 69 | }) 70 | .option('dsf', { 71 | type: 'number', 72 | default: 2, 73 | describe: 'viewport device scale factor', 74 | }), 75 | (argv) => ydebugger(argv), 76 | ) 77 | /* eslint-enable @typescript-eslint/indent */ 78 | .parse(process.argv.slice(2)); 79 | -------------------------------------------------------------------------------- /src/utils.ts: -------------------------------------------------------------------------------- 1 | import os from 'os'; 2 | import colors from 'colors'; 3 | 4 | /** 5 | * 获取局域网ip 6 | */ 7 | export function getIPv4urls(port: number): string[] { 8 | const ifaces = Object.values(os.networkInterfaces()); 9 | return ifaces.reduce((ipv4Urls: string[], value = []): string[] => { 10 | value.forEach((iface: os.NetworkInterfaceInfo): void => { 11 | if (iface.family === 'IPv4' && iface.address !== '127.0.0.1') { 12 | ipv4Urls.push(`http://${iface.address}:${port}`); 13 | } 14 | }); 15 | return ipv4Urls; 16 | }, []); 17 | } 18 | 19 | export function printUrls(port: number) { 20 | const url = `http://127.0.0.1:${port}`; 21 | const ipv4Urls = getIPv4urls(port); 22 | 23 | /* eslint-disable no-console */ 24 | console.log(`\n${colors.bgBlue.black(' I ')} Debugger url: ${url}\n`); 25 | 26 | if (ipv4Urls.length) { 27 | console.log(`${colors.bgWhite.black(' N ')} You can also visit it by:`); 28 | console.log(`\n${ipv4Urls.map((ipv4Url) => ` ${ipv4Url}`).join('\n')}\n`); 29 | } 30 | /* eslint-disable no-console */ 31 | } 32 | -------------------------------------------------------------------------------- /src/ydebugger.ts: -------------------------------------------------------------------------------- 1 | import path from 'path'; 2 | import open from 'open'; 3 | import yargs from 'yargs'; 4 | import express from 'express'; 5 | import detect from 'detect-port'; 6 | import puppeteer from 'puppeteer'; 7 | import { createProxyMiddleware, responseInterceptor } from 'http-proxy-middleware'; 8 | import { printUrls } from './utils'; 9 | 10 | export interface Options { 11 | url?: string 12 | port: number 13 | open: boolean 14 | width: number 15 | height: number 16 | mobile: boolean 17 | landscape: boolean 18 | touch: boolean 19 | dsp: number 20 | } 21 | 22 | export default async function ydebugger(argv: yargs.Arguments) { 23 | const debuggingPort = await detect(9222); 24 | 25 | const browser = await puppeteer.launch({ 26 | args: ['--no-sandbox', `--remote-debugging-port=${debuggingPort}`], 27 | defaultViewport: { 28 | width: argv.width, 29 | height: argv.height, 30 | deviceScaleFactor: argv.dsp, 31 | isMobile: argv.mobile, 32 | isLandscape: argv.landscape, 33 | hasTouch: argv.touch, 34 | }, 35 | }); 36 | 37 | if (argv.url) { 38 | const page = await browser.newPage(); 39 | await page.goto(argv.url); 40 | } 41 | 42 | const app = express(); 43 | 44 | app.use('/polyfill', express.static(path.join(__dirname, '../polyfill'))); 45 | 46 | app.use( 47 | '/devtools', 48 | createProxyMiddleware({ 49 | target: `http://127.0.0.1:${debuggingPort}`, 50 | ws: true, 51 | logLevel: 'warn', 52 | changeOrigin: true, 53 | selfHandleResponse: true, 54 | onProxyReqWs: (proxyReq, req, socket) => { 55 | socket.on('error', (err) => { 56 | // eslint-disable-next-line no-console 57 | console.error(err); 58 | }); 59 | }, 60 | onProxyRes: responseInterceptor((buffer, proxyRes, req) => { 61 | if (req.url?.startsWith('/devtools/inspector.html')) { 62 | const splitter = ''; 63 | const content = buffer.toString('utf8').split(splitter); 64 | 65 | const html = `${content[0]}${splitter} 66 | 67 | ${content[1]}`; 68 | 69 | return Promise.resolve(html); 70 | } 71 | return Promise.resolve(buffer); 72 | }), 73 | }), 74 | ); 75 | 76 | app.use( 77 | '/json', 78 | createProxyMiddleware({ 79 | target: `http://127.0.0.1:${debuggingPort}`, 80 | ws: false, 81 | changeOrigin: true, 82 | logLevel: 'warn', 83 | }), 84 | ); 85 | 86 | app.get('/', (req, res, next) => { 87 | res.sendFile(path.join(__dirname, '../index.html'), (err) => { 88 | if (err) { 89 | next(err); 90 | } else { 91 | next(); 92 | } 93 | }); 94 | }); 95 | 96 | const port = await detect(argv.port); 97 | app.listen(port, () => { 98 | printUrls(port); 99 | 100 | if (argv.open) { 101 | open(`http://127.0.0.1:${port}`); 102 | } 103 | }); 104 | } 105 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | /* Visit https://aka.ms/tsconfig.json to read more about this file */ 4 | 5 | /* Projects */ 6 | // "incremental": true, /* Enable incremental compilation */ 7 | // "composite": true, /* Enable constraints that allow a TypeScript project to be used with project references. */ 8 | // "tsBuildInfoFile": "./", /* Specify the folder for .tsbuildinfo incremental compilation files. */ 9 | // "disableSourceOfProjectReferenceRedirect": true, /* Disable preferring source files instead of declaration files when referencing composite projects */ 10 | // "disableSolutionSearching": true, /* Opt a project out of multi-project reference checking when editing. */ 11 | // "disableReferencedProjectLoad": true, /* Reduce the number of projects loaded automatically by TypeScript. */ 12 | 13 | /* Language and Environment */ 14 | "target": "es2016", /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */ 15 | // "lib": [], /* Specify a set of bundled library declaration files that describe the target runtime environment. */ 16 | // "jsx": "preserve", /* Specify what JSX code is generated. */ 17 | // "experimentalDecorators": true, /* Enable experimental support for TC39 stage 2 draft decorators. */ 18 | // "emitDecoratorMetadata": true, /* Emit design-type metadata for decorated declarations in source files. */ 19 | // "jsxFactory": "", /* Specify the JSX factory function used when targeting React JSX emit, e.g. 'React.createElement' or 'h' */ 20 | // "jsxFragmentFactory": "", /* Specify the JSX Fragment reference used for fragments when targeting React JSX emit e.g. 'React.Fragment' or 'Fragment'. */ 21 | // "jsxImportSource": "", /* Specify module specifier used to import the JSX factory functions when using `jsx: react-jsx*`.` */ 22 | // "reactNamespace": "", /* Specify the object invoked for `createElement`. This only applies when targeting `react` JSX emit. */ 23 | // "noLib": true, /* Disable including any library files, including the default lib.d.ts. */ 24 | // "useDefineForClassFields": true, /* Emit ECMAScript-standard-compliant class fields. */ 25 | 26 | /* Modules */ 27 | "module": "commonjs", /* Specify what module code is generated. */ 28 | // "rootDir": "./", /* Specify the root folder within your source files. */ 29 | // "moduleResolution": "node", /* Specify how TypeScript looks up a file from a given module specifier. */ 30 | // "baseUrl": "./", /* Specify the base directory to resolve non-relative module names. */ 31 | // "paths": {}, /* Specify a set of entries that re-map imports to additional lookup locations. */ 32 | // "rootDirs": [], /* Allow multiple folders to be treated as one when resolving modules. */ 33 | // "typeRoots": [], /* Specify multiple folders that act like `./node_modules/@types`. */ 34 | // "types": [], /* Specify type package names to be included without being referenced in a source file. */ 35 | // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ 36 | // "resolveJsonModule": true, /* Enable importing .json files */ 37 | // "noResolve": true, /* Disallow `import`s, `require`s or ``s from expanding the number of files TypeScript should add to a project. */ 38 | 39 | /* JavaScript Support */ 40 | // "allowJs": true, /* Allow JavaScript files to be a part of your program. Use the `checkJS` option to get errors from these files. */ 41 | // "checkJs": true, /* Enable error reporting in type-checked JavaScript files. */ 42 | // "maxNodeModuleJsDepth": 1, /* Specify the maximum folder depth used for checking JavaScript files from `node_modules`. Only applicable with `allowJs`. */ 43 | 44 | /* Emit */ 45 | // "declaration": true, /* Generate .d.ts files from TypeScript and JavaScript files in your project. */ 46 | // "declarationMap": true, /* Create sourcemaps for d.ts files. */ 47 | // "emitDeclarationOnly": true, /* Only output d.ts files and not JavaScript files. */ 48 | // "sourceMap": true, /* Create source map files for emitted JavaScript files. */ 49 | // "outFile": "./", /* Specify a file that bundles all outputs into one JavaScript file. If `declaration` is true, also designates a file that bundles all .d.ts output. */ 50 | "outDir": "./dist", /* Specify an output folder for all emitted files. */ 51 | // "removeComments": true, /* Disable emitting comments. */ 52 | // "noEmit": true, /* Disable emitting files from a compilation. */ 53 | // "importHelpers": true, /* Allow importing helper functions from tslib once per project, instead of including them per-file. */ 54 | // "importsNotUsedAsValues": "remove", /* Specify emit/checking behavior for imports that are only used for types */ 55 | // "downlevelIteration": true, /* Emit more compliant, but verbose and less performant JavaScript for iteration. */ 56 | // "sourceRoot": "", /* Specify the root path for debuggers to find the reference source code. */ 57 | // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ 58 | // "inlineSourceMap": true, /* Include sourcemap files inside the emitted JavaScript. */ 59 | // "inlineSources": true, /* Include source code in the sourcemaps inside the emitted JavaScript. */ 60 | // "emitBOM": true, /* Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files. */ 61 | // "newLine": "crlf", /* Set the newline character for emitting files. */ 62 | // "stripInternal": true, /* Disable emitting declarations that have `@internal` in their JSDoc comments. */ 63 | // "noEmitHelpers": true, /* Disable generating custom helper functions like `__extends` in compiled output. */ 64 | // "noEmitOnError": true, /* Disable emitting files if any type checking errors are reported. */ 65 | // "preserveConstEnums": true, /* Disable erasing `const enum` declarations in generated code. */ 66 | // "declarationDir": "./", /* Specify the output directory for generated declaration files. */ 67 | // "preserveValueImports": true, /* Preserve unused imported values in the JavaScript output that would otherwise be removed. */ 68 | 69 | /* Interop Constraints */ 70 | // "isolatedModules": true, /* Ensure that each file can be safely transpiled without relying on other imports. */ 71 | // "allowSyntheticDefaultImports": true, /* Allow 'import x from y' when a module doesn't have a default export. */ 72 | "esModuleInterop": true, /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables `allowSyntheticDefaultImports` for type compatibility. */ 73 | // "preserveSymlinks": true, /* Disable resolving symlinks to their realpath. This correlates to the same flag in node. */ 74 | "forceConsistentCasingInFileNames": true, /* Ensure that casing is correct in imports. */ 75 | 76 | /* Type Checking */ 77 | "strict": true, /* Enable all strict type-checking options. */ 78 | // "noImplicitAny": true, /* Enable error reporting for expressions and declarations with an implied `any` type.. */ 79 | // "strictNullChecks": true, /* When type checking, take into account `null` and `undefined`. */ 80 | // "strictFunctionTypes": true, /* When assigning functions, check to ensure parameters and the return values are subtype-compatible. */ 81 | // "strictBindCallApply": true, /* Check that the arguments for `bind`, `call`, and `apply` methods match the original function. */ 82 | // "strictPropertyInitialization": true, /* Check for class properties that are declared but not set in the constructor. */ 83 | // "noImplicitThis": true, /* Enable error reporting when `this` is given the type `any`. */ 84 | // "useUnknownInCatchVariables": true, /* Type catch clause variables as 'unknown' instead of 'any'. */ 85 | // "alwaysStrict": true, /* Ensure 'use strict' is always emitted. */ 86 | // "noUnusedLocals": true, /* Enable error reporting when a local variables aren't read. */ 87 | // "noUnusedParameters": true, /* Raise an error when a function parameter isn't read */ 88 | // "exactOptionalPropertyTypes": true, /* Interpret optional property types as written, rather than adding 'undefined'. */ 89 | // "noImplicitReturns": true, /* Enable error reporting for codepaths that do not explicitly return in a function. */ 90 | // "noFallthroughCasesInSwitch": true, /* Enable error reporting for fallthrough cases in switch statements. */ 91 | // "noUncheckedIndexedAccess": true, /* Include 'undefined' in index signature results */ 92 | // "noImplicitOverride": true, /* Ensure overriding members in derived classes are marked with an override modifier. */ 93 | // "noPropertyAccessFromIndexSignature": true, /* Enforces using indexed accessors for keys declared using an indexed type */ 94 | // "allowUnusedLabels": true, /* Disable error reporting for unused labels. */ 95 | // "allowUnreachableCode": true, /* Disable error reporting for unreachable code. */ 96 | 97 | /* Completeness */ 98 | // "skipDefaultLibCheck": true, /* Skip type checking .d.ts files that are included with TypeScript. */ 99 | "skipLibCheck": true /* Skip type checking all .d.ts files. */ 100 | }, 101 | "include": [ 102 | "./src" 103 | ] 104 | } 105 | -------------------------------------------------------------------------------- /ydebugger.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | require('./dist'); 4 | --------------------------------------------------------------------------------