├── .eslintrc ├── .npmrc ├── .gitignore ├── demo ├── src │ ├── css │ │ ├── lazy.css │ │ └── style.css │ ├── fonts │ │ ├── Roboto-Italic.woff2 │ │ └── Roboto-Regular.woff2 │ ├── main.ts │ └── lazy.ts ├── package.json ├── page.html ├── index.html ├── tsconfig.json ├── vite.config.ts └── pnpm-lock.yaml ├── test ├── project │ ├── src │ │ ├── css │ │ │ ├── lazy.css │ │ │ └── style.css │ │ ├── fonts │ │ │ ├── Roboto-Italic.woff2 │ │ │ └── Roboto-Regular.woff2 │ │ ├── lazy.ts │ │ └── main.ts │ └── index.html ├── getAsWithMime.test.ts ├── excerpt.test.ts └── __snapshots__ │ └── excerpt.test.ts.snap ├── vitest.config.ts ├── src ├── helper │ ├── serializer.ts │ └── getAsWithMime.ts └── index.ts ├── tsconfig.json ├── package.json ├── .github └── workflows │ └── ci.yml ├── README.md ├── LICENSE └── pnpm-lock.yaml /.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@antfu" 3 | } 4 | -------------------------------------------------------------------------------- /.npmrc: -------------------------------------------------------------------------------- 1 | strict-peer-dependencies=false 2 | auto-install-peers=true 3 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | dist 3 | .DS_Store 4 | .idea 5 | .vscode 6 | coverage -------------------------------------------------------------------------------- /demo/src/css/lazy.css: -------------------------------------------------------------------------------- 1 | body { 2 | background-color: #333; 3 | color: #dedede; 4 | } 5 | 6 | a { 7 | color: #dedede; 8 | } 9 | -------------------------------------------------------------------------------- /demo/src/fonts/Roboto-Italic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Applelo/vite-plugin-inject-preload/HEAD/demo/src/fonts/Roboto-Italic.woff2 -------------------------------------------------------------------------------- /demo/src/fonts/Roboto-Regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Applelo/vite-plugin-inject-preload/HEAD/demo/src/fonts/Roboto-Regular.woff2 -------------------------------------------------------------------------------- /test/project/src/css/lazy.css: -------------------------------------------------------------------------------- 1 | body { 2 | background-color: #333; 3 | color: #dedede; 4 | } 5 | 6 | a { 7 | color: #dedede; 8 | } 9 | -------------------------------------------------------------------------------- /demo/src/main.ts: -------------------------------------------------------------------------------- 1 | import './css/style.css' 2 | 3 | setTimeout(() => { 4 | import('./lazy').then((obj) => { 5 | obj.default() 6 | }) 7 | }, 2000) 8 | -------------------------------------------------------------------------------- /test/project/src/fonts/Roboto-Italic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Applelo/vite-plugin-inject-preload/HEAD/test/project/src/fonts/Roboto-Italic.woff2 -------------------------------------------------------------------------------- /test/project/src/fonts/Roboto-Regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Applelo/vite-plugin-inject-preload/HEAD/test/project/src/fonts/Roboto-Regular.woff2 -------------------------------------------------------------------------------- /demo/src/lazy.ts: -------------------------------------------------------------------------------- 1 | import './css/lazy.css' 2 | 3 | export default () => { 4 | // eslint-disable-next-line no-console 5 | console.log('hello world') 6 | } 7 | -------------------------------------------------------------------------------- /test/project/src/lazy.ts: -------------------------------------------------------------------------------- 1 | import './css/lazy.css' 2 | 3 | export default () => { 4 | // eslint-disable-next-line no-console 5 | console.log('hello world') 6 | } 7 | -------------------------------------------------------------------------------- /test/project/src/main.ts: -------------------------------------------------------------------------------- 1 | import './css/style.css' 2 | 3 | setTimeout(() => { 4 | import('./lazy').then((obj) => { 5 | obj.default() 6 | }) 7 | }, 2000) 8 | -------------------------------------------------------------------------------- /vitest.config.ts: -------------------------------------------------------------------------------- 1 | import { defineConfig } from 'vitest/config' 2 | 3 | export default defineConfig({ 4 | test: { 5 | coverage: { 6 | reporter: ['lcov'], 7 | }, 8 | }, 9 | }) 10 | -------------------------------------------------------------------------------- /demo/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "demo", 3 | "type": "module", 4 | "version": "0.0.0", 5 | "private": true, 6 | "packageManager": "pnpm@8.6.12", 7 | "scripts": { 8 | "dev": "vite", 9 | "build": "tsc && vite build", 10 | "preview": "vite preview" 11 | }, 12 | "devDependencies": { 13 | "@types/node": "^14.18.55", 14 | "typescript": "^5.1.6", 15 | "vite": "^4.4.9", 16 | "vite-plugin-inspect": "^0.7.38" 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /demo/page.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Vite Plugin Inject Preload 7 | 8 | 9 | 10 |

Vite Plugin Inject Preload - Second Page

11 | Return to the main page 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /demo/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Vite Plugin Inject Preload 7 | 8 | 9 | 10 |

Vite Plugin Inject Preload

11 | Go to the page (test multi page generation) 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /test/project/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Vite Plugin Inject Preload 7 | 8 | 9 | 10 |

Vite Plugin Inject Preload

11 | Go to the page (test multi page generation) 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /demo/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "ESNext", 4 | "useDefineForClassFields": true, 5 | "module": "ESNext", 6 | "lib": ["ESNext", "DOM"], 7 | "moduleResolution": "Node", 8 | "strict": true, 9 | "sourceMap": true, 10 | "resolveJsonModule": true, 11 | "isolatedModules": true, 12 | "esModuleInterop": true, 13 | "noEmit": true, 14 | "noUnusedLocals": true, 15 | "noUnusedParameters": true, 16 | "noImplicitReturns": true, 17 | "skipLibCheck": true 18 | }, 19 | "include": ["src"] 20 | } 21 | -------------------------------------------------------------------------------- /demo/src/css/style.css: -------------------------------------------------------------------------------- 1 | @font-face { 2 | font-family: 'Roboto'; 3 | src: url('./../fonts/Roboto-Italic.woff2'); 4 | font-weight: 400; 5 | font-style: italic; 6 | } 7 | 8 | @font-face { 9 | font-family: 'Roboto'; 10 | src: url('./../fonts/Roboto-Regular.woff2'); 11 | font-weight: 400; 12 | font-style: normal; 13 | } 14 | 15 | body { 16 | font-family: 'Roboto', Arial, Helvetica, sans-serif; 17 | background-color: #dedede; 18 | color: #333; 19 | transition: all 1s ease; 20 | } 21 | 22 | a { 23 | color: #333; 24 | } 25 | a:hover { 26 | text-decoration: none; 27 | } 28 | -------------------------------------------------------------------------------- /test/project/src/css/style.css: -------------------------------------------------------------------------------- 1 | @font-face { 2 | font-family: 'Roboto'; 3 | src: url('./../fonts/Roboto-Italic.woff2'); 4 | font-weight: 400; 5 | font-style: italic; 6 | } 7 | 8 | @font-face { 9 | font-family: 'Roboto'; 10 | src: url('./../fonts/Roboto-Regular.woff2'); 11 | font-weight: 400; 12 | font-style: normal; 13 | } 14 | 15 | body { 16 | font-family: 'Roboto', Arial, Helvetica, sans-serif; 17 | background-color: #dedede; 18 | color: #333; 19 | transition: all 1s ease; 20 | } 21 | 22 | a { 23 | color: #333; 24 | } 25 | a:hover { 26 | text-decoration: none; 27 | } 28 | -------------------------------------------------------------------------------- /demo/vite.config.ts: -------------------------------------------------------------------------------- 1 | import { resolve } from 'node:path' 2 | import { defineConfig } from 'vite' 3 | import Inspect from 'vite-plugin-inspect' 4 | import VitePluginInjectPreload from '../src' 5 | 6 | export default defineConfig({ 7 | build: { 8 | rollupOptions: { 9 | input: { 10 | main: resolve(__dirname, 'index.html'), 11 | page: resolve(__dirname, 'page.html'), 12 | }, 13 | }, 14 | }, 15 | plugins: [ 16 | Inspect(), 17 | VitePluginInjectPreload({ 18 | files: [ 19 | { 20 | match: /Roboto-[a-zA-Z]*-[a-z-0-9]*\.woff2$/, 21 | }, 22 | { 23 | match: /lazy.[a-z-0-9]*.(css|js)$/, 24 | }, 25 | ], 26 | injectTo: 'custom', 27 | }), 28 | ], 29 | }) 30 | -------------------------------------------------------------------------------- /test/getAsWithMime.test.ts: -------------------------------------------------------------------------------- 1 | import { describe, expect, it } from 'vitest' 2 | import { getAsWithMime } from '../src/helper/getAsWithMime' 3 | 4 | describe('getAsWithMime', () => { 5 | it('test with basic mime', () => { 6 | expect(getAsWithMime('font/woff2')).toBe('font') 7 | expect(getAsWithMime('text/css')).toBe('style') 8 | expect(getAsWithMime('font/cheese')).toBe('font') 9 | expect(getAsWithMime('application/javascript')).toBe('script') 10 | expect(getAsWithMime('text/vtt')).toBe('track') 11 | }) 12 | 13 | it('test with wrong values', () => { 14 | expect(getAsWithMime('text/plain')).toBe(undefined) 15 | expect(getAsWithMime('cheese/font')).toBe(undefined) 16 | expect(getAsWithMime('')).toBe(undefined) 17 | expect(getAsWithMime('test')).toBe(undefined) 18 | }) 19 | }) 20 | -------------------------------------------------------------------------------- /src/helper/serializer.ts: -------------------------------------------------------------------------------- 1 | import type { HtmlTagDescriptor } from 'vite' 2 | 3 | // From https://github.com/vitejs/vite/blob/main/packages/vite/src/node/plugins/html.ts 4 | // Modified to keep only unary tags supports 5 | export function serializeTags(tags: HtmlTagDescriptor[], 6 | indent = ''): string { 7 | return tags.map(tag => `${indent}${serializeTag(tag)}\n`).join('') 8 | } 9 | function serializeTag({ tag, attrs }: HtmlTagDescriptor): string { 10 | return `<${tag}${serializeAttrs(attrs)}>` 11 | } 12 | function serializeAttrs(attrs: HtmlTagDescriptor['attrs']): string { 13 | let res = '' 14 | for (const key in attrs) { 15 | if (typeof attrs[key] === 'boolean') 16 | res += attrs[key] ? ` ${key}` : '' 17 | else 18 | res += ` ${key}=${JSON.stringify(attrs[key])}` 19 | } 20 | return res 21 | } 22 | -------------------------------------------------------------------------------- /src/helper/getAsWithMime.ts: -------------------------------------------------------------------------------- 1 | export function getAsWithMime(mime: string): RequestDestination | undefined { 2 | let destination = mime.split('/')[0] as RequestDestination 3 | const validDestinations: RequestDestination[] = [ 4 | 'audio', 5 | 'audioworklet', 6 | 'document', 7 | 'embed', 8 | 'font', 9 | 'frame', 10 | 'iframe', 11 | 'image', 12 | 'manifest', 13 | 'object', 14 | 'paintworklet', 15 | 'report', 16 | 'script', 17 | 'sharedworker', 18 | 'style', 19 | 'track', 20 | 'video', 21 | 'worker', 22 | 'xslt', 23 | ] 24 | 25 | if (['text/css'].includes(mime)) 26 | destination = 'style' 27 | else if (['application/javascript'].includes(mime)) 28 | destination = 'script' 29 | else if (['text/vtt'].includes(mime)) 30 | destination = 'track' 31 | 32 | if (validDestinations.includes(destination)) 33 | return destination 34 | 35 | console.warn( 36 | '[vite-plugin-inject-preload]', 37 | `No valid destinations for "${mime}". Define the 'as' attribute.`, 38 | ) 39 | return undefined 40 | } 41 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "ES2017", 4 | /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019' or 'ESNEXT'. */ 5 | "module": "ESNext", 6 | /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'. */ 7 | "declarationDir": "./declarations", 8 | "moduleResolution": "node", 9 | /* Redirect output structure to the directory. */ 10 | "rootDir": "./src", 11 | /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */ 12 | "strict": true, 13 | /* Enable all strict type-checking options. */ 14 | "noImplicitAny": true, 15 | "noImplicitThis": true, 16 | "strictNullChecks": true, 17 | /* Raise error on expressions and declarations with an implied 'any' type. */ 18 | "esModuleInterop": true, 19 | /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */ 20 | "lib": ["DOM"], 21 | "declaration": true 22 | }, 23 | "exclude": ["node_modules", "test", "dist", "demo", "vitest.config.ts"] 24 | } 25 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "vite-plugin-inject-preload", 3 | "version": "1.3.3", 4 | "packageManager": "pnpm@8.6.12", 5 | "description": "A Vite plugin for injecting ", 6 | "author": "Applelo", 7 | "license": "GPL-3.0", 8 | "homepage": "https://github.com/Applelo/vite-plugin-inject-preload", 9 | "repository": { 10 | "type": "git", 11 | "url": "https://github.com/Applelo/vite-plugin-inject-preload" 12 | }, 13 | "bugs": "https://github.com/Applelo/vite-plugin-inject-preload/issues", 14 | "keywords": [ 15 | "html", 16 | "link", 17 | "preload", 18 | "inject", 19 | "vite", 20 | "vite-plugin" 21 | ], 22 | "exports": { 23 | ".": { 24 | "import": "./dist/index.mjs", 25 | "require": "./dist/index.js" 26 | } 27 | }, 28 | "main": "./dist/index.js", 29 | "module": "./dist/index.mjs", 30 | "types": "./dist/index.d.ts", 31 | "files": [ 32 | "dist" 33 | ], 34 | "engines": { 35 | "node": ">=14.18.0" 36 | }, 37 | "scripts": { 38 | "format": "prettier --write --cache .", 39 | "format:check": "prettier --check .", 40 | "lint": "eslint .", 41 | "lint:fix": "eslint . --fix", 42 | "build": "tsup src/index.ts --dts --format cjs,esm", 43 | "test": "vitest", 44 | "typecheck": "tsc --noEmit", 45 | "prepublishOnly": "npm run build", 46 | "coverage": "vitest run --coverage" 47 | }, 48 | "peerDependencies": { 49 | "vite": "^3.0.0 || ^4.0.0" 50 | }, 51 | "dependencies": { 52 | "mime-types": "^2.1.35" 53 | }, 54 | "devDependencies": { 55 | "@antfu/eslint-config": "^0.40.3", 56 | "@types/mime-types": "^2.1.1", 57 | "@vitest/coverage-v8": "^0.34.2", 58 | "c8": "^8.0.1", 59 | "eslint": "^8.47.0", 60 | "rollup": "^3.28.1", 61 | "tsup": "^7.2.0", 62 | "typescript": "^5.1.6", 63 | "vite": "^4.4.9", 64 | "vitest": "^0.34.2" 65 | } 66 | } 67 | -------------------------------------------------------------------------------- /.github/workflows/ci.yml: -------------------------------------------------------------------------------- 1 | name: CI 2 | 3 | on: 4 | push: 5 | branches: 6 | - main 7 | 8 | pull_request: 9 | branches: 10 | - main 11 | 12 | jobs: 13 | test: 14 | runs-on: ${{ matrix.os }} 15 | 16 | strategy: 17 | matrix: 18 | node-version: [14.x, 16.x] 19 | os: [ubuntu-latest, windows-latest, macos-latest] 20 | fail-fast: false 21 | 22 | steps: 23 | - uses: actions/checkout@v3 24 | 25 | - uses: pnpm/action-setup@v2.2.4 26 | with: 27 | version: 7 28 | 29 | - name: Use Node.js ${{ matrix.node-version }} 30 | uses: actions/setup-node@v3 31 | with: 32 | node-version: ${{ matrix.node-version }} 33 | cache: pnpm 34 | 35 | - name: Install 36 | run: pnpm install 37 | 38 | - name: Build 39 | run: pnpm build 40 | 41 | - name: Test 42 | run: pnpm test 43 | 44 | coverage: 45 | runs-on: ubuntu-latest 46 | name: Coverage 47 | 48 | steps: 49 | - uses: actions/checkout@v3 50 | with: 51 | fetch-depth: 0 52 | 53 | - uses: pnpm/action-setup@v2.2.4 54 | with: 55 | version: 7 56 | 57 | - name: Set node version to 16 58 | uses: actions/setup-node@v3 59 | with: 60 | node-version: 16 61 | cache: pnpm 62 | 63 | - name: Install 64 | run: pnpm install 65 | 66 | - name: Build 67 | run: pnpm build 68 | 69 | - name: Test 70 | run: pnpm coverage 71 | 72 | - name: Coveralls 73 | uses: coverallsapp/github-action@master 74 | with: 75 | github-token: ${{ secrets.GITHUB_TOKEN }} 76 | 77 | lint: 78 | runs-on: ubuntu-latest 79 | name: 'Lint: node-16, ubuntu-latest' 80 | 81 | steps: 82 | - uses: actions/checkout@v3 83 | with: 84 | fetch-depth: 0 85 | 86 | - uses: pnpm/action-setup@v2.2.4 87 | with: 88 | version: 7 89 | 90 | - name: Set node version to 16 91 | uses: actions/setup-node@v3 92 | with: 93 | node-version: 16 94 | cache: pnpm 95 | 96 | - name: Install 97 | run: pnpm install 98 | 99 | - name: Build 100 | run: pnpm build 101 | 102 | - name: Lint 103 | run: pnpm lint 104 | 105 | - name: Typecheck 106 | run: pnpm typecheck 107 | -------------------------------------------------------------------------------- /test/excerpt.test.ts: -------------------------------------------------------------------------------- 1 | import { resolve } from 'node:path' 2 | import type { OutputAsset, RollupOutput } from 'rollup' 3 | import { type InlineConfig, build } from 'vite' 4 | import { describe, expect, it } from 'vitest' 5 | import VitePluginInjectPreload from './../src/index' 6 | import type { Options } from './../src/index' 7 | 8 | const configs: Record = { 9 | injectBottom: { 10 | files: [ 11 | { 12 | match: /Roboto-[a-zA-Z]*-[a-z-0-9]*\.woff2$/, 13 | }, 14 | { 15 | match: /lazy.[a-z-0-9]*.(css|js)$/, 16 | }, 17 | ], 18 | injectTo: 'head', 19 | }, 20 | customAttributes: { 21 | files: [ 22 | { 23 | match: /Roboto-[a-zA-Z]*-[a-z-0-9]*\.woff2$/, 24 | attributes: { 25 | 'as': 'font', 26 | 'crossorigin': 'anonymous', 27 | 'data-font': 'Roboto', 28 | 'type': 'font/woff2', 29 | }, 30 | }, 31 | ], 32 | }, 33 | auto: { 34 | files: [ 35 | { 36 | match: /Roboto-[a-zA-Z]*-[a-z-0-9]*\.woff2$/, 37 | }, 38 | { 39 | match: /lazy.[a-z-0-9]*.(css|js)$/, 40 | }, 41 | ], 42 | }, 43 | customPosition: { 44 | files: [ 45 | { 46 | match: /Roboto-[a-zA-Z]*-[a-z-0-9]*\.woff2$/, 47 | attributes: { 48 | 'data-vite-plugin-inject-preload': true, 49 | }, 50 | }, 51 | { 52 | match: /lazy.[a-z-0-9]*.(css|js)$/, 53 | }, 54 | ], 55 | injectTo: 'custom', 56 | }, 57 | wrongAttributes: { 58 | files: [ 59 | { 60 | match: /Roboto-[a-zA-Z]*-[a-z-0-9]*\.woff2$/, 61 | attributes: { 62 | href: './yolo.woff2', 63 | }, 64 | }, 65 | ], 66 | }, 67 | noType: { 68 | files: [ 69 | { 70 | match: /Roboto-[a-zA-Z]*-[a-z-0-9]*\.woff2$/, 71 | attributes: { 72 | type: undefined, 73 | }, 74 | }, 75 | ], 76 | }, 77 | modulepreload: { 78 | files: [ 79 | { 80 | match: /lazy.[a-z-0-9]*.(js)$/, 81 | attributes: { 82 | rel: 'modulepreload', 83 | }, 84 | }, 85 | ], 86 | }, 87 | } 88 | 89 | async function buildVite(pluginConfig: Options, config: InlineConfig = {}) { 90 | const { output } = (await build({ 91 | root: resolve(__dirname, './project'), 92 | plugins: [VitePluginInjectPreload(pluginConfig)], 93 | ...config, 94 | })) as RollupOutput 95 | 96 | const { source: indexSource } = output.find( 97 | item => item.fileName === 'index.html', 98 | ) as OutputAsset 99 | 100 | return indexSource.toString() 101 | } 102 | 103 | describe('excerpt', () => { 104 | for (const key in configs) { 105 | if (Object.prototype.hasOwnProperty.call(configs, key)) { 106 | const config = configs[key] as Options 107 | it(`test ${key}`, async () => { 108 | const output = await buildVite(config) 109 | expect(output).toMatchSnapshot() 110 | }) 111 | 112 | it(`test ${key} with basePath`, async () => { 113 | const output = await buildVite(config, { base: '/base' }) 114 | expect(output).toMatchSnapshot() 115 | }) 116 | } 117 | } 118 | }) 119 | -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- 1 | import type { HtmlTagDescriptor, IndexHtmlTransformContext, Plugin } from 'vite' 2 | import { lookup as mimeLookup } from 'mime-types' 3 | import type { OutputAsset, OutputChunk } from 'rollup' 4 | import { getAsWithMime } from './helper/getAsWithMime' 5 | import { serializeTags } from './helper/serializer' 6 | 7 | export interface OptionsFiles { 8 | /** 9 | * Regular expression to target build files 10 | */ 11 | match: RegExp 12 | /** 13 | * Attributes added to the preload links 14 | */ 15 | attributes?: HtmlTagDescriptor['attrs'] 16 | } 17 | 18 | export interface Options { 19 | /** 20 | * An array of file options 21 | */ 22 | files: OptionsFiles[] 23 | /** 24 | * The position where the preload links are injected 25 | */ 26 | injectTo?: 'head' | 'head-prepend' | 'custom' 27 | } 28 | 29 | // From https://github.com/vitejs/vite/blob/main/packages/vite/src/node/plugins/html.ts 30 | const customInject = /([ \t]*)/i 31 | 32 | export default function VitePluginInjectPreload(options: Options): Plugin { 33 | let basePath: string 34 | const injectTo 35 | = options.injectTo && options.injectTo !== 'custom' 36 | ? options.injectTo 37 | : 'head-prepend' 38 | 39 | return { 40 | name: 'vite-plugin-inject-preload', 41 | apply: 'build', 42 | configResolved(config) { 43 | // Base path is sanitized by vite with the final trailing slash 44 | basePath = config.base 45 | }, 46 | transformIndexHtml: { 47 | enforce: 'post', 48 | transform(html, ctx) { 49 | const bundle: IndexHtmlTransformContext['bundle'] = ctx.bundle 50 | // ignore next because the bundle will be always here on build 51 | /* c8 ignore next */ 52 | if (!bundle) 53 | return html 54 | 55 | const tags: HtmlTagDescriptor[] = [] 56 | const assets = Object.keys(bundle) 57 | .sort() 58 | .reduce((res: Record, key) => { 59 | res[key] = bundle[key] 60 | return res 61 | }, {}) 62 | 63 | for (const asset in assets) { 64 | for (let index = 0; index < options.files.length; index++) { 65 | const file = options.files[index] 66 | if (!file.match.test(asset)) 67 | continue 68 | 69 | const attrs: HtmlTagDescriptor['attrs'] = file.attributes || {} 70 | const href = `${basePath}${asset}` 71 | const type = attrs.type ? attrs.type : mimeLookup(asset) 72 | const as 73 | = typeof type === 'string' ? getAsWithMime(type) : undefined 74 | 75 | const finalAttrs = Object.assign( 76 | { 77 | rel: 'preload', 78 | href, 79 | type, 80 | as, 81 | }, 82 | attrs, 83 | ) 84 | 85 | // Remove any undefined values 86 | Object.keys(finalAttrs).forEach( 87 | key => 88 | typeof finalAttrs[key] === 'undefined' && delete finalAttrs[key], 89 | ) 90 | 91 | tags.push({ 92 | tag: 'link', 93 | attrs: finalAttrs, 94 | injectTo, 95 | }) 96 | } 97 | } 98 | 99 | if (options.injectTo === 'custom') { 100 | return html.replace( 101 | customInject, 102 | (match, p1) => `\n${serializeTags(tags, p1)}`, 103 | ) 104 | } 105 | else { 106 | return tags 107 | } 108 | }, 109 | }, 110 | } 111 | } 112 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | > This package [will not receive anymore update](https://github.com/Applelo/vite-plugin-inject-preload/issues/21). You can switch to [unplugin-inject-preload](https://github.com/Applelo/unplugin-inject-preload). 2 | 3 | [![npm](https://img.shields.io/npm/v/vite-plugin-inject-preload)](https://www.npmjs.com/package/vite-plugin-inject-preload) [![node-current](https://img.shields.io/node/v/vite-plugin-inject-preload)](https://nodejs.org/) [![Coverage Status](https://coveralls.io/repos/github/Applelo/vite-plugin-inject-preload/badge.svg?branch=main)](https://coveralls.io/github/Applelo/vite-plugin-inject-preload?branch=main) 4 | 5 | 6 | # vite-plugin-inject-preload 7 | 8 | A [Vite plugin](https://github.com/vitejs/vite) for injecting [<link rel='preload'>](https://developer.mozilla.org/en-US/docs/Web/HTML/Preloading_content) 9 | 10 | This plugin adds preload links on build by getting ViteJS output assets. 11 | 12 | Supporting Vite 3 and 4. 13 | 14 | > Currently, this plugin **only works on build** because of [the way Vite behave](https://github.com/Applelo/vite-plugin-inject-preload/issues/15). 15 | 16 | ## 📦 Install 17 | 18 | ``` 19 | npm i -D vite-plugin-inject-preload 20 | 21 | # yarn 22 | yarn add -D vite-plugin-inject-preload 23 | 24 | # pnpm 25 | pnpm add -D vite-plugin-inject-preload 26 | ``` 27 | 28 | ## 👨‍💻 Usage 29 | 30 | All the files needs to be process by ViteJS to be find by the plugin. For example, if I load this CSS file : 31 | 32 | ```css 33 | @font-face { 34 | font-family: 'Roboto'; 35 | src: url('./../fonts/Roboto-Italic.woff2'); 36 | font-weight: 400; 37 | font-style: italic; 38 | } 39 | 40 | @font-face { 41 | font-family: 'Roboto'; 42 | src: url('./../fonts/Roboto-Regular.woff2'); 43 | font-weight: 400; 44 | font-style: normal; 45 | } 46 | ``` 47 | 48 | I can make the following configuration for VitePluginInjectPreload : 49 | 50 | ```js 51 | // vite.config.js / vite.config.ts 52 | import VitePluginInjectPreload from 'vite-plugin-inject-preload' 53 | 54 | export default { 55 | plugins: [ 56 | VitePluginInjectPreload({ 57 | files: [ 58 | { 59 | match: /Roboto-[a-zA-Z]*-[a-z-0-9]*\.woff2$/ 60 | }, 61 | { 62 | match: /lazy.[a-z-0-9]*.(css|js)$/, 63 | } 64 | ] 65 | }) 66 | ] 67 | } 68 | ``` 69 | 70 | For the full example, check the demo folder available [here](https://github.com/Applelo/vite-plugin-inject-preload/tree/main/demo). 71 | 72 | ### Options 73 | 74 | * files: An array of files object 75 | * match: A regular expression to target build files you want to preload 76 | * attributes (optional): 77 | If this option is ommited, it will determine the `mime` and the `as` attributes automatically. 78 | You can also add/override any attributes you want. 79 | * injectTo (optional): By default, the preload links are injected with the `'head-prepend'` options. But you can pass `'head'` to inject preload links at bottom of the head tag if you need it.
Since 1.1, you can pass the `'custom'` option and put `` in your `.html` file where you want to inject the preload links. 80 | 81 | With the full options usage, you can do something like this : 82 | 83 | ```js 84 | // vite.config.js / vite.config.ts 85 | import VitePluginInjectPreload from 'vite-plugin-inject-preload' 86 | 87 | export default { 88 | plugins: [ 89 | VitePluginInjectPreload({ 90 | files: [ 91 | { 92 | match: /Roboto-[a-zA-Z]*-[a-z-0-9]*\.woff2$/, 93 | attributes: { 94 | 'type': 'font/woff2', 95 | 'as': 'font', 96 | 'crossorigin': 'anonymous', 97 | 'data-font': 'Roboto' 98 | } 99 | }, 100 | { 101 | match: /lazy.[a-z-0-9]*.(js)$/, 102 | attributes: { 103 | rel: 'modulepreload', 104 | type: undefined, 105 | } 106 | } 107 | ], 108 | injectTo: 'head-prepend' 109 | }) 110 | ] 111 | } 112 | ``` 113 | 114 | ## 👨‍💼 Licence 115 | 116 | GPL-3.0 117 | -------------------------------------------------------------------------------- /test/__snapshots__/excerpt.test.ts.snap: -------------------------------------------------------------------------------- 1 | // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html 2 | 3 | exports[`excerpt > test auto 1`] = ` 4 | " 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | Vite Plugin Inject Preload 15 | 16 | 17 | 18 | 19 | 20 |

Vite Plugin Inject Preload

21 | Go to the page (test multi page generation) 22 | 23 | 24 | 25 | " 26 | `; 27 | 28 | exports[`excerpt > test auto with basePath 1`] = ` 29 | " 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | Vite Plugin Inject Preload 40 | 41 | 42 | 43 | 44 | 45 |

Vite Plugin Inject Preload

46 | Go to the page (test multi page generation) 47 | 48 | 49 | 50 | " 51 | `; 52 | 53 | exports[`excerpt > test customAttributes 1`] = ` 54 | " 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | Vite Plugin Inject Preload 63 | 64 | 65 | 66 | 67 | 68 |

Vite Plugin Inject Preload

69 | Go to the page (test multi page generation) 70 | 71 | 72 | 73 | " 74 | `; 75 | 76 | exports[`excerpt > test customAttributes with basePath 1`] = ` 77 | " 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | Vite Plugin Inject Preload 86 | 87 | 88 | 89 | 90 | 91 |

Vite Plugin Inject Preload

92 | Go to the page (test multi page generation) 93 | 94 | 95 | 96 | " 97 | `; 98 | 99 | exports[`excerpt > test customPosition 1`] = ` 100 | " 101 | 102 | 103 | 104 | 105 | Vite Plugin Inject Preload 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 |

Vite Plugin Inject Preload

117 | Go to the page (test multi page generation) 118 | 119 | 120 | 121 | " 122 | `; 123 | 124 | exports[`excerpt > test customPosition with basePath 1`] = ` 125 | " 126 | 127 | 128 | 129 | 130 | Vite Plugin Inject Preload 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 |

Vite Plugin Inject Preload

142 | Go to the page (test multi page generation) 143 | 144 | 145 | 146 | " 147 | `; 148 | 149 | exports[`excerpt > test injectBottom 1`] = ` 150 | " 151 | 152 | 153 | 154 | 155 | Vite Plugin Inject Preload 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | 165 |

Vite Plugin Inject Preload

166 | Go to the page (test multi page generation) 167 | 168 | 169 | 170 | " 171 | `; 172 | 173 | exports[`excerpt > test injectBottom with basePath 1`] = ` 174 | " 175 | 176 | 177 | 178 | 179 | Vite Plugin Inject Preload 180 | 181 | 182 | 183 | 184 | 185 | 186 | 187 | 188 | 189 |

Vite Plugin Inject Preload

190 | Go to the page (test multi page generation) 191 | 192 | 193 | 194 | " 195 | `; 196 | 197 | exports[`excerpt > test modulepreload 1`] = ` 198 | " 199 | 200 | 201 | 202 | 203 | 204 | 205 | Vite Plugin Inject Preload 206 | 207 | 208 | 209 | 210 | 211 |

Vite Plugin Inject Preload

212 | Go to the page (test multi page generation) 213 | 214 | 215 | 216 | " 217 | `; 218 | 219 | exports[`excerpt > test modulepreload with basePath 1`] = ` 220 | " 221 | 222 | 223 | 224 | 225 | 226 | 227 | Vite Plugin Inject Preload 228 | 229 | 230 | 231 | 232 | 233 |

Vite Plugin Inject Preload

234 | Go to the page (test multi page generation) 235 | 236 | 237 | 238 | " 239 | `; 240 | 241 | exports[`excerpt > test noType 1`] = ` 242 | " 243 | 244 | 245 | 246 | 247 | 248 | 249 | 250 | Vite Plugin Inject Preload 251 | 252 | 253 | 254 | 255 | 256 |

Vite Plugin Inject Preload

257 | Go to the page (test multi page generation) 258 | 259 | 260 | 261 | " 262 | `; 263 | 264 | exports[`excerpt > test noType with basePath 1`] = ` 265 | " 266 | 267 | 268 | 269 | 270 | 271 | 272 | 273 | Vite Plugin Inject Preload 274 | 275 | 276 | 277 | 278 | 279 |

Vite Plugin Inject Preload

280 | Go to the page (test multi page generation) 281 | 282 | 283 | 284 | " 285 | `; 286 | 287 | exports[`excerpt > test wrongAttributes 1`] = ` 288 | " 289 | 290 | 291 | 292 | 293 | 294 | 295 | 296 | Vite Plugin Inject Preload 297 | 298 | 299 | 300 | 301 | 302 |

Vite Plugin Inject Preload

303 | Go to the page (test multi page generation) 304 | 305 | 306 | 307 | " 308 | `; 309 | 310 | exports[`excerpt > test wrongAttributes with basePath 1`] = ` 311 | " 312 | 313 | 314 | 315 | 316 | 317 | 318 | 319 | Vite Plugin Inject Preload 320 | 321 | 322 | 323 | 324 | 325 |

Vite Plugin Inject Preload

326 | Go to the page (test multi page generation) 327 | 328 | 329 | 330 | " 331 | `; 332 | -------------------------------------------------------------------------------- /demo/pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: '6.1' 2 | 3 | settings: 4 | autoInstallPeers: true 5 | excludeLinksFromLockfile: false 6 | 7 | devDependencies: 8 | '@types/node': 9 | specifier: ^14.18.55 10 | version: 14.18.55 11 | typescript: 12 | specifier: ^5.1.6 13 | version: 5.1.6 14 | vite: 15 | specifier: ^4.4.9 16 | version: 4.4.9(@types/node@14.18.55) 17 | vite-plugin-inspect: 18 | specifier: ^0.7.38 19 | version: 0.7.38(vite@4.4.9) 20 | 21 | packages: 22 | 23 | /@antfu/utils@0.7.6: 24 | resolution: {integrity: sha512-pvFiLP2BeOKA/ZOS6jxx4XhKzdVLHDhGlFEaZ2flWWYf2xOqVniqpk38I04DFRyz+L0ASggl7SkItTc+ZLju4w==} 25 | dev: true 26 | 27 | /@esbuild/android-arm64@0.18.20: 28 | resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==} 29 | engines: {node: '>=12'} 30 | cpu: [arm64] 31 | os: [android] 32 | requiresBuild: true 33 | dev: true 34 | optional: true 35 | 36 | /@esbuild/android-arm@0.18.20: 37 | resolution: {integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==} 38 | engines: {node: '>=12'} 39 | cpu: [arm] 40 | os: [android] 41 | requiresBuild: true 42 | dev: true 43 | optional: true 44 | 45 | /@esbuild/android-x64@0.18.20: 46 | resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==} 47 | engines: {node: '>=12'} 48 | cpu: [x64] 49 | os: [android] 50 | requiresBuild: true 51 | dev: true 52 | optional: true 53 | 54 | /@esbuild/darwin-arm64@0.18.20: 55 | resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==} 56 | engines: {node: '>=12'} 57 | cpu: [arm64] 58 | os: [darwin] 59 | requiresBuild: true 60 | dev: true 61 | optional: true 62 | 63 | /@esbuild/darwin-x64@0.18.20: 64 | resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==} 65 | engines: {node: '>=12'} 66 | cpu: [x64] 67 | os: [darwin] 68 | requiresBuild: true 69 | dev: true 70 | optional: true 71 | 72 | /@esbuild/freebsd-arm64@0.18.20: 73 | resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==} 74 | engines: {node: '>=12'} 75 | cpu: [arm64] 76 | os: [freebsd] 77 | requiresBuild: true 78 | dev: true 79 | optional: true 80 | 81 | /@esbuild/freebsd-x64@0.18.20: 82 | resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==} 83 | engines: {node: '>=12'} 84 | cpu: [x64] 85 | os: [freebsd] 86 | requiresBuild: true 87 | dev: true 88 | optional: true 89 | 90 | /@esbuild/linux-arm64@0.18.20: 91 | resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==} 92 | engines: {node: '>=12'} 93 | cpu: [arm64] 94 | os: [linux] 95 | requiresBuild: true 96 | dev: true 97 | optional: true 98 | 99 | /@esbuild/linux-arm@0.18.20: 100 | resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==} 101 | engines: {node: '>=12'} 102 | cpu: [arm] 103 | os: [linux] 104 | requiresBuild: true 105 | dev: true 106 | optional: true 107 | 108 | /@esbuild/linux-ia32@0.18.20: 109 | resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==} 110 | engines: {node: '>=12'} 111 | cpu: [ia32] 112 | os: [linux] 113 | requiresBuild: true 114 | dev: true 115 | optional: true 116 | 117 | /@esbuild/linux-loong64@0.18.20: 118 | resolution: {integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==} 119 | engines: {node: '>=12'} 120 | cpu: [loong64] 121 | os: [linux] 122 | requiresBuild: true 123 | dev: true 124 | optional: true 125 | 126 | /@esbuild/linux-mips64el@0.18.20: 127 | resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==} 128 | engines: {node: '>=12'} 129 | cpu: [mips64el] 130 | os: [linux] 131 | requiresBuild: true 132 | dev: true 133 | optional: true 134 | 135 | /@esbuild/linux-ppc64@0.18.20: 136 | resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==} 137 | engines: {node: '>=12'} 138 | cpu: [ppc64] 139 | os: [linux] 140 | requiresBuild: true 141 | dev: true 142 | optional: true 143 | 144 | /@esbuild/linux-riscv64@0.18.20: 145 | resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==} 146 | engines: {node: '>=12'} 147 | cpu: [riscv64] 148 | os: [linux] 149 | requiresBuild: true 150 | dev: true 151 | optional: true 152 | 153 | /@esbuild/linux-s390x@0.18.20: 154 | resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==} 155 | engines: {node: '>=12'} 156 | cpu: [s390x] 157 | os: [linux] 158 | requiresBuild: true 159 | dev: true 160 | optional: true 161 | 162 | /@esbuild/linux-x64@0.18.20: 163 | resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==} 164 | engines: {node: '>=12'} 165 | cpu: [x64] 166 | os: [linux] 167 | requiresBuild: true 168 | dev: true 169 | optional: true 170 | 171 | /@esbuild/netbsd-x64@0.18.20: 172 | resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==} 173 | engines: {node: '>=12'} 174 | cpu: [x64] 175 | os: [netbsd] 176 | requiresBuild: true 177 | dev: true 178 | optional: true 179 | 180 | /@esbuild/openbsd-x64@0.18.20: 181 | resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==} 182 | engines: {node: '>=12'} 183 | cpu: [x64] 184 | os: [openbsd] 185 | requiresBuild: true 186 | dev: true 187 | optional: true 188 | 189 | /@esbuild/sunos-x64@0.18.20: 190 | resolution: {integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==} 191 | engines: {node: '>=12'} 192 | cpu: [x64] 193 | os: [sunos] 194 | requiresBuild: true 195 | dev: true 196 | optional: true 197 | 198 | /@esbuild/win32-arm64@0.18.20: 199 | resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==} 200 | engines: {node: '>=12'} 201 | cpu: [arm64] 202 | os: [win32] 203 | requiresBuild: true 204 | dev: true 205 | optional: true 206 | 207 | /@esbuild/win32-ia32@0.18.20: 208 | resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==} 209 | engines: {node: '>=12'} 210 | cpu: [ia32] 211 | os: [win32] 212 | requiresBuild: true 213 | dev: true 214 | optional: true 215 | 216 | /@esbuild/win32-x64@0.18.20: 217 | resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==} 218 | engines: {node: '>=12'} 219 | cpu: [x64] 220 | os: [win32] 221 | requiresBuild: true 222 | dev: true 223 | optional: true 224 | 225 | /@polka/url@1.0.0-next.21: 226 | resolution: {integrity: sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==} 227 | dev: true 228 | 229 | /@rollup/pluginutils@5.0.3: 230 | resolution: {integrity: sha512-hfllNN4a80rwNQ9QCxhxuHCGHMAvabXqxNdaChUSSadMre7t4iEUI6fFAhBOn/eIYTgYVhBv7vCLsAJ4u3lf3g==} 231 | engines: {node: '>=14.0.0'} 232 | peerDependencies: 233 | rollup: ^1.20.0||^2.0.0||^3.0.0 234 | peerDependenciesMeta: 235 | rollup: 236 | optional: true 237 | dependencies: 238 | '@types/estree': 1.0.1 239 | estree-walker: 2.0.2 240 | picomatch: 2.3.1 241 | dev: true 242 | 243 | /@types/estree@1.0.1: 244 | resolution: {integrity: sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==} 245 | dev: true 246 | 247 | /@types/node@14.18.55: 248 | resolution: {integrity: sha512-PiNZnJDie6lgSWfjWYcQ8KWrEHp0bGv1WgnQAUuaao/HpUBKNX+HXubScoMRdLXBuovbte0djGtsxiWScvlQUQ==} 249 | dev: true 250 | 251 | /big-integer@1.6.51: 252 | resolution: {integrity: sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==} 253 | engines: {node: '>=0.6'} 254 | dev: true 255 | 256 | /bplist-parser@0.2.0: 257 | resolution: {integrity: sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw==} 258 | engines: {node: '>= 5.10.0'} 259 | dependencies: 260 | big-integer: 1.6.51 261 | dev: true 262 | 263 | /bundle-name@3.0.0: 264 | resolution: {integrity: sha512-PKA4BeSvBpQKQ8iPOGCSiell+N8P+Tf1DlwqmYhpe2gAhKPHn8EYOxVT+ShuGmhg8lN8XiSlS80yiExKXrURlw==} 265 | engines: {node: '>=12'} 266 | dependencies: 267 | run-applescript: 5.0.0 268 | dev: true 269 | 270 | /cross-spawn@7.0.3: 271 | resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} 272 | engines: {node: '>= 8'} 273 | dependencies: 274 | path-key: 3.1.1 275 | shebang-command: 2.0.0 276 | which: 2.0.2 277 | dev: true 278 | 279 | /debug@4.3.4: 280 | resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} 281 | engines: {node: '>=6.0'} 282 | peerDependencies: 283 | supports-color: '*' 284 | peerDependenciesMeta: 285 | supports-color: 286 | optional: true 287 | dependencies: 288 | ms: 2.1.2 289 | dev: true 290 | 291 | /default-browser-id@3.0.0: 292 | resolution: {integrity: sha512-OZ1y3y0SqSICtE8DE4S8YOE9UZOJ8wO16fKWVP5J1Qz42kV9jcnMVFrEE/noXb/ss3Q4pZIH79kxofzyNNtUNA==} 293 | engines: {node: '>=12'} 294 | dependencies: 295 | bplist-parser: 0.2.0 296 | untildify: 4.0.0 297 | dev: true 298 | 299 | /default-browser@4.0.0: 300 | resolution: {integrity: sha512-wX5pXO1+BrhMkSbROFsyxUm0i/cJEScyNhA4PPxc41ICuv05ZZB/MX28s8aZx6xjmatvebIapF6hLEKEcpneUA==} 301 | engines: {node: '>=14.16'} 302 | dependencies: 303 | bundle-name: 3.0.0 304 | default-browser-id: 3.0.0 305 | execa: 7.2.0 306 | titleize: 3.0.0 307 | dev: true 308 | 309 | /define-lazy-prop@3.0.0: 310 | resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==} 311 | engines: {node: '>=12'} 312 | dev: true 313 | 314 | /error-stack-parser-es@0.1.1: 315 | resolution: {integrity: sha512-g/9rfnvnagiNf+DRMHEVGuGuIBlCIMDFoTA616HaP2l9PlCjGjVhD98PNbVSJvmK4TttqT5mV5tInMhoFgi+aA==} 316 | dev: true 317 | 318 | /esbuild@0.18.20: 319 | resolution: {integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==} 320 | engines: {node: '>=12'} 321 | hasBin: true 322 | requiresBuild: true 323 | optionalDependencies: 324 | '@esbuild/android-arm': 0.18.20 325 | '@esbuild/android-arm64': 0.18.20 326 | '@esbuild/android-x64': 0.18.20 327 | '@esbuild/darwin-arm64': 0.18.20 328 | '@esbuild/darwin-x64': 0.18.20 329 | '@esbuild/freebsd-arm64': 0.18.20 330 | '@esbuild/freebsd-x64': 0.18.20 331 | '@esbuild/linux-arm': 0.18.20 332 | '@esbuild/linux-arm64': 0.18.20 333 | '@esbuild/linux-ia32': 0.18.20 334 | '@esbuild/linux-loong64': 0.18.20 335 | '@esbuild/linux-mips64el': 0.18.20 336 | '@esbuild/linux-ppc64': 0.18.20 337 | '@esbuild/linux-riscv64': 0.18.20 338 | '@esbuild/linux-s390x': 0.18.20 339 | '@esbuild/linux-x64': 0.18.20 340 | '@esbuild/netbsd-x64': 0.18.20 341 | '@esbuild/openbsd-x64': 0.18.20 342 | '@esbuild/sunos-x64': 0.18.20 343 | '@esbuild/win32-arm64': 0.18.20 344 | '@esbuild/win32-ia32': 0.18.20 345 | '@esbuild/win32-x64': 0.18.20 346 | dev: true 347 | 348 | /estree-walker@2.0.2: 349 | resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} 350 | dev: true 351 | 352 | /execa@5.1.1: 353 | resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} 354 | engines: {node: '>=10'} 355 | dependencies: 356 | cross-spawn: 7.0.3 357 | get-stream: 6.0.1 358 | human-signals: 2.1.0 359 | is-stream: 2.0.1 360 | merge-stream: 2.0.0 361 | npm-run-path: 4.0.1 362 | onetime: 5.1.2 363 | signal-exit: 3.0.7 364 | strip-final-newline: 2.0.0 365 | dev: true 366 | 367 | /execa@7.2.0: 368 | resolution: {integrity: sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==} 369 | engines: {node: ^14.18.0 || ^16.14.0 || >=18.0.0} 370 | dependencies: 371 | cross-spawn: 7.0.3 372 | get-stream: 6.0.1 373 | human-signals: 4.3.1 374 | is-stream: 3.0.0 375 | merge-stream: 2.0.0 376 | npm-run-path: 5.1.0 377 | onetime: 6.0.0 378 | signal-exit: 3.0.7 379 | strip-final-newline: 3.0.0 380 | dev: true 381 | 382 | /fs-extra@11.1.1: 383 | resolution: {integrity: sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==} 384 | engines: {node: '>=14.14'} 385 | dependencies: 386 | graceful-fs: 4.2.11 387 | jsonfile: 6.1.0 388 | universalify: 2.0.0 389 | dev: true 390 | 391 | /fsevents@2.3.3: 392 | resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} 393 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 394 | os: [darwin] 395 | requiresBuild: true 396 | dev: true 397 | optional: true 398 | 399 | /get-stream@6.0.1: 400 | resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} 401 | engines: {node: '>=10'} 402 | dev: true 403 | 404 | /graceful-fs@4.2.11: 405 | resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} 406 | dev: true 407 | 408 | /human-signals@2.1.0: 409 | resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} 410 | engines: {node: '>=10.17.0'} 411 | dev: true 412 | 413 | /human-signals@4.3.1: 414 | resolution: {integrity: sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==} 415 | engines: {node: '>=14.18.0'} 416 | dev: true 417 | 418 | /is-docker@2.2.1: 419 | resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} 420 | engines: {node: '>=8'} 421 | hasBin: true 422 | dev: true 423 | 424 | /is-docker@3.0.0: 425 | resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==} 426 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 427 | hasBin: true 428 | dev: true 429 | 430 | /is-inside-container@1.0.0: 431 | resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==} 432 | engines: {node: '>=14.16'} 433 | hasBin: true 434 | dependencies: 435 | is-docker: 3.0.0 436 | dev: true 437 | 438 | /is-stream@2.0.1: 439 | resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} 440 | engines: {node: '>=8'} 441 | dev: true 442 | 443 | /is-stream@3.0.0: 444 | resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} 445 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 446 | dev: true 447 | 448 | /is-wsl@2.2.0: 449 | resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} 450 | engines: {node: '>=8'} 451 | dependencies: 452 | is-docker: 2.2.1 453 | dev: true 454 | 455 | /isexe@2.0.0: 456 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} 457 | dev: true 458 | 459 | /jsonfile@6.1.0: 460 | resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} 461 | dependencies: 462 | universalify: 2.0.0 463 | optionalDependencies: 464 | graceful-fs: 4.2.11 465 | dev: true 466 | 467 | /merge-stream@2.0.0: 468 | resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} 469 | dev: true 470 | 471 | /mimic-fn@2.1.0: 472 | resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} 473 | engines: {node: '>=6'} 474 | dev: true 475 | 476 | /mimic-fn@4.0.0: 477 | resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} 478 | engines: {node: '>=12'} 479 | dev: true 480 | 481 | /mrmime@1.0.1: 482 | resolution: {integrity: sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==} 483 | engines: {node: '>=10'} 484 | dev: true 485 | 486 | /ms@2.1.2: 487 | resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} 488 | dev: true 489 | 490 | /nanoid@3.3.6: 491 | resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==} 492 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} 493 | hasBin: true 494 | dev: true 495 | 496 | /npm-run-path@4.0.1: 497 | resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} 498 | engines: {node: '>=8'} 499 | dependencies: 500 | path-key: 3.1.1 501 | dev: true 502 | 503 | /npm-run-path@5.1.0: 504 | resolution: {integrity: sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==} 505 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 506 | dependencies: 507 | path-key: 4.0.0 508 | dev: true 509 | 510 | /onetime@5.1.2: 511 | resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} 512 | engines: {node: '>=6'} 513 | dependencies: 514 | mimic-fn: 2.1.0 515 | dev: true 516 | 517 | /onetime@6.0.0: 518 | resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} 519 | engines: {node: '>=12'} 520 | dependencies: 521 | mimic-fn: 4.0.0 522 | dev: true 523 | 524 | /open@9.1.0: 525 | resolution: {integrity: sha512-OS+QTnw1/4vrf+9hh1jc1jnYjzSG4ttTBB8UxOwAnInG3Uo4ssetzC1ihqaIHjLJnA5GGlRl6QlZXOTQhRBUvg==} 526 | engines: {node: '>=14.16'} 527 | dependencies: 528 | default-browser: 4.0.0 529 | define-lazy-prop: 3.0.0 530 | is-inside-container: 1.0.0 531 | is-wsl: 2.2.0 532 | dev: true 533 | 534 | /path-key@3.1.1: 535 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} 536 | engines: {node: '>=8'} 537 | dev: true 538 | 539 | /path-key@4.0.0: 540 | resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} 541 | engines: {node: '>=12'} 542 | dev: true 543 | 544 | /picocolors@1.0.0: 545 | resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} 546 | dev: true 547 | 548 | /picomatch@2.3.1: 549 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} 550 | engines: {node: '>=8.6'} 551 | dev: true 552 | 553 | /postcss@8.4.28: 554 | resolution: {integrity: sha512-Z7V5j0cq8oEKyejIKfpD8b4eBy9cwW2JWPk0+fB1HOAMsfHbnAXLLS+PfVWlzMSLQaWttKDt607I0XHmpE67Vw==} 555 | engines: {node: ^10 || ^12 || >=14} 556 | dependencies: 557 | nanoid: 3.3.6 558 | picocolors: 1.0.0 559 | source-map-js: 1.0.2 560 | dev: true 561 | 562 | /rollup@3.28.1: 563 | resolution: {integrity: sha512-R9OMQmIHJm9znrU3m3cpE8uhN0fGdXiawME7aZIpQqvpS/85+Vt1Hq1/yVIcYfOmaQiHjvXkQAoJukvLpau6Yw==} 564 | engines: {node: '>=14.18.0', npm: '>=8.0.0'} 565 | hasBin: true 566 | optionalDependencies: 567 | fsevents: 2.3.3 568 | dev: true 569 | 570 | /run-applescript@5.0.0: 571 | resolution: {integrity: sha512-XcT5rBksx1QdIhlFOCtgZkB99ZEouFZ1E2Kc2LHqNW13U3/74YGdkQRmThTwxy4QIyookibDKYZOPqX//6BlAg==} 572 | engines: {node: '>=12'} 573 | dependencies: 574 | execa: 5.1.1 575 | dev: true 576 | 577 | /shebang-command@2.0.0: 578 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} 579 | engines: {node: '>=8'} 580 | dependencies: 581 | shebang-regex: 3.0.0 582 | dev: true 583 | 584 | /shebang-regex@3.0.0: 585 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} 586 | engines: {node: '>=8'} 587 | dev: true 588 | 589 | /signal-exit@3.0.7: 590 | resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} 591 | dev: true 592 | 593 | /sirv@2.0.3: 594 | resolution: {integrity: sha512-O9jm9BsID1P+0HOi81VpXPoDxYP374pkOLzACAoyUQ/3OUVndNpsz6wMnY2z+yOxzbllCKZrM+9QrWsv4THnyA==} 595 | engines: {node: '>= 10'} 596 | dependencies: 597 | '@polka/url': 1.0.0-next.21 598 | mrmime: 1.0.1 599 | totalist: 3.0.1 600 | dev: true 601 | 602 | /source-map-js@1.0.2: 603 | resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} 604 | engines: {node: '>=0.10.0'} 605 | dev: true 606 | 607 | /strip-final-newline@2.0.0: 608 | resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} 609 | engines: {node: '>=6'} 610 | dev: true 611 | 612 | /strip-final-newline@3.0.0: 613 | resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} 614 | engines: {node: '>=12'} 615 | dev: true 616 | 617 | /titleize@3.0.0: 618 | resolution: {integrity: sha512-KxVu8EYHDPBdUYdKZdKtU2aj2XfEx9AfjXxE/Aj0vT06w2icA09Vus1rh6eSu1y01akYg6BjIK/hxyLJINoMLQ==} 619 | engines: {node: '>=12'} 620 | dev: true 621 | 622 | /totalist@3.0.1: 623 | resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} 624 | engines: {node: '>=6'} 625 | dev: true 626 | 627 | /typescript@5.1.6: 628 | resolution: {integrity: sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==} 629 | engines: {node: '>=14.17'} 630 | hasBin: true 631 | dev: true 632 | 633 | /universalify@2.0.0: 634 | resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} 635 | engines: {node: '>= 10.0.0'} 636 | dev: true 637 | 638 | /untildify@4.0.0: 639 | resolution: {integrity: sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==} 640 | engines: {node: '>=8'} 641 | dev: true 642 | 643 | /vite-plugin-inspect@0.7.38(vite@4.4.9): 644 | resolution: {integrity: sha512-+p6pJVtBOLGv+RBrcKAFUdx+euizg0bjL35HhPyM0MjtKlqoC5V9xkCmO9Ctc8JrTyXqODbHqiLWJKumu5zJ7g==} 645 | engines: {node: '>=14'} 646 | peerDependencies: 647 | '@nuxt/kit': '*' 648 | vite: ^3.1.0 || ^4.0.0 649 | peerDependenciesMeta: 650 | '@nuxt/kit': 651 | optional: true 652 | dependencies: 653 | '@antfu/utils': 0.7.6 654 | '@rollup/pluginutils': 5.0.3 655 | debug: 4.3.4 656 | error-stack-parser-es: 0.1.1 657 | fs-extra: 11.1.1 658 | open: 9.1.0 659 | picocolors: 1.0.0 660 | sirv: 2.0.3 661 | vite: 4.4.9(@types/node@14.18.55) 662 | transitivePeerDependencies: 663 | - rollup 664 | - supports-color 665 | dev: true 666 | 667 | /vite@4.4.9(@types/node@14.18.55): 668 | resolution: {integrity: sha512-2mbUn2LlUmNASWwSCNSJ/EG2HuSRTnVNaydp6vMCm5VIqJsjMfbIWtbH2kDuwUVW5mMUKKZvGPX/rqeqVvv1XA==} 669 | engines: {node: ^14.18.0 || >=16.0.0} 670 | hasBin: true 671 | peerDependencies: 672 | '@types/node': '>= 14' 673 | less: '*' 674 | lightningcss: ^1.21.0 675 | sass: '*' 676 | stylus: '*' 677 | sugarss: '*' 678 | terser: ^5.4.0 679 | peerDependenciesMeta: 680 | '@types/node': 681 | optional: true 682 | less: 683 | optional: true 684 | lightningcss: 685 | optional: true 686 | sass: 687 | optional: true 688 | stylus: 689 | optional: true 690 | sugarss: 691 | optional: true 692 | terser: 693 | optional: true 694 | dependencies: 695 | '@types/node': 14.18.55 696 | esbuild: 0.18.20 697 | postcss: 8.4.28 698 | rollup: 3.28.1 699 | optionalDependencies: 700 | fsevents: 2.3.3 701 | dev: true 702 | 703 | /which@2.0.2: 704 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} 705 | engines: {node: '>= 8'} 706 | hasBin: true 707 | dependencies: 708 | isexe: 2.0.0 709 | dev: true 710 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | GNU GENERAL PUBLIC LICENSE 2 | Version 3, 29 June 2007 3 | 4 | Copyright (C) 2007 Free Software Foundation, Inc. 5 | Everyone is permitted to copy and distribute verbatim copies 6 | of this license document, but changing it is not allowed. 7 | 8 | Preamble 9 | 10 | The GNU General Public License is a free, copyleft license for 11 | software and other kinds of works. 12 | 13 | The licenses for most software and other practical works are designed 14 | to take away your freedom to share and change the works. By contrast, 15 | the GNU General Public License is intended to guarantee your freedom to 16 | share and change all versions of a program--to make sure it remains free 17 | software for all its users. We, the Free Software Foundation, use the 18 | GNU General Public License for most of our software; it applies also to 19 | any other work released this way by its authors. You can apply it to 20 | your programs, too. 21 | 22 | When we speak of free software, we are referring to freedom, not 23 | price. Our General Public Licenses are designed to make sure that you 24 | have the freedom to distribute copies of free software (and charge for 25 | them if you wish), that you receive source code or can get it if you 26 | want it, that you can change the software or use pieces of it in new 27 | free programs, and that you know you can do these things. 28 | 29 | To protect your rights, we need to prevent others from denying you 30 | these rights or asking you to surrender the rights. Therefore, you have 31 | certain responsibilities if you distribute copies of the software, or if 32 | you modify it: responsibilities to respect the freedom of others. 33 | 34 | For example, if you distribute copies of such a program, whether 35 | gratis or for a fee, you must pass on to the recipients the same 36 | freedoms that you received. You must make sure that they, too, receive 37 | or can get the source code. And you must show them these terms so they 38 | know their rights. 39 | 40 | Developers that use the GNU GPL protect your rights with two steps: 41 | (1) assert copyright on the software, and (2) offer you this License 42 | giving you legal permission to copy, distribute and/or modify it. 43 | 44 | For the developers' and authors' protection, the GPL clearly explains 45 | that there is no warranty for this free software. For both users' and 46 | authors' sake, the GPL requires that modified versions be marked as 47 | changed, so that their problems will not be attributed erroneously to 48 | authors of previous versions. 49 | 50 | Some devices are designed to deny users access to install or run 51 | modified versions of the software inside them, although the manufacturer 52 | can do so. This is fundamentally incompatible with the aim of 53 | protecting users' freedom to change the software. The systematic 54 | pattern of such abuse occurs in the area of products for individuals to 55 | use, which is precisely where it is most unacceptable. Therefore, we 56 | have designed this version of the GPL to prohibit the practice for those 57 | products. If such problems arise substantially in other domains, we 58 | stand ready to extend this provision to those domains in future versions 59 | of the GPL, as needed to protect the freedom of users. 60 | 61 | Finally, every program is threatened constantly by software patents. 62 | States should not allow patents to restrict development and use of 63 | software on general-purpose computers, but in those that do, we wish to 64 | avoid the special danger that patents applied to a free program could 65 | make it effectively proprietary. To prevent this, the GPL assures that 66 | patents cannot be used to render the program non-free. 67 | 68 | The precise terms and conditions for copying, distribution and 69 | modification follow. 70 | 71 | TERMS AND CONDITIONS 72 | 73 | 0. Definitions. 74 | 75 | "This License" refers to version 3 of the GNU General Public License. 76 | 77 | "Copyright" also means copyright-like laws that apply to other kinds of 78 | works, such as semiconductor masks. 79 | 80 | "The Program" refers to any copyrightable work licensed under this 81 | License. Each licensee is addressed as "you". "Licensees" and 82 | "recipients" may be individuals or organizations. 83 | 84 | To "modify" a work means to copy from or adapt all or part of the work 85 | in a fashion requiring copyright permission, other than the making of an 86 | exact copy. The resulting work is called a "modified version" of the 87 | earlier work or a work "based on" the earlier work. 88 | 89 | A "covered work" means either the unmodified Program or a work based 90 | on the Program. 91 | 92 | To "propagate" a work means to do anything with it that, without 93 | permission, would make you directly or secondarily liable for 94 | infringement under applicable copyright law, except executing it on a 95 | computer or modifying a private copy. Propagation includes copying, 96 | distribution (with or without modification), making available to the 97 | public, and in some countries other activities as well. 98 | 99 | To "convey" a work means any kind of propagation that enables other 100 | parties to make or receive copies. Mere interaction with a user through 101 | a computer network, with no transfer of a copy, is not conveying. 102 | 103 | An interactive user interface displays "Appropriate Legal Notices" 104 | to the extent that it includes a convenient and prominently visible 105 | feature that (1) displays an appropriate copyright notice, and (2) 106 | tells the user that there is no warranty for the work (except to the 107 | extent that warranties are provided), that licensees may convey the 108 | work under this License, and how to view a copy of this License. If 109 | the interface presents a list of user commands or options, such as a 110 | menu, a prominent item in the list meets this criterion. 111 | 112 | 1. Source Code. 113 | 114 | The "source code" for a work means the preferred form of the work 115 | for making modifications to it. "Object code" means any non-source 116 | form of a work. 117 | 118 | A "Standard Interface" means an interface that either is an official 119 | standard defined by a recognized standards body, or, in the case of 120 | interfaces specified for a particular programming language, one that 121 | is widely used among developers working in that language. 122 | 123 | The "System Libraries" of an executable work include anything, other 124 | than the work as a whole, that (a) is included in the normal form of 125 | packaging a Major Component, but which is not part of that Major 126 | Component, and (b) serves only to enable use of the work with that 127 | Major Component, or to implement a Standard Interface for which an 128 | implementation is available to the public in source code form. A 129 | "Major Component", in this context, means a major essential component 130 | (kernel, window system, and so on) of the specific operating system 131 | (if any) on which the executable work runs, or a compiler used to 132 | produce the work, or an object code interpreter used to run it. 133 | 134 | The "Corresponding Source" for a work in object code form means all 135 | the source code needed to generate, install, and (for an executable 136 | work) run the object code and to modify the work, including scripts to 137 | control those activities. However, it does not include the work's 138 | System Libraries, or general-purpose tools or generally available free 139 | programs which are used unmodified in performing those activities but 140 | which are not part of the work. For example, Corresponding Source 141 | includes interface definition files associated with source files for 142 | the work, and the source code for shared libraries and dynamically 143 | linked subprograms that the work is specifically designed to require, 144 | such as by intimate data communication or control flow between those 145 | subprograms and other parts of the work. 146 | 147 | The Corresponding Source need not include anything that users 148 | can regenerate automatically from other parts of the Corresponding 149 | Source. 150 | 151 | The Corresponding Source for a work in source code form is that 152 | same work. 153 | 154 | 2. Basic Permissions. 155 | 156 | All rights granted under this License are granted for the term of 157 | copyright on the Program, and are irrevocable provided the stated 158 | conditions are met. This License explicitly affirms your unlimited 159 | permission to run the unmodified Program. The output from running a 160 | covered work is covered by this License only if the output, given its 161 | content, constitutes a covered work. This License acknowledges your 162 | rights of fair use or other equivalent, as provided by copyright law. 163 | 164 | You may make, run and propagate covered works that you do not 165 | convey, without conditions so long as your license otherwise remains 166 | in force. You may convey covered works to others for the sole purpose 167 | of having them make modifications exclusively for you, or provide you 168 | with facilities for running those works, provided that you comply with 169 | the terms of this License in conveying all material for which you do 170 | not control copyright. Those thus making or running the covered works 171 | for you must do so exclusively on your behalf, under your direction 172 | and control, on terms that prohibit them from making any copies of 173 | your copyrighted material outside their relationship with you. 174 | 175 | Conveying under any other circumstances is permitted solely under 176 | the conditions stated below. Sublicensing is not allowed; section 10 177 | makes it unnecessary. 178 | 179 | 3. Protecting Users' Legal Rights From Anti-Circumvention Law. 180 | 181 | No covered work shall be deemed part of an effective technological 182 | measure under any applicable law fulfilling obligations under article 183 | 11 of the WIPO copyright treaty adopted on 20 December 1996, or 184 | similar laws prohibiting or restricting circumvention of such 185 | measures. 186 | 187 | When you convey a covered work, you waive any legal power to forbid 188 | circumvention of technological measures to the extent such circumvention 189 | is effected by exercising rights under this License with respect to 190 | the covered work, and you disclaim any intention to limit operation or 191 | modification of the work as a means of enforcing, against the work's 192 | users, your or third parties' legal rights to forbid circumvention of 193 | technological measures. 194 | 195 | 4. Conveying Verbatim Copies. 196 | 197 | You may convey verbatim copies of the Program's source code as you 198 | receive it, in any medium, provided that you conspicuously and 199 | appropriately publish on each copy an appropriate copyright notice; 200 | keep intact all notices stating that this License and any 201 | non-permissive terms added in accord with section 7 apply to the code; 202 | keep intact all notices of the absence of any warranty; and give all 203 | recipients a copy of this License along with the Program. 204 | 205 | You may charge any price or no price for each copy that you convey, 206 | and you may offer support or warranty protection for a fee. 207 | 208 | 5. Conveying Modified Source Versions. 209 | 210 | You may convey a work based on the Program, or the modifications to 211 | produce it from the Program, in the form of source code under the 212 | terms of section 4, provided that you also meet all of these conditions: 213 | 214 | a) The work must carry prominent notices stating that you modified 215 | it, and giving a relevant date. 216 | 217 | b) The work must carry prominent notices stating that it is 218 | released under this License and any conditions added under section 219 | 7. This requirement modifies the requirement in section 4 to 220 | "keep intact all notices". 221 | 222 | c) You must license the entire work, as a whole, under this 223 | License to anyone who comes into possession of a copy. This 224 | License will therefore apply, along with any applicable section 7 225 | additional terms, to the whole of the work, and all its parts, 226 | regardless of how they are packaged. This License gives no 227 | permission to license the work in any other way, but it does not 228 | invalidate such permission if you have separately received it. 229 | 230 | d) If the work has interactive user interfaces, each must display 231 | Appropriate Legal Notices; however, if the Program has interactive 232 | interfaces that do not display Appropriate Legal Notices, your 233 | work need not make them do so. 234 | 235 | A compilation of a covered work with other separate and independent 236 | works, which are not by their nature extensions of the covered work, 237 | and which are not combined with it such as to form a larger program, 238 | in or on a volume of a storage or distribution medium, is called an 239 | "aggregate" if the compilation and its resulting copyright are not 240 | used to limit the access or legal rights of the compilation's users 241 | beyond what the individual works permit. Inclusion of a covered work 242 | in an aggregate does not cause this License to apply to the other 243 | parts of the aggregate. 244 | 245 | 6. Conveying Non-Source Forms. 246 | 247 | You may convey a covered work in object code form under the terms 248 | of sections 4 and 5, provided that you also convey the 249 | machine-readable Corresponding Source under the terms of this License, 250 | in one of these ways: 251 | 252 | a) Convey the object code in, or embodied in, a physical product 253 | (including a physical distribution medium), accompanied by the 254 | Corresponding Source fixed on a durable physical medium 255 | customarily used for software interchange. 256 | 257 | b) Convey the object code in, or embodied in, a physical product 258 | (including a physical distribution medium), accompanied by a 259 | written offer, valid for at least three years and valid for as 260 | long as you offer spare parts or customer support for that product 261 | model, to give anyone who possesses the object code either (1) a 262 | copy of the Corresponding Source for all the software in the 263 | product that is covered by this License, on a durable physical 264 | medium customarily used for software interchange, for a price no 265 | more than your reasonable cost of physically performing this 266 | conveying of source, or (2) access to copy the 267 | Corresponding Source from a network server at no charge. 268 | 269 | c) Convey individual copies of the object code with a copy of the 270 | written offer to provide the Corresponding Source. This 271 | alternative is allowed only occasionally and noncommercially, and 272 | only if you received the object code with such an offer, in accord 273 | with subsection 6b. 274 | 275 | d) Convey the object code by offering access from a designated 276 | place (gratis or for a charge), and offer equivalent access to the 277 | Corresponding Source in the same way through the same place at no 278 | further charge. You need not require recipients to copy the 279 | Corresponding Source along with the object code. If the place to 280 | copy the object code is a network server, the Corresponding Source 281 | may be on a different server (operated by you or a third party) 282 | that supports equivalent copying facilities, provided you maintain 283 | clear directions next to the object code saying where to find the 284 | Corresponding Source. Regardless of what server hosts the 285 | Corresponding Source, you remain obligated to ensure that it is 286 | available for as long as needed to satisfy these requirements. 287 | 288 | e) Convey the object code using peer-to-peer transmission, provided 289 | you inform other peers where the object code and Corresponding 290 | Source of the work are being offered to the general public at no 291 | charge under subsection 6d. 292 | 293 | A separable portion of the object code, whose source code is excluded 294 | from the Corresponding Source as a System Library, need not be 295 | included in conveying the object code work. 296 | 297 | A "User Product" is either (1) a "consumer product", which means any 298 | tangible personal property which is normally used for personal, family, 299 | or household purposes, or (2) anything designed or sold for incorporation 300 | into a dwelling. In determining whether a product is a consumer product, 301 | doubtful cases shall be resolved in favor of coverage. For a particular 302 | product received by a particular user, "normally used" refers to a 303 | typical or common use of that class of product, regardless of the status 304 | of the particular user or of the way in which the particular user 305 | actually uses, or expects or is expected to use, the product. A product 306 | is a consumer product regardless of whether the product has substantial 307 | commercial, industrial or non-consumer uses, unless such uses represent 308 | the only significant mode of use of the product. 309 | 310 | "Installation Information" for a User Product means any methods, 311 | procedures, authorization keys, or other information required to install 312 | and execute modified versions of a covered work in that User Product from 313 | a modified version of its Corresponding Source. The information must 314 | suffice to ensure that the continued functioning of the modified object 315 | code is in no case prevented or interfered with solely because 316 | modification has been made. 317 | 318 | If you convey an object code work under this section in, or with, or 319 | specifically for use in, a User Product, and the conveying occurs as 320 | part of a transaction in which the right of possession and use of the 321 | User Product is transferred to the recipient in perpetuity or for a 322 | fixed term (regardless of how the transaction is characterized), the 323 | Corresponding Source conveyed under this section must be accompanied 324 | by the Installation Information. But this requirement does not apply 325 | if neither you nor any third party retains the ability to install 326 | modified object code on the User Product (for example, the work has 327 | been installed in ROM). 328 | 329 | The requirement to provide Installation Information does not include a 330 | requirement to continue to provide support service, warranty, or updates 331 | for a work that has been modified or installed by the recipient, or for 332 | the User Product in which it has been modified or installed. Access to a 333 | network may be denied when the modification itself materially and 334 | adversely affects the operation of the network or violates the rules and 335 | protocols for communication across the network. 336 | 337 | Corresponding Source conveyed, and Installation Information provided, 338 | in accord with this section must be in a format that is publicly 339 | documented (and with an implementation available to the public in 340 | source code form), and must require no special password or key for 341 | unpacking, reading or copying. 342 | 343 | 7. Additional Terms. 344 | 345 | "Additional permissions" are terms that supplement the terms of this 346 | License by making exceptions from one or more of its conditions. 347 | Additional permissions that are applicable to the entire Program shall 348 | be treated as though they were included in this License, to the extent 349 | that they are valid under applicable law. If additional permissions 350 | apply only to part of the Program, that part may be used separately 351 | under those permissions, but the entire Program remains governed by 352 | this License without regard to the additional permissions. 353 | 354 | When you convey a copy of a covered work, you may at your option 355 | remove any additional permissions from that copy, or from any part of 356 | it. (Additional permissions may be written to require their own 357 | removal in certain cases when you modify the work.) You may place 358 | additional permissions on material, added by you to a covered work, 359 | for which you have or can give appropriate copyright permission. 360 | 361 | Notwithstanding any other provision of this License, for material you 362 | add to a covered work, you may (if authorized by the copyright holders of 363 | that material) supplement the terms of this License with terms: 364 | 365 | a) Disclaiming warranty or limiting liability differently from the 366 | terms of sections 15 and 16 of this License; or 367 | 368 | b) Requiring preservation of specified reasonable legal notices or 369 | author attributions in that material or in the Appropriate Legal 370 | Notices displayed by works containing it; or 371 | 372 | c) Prohibiting misrepresentation of the origin of that material, or 373 | requiring that modified versions of such material be marked in 374 | reasonable ways as different from the original version; or 375 | 376 | d) Limiting the use for publicity purposes of names of licensors or 377 | authors of the material; or 378 | 379 | e) Declining to grant rights under trademark law for use of some 380 | trade names, trademarks, or service marks; or 381 | 382 | f) Requiring indemnification of licensors and authors of that 383 | material by anyone who conveys the material (or modified versions of 384 | it) with contractual assumptions of liability to the recipient, for 385 | any liability that these contractual assumptions directly impose on 386 | those licensors and authors. 387 | 388 | All other non-permissive additional terms are considered "further 389 | restrictions" within the meaning of section 10. If the Program as you 390 | received it, or any part of it, contains a notice stating that it is 391 | governed by this License along with a term that is a further 392 | restriction, you may remove that term. If a license document contains 393 | a further restriction but permits relicensing or conveying under this 394 | License, you may add to a covered work material governed by the terms 395 | of that license document, provided that the further restriction does 396 | not survive such relicensing or conveying. 397 | 398 | If you add terms to a covered work in accord with this section, you 399 | must place, in the relevant source files, a statement of the 400 | additional terms that apply to those files, or a notice indicating 401 | where to find the applicable terms. 402 | 403 | Additional terms, permissive or non-permissive, may be stated in the 404 | form of a separately written license, or stated as exceptions; 405 | the above requirements apply either way. 406 | 407 | 8. Termination. 408 | 409 | You may not propagate or modify a covered work except as expressly 410 | provided under this License. Any attempt otherwise to propagate or 411 | modify it is void, and will automatically terminate your rights under 412 | this License (including any patent licenses granted under the third 413 | paragraph of section 11). 414 | 415 | However, if you cease all violation of this License, then your 416 | license from a particular copyright holder is reinstated (a) 417 | provisionally, unless and until the copyright holder explicitly and 418 | finally terminates your license, and (b) permanently, if the copyright 419 | holder fails to notify you of the violation by some reasonable means 420 | prior to 60 days after the cessation. 421 | 422 | Moreover, your license from a particular copyright holder is 423 | reinstated permanently if the copyright holder notifies you of the 424 | violation by some reasonable means, this is the first time you have 425 | received notice of violation of this License (for any work) from that 426 | copyright holder, and you cure the violation prior to 30 days after 427 | your receipt of the notice. 428 | 429 | Termination of your rights under this section does not terminate the 430 | licenses of parties who have received copies or rights from you under 431 | this License. If your rights have been terminated and not permanently 432 | reinstated, you do not qualify to receive new licenses for the same 433 | material under section 10. 434 | 435 | 9. Acceptance Not Required for Having Copies. 436 | 437 | You are not required to accept this License in order to receive or 438 | run a copy of the Program. Ancillary propagation of a covered work 439 | occurring solely as a consequence of using peer-to-peer transmission 440 | to receive a copy likewise does not require acceptance. However, 441 | nothing other than this License grants you permission to propagate or 442 | modify any covered work. These actions infringe copyright if you do 443 | not accept this License. Therefore, by modifying or propagating a 444 | covered work, you indicate your acceptance of this License to do so. 445 | 446 | 10. Automatic Licensing of Downstream Recipients. 447 | 448 | Each time you convey a covered work, the recipient automatically 449 | receives a license from the original licensors, to run, modify and 450 | propagate that work, subject to this License. You are not responsible 451 | for enforcing compliance by third parties with this License. 452 | 453 | An "entity transaction" is a transaction transferring control of an 454 | organization, or substantially all assets of one, or subdividing an 455 | organization, or merging organizations. If propagation of a covered 456 | work results from an entity transaction, each party to that 457 | transaction who receives a copy of the work also receives whatever 458 | licenses to the work the party's predecessor in interest had or could 459 | give under the previous paragraph, plus a right to possession of the 460 | Corresponding Source of the work from the predecessor in interest, if 461 | the predecessor has it or can get it with reasonable efforts. 462 | 463 | You may not impose any further restrictions on the exercise of the 464 | rights granted or affirmed under this License. For example, you may 465 | not impose a license fee, royalty, or other charge for exercise of 466 | rights granted under this License, and you may not initiate litigation 467 | (including a cross-claim or counterclaim in a lawsuit) alleging that 468 | any patent claim is infringed by making, using, selling, offering for 469 | sale, or importing the Program or any portion of it. 470 | 471 | 11. Patents. 472 | 473 | A "contributor" is a copyright holder who authorizes use under this 474 | License of the Program or a work on which the Program is based. The 475 | work thus licensed is called the contributor's "contributor version". 476 | 477 | A contributor's "essential patent claims" are all patent claims 478 | owned or controlled by the contributor, whether already acquired or 479 | hereafter acquired, that would be infringed by some manner, permitted 480 | by this License, of making, using, or selling its contributor version, 481 | but do not include claims that would be infringed only as a 482 | consequence of further modification of the contributor version. For 483 | purposes of this definition, "control" includes the right to grant 484 | patent sublicenses in a manner consistent with the requirements of 485 | this License. 486 | 487 | Each contributor grants you a non-exclusive, worldwide, royalty-free 488 | patent license under the contributor's essential patent claims, to 489 | make, use, sell, offer for sale, import and otherwise run, modify and 490 | propagate the contents of its contributor version. 491 | 492 | In the following three paragraphs, a "patent license" is any express 493 | agreement or commitment, however denominated, not to enforce a patent 494 | (such as an express permission to practice a patent or covenant not to 495 | sue for patent infringement). To "grant" such a patent license to a 496 | party means to make such an agreement or commitment not to enforce a 497 | patent against the party. 498 | 499 | If you convey a covered work, knowingly relying on a patent license, 500 | and the Corresponding Source of the work is not available for anyone 501 | to copy, free of charge and under the terms of this License, through a 502 | publicly available network server or other readily accessible means, 503 | then you must either (1) cause the Corresponding Source to be so 504 | available, or (2) arrange to deprive yourself of the benefit of the 505 | patent license for this particular work, or (3) arrange, in a manner 506 | consistent with the requirements of this License, to extend the patent 507 | license to downstream recipients. "Knowingly relying" means you have 508 | actual knowledge that, but for the patent license, your conveying the 509 | covered work in a country, or your recipient's use of the covered work 510 | in a country, would infringe one or more identifiable patents in that 511 | country that you have reason to believe are valid. 512 | 513 | If, pursuant to or in connection with a single transaction or 514 | arrangement, you convey, or propagate by procuring conveyance of, a 515 | covered work, and grant a patent license to some of the parties 516 | receiving the covered work authorizing them to use, propagate, modify 517 | or convey a specific copy of the covered work, then the patent license 518 | you grant is automatically extended to all recipients of the covered 519 | work and works based on it. 520 | 521 | A patent license is "discriminatory" if it does not include within 522 | the scope of its coverage, prohibits the exercise of, or is 523 | conditioned on the non-exercise of one or more of the rights that are 524 | specifically granted under this License. You may not convey a covered 525 | work if you are a party to an arrangement with a third party that is 526 | in the business of distributing software, under which you make payment 527 | to the third party based on the extent of your activity of conveying 528 | the work, and under which the third party grants, to any of the 529 | parties who would receive the covered work from you, a discriminatory 530 | patent license (a) in connection with copies of the covered work 531 | conveyed by you (or copies made from those copies), or (b) primarily 532 | for and in connection with specific products or compilations that 533 | contain the covered work, unless you entered into that arrangement, 534 | or that patent license was granted, prior to 28 March 2007. 535 | 536 | Nothing in this License shall be construed as excluding or limiting 537 | any implied license or other defenses to infringement that may 538 | otherwise be available to you under applicable patent law. 539 | 540 | 12. No Surrender of Others' Freedom. 541 | 542 | If conditions are imposed on you (whether by court order, agreement or 543 | otherwise) that contradict the conditions of this License, they do not 544 | excuse you from the conditions of this License. If you cannot convey a 545 | covered work so as to satisfy simultaneously your obligations under this 546 | License and any other pertinent obligations, then as a consequence you may 547 | not convey it at all. For example, if you agree to terms that obligate you 548 | to collect a royalty for further conveying from those to whom you convey 549 | the Program, the only way you could satisfy both those terms and this 550 | License would be to refrain entirely from conveying the Program. 551 | 552 | 13. Use with the GNU Affero General Public License. 553 | 554 | Notwithstanding any other provision of this License, you have 555 | permission to link or combine any covered work with a work licensed 556 | under version 3 of the GNU Affero General Public License into a single 557 | combined work, and to convey the resulting work. The terms of this 558 | License will continue to apply to the part which is the covered work, 559 | but the special requirements of the GNU Affero General Public License, 560 | section 13, concerning interaction through a network will apply to the 561 | combination as such. 562 | 563 | 14. Revised Versions of this License. 564 | 565 | The Free Software Foundation may publish revised and/or new versions of 566 | the GNU General Public License from time to time. Such new versions will 567 | be similar in spirit to the present version, but may differ in detail to 568 | address new problems or concerns. 569 | 570 | Each version is given a distinguishing version number. If the 571 | Program specifies that a certain numbered version of the GNU General 572 | Public License "or any later version" applies to it, you have the 573 | option of following the terms and conditions either of that numbered 574 | version or of any later version published by the Free Software 575 | Foundation. If the Program does not specify a version number of the 576 | GNU General Public License, you may choose any version ever published 577 | by the Free Software Foundation. 578 | 579 | If the Program specifies that a proxy can decide which future 580 | versions of the GNU General Public License can be used, that proxy's 581 | public statement of acceptance of a version permanently authorizes you 582 | to choose that version for the Program. 583 | 584 | Later license versions may give you additional or different 585 | permissions. However, no additional obligations are imposed on any 586 | author or copyright holder as a result of your choosing to follow a 587 | later version. 588 | 589 | 15. Disclaimer of Warranty. 590 | 591 | THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY 592 | APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT 593 | HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY 594 | OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, 595 | THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 596 | PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM 597 | IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF 598 | ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 599 | 600 | 16. Limitation of Liability. 601 | 602 | IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING 603 | WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS 604 | THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY 605 | GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE 606 | USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF 607 | DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD 608 | PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), 609 | EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF 610 | SUCH DAMAGES. 611 | 612 | 17. Interpretation of Sections 15 and 16. 613 | 614 | If the disclaimer of warranty and limitation of liability provided 615 | above cannot be given local legal effect according to their terms, 616 | reviewing courts shall apply local law that most closely approximates 617 | an absolute waiver of all civil liability in connection with the 618 | Program, unless a warranty or assumption of liability accompanies a 619 | copy of the Program in return for a fee. 620 | 621 | END OF TERMS AND CONDITIONS 622 | 623 | How to Apply These Terms to Your New Programs 624 | 625 | If you develop a new program, and you want it to be of the greatest 626 | possible use to the public, the best way to achieve this is to make it 627 | free software which everyone can redistribute and change under these terms. 628 | 629 | To do so, attach the following notices to the program. It is safest 630 | to attach them to the start of each source file to most effectively 631 | state the exclusion of warranty; and each file should have at least 632 | the "copyright" line and a pointer to where the full notice is found. 633 | 634 | 635 | Copyright (C) 636 | 637 | This program is free software: you can redistribute it and/or modify 638 | it under the terms of the GNU General Public License as published by 639 | the Free Software Foundation, either version 3 of the License, or 640 | (at your option) any later version. 641 | 642 | This program is distributed in the hope that it will be useful, 643 | but WITHOUT ANY WARRANTY; without even the implied warranty of 644 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 645 | GNU General Public License for more details. 646 | 647 | You should have received a copy of the GNU General Public License 648 | along with this program. If not, see . 649 | 650 | Also add information on how to contact you by electronic and paper mail. 651 | 652 | If the program does terminal interaction, make it output a short 653 | notice like this when it starts in an interactive mode: 654 | 655 | Copyright (C) 656 | This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. 657 | This is free software, and you are welcome to redistribute it 658 | under certain conditions; type `show c' for details. 659 | 660 | The hypothetical commands `show w' and `show c' should show the appropriate 661 | parts of the General Public License. Of course, your program's commands 662 | might be different; for a GUI interface, you would use an "about box". 663 | 664 | You should also get your employer (if you work as a programmer) or school, 665 | if any, to sign a "copyright disclaimer" for the program, if necessary. 666 | For more information on this, and how to apply and follow the GNU GPL, see 667 | . 668 | 669 | The GNU General Public License does not permit incorporating your program 670 | into proprietary programs. If your program is a subroutine library, you 671 | may consider it more useful to permit linking proprietary applications with 672 | the library. If this is what you want to do, use the GNU Lesser General 673 | Public License instead of this License. But first, please read 674 | . 675 | -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: '6.1' 2 | 3 | settings: 4 | autoInstallPeers: true 5 | excludeLinksFromLockfile: false 6 | 7 | dependencies: 8 | mime-types: 9 | specifier: ^2.1.35 10 | version: 2.1.35 11 | 12 | devDependencies: 13 | '@antfu/eslint-config': 14 | specifier: ^0.40.3 15 | version: 0.40.3(eslint@8.47.0)(typescript@5.1.6) 16 | '@types/mime-types': 17 | specifier: ^2.1.1 18 | version: 2.1.1 19 | '@vitest/coverage-v8': 20 | specifier: ^0.34.2 21 | version: 0.34.2(vitest@0.34.2) 22 | c8: 23 | specifier: ^8.0.1 24 | version: 8.0.1 25 | eslint: 26 | specifier: ^8.47.0 27 | version: 8.47.0 28 | rollup: 29 | specifier: ^3.28.1 30 | version: 3.28.1 31 | tsup: 32 | specifier: ^7.2.0 33 | version: 7.2.0(typescript@5.1.6) 34 | typescript: 35 | specifier: ^5.1.6 36 | version: 5.1.6 37 | vite: 38 | specifier: ^4.4.9 39 | version: 4.4.9(@types/node@20.5.3) 40 | vitest: 41 | specifier: ^0.34.2 42 | version: 0.34.2 43 | 44 | packages: 45 | 46 | /@aashutoshrathi/word-wrap@1.2.6: 47 | resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} 48 | engines: {node: '>=0.10.0'} 49 | dev: true 50 | 51 | /@ampproject/remapping@2.2.1: 52 | resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==} 53 | engines: {node: '>=6.0.0'} 54 | dependencies: 55 | '@jridgewell/gen-mapping': 0.3.3 56 | '@jridgewell/trace-mapping': 0.3.19 57 | dev: true 58 | 59 | /@antfu/eslint-config-basic@0.40.3(@typescript-eslint/eslint-plugin@6.4.1)(@typescript-eslint/parser@6.4.1)(eslint@8.47.0)(typescript@5.1.6): 60 | resolution: {integrity: sha512-FTHSrk38f7kENYJNxehVS0qLqDFwzqJxExxtc1p8ZZIdGZ2CTWj+uN/mQ7wD2f8bsHGiTK4uT0h1y82cbkKYUg==} 61 | peerDependencies: 62 | eslint: '>=7.4.0' 63 | dependencies: 64 | eslint: 8.47.0 65 | eslint-plugin-antfu: 0.40.3(eslint@8.47.0)(typescript@5.1.6) 66 | eslint-plugin-eslint-comments: 3.2.0(eslint@8.47.0) 67 | eslint-plugin-html: 7.1.0 68 | eslint-plugin-import: /eslint-plugin-i@2.28.0-2(@typescript-eslint/parser@6.4.1)(eslint@8.47.0) 69 | eslint-plugin-jsonc: 2.9.0(eslint@8.47.0) 70 | eslint-plugin-markdown: 3.0.1(eslint@8.47.0) 71 | eslint-plugin-n: 16.0.2(eslint@8.47.0) 72 | eslint-plugin-no-only-tests: 3.1.0 73 | eslint-plugin-promise: 6.1.1(eslint@8.47.0) 74 | eslint-plugin-unicorn: 48.0.1(eslint@8.47.0) 75 | eslint-plugin-unused-imports: 3.0.0(@typescript-eslint/eslint-plugin@6.4.1)(eslint@8.47.0) 76 | eslint-plugin-yml: 1.8.0(eslint@8.47.0) 77 | jsonc-eslint-parser: 2.3.0 78 | yaml-eslint-parser: 1.2.2 79 | transitivePeerDependencies: 80 | - '@typescript-eslint/eslint-plugin' 81 | - '@typescript-eslint/parser' 82 | - eslint-import-resolver-typescript 83 | - eslint-import-resolver-webpack 84 | - supports-color 85 | - typescript 86 | dev: true 87 | 88 | /@antfu/eslint-config-ts@0.40.3(eslint@8.47.0)(typescript@5.1.6): 89 | resolution: {integrity: sha512-D3TYI4aI3UgaQGZpk/WUMMLVwm3gZwTU5ijrkETRkp5MsXWD5ftbYxmga9BbFu0IZEZZT3o++XMRZ/Ny7vX95g==} 90 | peerDependencies: 91 | eslint: '>=7.4.0' 92 | typescript: '>=3.9' 93 | dependencies: 94 | '@antfu/eslint-config-basic': 0.40.3(@typescript-eslint/eslint-plugin@6.4.1)(@typescript-eslint/parser@6.4.1)(eslint@8.47.0)(typescript@5.1.6) 95 | '@typescript-eslint/eslint-plugin': 6.4.1(@typescript-eslint/parser@6.4.1)(eslint@8.47.0)(typescript@5.1.6) 96 | '@typescript-eslint/parser': 6.4.1(eslint@8.47.0)(typescript@5.1.6) 97 | eslint: 8.47.0 98 | eslint-plugin-jest: 27.2.3(@typescript-eslint/eslint-plugin@6.4.1)(eslint@8.47.0)(typescript@5.1.6) 99 | typescript: 5.1.6 100 | transitivePeerDependencies: 101 | - eslint-import-resolver-typescript 102 | - eslint-import-resolver-webpack 103 | - jest 104 | - supports-color 105 | dev: true 106 | 107 | /@antfu/eslint-config-vue@0.40.3(@typescript-eslint/eslint-plugin@6.4.1)(@typescript-eslint/parser@6.4.1)(eslint@8.47.0)(typescript@5.1.6): 108 | resolution: {integrity: sha512-DgcxSg+c7RymN5JYdnE4OcyuSOJ84KiYcY8jbv1kXcnuMM2Kk/eydBZAcRNbdGw/m5+Jepu/3a1W8KUQLXLwyQ==} 109 | peerDependencies: 110 | eslint: '>=7.4.0' 111 | dependencies: 112 | '@antfu/eslint-config-basic': 0.40.3(@typescript-eslint/eslint-plugin@6.4.1)(@typescript-eslint/parser@6.4.1)(eslint@8.47.0)(typescript@5.1.6) 113 | '@antfu/eslint-config-ts': 0.40.3(eslint@8.47.0)(typescript@5.1.6) 114 | eslint: 8.47.0 115 | eslint-plugin-vue: 9.17.0(eslint@8.47.0) 116 | local-pkg: 0.4.3 117 | transitivePeerDependencies: 118 | - '@typescript-eslint/eslint-plugin' 119 | - '@typescript-eslint/parser' 120 | - eslint-import-resolver-typescript 121 | - eslint-import-resolver-webpack 122 | - jest 123 | - supports-color 124 | - typescript 125 | dev: true 126 | 127 | /@antfu/eslint-config@0.40.3(eslint@8.47.0)(typescript@5.1.6): 128 | resolution: {integrity: sha512-eNqVL7sgRSXnphcOedbuWoZ+Igk5Q3n6Mca3wu/63EtyDf6kNiZ6Ye6oh7iFJnfLkkm1ChyWa+UGL5LHgCSUqQ==} 129 | peerDependencies: 130 | eslint: '>=7.4.0' 131 | dependencies: 132 | '@antfu/eslint-config-vue': 0.40.3(@typescript-eslint/eslint-plugin@6.4.1)(@typescript-eslint/parser@6.4.1)(eslint@8.47.0)(typescript@5.1.6) 133 | '@typescript-eslint/eslint-plugin': 6.4.1(@typescript-eslint/parser@6.4.1)(eslint@8.47.0)(typescript@5.1.6) 134 | '@typescript-eslint/parser': 6.4.1(eslint@8.47.0)(typescript@5.1.6) 135 | eslint: 8.47.0 136 | eslint-plugin-eslint-comments: 3.2.0(eslint@8.47.0) 137 | eslint-plugin-html: 7.1.0 138 | eslint-plugin-import: /eslint-plugin-i@2.28.0-2(@typescript-eslint/parser@6.4.1)(eslint@8.47.0) 139 | eslint-plugin-jsonc: 2.9.0(eslint@8.47.0) 140 | eslint-plugin-n: 16.0.2(eslint@8.47.0) 141 | eslint-plugin-promise: 6.1.1(eslint@8.47.0) 142 | eslint-plugin-unicorn: 48.0.1(eslint@8.47.0) 143 | eslint-plugin-vue: 9.17.0(eslint@8.47.0) 144 | eslint-plugin-yml: 1.8.0(eslint@8.47.0) 145 | jsonc-eslint-parser: 2.3.0 146 | yaml-eslint-parser: 1.2.2 147 | transitivePeerDependencies: 148 | - eslint-import-resolver-typescript 149 | - eslint-import-resolver-webpack 150 | - jest 151 | - supports-color 152 | - typescript 153 | dev: true 154 | 155 | /@babel/code-frame@7.22.10: 156 | resolution: {integrity: sha512-/KKIMG4UEL35WmI9OlvMhurwtytjvXoFcGNrOvyG9zIzA8YmPjVtIZUf7b05+TPO7G7/GEmLHDaoCgACHl9hhA==} 157 | engines: {node: '>=6.9.0'} 158 | dependencies: 159 | '@babel/highlight': 7.22.10 160 | chalk: 2.4.2 161 | dev: true 162 | 163 | /@babel/helper-validator-identifier@7.22.5: 164 | resolution: {integrity: sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==} 165 | engines: {node: '>=6.9.0'} 166 | dev: true 167 | 168 | /@babel/highlight@7.22.10: 169 | resolution: {integrity: sha512-78aUtVcT7MUscr0K5mIEnkwxPE0MaxkR5RxRwuHaQ+JuU5AmTPhY+do2mdzVTnIJJpyBglql2pehuBIWHug+WQ==} 170 | engines: {node: '>=6.9.0'} 171 | dependencies: 172 | '@babel/helper-validator-identifier': 7.22.5 173 | chalk: 2.4.2 174 | js-tokens: 4.0.0 175 | dev: true 176 | 177 | /@bcoe/v8-coverage@0.2.3: 178 | resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} 179 | dev: true 180 | 181 | /@esbuild/android-arm64@0.18.20: 182 | resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==} 183 | engines: {node: '>=12'} 184 | cpu: [arm64] 185 | os: [android] 186 | requiresBuild: true 187 | dev: true 188 | optional: true 189 | 190 | /@esbuild/android-arm@0.18.20: 191 | resolution: {integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==} 192 | engines: {node: '>=12'} 193 | cpu: [arm] 194 | os: [android] 195 | requiresBuild: true 196 | dev: true 197 | optional: true 198 | 199 | /@esbuild/android-x64@0.18.20: 200 | resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==} 201 | engines: {node: '>=12'} 202 | cpu: [x64] 203 | os: [android] 204 | requiresBuild: true 205 | dev: true 206 | optional: true 207 | 208 | /@esbuild/darwin-arm64@0.18.20: 209 | resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==} 210 | engines: {node: '>=12'} 211 | cpu: [arm64] 212 | os: [darwin] 213 | requiresBuild: true 214 | dev: true 215 | optional: true 216 | 217 | /@esbuild/darwin-x64@0.18.20: 218 | resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==} 219 | engines: {node: '>=12'} 220 | cpu: [x64] 221 | os: [darwin] 222 | requiresBuild: true 223 | dev: true 224 | optional: true 225 | 226 | /@esbuild/freebsd-arm64@0.18.20: 227 | resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==} 228 | engines: {node: '>=12'} 229 | cpu: [arm64] 230 | os: [freebsd] 231 | requiresBuild: true 232 | dev: true 233 | optional: true 234 | 235 | /@esbuild/freebsd-x64@0.18.20: 236 | resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==} 237 | engines: {node: '>=12'} 238 | cpu: [x64] 239 | os: [freebsd] 240 | requiresBuild: true 241 | dev: true 242 | optional: true 243 | 244 | /@esbuild/linux-arm64@0.18.20: 245 | resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==} 246 | engines: {node: '>=12'} 247 | cpu: [arm64] 248 | os: [linux] 249 | requiresBuild: true 250 | dev: true 251 | optional: true 252 | 253 | /@esbuild/linux-arm@0.18.20: 254 | resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==} 255 | engines: {node: '>=12'} 256 | cpu: [arm] 257 | os: [linux] 258 | requiresBuild: true 259 | dev: true 260 | optional: true 261 | 262 | /@esbuild/linux-ia32@0.18.20: 263 | resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==} 264 | engines: {node: '>=12'} 265 | cpu: [ia32] 266 | os: [linux] 267 | requiresBuild: true 268 | dev: true 269 | optional: true 270 | 271 | /@esbuild/linux-loong64@0.18.20: 272 | resolution: {integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==} 273 | engines: {node: '>=12'} 274 | cpu: [loong64] 275 | os: [linux] 276 | requiresBuild: true 277 | dev: true 278 | optional: true 279 | 280 | /@esbuild/linux-mips64el@0.18.20: 281 | resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==} 282 | engines: {node: '>=12'} 283 | cpu: [mips64el] 284 | os: [linux] 285 | requiresBuild: true 286 | dev: true 287 | optional: true 288 | 289 | /@esbuild/linux-ppc64@0.18.20: 290 | resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==} 291 | engines: {node: '>=12'} 292 | cpu: [ppc64] 293 | os: [linux] 294 | requiresBuild: true 295 | dev: true 296 | optional: true 297 | 298 | /@esbuild/linux-riscv64@0.18.20: 299 | resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==} 300 | engines: {node: '>=12'} 301 | cpu: [riscv64] 302 | os: [linux] 303 | requiresBuild: true 304 | dev: true 305 | optional: true 306 | 307 | /@esbuild/linux-s390x@0.18.20: 308 | resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==} 309 | engines: {node: '>=12'} 310 | cpu: [s390x] 311 | os: [linux] 312 | requiresBuild: true 313 | dev: true 314 | optional: true 315 | 316 | /@esbuild/linux-x64@0.18.20: 317 | resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==} 318 | engines: {node: '>=12'} 319 | cpu: [x64] 320 | os: [linux] 321 | requiresBuild: true 322 | dev: true 323 | optional: true 324 | 325 | /@esbuild/netbsd-x64@0.18.20: 326 | resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==} 327 | engines: {node: '>=12'} 328 | cpu: [x64] 329 | os: [netbsd] 330 | requiresBuild: true 331 | dev: true 332 | optional: true 333 | 334 | /@esbuild/openbsd-x64@0.18.20: 335 | resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==} 336 | engines: {node: '>=12'} 337 | cpu: [x64] 338 | os: [openbsd] 339 | requiresBuild: true 340 | dev: true 341 | optional: true 342 | 343 | /@esbuild/sunos-x64@0.18.20: 344 | resolution: {integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==} 345 | engines: {node: '>=12'} 346 | cpu: [x64] 347 | os: [sunos] 348 | requiresBuild: true 349 | dev: true 350 | optional: true 351 | 352 | /@esbuild/win32-arm64@0.18.20: 353 | resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==} 354 | engines: {node: '>=12'} 355 | cpu: [arm64] 356 | os: [win32] 357 | requiresBuild: true 358 | dev: true 359 | optional: true 360 | 361 | /@esbuild/win32-ia32@0.18.20: 362 | resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==} 363 | engines: {node: '>=12'} 364 | cpu: [ia32] 365 | os: [win32] 366 | requiresBuild: true 367 | dev: true 368 | optional: true 369 | 370 | /@esbuild/win32-x64@0.18.20: 371 | resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==} 372 | engines: {node: '>=12'} 373 | cpu: [x64] 374 | os: [win32] 375 | requiresBuild: true 376 | dev: true 377 | optional: true 378 | 379 | /@eslint-community/eslint-utils@4.4.0(eslint@8.47.0): 380 | resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} 381 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 382 | peerDependencies: 383 | eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 384 | dependencies: 385 | eslint: 8.47.0 386 | eslint-visitor-keys: 3.4.3 387 | dev: true 388 | 389 | /@eslint-community/regexpp@4.7.0: 390 | resolution: {integrity: sha512-+HencqxU7CFJnQb7IKtuNBqS6Yx3Tz4kOL8BJXo+JyeiBm5MEX6pO8onXDkjrkCRlfYXS1Axro15ZjVFe9YgsA==} 391 | engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} 392 | dev: true 393 | 394 | /@eslint/eslintrc@2.1.2: 395 | resolution: {integrity: sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==} 396 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 397 | dependencies: 398 | ajv: 6.12.6 399 | debug: 4.3.4 400 | espree: 9.6.1 401 | globals: 13.21.0 402 | ignore: 5.2.4 403 | import-fresh: 3.3.0 404 | js-yaml: 4.1.0 405 | minimatch: 3.1.2 406 | strip-json-comments: 3.1.1 407 | transitivePeerDependencies: 408 | - supports-color 409 | dev: true 410 | 411 | /@eslint/js@8.47.0: 412 | resolution: {integrity: sha512-P6omY1zv5MItm93kLM8s2vr1HICJH8v0dvddDhysbIuZ+vcjOHg5Zbkf1mTkcmi2JA9oBG2anOkRnW8WJTS8Og==} 413 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 414 | dev: true 415 | 416 | /@humanwhocodes/config-array@0.11.10: 417 | resolution: {integrity: sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==} 418 | engines: {node: '>=10.10.0'} 419 | dependencies: 420 | '@humanwhocodes/object-schema': 1.2.1 421 | debug: 4.3.4 422 | minimatch: 3.1.2 423 | transitivePeerDependencies: 424 | - supports-color 425 | dev: true 426 | 427 | /@humanwhocodes/module-importer@1.0.1: 428 | resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} 429 | engines: {node: '>=12.22'} 430 | dev: true 431 | 432 | /@humanwhocodes/object-schema@1.2.1: 433 | resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} 434 | dev: true 435 | 436 | /@istanbuljs/schema@0.1.3: 437 | resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} 438 | engines: {node: '>=8'} 439 | dev: true 440 | 441 | /@jest/schemas@29.6.3: 442 | resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} 443 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 444 | dependencies: 445 | '@sinclair/typebox': 0.27.8 446 | dev: true 447 | 448 | /@jridgewell/gen-mapping@0.3.3: 449 | resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==} 450 | engines: {node: '>=6.0.0'} 451 | dependencies: 452 | '@jridgewell/set-array': 1.1.2 453 | '@jridgewell/sourcemap-codec': 1.4.15 454 | '@jridgewell/trace-mapping': 0.3.19 455 | dev: true 456 | 457 | /@jridgewell/resolve-uri@3.1.1: 458 | resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==} 459 | engines: {node: '>=6.0.0'} 460 | dev: true 461 | 462 | /@jridgewell/set-array@1.1.2: 463 | resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} 464 | engines: {node: '>=6.0.0'} 465 | dev: true 466 | 467 | /@jridgewell/sourcemap-codec@1.4.15: 468 | resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} 469 | dev: true 470 | 471 | /@jridgewell/trace-mapping@0.3.19: 472 | resolution: {integrity: sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==} 473 | dependencies: 474 | '@jridgewell/resolve-uri': 3.1.1 475 | '@jridgewell/sourcemap-codec': 1.4.15 476 | dev: true 477 | 478 | /@nodelib/fs.scandir@2.1.5: 479 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} 480 | engines: {node: '>= 8'} 481 | dependencies: 482 | '@nodelib/fs.stat': 2.0.5 483 | run-parallel: 1.2.0 484 | dev: true 485 | 486 | /@nodelib/fs.stat@2.0.5: 487 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} 488 | engines: {node: '>= 8'} 489 | dev: true 490 | 491 | /@nodelib/fs.walk@1.2.8: 492 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} 493 | engines: {node: '>= 8'} 494 | dependencies: 495 | '@nodelib/fs.scandir': 2.1.5 496 | fastq: 1.15.0 497 | dev: true 498 | 499 | /@sinclair/typebox@0.27.8: 500 | resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} 501 | dev: true 502 | 503 | /@types/chai-subset@1.3.3: 504 | resolution: {integrity: sha512-frBecisrNGz+F4T6bcc+NLeolfiojh5FxW2klu669+8BARtyQv2C/GkNW6FUodVe4BroGMP/wER/YDGc7rEllw==} 505 | dependencies: 506 | '@types/chai': 4.3.5 507 | dev: true 508 | 509 | /@types/chai@4.3.5: 510 | resolution: {integrity: sha512-mEo1sAde+UCE6b2hxn332f1g1E8WfYRu6p5SvTKr2ZKC1f7gFJXk4h5PyGP9Dt6gCaG8y8XhwnXWC6Iy2cmBng==} 511 | dev: true 512 | 513 | /@types/istanbul-lib-coverage@2.0.4: 514 | resolution: {integrity: sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==} 515 | dev: true 516 | 517 | /@types/json-schema@7.0.12: 518 | resolution: {integrity: sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==} 519 | dev: true 520 | 521 | /@types/mdast@3.0.12: 522 | resolution: {integrity: sha512-DT+iNIRNX884cx0/Q1ja7NyUPpZuv0KPyL5rGNxm1WC1OtHstl7n4Jb7nk+xacNShQMbczJjt8uFzznpp6kYBg==} 523 | dependencies: 524 | '@types/unist': 2.0.7 525 | dev: true 526 | 527 | /@types/mime-types@2.1.1: 528 | resolution: {integrity: sha512-vXOTGVSLR2jMw440moWTC7H19iUyLtP3Z1YTj7cSsubOICinjMxFeb/V57v9QdyyPGbbWolUFSSmSiRSn94tFw==} 529 | dev: true 530 | 531 | /@types/node@20.5.3: 532 | resolution: {integrity: sha512-ITI7rbWczR8a/S6qjAW7DMqxqFMjjTo61qZVWJ1ubPvbIQsL5D/TvwjYEalM8Kthpe3hTzOGrF2TGbAu2uyqeA==} 533 | dev: true 534 | 535 | /@types/normalize-package-data@2.4.1: 536 | resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==} 537 | dev: true 538 | 539 | /@types/semver@7.5.0: 540 | resolution: {integrity: sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==} 541 | dev: true 542 | 543 | /@types/unist@2.0.7: 544 | resolution: {integrity: sha512-cputDpIbFgLUaGQn6Vqg3/YsJwxUwHLO13v3i5ouxT4lat0khip9AEWxtERujXV9wxIB1EyF97BSJFt6vpdI8g==} 545 | dev: true 546 | 547 | /@typescript-eslint/eslint-plugin@6.4.1(@typescript-eslint/parser@6.4.1)(eslint@8.47.0)(typescript@5.1.6): 548 | resolution: {integrity: sha512-3F5PtBzUW0dYlq77Lcqo13fv+58KDwUib3BddilE8ajPJT+faGgxmI9Sw+I8ZS22BYwoir9ZhNXcLi+S+I2bkw==} 549 | engines: {node: ^16.0.0 || >=18.0.0} 550 | peerDependencies: 551 | '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha 552 | eslint: ^7.0.0 || ^8.0.0 553 | typescript: '*' 554 | peerDependenciesMeta: 555 | typescript: 556 | optional: true 557 | dependencies: 558 | '@eslint-community/regexpp': 4.7.0 559 | '@typescript-eslint/parser': 6.4.1(eslint@8.47.0)(typescript@5.1.6) 560 | '@typescript-eslint/scope-manager': 6.4.1 561 | '@typescript-eslint/type-utils': 6.4.1(eslint@8.47.0)(typescript@5.1.6) 562 | '@typescript-eslint/utils': 6.4.1(eslint@8.47.0)(typescript@5.1.6) 563 | '@typescript-eslint/visitor-keys': 6.4.1 564 | debug: 4.3.4 565 | eslint: 8.47.0 566 | graphemer: 1.4.0 567 | ignore: 5.2.4 568 | natural-compare: 1.4.0 569 | semver: 7.5.4 570 | ts-api-utils: 1.0.2(typescript@5.1.6) 571 | typescript: 5.1.6 572 | transitivePeerDependencies: 573 | - supports-color 574 | dev: true 575 | 576 | /@typescript-eslint/parser@6.4.1(eslint@8.47.0)(typescript@5.1.6): 577 | resolution: {integrity: sha512-610G6KHymg9V7EqOaNBMtD1GgpAmGROsmfHJPXNLCU9bfIuLrkdOygltK784F6Crboyd5tBFayPB7Sf0McrQwg==} 578 | engines: {node: ^16.0.0 || >=18.0.0} 579 | peerDependencies: 580 | eslint: ^7.0.0 || ^8.0.0 581 | typescript: '*' 582 | peerDependenciesMeta: 583 | typescript: 584 | optional: true 585 | dependencies: 586 | '@typescript-eslint/scope-manager': 6.4.1 587 | '@typescript-eslint/types': 6.4.1 588 | '@typescript-eslint/typescript-estree': 6.4.1(typescript@5.1.6) 589 | '@typescript-eslint/visitor-keys': 6.4.1 590 | debug: 4.3.4 591 | eslint: 8.47.0 592 | typescript: 5.1.6 593 | transitivePeerDependencies: 594 | - supports-color 595 | dev: true 596 | 597 | /@typescript-eslint/scope-manager@5.62.0: 598 | resolution: {integrity: sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==} 599 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 600 | dependencies: 601 | '@typescript-eslint/types': 5.62.0 602 | '@typescript-eslint/visitor-keys': 5.62.0 603 | dev: true 604 | 605 | /@typescript-eslint/scope-manager@6.4.1: 606 | resolution: {integrity: sha512-p/OavqOQfm4/Hdrr7kvacOSFjwQ2rrDVJRPxt/o0TOWdFnjJptnjnZ+sYDR7fi4OimvIuKp+2LCkc+rt9fIW+A==} 607 | engines: {node: ^16.0.0 || >=18.0.0} 608 | dependencies: 609 | '@typescript-eslint/types': 6.4.1 610 | '@typescript-eslint/visitor-keys': 6.4.1 611 | dev: true 612 | 613 | /@typescript-eslint/type-utils@6.4.1(eslint@8.47.0)(typescript@5.1.6): 614 | resolution: {integrity: sha512-7ON8M8NXh73SGZ5XvIqWHjgX2f+vvaOarNliGhjrJnv1vdjG0LVIz+ToYfPirOoBi56jxAKLfsLm40+RvxVVXA==} 615 | engines: {node: ^16.0.0 || >=18.0.0} 616 | peerDependencies: 617 | eslint: ^7.0.0 || ^8.0.0 618 | typescript: '*' 619 | peerDependenciesMeta: 620 | typescript: 621 | optional: true 622 | dependencies: 623 | '@typescript-eslint/typescript-estree': 6.4.1(typescript@5.1.6) 624 | '@typescript-eslint/utils': 6.4.1(eslint@8.47.0)(typescript@5.1.6) 625 | debug: 4.3.4 626 | eslint: 8.47.0 627 | ts-api-utils: 1.0.2(typescript@5.1.6) 628 | typescript: 5.1.6 629 | transitivePeerDependencies: 630 | - supports-color 631 | dev: true 632 | 633 | /@typescript-eslint/types@5.62.0: 634 | resolution: {integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==} 635 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 636 | dev: true 637 | 638 | /@typescript-eslint/types@6.4.1: 639 | resolution: {integrity: sha512-zAAopbNuYu++ijY1GV2ylCsQsi3B8QvfPHVqhGdDcbx/NK5lkqMnCGU53amAjccSpk+LfeONxwzUhDzArSfZJg==} 640 | engines: {node: ^16.0.0 || >=18.0.0} 641 | dev: true 642 | 643 | /@typescript-eslint/typescript-estree@5.62.0(typescript@5.1.6): 644 | resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==} 645 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 646 | peerDependencies: 647 | typescript: '*' 648 | peerDependenciesMeta: 649 | typescript: 650 | optional: true 651 | dependencies: 652 | '@typescript-eslint/types': 5.62.0 653 | '@typescript-eslint/visitor-keys': 5.62.0 654 | debug: 4.3.4 655 | globby: 11.1.0 656 | is-glob: 4.0.3 657 | semver: 7.5.4 658 | tsutils: 3.21.0(typescript@5.1.6) 659 | typescript: 5.1.6 660 | transitivePeerDependencies: 661 | - supports-color 662 | dev: true 663 | 664 | /@typescript-eslint/typescript-estree@6.4.1(typescript@5.1.6): 665 | resolution: {integrity: sha512-xF6Y7SatVE/OyV93h1xGgfOkHr2iXuo8ip0gbfzaKeGGuKiAnzS+HtVhSPx8Www243bwlW8IF7X0/B62SzFftg==} 666 | engines: {node: ^16.0.0 || >=18.0.0} 667 | peerDependencies: 668 | typescript: '*' 669 | peerDependenciesMeta: 670 | typescript: 671 | optional: true 672 | dependencies: 673 | '@typescript-eslint/types': 6.4.1 674 | '@typescript-eslint/visitor-keys': 6.4.1 675 | debug: 4.3.4 676 | globby: 11.1.0 677 | is-glob: 4.0.3 678 | semver: 7.5.4 679 | ts-api-utils: 1.0.2(typescript@5.1.6) 680 | typescript: 5.1.6 681 | transitivePeerDependencies: 682 | - supports-color 683 | dev: true 684 | 685 | /@typescript-eslint/utils@5.62.0(eslint@8.47.0)(typescript@5.1.6): 686 | resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==} 687 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 688 | peerDependencies: 689 | eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 690 | dependencies: 691 | '@eslint-community/eslint-utils': 4.4.0(eslint@8.47.0) 692 | '@types/json-schema': 7.0.12 693 | '@types/semver': 7.5.0 694 | '@typescript-eslint/scope-manager': 5.62.0 695 | '@typescript-eslint/types': 5.62.0 696 | '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.1.6) 697 | eslint: 8.47.0 698 | eslint-scope: 5.1.1 699 | semver: 7.5.4 700 | transitivePeerDependencies: 701 | - supports-color 702 | - typescript 703 | dev: true 704 | 705 | /@typescript-eslint/utils@6.4.1(eslint@8.47.0)(typescript@5.1.6): 706 | resolution: {integrity: sha512-F/6r2RieNeorU0zhqZNv89s9bDZSovv3bZQpUNOmmQK1L80/cV4KEu95YUJWi75u5PhboFoKUJBnZ4FQcoqhDw==} 707 | engines: {node: ^16.0.0 || >=18.0.0} 708 | peerDependencies: 709 | eslint: ^7.0.0 || ^8.0.0 710 | dependencies: 711 | '@eslint-community/eslint-utils': 4.4.0(eslint@8.47.0) 712 | '@types/json-schema': 7.0.12 713 | '@types/semver': 7.5.0 714 | '@typescript-eslint/scope-manager': 6.4.1 715 | '@typescript-eslint/types': 6.4.1 716 | '@typescript-eslint/typescript-estree': 6.4.1(typescript@5.1.6) 717 | eslint: 8.47.0 718 | semver: 7.5.4 719 | transitivePeerDependencies: 720 | - supports-color 721 | - typescript 722 | dev: true 723 | 724 | /@typescript-eslint/visitor-keys@5.62.0: 725 | resolution: {integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==} 726 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 727 | dependencies: 728 | '@typescript-eslint/types': 5.62.0 729 | eslint-visitor-keys: 3.4.3 730 | dev: true 731 | 732 | /@typescript-eslint/visitor-keys@6.4.1: 733 | resolution: {integrity: sha512-y/TyRJsbZPkJIZQXrHfdnxVnxyKegnpEvnRGNam7s3TRR2ykGefEWOhaef00/UUN3IZxizS7BTO3svd3lCOJRQ==} 734 | engines: {node: ^16.0.0 || >=18.0.0} 735 | dependencies: 736 | '@typescript-eslint/types': 6.4.1 737 | eslint-visitor-keys: 3.4.3 738 | dev: true 739 | 740 | /@vitest/coverage-v8@0.34.2(vitest@0.34.2): 741 | resolution: {integrity: sha512-3VuDZPeGGd1zWtc0Tdj9cHSbFc8IQ0ffnWp9MlhItOkziN6HEf219meZ9cZheg/hJXrXb+Fi2bMu7GeCAfL4yA==} 742 | peerDependencies: 743 | vitest: '>=0.32.0 <1' 744 | dependencies: 745 | '@ampproject/remapping': 2.2.1 746 | '@bcoe/v8-coverage': 0.2.3 747 | istanbul-lib-coverage: 3.2.0 748 | istanbul-lib-report: 3.0.1 749 | istanbul-lib-source-maps: 4.0.1 750 | istanbul-reports: 3.1.6 751 | magic-string: 0.30.3 752 | picocolors: 1.0.0 753 | std-env: 3.4.3 754 | test-exclude: 6.0.0 755 | v8-to-istanbul: 9.1.0 756 | vitest: 0.34.2 757 | transitivePeerDependencies: 758 | - supports-color 759 | dev: true 760 | 761 | /@vitest/expect@0.34.2: 762 | resolution: {integrity: sha512-EZm2dMNlLyIfDMha17QHSQcg2KjeAZaXd65fpPzXY5bvnfx10Lcaz3N55uEe8PhF+w4pw+hmrlHLLlRn9vkBJg==} 763 | dependencies: 764 | '@vitest/spy': 0.34.2 765 | '@vitest/utils': 0.34.2 766 | chai: 4.3.7 767 | dev: true 768 | 769 | /@vitest/runner@0.34.2: 770 | resolution: {integrity: sha512-8ydGPACVX5tK3Dl0SUwxfdg02h+togDNeQX3iXVFYgzF5odxvaou7HnquALFZkyVuYskoaHUOqOyOLpOEj5XTA==} 771 | dependencies: 772 | '@vitest/utils': 0.34.2 773 | p-limit: 4.0.0 774 | pathe: 1.1.1 775 | dev: true 776 | 777 | /@vitest/snapshot@0.34.2: 778 | resolution: {integrity: sha512-qhQ+xy3u4mwwLxltS4Pd4SR+XHv4EajiTPNY3jkIBLUApE6/ce72neJPSUQZ7bL3EBuKI+NhvzhGj3n5baRQUQ==} 779 | dependencies: 780 | magic-string: 0.30.3 781 | pathe: 1.1.1 782 | pretty-format: 29.6.3 783 | dev: true 784 | 785 | /@vitest/spy@0.34.2: 786 | resolution: {integrity: sha512-yd4L9OhfH6l0Av7iK3sPb3MykhtcRN5c5K5vm1nTbuN7gYn+yvUVVsyvzpHrjqS7EWqn9WsPJb7+0c3iuY60tA==} 787 | dependencies: 788 | tinyspy: 2.1.1 789 | dev: true 790 | 791 | /@vitest/utils@0.34.2: 792 | resolution: {integrity: sha512-Lzw+kAsTPubhoQDp1uVAOP6DhNia1GMDsI9jgB0yMn+/nDaPieYQ88lKqz/gGjSHL4zwOItvpehec9OY+rS73w==} 793 | dependencies: 794 | diff-sequences: 29.6.3 795 | loupe: 2.3.6 796 | pretty-format: 29.6.3 797 | dev: true 798 | 799 | /acorn-jsx@5.3.2(acorn@8.10.0): 800 | resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} 801 | peerDependencies: 802 | acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 803 | dependencies: 804 | acorn: 8.10.0 805 | dev: true 806 | 807 | /acorn-walk@8.2.0: 808 | resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} 809 | engines: {node: '>=0.4.0'} 810 | dev: true 811 | 812 | /acorn@8.10.0: 813 | resolution: {integrity: sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==} 814 | engines: {node: '>=0.4.0'} 815 | hasBin: true 816 | dev: true 817 | 818 | /ajv@6.12.6: 819 | resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} 820 | dependencies: 821 | fast-deep-equal: 3.1.3 822 | fast-json-stable-stringify: 2.1.0 823 | json-schema-traverse: 0.4.1 824 | uri-js: 4.4.1 825 | dev: true 826 | 827 | /ansi-regex@5.0.1: 828 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} 829 | engines: {node: '>=8'} 830 | dev: true 831 | 832 | /ansi-styles@3.2.1: 833 | resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} 834 | engines: {node: '>=4'} 835 | dependencies: 836 | color-convert: 1.9.3 837 | dev: true 838 | 839 | /ansi-styles@4.3.0: 840 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} 841 | engines: {node: '>=8'} 842 | dependencies: 843 | color-convert: 2.0.1 844 | dev: true 845 | 846 | /ansi-styles@5.2.0: 847 | resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} 848 | engines: {node: '>=10'} 849 | dev: true 850 | 851 | /any-promise@1.3.0: 852 | resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} 853 | dev: true 854 | 855 | /anymatch@3.1.3: 856 | resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} 857 | engines: {node: '>= 8'} 858 | dependencies: 859 | normalize-path: 3.0.0 860 | picomatch: 2.3.1 861 | dev: true 862 | 863 | /argparse@2.0.1: 864 | resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} 865 | dev: true 866 | 867 | /array-union@2.1.0: 868 | resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} 869 | engines: {node: '>=8'} 870 | dev: true 871 | 872 | /assertion-error@1.1.0: 873 | resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} 874 | dev: true 875 | 876 | /balanced-match@1.0.2: 877 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} 878 | dev: true 879 | 880 | /binary-extensions@2.2.0: 881 | resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} 882 | engines: {node: '>=8'} 883 | dev: true 884 | 885 | /boolbase@1.0.0: 886 | resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} 887 | dev: true 888 | 889 | /brace-expansion@1.1.11: 890 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} 891 | dependencies: 892 | balanced-match: 1.0.2 893 | concat-map: 0.0.1 894 | dev: true 895 | 896 | /braces@3.0.2: 897 | resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} 898 | engines: {node: '>=8'} 899 | dependencies: 900 | fill-range: 7.0.1 901 | dev: true 902 | 903 | /builtin-modules@3.3.0: 904 | resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} 905 | engines: {node: '>=6'} 906 | dev: true 907 | 908 | /builtins@5.0.1: 909 | resolution: {integrity: sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==} 910 | dependencies: 911 | semver: 7.5.4 912 | dev: true 913 | 914 | /bundle-require@4.0.1(esbuild@0.18.20): 915 | resolution: {integrity: sha512-9NQkRHlNdNpDBGmLpngF3EFDcwodhMUuLz9PaWYciVcQF9SE4LFjM2DB/xV1Li5JiuDMv7ZUWuC3rGbqR0MAXQ==} 916 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 917 | peerDependencies: 918 | esbuild: '>=0.17' 919 | dependencies: 920 | esbuild: 0.18.20 921 | load-tsconfig: 0.2.5 922 | dev: true 923 | 924 | /c8@8.0.1: 925 | resolution: {integrity: sha512-EINpopxZNH1mETuI0DzRA4MZpAUH+IFiRhnmFD3vFr3vdrgxqi3VfE3KL0AIL+zDq8rC9bZqwM/VDmmoe04y7w==} 926 | engines: {node: '>=12'} 927 | hasBin: true 928 | dependencies: 929 | '@bcoe/v8-coverage': 0.2.3 930 | '@istanbuljs/schema': 0.1.3 931 | find-up: 5.0.0 932 | foreground-child: 2.0.0 933 | istanbul-lib-coverage: 3.2.0 934 | istanbul-lib-report: 3.0.1 935 | istanbul-reports: 3.1.6 936 | rimraf: 3.0.2 937 | test-exclude: 6.0.0 938 | v8-to-istanbul: 9.1.0 939 | yargs: 17.7.2 940 | yargs-parser: 21.1.1 941 | dev: true 942 | 943 | /cac@6.7.14: 944 | resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} 945 | engines: {node: '>=8'} 946 | dev: true 947 | 948 | /callsites@3.1.0: 949 | resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} 950 | engines: {node: '>=6'} 951 | dev: true 952 | 953 | /chai@4.3.7: 954 | resolution: {integrity: sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A==} 955 | engines: {node: '>=4'} 956 | dependencies: 957 | assertion-error: 1.1.0 958 | check-error: 1.0.2 959 | deep-eql: 4.1.3 960 | get-func-name: 2.0.0 961 | loupe: 2.3.6 962 | pathval: 1.1.1 963 | type-detect: 4.0.8 964 | dev: true 965 | 966 | /chalk@2.4.2: 967 | resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} 968 | engines: {node: '>=4'} 969 | dependencies: 970 | ansi-styles: 3.2.1 971 | escape-string-regexp: 1.0.5 972 | supports-color: 5.5.0 973 | dev: true 974 | 975 | /chalk@4.1.2: 976 | resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} 977 | engines: {node: '>=10'} 978 | dependencies: 979 | ansi-styles: 4.3.0 980 | supports-color: 7.2.0 981 | dev: true 982 | 983 | /character-entities-legacy@1.1.4: 984 | resolution: {integrity: sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==} 985 | dev: true 986 | 987 | /character-entities@1.2.4: 988 | resolution: {integrity: sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==} 989 | dev: true 990 | 991 | /character-reference-invalid@1.1.4: 992 | resolution: {integrity: sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==} 993 | dev: true 994 | 995 | /check-error@1.0.2: 996 | resolution: {integrity: sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==} 997 | dev: true 998 | 999 | /chokidar@3.5.3: 1000 | resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} 1001 | engines: {node: '>= 8.10.0'} 1002 | dependencies: 1003 | anymatch: 3.1.3 1004 | braces: 3.0.2 1005 | glob-parent: 5.1.2 1006 | is-binary-path: 2.1.0 1007 | is-glob: 4.0.3 1008 | normalize-path: 3.0.0 1009 | readdirp: 3.6.0 1010 | optionalDependencies: 1011 | fsevents: 2.3.3 1012 | dev: true 1013 | 1014 | /ci-info@3.8.0: 1015 | resolution: {integrity: sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==} 1016 | engines: {node: '>=8'} 1017 | dev: true 1018 | 1019 | /clean-regexp@1.0.0: 1020 | resolution: {integrity: sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==} 1021 | engines: {node: '>=4'} 1022 | dependencies: 1023 | escape-string-regexp: 1.0.5 1024 | dev: true 1025 | 1026 | /cliui@8.0.1: 1027 | resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} 1028 | engines: {node: '>=12'} 1029 | dependencies: 1030 | string-width: 4.2.3 1031 | strip-ansi: 6.0.1 1032 | wrap-ansi: 7.0.0 1033 | dev: true 1034 | 1035 | /color-convert@1.9.3: 1036 | resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} 1037 | dependencies: 1038 | color-name: 1.1.3 1039 | dev: true 1040 | 1041 | /color-convert@2.0.1: 1042 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} 1043 | engines: {node: '>=7.0.0'} 1044 | dependencies: 1045 | color-name: 1.1.4 1046 | dev: true 1047 | 1048 | /color-name@1.1.3: 1049 | resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} 1050 | dev: true 1051 | 1052 | /color-name@1.1.4: 1053 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} 1054 | dev: true 1055 | 1056 | /commander@4.1.1: 1057 | resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} 1058 | engines: {node: '>= 6'} 1059 | dev: true 1060 | 1061 | /concat-map@0.0.1: 1062 | resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} 1063 | dev: true 1064 | 1065 | /convert-source-map@1.9.0: 1066 | resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} 1067 | dev: true 1068 | 1069 | /cross-spawn@7.0.3: 1070 | resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} 1071 | engines: {node: '>= 8'} 1072 | dependencies: 1073 | path-key: 3.1.1 1074 | shebang-command: 2.0.0 1075 | which: 2.0.2 1076 | dev: true 1077 | 1078 | /cssesc@3.0.0: 1079 | resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} 1080 | engines: {node: '>=4'} 1081 | hasBin: true 1082 | dev: true 1083 | 1084 | /debug@3.2.7: 1085 | resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} 1086 | peerDependencies: 1087 | supports-color: '*' 1088 | peerDependenciesMeta: 1089 | supports-color: 1090 | optional: true 1091 | dependencies: 1092 | ms: 2.1.3 1093 | dev: true 1094 | 1095 | /debug@4.3.4: 1096 | resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} 1097 | engines: {node: '>=6.0'} 1098 | peerDependencies: 1099 | supports-color: '*' 1100 | peerDependenciesMeta: 1101 | supports-color: 1102 | optional: true 1103 | dependencies: 1104 | ms: 2.1.2 1105 | dev: true 1106 | 1107 | /deep-eql@4.1.3: 1108 | resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==} 1109 | engines: {node: '>=6'} 1110 | dependencies: 1111 | type-detect: 4.0.8 1112 | dev: true 1113 | 1114 | /deep-is@0.1.4: 1115 | resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} 1116 | dev: true 1117 | 1118 | /diff-sequences@29.6.3: 1119 | resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} 1120 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 1121 | dev: true 1122 | 1123 | /dir-glob@3.0.1: 1124 | resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} 1125 | engines: {node: '>=8'} 1126 | dependencies: 1127 | path-type: 4.0.0 1128 | dev: true 1129 | 1130 | /doctrine@2.1.0: 1131 | resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} 1132 | engines: {node: '>=0.10.0'} 1133 | dependencies: 1134 | esutils: 2.0.3 1135 | dev: true 1136 | 1137 | /doctrine@3.0.0: 1138 | resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} 1139 | engines: {node: '>=6.0.0'} 1140 | dependencies: 1141 | esutils: 2.0.3 1142 | dev: true 1143 | 1144 | /dom-serializer@2.0.0: 1145 | resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} 1146 | dependencies: 1147 | domelementtype: 2.3.0 1148 | domhandler: 5.0.3 1149 | entities: 4.5.0 1150 | dev: true 1151 | 1152 | /domelementtype@2.3.0: 1153 | resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} 1154 | dev: true 1155 | 1156 | /domhandler@5.0.3: 1157 | resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} 1158 | engines: {node: '>= 4'} 1159 | dependencies: 1160 | domelementtype: 2.3.0 1161 | dev: true 1162 | 1163 | /domutils@3.1.0: 1164 | resolution: {integrity: sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==} 1165 | dependencies: 1166 | dom-serializer: 2.0.0 1167 | domelementtype: 2.3.0 1168 | domhandler: 5.0.3 1169 | dev: true 1170 | 1171 | /emoji-regex@8.0.0: 1172 | resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} 1173 | dev: true 1174 | 1175 | /entities@4.5.0: 1176 | resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} 1177 | engines: {node: '>=0.12'} 1178 | dev: true 1179 | 1180 | /error-ex@1.3.2: 1181 | resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} 1182 | dependencies: 1183 | is-arrayish: 0.2.1 1184 | dev: true 1185 | 1186 | /esbuild@0.18.20: 1187 | resolution: {integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==} 1188 | engines: {node: '>=12'} 1189 | hasBin: true 1190 | requiresBuild: true 1191 | optionalDependencies: 1192 | '@esbuild/android-arm': 0.18.20 1193 | '@esbuild/android-arm64': 0.18.20 1194 | '@esbuild/android-x64': 0.18.20 1195 | '@esbuild/darwin-arm64': 0.18.20 1196 | '@esbuild/darwin-x64': 0.18.20 1197 | '@esbuild/freebsd-arm64': 0.18.20 1198 | '@esbuild/freebsd-x64': 0.18.20 1199 | '@esbuild/linux-arm': 0.18.20 1200 | '@esbuild/linux-arm64': 0.18.20 1201 | '@esbuild/linux-ia32': 0.18.20 1202 | '@esbuild/linux-loong64': 0.18.20 1203 | '@esbuild/linux-mips64el': 0.18.20 1204 | '@esbuild/linux-ppc64': 0.18.20 1205 | '@esbuild/linux-riscv64': 0.18.20 1206 | '@esbuild/linux-s390x': 0.18.20 1207 | '@esbuild/linux-x64': 0.18.20 1208 | '@esbuild/netbsd-x64': 0.18.20 1209 | '@esbuild/openbsd-x64': 0.18.20 1210 | '@esbuild/sunos-x64': 0.18.20 1211 | '@esbuild/win32-arm64': 0.18.20 1212 | '@esbuild/win32-ia32': 0.18.20 1213 | '@esbuild/win32-x64': 0.18.20 1214 | dev: true 1215 | 1216 | /escalade@3.1.1: 1217 | resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} 1218 | engines: {node: '>=6'} 1219 | dev: true 1220 | 1221 | /escape-string-regexp@1.0.5: 1222 | resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} 1223 | engines: {node: '>=0.8.0'} 1224 | dev: true 1225 | 1226 | /escape-string-regexp@4.0.0: 1227 | resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} 1228 | engines: {node: '>=10'} 1229 | dev: true 1230 | 1231 | /eslint-import-resolver-node@0.3.9: 1232 | resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} 1233 | dependencies: 1234 | debug: 3.2.7 1235 | is-core-module: 2.13.0 1236 | resolve: 1.22.4 1237 | transitivePeerDependencies: 1238 | - supports-color 1239 | dev: true 1240 | 1241 | /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.4.1)(eslint-import-resolver-node@0.3.9)(eslint@8.47.0): 1242 | resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} 1243 | engines: {node: '>=4'} 1244 | peerDependencies: 1245 | '@typescript-eslint/parser': '*' 1246 | eslint: '*' 1247 | eslint-import-resolver-node: '*' 1248 | eslint-import-resolver-typescript: '*' 1249 | eslint-import-resolver-webpack: '*' 1250 | peerDependenciesMeta: 1251 | '@typescript-eslint/parser': 1252 | optional: true 1253 | eslint: 1254 | optional: true 1255 | eslint-import-resolver-node: 1256 | optional: true 1257 | eslint-import-resolver-typescript: 1258 | optional: true 1259 | eslint-import-resolver-webpack: 1260 | optional: true 1261 | dependencies: 1262 | '@typescript-eslint/parser': 6.4.1(eslint@8.47.0)(typescript@5.1.6) 1263 | debug: 3.2.7 1264 | eslint: 8.47.0 1265 | eslint-import-resolver-node: 0.3.9 1266 | transitivePeerDependencies: 1267 | - supports-color 1268 | dev: true 1269 | 1270 | /eslint-plugin-antfu@0.40.3(eslint@8.47.0)(typescript@5.1.6): 1271 | resolution: {integrity: sha512-1f0OifSyaIQNHAHNzh0wHfUKkc3cP3fDDOk51WtCBL7ffgd4dSEq95FJIRUyGKecq4CY3d3gHpOOUbClcHiV1w==} 1272 | dependencies: 1273 | '@typescript-eslint/utils': 6.4.1(eslint@8.47.0)(typescript@5.1.6) 1274 | transitivePeerDependencies: 1275 | - eslint 1276 | - supports-color 1277 | - typescript 1278 | dev: true 1279 | 1280 | /eslint-plugin-es-x@7.2.0(eslint@8.47.0): 1281 | resolution: {integrity: sha512-9dvv5CcvNjSJPqnS5uZkqb3xmbeqRLnvXKK7iI5+oK/yTusyc46zbBZKENGsOfojm/mKfszyZb+wNqNPAPeGXA==} 1282 | engines: {node: ^14.18.0 || >=16.0.0} 1283 | peerDependencies: 1284 | eslint: '>=8' 1285 | dependencies: 1286 | '@eslint-community/eslint-utils': 4.4.0(eslint@8.47.0) 1287 | '@eslint-community/regexpp': 4.7.0 1288 | eslint: 8.47.0 1289 | dev: true 1290 | 1291 | /eslint-plugin-eslint-comments@3.2.0(eslint@8.47.0): 1292 | resolution: {integrity: sha512-0jkOl0hfojIHHmEHgmNdqv4fmh7300NdpA9FFpF7zaoLvB/QeXOGNLIo86oAveJFrfB1p05kC8hpEMHM8DwWVQ==} 1293 | engines: {node: '>=6.5.0'} 1294 | peerDependencies: 1295 | eslint: '>=4.19.1' 1296 | dependencies: 1297 | escape-string-regexp: 1.0.5 1298 | eslint: 8.47.0 1299 | ignore: 5.2.4 1300 | dev: true 1301 | 1302 | /eslint-plugin-html@7.1.0: 1303 | resolution: {integrity: sha512-fNLRraV/e6j8e3XYOC9xgND4j+U7b1Rq+OygMlLcMg+wI/IpVbF+ubQa3R78EjKB9njT6TQOlcK5rFKBVVtdfg==} 1304 | dependencies: 1305 | htmlparser2: 8.0.2 1306 | dev: true 1307 | 1308 | /eslint-plugin-i@2.28.0-2(@typescript-eslint/parser@6.4.1)(eslint@8.47.0): 1309 | resolution: {integrity: sha512-z48kG4qmE4TmiLcxbmvxMT5ycwvPkXaWW0XpU1L768uZaTbiDbxsHMEdV24JHlOR1xDsPpKW39BfP/pRdYIwFA==} 1310 | engines: {node: '>=12'} 1311 | peerDependencies: 1312 | eslint: ^7.2.0 || ^8 1313 | dependencies: 1314 | debug: 3.2.7 1315 | doctrine: 2.1.0 1316 | eslint: 8.47.0 1317 | eslint-import-resolver-node: 0.3.9 1318 | eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.4.1)(eslint-import-resolver-node@0.3.9)(eslint@8.47.0) 1319 | get-tsconfig: 4.7.0 1320 | is-glob: 4.0.3 1321 | minimatch: 3.1.2 1322 | resolve: 1.22.4 1323 | semver: 7.5.4 1324 | transitivePeerDependencies: 1325 | - '@typescript-eslint/parser' 1326 | - eslint-import-resolver-typescript 1327 | - eslint-import-resolver-webpack 1328 | - supports-color 1329 | dev: true 1330 | 1331 | /eslint-plugin-jest@27.2.3(@typescript-eslint/eslint-plugin@6.4.1)(eslint@8.47.0)(typescript@5.1.6): 1332 | resolution: {integrity: sha512-sRLlSCpICzWuje66Gl9zvdF6mwD5X86I4u55hJyFBsxYOsBCmT5+kSUjf+fkFWVMMgpzNEupjW8WzUqi83hJAQ==} 1333 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 1334 | peerDependencies: 1335 | '@typescript-eslint/eslint-plugin': ^5.0.0 || ^6.0.0 1336 | eslint: ^7.0.0 || ^8.0.0 1337 | jest: '*' 1338 | peerDependenciesMeta: 1339 | '@typescript-eslint/eslint-plugin': 1340 | optional: true 1341 | jest: 1342 | optional: true 1343 | dependencies: 1344 | '@typescript-eslint/eslint-plugin': 6.4.1(@typescript-eslint/parser@6.4.1)(eslint@8.47.0)(typescript@5.1.6) 1345 | '@typescript-eslint/utils': 5.62.0(eslint@8.47.0)(typescript@5.1.6) 1346 | eslint: 8.47.0 1347 | transitivePeerDependencies: 1348 | - supports-color 1349 | - typescript 1350 | dev: true 1351 | 1352 | /eslint-plugin-jsonc@2.9.0(eslint@8.47.0): 1353 | resolution: {integrity: sha512-RK+LeONVukbLwT2+t7/OY54NJRccTXh/QbnXzPuTLpFMVZhPuq1C9E07+qWenGx7rrQl0kAalAWl7EmB+RjpGA==} 1354 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1355 | peerDependencies: 1356 | eslint: '>=6.0.0' 1357 | dependencies: 1358 | '@eslint-community/eslint-utils': 4.4.0(eslint@8.47.0) 1359 | eslint: 8.47.0 1360 | jsonc-eslint-parser: 2.3.0 1361 | natural-compare: 1.4.0 1362 | dev: true 1363 | 1364 | /eslint-plugin-markdown@3.0.1(eslint@8.47.0): 1365 | resolution: {integrity: sha512-8rqoc148DWdGdmYF6WSQFT3uQ6PO7zXYgeBpHAOAakX/zpq+NvFYbDA/H7PYzHajwtmaOzAwfxyl++x0g1/N9A==} 1366 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1367 | peerDependencies: 1368 | eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 1369 | dependencies: 1370 | eslint: 8.47.0 1371 | mdast-util-from-markdown: 0.8.5 1372 | transitivePeerDependencies: 1373 | - supports-color 1374 | dev: true 1375 | 1376 | /eslint-plugin-n@16.0.2(eslint@8.47.0): 1377 | resolution: {integrity: sha512-Y66uDfUNbBzypsr0kELWrIz+5skicECrLUqlWuXawNSLUq3ltGlCwu6phboYYOTSnoTdHgTLrc+5Ydo6KjzZog==} 1378 | engines: {node: '>=16.0.0'} 1379 | peerDependencies: 1380 | eslint: '>=7.0.0' 1381 | dependencies: 1382 | '@eslint-community/eslint-utils': 4.4.0(eslint@8.47.0) 1383 | builtins: 5.0.1 1384 | eslint: 8.47.0 1385 | eslint-plugin-es-x: 7.2.0(eslint@8.47.0) 1386 | ignore: 5.2.4 1387 | is-core-module: 2.13.0 1388 | minimatch: 3.1.2 1389 | resolve: 1.22.4 1390 | semver: 7.5.4 1391 | dev: true 1392 | 1393 | /eslint-plugin-no-only-tests@3.1.0: 1394 | resolution: {integrity: sha512-Lf4YW/bL6Un1R6A76pRZyE1dl1vr31G/ev8UzIc/geCgFWyrKil8hVjYqWVKGB/UIGmb6Slzs9T0wNezdSVegw==} 1395 | engines: {node: '>=5.0.0'} 1396 | dev: true 1397 | 1398 | /eslint-plugin-promise@6.1.1(eslint@8.47.0): 1399 | resolution: {integrity: sha512-tjqWDwVZQo7UIPMeDReOpUgHCmCiH+ePnVT+5zVapL0uuHnegBUs2smM13CzOs2Xb5+MHMRFTs9v24yjba4Oig==} 1400 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1401 | peerDependencies: 1402 | eslint: ^7.0.0 || ^8.0.0 1403 | dependencies: 1404 | eslint: 8.47.0 1405 | dev: true 1406 | 1407 | /eslint-plugin-unicorn@48.0.1(eslint@8.47.0): 1408 | resolution: {integrity: sha512-FW+4r20myG/DqFcCSzoumaddKBicIPeFnTrifon2mWIzlfyvzwyqZjqVP7m4Cqr/ZYisS2aiLghkUWaPg6vtCw==} 1409 | engines: {node: '>=16'} 1410 | peerDependencies: 1411 | eslint: '>=8.44.0' 1412 | dependencies: 1413 | '@babel/helper-validator-identifier': 7.22.5 1414 | '@eslint-community/eslint-utils': 4.4.0(eslint@8.47.0) 1415 | ci-info: 3.8.0 1416 | clean-regexp: 1.0.0 1417 | eslint: 8.47.0 1418 | esquery: 1.5.0 1419 | indent-string: 4.0.0 1420 | is-builtin-module: 3.2.1 1421 | jsesc: 3.0.2 1422 | lodash: 4.17.21 1423 | pluralize: 8.0.0 1424 | read-pkg-up: 7.0.1 1425 | regexp-tree: 0.1.27 1426 | regjsparser: 0.10.0 1427 | semver: 7.5.4 1428 | strip-indent: 3.0.0 1429 | dev: true 1430 | 1431 | /eslint-plugin-unused-imports@3.0.0(@typescript-eslint/eslint-plugin@6.4.1)(eslint@8.47.0): 1432 | resolution: {integrity: sha512-sduiswLJfZHeeBJ+MQaG+xYzSWdRXoSw61DpU13mzWumCkR0ufD0HmO4kdNokjrkluMHpj/7PJeN35pgbhW3kw==} 1433 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1434 | peerDependencies: 1435 | '@typescript-eslint/eslint-plugin': ^6.0.0 1436 | eslint: ^8.0.0 1437 | peerDependenciesMeta: 1438 | '@typescript-eslint/eslint-plugin': 1439 | optional: true 1440 | dependencies: 1441 | '@typescript-eslint/eslint-plugin': 6.4.1(@typescript-eslint/parser@6.4.1)(eslint@8.47.0)(typescript@5.1.6) 1442 | eslint: 8.47.0 1443 | eslint-rule-composer: 0.3.0 1444 | dev: true 1445 | 1446 | /eslint-plugin-vue@9.17.0(eslint@8.47.0): 1447 | resolution: {integrity: sha512-r7Bp79pxQk9I5XDP0k2dpUC7Ots3OSWgvGZNu3BxmKK6Zg7NgVtcOB6OCna5Kb9oQwJPl5hq183WD0SY5tZtIQ==} 1448 | engines: {node: ^14.17.0 || >=16.0.0} 1449 | peerDependencies: 1450 | eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 1451 | dependencies: 1452 | '@eslint-community/eslint-utils': 4.4.0(eslint@8.47.0) 1453 | eslint: 8.47.0 1454 | natural-compare: 1.4.0 1455 | nth-check: 2.1.1 1456 | postcss-selector-parser: 6.0.13 1457 | semver: 7.5.4 1458 | vue-eslint-parser: 9.3.1(eslint@8.47.0) 1459 | xml-name-validator: 4.0.0 1460 | transitivePeerDependencies: 1461 | - supports-color 1462 | dev: true 1463 | 1464 | /eslint-plugin-yml@1.8.0(eslint@8.47.0): 1465 | resolution: {integrity: sha512-fgBiJvXD0P2IN7SARDJ2J7mx8t0bLdG6Zcig4ufOqW5hOvSiFxeUyc2g5I1uIm8AExbo26NNYCcTGZT0MXTsyg==} 1466 | engines: {node: ^14.17.0 || >=16.0.0} 1467 | peerDependencies: 1468 | eslint: '>=6.0.0' 1469 | dependencies: 1470 | debug: 4.3.4 1471 | eslint: 8.47.0 1472 | lodash: 4.17.21 1473 | natural-compare: 1.4.0 1474 | yaml-eslint-parser: 1.2.2 1475 | transitivePeerDependencies: 1476 | - supports-color 1477 | dev: true 1478 | 1479 | /eslint-rule-composer@0.3.0: 1480 | resolution: {integrity: sha512-bt+Sh8CtDmn2OajxvNO+BX7Wn4CIWMpTRm3MaiKPCQcnnlm0CS2mhui6QaoeQugs+3Kj2ESKEEGJUdVafwhiCg==} 1481 | engines: {node: '>=4.0.0'} 1482 | dev: true 1483 | 1484 | /eslint-scope@5.1.1: 1485 | resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} 1486 | engines: {node: '>=8.0.0'} 1487 | dependencies: 1488 | esrecurse: 4.3.0 1489 | estraverse: 4.3.0 1490 | dev: true 1491 | 1492 | /eslint-scope@7.2.2: 1493 | resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} 1494 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1495 | dependencies: 1496 | esrecurse: 4.3.0 1497 | estraverse: 5.3.0 1498 | dev: true 1499 | 1500 | /eslint-visitor-keys@3.4.3: 1501 | resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} 1502 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1503 | dev: true 1504 | 1505 | /eslint@8.47.0: 1506 | resolution: {integrity: sha512-spUQWrdPt+pRVP1TTJLmfRNJJHHZryFmptzcafwSvHsceV81djHOdnEeDmkdotZyLNjDhrOasNK8nikkoG1O8Q==} 1507 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1508 | hasBin: true 1509 | dependencies: 1510 | '@eslint-community/eslint-utils': 4.4.0(eslint@8.47.0) 1511 | '@eslint-community/regexpp': 4.7.0 1512 | '@eslint/eslintrc': 2.1.2 1513 | '@eslint/js': 8.47.0 1514 | '@humanwhocodes/config-array': 0.11.10 1515 | '@humanwhocodes/module-importer': 1.0.1 1516 | '@nodelib/fs.walk': 1.2.8 1517 | ajv: 6.12.6 1518 | chalk: 4.1.2 1519 | cross-spawn: 7.0.3 1520 | debug: 4.3.4 1521 | doctrine: 3.0.0 1522 | escape-string-regexp: 4.0.0 1523 | eslint-scope: 7.2.2 1524 | eslint-visitor-keys: 3.4.3 1525 | espree: 9.6.1 1526 | esquery: 1.5.0 1527 | esutils: 2.0.3 1528 | fast-deep-equal: 3.1.3 1529 | file-entry-cache: 6.0.1 1530 | find-up: 5.0.0 1531 | glob-parent: 6.0.2 1532 | globals: 13.21.0 1533 | graphemer: 1.4.0 1534 | ignore: 5.2.4 1535 | imurmurhash: 0.1.4 1536 | is-glob: 4.0.3 1537 | is-path-inside: 3.0.3 1538 | js-yaml: 4.1.0 1539 | json-stable-stringify-without-jsonify: 1.0.1 1540 | levn: 0.4.1 1541 | lodash.merge: 4.6.2 1542 | minimatch: 3.1.2 1543 | natural-compare: 1.4.0 1544 | optionator: 0.9.3 1545 | strip-ansi: 6.0.1 1546 | text-table: 0.2.0 1547 | transitivePeerDependencies: 1548 | - supports-color 1549 | dev: true 1550 | 1551 | /espree@9.6.1: 1552 | resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} 1553 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1554 | dependencies: 1555 | acorn: 8.10.0 1556 | acorn-jsx: 5.3.2(acorn@8.10.0) 1557 | eslint-visitor-keys: 3.4.3 1558 | dev: true 1559 | 1560 | /esquery@1.5.0: 1561 | resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} 1562 | engines: {node: '>=0.10'} 1563 | dependencies: 1564 | estraverse: 5.3.0 1565 | dev: true 1566 | 1567 | /esrecurse@4.3.0: 1568 | resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} 1569 | engines: {node: '>=4.0'} 1570 | dependencies: 1571 | estraverse: 5.3.0 1572 | dev: true 1573 | 1574 | /estraverse@4.3.0: 1575 | resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} 1576 | engines: {node: '>=4.0'} 1577 | dev: true 1578 | 1579 | /estraverse@5.3.0: 1580 | resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} 1581 | engines: {node: '>=4.0'} 1582 | dev: true 1583 | 1584 | /esutils@2.0.3: 1585 | resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} 1586 | engines: {node: '>=0.10.0'} 1587 | dev: true 1588 | 1589 | /execa@5.1.1: 1590 | resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} 1591 | engines: {node: '>=10'} 1592 | dependencies: 1593 | cross-spawn: 7.0.3 1594 | get-stream: 6.0.1 1595 | human-signals: 2.1.0 1596 | is-stream: 2.0.1 1597 | merge-stream: 2.0.0 1598 | npm-run-path: 4.0.1 1599 | onetime: 5.1.2 1600 | signal-exit: 3.0.7 1601 | strip-final-newline: 2.0.0 1602 | dev: true 1603 | 1604 | /fast-deep-equal@3.1.3: 1605 | resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} 1606 | dev: true 1607 | 1608 | /fast-glob@3.3.1: 1609 | resolution: {integrity: sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==} 1610 | engines: {node: '>=8.6.0'} 1611 | dependencies: 1612 | '@nodelib/fs.stat': 2.0.5 1613 | '@nodelib/fs.walk': 1.2.8 1614 | glob-parent: 5.1.2 1615 | merge2: 1.4.1 1616 | micromatch: 4.0.5 1617 | dev: true 1618 | 1619 | /fast-json-stable-stringify@2.1.0: 1620 | resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} 1621 | dev: true 1622 | 1623 | /fast-levenshtein@2.0.6: 1624 | resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} 1625 | dev: true 1626 | 1627 | /fastq@1.15.0: 1628 | resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} 1629 | dependencies: 1630 | reusify: 1.0.4 1631 | dev: true 1632 | 1633 | /file-entry-cache@6.0.1: 1634 | resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} 1635 | engines: {node: ^10.12.0 || >=12.0.0} 1636 | dependencies: 1637 | flat-cache: 3.0.4 1638 | dev: true 1639 | 1640 | /fill-range@7.0.1: 1641 | resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} 1642 | engines: {node: '>=8'} 1643 | dependencies: 1644 | to-regex-range: 5.0.1 1645 | dev: true 1646 | 1647 | /find-up@4.1.0: 1648 | resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} 1649 | engines: {node: '>=8'} 1650 | dependencies: 1651 | locate-path: 5.0.0 1652 | path-exists: 4.0.0 1653 | dev: true 1654 | 1655 | /find-up@5.0.0: 1656 | resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} 1657 | engines: {node: '>=10'} 1658 | dependencies: 1659 | locate-path: 6.0.0 1660 | path-exists: 4.0.0 1661 | dev: true 1662 | 1663 | /flat-cache@3.0.4: 1664 | resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} 1665 | engines: {node: ^10.12.0 || >=12.0.0} 1666 | dependencies: 1667 | flatted: 3.2.7 1668 | rimraf: 3.0.2 1669 | dev: true 1670 | 1671 | /flatted@3.2.7: 1672 | resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==} 1673 | dev: true 1674 | 1675 | /foreground-child@2.0.0: 1676 | resolution: {integrity: sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==} 1677 | engines: {node: '>=8.0.0'} 1678 | dependencies: 1679 | cross-spawn: 7.0.3 1680 | signal-exit: 3.0.7 1681 | dev: true 1682 | 1683 | /fs.realpath@1.0.0: 1684 | resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} 1685 | dev: true 1686 | 1687 | /fsevents@2.3.3: 1688 | resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} 1689 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 1690 | os: [darwin] 1691 | requiresBuild: true 1692 | dev: true 1693 | optional: true 1694 | 1695 | /function-bind@1.1.1: 1696 | resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} 1697 | dev: true 1698 | 1699 | /get-caller-file@2.0.5: 1700 | resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} 1701 | engines: {node: 6.* || 8.* || >= 10.*} 1702 | dev: true 1703 | 1704 | /get-func-name@2.0.0: 1705 | resolution: {integrity: sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==} 1706 | dev: true 1707 | 1708 | /get-stream@6.0.1: 1709 | resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} 1710 | engines: {node: '>=10'} 1711 | dev: true 1712 | 1713 | /get-tsconfig@4.7.0: 1714 | resolution: {integrity: sha512-pmjiZ7xtB8URYm74PlGJozDNyhvsVLUcpBa8DZBG3bWHwaHa9bPiRpiSfovw+fjhwONSCWKRyk+JQHEGZmMrzw==} 1715 | dependencies: 1716 | resolve-pkg-maps: 1.0.0 1717 | dev: true 1718 | 1719 | /glob-parent@5.1.2: 1720 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} 1721 | engines: {node: '>= 6'} 1722 | dependencies: 1723 | is-glob: 4.0.3 1724 | dev: true 1725 | 1726 | /glob-parent@6.0.2: 1727 | resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} 1728 | engines: {node: '>=10.13.0'} 1729 | dependencies: 1730 | is-glob: 4.0.3 1731 | dev: true 1732 | 1733 | /glob@7.1.6: 1734 | resolution: {integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==} 1735 | dependencies: 1736 | fs.realpath: 1.0.0 1737 | inflight: 1.0.6 1738 | inherits: 2.0.4 1739 | minimatch: 3.1.2 1740 | once: 1.4.0 1741 | path-is-absolute: 1.0.1 1742 | dev: true 1743 | 1744 | /glob@7.2.3: 1745 | resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} 1746 | dependencies: 1747 | fs.realpath: 1.0.0 1748 | inflight: 1.0.6 1749 | inherits: 2.0.4 1750 | minimatch: 3.1.2 1751 | once: 1.4.0 1752 | path-is-absolute: 1.0.1 1753 | dev: true 1754 | 1755 | /globals@13.21.0: 1756 | resolution: {integrity: sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg==} 1757 | engines: {node: '>=8'} 1758 | dependencies: 1759 | type-fest: 0.20.2 1760 | dev: true 1761 | 1762 | /globby@11.1.0: 1763 | resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} 1764 | engines: {node: '>=10'} 1765 | dependencies: 1766 | array-union: 2.1.0 1767 | dir-glob: 3.0.1 1768 | fast-glob: 3.3.1 1769 | ignore: 5.2.4 1770 | merge2: 1.4.1 1771 | slash: 3.0.0 1772 | dev: true 1773 | 1774 | /graphemer@1.4.0: 1775 | resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} 1776 | dev: true 1777 | 1778 | /has-flag@3.0.0: 1779 | resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} 1780 | engines: {node: '>=4'} 1781 | dev: true 1782 | 1783 | /has-flag@4.0.0: 1784 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} 1785 | engines: {node: '>=8'} 1786 | dev: true 1787 | 1788 | /has@1.0.3: 1789 | resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} 1790 | engines: {node: '>= 0.4.0'} 1791 | dependencies: 1792 | function-bind: 1.1.1 1793 | dev: true 1794 | 1795 | /hosted-git-info@2.8.9: 1796 | resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} 1797 | dev: true 1798 | 1799 | /html-escaper@2.0.2: 1800 | resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} 1801 | dev: true 1802 | 1803 | /htmlparser2@8.0.2: 1804 | resolution: {integrity: sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==} 1805 | dependencies: 1806 | domelementtype: 2.3.0 1807 | domhandler: 5.0.3 1808 | domutils: 3.1.0 1809 | entities: 4.5.0 1810 | dev: true 1811 | 1812 | /human-signals@2.1.0: 1813 | resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} 1814 | engines: {node: '>=10.17.0'} 1815 | dev: true 1816 | 1817 | /ignore@5.2.4: 1818 | resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} 1819 | engines: {node: '>= 4'} 1820 | dev: true 1821 | 1822 | /import-fresh@3.3.0: 1823 | resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} 1824 | engines: {node: '>=6'} 1825 | dependencies: 1826 | parent-module: 1.0.1 1827 | resolve-from: 4.0.0 1828 | dev: true 1829 | 1830 | /imurmurhash@0.1.4: 1831 | resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} 1832 | engines: {node: '>=0.8.19'} 1833 | dev: true 1834 | 1835 | /indent-string@4.0.0: 1836 | resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} 1837 | engines: {node: '>=8'} 1838 | dev: true 1839 | 1840 | /inflight@1.0.6: 1841 | resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} 1842 | dependencies: 1843 | once: 1.4.0 1844 | wrappy: 1.0.2 1845 | dev: true 1846 | 1847 | /inherits@2.0.4: 1848 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} 1849 | dev: true 1850 | 1851 | /is-alphabetical@1.0.4: 1852 | resolution: {integrity: sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==} 1853 | dev: true 1854 | 1855 | /is-alphanumerical@1.0.4: 1856 | resolution: {integrity: sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==} 1857 | dependencies: 1858 | is-alphabetical: 1.0.4 1859 | is-decimal: 1.0.4 1860 | dev: true 1861 | 1862 | /is-arrayish@0.2.1: 1863 | resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} 1864 | dev: true 1865 | 1866 | /is-binary-path@2.1.0: 1867 | resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} 1868 | engines: {node: '>=8'} 1869 | dependencies: 1870 | binary-extensions: 2.2.0 1871 | dev: true 1872 | 1873 | /is-builtin-module@3.2.1: 1874 | resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==} 1875 | engines: {node: '>=6'} 1876 | dependencies: 1877 | builtin-modules: 3.3.0 1878 | dev: true 1879 | 1880 | /is-core-module@2.13.0: 1881 | resolution: {integrity: sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==} 1882 | dependencies: 1883 | has: 1.0.3 1884 | dev: true 1885 | 1886 | /is-decimal@1.0.4: 1887 | resolution: {integrity: sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==} 1888 | dev: true 1889 | 1890 | /is-extglob@2.1.1: 1891 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} 1892 | engines: {node: '>=0.10.0'} 1893 | dev: true 1894 | 1895 | /is-fullwidth-code-point@3.0.0: 1896 | resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} 1897 | engines: {node: '>=8'} 1898 | dev: true 1899 | 1900 | /is-glob@4.0.3: 1901 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} 1902 | engines: {node: '>=0.10.0'} 1903 | dependencies: 1904 | is-extglob: 2.1.1 1905 | dev: true 1906 | 1907 | /is-hexadecimal@1.0.4: 1908 | resolution: {integrity: sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==} 1909 | dev: true 1910 | 1911 | /is-number@7.0.0: 1912 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} 1913 | engines: {node: '>=0.12.0'} 1914 | dev: true 1915 | 1916 | /is-path-inside@3.0.3: 1917 | resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} 1918 | engines: {node: '>=8'} 1919 | dev: true 1920 | 1921 | /is-stream@2.0.1: 1922 | resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} 1923 | engines: {node: '>=8'} 1924 | dev: true 1925 | 1926 | /isexe@2.0.0: 1927 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} 1928 | dev: true 1929 | 1930 | /istanbul-lib-coverage@3.2.0: 1931 | resolution: {integrity: sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==} 1932 | engines: {node: '>=8'} 1933 | dev: true 1934 | 1935 | /istanbul-lib-report@3.0.1: 1936 | resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} 1937 | engines: {node: '>=10'} 1938 | dependencies: 1939 | istanbul-lib-coverage: 3.2.0 1940 | make-dir: 4.0.0 1941 | supports-color: 7.2.0 1942 | dev: true 1943 | 1944 | /istanbul-lib-source-maps@4.0.1: 1945 | resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} 1946 | engines: {node: '>=10'} 1947 | dependencies: 1948 | debug: 4.3.4 1949 | istanbul-lib-coverage: 3.2.0 1950 | source-map: 0.6.1 1951 | transitivePeerDependencies: 1952 | - supports-color 1953 | dev: true 1954 | 1955 | /istanbul-reports@3.1.6: 1956 | resolution: {integrity: sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==} 1957 | engines: {node: '>=8'} 1958 | dependencies: 1959 | html-escaper: 2.0.2 1960 | istanbul-lib-report: 3.0.1 1961 | dev: true 1962 | 1963 | /joycon@3.1.1: 1964 | resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==} 1965 | engines: {node: '>=10'} 1966 | dev: true 1967 | 1968 | /js-tokens@4.0.0: 1969 | resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} 1970 | dev: true 1971 | 1972 | /js-yaml@4.1.0: 1973 | resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} 1974 | hasBin: true 1975 | dependencies: 1976 | argparse: 2.0.1 1977 | dev: true 1978 | 1979 | /jsesc@0.5.0: 1980 | resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} 1981 | hasBin: true 1982 | dev: true 1983 | 1984 | /jsesc@3.0.2: 1985 | resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==} 1986 | engines: {node: '>=6'} 1987 | hasBin: true 1988 | dev: true 1989 | 1990 | /json-parse-even-better-errors@2.3.1: 1991 | resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} 1992 | dev: true 1993 | 1994 | /json-schema-traverse@0.4.1: 1995 | resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} 1996 | dev: true 1997 | 1998 | /json-stable-stringify-without-jsonify@1.0.1: 1999 | resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} 2000 | dev: true 2001 | 2002 | /jsonc-eslint-parser@2.3.0: 2003 | resolution: {integrity: sha512-9xZPKVYp9DxnM3sd1yAsh/d59iIaswDkai8oTxbursfKYbg/ibjX0IzFt35+VZ8iEW453TVTXztnRvYUQlAfUQ==} 2004 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 2005 | dependencies: 2006 | acorn: 8.10.0 2007 | eslint-visitor-keys: 3.4.3 2008 | espree: 9.6.1 2009 | semver: 7.5.4 2010 | dev: true 2011 | 2012 | /jsonc-parser@3.2.0: 2013 | resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} 2014 | dev: true 2015 | 2016 | /levn@0.4.1: 2017 | resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} 2018 | engines: {node: '>= 0.8.0'} 2019 | dependencies: 2020 | prelude-ls: 1.2.1 2021 | type-check: 0.4.0 2022 | dev: true 2023 | 2024 | /lilconfig@2.1.0: 2025 | resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} 2026 | engines: {node: '>=10'} 2027 | dev: true 2028 | 2029 | /lines-and-columns@1.2.4: 2030 | resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} 2031 | dev: true 2032 | 2033 | /load-tsconfig@0.2.5: 2034 | resolution: {integrity: sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg==} 2035 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 2036 | dev: true 2037 | 2038 | /local-pkg@0.4.3: 2039 | resolution: {integrity: sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==} 2040 | engines: {node: '>=14'} 2041 | dev: true 2042 | 2043 | /locate-path@5.0.0: 2044 | resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} 2045 | engines: {node: '>=8'} 2046 | dependencies: 2047 | p-locate: 4.1.0 2048 | dev: true 2049 | 2050 | /locate-path@6.0.0: 2051 | resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} 2052 | engines: {node: '>=10'} 2053 | dependencies: 2054 | p-locate: 5.0.0 2055 | dev: true 2056 | 2057 | /lodash.merge@4.6.2: 2058 | resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} 2059 | dev: true 2060 | 2061 | /lodash.sortby@4.7.0: 2062 | resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} 2063 | dev: true 2064 | 2065 | /lodash@4.17.21: 2066 | resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} 2067 | dev: true 2068 | 2069 | /loupe@2.3.6: 2070 | resolution: {integrity: sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==} 2071 | dependencies: 2072 | get-func-name: 2.0.0 2073 | dev: true 2074 | 2075 | /lru-cache@6.0.0: 2076 | resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} 2077 | engines: {node: '>=10'} 2078 | dependencies: 2079 | yallist: 4.0.0 2080 | dev: true 2081 | 2082 | /magic-string@0.30.3: 2083 | resolution: {integrity: sha512-B7xGbll2fG/VjP+SWg4sX3JynwIU0mjoTc6MPpKNuIvftk6u6vqhDnk1R80b8C2GBR6ywqy+1DcKBrevBg+bmw==} 2084 | engines: {node: '>=12'} 2085 | dependencies: 2086 | '@jridgewell/sourcemap-codec': 1.4.15 2087 | dev: true 2088 | 2089 | /make-dir@4.0.0: 2090 | resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} 2091 | engines: {node: '>=10'} 2092 | dependencies: 2093 | semver: 7.5.4 2094 | dev: true 2095 | 2096 | /mdast-util-from-markdown@0.8.5: 2097 | resolution: {integrity: sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ==} 2098 | dependencies: 2099 | '@types/mdast': 3.0.12 2100 | mdast-util-to-string: 2.0.0 2101 | micromark: 2.11.4 2102 | parse-entities: 2.0.0 2103 | unist-util-stringify-position: 2.0.3 2104 | transitivePeerDependencies: 2105 | - supports-color 2106 | dev: true 2107 | 2108 | /mdast-util-to-string@2.0.0: 2109 | resolution: {integrity: sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==} 2110 | dev: true 2111 | 2112 | /merge-stream@2.0.0: 2113 | resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} 2114 | dev: true 2115 | 2116 | /merge2@1.4.1: 2117 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} 2118 | engines: {node: '>= 8'} 2119 | dev: true 2120 | 2121 | /micromark@2.11.4: 2122 | resolution: {integrity: sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA==} 2123 | dependencies: 2124 | debug: 4.3.4 2125 | parse-entities: 2.0.0 2126 | transitivePeerDependencies: 2127 | - supports-color 2128 | dev: true 2129 | 2130 | /micromatch@4.0.5: 2131 | resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} 2132 | engines: {node: '>=8.6'} 2133 | dependencies: 2134 | braces: 3.0.2 2135 | picomatch: 2.3.1 2136 | dev: true 2137 | 2138 | /mime-db@1.52.0: 2139 | resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} 2140 | engines: {node: '>= 0.6'} 2141 | dev: false 2142 | 2143 | /mime-types@2.1.35: 2144 | resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} 2145 | engines: {node: '>= 0.6'} 2146 | dependencies: 2147 | mime-db: 1.52.0 2148 | dev: false 2149 | 2150 | /mimic-fn@2.1.0: 2151 | resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} 2152 | engines: {node: '>=6'} 2153 | dev: true 2154 | 2155 | /min-indent@1.0.1: 2156 | resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} 2157 | engines: {node: '>=4'} 2158 | dev: true 2159 | 2160 | /minimatch@3.1.2: 2161 | resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} 2162 | dependencies: 2163 | brace-expansion: 1.1.11 2164 | dev: true 2165 | 2166 | /mlly@1.4.0: 2167 | resolution: {integrity: sha512-ua8PAThnTwpprIaU47EPeZ/bPUVp2QYBbWMphUQpVdBI3Lgqzm5KZQ45Agm3YJedHXaIHl6pBGabaLSUPPSptg==} 2168 | dependencies: 2169 | acorn: 8.10.0 2170 | pathe: 1.1.1 2171 | pkg-types: 1.0.3 2172 | ufo: 1.2.0 2173 | dev: true 2174 | 2175 | /ms@2.1.2: 2176 | resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} 2177 | dev: true 2178 | 2179 | /ms@2.1.3: 2180 | resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} 2181 | dev: true 2182 | 2183 | /mz@2.7.0: 2184 | resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} 2185 | dependencies: 2186 | any-promise: 1.3.0 2187 | object-assign: 4.1.1 2188 | thenify-all: 1.6.0 2189 | dev: true 2190 | 2191 | /nanoid@3.3.6: 2192 | resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==} 2193 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} 2194 | hasBin: true 2195 | dev: true 2196 | 2197 | /natural-compare@1.4.0: 2198 | resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} 2199 | dev: true 2200 | 2201 | /normalize-package-data@2.5.0: 2202 | resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} 2203 | dependencies: 2204 | hosted-git-info: 2.8.9 2205 | resolve: 1.22.4 2206 | semver: 5.7.2 2207 | validate-npm-package-license: 3.0.4 2208 | dev: true 2209 | 2210 | /normalize-path@3.0.0: 2211 | resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} 2212 | engines: {node: '>=0.10.0'} 2213 | dev: true 2214 | 2215 | /npm-run-path@4.0.1: 2216 | resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} 2217 | engines: {node: '>=8'} 2218 | dependencies: 2219 | path-key: 3.1.1 2220 | dev: true 2221 | 2222 | /nth-check@2.1.1: 2223 | resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} 2224 | dependencies: 2225 | boolbase: 1.0.0 2226 | dev: true 2227 | 2228 | /object-assign@4.1.1: 2229 | resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} 2230 | engines: {node: '>=0.10.0'} 2231 | dev: true 2232 | 2233 | /once@1.4.0: 2234 | resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} 2235 | dependencies: 2236 | wrappy: 1.0.2 2237 | dev: true 2238 | 2239 | /onetime@5.1.2: 2240 | resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} 2241 | engines: {node: '>=6'} 2242 | dependencies: 2243 | mimic-fn: 2.1.0 2244 | dev: true 2245 | 2246 | /optionator@0.9.3: 2247 | resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} 2248 | engines: {node: '>= 0.8.0'} 2249 | dependencies: 2250 | '@aashutoshrathi/word-wrap': 1.2.6 2251 | deep-is: 0.1.4 2252 | fast-levenshtein: 2.0.6 2253 | levn: 0.4.1 2254 | prelude-ls: 1.2.1 2255 | type-check: 0.4.0 2256 | dev: true 2257 | 2258 | /p-limit@2.3.0: 2259 | resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} 2260 | engines: {node: '>=6'} 2261 | dependencies: 2262 | p-try: 2.2.0 2263 | dev: true 2264 | 2265 | /p-limit@3.1.0: 2266 | resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} 2267 | engines: {node: '>=10'} 2268 | dependencies: 2269 | yocto-queue: 0.1.0 2270 | dev: true 2271 | 2272 | /p-limit@4.0.0: 2273 | resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==} 2274 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 2275 | dependencies: 2276 | yocto-queue: 1.0.0 2277 | dev: true 2278 | 2279 | /p-locate@4.1.0: 2280 | resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} 2281 | engines: {node: '>=8'} 2282 | dependencies: 2283 | p-limit: 2.3.0 2284 | dev: true 2285 | 2286 | /p-locate@5.0.0: 2287 | resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} 2288 | engines: {node: '>=10'} 2289 | dependencies: 2290 | p-limit: 3.1.0 2291 | dev: true 2292 | 2293 | /p-try@2.2.0: 2294 | resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} 2295 | engines: {node: '>=6'} 2296 | dev: true 2297 | 2298 | /parent-module@1.0.1: 2299 | resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} 2300 | engines: {node: '>=6'} 2301 | dependencies: 2302 | callsites: 3.1.0 2303 | dev: true 2304 | 2305 | /parse-entities@2.0.0: 2306 | resolution: {integrity: sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==} 2307 | dependencies: 2308 | character-entities: 1.2.4 2309 | character-entities-legacy: 1.1.4 2310 | character-reference-invalid: 1.1.4 2311 | is-alphanumerical: 1.0.4 2312 | is-decimal: 1.0.4 2313 | is-hexadecimal: 1.0.4 2314 | dev: true 2315 | 2316 | /parse-json@5.2.0: 2317 | resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} 2318 | engines: {node: '>=8'} 2319 | dependencies: 2320 | '@babel/code-frame': 7.22.10 2321 | error-ex: 1.3.2 2322 | json-parse-even-better-errors: 2.3.1 2323 | lines-and-columns: 1.2.4 2324 | dev: true 2325 | 2326 | /path-exists@4.0.0: 2327 | resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} 2328 | engines: {node: '>=8'} 2329 | dev: true 2330 | 2331 | /path-is-absolute@1.0.1: 2332 | resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} 2333 | engines: {node: '>=0.10.0'} 2334 | dev: true 2335 | 2336 | /path-key@3.1.1: 2337 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} 2338 | engines: {node: '>=8'} 2339 | dev: true 2340 | 2341 | /path-parse@1.0.7: 2342 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} 2343 | dev: true 2344 | 2345 | /path-type@4.0.0: 2346 | resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} 2347 | engines: {node: '>=8'} 2348 | dev: true 2349 | 2350 | /pathe@1.1.1: 2351 | resolution: {integrity: sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q==} 2352 | dev: true 2353 | 2354 | /pathval@1.1.1: 2355 | resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} 2356 | dev: true 2357 | 2358 | /picocolors@1.0.0: 2359 | resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} 2360 | dev: true 2361 | 2362 | /picomatch@2.3.1: 2363 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} 2364 | engines: {node: '>=8.6'} 2365 | dev: true 2366 | 2367 | /pirates@4.0.6: 2368 | resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} 2369 | engines: {node: '>= 6'} 2370 | dev: true 2371 | 2372 | /pkg-types@1.0.3: 2373 | resolution: {integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==} 2374 | dependencies: 2375 | jsonc-parser: 3.2.0 2376 | mlly: 1.4.0 2377 | pathe: 1.1.1 2378 | dev: true 2379 | 2380 | /pluralize@8.0.0: 2381 | resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} 2382 | engines: {node: '>=4'} 2383 | dev: true 2384 | 2385 | /postcss-load-config@4.0.1: 2386 | resolution: {integrity: sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==} 2387 | engines: {node: '>= 14'} 2388 | peerDependencies: 2389 | postcss: '>=8.0.9' 2390 | ts-node: '>=9.0.0' 2391 | peerDependenciesMeta: 2392 | postcss: 2393 | optional: true 2394 | ts-node: 2395 | optional: true 2396 | dependencies: 2397 | lilconfig: 2.1.0 2398 | yaml: 2.3.1 2399 | dev: true 2400 | 2401 | /postcss-selector-parser@6.0.13: 2402 | resolution: {integrity: sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==} 2403 | engines: {node: '>=4'} 2404 | dependencies: 2405 | cssesc: 3.0.0 2406 | util-deprecate: 1.0.2 2407 | dev: true 2408 | 2409 | /postcss@8.4.28: 2410 | resolution: {integrity: sha512-Z7V5j0cq8oEKyejIKfpD8b4eBy9cwW2JWPk0+fB1HOAMsfHbnAXLLS+PfVWlzMSLQaWttKDt607I0XHmpE67Vw==} 2411 | engines: {node: ^10 || ^12 || >=14} 2412 | dependencies: 2413 | nanoid: 3.3.6 2414 | picocolors: 1.0.0 2415 | source-map-js: 1.0.2 2416 | dev: true 2417 | 2418 | /prelude-ls@1.2.1: 2419 | resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} 2420 | engines: {node: '>= 0.8.0'} 2421 | dev: true 2422 | 2423 | /pretty-format@29.6.3: 2424 | resolution: {integrity: sha512-ZsBgjVhFAj5KeK+nHfF1305/By3lechHQSMWCTl8iHSbfOm2TN5nHEtFc/+W7fAyUeCs2n5iow72gld4gW0xDw==} 2425 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 2426 | dependencies: 2427 | '@jest/schemas': 29.6.3 2428 | ansi-styles: 5.2.0 2429 | react-is: 18.2.0 2430 | dev: true 2431 | 2432 | /punycode@2.3.0: 2433 | resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} 2434 | engines: {node: '>=6'} 2435 | dev: true 2436 | 2437 | /queue-microtask@1.2.3: 2438 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} 2439 | dev: true 2440 | 2441 | /react-is@18.2.0: 2442 | resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} 2443 | dev: true 2444 | 2445 | /read-pkg-up@7.0.1: 2446 | resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} 2447 | engines: {node: '>=8'} 2448 | dependencies: 2449 | find-up: 4.1.0 2450 | read-pkg: 5.2.0 2451 | type-fest: 0.8.1 2452 | dev: true 2453 | 2454 | /read-pkg@5.2.0: 2455 | resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} 2456 | engines: {node: '>=8'} 2457 | dependencies: 2458 | '@types/normalize-package-data': 2.4.1 2459 | normalize-package-data: 2.5.0 2460 | parse-json: 5.2.0 2461 | type-fest: 0.6.0 2462 | dev: true 2463 | 2464 | /readdirp@3.6.0: 2465 | resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} 2466 | engines: {node: '>=8.10.0'} 2467 | dependencies: 2468 | picomatch: 2.3.1 2469 | dev: true 2470 | 2471 | /regexp-tree@0.1.27: 2472 | resolution: {integrity: sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==} 2473 | hasBin: true 2474 | dev: true 2475 | 2476 | /regjsparser@0.10.0: 2477 | resolution: {integrity: sha512-qx+xQGZVsy55CH0a1hiVwHmqjLryfh7wQyF5HO07XJ9f7dQMY/gPQHhlyDkIzJKC+x2fUCpCcUODUUUFrm7SHA==} 2478 | hasBin: true 2479 | dependencies: 2480 | jsesc: 0.5.0 2481 | dev: true 2482 | 2483 | /require-directory@2.1.1: 2484 | resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} 2485 | engines: {node: '>=0.10.0'} 2486 | dev: true 2487 | 2488 | /resolve-from@4.0.0: 2489 | resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} 2490 | engines: {node: '>=4'} 2491 | dev: true 2492 | 2493 | /resolve-from@5.0.0: 2494 | resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} 2495 | engines: {node: '>=8'} 2496 | dev: true 2497 | 2498 | /resolve-pkg-maps@1.0.0: 2499 | resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} 2500 | dev: true 2501 | 2502 | /resolve@1.22.4: 2503 | resolution: {integrity: sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==} 2504 | hasBin: true 2505 | dependencies: 2506 | is-core-module: 2.13.0 2507 | path-parse: 1.0.7 2508 | supports-preserve-symlinks-flag: 1.0.0 2509 | dev: true 2510 | 2511 | /reusify@1.0.4: 2512 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} 2513 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'} 2514 | dev: true 2515 | 2516 | /rimraf@3.0.2: 2517 | resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} 2518 | hasBin: true 2519 | dependencies: 2520 | glob: 7.2.3 2521 | dev: true 2522 | 2523 | /rollup@3.28.1: 2524 | resolution: {integrity: sha512-R9OMQmIHJm9znrU3m3cpE8uhN0fGdXiawME7aZIpQqvpS/85+Vt1Hq1/yVIcYfOmaQiHjvXkQAoJukvLpau6Yw==} 2525 | engines: {node: '>=14.18.0', npm: '>=8.0.0'} 2526 | hasBin: true 2527 | optionalDependencies: 2528 | fsevents: 2.3.3 2529 | dev: true 2530 | 2531 | /run-parallel@1.2.0: 2532 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} 2533 | dependencies: 2534 | queue-microtask: 1.2.3 2535 | dev: true 2536 | 2537 | /semver@5.7.2: 2538 | resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} 2539 | hasBin: true 2540 | dev: true 2541 | 2542 | /semver@7.5.4: 2543 | resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} 2544 | engines: {node: '>=10'} 2545 | hasBin: true 2546 | dependencies: 2547 | lru-cache: 6.0.0 2548 | dev: true 2549 | 2550 | /shebang-command@2.0.0: 2551 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} 2552 | engines: {node: '>=8'} 2553 | dependencies: 2554 | shebang-regex: 3.0.0 2555 | dev: true 2556 | 2557 | /shebang-regex@3.0.0: 2558 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} 2559 | engines: {node: '>=8'} 2560 | dev: true 2561 | 2562 | /siginfo@2.0.0: 2563 | resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} 2564 | dev: true 2565 | 2566 | /signal-exit@3.0.7: 2567 | resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} 2568 | dev: true 2569 | 2570 | /slash@3.0.0: 2571 | resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} 2572 | engines: {node: '>=8'} 2573 | dev: true 2574 | 2575 | /source-map-js@1.0.2: 2576 | resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} 2577 | engines: {node: '>=0.10.0'} 2578 | dev: true 2579 | 2580 | /source-map@0.6.1: 2581 | resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} 2582 | engines: {node: '>=0.10.0'} 2583 | dev: true 2584 | 2585 | /source-map@0.8.0-beta.0: 2586 | resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==} 2587 | engines: {node: '>= 8'} 2588 | dependencies: 2589 | whatwg-url: 7.1.0 2590 | dev: true 2591 | 2592 | /spdx-correct@3.2.0: 2593 | resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} 2594 | dependencies: 2595 | spdx-expression-parse: 3.0.1 2596 | spdx-license-ids: 3.0.13 2597 | dev: true 2598 | 2599 | /spdx-exceptions@2.3.0: 2600 | resolution: {integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==} 2601 | dev: true 2602 | 2603 | /spdx-expression-parse@3.0.1: 2604 | resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} 2605 | dependencies: 2606 | spdx-exceptions: 2.3.0 2607 | spdx-license-ids: 3.0.13 2608 | dev: true 2609 | 2610 | /spdx-license-ids@3.0.13: 2611 | resolution: {integrity: sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==} 2612 | dev: true 2613 | 2614 | /stackback@0.0.2: 2615 | resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} 2616 | dev: true 2617 | 2618 | /std-env@3.4.3: 2619 | resolution: {integrity: sha512-f9aPhy8fYBuMN+sNfakZV18U39PbalgjXG3lLB9WkaYTxijru61wb57V9wxxNthXM5Sd88ETBWi29qLAsHO52Q==} 2620 | dev: true 2621 | 2622 | /string-width@4.2.3: 2623 | resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} 2624 | engines: {node: '>=8'} 2625 | dependencies: 2626 | emoji-regex: 8.0.0 2627 | is-fullwidth-code-point: 3.0.0 2628 | strip-ansi: 6.0.1 2629 | dev: true 2630 | 2631 | /strip-ansi@6.0.1: 2632 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} 2633 | engines: {node: '>=8'} 2634 | dependencies: 2635 | ansi-regex: 5.0.1 2636 | dev: true 2637 | 2638 | /strip-final-newline@2.0.0: 2639 | resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} 2640 | engines: {node: '>=6'} 2641 | dev: true 2642 | 2643 | /strip-indent@3.0.0: 2644 | resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} 2645 | engines: {node: '>=8'} 2646 | dependencies: 2647 | min-indent: 1.0.1 2648 | dev: true 2649 | 2650 | /strip-json-comments@3.1.1: 2651 | resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} 2652 | engines: {node: '>=8'} 2653 | dev: true 2654 | 2655 | /strip-literal@1.3.0: 2656 | resolution: {integrity: sha512-PugKzOsyXpArk0yWmUwqOZecSO0GH0bPoctLcqNDH9J04pVW3lflYE0ujElBGTloevcxF5MofAOZ7C5l2b+wLg==} 2657 | dependencies: 2658 | acorn: 8.10.0 2659 | dev: true 2660 | 2661 | /sucrase@3.34.0: 2662 | resolution: {integrity: sha512-70/LQEZ07TEcxiU2dz51FKaE6hCTWC6vr7FOk3Gr0U60C3shtAN+H+BFr9XlYe5xqf3RA8nrc+VIwzCfnxuXJw==} 2663 | engines: {node: '>=8'} 2664 | hasBin: true 2665 | dependencies: 2666 | '@jridgewell/gen-mapping': 0.3.3 2667 | commander: 4.1.1 2668 | glob: 7.1.6 2669 | lines-and-columns: 1.2.4 2670 | mz: 2.7.0 2671 | pirates: 4.0.6 2672 | ts-interface-checker: 0.1.13 2673 | dev: true 2674 | 2675 | /supports-color@5.5.0: 2676 | resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} 2677 | engines: {node: '>=4'} 2678 | dependencies: 2679 | has-flag: 3.0.0 2680 | dev: true 2681 | 2682 | /supports-color@7.2.0: 2683 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} 2684 | engines: {node: '>=8'} 2685 | dependencies: 2686 | has-flag: 4.0.0 2687 | dev: true 2688 | 2689 | /supports-preserve-symlinks-flag@1.0.0: 2690 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} 2691 | engines: {node: '>= 0.4'} 2692 | dev: true 2693 | 2694 | /test-exclude@6.0.0: 2695 | resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} 2696 | engines: {node: '>=8'} 2697 | dependencies: 2698 | '@istanbuljs/schema': 0.1.3 2699 | glob: 7.2.3 2700 | minimatch: 3.1.2 2701 | dev: true 2702 | 2703 | /text-table@0.2.0: 2704 | resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} 2705 | dev: true 2706 | 2707 | /thenify-all@1.6.0: 2708 | resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} 2709 | engines: {node: '>=0.8'} 2710 | dependencies: 2711 | thenify: 3.3.1 2712 | dev: true 2713 | 2714 | /thenify@3.3.1: 2715 | resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} 2716 | dependencies: 2717 | any-promise: 1.3.0 2718 | dev: true 2719 | 2720 | /tinybench@2.5.0: 2721 | resolution: {integrity: sha512-kRwSG8Zx4tjF9ZiyH4bhaebu+EDz1BOx9hOigYHlUW4xxI/wKIUQUqo018UlU4ar6ATPBsaMrdbKZ+tmPdohFA==} 2722 | dev: true 2723 | 2724 | /tinypool@0.7.0: 2725 | resolution: {integrity: sha512-zSYNUlYSMhJ6Zdou4cJwo/p7w5nmAH17GRfU/ui3ctvjXFErXXkruT4MWW6poDeXgCaIBlGLrfU6TbTXxyGMww==} 2726 | engines: {node: '>=14.0.0'} 2727 | dev: true 2728 | 2729 | /tinyspy@2.1.1: 2730 | resolution: {integrity: sha512-XPJL2uSzcOyBMky6OFrusqWlzfFrXtE0hPuMgW8A2HmaqrPo4ZQHRN/V0QXN3FSjKxpsbRrFc5LI7KOwBsT1/w==} 2731 | engines: {node: '>=14.0.0'} 2732 | dev: true 2733 | 2734 | /to-regex-range@5.0.1: 2735 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} 2736 | engines: {node: '>=8.0'} 2737 | dependencies: 2738 | is-number: 7.0.0 2739 | dev: true 2740 | 2741 | /tr46@1.0.1: 2742 | resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==} 2743 | dependencies: 2744 | punycode: 2.3.0 2745 | dev: true 2746 | 2747 | /tree-kill@1.2.2: 2748 | resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} 2749 | hasBin: true 2750 | dev: true 2751 | 2752 | /ts-api-utils@1.0.2(typescript@5.1.6): 2753 | resolution: {integrity: sha512-Cbu4nIqnEdd+THNEsBdkolnOXhg0I8XteoHaEKgvsxpsbWda4IsUut2c187HxywQCvveojow0Dgw/amxtSKVkQ==} 2754 | engines: {node: '>=16.13.0'} 2755 | peerDependencies: 2756 | typescript: '>=4.2.0' 2757 | dependencies: 2758 | typescript: 5.1.6 2759 | dev: true 2760 | 2761 | /ts-interface-checker@0.1.13: 2762 | resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} 2763 | dev: true 2764 | 2765 | /tslib@1.14.1: 2766 | resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} 2767 | dev: true 2768 | 2769 | /tsup@7.2.0(typescript@5.1.6): 2770 | resolution: {integrity: sha512-vDHlczXbgUvY3rWvqFEbSqmC1L7woozbzngMqTtL2PGBODTtWlRwGDDawhvWzr5c1QjKe4OAKqJGfE1xeXUvtQ==} 2771 | engines: {node: '>=16.14'} 2772 | hasBin: true 2773 | peerDependencies: 2774 | '@swc/core': ^1 2775 | postcss: ^8.4.12 2776 | typescript: '>=4.1.0' 2777 | peerDependenciesMeta: 2778 | '@swc/core': 2779 | optional: true 2780 | postcss: 2781 | optional: true 2782 | typescript: 2783 | optional: true 2784 | dependencies: 2785 | bundle-require: 4.0.1(esbuild@0.18.20) 2786 | cac: 6.7.14 2787 | chokidar: 3.5.3 2788 | debug: 4.3.4 2789 | esbuild: 0.18.20 2790 | execa: 5.1.1 2791 | globby: 11.1.0 2792 | joycon: 3.1.1 2793 | postcss-load-config: 4.0.1 2794 | resolve-from: 5.0.0 2795 | rollup: 3.28.1 2796 | source-map: 0.8.0-beta.0 2797 | sucrase: 3.34.0 2798 | tree-kill: 1.2.2 2799 | typescript: 5.1.6 2800 | transitivePeerDependencies: 2801 | - supports-color 2802 | - ts-node 2803 | dev: true 2804 | 2805 | /tsutils@3.21.0(typescript@5.1.6): 2806 | resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} 2807 | engines: {node: '>= 6'} 2808 | peerDependencies: 2809 | 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' 2810 | dependencies: 2811 | tslib: 1.14.1 2812 | typescript: 5.1.6 2813 | dev: true 2814 | 2815 | /type-check@0.4.0: 2816 | resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} 2817 | engines: {node: '>= 0.8.0'} 2818 | dependencies: 2819 | prelude-ls: 1.2.1 2820 | dev: true 2821 | 2822 | /type-detect@4.0.8: 2823 | resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} 2824 | engines: {node: '>=4'} 2825 | dev: true 2826 | 2827 | /type-fest@0.20.2: 2828 | resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} 2829 | engines: {node: '>=10'} 2830 | dev: true 2831 | 2832 | /type-fest@0.6.0: 2833 | resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} 2834 | engines: {node: '>=8'} 2835 | dev: true 2836 | 2837 | /type-fest@0.8.1: 2838 | resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} 2839 | engines: {node: '>=8'} 2840 | dev: true 2841 | 2842 | /typescript@5.1.6: 2843 | resolution: {integrity: sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==} 2844 | engines: {node: '>=14.17'} 2845 | hasBin: true 2846 | dev: true 2847 | 2848 | /ufo@1.2.0: 2849 | resolution: {integrity: sha512-RsPyTbqORDNDxqAdQPQBpgqhWle1VcTSou/FraClYlHf6TZnQcGslpLcAphNR+sQW4q5lLWLbOsRlh9j24baQg==} 2850 | dev: true 2851 | 2852 | /unist-util-stringify-position@2.0.3: 2853 | resolution: {integrity: sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==} 2854 | dependencies: 2855 | '@types/unist': 2.0.7 2856 | dev: true 2857 | 2858 | /uri-js@4.4.1: 2859 | resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} 2860 | dependencies: 2861 | punycode: 2.3.0 2862 | dev: true 2863 | 2864 | /util-deprecate@1.0.2: 2865 | resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} 2866 | dev: true 2867 | 2868 | /v8-to-istanbul@9.1.0: 2869 | resolution: {integrity: sha512-6z3GW9x8G1gd+JIIgQQQxXuiJtCXeAjp6RaPEPLv62mH3iPHPxV6W3robxtCzNErRo6ZwTmzWhsbNvjyEBKzKA==} 2870 | engines: {node: '>=10.12.0'} 2871 | dependencies: 2872 | '@jridgewell/trace-mapping': 0.3.19 2873 | '@types/istanbul-lib-coverage': 2.0.4 2874 | convert-source-map: 1.9.0 2875 | dev: true 2876 | 2877 | /validate-npm-package-license@3.0.4: 2878 | resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} 2879 | dependencies: 2880 | spdx-correct: 3.2.0 2881 | spdx-expression-parse: 3.0.1 2882 | dev: true 2883 | 2884 | /vite-node@0.34.2(@types/node@20.5.3): 2885 | resolution: {integrity: sha512-JtW249Zm3FB+F7pQfH56uWSdlltCo1IOkZW5oHBzeQo0iX4jtC7o1t9aILMGd9kVekXBP2lfJBEQt9rBh07ebA==} 2886 | engines: {node: '>=v14.18.0'} 2887 | hasBin: true 2888 | dependencies: 2889 | cac: 6.7.14 2890 | debug: 4.3.4 2891 | mlly: 1.4.0 2892 | pathe: 1.1.1 2893 | picocolors: 1.0.0 2894 | vite: 4.4.9(@types/node@20.5.3) 2895 | transitivePeerDependencies: 2896 | - '@types/node' 2897 | - less 2898 | - lightningcss 2899 | - sass 2900 | - stylus 2901 | - sugarss 2902 | - supports-color 2903 | - terser 2904 | dev: true 2905 | 2906 | /vite@4.4.9(@types/node@20.5.3): 2907 | resolution: {integrity: sha512-2mbUn2LlUmNASWwSCNSJ/EG2HuSRTnVNaydp6vMCm5VIqJsjMfbIWtbH2kDuwUVW5mMUKKZvGPX/rqeqVvv1XA==} 2908 | engines: {node: ^14.18.0 || >=16.0.0} 2909 | hasBin: true 2910 | peerDependencies: 2911 | '@types/node': '>= 14' 2912 | less: '*' 2913 | lightningcss: ^1.21.0 2914 | sass: '*' 2915 | stylus: '*' 2916 | sugarss: '*' 2917 | terser: ^5.4.0 2918 | peerDependenciesMeta: 2919 | '@types/node': 2920 | optional: true 2921 | less: 2922 | optional: true 2923 | lightningcss: 2924 | optional: true 2925 | sass: 2926 | optional: true 2927 | stylus: 2928 | optional: true 2929 | sugarss: 2930 | optional: true 2931 | terser: 2932 | optional: true 2933 | dependencies: 2934 | '@types/node': 20.5.3 2935 | esbuild: 0.18.20 2936 | postcss: 8.4.28 2937 | rollup: 3.28.1 2938 | optionalDependencies: 2939 | fsevents: 2.3.3 2940 | dev: true 2941 | 2942 | /vitest@0.34.2: 2943 | resolution: {integrity: sha512-WgaIvBbjsSYMq/oiMlXUI7KflELmzM43BEvkdC/8b5CAod4ryAiY2z8uR6Crbi5Pjnu5oOmhKa9sy7uk6paBxQ==} 2944 | engines: {node: '>=v14.18.0'} 2945 | hasBin: true 2946 | peerDependencies: 2947 | '@edge-runtime/vm': '*' 2948 | '@vitest/browser': '*' 2949 | '@vitest/ui': '*' 2950 | happy-dom: '*' 2951 | jsdom: '*' 2952 | playwright: '*' 2953 | safaridriver: '*' 2954 | webdriverio: '*' 2955 | peerDependenciesMeta: 2956 | '@edge-runtime/vm': 2957 | optional: true 2958 | '@vitest/browser': 2959 | optional: true 2960 | '@vitest/ui': 2961 | optional: true 2962 | happy-dom: 2963 | optional: true 2964 | jsdom: 2965 | optional: true 2966 | playwright: 2967 | optional: true 2968 | safaridriver: 2969 | optional: true 2970 | webdriverio: 2971 | optional: true 2972 | dependencies: 2973 | '@types/chai': 4.3.5 2974 | '@types/chai-subset': 1.3.3 2975 | '@types/node': 20.5.3 2976 | '@vitest/expect': 0.34.2 2977 | '@vitest/runner': 0.34.2 2978 | '@vitest/snapshot': 0.34.2 2979 | '@vitest/spy': 0.34.2 2980 | '@vitest/utils': 0.34.2 2981 | acorn: 8.10.0 2982 | acorn-walk: 8.2.0 2983 | cac: 6.7.14 2984 | chai: 4.3.7 2985 | debug: 4.3.4 2986 | local-pkg: 0.4.3 2987 | magic-string: 0.30.3 2988 | pathe: 1.1.1 2989 | picocolors: 1.0.0 2990 | std-env: 3.4.3 2991 | strip-literal: 1.3.0 2992 | tinybench: 2.5.0 2993 | tinypool: 0.7.0 2994 | vite: 4.4.9(@types/node@20.5.3) 2995 | vite-node: 0.34.2(@types/node@20.5.3) 2996 | why-is-node-running: 2.2.2 2997 | transitivePeerDependencies: 2998 | - less 2999 | - lightningcss 3000 | - sass 3001 | - stylus 3002 | - sugarss 3003 | - supports-color 3004 | - terser 3005 | dev: true 3006 | 3007 | /vue-eslint-parser@9.3.1(eslint@8.47.0): 3008 | resolution: {integrity: sha512-Clr85iD2XFZ3lJ52/ppmUDG/spxQu6+MAeHXjjyI4I1NUYZ9xmenQp4N0oaHJhrA8OOxltCVxMRfANGa70vU0g==} 3009 | engines: {node: ^14.17.0 || >=16.0.0} 3010 | peerDependencies: 3011 | eslint: '>=6.0.0' 3012 | dependencies: 3013 | debug: 4.3.4 3014 | eslint: 8.47.0 3015 | eslint-scope: 7.2.2 3016 | eslint-visitor-keys: 3.4.3 3017 | espree: 9.6.1 3018 | esquery: 1.5.0 3019 | lodash: 4.17.21 3020 | semver: 7.5.4 3021 | transitivePeerDependencies: 3022 | - supports-color 3023 | dev: true 3024 | 3025 | /webidl-conversions@4.0.2: 3026 | resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} 3027 | dev: true 3028 | 3029 | /whatwg-url@7.1.0: 3030 | resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==} 3031 | dependencies: 3032 | lodash.sortby: 4.7.0 3033 | tr46: 1.0.1 3034 | webidl-conversions: 4.0.2 3035 | dev: true 3036 | 3037 | /which@2.0.2: 3038 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} 3039 | engines: {node: '>= 8'} 3040 | hasBin: true 3041 | dependencies: 3042 | isexe: 2.0.0 3043 | dev: true 3044 | 3045 | /why-is-node-running@2.2.2: 3046 | resolution: {integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==} 3047 | engines: {node: '>=8'} 3048 | hasBin: true 3049 | dependencies: 3050 | siginfo: 2.0.0 3051 | stackback: 0.0.2 3052 | dev: true 3053 | 3054 | /wrap-ansi@7.0.0: 3055 | resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} 3056 | engines: {node: '>=10'} 3057 | dependencies: 3058 | ansi-styles: 4.3.0 3059 | string-width: 4.2.3 3060 | strip-ansi: 6.0.1 3061 | dev: true 3062 | 3063 | /wrappy@1.0.2: 3064 | resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} 3065 | dev: true 3066 | 3067 | /xml-name-validator@4.0.0: 3068 | resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==} 3069 | engines: {node: '>=12'} 3070 | dev: true 3071 | 3072 | /y18n@5.0.8: 3073 | resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} 3074 | engines: {node: '>=10'} 3075 | dev: true 3076 | 3077 | /yallist@4.0.0: 3078 | resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} 3079 | dev: true 3080 | 3081 | /yaml-eslint-parser@1.2.2: 3082 | resolution: {integrity: sha512-pEwzfsKbTrB8G3xc/sN7aw1v6A6c/pKxLAkjclnAyo5g5qOh6eL9WGu0o3cSDQZKrTNk4KL4lQSwZW+nBkANEg==} 3083 | engines: {node: ^14.17.0 || >=16.0.0} 3084 | dependencies: 3085 | eslint-visitor-keys: 3.4.3 3086 | lodash: 4.17.21 3087 | yaml: 2.3.1 3088 | dev: true 3089 | 3090 | /yaml@2.3.1: 3091 | resolution: {integrity: sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ==} 3092 | engines: {node: '>= 14'} 3093 | dev: true 3094 | 3095 | /yargs-parser@21.1.1: 3096 | resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} 3097 | engines: {node: '>=12'} 3098 | dev: true 3099 | 3100 | /yargs@17.7.2: 3101 | resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} 3102 | engines: {node: '>=12'} 3103 | dependencies: 3104 | cliui: 8.0.1 3105 | escalade: 3.1.1 3106 | get-caller-file: 2.0.5 3107 | require-directory: 2.1.1 3108 | string-width: 4.2.3 3109 | y18n: 5.0.8 3110 | yargs-parser: 21.1.1 3111 | dev: true 3112 | 3113 | /yocto-queue@0.1.0: 3114 | resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} 3115 | engines: {node: '>=10'} 3116 | dev: true 3117 | 3118 | /yocto-queue@1.0.0: 3119 | resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} 3120 | engines: {node: '>=12.20'} 3121 | dev: true 3122 | --------------------------------------------------------------------------------