From 9160ac081d5fd274c911f1e15870ff0b9f032220 Mon Sep 17 00:00:00 2001 From: Joris Aerts <3611758+JorisAerts@users.noreply.github.com> Date: Sun, 14 Jul 2024 14:02:35 +0200 Subject: [PATCH] Initial commit --- .editorconfig | 10 + .gitattributes | 4 + .github/dependabot.yml | 42 + .github/workflows/yarn-dedupe.yml | 43 + .gitignore | 139 + .prettierignore | 3 + .prettierrc | 7 + .run/build_client.run.xml | 12 + .run/build_node.run.xml | 12 + .run/dev.run.xml | 12 + .run/run_node.run.xml | 14 + .yarn/releases/yarn-4.3.1.cjs | 894 ++++ .yarnrc.yml | 3 + LICENSE | 21 + README.md | 21 + cert/cert.pem | 19 + cert/key.pem | 28 + eslint.config.mjs | 19 + index.html | 9 + package.json | 51 + src/client/app.ts | 11 + .../components/app/AppHeader/VAppHeader.scss | 2 + .../components/app/AppHeader/VAppHeader.tsx | 15 + src/client/components/app/AppHeader/index.ts | 1 + .../app/DownloadData/VDownloadData.tsx | 26 + .../components/app/DownloadData/index.ts | 1 + src/client/components/app/NavBar/VNavBar.scss | 5 + src/client/components/app/NavBar/VNavBar.tsx | 20 + src/client/components/app/NavBar/index.ts | 1 + src/client/components/app/index.ts | 3 + src/client/components/core/App/App.scss | 1 + src/client/components/core/App/App.tsx | 17 + src/client/components/core/App/index.ts | 1 + src/client/components/core/Btn/VBtn.scss | 68 + src/client/components/core/Btn/VBtn.tsx | 76 + src/client/components/core/Btn/index.ts | 1 + src/client/components/core/Card/VCard.scss | 8 + src/client/components/core/Card/VCard.tsx | 25 + src/client/components/core/Card/index.ts | 1 + .../components/core/Container/VContainer.scss | 9 + .../components/core/Container/VContainer.tsx | 26 + src/client/components/core/Container/index.ts | 1 + .../components/core/Divider/VDivider.scss | 22 + .../components/core/Divider/VDivider.tsx | 26 + src/client/components/core/Divider/index.ts | 1 + src/client/components/core/Icon/VIcon.scss | 12 + src/client/components/core/Icon/VIcon.tsx | 30 + src/client/components/core/Icon/index.ts | 1 + src/client/components/core/List/VList.scss | 60 + src/client/components/core/List/VList.tsx | 14 + .../components/core/List/VListGroup.tsx | 22 + src/client/components/core/List/VListItem.tsx | 54 + src/client/components/core/List/index.ts | 3 + src/client/components/core/Sheet/VSheet.tsx | 13 + src/client/components/core/Sheet/index.ts | 1 + src/client/components/core/Table/VTable.scss | 38 + src/client/components/core/Table/VTable.tsx | 10 + src/client/components/core/Table/index.ts | 1 + src/client/components/core/index.ts | 9 + src/client/components/index.ts | 2 + src/client/icons/account_tree.ts | 2 + src/client/icons/chevron_left.ts | 2 + src/client/icons/chevron_right.ts | 2 + src/client/icons/code.ts | 2 + src/client/icons/code_blocks.ts | 2 + src/client/icons/css.ts | 2 + src/client/icons/csv.ts | 2 + src/client/icons/deployed_code.ts | 2 + src/client/icons/encrypted.ts | 2 + src/client/icons/help.ts | 2 + src/client/icons/html.ts | 2 + src/client/icons/index.ts | 39 + src/client/icons/info.ts | 2 + src/client/icons/input.ts | 2 + src/client/icons/input_circle.ts | 2 + src/client/icons/javascript.ts | 2 + src/client/icons/keyboard_arrow_down.ts | 2 + src/client/icons/keyboard_arrow_left.ts | 2 + src/client/icons/keyboard_arrow_right.ts | 2 + src/client/icons/keyboard_arrow_up.ts | 2 + src/client/icons/lock.ts | 2 + src/client/icons/lock_open.ts | 2 + src/client/icons/monitoring.ts | 2 + src/client/icons/output.ts | 2 + src/client/icons/output_circle.ts | 2 + src/client/icons/query_stats.ts | 2 + src/client/icons/save.ts | 2 + src/client/icons/save_as.ts | 2 + src/client/icons/schema.ts | 2 + src/client/icons/settings.ts | 2 + src/client/icons/splitscreen.ts | 2 + src/client/icons/splitscreen_add.ts | 2 + src/client/icons/splitscreen_bottom.ts | 2 + src/client/icons/splitscreen_left.ts | 2 + src/client/icons/splitscreen_right.ts | 2 + src/client/icons/splitscreen_top.ts | 2 + src/client/icons/splitscreen_vertical_add.ts | 2 + src/client/icons/table.ts | 2 + src/client/icons/table_rows.ts | 2 + src/client/icons/table_rows_narrow.ts | 2 + src/client/main.ts | 9 + src/client/router/RouteNames.ts | 6 + src/client/router/index.ts | 29 + src/client/stores/request.ts | 23 + src/client/style/_content.scss | 109 + src/client/style/_display.scss | 5 + src/client/style/_flex.scss | 42 + src/client/style/_gap.scss | 8 + src/client/style/_headers.scss | 21 + src/client/style/_overflow.scss | 21 + src/client/style/_reset.scss | 143 + src/client/style/_sass-vars.scss | 38 + src/client/style/_utilities.scss | 7 + src/client/style/_vars.scss | 39 + src/client/style/main.scss | 49 + src/client/tsconfig.json | 14 + src/client/utils/websocket.ts | 42 + src/client/views/404.tsx | 25 + src/client/views/Sequence.tsx | 113 + src/env.d.ts | 1 + src/node/index.ts | 7 + src/node/logger.ts | 17 + src/node/server/content-type.ts | 19 + src/node/server/handler.ts | 46 + src/node/server/index.ts | 1 + src/node/server/self-handler.ts | 41 + src/node/server/server-info.ts | 33 + src/node/server/server.ts | 121 + src/node/server/websocket.ts | 51 + src/node/tsconfig.json | 14 + src/node/utils/open-browser.ts | 9 + src/node/utils/package.ts | 21 + src/node/utils/proxy-request.ts | 14 + src/node/utils/tui.ts | 13 + src/shared/Request.ts | 16 + src/shared/WebSocketMessage.ts | 17 + src/shared/constants.ts | 1 + src/shims.d.ts | 12 + stylelint.config.mjs | 9 + tsconfig.json | 131 + vite.config.ts | 28 + yarn.lock | 4592 +++++++++++++++++ 142 files changed, 8075 insertions(+) create mode 100644 .editorconfig create mode 100644 .gitattributes create mode 100644 .github/dependabot.yml create mode 100644 .github/workflows/yarn-dedupe.yml create mode 100644 .gitignore create mode 100644 .prettierignore create mode 100644 .prettierrc create mode 100644 .run/build_client.run.xml create mode 100644 .run/build_node.run.xml create mode 100644 .run/dev.run.xml create mode 100644 .run/run_node.run.xml create mode 100755 .yarn/releases/yarn-4.3.1.cjs create mode 100644 .yarnrc.yml create mode 100644 LICENSE create mode 100644 README.md create mode 100644 cert/cert.pem create mode 100644 cert/key.pem create mode 100644 eslint.config.mjs create mode 100644 index.html create mode 100644 package.json create mode 100644 src/client/app.ts create mode 100644 src/client/components/app/AppHeader/VAppHeader.scss create mode 100644 src/client/components/app/AppHeader/VAppHeader.tsx create mode 100644 src/client/components/app/AppHeader/index.ts create mode 100644 src/client/components/app/DownloadData/VDownloadData.tsx create mode 100644 src/client/components/app/DownloadData/index.ts create mode 100644 src/client/components/app/NavBar/VNavBar.scss create mode 100644 src/client/components/app/NavBar/VNavBar.tsx create mode 100644 src/client/components/app/NavBar/index.ts create mode 100644 src/client/components/app/index.ts create mode 100644 src/client/components/core/App/App.scss create mode 100644 src/client/components/core/App/App.tsx create mode 100644 src/client/components/core/App/index.ts create mode 100644 src/client/components/core/Btn/VBtn.scss create mode 100644 src/client/components/core/Btn/VBtn.tsx create mode 100644 src/client/components/core/Btn/index.ts create mode 100644 src/client/components/core/Card/VCard.scss create mode 100644 src/client/components/core/Card/VCard.tsx create mode 100644 src/client/components/core/Card/index.ts create mode 100644 src/client/components/core/Container/VContainer.scss create mode 100644 src/client/components/core/Container/VContainer.tsx create mode 100644 src/client/components/core/Container/index.ts create mode 100644 src/client/components/core/Divider/VDivider.scss create mode 100644 src/client/components/core/Divider/VDivider.tsx create mode 100644 src/client/components/core/Divider/index.ts create mode 100644 src/client/components/core/Icon/VIcon.scss create mode 100644 src/client/components/core/Icon/VIcon.tsx create mode 100644 src/client/components/core/Icon/index.ts create mode 100644 src/client/components/core/List/VList.scss create mode 100644 src/client/components/core/List/VList.tsx create mode 100644 src/client/components/core/List/VListGroup.tsx create mode 100644 src/client/components/core/List/VListItem.tsx create mode 100644 src/client/components/core/List/index.ts create mode 100644 src/client/components/core/Sheet/VSheet.tsx create mode 100644 src/client/components/core/Sheet/index.ts create mode 100644 src/client/components/core/Table/VTable.scss create mode 100644 src/client/components/core/Table/VTable.tsx create mode 100644 src/client/components/core/Table/index.ts create mode 100644 src/client/components/core/index.ts create mode 100644 src/client/components/index.ts create mode 100644 src/client/icons/account_tree.ts create mode 100644 src/client/icons/chevron_left.ts create mode 100644 src/client/icons/chevron_right.ts create mode 100644 src/client/icons/code.ts create mode 100644 src/client/icons/code_blocks.ts create mode 100644 src/client/icons/css.ts create mode 100644 src/client/icons/csv.ts create mode 100644 src/client/icons/deployed_code.ts create mode 100644 src/client/icons/encrypted.ts create mode 100644 src/client/icons/help.ts create mode 100644 src/client/icons/html.ts create mode 100644 src/client/icons/index.ts create mode 100644 src/client/icons/info.ts create mode 100644 src/client/icons/input.ts create mode 100644 src/client/icons/input_circle.ts create mode 100644 src/client/icons/javascript.ts create mode 100644 src/client/icons/keyboard_arrow_down.ts create mode 100644 src/client/icons/keyboard_arrow_left.ts create mode 100644 src/client/icons/keyboard_arrow_right.ts create mode 100644 src/client/icons/keyboard_arrow_up.ts create mode 100644 src/client/icons/lock.ts create mode 100644 src/client/icons/lock_open.ts create mode 100644 src/client/icons/monitoring.ts create mode 100644 src/client/icons/output.ts create mode 100644 src/client/icons/output_circle.ts create mode 100644 src/client/icons/query_stats.ts create mode 100644 src/client/icons/save.ts create mode 100644 src/client/icons/save_as.ts create mode 100644 src/client/icons/schema.ts create mode 100644 src/client/icons/settings.ts create mode 100644 src/client/icons/splitscreen.ts create mode 100644 src/client/icons/splitscreen_add.ts create mode 100644 src/client/icons/splitscreen_bottom.ts create mode 100644 src/client/icons/splitscreen_left.ts create mode 100644 src/client/icons/splitscreen_right.ts create mode 100644 src/client/icons/splitscreen_top.ts create mode 100644 src/client/icons/splitscreen_vertical_add.ts create mode 100644 src/client/icons/table.ts create mode 100644 src/client/icons/table_rows.ts create mode 100644 src/client/icons/table_rows_narrow.ts create mode 100644 src/client/main.ts create mode 100644 src/client/router/RouteNames.ts create mode 100644 src/client/router/index.ts create mode 100644 src/client/stores/request.ts create mode 100644 src/client/style/_content.scss create mode 100644 src/client/style/_display.scss create mode 100644 src/client/style/_flex.scss create mode 100644 src/client/style/_gap.scss create mode 100644 src/client/style/_headers.scss create mode 100644 src/client/style/_overflow.scss create mode 100644 src/client/style/_reset.scss create mode 100644 src/client/style/_sass-vars.scss create mode 100644 src/client/style/_utilities.scss create mode 100644 src/client/style/_vars.scss create mode 100644 src/client/style/main.scss create mode 100644 src/client/tsconfig.json create mode 100644 src/client/utils/websocket.ts create mode 100644 src/client/views/404.tsx create mode 100644 src/client/views/Sequence.tsx create mode 100644 src/env.d.ts create mode 100644 src/node/index.ts create mode 100644 src/node/logger.ts create mode 100644 src/node/server/content-type.ts create mode 100644 src/node/server/handler.ts create mode 100644 src/node/server/index.ts create mode 100644 src/node/server/self-handler.ts create mode 100644 src/node/server/server-info.ts create mode 100644 src/node/server/server.ts create mode 100644 src/node/server/websocket.ts create mode 100644 src/node/tsconfig.json create mode 100644 src/node/utils/open-browser.ts create mode 100644 src/node/utils/package.ts create mode 100644 src/node/utils/proxy-request.ts create mode 100644 src/node/utils/tui.ts create mode 100644 src/shared/Request.ts create mode 100644 src/shared/WebSocketMessage.ts create mode 100644 src/shared/constants.ts create mode 100644 src/shims.d.ts create mode 100644 stylelint.config.mjs create mode 100644 tsconfig.json create mode 100644 vite.config.ts create mode 100644 yarn.lock diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 00000000..1ed453a3 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,10 @@ +root = true + +[*] +end_of_line = lf +insert_final_newline = true + +[*.{js,json,yml}] +charset = utf-8 +indent_style = space +indent_size = 2 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 00000000..af3ad128 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,4 @@ +/.yarn/** linguist-vendored +/.yarn/releases/* binary +/.yarn/plugins/**/* binary +/.pnp.* binary linguist-generated diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 00000000..138c6b76 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,42 @@ +# To get started with Dependabot version updates, you'll need to specify which +# package ecosystems to update and where the package manifests are located. +# Please see the documentation for all configuration options: +# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates + +version: 2 +updates: + - package-ecosystem: 'npm' # See documentation for possible values + directory: '/' # Location of package manifests + open-pull-requests-limit: 25 + # target-branch: "package-updates" + + schedule: + interval: 'monthly' + # Check for npm updates at 0am UTC + time: '00:00' + # Check for npm updates on Mondays (Sunday night) + day: 'monday' + + groups: + eslint: + patterns: + - 'eslint*' + - 'globals' + - '@eslint/*' + - '@typescript-eslint/*' + - '@rushstack/eslint-patch' + - '@types/eslint' + stylelint: + patterns: + - 'stylelint*' + vue: + patterns: + - 'vue*' + - '@vue/*' + vite: + patterns: + - 'vite*' + - '@vitejs/*' + vueuse: + patterns: + - '@vueuse/*' diff --git a/.github/workflows/yarn-dedupe.yml b/.github/workflows/yarn-dedupe.yml new file mode 100644 index 00000000..88d5ccf7 --- /dev/null +++ b/.github/workflows/yarn-dedupe.yml @@ -0,0 +1,43 @@ +name: Yarn Dedupe + +on: + workflow_dispatch: + workflow_run: + workflows: ["Pull Request merged"] + types: + - completed + #schedule: + # - cron: '0 1 * * *' + +jobs: + yarn_dedupe: + name: "Yarn dedupe" + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + + - name: Use Node.js 20.x + uses: actions/setup-node@v3 + with: + node-version: 20.x + cache: 'yarn' + + - name: Yarn install & dedupe + run: | + yarn install + yarn dedupe + + - name: Check changes + id: verify_diff + run: | + git diff --quiet . || echo "deduped_changes=true" >> $GITHUB_OUTPUT + + - name: Commit changes + if: steps.verify_diff.outputs.deduped_changes == 'true' + run: | + git config user.name "Joris Aerts" + git config user.email "github@jorisaerts.com" + git commit -a -m "[GitHub Actions] [yarn] dedupe" + git push diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..52d8095a --- /dev/null +++ b/.gitignore @@ -0,0 +1,139 @@ +.yarn/* +!.yarn/patches +!.yarn/plugins +!.yarn/releases +!.yarn/sdks +!.yarn/versions + +# Swap the comments on the following lines if you wish to use zero-installs +# In that case, don't forget to run `yarn config set enableGlobalCache false`! +# Documentation here: https://yarnpkg.com/features/caching#zero-installs + +#!.yarn/cache +.pnp.* + +.idea + +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +lerna-debug.log* +.pnpm-debug.log* + +# Diagnostic reports (https://nodejs.org/api/report.html) +report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage +*.lcov + +# nyc test coverage +.nyc_output + +# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# Bower dependency directory (https://bower.io/) +bower_components + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (https://nodejs.org/api/addons.html) +build/Release + +# Dependency directories +node_modules/ +jspm_packages/ + +# Snowpack dependency directory (https://snowpack.dev/) +web_modules/ + +# TypeScript cache +*.tsbuildinfo + +# Optional npm cache directory +.npm + +# Optional eslint cache +.eslintcache + +# Optional stylelint cache +.stylelintcache + +# Microbundle cache +.rpt2_cache/ +.rts2_cache_cjs/ +.rts2_cache_es/ +.rts2_cache_umd/ + +# Optional REPL history +.node_repl_history + +# Output of 'npm pack' +*.tgz + +# Yarn Integrity file +.yarn-integrity + +# dotenv environment variable files +.env +.env.development.local +.env.test.local +.env.production.local +.env.local + +# parcel-bundler cache (https://parceljs.org/) +.cache +.parcel-cache + +# Next.js build output +.next +out + +# Nuxt.js build / generate output +.nuxt +dist + +# Gatsby files +.cache/ +# Comment in the public line in if your project uses Gatsby and not Next.js +# https://nextjs.org/blog/next-9-1#public-directory-support +# public + +# vuepress build output +.vuepress/dist + +# vuepress v2.x temp and cache directory +.temp +.cache + +# Docusaurus cache and generated files +.docusaurus + +# Serverless directories +.serverless/ + +# FuseBox cache +.fusebox/ + +# DynamoDB Local files +.dynamodb/ + +# TernJS port file +.tern-port + +# Stores VSCode versions used for testing VSCode extensions +.vscode-test diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 00000000..1b8ac889 --- /dev/null +++ b/.prettierignore @@ -0,0 +1,3 @@ +# Ignore artifacts: +build +coverage diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 00000000..3dcd52ff --- /dev/null +++ b/.prettierrc @@ -0,0 +1,7 @@ +{ + "singleQuote": true, + "trailingComma": "es5", + "editorconfig": true, + "endOfLine": "lf", + "semi": false +} diff --git a/.run/build_client.run.xml b/.run/build_client.run.xml new file mode 100644 index 00000000..40cdd7b5 --- /dev/null +++ b/.run/build_client.run.xml @@ -0,0 +1,12 @@ + + + + + + + + diff --git a/package.json b/package.json new file mode 100644 index 00000000..8c6be09b --- /dev/null +++ b/package.json @@ -0,0 +1,51 @@ +{ + "name": "js-proxy", + "version": "0.0.1", + "license": "MIT", + "packageManager": "yarn@4.3.1", + "author": { + "name": "Joris Aerts" + }, + "scripts": { + "build:node": "tsc -p src/node --outDir dist --esModuleInterop | true && tsc-alias --dir dist", + "run:node": "node dist/node/index.js", + "build": "yarn build:node && yarn build:client", + "dev": "vite", + "build:client": "vite build", + "preview": "vite preview" + }, + "private": true, + "main": "dist/index.js", + "type": "module", + "dependencies": { + "picocolors": "^1.0.1", + "ws": "^8.18.0" + }, + "devDependencies": { + "@eslint/js": "9.7.0", + "@types/node": "20.14.11", + "@types/ws": "^8.5.11", + "@vitejs/plugin-vue": "5.0.5", + "@vitejs/plugin-vue-jsx": "4.0.0", + "eslint": "9.7.0", + "eslint-plugin-vue": "9.27.0", + "globals": "15.8.0", + "pinia": "2.1.7", + "postcss": "^8.4.39", + "prettier": "3.3.3", + "sass": "1.77.8", + "stylelint": "^16.7.0", + "stylelint-config-standard-scss": "^13.1.0", + "tsc-alias": "^1.8.10", + "type-fest": "^4.22.0", + "typescript": "^5.5.3", + "typescript-eslint": "7.16.1", + "vite": "5.3.4", + "vite-plugin-vue-devtools": "7.3.6", + "vue": "3.4.32", + "vue-router": "4.4.0" + }, + "resolutions": { + "postcss": "^8.4.39" + } +} diff --git a/src/client/app.ts b/src/client/app.ts new file mode 100644 index 00000000..1dc64cf6 --- /dev/null +++ b/src/client/app.ts @@ -0,0 +1,11 @@ +import { createApp } from 'vue' +import { createPinia } from 'pinia' +import { router } from './router' +import { App } from './components' + +import './utils/websocket' + +export const app = createApp(App) + +app.use(createPinia()) +app.use(router) diff --git a/src/client/components/app/AppHeader/VAppHeader.scss b/src/client/components/app/AppHeader/VAppHeader.scss new file mode 100644 index 00000000..5a4260fc --- /dev/null +++ b/src/client/components/app/AppHeader/VAppHeader.scss @@ -0,0 +1,2 @@ +:root { +} diff --git a/src/client/components/app/AppHeader/VAppHeader.tsx b/src/client/components/app/AppHeader/VAppHeader.tsx new file mode 100644 index 00000000..394d13c3 --- /dev/null +++ b/src/client/components/app/AppHeader/VAppHeader.tsx @@ -0,0 +1,15 @@ +import { defineComponent, Teleport } from 'vue' +import { APP_NAME } from '../../../../shared/constants' +import './VAppHeader.scss' + +export const VAppHeader = defineComponent({ + name: 'v-app-header', + + setup() { + return () => ( + + {APP_NAME} + + ) + }, +}) diff --git a/src/client/components/app/AppHeader/index.ts b/src/client/components/app/AppHeader/index.ts new file mode 100644 index 00000000..6b4fd4d5 --- /dev/null +++ b/src/client/components/app/AppHeader/index.ts @@ -0,0 +1 @@ +export * from './VAppHeader' diff --git a/src/client/components/app/DownloadData/VDownloadData.tsx b/src/client/components/app/DownloadData/VDownloadData.tsx new file mode 100644 index 00000000..59d75078 --- /dev/null +++ b/src/client/components/app/DownloadData/VDownloadData.tsx @@ -0,0 +1,26 @@ +import { defineComponent } from 'vue' + +export const VDownloadData = defineComponent({ + name: 'v-nav-bar', + + props: { + type: { type: String, default: 'text/plain' }, + charset: { type: String, default: 'utf-8' }, + data: { type: String, required: true }, + filename: { type: String, default: 'download' }, + + tooltip: { type: String, default: '' }, + }, + + setup(props, { slots }) { + return () => ( + + {slots.default?.()} + + ) + }, +}) diff --git a/src/client/components/app/DownloadData/index.ts b/src/client/components/app/DownloadData/index.ts new file mode 100644 index 00000000..b477230d --- /dev/null +++ b/src/client/components/app/DownloadData/index.ts @@ -0,0 +1 @@ +export * from './VDownloadData' diff --git a/src/client/components/app/NavBar/VNavBar.scss b/src/client/components/app/NavBar/VNavBar.scss new file mode 100644 index 00000000..d90c07cc --- /dev/null +++ b/src/client/components/app/NavBar/VNavBar.scss @@ -0,0 +1,5 @@ +//@use '../../../style/main' as *; + +.v-nav-bar { + +} diff --git a/src/client/components/app/NavBar/VNavBar.tsx b/src/client/components/app/NavBar/VNavBar.tsx new file mode 100644 index 00000000..d1e26403 --- /dev/null +++ b/src/client/components/app/NavBar/VNavBar.tsx @@ -0,0 +1,20 @@ +import { defineComponent } from 'vue' +import { VCard, VIcon } from '../../core' +import { APP_NAME } from '../../../../shared/constants' +import './VNavBar.scss' + +export const VNavBar = defineComponent({ + name: 'v-nav-bar', + + setup(props, { slots }) { + return () => ( + +

+ + {APP_NAME} +

+ {slots.default?.()} +
+ ) + }, +}) diff --git a/src/client/components/app/NavBar/index.ts b/src/client/components/app/NavBar/index.ts new file mode 100644 index 00000000..1b4fd2ec --- /dev/null +++ b/src/client/components/app/NavBar/index.ts @@ -0,0 +1 @@ +export * from './VNavBar' diff --git a/src/client/components/app/index.ts b/src/client/components/app/index.ts new file mode 100644 index 00000000..169216ea --- /dev/null +++ b/src/client/components/app/index.ts @@ -0,0 +1,3 @@ +export * from './AppHeader' +export * from './DownloadData' +export * from './NavBar' diff --git a/src/client/components/core/App/App.scss b/src/client/components/core/App/App.scss new file mode 100644 index 00000000..72e476f1 --- /dev/null +++ b/src/client/components/core/App/App.scss @@ -0,0 +1 @@ +@use "../../../style/vars" as *; diff --git a/src/client/components/core/App/App.tsx b/src/client/components/core/App/App.tsx new file mode 100644 index 00000000..b9ad05d0 --- /dev/null +++ b/src/client/components/core/App/App.tsx @@ -0,0 +1,17 @@ +import { defineComponent } from 'vue' +import { RouterView } from 'vue-router' +import { VAppHeader, VNavBar } from '../../app' + +export const App = defineComponent({ + name: 'v-app', + + setup() { + return () => ( +
+ + + +
+ ) + }, +}) diff --git a/src/client/components/core/App/index.ts b/src/client/components/core/App/index.ts new file mode 100644 index 00000000..d213231e --- /dev/null +++ b/src/client/components/core/App/index.ts @@ -0,0 +1 @@ +export * from './App' diff --git a/src/client/components/core/Btn/VBtn.scss b/src/client/components/core/Btn/VBtn.scss new file mode 100644 index 00000000..ba5f6efa --- /dev/null +++ b/src/client/components/core/Btn/VBtn.scss @@ -0,0 +1,68 @@ +@use '../../../style/sass-vars' as *; + +:root { + --btn-padding: #{$spacer * 1.5} #{$spacer * 4}; + --btn-rounding: #{$spacer * 1.5}; + --btn-font-weight: 500; +} + +.v-btn { + @at-root button.v-btn { + --underlay-opacity: 0; + + position: relative; + background: rgb(var(--primary-color)); + box-shadow: inset -1px 1px 1px rgba(255, 255, 255, 25%), + -0 1px 2px rgba(0, 0, 0, 50%); + overflow: hidden; + border: none; + line-height: 1; + padding: var(--btn-padding); + border-radius: var(--btn-rounding); + outline: none; + cursor: pointer; + color: rgb(var(--text-color)); + } + + &__underlay { + position: absolute; + inset: 0; + width: 100%; + height: 100%; + border-radius: $spacer; + } + + &__underlay { + background: white; + opacity: var(--underlay-opacity); + } + + &--transparent { + background: transparent; + } + + .btn--prepend-icon { + margin-left: -2 * $spacer; + margin-right: 1 * $spacer; + } + + &--content { + position: relative; + display: flex; + align-items: center; + font-weight: var(--btn-font-weight); + } + + &:hover { + --underlay-opacity: 0.05; + } + + &.selected, + &:active { + --underlay-opacity: 0.2; + } + + &.active { + background: rgba(var(--primary-color), 1); + } +} diff --git a/src/client/components/core/Btn/VBtn.tsx b/src/client/components/core/Btn/VBtn.tsx new file mode 100644 index 00000000..a39b6a73 --- /dev/null +++ b/src/client/components/core/Btn/VBtn.tsx @@ -0,0 +1,76 @@ +import type { PropType } from 'vue' +import { defineComponent } from 'vue' +import type { IconNames } from '../Icon' +import { VIcon } from '../Icon' +import './VBtn.scss' + +export enum EventTypes { + Click = 'click', +} + +export const VBtn = defineComponent({ + name: 'v-btn', + + emits: [EventTypes.Click], + + inheritAttrs: false, + + props: { + icon: { type: String as PropType }, + iconColor: { type: String }, + size: { type: Number, default: 22 }, + dropdown: { type: Boolean, default: false }, + + color: { type: String }, + + transparent: { type: Boolean, default: false }, + }, + + setup(props, { attrs, emit, slots }) { + return () => { + const content = slots.default?.() + return ( + + ) + } + }, +}) diff --git a/src/client/components/core/Btn/index.ts b/src/client/components/core/Btn/index.ts new file mode 100644 index 00000000..51e72917 --- /dev/null +++ b/src/client/components/core/Btn/index.ts @@ -0,0 +1 @@ +export * from './VBtn' diff --git a/src/client/components/core/Card/VCard.scss b/src/client/components/core/Card/VCard.scss new file mode 100644 index 00000000..1c40589c --- /dev/null +++ b/src/client/components/core/Card/VCard.scss @@ -0,0 +1,8 @@ +.v-card { + border-radius: var(--border-radius); + background: rgba(var(--background-color), 0.05); + + &--clickable { + cursor: pointer; + } +} diff --git a/src/client/components/core/Card/VCard.tsx b/src/client/components/core/Card/VCard.tsx new file mode 100644 index 00000000..b277482d --- /dev/null +++ b/src/client/components/core/Card/VCard.tsx @@ -0,0 +1,25 @@ +import './VCard.scss' +import { defineComponent } from 'vue' +import { VSheet } from '../Sheet' + +export const VCard = defineComponent({ + name: 'v-card', + + props: { + center: { type: Boolean, default: false }, + vertical: { type: Boolean, default: false }, + }, + + inheritAttrs: false, + + setup(props, { slots, attrs }) { + return () => ( + + {slots.default?.()} + + ) + }, +}) diff --git a/src/client/components/core/Card/index.ts b/src/client/components/core/Card/index.ts new file mode 100644 index 00000000..1bd5074a --- /dev/null +++ b/src/client/components/core/Card/index.ts @@ -0,0 +1 @@ +export * from './VCard' diff --git a/src/client/components/core/Container/VContainer.scss b/src/client/components/core/Container/VContainer.scss new file mode 100644 index 00000000..d71676a3 --- /dev/null +++ b/src/client/components/core/Container/VContainer.scss @@ -0,0 +1,9 @@ +.v-container { + display: flex; + width: 100%; + + &.center { + align-items: center; + } + +} diff --git a/src/client/components/core/Container/VContainer.tsx b/src/client/components/core/Container/VContainer.tsx new file mode 100644 index 00000000..e8d9b3e9 --- /dev/null +++ b/src/client/components/core/Container/VContainer.tsx @@ -0,0 +1,26 @@ +import './VContainer.scss' +import { defineComponent } from 'vue' +import { VSheet } from '../Sheet' + +export const VContainer = defineComponent({ + name: 'v-container', + + props: { + center: { type: Boolean, default: false }, + vertical: { type: Boolean, default: false }, + }, + + setup(props, { slots, attrs }) { + return () => ( + + {slots.default?.()} + + ) + }, +}) diff --git a/src/client/components/core/Container/index.ts b/src/client/components/core/Container/index.ts new file mode 100644 index 00000000..c79a6008 --- /dev/null +++ b/src/client/components/core/Container/index.ts @@ -0,0 +1 @@ +export * from './VContainer' diff --git a/src/client/components/core/Divider/VDivider.scss b/src/client/components/core/Divider/VDivider.scss new file mode 100644 index 00000000..43875df3 --- /dev/null +++ b/src/client/components/core/Divider/VDivider.scss @@ -0,0 +1,22 @@ +.v-divider { + display: block; + + //margin: -1px 0 0 0; + overflow: hidden; + background: rgba(255, 255, 255, 20%); + height: 1px; + min-height: 1px; + max-height: 1px; + width: 100%; + min-width: 100%; + max-width: 100%; + + &.vertical { + width: 1px; + min-width: 1px; + max-width: 1px; + height: 100%; + min-height: 100%; + max-height: 100%; + } +} diff --git a/src/client/components/core/Divider/VDivider.tsx b/src/client/components/core/Divider/VDivider.tsx new file mode 100644 index 00000000..5067d238 --- /dev/null +++ b/src/client/components/core/Divider/VDivider.tsx @@ -0,0 +1,26 @@ +import './VDivider.scss' +import { defineComponent } from 'vue' + +export default defineComponent({ + name: 'v-divider', + + props: { + vertical: { type: Boolean, default: false }, + }, + + setup(props, { attrs, slots }) { + return () => ( +
+ {slots.default?.()} +
+ ) + }, +}) diff --git a/src/client/components/core/Divider/index.ts b/src/client/components/core/Divider/index.ts new file mode 100644 index 00000000..28686838 --- /dev/null +++ b/src/client/components/core/Divider/index.ts @@ -0,0 +1 @@ +export * from './VDivider' diff --git a/src/client/components/core/Icon/VIcon.scss b/src/client/components/core/Icon/VIcon.scss new file mode 100644 index 00000000..d031269d --- /dev/null +++ b/src/client/components/core/Icon/VIcon.scss @@ -0,0 +1,12 @@ +.v-icon { + align-items: center; + display: flex; + + svg { + * { + fill: currentcolor; + } + + } + +} diff --git a/src/client/components/core/Icon/VIcon.tsx b/src/client/components/core/Icon/VIcon.tsx new file mode 100644 index 00000000..6aef1b82 --- /dev/null +++ b/src/client/components/core/Icon/VIcon.tsx @@ -0,0 +1,30 @@ +import './VIcon.scss' +import type { PropType } from 'vue' +import { defineComponent } from 'vue' +import * as icons from '../../../icons' + +export type IconNames = keyof typeof icons + +export const VIcon = defineComponent({ + name: 'v-icon', + + props: { + name: { type: String as PropType }, + path: { type: String as PropType }, + size: { type: Number as PropType, default: 18 }, + color: { type: String }, + }, + + setup(props, { attrs }) { + return () => ( + + + + + + ) + }, +}) diff --git a/src/client/components/core/Icon/index.ts b/src/client/components/core/Icon/index.ts new file mode 100644 index 00000000..0544f856 --- /dev/null +++ b/src/client/components/core/Icon/index.ts @@ -0,0 +1 @@ +export * from './VIcon' diff --git a/src/client/components/core/List/VList.scss b/src/client/components/core/List/VList.scss new file mode 100644 index 00000000..da635d72 --- /dev/null +++ b/src/client/components/core/List/VList.scss @@ -0,0 +1,60 @@ +@use '../../../style/sass-vars' as *; + +:root { + --list-ident: calc(2 * #{$spacer}); + --list-padding: calc(2 * #{$spacer}); +} + +.v-list { + --parent-padding: 0px; + + .v-list-item { + --list-ident-padding: calc(var(--parent-padding) + var(--list-ident)); + } + + .v-list-group { + --list-ident-padding: calc(var(--parent-padding) + var(--list-ident)); + + &--activator { + --list-ident-padding: var(--parent-padding); + } + + &--items { + --parent-padding: var(--list-ident-padding); + } + } +} + +.v-list-item { + display: flex; + align-items: center; + cursor: default; + padding: var(--list-padding); + padding-inline-start: var(--list-ident-padding); + + &--prepend { + flex-grow: 0; + flex-shrink: 1; + + &-icon { + margin-right: $spacer * 2; + } + } + + &--append { + flex-grow: 0; + flex-shrink: 1; + + &-icon { + margin-left: $spacer * 2; + } + } + + &--content { + flex-grow: 1; + } + + &:hover { + background: rgba(255, 255, 255, 5%); + } +} diff --git a/src/client/components/core/List/VList.tsx b/src/client/components/core/List/VList.tsx new file mode 100644 index 00000000..c5bc0b7a --- /dev/null +++ b/src/client/components/core/List/VList.tsx @@ -0,0 +1,14 @@ +import './VList.scss' +import { defineComponent } from 'vue' + +export const VList = defineComponent({ + name: 'v-list', + + setup(props, { attrs, slots }) { + return () => ( +
+ {slots.default?.()} +
+ ) + }, +}) diff --git a/src/client/components/core/List/VListGroup.tsx b/src/client/components/core/List/VListGroup.tsx new file mode 100644 index 00000000..2119e2f0 --- /dev/null +++ b/src/client/components/core/List/VListGroup.tsx @@ -0,0 +1,22 @@ +import { defineComponent } from 'vue' +import { VListItem } from './VListItem' +import './VList.scss' + +export const VListGroup = defineComponent({ + name: 'v-list-group', + + setup(props, { attrs, slots }) { + const onClick = () => {} + + return () => ( +
+
+ {slots.activator?.({ onClick }) ?? ( +   + )} +
+
{slots.default?.()}
+
+ ) + }, +}) diff --git a/src/client/components/core/List/VListItem.tsx b/src/client/components/core/List/VListItem.tsx new file mode 100644 index 00000000..02a47917 --- /dev/null +++ b/src/client/components/core/List/VListItem.tsx @@ -0,0 +1,54 @@ +import type { PropType } from 'vue' +import { defineComponent } from 'vue' +import type { IconNames } from '../Icon' +import { VIcon } from '../Icon' +import './VList.scss' + +export const VListItem = defineComponent({ + name: 'v-list-item', + + emits: ['click'], + + props: { + noIcons: { type: Boolean, default: false }, + prependIcon: { + type: [String, Boolean] as PropType, + default: undefined, + }, + appendIcon: { + type: [String, Boolean] as PropType, + default: undefined, + }, + }, + + setup(props, { attrs, slots, emit }) { + const renderIcon = ( + name: IconNames | boolean | undefined, + className: string + ) => + name === false ? undefined : ( + + ) + + return () => ( +
emit('click', e)} + > + {slots.prepend?.()} + {props.prependIcon && + renderIcon(props.prependIcon, 'v-list-item--prepend-icon')} + {slots.default?.()} + {props.appendIcon && + renderIcon(props.appendIcon, 'v-list-item--append-icon')} + {slots.append?.()} +
+ ) + }, +}) diff --git a/src/client/components/core/List/index.ts b/src/client/components/core/List/index.ts new file mode 100644 index 00000000..7ed85806 --- /dev/null +++ b/src/client/components/core/List/index.ts @@ -0,0 +1,3 @@ +export * from './VList' +export * from './VListGroup' +export * from './VListItem' diff --git a/src/client/components/core/Sheet/VSheet.tsx b/src/client/components/core/Sheet/VSheet.tsx new file mode 100644 index 00000000..1ab9eb6d --- /dev/null +++ b/src/client/components/core/Sheet/VSheet.tsx @@ -0,0 +1,13 @@ +import { defineComponent } from 'vue' + +export const VSheet = defineComponent({ + name: 'v-sheet', + + setup(props, { attrs, slots }) { + return () => ( +
+ {slots.default?.()} +
+ ) + }, +}) diff --git a/src/client/components/core/Sheet/index.ts b/src/client/components/core/Sheet/index.ts new file mode 100644 index 00000000..8d06c6d5 --- /dev/null +++ b/src/client/components/core/Sheet/index.ts @@ -0,0 +1 @@ +export * from './VSheet' diff --git a/src/client/components/core/Table/VTable.scss b/src/client/components/core/Table/VTable.scss new file mode 100644 index 00000000..19207751 --- /dev/null +++ b/src/client/components/core/Table/VTable.scss @@ -0,0 +1,38 @@ +@use "../../../style/vars" as *; + +.v-table { + --table-header-font-weight: var(--font-weight-bold); + --table-border-color: var(--border-color); + --table-border-size: var(--border-size); + --cell-border: var(--table-border-size) solid var(--table-border-color); + + @at-root & { + width: 100%; + border-collapse: collapse; + } + + > thead tr:last-child { + th, td { + border-bottom: var(--cell-border); + padding-bottom: 2 * $spacer; + } + } + + > tr:not(:first-child, :last-child), + > tbody > tr:not(:first-child) { + th, td { + border-top: var(--cell-border); + } + } + + td, th { + padding: calc(var(--spacer) * 0) calc(var(--spacer) * 2); + } + + th { + text-align: left; + font-weight: var(--table-header-font-weight); + } + + +} diff --git a/src/client/components/core/Table/VTable.tsx b/src/client/components/core/Table/VTable.tsx new file mode 100644 index 00000000..3c06101f --- /dev/null +++ b/src/client/components/core/Table/VTable.tsx @@ -0,0 +1,10 @@ +import { defineComponent } from 'vue' +import './VTable.scss' + +export const VTable = defineComponent({ + name: 'v-table', + + setup(props, { slots }) { + return () => {slots.default?.()}
+ }, +}) diff --git a/src/client/components/core/Table/index.ts b/src/client/components/core/Table/index.ts new file mode 100644 index 00000000..fb17aaec --- /dev/null +++ b/src/client/components/core/Table/index.ts @@ -0,0 +1 @@ +export * from './VTable' diff --git a/src/client/components/core/index.ts b/src/client/components/core/index.ts new file mode 100644 index 00000000..70698c46 --- /dev/null +++ b/src/client/components/core/index.ts @@ -0,0 +1,9 @@ +export * from './App' +export * from './Btn' +export * from './Card' +export * from './Container' +export * from './Divider' +export * from './Icon' +export * from './List' +export * from './Sheet' +export * from './Table' diff --git a/src/client/components/index.ts b/src/client/components/index.ts new file mode 100644 index 00000000..a96c9fbb --- /dev/null +++ b/src/client/components/index.ts @@ -0,0 +1,2 @@ +export * from './app' +export * from './core' diff --git a/src/client/icons/account_tree.ts b/src/client/icons/account_tree.ts new file mode 100644 index 00000000..7934233b --- /dev/null +++ b/src/client/icons/account_tree.ts @@ -0,0 +1,2 @@ +export const AccountTree = 'M15.55 20.475v-3.05h-3.925v-10.1h-3.15v3.1H2.525V3.525h5.95v3.025H15.55V3.525h5.925v6.9H15.55v-3.1h-3.175V16.65h3.175v-3.1h5.925v6.925ZM3.275 4.275v5.4ZM16.3 14.3v5.425Zm0-10.025v5.4Zm0 5.4h4.425V4.275H16.3Zm0 10.05h4.425V14.3H16.3ZM3.275 9.675h4.425V4.275H3.275Z' +export const AccountTree_Fill = 'M15.55 20.475v-3.05h-3.925v-10.1h-3.15v3.1H2.525V3.525h5.95v3.025H15.55V3.525h5.925v6.9H15.55v-3.1h-3.175V16.65h3.175v-3.1h5.925v6.925Z' \ No newline at end of file diff --git a/src/client/icons/chevron_left.ts b/src/client/icons/chevron_left.ts new file mode 100644 index 00000000..96c373fd --- /dev/null +++ b/src/client/icons/chevron_left.ts @@ -0,0 +1,2 @@ +export const ChevronLeft = 'M14 17.3L8.7 12 14 6.675l0.55 0.55L9.8 12l4.75 4.75Z' +export const ChevronLeft_Fill = 'M14 17.3L8.7 12 14 6.675l0.55 0.55L9.8 12l4.75 4.75Z' \ No newline at end of file diff --git a/src/client/icons/chevron_right.ts b/src/client/icons/chevron_right.ts new file mode 100644 index 00000000..1f84bb4a --- /dev/null +++ b/src/client/icons/chevron_right.ts @@ -0,0 +1,2 @@ +export const ChevronRight = 'M9.4 17.3l-0.55-0.55 4.75-4.75-4.75-4.775 0.55-0.55L14.7 12Z' +export const ChevronRight_Fill = 'M9.4 17.3l-0.55-0.55 4.75-4.75-4.75-4.775 0.55-0.55L14.7 12Z' \ No newline at end of file diff --git a/src/client/icons/code.ts b/src/client/icons/code.ts new file mode 100644 index 00000000..2c1e1355 --- /dev/null +++ b/src/client/icons/code.ts @@ -0,0 +1,2 @@ +export const Code = 'M8.025 17.25L2.725 11.95l5.3-5.275 0.55 0.55-4.775 4.75 4.75 4.75Zm7.95 0.05l-0.55-0.55L20.2 12l-4.75-4.775 0.55-0.55L21.3 11.95Z' +export const Code_Fill = 'M8.025 17.25L2.725 11.95l5.3-5.275 0.55 0.55-4.775 4.75 4.75 4.75Zm7.95 0.05l-0.55-0.55L20.2 12l-4.75-4.775 0.55-0.55L21.3 11.95Z' \ No newline at end of file diff --git a/src/client/icons/code_blocks.ts b/src/client/icons/code_blocks.ts new file mode 100644 index 00000000..25b57290 --- /dev/null +++ b/src/client/icons/code_blocks.ts @@ -0,0 +1,2 @@ +export const CodeBlocks = 'M9.55 14.825l0.55-0.575-2.25-2.25 2.25-2.225-0.575-0.575L6.75 12Zm4.925 0L17.25 12l-2.775-2.825-0.575 0.55L16.175 12l-2.275 2.25ZM5.4 19.975q-0.575 0-0.975-0.4t-0.4-0.975V5.4q0-0.575 0.4-0.975t0.975-0.4h13.2q0.575 0 0.975 0.4t0.4 0.975v13.2q0 0.575-0.4 0.975t-0.975 0.4Zm0-0.75h13.2q0.225 0 0.425-0.2 0.2-0.2 0.2-0.425V5.4q0-0.225-0.2-0.425-0.2-0.2-0.425-0.2H5.4q-0.225 0-0.425 0.2-0.2 0.2-0.2 0.425v13.2q0 0.225 0.2 0.425 0.2 0.2 0.425 0.2ZM4.775 4.775v14.45-14.45Z' +export const CodeBlocks_Fill = 'M9.55 14.825l0.55-0.575-2.25-2.25 2.25-2.225-0.575-0.575L6.75 12Zm4.925 0L17.25 12l-2.775-2.825-0.575 0.55L16.175 12l-2.275 2.25ZM5.4 19.975q-0.575 0-0.975-0.4t-0.4-0.975V5.4q0-0.575 0.4-0.975t0.975-0.4h13.2q0.575 0 0.975 0.4t0.4 0.975v13.2q0 0.575-0.4 0.975t-0.975 0.4Z' \ No newline at end of file diff --git a/src/client/icons/css.ts b/src/client/icons/css.ts new file mode 100644 index 00000000..676e51ec --- /dev/null +++ b/src/client/icons/css.ts @@ -0,0 +1,2 @@ +export const Css = 'M10.525 14.675q-0.3 0-0.4875-0.2T9.85 14v-1h0.725v0.95h2.9v-1.65h-3.1q-0.25 0-0.3875-0.1375T9.85 11.75V10q0-0.275 0.1875-0.475 0.1875-0.2 0.4875-0.2h3q0.3 0 0.5 0.1875t0.2 0.4875v1h-0.75v-0.95h-2.9v1.65h3.1q0.225 0 0.3875 0.1375t0.1625 0.3875V14q0 0.275-0.2 0.475-0.2 0.2-0.5 0.2Zm6.425 0q-0.325 0-0.5125-0.2-0.1875-0.2-0.1875-0.475v-1h0.725v0.95h2.925v-1.65h-3.125q-0.225 0-0.375-0.1375t-0.15-0.4125V10q0-0.275 0.1875-0.475 0.1875-0.2 0.5125-0.2h2.975q0.3 0 0.5 0.1875t0.2 0.4875v1H19.9v-0.95h-2.925v1.65h3.1q0.225 0 0.3875 0.1375t0.1625 0.3875V14q0 0.275-0.2 0.475-0.2 0.2-0.5 0.2Zm-12.825 0q-0.3 0-0.4875-0.2T3.45 14v-4q0-0.275 0.1875-0.475 0.1875-0.2 0.4875-0.2h3q0.3 0 0.4875 0.1875T7.8 10v1h-0.725v-0.95h-2.9v3.9h2.9V13h0.725v1q0 0.275-0.1875 0.475-0.1875 0.2-0.4875 0.2Z' +export const Css_Fill = 'M10.525 14.675q-0.3 0-0.4875-0.2T9.85 14v-1h0.725v0.95h2.9v-1.65h-3.1q-0.25 0-0.3875-0.1375T9.85 11.75V10q0-0.275 0.1875-0.475 0.1875-0.2 0.4875-0.2h3q0.3 0 0.5 0.1875t0.2 0.4875v1h-0.75v-0.95h-2.9v1.65h3.1q0.225 0 0.3875 0.1375t0.1625 0.3875V14q0 0.275-0.2 0.475-0.2 0.2-0.5 0.2Zm6.425 0q-0.325 0-0.5125-0.2-0.1875-0.2-0.1875-0.475v-1h0.725v0.95h2.925v-1.65h-3.125q-0.225 0-0.375-0.1375t-0.15-0.4125V10q0-0.275 0.1875-0.475 0.1875-0.2 0.5125-0.2h2.975q0.3 0 0.5 0.1875t0.2 0.4875v1H19.9v-0.95h-2.925v1.65h3.1q0.225 0 0.3875 0.1375t0.1625 0.3875V14q0 0.275-0.2 0.475-0.2 0.2-0.5 0.2Zm-12.825 0q-0.3 0-0.4875-0.2T3.45 14v-4q0-0.275 0.1875-0.475 0.1875-0.2 0.4875-0.2h3q0.3 0 0.4875 0.1875T7.8 10v1h-0.725v-0.95h-2.9v3.9h2.9V13h0.725v1q0 0.275-0.1875 0.475-0.1875 0.2-0.4875 0.2Z' \ No newline at end of file diff --git a/src/client/icons/csv.ts b/src/client/icons/csv.ts new file mode 100644 index 00000000..8573fcaf --- /dev/null +++ b/src/client/icons/csv.ts @@ -0,0 +1,2 @@ +export const Csv = 'M6.30865 14.7202h2.380775v-0.760575h-2.3047999999999997q-0.1154 0-0.21155000000000002-0.09617500000000001-0.09615000000000001-0.09615000000000001-0.09615000000000001-0.21152500000000002v-3.30385q0-0.115375 0.09615000000000001-0.21152500000000002 0.09615000000000001-0.09617500000000001 0.21155000000000002-0.09617500000000001h2.3047999999999997v-0.760575h-2.380775q-0.42264999999999997 0-0.7074750000000001 0.28650000000000003-0.28482500000000005 0.286475-0.28482500000000005 0.7115750000000001v3.450025q0 0.42262500000000003 0.28482500000000005 0.7074750000000001 0.28482500000000005 0.28482500000000005 0.7074750000000001 0.28482500000000005Zm3.81155 0.0028750000000000004h2.49615q0.43947500000000006 0 0.7159-0.28482500000000005 0.2764-0.28482500000000005 0.2764-0.7074750000000001v-1.1259750000000002q0-0.399025-0.2836-0.66635-0.2836-0.26730000000000004-0.7087-0.26730000000000004h-1.4279000000000002q-0.115375 0-0.21152500000000002-0.09615000000000001t-0.09615000000000001-0.21152500000000002v-1.018275q0-0.1154 0.09615000000000001-0.21155000000000002t0.21152500000000002-0.09615000000000001h2.4202000000000004v-0.760575H11.1125q-0.42264999999999997 0-0.7074750000000001 0.28482500000000005t-0.28482500000000005 0.7074750000000001v1.1259750000000002q0 0.425775 0.292 0.69655 0.292025 0.27075 0.7003 0.27075h1.4278750000000002q0.1154 0 0.21155000000000002 0.09615000000000001t0.09615000000000001 0.21155000000000002v0.9846q0 0.1154-0.09615000000000001 0.21155000000000002t-0.21155000000000002 0.09615000000000001h-2.4201750000000004v0.760575Zm6.205325-0.0028750000000000004h1.169675l1.602875-5.4404h-0.799025l-1.3855750000000002 4.7894250000000005-1.309625-4.7894250000000005h-0.79905l1.520725 5.4404ZM4.3948 18.97405q-0.55605 0-0.961-0.4049750000000001-0.40495000000000003-0.40495000000000003-0.40495000000000003-0.9614250000000001v-11.215300000000001q0-0.556475 0.40495000000000003-0.9614250000000001 0.40495000000000003-0.4049750000000001 0.961-0.4049750000000001h15.210400000000002q0.55605 0 0.961 0.4049750000000001 0.40495000000000003 0.40495000000000003 0.40495000000000003 0.9614250000000001v11.215300000000001q0 0.556475-0.40495000000000003 0.9614250000000001-0.40495000000000003 0.4049750000000001-0.961 0.4049750000000001H4.3948Zm0.0042250000000000005-0.7548250000000001h15.20195q0.23075 0 0.423075-0.19230000000000003 0.19230000000000003-0.19230000000000003 0.19230000000000003-0.423075v-11.2077q0-0.230775-0.19230000000000003-0.423075-0.192325-0.19230000000000003-0.423075-0.19230000000000003H4.399025000000001q-0.23075 0-0.423075 0.19230000000000003-0.19230000000000003 0.19230000000000003-0.19230000000000003 0.423075v11.2077q0 0.230775 0.19230000000000003 0.423075 0.192325 0.19230000000000003 0.423075 0.19230000000000003Zm-0.615375 0v-12.438450000000001 12.438450000000001Z' +export const Csv_Fill = 'M6.30865 14.7202h2.380775v-0.760575h-2.3047999999999997q-0.1154 0-0.21155000000000002-0.09617500000000001-0.09615000000000001-0.09615000000000001-0.09615000000000001-0.21152500000000002v-3.30385q0-0.115375 0.09615000000000001-0.21152500000000002 0.09615000000000001-0.09617500000000001 0.21155000000000002-0.09617500000000001h2.3047999999999997v-0.760575h-2.380775q-0.42264999999999997 0-0.7074750000000001 0.28650000000000003-0.28482500000000005 0.286475-0.28482500000000005 0.7115750000000001v3.450025q0 0.42262500000000003 0.28482500000000005 0.7074750000000001 0.28482500000000005 0.28482500000000005 0.7074750000000001 0.28482500000000005Zm3.81155 0.0028750000000000004h2.49615q0.43947500000000006 0 0.7159-0.28482500000000005 0.2764-0.28482500000000005 0.2764-0.7074750000000001v-1.1259750000000002q0-0.399025-0.2836-0.66635-0.2836-0.26730000000000004-0.7087-0.26730000000000004h-1.4279000000000002q-0.115375 0-0.21152500000000002-0.09615000000000001t-0.09615000000000001-0.21152500000000002v-1.018275q0-0.1154 0.09615000000000001-0.21155000000000002t0.21152500000000002-0.09615000000000001h2.4202000000000004v-0.760575H11.1125q-0.42264999999999997 0-0.7074750000000001 0.28482500000000005t-0.28482500000000005 0.7074750000000001v1.1259750000000002q0 0.425775 0.292 0.69655 0.292025 0.27075 0.7003 0.27075h1.4278750000000002q0.1154 0 0.21155000000000002 0.09615000000000001t0.09615000000000001 0.21155000000000002v0.9846q0 0.1154-0.09615000000000001 0.21155000000000002t-0.21155000000000002 0.09615000000000001h-2.4201750000000004v0.760575Zm6.205325-0.0028750000000000004h1.169675l1.602875-5.4404h-0.799025l-1.3855750000000002 4.7894250000000005-1.309625-4.7894250000000005h-0.79905l1.520725 5.4404ZM4.3948 18.97405q-0.55605 0-0.961-0.4049750000000001-0.40495000000000003-0.40495000000000003-0.40495000000000003-0.9614250000000001v-11.215300000000001q0-0.556475 0.40495000000000003-0.9614250000000001 0.40495000000000003-0.4049750000000001 0.961-0.4049750000000001h15.210400000000002q0.55605 0 0.961 0.4049750000000001 0.40495000000000003 0.40495000000000003 0.40495000000000003 0.9614250000000001v11.215300000000001q0 0.556475-0.40495000000000003 0.9614250000000001-0.40495000000000003 0.4049750000000001-0.961 0.4049750000000001H4.3948Z' \ No newline at end of file diff --git a/src/client/icons/deployed_code.ts b/src/client/icons/deployed_code.ts new file mode 100644 index 00000000..1fce7539 --- /dev/null +++ b/src/client/icons/deployed_code.ts @@ -0,0 +1,2 @@ +export const DeployedCode = 'M5.13365 16.309624999999997l6.5 3.333625L11.273075 12l-6.5-3.35575 0.36057500000000003 7.665375000000001Zm7.254825 3.74615l6.860575000000001-3.9663500000000003V8.238475L12.388475 12.198075000000001v7.8577ZM5.58175 7.835575l6.785575000000001 3.5288500000000003 6.067275-3.94135-6.779800000000001-3.50385L5.58175 7.835575Zm-1.062525 8.99135l-0.46155-8.019225q-0.013450000000000002-0.33172500000000005 0.13367500000000002-0.6596250000000001 0.1471-0.327875 0.46152499999999996-0.5201749999999999l6.21155-4.071175q0.2923-0.19230000000000003 0.636525-0.215375 0.344225-0.023075000000000002 0.6721250000000001 0.12885L18.806725 6.8375q0.327875 0.151925 0.51395 0.456725 0.18605000000000002 0.3048 0.22162500000000002 0.636525l0.4000250000000001 7.239425000000001q0.013450000000000002 0.35385-0.13367500000000002 0.6817500000000001-0.1471 0.327875-0.43942500000000007 0.5201749999999999L13.1577 20.421150000000004q-0.314425 0.214425-0.6586500000000001 0.23750000000000002t-0.6721250000000001-0.15095000000000003L4.5192250000000005 16.826925000000003ZM12 12Z' +export const DeployedCode_Fill = 'M11.32595 20.74425L4.6923 16.925975q-0.327875-0.2-0.50095-0.516825-0.173075-0.31685-0.173075-0.6851V8.25385q0-0.34615 0.173075-0.662975 0.173075-0.31685 0.50095-0.51685l6.63365-3.8403750000000003q0.3279-0.1779 0.67405-0.1779t0.69615 0.1779l6.61155 3.8403750000000003q0.327875 0.2 0.5120250000000001 0.51685 0.184125 0.316825 0.184125 0.662975v7.4702q0 0.36825-0.184125 0.6851-0.18415 0.316825-0.5120250000000001 0.516825L12.696150000000001 20.74425q-0.35000000000000003 0.2-0.69615 0.2t-0.67405-0.2ZM12 20.275975000000003l0.388475-0.2202V12.198075000000001l6.860575000000001-3.9596v-0.35002500000000003l-0.46925-0.24807500000000002L12 11.581725 5.214425 7.640375000000001l-0.44135 0.24807500000000002v0.343275l6.860575000000001 3.9663500000000003v7.8577L12 20.275975000000003Z' \ No newline at end of file diff --git a/src/client/icons/encrypted.ts b/src/client/icons/encrypted.ts new file mode 100644 index 00000000..6c5ac94d --- /dev/null +++ b/src/client/icons/encrypted.ts @@ -0,0 +1,2 @@ +export const Encrypted = 'M11.107700000000001 14.485574999999999h1.7846000000000002L12.3375 11.212499999999999q0.426-0.15962500000000002 0.7197250000000001-0.51505 0.29375-0.35542500000000005 0.29375-0.812825 0-0.5743-0.3891-0.9626250000000001-0.3891-0.38835000000000003-0.964425-0.38835000000000003-0.5753250000000001 0-0.961875 0.387375-0.38655 0.3874-0.38655 0.960325 0 0.463025 0.29375 0.8172750000000001 0.293725 0.35425 0.74185 0.513875l-0.576925 3.2730750000000004ZM12 20.926925q-3.0091-0.9255000000000001-4.991575000000001-3.68805-1.9824750000000002-2.762575-1.9824750000000002-6.2189250000000005v-5.3107750000000005L12 3.099999999999998l6.97405 2.6091750000000005v5.3107750000000005q0 3.45635-1.9824750000000002 6.2189250000000005Q15.009100000000002 20.001424999999998 12 20.926925Zm0-0.814425q2.7128250000000005-0.8766750000000001 4.466025-3.4223 1.7532-2.5456250000000002 1.7532-5.66905v-4.807625000000001L12 3.897124999999999l-6.219225000000001 2.3164000000000002v4.807625000000001q0 3.123425 1.7532 5.66905T12 20.1125Zm0-8.102875000000001Z' +export const Encrypted_Fill = 'M11.107700000000001 14.485574999999999h1.7846000000000002L12.3375 11.212499999999999q0.437625-0.1635 0.72555-0.5136000000000001 0.287925-0.350125 0.287925-0.814275 0-0.5738000000000001-0.38945-0.9624000000000001-0.389425-0.388575-0.964425-0.388575-0.574975 0-0.961525 0.38762500000000005t-0.38655 0.960075q0 0.46980000000000005 0.287925 0.8187250000000001t0.7476750000000001 0.512425l-0.576925 3.2730750000000004ZM12 20.926925q-3.0091-0.9255000000000001-4.991575000000001-3.68805-1.9824750000000002-2.762575-1.9824750000000002-6.2189250000000005v-5.3107750000000005L12 3.099999999999998l6.97405 2.6091750000000005v5.3107750000000005q0 3.45635-1.9824750000000002 6.2189250000000005Q15.009100000000002 20.001424999999998 12 20.926925Z' \ No newline at end of file diff --git a/src/client/icons/help.ts b/src/client/icons/help.ts new file mode 100644 index 00000000..cd0fa84c --- /dev/null +++ b/src/client/icons/help.ts @@ -0,0 +1,2 @@ +export const Help = 'M12.1 17.125q0.25 0 0.4375-0.1875t0.1875-0.4625q0-0.225-0.175-0.425-0.175-0.2-0.45-0.2-0.25 0-0.45 0.1875t-0.2 0.4375q0 0.25 0.2 0.45t0.45 0.2Zm-0.5-3.2h0.775q0.025-0.575 0.2375-1.025 0.2125-0.45 0.8375-1 0.7-0.65 1.0125-1.2 0.3125-0.55 0.3125-1.225 0-1.125-0.75-1.85-0.75-0.725-1.9-0.725-0.975 0-1.75 0.525t-1.15 1.3l0.75 0.3q0.3-0.65 0.8-1.0125 0.5-0.3625 1.275-0.3625 1 0 1.5 0.55t0.5 1.275q0 0.55-0.2875 0.9875T12.95 11.35q-0.7 0.65-1.025 1.2875-0.325 0.6375-0.325 1.2875Zm0.4 7.05q-1.85 0-3.4875-0.7125-1.6375-0.7125-2.85-1.9375-1.2125-1.225-1.925-2.85Q3.025 13.85 3.025 12t0.7125-3.5q0.7125-1.65 1.9375-2.8625t2.85-1.9125q1.625-0.7 3.475-0.7t3.5 0.7125q1.65 0.7125 2.8625 1.925T20.275 8.5q0.7 1.625 0.7 3.5 0 1.85-0.7 3.4875-0.7 1.6375-1.925 2.85-1.225 1.2125-2.85 1.925-1.625 0.7125-3.5 0.7125Zm0-0.75q3.425 0 5.825-2.4 2.4-2.4 2.4-5.825 0-3.425-2.4-5.825-2.4-2.4-5.825-2.4-3.4 0-5.8125 2.4T3.775 12q0 3.4 2.4 5.8125T12 20.225ZM12 12Z' +export const Help_Fill = 'M12.1 17.125q0.25 0 0.4375-0.1875t0.1875-0.4625q0-0.225-0.175-0.425-0.175-0.2-0.45-0.2-0.25 0-0.45 0.1875t-0.2 0.4375q0 0.25 0.2 0.45t0.45 0.2Zm-0.5-3.2h0.775q0.025-0.575 0.2375-1.025 0.2125-0.45 0.8375-1 0.7-0.65 1.0125-1.2 0.3125-0.55 0.3125-1.225 0-1.125-0.75-1.85-0.75-0.725-1.9-0.725-0.975 0-1.75 0.525t-1.15 1.3l0.75 0.3q0.3-0.65 0.8-1.0125 0.5-0.3625 1.275-0.3625 1 0 1.5 0.55t0.5 1.275q0 0.55-0.2875 0.9875T12.95 11.35q-0.7 0.65-1.025 1.2875-0.325 0.6375-0.325 1.2875Zm0.4 7.05q-1.85 0-3.4875-0.7125-1.6375-0.7125-2.85-1.9375-1.2125-1.225-1.925-2.85Q3.025 13.85 3.025 12t0.7125-3.5q0.7125-1.65 1.9375-2.8625t2.85-1.9125q1.625-0.7 3.475-0.7t3.5 0.7125q1.65 0.7125 2.8625 1.925T20.275 8.5q0.7 1.625 0.7 3.5 0 1.85-0.7 3.4875-0.7 1.6375-1.925 2.85-1.225 1.2125-2.85 1.925-1.625 0.7125-3.5 0.7125Z' \ No newline at end of file diff --git a/src/client/icons/html.ts b/src/client/icons/html.ts new file mode 100644 index 00000000..c58cd64e --- /dev/null +++ b/src/client/icons/html.ts @@ -0,0 +1,2 @@ +export const Html = 'M0.15 14.675v-5.35h0.725v2.1H3.85v-2.1h0.725v5.35H3.85V12.15H0.875v2.525Zm7.85 0V10.05h-1.95v-0.725h4.6v0.725h-1.925v4.625Zm12.275 0v-5.35H21v4.625h2.85v0.725Zm-8.15 0V10q0-0.275 0.1875-0.475 0.1875-0.2 0.4875-0.2h4.575q0.3 0 0.5 0.2t0.2 0.475v4.675H17.35V10.05h-1.875v3.6H14.75v-3.6h-1.9v4.625Z' +export const Html_Fill = 'M0.15 14.675v-5.35h0.725v2.1H3.85v-2.1h0.725v5.35H3.85V12.15H0.875v2.525Zm7.85 0V10.05h-1.95v-0.725h4.6v0.725h-1.925v4.625Zm12.275 0v-5.35H21v4.625h2.85v0.725Zm-8.15 0V10q0-0.275 0.1875-0.475 0.1875-0.2 0.4875-0.2h4.575q0.3 0 0.5 0.2t0.2 0.475v4.675H17.35V10.05h-1.875v3.6H14.75v-3.6h-1.9v4.625Z' \ No newline at end of file diff --git a/src/client/icons/index.ts b/src/client/icons/index.ts new file mode 100644 index 00000000..a4a704ec --- /dev/null +++ b/src/client/icons/index.ts @@ -0,0 +1,39 @@ +export * from './account_tree' +export * from './chevron_left' +export * from './chevron_right' +export * from './code' +export * from './code_blocks' +export * from './css' +export * from './csv' +export * from './deployed_code' +export * from './encrypted' +export * from './help' +export * from './html' +export * from './info' +export * from './input' +export * from './input_circle' +export * from './javascript' +export * from './keyboard_arrow_down' +export * from './keyboard_arrow_left' +export * from './keyboard_arrow_right' +export * from './keyboard_arrow_up' +export * from './lock' +export * from './lock_open' +export * from './monitoring' +export * from './output' +export * from './output_circle' +export * from './query_stats' +export * from './save' +export * from './save_as' +export * from './schema' +export * from './settings' +export * from './splitscreen' +export * from './splitscreen_add' +export * from './splitscreen_right' +export * from './splitscreen_left' +export * from './splitscreen_bottom' +export * from './splitscreen_top' +export * from './splitscreen_vertical_add' +export * from './table' +export * from './table_rows' +export * from './table_rows_narrow' diff --git a/src/client/icons/info.ts b/src/client/icons/info.ts new file mode 100644 index 00000000..d6e41b76 --- /dev/null +++ b/src/client/icons/info.ts @@ -0,0 +1,2 @@ +export const Info = 'M11.65 16.475h0.775V11H11.65ZM12 9.65q0.225 0 0.375-0.1375t0.15-0.3625q0-0.275-0.15-0.4125-0.15-0.1375-0.375-0.1375-0.275 0-0.4 0.1375t-0.125 0.3875q0 0.25 0.15 0.3875t0.375 0.1375Zm0.025 11.325q-1.875 0-3.5125-0.7125-1.6375-0.7125-2.85-1.9375-1.2125-1.225-1.925-2.8375Q3.025 13.875 3.025 12q0-1.875 0.7125-3.5125 0.7125-1.6375 1.9375-2.85Q6.9 4.425 8.5125 3.725 10.125 3.025 12 3.025q1.875 0 3.5125 0.7125 1.6375 0.7125 2.85 1.925Q19.575 6.875 20.275 8.5q0.7 1.625 0.7 3.475 0 1.875-0.7 3.5125-0.7 1.6375-1.925 2.85-1.225 1.2125-2.85 1.925-1.625 0.7125-3.475 0.7125Zm-0.025-0.75q3.425 0 5.825-2.4 2.4-2.4 2.4-5.825 0-3.425-2.4-5.825-2.4-2.4-5.825-2.4-3.4 0-5.8125 2.4T3.775 12q0 3.4 2.4 5.8125T12 20.225ZM12 12Z' +export const Info_Fill = 'M11.65 16.475h0.775V11H11.65ZM12 9.65q0.225 0 0.375-0.1375t0.15-0.3625q0-0.275-0.15-0.4125-0.15-0.1375-0.375-0.1375-0.275 0-0.4 0.1375t-0.125 0.3875q0 0.25 0.15 0.3875t0.375 0.1375Zm0.025 11.325q-1.875 0-3.5125-0.7125-1.6375-0.7125-2.85-1.9375-1.2125-1.225-1.925-2.8375Q3.025 13.875 3.025 12q0-1.875 0.7125-3.5125 0.7125-1.6375 1.9375-2.85Q6.9 4.425 8.5125 3.725 10.125 3.025 12 3.025q1.875 0 3.5125 0.7125 1.6375 0.7125 2.85 1.925Q19.575 6.875 20.275 8.5q0.7 1.625 0.7 3.475 0 1.875-0.7 3.5125-0.7 1.6375-1.925 2.85-1.225 1.2125-2.85 1.925-1.625 0.7125-3.475 0.7125Z' \ No newline at end of file diff --git a/src/client/icons/input.ts b/src/client/icons/input.ts new file mode 100644 index 00000000..b9cf75bd --- /dev/null +++ b/src/client/icons/input.ts @@ -0,0 +1,2 @@ +export const Input = 'M4.4 18.975q-0.55 0-0.9625-0.4T3.025 17.6v-2.7h0.75v2.7q0 0.225 0.2 0.425 0.2 0.2 0.425 0.2h15.225q0.225 0 0.4125-0.2 0.1875-0.2 0.1875-0.425V6.375q0-0.225-0.1875-0.4125-0.1875-0.1875-0.4125-0.1875H4.4q-0.225 0-0.425 0.1875-0.2 0.1875-0.2 0.4125v2.725h-0.75v-2.725q0-0.55 0.4125-0.95 0.4125-0.4 0.9625-0.4h15.225q0.525 0 0.9375 0.4t0.4125 0.95V17.6q0 0.575-0.4125 0.975t-0.9375 0.4Zm7.475-3.6l-0.55-0.55 2.45-2.45H3.025v-0.75h10.75l-2.45-2.45 0.55-0.525L15.25 12Z' +export const Input_Fill = 'M4.4 18.975q-0.55 0-0.9625-0.4T3.025 17.6v-2.7h0.75v2.7q0 0.225 0.2 0.425 0.2 0.2 0.425 0.2h15.225q0.225 0 0.4125-0.2 0.1875-0.2 0.1875-0.425V6.375q0-0.225-0.1875-0.4125-0.1875-0.1875-0.4125-0.1875H4.4q-0.225 0-0.425 0.1875-0.2 0.1875-0.2 0.4125v2.725h-0.75v-2.725q0-0.55 0.4125-0.95 0.4125-0.4 0.9625-0.4h15.225q0.525 0 0.9375 0.4t0.4125 0.95V17.6q0 0.575-0.4125 0.975t-0.9375 0.4Zm7.475-3.6l-0.55-0.55 2.45-2.45H3.025v-0.75h10.75l-2.45-2.45 0.55-0.525L15.25 12Z' \ No newline at end of file diff --git a/src/client/icons/input_circle.ts b/src/client/icons/input_circle.ts new file mode 100644 index 00000000..046bd1fb --- /dev/null +++ b/src/client/icons/input_circle.ts @@ -0,0 +1,2 @@ +export const InputCircle = 'M12 9.111525l-4.109625 4.13175L8.4 13.752875000000001l3.2336500000000004-3.1673v9.975975h0.7548250000000001V10.585575L15.600000000000001 13.752875000000001l0.531725-0.5096L12 9.111525ZM4.19615 16.402900000000002q-0.5846250000000001-0.9942500000000001-0.8812500000000001-2.112225-0.296625-1.118-0.296625-2.290675 0-1.8550000000000002 0.702225-3.4960500000000003 0.70225-1.641075 1.9216000000000002-2.860875t2.8598-1.9333749999999998q1.64045-0.7135500000000001 3.49475-0.7135500000000001 1.8543250000000002 0 3.4963 0.7135500000000001 1.6420000000000003 0.7135750000000001 2.862475 1.9333749999999998 1.2205000000000001 1.2198000000000002 1.9344750000000002 2.860875Q21.00385 10.145000000000001 21.00385 12q0 1.172675-0.30770000000000003 2.2796-0.30767500000000003 1.10695-0.8701750000000001 2.1233l-0.562525-0.50675q0.48655000000000004-0.9346000000000001 0.736075-1.9120000000000001 0.249525-0.977375 0.249525-1.98415 0-3.4375-2.405775-5.843275T12 3.7509500000000005q-3.4375 0-5.832225 2.405775Q3.7730750000000004 8.5625 3.7730750000000004 12q0 1.0230750000000002 0.24327500000000002 2.013 0.24327500000000002 0.98995 0.7394250000000001 1.8831499999999999l-0.559625 0.50675Z' +export const InputCircle_Fill = 'M12 9.111525l-4.109625 4.13175L8.4 13.752875000000001l3.2336500000000004-3.1673v9.975975h0.7548250000000001V10.585575L15.600000000000001 13.752875000000001l0.531725-0.5096L12 9.111525ZM4.19615 16.402900000000002q-0.5846250000000001-0.9942500000000001-0.8812500000000001-2.112225-0.296625-1.118-0.296625-2.290675 0-1.8550000000000002 0.702225-3.4960500000000003 0.70225-1.641075 1.9216000000000002-2.860875t2.8598-1.9333749999999998q1.64045-0.7135500000000001 3.49475-0.7135500000000001 1.8543250000000002 0 3.4963 0.7135500000000001 1.6420000000000003 0.7135750000000001 2.862475 1.9333749999999998 1.2205000000000001 1.2198000000000002 1.9344750000000002 2.860875Q21.00385 10.145000000000001 21.00385 12q0 1.172675-0.30770000000000003 2.2796-0.30767500000000003 1.10695-0.8701750000000001 2.1233l-0.562525-0.50675q0.48655000000000004-0.9346000000000001 0.736075-1.9120000000000001 0.249525-0.977375 0.249525-1.98415 0-3.4375-2.405775-5.843275T12 3.7509500000000005q-3.4375 0-5.832225 2.405775Q3.7730750000000004 8.5625 3.7730750000000004 12q0 1.0230750000000002 0.24327500000000002 2.013 0.24327500000000002 0.98995 0.7394250000000001 1.8831499999999999l-0.559625 0.50675Z' \ No newline at end of file diff --git a/src/client/icons/javascript.ts b/src/client/icons/javascript.ts new file mode 100644 index 00000000..05480a12 --- /dev/null +++ b/src/client/icons/javascript.ts @@ -0,0 +1,2 @@ +export const Javascript = 'M13.025 14.675q-0.325 0-0.5125-0.2-0.1875-0.2-0.1875-0.475v-1h0.725v0.95h2.925v-1.65h-3.1q-0.25 0-0.4-0.1375-0.15-0.1375-0.15-0.4125V10q0-0.275 0.1875-0.475 0.1875-0.2 0.5125-0.2H16q0.3 0 0.5 0.1875t0.2 0.4875v1h-0.725v-0.95H13.05v1.65h3.1q0.225 0 0.3875 0.1375t0.1625 0.3875V14q0 0.275-0.2 0.475-0.2 0.2-0.5 0.2Zm-6.225 0q-0.275 0-0.4125-0.15-0.1375-0.15-0.1375-0.375V12.5h0.725v1.45h2.375v-4.625h0.725v4.825q0 0.225-0.15 0.375t-0.4 0.15Z' +export const Javascript_Fill = 'M13.025 14.675q-0.325 0-0.5125-0.2-0.1875-0.2-0.1875-0.475v-1h0.725v0.95h2.925v-1.65h-3.1q-0.25 0-0.4-0.1375-0.15-0.1375-0.15-0.4125V10q0-0.275 0.1875-0.475 0.1875-0.2 0.5125-0.2H16q0.3 0 0.5 0.1875t0.2 0.4875v1h-0.725v-0.95H13.05v1.65h3.1q0.225 0 0.3875 0.1375t0.1625 0.3875V14q0 0.275-0.2 0.475-0.2 0.2-0.5 0.2Zm-6.225 0q-0.275 0-0.4125-0.15-0.1375-0.15-0.1375-0.375V12.5h0.725v1.45h2.375v-4.625h0.725v4.825q0 0.225-0.15 0.375t-0.4 0.15Z' \ No newline at end of file diff --git a/src/client/icons/keyboard_arrow_down.ts b/src/client/icons/keyboard_arrow_down.ts new file mode 100644 index 00000000..646afdc2 --- /dev/null +++ b/src/client/icons/keyboard_arrow_down.ts @@ -0,0 +1,2 @@ +export const KeyboardArrowDown = 'M12 14.7L6.7 9.4l0.55-0.55 4.75 4.75 4.75-4.75 0.55 0.55Z' +export const KeyboardArrowDown_Fill = 'M12 14.7L6.7 9.4l0.55-0.55 4.75 4.75 4.75-4.75 0.55 0.55Z' \ No newline at end of file diff --git a/src/client/icons/keyboard_arrow_left.ts b/src/client/icons/keyboard_arrow_left.ts new file mode 100644 index 00000000..3785202b --- /dev/null +++ b/src/client/icons/keyboard_arrow_left.ts @@ -0,0 +1,2 @@ +export const KeyboardArrowLeft = 'M14 17.3L8.7 12 14 6.675l0.55 0.55L9.8 12l4.75 4.75Z' +export const KeyboardArrowLeft_Fill = 'M14 17.3L8.7 12 14 6.675l0.55 0.55L9.8 12l4.75 4.75Z' \ No newline at end of file diff --git a/src/client/icons/keyboard_arrow_right.ts b/src/client/icons/keyboard_arrow_right.ts new file mode 100644 index 00000000..5ce1cb59 --- /dev/null +++ b/src/client/icons/keyboard_arrow_right.ts @@ -0,0 +1,2 @@ +export const KeyboardArrowRight = 'M9.4 17.3l-0.55-0.55 4.75-4.75-4.75-4.775 0.55-0.55L14.7 12Z' +export const KeyboardArrowRight_Fill = 'M9.4 17.3l-0.55-0.55 4.75-4.75-4.75-4.775 0.55-0.55L14.7 12Z' \ No newline at end of file diff --git a/src/client/icons/keyboard_arrow_up.ts b/src/client/icons/keyboard_arrow_up.ts new file mode 100644 index 00000000..3b98655d --- /dev/null +++ b/src/client/icons/keyboard_arrow_up.ts @@ -0,0 +1,2 @@ +export const KeyboardArrowUp = 'M7.25 14.55L6.7 14 12 8.7 17.3 14l-0.55 0.55-4.75-4.75Z' +export const KeyboardArrowUp_Fill = 'M7.25 14.55L6.7 14 12 8.7 17.3 14l-0.55 0.55-4.75-4.75Z' \ No newline at end of file diff --git a/src/client/icons/lock.ts b/src/client/icons/lock.ts new file mode 100644 index 00000000..d23ec8ca --- /dev/null +++ b/src/client/icons/lock.ts @@ -0,0 +1,2 @@ +export const Lock = 'M6.4 20.975q-0.55 0-0.9625-0.4125T5.025 19.6V10.45q0-0.55 0.4125-0.95 0.4125-0.4 0.9625-0.4h1.725v-2.2q0-1.6 1.125-2.725T12 3.05q1.625 0 2.75 1.125t1.125 2.75v2.175h1.725q0.55 0 0.9625 0.4t0.4125 0.95v9.15q0 0.55-0.4125 0.9625t-0.9625 0.4125Zm2.5-11.875h6.2v-2.2q0-1.3-0.8875-2.2Q13.325 3.8 12 3.8q-1.3 0-2.2 0.9-0.9 0.9-0.9 2.2Zm-2.5 11.125h11.2q0.275 0 0.45-0.175t0.175-0.45V10.45q0-0.25-0.175-0.425t-0.45-0.175H6.4q-0.275 0-0.45 0.175t-0.175 0.425v9.15q0 0.275 0.175 0.45t0.45 0.175Zm5.6-3.75q0.6 0 1.025-0.4125 0.425-0.4125 0.425-1.0125 0-0.575-0.425-1.025-0.425-0.45-1.025-0.45-0.6 0-1.025 0.45-0.425 0.45-0.425 1.025t0.425 1q0.425 0.425 1.025 0.425Zm0-1.45Z' +export const Lock_Fill = 'M6.4 20.975q-0.55 0-0.9625-0.4125T5.025 19.6V10.45q0-0.55 0.4125-0.95 0.4125-0.4 0.9625-0.4h1.725v-2.2q0-1.6 1.125-2.725T12 3.05q1.625 0 2.75 1.125t1.125 2.75v2.175h1.725q0.55 0 0.9625 0.4t0.4125 0.95v9.15q0 0.55-0.4125 0.9625t-0.9625 0.4125Zm2.5-11.875h6.2v-2.2q0-1.3-0.9-2.2-0.9-0.9-2.2-0.9-1.3 0-2.2 0.9-0.9 0.9-0.9 2.2ZM12 16.475q0.6 0 1.025-0.4125 0.425-0.4125 0.425-1.0125 0-0.575-0.425-1.025-0.425-0.45-1.025-0.45-0.6 0-1.025 0.45-0.425 0.45-0.425 1.025t0.425 1q0.425 0.425 1.025 0.425Z' \ No newline at end of file diff --git a/src/client/icons/lock_open.ts b/src/client/icons/lock_open.ts new file mode 100644 index 00000000..e20fe1ba --- /dev/null +++ b/src/client/icons/lock_open.ts @@ -0,0 +1,2 @@ +export const LockOpen = 'M8.125 6.9q0-1.6 1.125-2.725T12 3.05q1.625 0 2.75 1.125t1.125 2.725v2.2h1.725q0.575 0 0.975 0.4t0.4 0.95v9.15q0 0.575-0.4 0.975t-0.975 0.4H6.4q-0.575 0-0.975-0.4t-0.4-0.975V10.45q0-0.55 0.4-0.95 0.4-0.4 0.975-0.4h8.7v-2.2q0-1.3-0.8875-2.2Q13.325 3.8 12 3.8q-1.3 0-2.2 0.9-0.9 0.9-0.9 2.2ZM6.4 20.225h11.2q0.275 0 0.45-0.175t0.175-0.45V10.45q0-0.25-0.175-0.425t-0.45-0.175H6.4q-0.275 0-0.45 0.175t-0.175 0.425v9.15q0 0.275 0.175 0.45t0.45 0.175ZM12 13.575q-0.6 0-1.025 0.45-0.425 0.45-0.425 1.025t0.425 1q0.425 0.425 1.025 0.425 0.6 0 1.025-0.4125 0.425-0.4125 0.425-1.0125 0-0.575-0.425-1.025-0.425-0.45-1.025-0.45ZM5.775 9.85v10.375V9.85Z' +export const LockOpen_Fill = 'M8.125 6.9q0-1.6 1.125-2.725T12 3.05q1.625 0 2.75 1.125t1.125 2.725v2.2h1.725q0.575 0 0.975 0.4t0.4 0.95v9.15q0 0.575-0.4 0.975t-0.975 0.4H6.4q-0.575 0-0.975-0.4t-0.4-0.975V10.45q0-0.55 0.4-0.95 0.4-0.4 0.975-0.4h8.7v-2.2q0-1.3-0.9-2.2-0.9-0.9-2.2-0.9-1.3 0-2.2 0.9-0.9 0.9-0.9 2.2ZM12 13.575q-0.6 0-1.025 0.45-0.425 0.45-0.425 1.025t0.425 1q0.425 0.425 1.025 0.425 0.6 0 1.025-0.4125 0.425-0.4125 0.425-1.0125 0-0.575-0.425-1.025-0.425-0.45-1.025-0.45Z' \ No newline at end of file diff --git a/src/client/icons/monitoring.ts b/src/client/icons/monitoring.ts new file mode 100644 index 00000000..cded0197 --- /dev/null +++ b/src/client/icons/monitoring.ts @@ -0,0 +1,2 @@ +export const Monitoring = 'M3.525 20.475V19.25l0.75-0.75v1.975Zm4.05 0V15.25L8.35 14.5v5.975Zm4.05 0V14.5l0.775 0.775v5.2Zm4.075 0v-5.2l0.75-0.75v5.95Zm4.05 0V11.25L20.5 10.5v9.975ZM3.525 14.25v-1.05L10 6.725l4 4 6.5-6.5v1.075L14 11.775l-4-4Z' +export const Monitoring_Fill = 'M3.3 20.475l-0.075-0.925 1.05-1.05v1.975Zm4.275 0V15.25L8.35 14.5v5.975Zm4.05 0V14.5l0.775 0.775v5.2Zm4.075 0v-5.2l0.75-0.75v5.95Zm4.05 0V11.25L20.5 10.5v9.975ZM3.525 14.25v-1.05L10 6.725l4 4 6.5-6.5v1.075L14 11.775l-4-4Z' \ No newline at end of file diff --git a/src/client/icons/output.ts b/src/client/icons/output.ts new file mode 100644 index 00000000..bda45761 --- /dev/null +++ b/src/client/icons/output.ts @@ -0,0 +1,2 @@ +export const Output = 'M5.4 19.975q-0.575 0-0.975-0.4t-0.4-0.975V5.4q0-0.575 0.4-0.975t0.975-0.4h13.2q0.575 0 0.975 0.4125t0.4 0.9625v1.475h-0.75V5.4q0-0.225-0.2-0.425-0.2-0.2-0.425-0.2H5.4q-0.225 0-0.425 0.2-0.2 0.2-0.2 0.425v13.2q0 0.225 0.2 0.425 0.2 0.2 0.425 0.2h13.2q0.225 0 0.425-0.2 0.2-0.2 0.2-0.425v-1.5h0.75v1.5q0 0.575-0.4 0.975t-0.975 0.4Zm11.25-3.875l-0.525-0.5 3.175-3.225H10.175V11.6H19.3l-3.175-3.2 0.525-0.525L20.75 12Z' +export const Output_Fill = 'M5.35 20.025q-0.55 0-0.9625-0.4125T3.975 18.65V5.325q0-0.55 0.4125-0.95 0.4125-0.4 0.9625-0.4h13.3q0.55 0 0.9625 0.4125t0.4125 0.9625v1.475h-0.75V5.35q0-0.225-0.2-0.425-0.2-0.2-0.425-0.2H5.35q-0.225 0-0.425 0.2-0.2 0.2-0.2 0.425v13.3q0 0.225 0.2 0.425 0.2 0.2 0.425 0.2h13.3q0.225 0 0.425-0.2 0.2-0.2 0.2-0.425v-1.5h0.75v1.5q0 0.55-0.4125 0.9625t-0.9625 0.4125Zm11.35-3.925l-0.55-0.5 3.2-3.225H10.175V11.6H19.35l-3.2-3.2 0.55-0.525L20.8 12Z' \ No newline at end of file diff --git a/src/client/icons/output_circle.ts b/src/client/icons/output_circle.ts new file mode 100644 index 00000000..37c04731 --- /dev/null +++ b/src/client/icons/output_circle.ts @@ -0,0 +1,2 @@ +export const OutputCircle = 'M12 20.561550000000004L7.890375000000001 16.451925000000003l0.5096250000000001-0.5125000000000001 3.2336500000000004 3.189425V9.111525h0.7548250000000001v10.017325L15.600000000000001 15.939425000000002l0.531725 0.5125000000000001L12 20.561550000000004ZM4.19615 16.402900000000002q-0.5846250000000001-0.9942500000000001-0.8812500000000001-2.112225-0.296625-1.118-0.296625-2.290675 0-1.8550000000000002 0.702225-3.4960500000000003 0.70225-1.641075 1.9216000000000002-2.860875t2.8598-1.9333749999999998q1.64045-0.7135500000000001 3.49475-0.7135500000000001 1.8543250000000002 0 3.4963 0.7135500000000001 1.6420000000000003 0.7135750000000001 2.862475 1.9333749999999998 1.2205000000000001 1.2198000000000002 1.9344750000000002 2.860875Q21.00385 10.145000000000001 21.00385 12q0 1.172675-0.30770000000000003 2.2796-0.30767500000000003 1.10695-0.8701750000000001 2.1233l-0.562525-0.50675q0.48655000000000004-0.9346000000000001 0.736075-1.9120000000000001 0.249525-0.977375 0.249525-1.98415 0-3.4375-2.405775-5.843275T12 3.7509500000000005q-3.4375 0-5.832225 2.405775Q3.7730750000000004 8.5625 3.7730750000000004 12q0 1.0230750000000002 0.24327500000000002 2.013 0.24327500000000002 0.98995 0.7394250000000001 1.8831499999999999l-0.559625 0.50675Z' +export const OutputCircle_Fill = 'M12 20.561550000000004L7.890375000000001 16.451925000000003l0.5096250000000001-0.5125000000000001 3.2336500000000004 3.189425V9.111525h0.7548250000000001v10.017325L15.600000000000001 15.939425000000002l0.531725 0.5125000000000001L12 20.561550000000004ZM4.19615 16.402900000000002q-0.5846250000000001-0.9942500000000001-0.8812500000000001-2.112225-0.296625-1.118-0.296625-2.290675 0-1.8550000000000002 0.702225-3.4960500000000003 0.70225-1.641075 1.9216000000000002-2.860875t2.8598-1.9333749999999998q1.64045-0.7135500000000001 3.49475-0.7135500000000001 1.8543250000000002 0 3.4963 0.7135500000000001 1.6420000000000003 0.7135750000000001 2.862475 1.9333749999999998 1.2205000000000001 1.2198000000000002 1.9344750000000002 2.860875Q21.00385 10.145000000000001 21.00385 12q0 1.172675-0.30770000000000003 2.2796-0.30767500000000003 1.10695-0.8701750000000001 2.1233l-0.562525-0.50675q0.48655000000000004-0.9346000000000001 0.736075-1.9120000000000001 0.249525-0.977375 0.249525-1.98415 0-3.4375-2.405775-5.843275T12 3.7509500000000005q-3.4375 0-5.832225 2.405775Q3.7730750000000004 8.5625 3.7730750000000004 12q0 1.0230750000000002 0.24327500000000002 2.013 0.24327500000000002 0.98995 0.7394250000000001 1.8831499999999999l-0.559625 0.50675Z' \ No newline at end of file diff --git a/src/client/icons/query_stats.ts b/src/client/icons/query_stats.ts new file mode 100644 index 00000000..a98f66c5 --- /dev/null +++ b/src/client/icons/query_stats.ts @@ -0,0 +1,2 @@ +export const QueryStats = 'M2.3 17.25l-0.6-0.475 4.225-6.75 2.975 3.5 3.975-6.4 2.05 3.1q-0.175 0.05-0.3625 0.1125t-0.3625 0.0875l-1.3-1.9-3.825 6.275-3.025-3.525Zm19.425 5.025l-3.5-3.5q-0.475 0.35-1.0125 0.525-0.5375 0.175-1.0875 0.175-1.4 0-2.3875-0.9875Q12.75 17.5 12.75 16.1q0-1.4 0.9875-2.3875 0.9875-0.9875 2.3875-0.9875 1.4 0 2.3875 0.9875Q19.5 14.7 19.5 16.125q0 0.575-0.2 1.1125-0.2 0.5375-0.55 0.9875l3.55 3.5Zm-5.6-3.55q1.1 0 1.8625-0.75t0.7625-1.85q0-1.1-0.7625-1.875-0.7625-0.775-1.8625-0.775t-1.8625 0.7625Q13.5 15 13.5 16.1q0 1.125 0.7625 1.875t1.8625 0.75ZM17.8 10.3q-0.225-0.05-0.4125-0.075-0.1875-0.025-0.3875-0.05L21.7 2.7l0.625 0.475Z' +export const QueryStats_Fill = 'M2.3 17.25l-0.6-0.475 4.225-6.75 2.975 3.5 3.975-6.4 2.05 3.1q-0.175 0.05-0.3625 0.1125t-0.3625 0.0875l-1.3-1.9-3.825 6.275-3.025-3.525Zm19.425 5.025l-3.5-3.5q-0.475 0.35-1.0125 0.525-0.5375 0.175-1.0875 0.175-1.4 0-2.3875-0.9875Q12.75 17.5 12.75 16.1q0-1.4 0.9875-2.3875 0.9875-0.9875 2.3875-0.9875 1.4 0 2.3875 0.9875Q19.5 14.7 19.5 16.125q0 0.575-0.2 1.1125-0.2 0.5375-0.55 0.9875l3.55 3.5Zm-5.6-3.55q1.1 0 1.8625-0.75t0.7625-1.85q0-1.1-0.7625-1.875-0.7625-0.775-1.8625-0.775t-1.8625 0.7625Q13.5 15 13.5 16.1q0 1.125 0.7625 1.875t1.8625 0.75ZM17.8 10.3q-0.225-0.05-0.4125-0.075-0.1875-0.025-0.3875-0.05L21.7 2.7l0.625 0.475Z' \ No newline at end of file diff --git a/src/client/icons/save.ts b/src/client/icons/save.ts new file mode 100644 index 00000000..564a6b2e --- /dev/null +++ b/src/client/icons/save.ts @@ -0,0 +1,2 @@ +export const Save = 'M19.975 7.4v11.2q0 0.575-0.4 0.975t-0.975 0.4H5.4q-0.575 0-0.975-0.4t-0.4-0.975V5.4q0-0.575 0.4-0.975t0.975-0.4h11.2Zm-0.75 0.325l-2.95-2.95H5.4q-0.275 0-0.45 0.175t-0.175 0.45v13.2q0 0.275 0.175 0.45t0.45 0.175h13.2q0.275 0 0.45-0.175t0.175-0.45ZM12 16.45q0.725 0 1.2625-0.525t0.5375-1.25q0-0.75-0.525-1.2875Q12.75 12.85 12 12.85q-0.725 0-1.2625 0.525T10.2 14.65q0 0.75 0.525 1.275Q11.25 16.45 12 16.45ZM6.7 9.5h7.375v-2.8H6.7Zm-1.925-1.775v11.5-14.45Z' +export const Save_Fill = 'M19.975 7.4v11.2q0 0.575-0.4 0.975t-0.975 0.4H5.4q-0.575 0-0.975-0.4t-0.4-0.975V5.4q0-0.575 0.4-0.975t0.975-0.4h11.2ZM12 16.45q0.725 0 1.2625-0.525t0.5375-1.25q0-0.75-0.525-1.2875Q12.75 12.85 12 12.85q-0.725 0-1.2625 0.525T10.2 14.65q0 0.75 0.525 1.275Q11.25 16.45 12 16.45ZM6.7 9.5h7.375v-2.8H6.7Z' \ No newline at end of file diff --git a/src/client/icons/save_as.ts b/src/client/icons/save_as.ts new file mode 100644 index 00000000..3ce1db5c --- /dev/null +++ b/src/client/icons/save_as.ts @@ -0,0 +1,2 @@ +export const SaveAs = 'M5.4 19.975q-0.55 0-0.9625-0.4125T4.025 18.6V5.4q0-0.55 0.4125-0.9625T5.4 4.025h11.2l3.375 3.375v6.675l-0.75 0.75v-7.1l-2.95-2.95H5.4q-0.275 0-0.45 0.175t-0.175 0.45v13.2q0 0.275 0.175 0.45t0.45 0.175h9.475l-0.775 0.75ZM12 16.45q0.725 0 1.2625-0.525t0.5375-1.25q0-0.75-0.525-1.2875Q12.75 12.85 12 12.85q-0.725 0-1.2625 0.525T10.2 14.65q0 0.75 0.525 1.275Q11.25 16.45 12 16.45ZM6.7 9.5h7.375v-2.8H6.7Zm8.475 12.4v-0.525l5.075-5.1 0.55 0.525-5.075 5.1ZM21.4 16.225l-0.525-0.55 0.825-0.825q0.1-0.1 0.1875-0.1t0.2375 0.1l0.075 0.1q0.125 0.1 0.125 0.225t-0.125 0.225Zm-16.625 3V4.775v10.05Z' +export const SaveAs_Fill = 'M5.4 19.975q-0.55 0-0.9625-0.4125T4.025 18.6V5.4q0-0.55 0.4125-0.9625T5.4 4.025h11.2l3.375 3.375v6.675L14.1 19.975ZM12 16.45q0.75 0 1.275-0.525 0.525-0.525 0.525-1.275 0-0.725-0.525-1.2625T12 12.85q-0.75 0-1.275 0.525-0.525 0.525-0.525 1.275 0 0.75 0.525 1.275Q11.25 16.45 12 16.45ZM6.7 9.5h7.375v-2.8H6.7Zm8.475 12.4v-0.525l5.075-5.1 0.55 0.525-5.075 5.1ZM21.4 16.225l-0.525-0.55 0.825-0.825q0.1-0.1 0.1875-0.1t0.2375 0.1l0.075 0.1q0.125 0.1 0.125 0.225t-0.125 0.225Z' \ No newline at end of file diff --git a/src/client/icons/schema.ts b/src/client/icons/schema.ts new file mode 100644 index 00000000..11db4077 --- /dev/null +++ b/src/client/icons/schema.ts @@ -0,0 +1,2 @@ +export const Schema = 'M4.9 22.1v-4h2.125v-4.125H4.9V10h2.125v-4.125H4.9v-4h5v4h-2.125V10h2.125v1.6h5.225V10h5v3.975h-5v-1.6H9.9v1.6h-2.125v4.125h2.125v4Zm0.75-0.75h3.475v-2.475H5.65Zm0-8.125h3.475V10.75H5.65Zm10.25 0h3.475V10.75H15.9ZM5.65 5.1h3.475V2.625H5.65Zm1.725-1.225Zm0 8.125Zm10.25 0Zm-10.25 8.125Z' +export const Schema_Fill = 'M4.9 22.1v-4h2.125v-4.125H4.9V10h2.125v-4.125H4.9v-4h5v4h-2.125V10h2.125v1.6h5.225V10h5v3.975h-5v-1.6H9.9v1.6h-2.125v4.125h2.125v4Z' \ No newline at end of file diff --git a/src/client/icons/settings.ts b/src/client/icons/settings.ts new file mode 100644 index 00000000..b96a76cd --- /dev/null +++ b/src/client/icons/settings.ts @@ -0,0 +1,2 @@ +export const Settings = 'M10.35 20.975l-0.4-2.85q-0.525-0.175-1.1875-0.5375T7.6 16.775l-2.625 1.2-1.65-2.95 2.35-1.725q-0.05-0.325-0.075-0.65-0.025-0.325-0.025-0.625 0-0.275 0.025-0.6125t0.075-0.7125l-2.35-1.775 1.65-2.875 2.625 1.15q0.5-0.4 1.125-0.7625 0.625-0.3625 1.225-0.5375l0.4-2.875h3.3l0.425 2.875q0.6 0.225 1.175 0.55 0.575 0.325 1.075 0.75l2.725-1.15 1.65 2.875-2.45 1.8q0.075 0.35 0.1125 0.6625 0.0375 0.3125 0.0375 0.6125 0 0.25-0.0375 0.575-0.0375 0.325-0.1125 0.7l2.4 1.75-1.65 2.95-2.675-1.225q-0.525 0.475-1.0875 0.825-0.5625 0.35-1.1625 0.525l-0.425 2.875Zm1.6-6.6q1 0 1.6875-0.6875T14.325 12q0-1-0.6875-1.6875T11.95 9.625q-1 0-1.6875 0.6875T9.575 12q0 1 0.6875 1.6875T11.95 14.375Zm0-0.75q-0.675 0-1.15-0.475-0.475-0.475-0.475-1.15 0-0.675 0.475-1.15 0.475-0.475 1.15-0.475 0.675 0 1.1375 0.475 0.4625 0.475 0.4625 1.15 0 0.675-0.4625 1.15-0.4625 0.475-1.1375 0.475Zm0.05-1.65Zm-1.025 8.25h2.05l0.375-2.8q0.775-0.2 1.4-0.5625 0.625-0.3625 1.275-0.9875l2.6 1.125 0.975-1.725-2.275-1.7q0.1-0.475 0.1625-0.85T17.6 12q0-0.425-0.05-0.775-0.05-0.35-0.175-0.75l2.325-1.75L18.725 7l-2.65 1.1q-0.5-0.525-1.25-0.9875t-1.45-0.5625l-0.325-2.775h-2.1l-0.3 2.775q-0.825 0.175-1.475 0.5375-0.65 0.3625-1.275 1.0125L5.3 7l-1 1.725 2.275 1.675q-0.1 0.35-0.1625 0.7625T6.35 12q0 0.425 0.05 0.8 0.05 0.375 0.15 0.775L4.3 15.25l1 1.75 2.575-1.1q0.6 0.65 1.2625 1t1.4875 0.55Z' +export const Settings_Fill = 'M10.35 20.975l-0.4-2.85q-0.525-0.175-1.1875-0.5375T7.6 16.775l-2.625 1.2-1.65-2.95 2.35-1.725q-0.05-0.325-0.075-0.65-0.025-0.325-0.025-0.625 0-0.275 0.025-0.6125t0.075-0.7125l-2.35-1.775 1.65-2.875 2.625 1.15q0.5-0.4 1.125-0.7625 0.625-0.3625 1.225-0.5375l0.4-2.875h3.3l0.425 2.875q0.6 0.225 1.175 0.55 0.575 0.325 1.075 0.75l2.725-1.15 1.65 2.875-2.45 1.8q0.075 0.35 0.1125 0.6625 0.0375 0.3125 0.0375 0.6125 0 0.25-0.0375 0.575-0.0375 0.325-0.1125 0.7l2.4 1.75-1.65 2.95-2.675-1.225q-0.525 0.475-1.0875 0.825-0.5625 0.35-1.1625 0.525l-0.425 2.875Zm1.6-6.6q1 0 1.6875-0.6875T14.325 12q0-1-0.6875-1.6875T11.95 9.625q-1 0-1.6875 0.6875T9.575 12q0 1 0.6875 1.6875T11.95 14.375Z' \ No newline at end of file diff --git a/src/client/icons/splitscreen.ts b/src/client/icons/splitscreen.ts new file mode 100644 index 00000000..09d4b5a1 --- /dev/null +++ b/src/client/icons/splitscreen.ts @@ -0,0 +1,2 @@ +export const Splitscreen = 'M6.4 10.35h11.2q0.275 0 0.45-0.175t0.175-0.425V4.4q0-0.275-0.175-0.45t-0.45-0.175H6.4q-0.275 0-0.45 0.175t-0.175 0.45v5.35q0 0.25 0.175 0.425t0.45 0.175Zm0 0.75q-0.575 0-0.975-0.4t-0.4-0.95V4.4q0-0.55 0.4-0.9625t0.975-0.4125h11.2q0.575 0 0.975 0.4125t0.4 0.9625v5.35q0 0.55-0.4 0.95-0.4 0.4-0.975 0.4Zm0 9.125h11.2q0.275 0 0.45-0.175t0.175-0.45V14.225q0-0.25-0.175-0.425t-0.45-0.175H6.4q-0.275 0-0.45 0.175t-0.175 0.425V19.6q0 0.275 0.175 0.45t0.45 0.175Zm0 0.75q-0.575 0-0.975-0.4125t-0.4-0.9625V14.225q0-0.525 0.4-0.9375t0.975-0.4125h11.2q0.575 0 0.975 0.4125t0.4 0.9375V19.6q0 0.55-0.4 0.9625t-0.975 0.4125ZM5.775 10.35V3.775 10.35Zm0 9.875v-6.6 6.6Z' +export const Splitscreen_Fill = 'M6.4 11.1q-0.575 0-0.975-0.4t-0.4-0.95V4.4q0-0.55 0.4-0.9625t0.975-0.4125h11.2q0.575 0 0.975 0.4125t0.4 0.9625v5.35q0 0.55-0.4 0.95-0.4 0.4-0.975 0.4Zm0 9.875q-0.575 0-0.975-0.4125t-0.4-0.9625V14.225q0-0.525 0.4-0.9375t0.975-0.4125h11.2q0.575 0 0.975 0.4125t0.4 0.9375V19.6q0 0.55-0.4 0.9625t-0.975 0.4125Z' \ No newline at end of file diff --git a/src/client/icons/splitscreen_add.ts b/src/client/icons/splitscreen_add.ts new file mode 100644 index 00000000..f8b6e44f --- /dev/null +++ b/src/client/icons/splitscreen_add.ts @@ -0,0 +1,2 @@ +export const SplitscreenAdd = 'M4.783650000000001 19.21635v-4.940375 0.3875-0.04807500000000001V19.21635Zm0.615375 0.7548q-0.5602750000000001 0-0.9652250000000001-0.40495000000000003t-0.40495000000000003-0.9652250000000001v-3.709625q0-0.547 0.40495000000000003-0.9586000000000001 0.40495000000000003-0.41159999999999997 0.9617000000000001-0.41159999999999997h13.209000000000001q0.383675 0 0.7117 0.217125 0.32805 0.217125 0.481875 0.5377H5.399025000000001q-0.269225 0-0.4423 0.177875t-0.173075 0.4375v3.709625q0 0.269225 0.173075 0.4423t0.4423 0.173075h9.216375v0.7548H5.399025000000001Zm-0.003525-9.500950000000001q-0.55675 0-0.9617000000000001-0.39985000000000004Q4.02885 9.6705 4.02885 9.1v-3.7009749999999997q0-0.5602750000000001 0.40495000000000003-0.9652250000000001t0.9617000000000001-0.40495000000000003h13.209000000000001q0.55675 0 0.9617000000000001 0.40495000000000003 0.40495000000000003 0.40495000000000003 0.40495000000000003 0.9652250000000001V9.1q0 0.5705-0.40495000000000003 0.97035t-0.9617000000000001 0.39985000000000004H5.3955Zm0.003525-0.7548250000000001h13.20195q0.269225 0 0.4423-0.173075T19.216350000000002 9.1v-3.7009749999999997q0-0.269225-0.173075-0.4423t-0.4423-0.173075H5.399025000000001q-0.269225 0-0.4423 0.173075t-0.173075 0.4423V9.1q0 0.269225 0.173075 0.4423t0.4423 0.173075Zm-0.615375 0v-4.931725 4.931725ZM19.216350000000002 22.201925v-2.230775h-2.230775v-0.7548h2.230775v-2.230775h0.7548v2.230775h2.230775v0.7548h-2.230775v2.230775h-0.7548Z' +export const SplitscreenAdd_Fill = 'M5.3955 10.470199999999998q-0.55675 0-0.9617000000000001-0.39985000000000004Q4.02885 9.6705 4.02885 9.1v-3.7009749999999997q0-0.5602750000000001 0.40495000000000003-0.9652250000000001t0.9617000000000001-0.40495000000000003h13.209000000000001q0.55675 0 0.9617000000000001 0.40495000000000003 0.40495000000000003 0.40495000000000003 0.40495000000000003 0.9652250000000001V9.1q0 0.5705-0.40495000000000003 0.97035t-0.9617000000000001 0.39985000000000004H5.3955Zm-0.0009750000000000001 9.500950000000001q-0.555775 0-0.960725-0.40495000000000003t-0.40495000000000003-0.9652250000000001v-3.709625q0-0.547 0.40495000000000003-0.9586000000000001 0.40495000000000003-0.41159999999999997 0.9617000000000001-0.41159999999999997h13.209000000000001q0.383675 0 0.7117 0.217125 0.32805 0.217125 0.481875 0.5377v0.3875q-0.108375-0.030775000000000004-0.218425-0.039425-0.11005000000000001-0.00865-0.213225-0.00865-1.9442750000000002 0-3.3188000000000004 1.3514-1.3745500000000002 1.3514-1.432225 3.231275 0 0.20117500000000002 0.010575000000000001 0.39387500000000003 0.010575000000000001 0.192675 0.0221 0.3792H5.394525000000001Zm13.821825000000002 2.230775v-2.230775h-2.230775v-0.7548h2.230775v-2.230775h0.7548v2.230775h2.230775v0.7548h-2.230775v2.230775h-0.7548Z' \ No newline at end of file diff --git a/src/client/icons/splitscreen_bottom.ts b/src/client/icons/splitscreen_bottom.ts new file mode 100644 index 00000000..0e59995d --- /dev/null +++ b/src/client/icons/splitscreen_bottom.ts @@ -0,0 +1,2 @@ +export const SplitscreenBottom = 'M5.3916 19.35q-0.555725 0-0.9606750000000001-0.40495000000000003-0.4049750000000001-0.40495000000000003-0.4049750000000001-0.96265v-3.3427000000000002q0-0.557675 0.4049750000000001-0.9626250000000001 0.40495000000000003-0.4049750000000001 0.9606750000000001-0.4049750000000001h13.216800000000001q0.555725 0 0.9606750000000001 0.4049750000000001 0.4049750000000001 0.40495000000000003 0.4049750000000001 0.9626250000000001v3.3427000000000002q0 0.5577-0.4049750000000001 0.96265Q19.164125000000002 19.35 18.6084 19.35H5.3916Zm0-8.622100000000001q-0.555725 0-0.9606750000000001-0.4049750000000001-0.4049750000000001-0.40495000000000003-0.4049750000000001-0.9626250000000001v-3.3427000000000002q0-0.5577 0.4049750000000001-0.96265Q4.835875000000001 4.649999999999999 5.3916 4.649999999999999h13.216800000000001q0.555725 0 0.9606750000000001 0.40495000000000003 0.4049750000000001 0.40495000000000003 0.4049750000000001 0.96265v3.3427000000000002q0 0.557675-0.4049750000000001 0.9626250000000001-0.40495000000000003 0.4049750000000001-0.9606750000000001 0.4049750000000001H5.3916Zm13.212250000000001-5.3231H5.3961500000000004q-0.230775 0-0.423075 0.19230000000000003-0.19230000000000003 0.192325-0.19230000000000003 0.423075v3.3375250000000003q0 0.230775 0.19230000000000003 0.423075 0.19230000000000003 0.19230000000000003 0.423075 0.19230000000000003h13.2077q0.230775 0 0.423075-0.19230000000000003 0.19230000000000003-0.19230000000000003 0.19230000000000003-0.423075v-3.3375250000000003q0-0.23075-0.19230000000000003-0.423075-0.19230000000000003-0.19230000000000003-0.423075-0.19230000000000003ZM4.780775 9.973075V5.404799999999998 9.973075Z' +export const SplitscreenBottom_Fill = 'M5.3916 19.35q-0.555725 0-0.9606750000000001-0.40495000000000003-0.4049750000000001-0.40495000000000003-0.4049750000000001-0.96265v-3.3427000000000002q0-0.557675 0.4049750000000001-0.9626250000000001 0.40495000000000003-0.4049750000000001 0.9606750000000001-0.4049750000000001h13.216800000000001q0.555725 0 0.9606750000000001 0.4049750000000001 0.4049750000000001 0.40495000000000003 0.4049750000000001 0.9626250000000001v3.3427000000000002q0 0.5577-0.4049750000000001 0.96265Q19.164125000000002 19.35 18.6084 19.35H5.3916Zm0-8.622100000000001q-0.555725 0-0.9606750000000001-0.4049750000000001-0.4049750000000001-0.40495000000000003-0.4049750000000001-0.9626250000000001v-3.3427000000000002q0-0.5577 0.4049750000000001-0.96265Q4.835875000000001 4.649999999999999 5.3916 4.649999999999999h13.216800000000001q0.555725 0 0.9606750000000001 0.40495000000000003 0.4049750000000001 0.40495000000000003 0.4049750000000001 0.96265v3.3427000000000002q0 0.557675-0.4049750000000001 0.9626250000000001-0.40495000000000003 0.4049750000000001-0.9606750000000001 0.4049750000000001H5.3916Zm13.212250000000001-5.3231H5.3961500000000004q-0.230775 0-0.423075 0.19230000000000003-0.19230000000000003 0.192325-0.19230000000000003 0.423075v3.3375250000000003q0 0.230775 0.19230000000000003 0.423075 0.19230000000000003 0.19230000000000003 0.423075 0.19230000000000003h13.2077q0.230775 0 0.423075-0.19230000000000003 0.19230000000000003-0.19230000000000003 0.19230000000000003-0.423075v-3.3375250000000003q0-0.23075-0.19230000000000003-0.423075-0.19230000000000003-0.19230000000000003-0.423075-0.19230000000000003Zm0.042300000000000004 4.568275H5.050000000000001q-0.09615000000000001 0-0.1827-0.177875-0.086525-0.1779-0.086525-0.4375v-3.3375250000000003q0-0.2596 0.086525-0.4375 0.08655000000000002-0.177875 0.1827-0.177875h13.596150000000002q0.09615000000000001 0 0.1827 0.177875 0.086525 0.1779 0.086525 0.4375v3.3375250000000003q0 0.2596-0.086525 0.4375-0.08655000000000002 0.177875-0.1827 0.177875Z' \ No newline at end of file diff --git a/src/client/icons/splitscreen_left.ts b/src/client/icons/splitscreen_left.ts new file mode 100644 index 00000000..884e7f4a --- /dev/null +++ b/src/client/icons/splitscreen_left.ts @@ -0,0 +1,2 @@ +export const SplitscreenLeft = 'M6.017600000000001 19.97405q-0.5577 0-0.96265-0.4049750000000001Q4.65 19.164125 4.65 18.6084v-13.216800000000001q0-0.555725 0.40495000000000003-0.9606750000000001 0.40495000000000003-0.4049750000000001 0.96265-0.4049750000000001h3.3427000000000002q0.557675 0 0.9626250000000001 0.4049750000000001 0.4049750000000001 0.40495000000000003 0.4049750000000001 0.9606750000000001v13.216800000000001q0 0.555725-0.4049750000000001 0.9606750000000001-0.40495000000000003 0.4049750000000001-0.9626250000000001 0.4049750000000001H6.017600000000001Zm8.622100000000001 0q-0.557675 0-0.9626250000000001-0.4049750000000001-0.4049750000000001-0.40495000000000003-0.4049750000000001-0.9606750000000001v-13.216800000000001q0-0.555725 0.4049750000000001-0.9606750000000001 0.40495000000000003-0.4049750000000001 0.9626250000000001-0.4049750000000001h3.3427000000000002q0.5577 0 0.96265 0.4049750000000001Q19.35 4.835874999999998 19.35 5.3916v13.216800000000001q0 0.555725-0.40495000000000003 0.9606750000000001-0.40495000000000003 0.4049750000000001-0.96265 0.4049750000000001H14.6397Zm3.9555000000000002-14.5779q0-0.230775-0.19230000000000003-0.423075-0.192325-0.19230000000000003-0.423075-0.19230000000000003H14.6423q-0.230775 0-0.423075 0.19230000000000003-0.19230000000000003 0.19230000000000003-0.19230000000000003 0.423075v13.2077q0 0.230775 0.19230000000000003 0.423075 0.19230000000000003 0.19230000000000003 0.423075 0.19230000000000003h3.3375250000000003q0.23075 0 0.423075-0.19230000000000003 0.19230000000000003-0.19230000000000003 0.19230000000000003-0.423075v-13.2077ZM14.026925 19.219225H18.595200000000002 14.026925Z' +export const SplitscreenLeft_Fill = 'M6.017600000000001 19.97405q-0.5577 0-0.96265-0.4049750000000001Q4.65 19.164125 4.65 18.6084v-13.216800000000001q0-0.555725 0.40495000000000003-0.9606750000000001 0.40495000000000003-0.4049750000000001 0.96265-0.4049750000000001h3.3427000000000002q0.557675 0 0.9626250000000001 0.4049750000000001 0.4049750000000001 0.40495000000000003 0.4049750000000001 0.9606750000000001v13.216800000000001q0 0.555725-0.4049750000000001 0.9606750000000001-0.40495000000000003 0.4049750000000001-0.9626250000000001 0.4049750000000001H6.017600000000001Zm8.622100000000001 0q-0.557675 0-0.9626250000000001-0.4049750000000001-0.4049750000000001-0.40495000000000003-0.4049750000000001-0.9606750000000001v-13.216800000000001q0-0.555725 0.4049750000000001-0.9606750000000001 0.40495000000000003-0.4049750000000001 0.9626250000000001-0.4049750000000001h3.3427000000000002q0.5577 0 0.96265 0.4049750000000001Q19.35 4.835874999999998 19.35 5.3916v13.216800000000001q0 0.555725-0.40495000000000003 0.9606750000000001-0.40495000000000003 0.4049750000000001-0.96265 0.4049750000000001H14.6397Zm3.9555000000000002-14.5779q0-0.230775-0.19230000000000003-0.423075-0.192325-0.19230000000000003-0.423075-0.19230000000000003H14.6423q-0.230775 0-0.423075 0.19230000000000003-0.19230000000000003 0.19230000000000003-0.19230000000000003 0.423075v13.2077q0 0.230775 0.19230000000000003 0.423075 0.19230000000000003 0.19230000000000003 0.423075 0.19230000000000003h3.3375250000000003q0.23075 0 0.423075-0.19230000000000003 0.19230000000000003-0.19230000000000003 0.19230000000000003-0.423075v-13.2077Zm-4.568275-0.042300000000000004q0-0.09615000000000001 0.19230000000000003-0.1827 0.19230000000000003-0.086525 0.423075-0.086525h3.3375250000000003q0.23075 0 0.423075 0.086525 0.19230000000000003 0.08655000000000002 0.19230000000000003 0.1827V18.95q0 0.09615000000000001-0.19230000000000003 0.1827-0.192325 0.086525-0.423075 0.086525H14.6423q-0.230775 0-0.423075-0.086525-0.19230000000000003-0.08655000000000002-0.19230000000000003-0.1827v-13.596150000000002Z' \ No newline at end of file diff --git a/src/client/icons/splitscreen_right.ts b/src/client/icons/splitscreen_right.ts new file mode 100644 index 00000000..2d0b9219 --- /dev/null +++ b/src/client/icons/splitscreen_right.ts @@ -0,0 +1,2 @@ +export const SplitscreenRight = 'M14.6397 19.97405q-0.557675 0-0.9626250000000001-0.4049750000000001-0.4049750000000001-0.40495000000000003-0.4049750000000001-0.9606750000000001v-13.216800000000001q0-0.555725 0.4049750000000001-0.9606750000000001 0.40495000000000003-0.4049750000000001 0.9626250000000001-0.4049750000000001h3.3427000000000002q0.5577 0 0.96265 0.4049750000000001Q19.35 4.835874999999998 19.35 5.3916v13.216800000000001q0 0.555725-0.40495000000000003 0.9606750000000001-0.40495000000000003 0.4049750000000001-0.96265 0.4049750000000001H14.6397Zm-8.622100000000001 0q-0.5577 0-0.96265-0.4049750000000001Q4.65 19.164125 4.65 18.6084v-13.216800000000001q0-0.555725 0.40495000000000003-0.9606750000000001 0.40495000000000003-0.4049750000000001 0.96265-0.4049750000000001h3.3427000000000002q0.557675 0 0.9626250000000001 0.4049750000000001 0.4049750000000001 0.40495000000000003 0.4049750000000001 0.9606750000000001v13.216800000000001q0 0.555725-0.4049750000000001 0.9606750000000001-0.40495000000000003 0.4049750000000001-0.9626250000000001 0.4049750000000001H6.017600000000001Zm-0.6128-14.5779v13.2077q0 0.230775 0.19230000000000003 0.423075 0.192325 0.19230000000000003 0.423075 0.19230000000000003h3.3375250000000003q0.230775 0 0.423075-0.19230000000000003 0.19230000000000003-0.19230000000000003 0.19230000000000003-0.423075v-13.2077q0-0.230775-0.19230000000000003-0.423075-0.19230000000000003-0.19230000000000003-0.423075-0.19230000000000003H6.020175q-0.23075 0-0.423075 0.19230000000000003-0.19230000000000003 0.19230000000000003-0.19230000000000003 0.423075Zm4.568275 13.823075000000001H5.404800000000001 9.973075000000001Z' +export const SplitscreenRight_Fill = 'M14.6397 19.97405q-0.557675 0-0.9626250000000001-0.4049750000000001-0.4049750000000001-0.40495000000000003-0.4049750000000001-0.9606750000000001v-13.216800000000001q0-0.555725 0.4049750000000001-0.9606750000000001 0.40495000000000003-0.4049750000000001 0.9626250000000001-0.4049750000000001h3.3427000000000002q0.5577 0 0.96265 0.4049750000000001Q19.35 4.835874999999998 19.35 5.3916v13.216800000000001q0 0.555725-0.40495000000000003 0.9606750000000001-0.40495000000000003 0.4049750000000001-0.96265 0.4049750000000001H14.6397Zm-8.622100000000001 0q-0.5577 0-0.96265-0.4049750000000001Q4.65 19.164125 4.65 18.6084v-13.216800000000001q0-0.555725 0.40495000000000003-0.9606750000000001 0.40495000000000003-0.4049750000000001 0.96265-0.4049750000000001h3.3427000000000002q0.557675 0 0.9626250000000001 0.4049750000000001 0.4049750000000001 0.40495000000000003 0.4049750000000001 0.9606750000000001v13.216800000000001q0 0.555725-0.4049750000000001 0.9606750000000001-0.40495000000000003 0.4049750000000001-0.9626250000000001 0.4049750000000001H6.017600000000001Zm-0.6128-14.5779v13.2077q0 0.230775 0.19230000000000003 0.423075 0.192325 0.19230000000000003 0.423075 0.19230000000000003h3.3375250000000003q0.230775 0 0.423075-0.19230000000000003 0.19230000000000003-0.19230000000000003 0.19230000000000003-0.423075v-13.2077q0-0.230775-0.19230000000000003-0.423075-0.19230000000000003-0.19230000000000003-0.423075-0.19230000000000003H6.020175q-0.23075 0-0.423075 0.19230000000000003-0.19230000000000003 0.19230000000000003-0.19230000000000003 0.423075Zm4.568275-0.042300000000000004V18.95q0 0.09615000000000001-0.177875 0.1827-0.1779 0.086525-0.4375 0.086525H6.020175q-0.2596 0-0.4375-0.086525-0.177875-0.08655000000000002-0.177875-0.1827v-13.596150000000002q0-0.09615000000000001 0.177875-0.1827 0.1779-0.086525 0.4375-0.086525h3.3375250000000003q0.2596 0 0.4375 0.086525 0.177875 0.08655000000000002 0.177875 0.1827Z' \ No newline at end of file diff --git a/src/client/icons/splitscreen_top.ts b/src/client/icons/splitscreen_top.ts new file mode 100644 index 00000000..fca634f9 --- /dev/null +++ b/src/client/icons/splitscreen_top.ts @@ -0,0 +1,2 @@ +export const SplitscreenTop = 'M5.3916 10.727899999999998q-0.555725 0-0.9606750000000001-0.4049750000000001-0.4049750000000001-0.40495000000000003-0.4049750000000001-0.9626250000000001v-3.3427000000000002q0-0.5577 0.4049750000000001-0.96265Q4.835875000000001 4.649999999999999 5.3916 4.649999999999999h13.216800000000001q0.555725 0 0.9606750000000001 0.40495000000000003 0.4049750000000001 0.40495000000000003 0.4049750000000001 0.96265v3.3427000000000002q0 0.557675-0.4049750000000001 0.9626250000000001-0.40495000000000003 0.4049750000000001-0.9606750000000001 0.4049750000000001H5.3916Zm0 8.622100000000001q-0.555725 0-0.9606750000000001-0.40495000000000003-0.4049750000000001-0.40495000000000003-0.4049750000000001-0.96265v-3.3427000000000002q0-0.557675 0.4049750000000001-0.9626250000000001 0.40495000000000003-0.4049750000000001 0.9606750000000001-0.4049750000000001h13.216800000000001q0.555725 0 0.9606750000000001 0.4049750000000001 0.4049750000000001 0.40495000000000003 0.4049750000000001 0.9626250000000001v3.3427000000000002q0 0.5577-0.4049750000000001 0.96265Q19.164125000000002 19.35 18.6084 19.35H5.3916Zm0.00455-0.7548h13.2077q0.230775 0 0.423075-0.19230000000000003 0.19230000000000003-0.192325 0.19230000000000003-0.423075v-3.3375250000000003q0-0.230775-0.19230000000000003-0.423075-0.19230000000000003-0.19230000000000003-0.423075-0.19230000000000003H5.3961500000000004q-0.230775 0-0.423075 0.19230000000000003-0.19230000000000003 0.19230000000000003-0.19230000000000003 0.423075v3.3375250000000003q0 0.23075 0.19230000000000003 0.423075 0.19230000000000003 0.19230000000000003 0.423075 0.19230000000000003Zm-0.615375-4.568275V18.5952 14.026924999999999Z' +export const SplitscreenTop_Fill = 'M5.3916 10.727899999999998q-0.555725 0-0.9606750000000001-0.4049750000000001-0.4049750000000001-0.40495000000000003-0.4049750000000001-0.9626250000000001v-3.3427000000000002q0-0.5577 0.4049750000000001-0.96265Q4.835875000000001 4.649999999999999 5.3916 4.649999999999999h13.216800000000001q0.555725 0 0.9606750000000001 0.40495000000000003 0.4049750000000001 0.40495000000000003 0.4049750000000001 0.96265v3.3427000000000002q0 0.557675-0.4049750000000001 0.9626250000000001-0.40495000000000003 0.4049750000000001-0.9606750000000001 0.4049750000000001H5.3916Zm0 8.622100000000001q-0.555725 0-0.9606750000000001-0.40495000000000003-0.4049750000000001-0.40495000000000003-0.4049750000000001-0.96265v-3.3427000000000002q0-0.557675 0.4049750000000001-0.9626250000000001 0.40495000000000003-0.4049750000000001 0.9606750000000001-0.4049750000000001h13.216800000000001q0.555725 0 0.9606750000000001 0.4049750000000001 0.4049750000000001 0.40495000000000003 0.4049750000000001 0.9626250000000001v3.3427000000000002q0 0.5577-0.4049750000000001 0.96265Q19.164125000000002 19.35 18.6084 19.35H5.3916Zm0.00455-0.7548h13.2077q0.230775 0 0.423075-0.19230000000000003 0.19230000000000003-0.192325 0.19230000000000003-0.423075v-3.3375250000000003q0-0.230775-0.19230000000000003-0.423075-0.19230000000000003-0.19230000000000003-0.423075-0.19230000000000003H5.3961500000000004q-0.230775 0-0.423075 0.19230000000000003-0.19230000000000003 0.19230000000000003-0.19230000000000003 0.423075v3.3375250000000003q0 0.23075 0.19230000000000003 0.423075 0.19230000000000003 0.19230000000000003 0.423075 0.19230000000000003ZM5.050000000000001 14.026924999999999h13.596150000000002q0.09615000000000001 0 0.1827 0.177875 0.086525 0.1779 0.086525 0.4375v3.3375250000000003q0 0.2596-0.086525 0.4375-0.08655000000000002 0.177875-0.1827 0.177875H5.050000000000001q-0.09615000000000001 0-0.1827-0.177875-0.086525-0.1779-0.086525-0.4375v-3.3375250000000003q0-0.2596 0.086525-0.4375 0.08655000000000002-0.177875 0.1827-0.177875Z' \ No newline at end of file diff --git a/src/client/icons/splitscreen_vertical_add.ts b/src/client/icons/splitscreen_vertical_add.ts new file mode 100644 index 00000000..a5f11c6d --- /dev/null +++ b/src/client/icons/splitscreen_vertical_add.ts @@ -0,0 +1,2 @@ +export const SplitscreenVerticalAdd = 'M19.216350000000002 4.783649999999998h0.0125-4.60095 0.020175000000000002-0.35000000000000003H19.216350000000002Zm-5.673075000000001 0.61165q0-0.55655 0.39985000000000004-0.9615t0.9703250000000001-0.40495000000000003h3.6875250000000004q0.5602750000000001 0 0.9652250000000001 0.40495000000000003t0.40495000000000003 0.9652250000000001v9.216375h-0.7548v-9.216375q0-0.269225-0.173075-0.4423t-0.4423-0.173075H14.913450000000001q-0.269225 0-0.4423 0.173075t-0.173075 0.4423v14.4183q-0.33972500000000005-0.15385000000000001-0.547275-0.474625-0.20752500000000002-0.32075000000000004-0.20752500000000002-0.7417250000000001v-13.205675Zm-8.14425 14.57585q-0.5602750000000001 0-0.9652250000000001-0.40495000000000003t-0.40495000000000003-0.9617000000000001v-13.209000000000001q0-0.55675 0.40495000000000003-0.9617000000000001 0.40495000000000003-0.40495000000000003 0.9652250000000001-0.40495000000000003h3.7231000000000005q0.5469750000000001 0 0.9585750000000002 0.40495000000000003 0.41159999999999997 0.40495000000000003 0.41159999999999997 0.9617000000000001v13.209000000000001q0 0.55675-0.41159999999999997 0.9617000000000001-0.41159999999999997 0.40495000000000003-0.9585750000000002 0.40495000000000003H5.399025000000001ZM9.7375 5.399024999999998q0-0.269225-0.177875-0.4423-0.1779-0.173075-0.4375-0.173075H5.399025000000001q-0.269225 0-0.4423 0.173075t-0.173075 0.4423v13.20195q0 0.269225 0.173075 0.4423t0.4423 0.173075h3.7231000000000005q0.2596 0 0.4375-0.173075 0.177875-0.173075 0.177875-0.4423v-13.20195Zm0-0.615375H4.783650000000001 9.7375ZM19.216350000000002 22.201925v-2.230775h-2.230775v-0.7548h2.230775v-2.230775h0.7548v2.230775h2.230775v0.7548h-2.230775v2.230775h-0.7548Z' +export const SplitscreenVerticalAdd_Fill = 'M19.216350000000002 22.201925v-2.230775h-2.230775v-0.7548h2.230775v-2.230775h0.7548v2.230775h2.230775v0.7548h-2.230775v2.230775h-0.7548Zm-13.817325-2.230775q-0.5503 0-0.9602499999999999-0.409925-0.409925-0.40995000000000004-0.409925-0.9602499999999999v-13.20195q0-0.5503 0.409925-0.960225 0.40995000000000004-0.40995000000000004 0.9602499999999999-0.40995000000000004h3.7231000000000005q0.569525 0 0.96985 0.40995000000000004 0.40032500000000004 0.409925 0.40032500000000004 0.960225v13.20195q0 0.5503-0.40032500000000004 0.9602499999999999-0.40032500000000004 0.409925-0.96985 0.409925H5.399025000000001Zm9.24905-0.173075q-0.477875-0.153825-0.79135-0.4495-0.31345-0.295675-0.31345-0.7394250000000001v-13.210125q0-0.5503 0.38995-0.960225 0.389975-0.40995000000000004 0.9802250000000001-0.40995000000000004h3.6875250000000004q0.5503 0 0.960225 0.40995000000000004 0.40995000000000004 0.409925 0.40995000000000004 0.960225v9.246175q-0.15095000000000003 0.00095-0.30385-0.014425-0.152875-0.015375-0.29860000000000003-0.015375-1.8514 0-3.1821750000000004 1.22835-1.33075 1.228375-1.53685 3.056-0.038450000000000005 0.21050000000000002-0.0282 0.44222500000000003 0.01025 0.23175 0.026600000000000002 0.4561Z' \ No newline at end of file diff --git a/src/client/icons/table.ts b/src/client/icons/table.ts new file mode 100644 index 00000000..17a47469 --- /dev/null +++ b/src/client/icons/table.ts @@ -0,0 +1,2 @@ +export const Table = 'M4.025 19.975V4.025h15.95v15.95Zm0.75-11.1h14.45v-4.1H4.775ZM9.85 14.05h4.3v-4.4h-4.3Zm0 5.175h4.3v-4.4h-4.3ZM4.775 14.05h4.325v-4.4H4.775Zm10.125 0h4.325v-4.4H14.9ZM4.775 19.225h4.325v-4.4H4.775Zm10.125 0h4.325v-4.4H14.9Z' +export const Table_Fill = 'M4.025 19.975V4.025h15.95v15.95Zm0.75-11.1h14.45v-4.1H4.775ZM9.85 14.05h4.3v-4.4h-4.3Zm0 5.175h4.3v-4.4h-4.3ZM4.775 14.05h4.325v-4.4H4.775Zm10.125 0h4.325v-4.4H14.9ZM4.775 19.225h4.325v-4.4H4.775Zm10.125 0h4.325v-4.4H14.9Z' \ No newline at end of file diff --git a/src/client/icons/table_rows.ts b/src/client/icons/table_rows.ts new file mode 100644 index 00000000..d7281bd1 --- /dev/null +++ b/src/client/icons/table_rows.ts @@ -0,0 +1,2 @@ +export const TableRows = 'M19.225 18.6v-3.5H4.775v3.5q0 0.275 0.175 0.45t0.45 0.175h13.2q0.275 0 0.45-0.175t0.175-0.45Zm0-4.25v-4.7H4.775v4.7h14.45Zm0-5.45v-3.5q0-0.275-0.175-0.45t-0.45-0.175H5.4q-0.275 0-0.45 0.175t-0.175 0.45v3.5h14.45ZM5.4 19.975q-0.575 0-0.975-0.4t-0.4-0.975V5.4q0-0.575 0.4-0.975t0.975-0.4h13.2q0.575 0 0.975 0.4t0.4 0.975v13.2q0 0.575-0.4 0.975t-0.975 0.4Z' +export const TableRows_Fill = 'M4.05 19.975v-4.75h15.925v4.75Zm0-5.5v-4.95h15.925v4.95Zm0-5.7v-4.75h15.925v4.75Z' \ No newline at end of file diff --git a/src/client/icons/table_rows_narrow.ts b/src/client/icons/table_rows_narrow.ts new file mode 100644 index 00000000..54519bc1 --- /dev/null +++ b/src/client/icons/table_rows_narrow.ts @@ -0,0 +1,2 @@ +export const TableRowsNarrow = 'M19.219225 15.40095V12.36635H4.780775v3.0346h14.438450000000001Zm0-3.789425V8.5577H4.780775v3.0538250000000002h14.438450000000001Zm0-3.80865v-2.4067250000000002q0-0.269225-0.173075-0.4423t-0.4423-0.173075H5.3961500000000004q-0.269225 0-0.4423 0.173075t-0.173075 0.4423v2.4067250000000002h14.438450000000001ZM5.3916 19.97405q-0.555725 0-0.9606750000000001-0.4049750000000001-0.4049750000000001-0.40495000000000003-0.4049750000000001-0.9606750000000001V5.3915999999999995q0-0.555725 0.4049750000000001-0.9606750000000001 0.40495000000000003-0.4049750000000001 0.9606750000000001-0.4049750000000001h13.216800000000001q0.555725 0 0.9606750000000001 0.4049750000000001 0.4049750000000001 0.40495000000000003 0.4049750000000001 0.9606750000000001v13.216800000000001q0 0.555725-0.4049750000000001 0.9606750000000001-0.40495000000000003 0.4049750000000001-0.9606750000000001 0.4049750000000001H5.3916Zm13.827625000000001-1.3702v-2.4480750000000002H4.780775v2.4480750000000002q0 0.269225 0.173075 0.4423t0.4423 0.173075h13.2077q0.269225 0 0.4423-0.173075t0.173075-0.4423Z' +export const TableRowsNarrow_Fill = 'M4.025950000000001 15.933650000000002V12.36635h15.9481v3.5673000000000004H4.025950000000001Zm0-4.322125V8.047125h15.9481v3.5644H4.025950000000001Zm0-4.319225V3.7375h15.9481v3.5548H4.025950000000001Zm0 12.9702V16.688474999999997h15.9481V20.262500000000003H4.025950000000001Z' \ No newline at end of file diff --git a/src/client/main.ts b/src/client/main.ts new file mode 100644 index 00000000..c50c04f9 --- /dev/null +++ b/src/client/main.ts @@ -0,0 +1,9 @@ +import './style/main.scss' +import { app } from './app' + +export const container = document.body.appendChild( + document.createElement('div'), +) +container.id = 'app' + +app.mount(container) diff --git a/src/client/router/RouteNames.ts b/src/client/router/RouteNames.ts new file mode 100644 index 00000000..7f62c50c --- /dev/null +++ b/src/client/router/RouteNames.ts @@ -0,0 +1,6 @@ +export enum RouteNames { + Home = 'home', + Sequence = 'sequence', + + Error404 = '404', +} diff --git a/src/client/router/index.ts b/src/client/router/index.ts new file mode 100644 index 00000000..3042d404 --- /dev/null +++ b/src/client/router/index.ts @@ -0,0 +1,29 @@ +import { createRouter, createWebHashHistory } from 'vue-router' +import { RouteNames } from './RouteNames' + +export const router = createRouter({ + history: createWebHashHistory(), + routes: [ + { + name: RouteNames.Home, + path: '/', + redirect: RouteNames.Sequence, + }, + + { + name: RouteNames.Sequence, + path: '/sequence', + components: { + default: () => import('../views/Sequence').then((c) => c.Sequence), + }, + }, + + { + name: RouteNames.Error404, + path: '/:pathMatch(.*)*', + components: { + default: () => import('../views/404').then((c) => c.Error404), + }, + }, + ], +}) diff --git a/src/client/stores/request.ts b/src/client/stores/request.ts new file mode 100644 index 00000000..5d3de6f7 --- /dev/null +++ b/src/client/stores/request.ts @@ -0,0 +1,23 @@ +import { defineStore } from 'pinia' +import { ref } from 'vue' +import type { ProxyRequest } from '../../shared/Request' +import { registerDataHandler } from '../utils/websocket' +import type { WebSocketMessage } from '../../shared/WebSocketMessage' +import { WebSocketMessageType } from '../../shared/WebSocketMessage' + +export const STORE_NAME = 'REQ' + +export const useRequestStore = defineStore(STORE_NAME, () => { + // define an endpoint to the websockets and intercept incoming requests + const requests = ref([] as ProxyRequest[]) + + registerDataHandler( + WebSocketMessageType.ProxyRequest, + ({ data }: WebSocketMessage) => { + data.ts = new Date(data.ts) + requests.value.push(data) + } + ) + + return { requests } +}) diff --git a/src/client/style/_content.scss b/src/client/style/_content.scss new file mode 100644 index 00000000..96aefcd3 --- /dev/null +++ b/src/client/style/_content.scss @@ -0,0 +1,109 @@ +@use "./sass-vars" as *; + +@for $i from 0 through 12 { + .pa-#{$i} { + padding: $i * $spacer !important; + } +} + +@for $i from 0 through 12 { + .px-#{$i} { + padding-right: $i * $spacer !important; + padding-left: $i * $spacer !important; + } + + .py-#{$i} { + padding-top: $i * $spacer !important; + padding-bottom: $i * $spacer !important; + } +} + +@for $i from 0 through 12 { + .pt-#{$i} { + padding-top: $i * $spacer !important; + } + + .pr-#{$i} { + padding-right: $i * $spacer !important; + } + + .pb-#{$i} { + padding-bottom: $i * $spacer !important; + } + + .pl-#{$i} { + padding-left: $i * $spacer !important; + } +} + +@for $i from 0 through 12 { + .ma-#{$i} { + margin: $i * $spacer !important; + } +} + +@for $i from 0 through 12 { + .mx-#{$i} { + margin-left: $i * $spacer !important; + margin-right: $i * $spacer !important; + } + + .my-#{$i} { + margin-top: $i * $spacer !important; + margin-bottom: $i * $spacer !important; + } +} + +@for $i from 0 through 12 { + .mt-#{$i} { + margin-top: $i * $spacer !important; + } + + .mr-#{$i} { + margin-right: $i * $spacer !important; + } + + .mb-#{$i} { + margin-bottom: $i * $spacer !important; + } + + .ml-#{$i} { + margin-left: $i * $spacer !important; + } +} + +@for $i from 0 through 12 { + .ma-n#{$i} { + margin: -$i * $spacer !important; + } +} + +@for $i from 0 through 12 { + .mx-n#{$i} { + margin-left: -$i * $spacer !important; + margin-right: -$i * $spacer !important; + } + + .my-n#{$i} { + margin-top: -$i * $spacer !important; + margin-bottom: -$i * $spacer !important; + } +} + +@for $i from 0 through 12 { + .mt-n#{$i} { + margin-top: -$i * $spacer !important; + } + + .mr-n#{$i} { + margin-right: -$i * $spacer !important; + } + + .mb-n#{$i} { + margin-bottom: -$i * $spacer !important; + } + + .ml-n#{$i} { + margin-left: -$i * $spacer !important; + } +} diff --git a/src/client/style/_display.scss b/src/client/style/_display.scss new file mode 100644 index 00000000..1e95ea88 --- /dev/null +++ b/src/client/style/_display.scss @@ -0,0 +1,5 @@ +@each $type in (inline, block, inline-block) { + .d-#{$type} { + display: $type; + } +} diff --git a/src/client/style/_flex.scss b/src/client/style/_flex.scss new file mode 100644 index 00000000..616238df --- /dev/null +++ b/src/client/style/_flex.scss @@ -0,0 +1,42 @@ +.d-flex { + display: flex; +} + +.flex-column { + flex-direction: column; +} + +.align-items-center { + align-items: center; +} + +.flex-grow-0 { + flex-grow: 0; +} + +.flex-grow-1 { + flex-grow: 1; +} + +.flex-shrink-0 { + flex-shrink: 0; +} + +.flex-shrink-1 { + flex-shrink: 1; +} + + +@each $type in (center, start, end, flex-start, flex-end, left, right, space-between, space-around, space-evenly, stretch) { + .justify-#{$type} { + justify-content: $type; + } + + .align-#{$type} { + align-self: $type; + } + + .align-items-#{$type} { + align-items: $type; + } +} diff --git a/src/client/style/_gap.scss b/src/client/style/_gap.scss new file mode 100644 index 00000000..8bee3d21 --- /dev/null +++ b/src/client/style/_gap.scss @@ -0,0 +1,8 @@ +$spacer: 4px; + +@for $i from 1 through 12 { + .gap-#{$i} { + gap: $i * $spacer !important; + } + +} diff --git a/src/client/style/_headers.scss b/src/client/style/_headers.scss new file mode 100644 index 00000000..ae04b42a --- /dev/null +++ b/src/client/style/_headers.scss @@ -0,0 +1,21 @@ +h1 { + font-size: 2rem; + font-weight: 600; +} + +h2 { + font-size: 1.25rem; + font-weight: 400; +} + + +h3 { + font-size: 1.15rem; + font-weight: 400; +} + + +h4 { + font-size: 1.05rem; + font-weight: 400; +} diff --git a/src/client/style/_overflow.scss b/src/client/style/_overflow.scss new file mode 100644 index 00000000..f03a0edf --- /dev/null +++ b/src/client/style/_overflow.scss @@ -0,0 +1,21 @@ +@each $type in (none, auto, hidden) { + .overflow-#{$type} { + overflow: $type; + } + + .overflow-y-#{$type} { + overflow-y: $type; + } + + .overflow-x-#{$type} { + overflow-x: $type; + } +} + +@each $type in (clip, ellipsis) { + .overflow-#{$type} { + text-overflow: $type; + } +} + + diff --git a/src/client/style/_reset.scss b/src/client/style/_reset.scss new file mode 100644 index 00000000..a1fa19ff --- /dev/null +++ b/src/client/style/_reset.scss @@ -0,0 +1,143 @@ +/* http://meyerweb.com/eric/tools/css/reset/ + v5.0.2 | 20191019 + License: none (public domain) +*/ + +html, +body, +div, +span, +applet, +object, +iframe, +h1, +h2, +h3, +h4, +h5, +h6, +p, +blockquote, +pre, +a, +abbr, +acronym, +address, +big, +cite, +code, +del, +dfn, +em, +img, +ins, +kbd, +q, +s, +samp, +small, +strike, +strong, +sub, +sup, +tt, +var, +b, +u, +i, +center, +dl, +dt, +dd, +ol, +ul, +li, +fieldset, +form, +label, +legend, +table, +caption, +tbody, +tfoot, +thead, +tr, +th, +td, +article, +aside, +canvas, +details, +embed, +figure, +figcaption, +footer, +header, +hgroup, +main, +menu, +nav, +output, +ruby, +section, +summary, +time, +mark, +audio, +video { + margin: 0; + padding: 0; + border: 0; + font-size: 100%; + font: inherit; + vertical-align: baseline; +} + +/* HTML5 display-role reset for older browsers */ +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +main, +menu, +nav, +section { + display: block; +} + +/* HTML5 hidden-attribute fix for newer browsers */ +*[hidden] { + display: none; +} + +body { + line-height: 1; +} + +menu, +ol, +ul { + list-style: none; +} + +blockquote, +q { + quotes: none; +} + +blockquote::before, +blockquote::after, +q::before, +q::after { + content: ''; + content: none; +} + +table { + border-collapse: collapse; + border-spacing: 0; +} diff --git a/src/client/style/_sass-vars.scss b/src/client/style/_sass-vars.scss new file mode 100644 index 00000000..59464a84 --- /dev/null +++ b/src/client/style/_sass-vars.scss @@ -0,0 +1,38 @@ +$spacer: 4px; + +:root { + // spacer + --spacer: #{$spacer}; + + // fonts + --font-family: "Segoe UI Web (West European)", "Segoe UI", -apple-system, blinkmacsystemfont, roboto, "Helvetica Neue", sans-serif; + --font-family-mono: ui-monospace, sfmono-regular, menlo, monaco, consolas, liberation mono, courier new, monospace; + --font-weight-bold: 400; + + // theme colors + --primary-color: rgb(49 120 198); + --secondary-color: rgb(0 255 0); + + // background + --app-background-color: 14, 14, 22; + --app-background: rgb(var(--app-background-color)); + --background-color: 215, 215, 220; + --background: rgba(var(--background-color), .2); + + // borders + --border-color: rgba(255 255 255, 40%); + --border-radius: 4px; + --border-size: thin; + + // text + --text-color: #fff; + --link-color: var(--text-color); + --icon-color: var(--text-color); + + // animation + --animation-duration: 1s; + + // panel + --panel-background: rgb(255 255 255 / 20%); + --panel-border: var(--border-size) solid var(--border-color); +} diff --git a/src/client/style/_utilities.scss b/src/client/style/_utilities.scss new file mode 100644 index 00000000..5b916581 --- /dev/null +++ b/src/client/style/_utilities.scss @@ -0,0 +1,7 @@ +.fill-height { + height: 100%; +} + +.no-wrap { + white-space: nowrap; +} diff --git a/src/client/style/_vars.scss b/src/client/style/_vars.scss new file mode 100644 index 00000000..f4939ec8 --- /dev/null +++ b/src/client/style/_vars.scss @@ -0,0 +1,39 @@ +@use './sass-vars' as *; +@forward './sass-vars'; + +:root { + // spacer + --spacer: #{$spacer}; + + // fonts + --font-family: "Segoe UI Web (West European)", "Segoe UI", -apple-system, blinkmacsystemfont, roboto, "Helvetica Neue", sans-serif; + --font-family-mono: ui-monospace, sfmono-regular, menlo, monaco, consolas, liberation mono, courier new, monospace; + --font-weight-bold: 400; + + // theme colors + --primary-color: rgb(49, 120, 198); + --secondary-color: rgb(0, 255, 0); + + // background + --app-background-color: 14, 24, 44; + --app-background: rgb(var(--app-background-color)); + --background-color: 215, 215, 220; + --background: rgba(var(--background-color), .2); + + // borders + --border-color: rgba(255, 255, 255, 30%); + --border-radius: 4px; + --border-size: 1px; + + // text + --text-color: #fff; + --link-color: var(--text-color); + --icon-color: var(--text-color); + + // animation + --animation-duration: 1s; + + // panel + --panel-background: rgb(255 255 255 / 20%); + --panel-border: var(--border-size) solid var(--border-color); +} diff --git a/src/client/style/main.scss b/src/client/style/main.scss new file mode 100644 index 00000000..c6e6c00c --- /dev/null +++ b/src/client/style/main.scss @@ -0,0 +1,49 @@ +@use "./reset"; +@use "./vars"; +@use "./content"; +@use "./display"; +@use "./flex"; +@use "./gap"; +@use "./overflow"; +@use "./utilities"; +@use "./headers"; +@use "./sass-vars" as *; +@forward "./sass-vars"; + + +* { + box-sizing: border-box; +} + + +html, body { + background: var(--app-background); + color: var(--text-color); + font-family: var(--font-family), serif; + height: 100%; + line-height: 1.6; + font-weight: 200; +} + +body { + padding: 1em; + box-sizing: border-box; +} + +div#app { + height: calc(100% - 2em); +} + + +a, a:visited, a:active, a:hover { + color: var(--link-color); + text-decoration: none; +} + +a:hover { + text-shadow: 0 0 1px var(--link-color); +} + +b { + font-weight: var(--font-weight-bold); +} diff --git a/src/client/tsconfig.json b/src/client/tsconfig.json new file mode 100644 index 00000000..54df8769 --- /dev/null +++ b/src/client/tsconfig.json @@ -0,0 +1,14 @@ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "baseUrl": ".", + "outDir": "../../dist/client", + "sourceMap": true, + // JSX + "jsx": "preserve", + "jsxImportSource": "vue" + }, + "include": [ + "." + ] +} diff --git a/src/client/utils/websocket.ts b/src/client/utils/websocket.ts new file mode 100644 index 00000000..60e74678 --- /dev/null +++ b/src/client/utils/websocket.ts @@ -0,0 +1,42 @@ +import type { + WebSocketMessage, + WebSocketMessageType, +} from '../../shared/WebSocketMessage' +import { parseWebSocketMessage } from '../../shared/WebSocketMessage' + +const url = new URL(location.toString()) +url.hash = '' +url.protocol = 'ws' +url.pathname = 'ws' + +type ParsedDataHandler = (data: WebSocketMessage) => void + +const registry: Record = {} + +export const registerDataHandler = ( + type: WebSocketMessageType, + dataHandler: ParsedDataHandler +) => (registry[type] = dataHandler) + +export const socket = new WebSocket(url) +socket.onmessage = (msg: MessageEvent) => { + const data = parseWebSocketMessage(msg) + if (typeof data === 'object') { + registry[data.type]?.(data) + } else { + console.warn(`Could not find WebSocket handler for:`, data) + } +} + +export const sendWsData = async (type: WebSocketMessageType, data: any) => { + socket.send(JSON.stringify({ type, data } as WebSocketMessage)) +} + +// Connection opened +socket.addEventListener('open', (event) => { + // socket.send('Hello Server!') +}) + +socket.addEventListener('error', (error) => { + console.error({ error }) +}) diff --git a/src/client/views/404.tsx b/src/client/views/404.tsx new file mode 100644 index 00000000..d0f8b735 --- /dev/null +++ b/src/client/views/404.tsx @@ -0,0 +1,25 @@ +import type { PropType } from 'vue' +import { defineComponent } from 'vue' +import { VContainer } from '../components' + +export const Error404 = defineComponent({ + name: 'v-home-view', + + props: { + width: { + type: [Number, String] as PropType, + }, + }, + + setup() { + return () => ( + + 404 — Not found + + ) + }, +}) diff --git a/src/client/views/Sequence.tsx b/src/client/views/Sequence.tsx new file mode 100644 index 00000000..e031da27 --- /dev/null +++ b/src/client/views/Sequence.tsx @@ -0,0 +1,113 @@ +import type { PropType, Ref } from 'vue' +import { computed, defineComponent, shallowRef } from 'vue' +import { VCard, VContainer, VList, VListItem, VTable } from '../components' +import { useRequestStore } from '../stores/request' +import type { ProxyRequest } from '../../shared/Request' + +export const Sequence = defineComponent({ + name: 'v-home-view', + + props: { + width: { + type: [Number, String] as PropType, + default: 320, + }, + }, + + setup(props) { + const requestStore = useRequestStore() + const current: Ref = shallowRef() + + const width = computed(() => + typeof props.width === 'number' ? `${props.width}px` : props.width + ) + + const handleSelect = (item: ProxyRequest) => { + current.value = item + } + + return () => ( + + +

Requests

+ + {requestStore.requests.map((req) => ( + handleSelect(req)} + class={['py-0', 'mx-1', 'px-1', 'overflow-ellipsis']} + prependIcon={'InputCircle'} + > +
+ {req.method} — {req.url} +
+
+ ))} +
+
+ + + {current.value && ( + + + + Name + Value + + + + + + URL: + {current.value.url} + + + {current.value.ts != null && ( + + Time: + {current.value.ts.toLocaleString()} + + )} + + + Method: + {current.value.method} + + + {current.value.statusCode != null && ( + + Status: + {current.value.statusCode} + + )} + + {current.value.headers.map( + (h, i) => + i % 2 === 0 && ( + + {i === 0 && ( + + Headers: + + )} + + {h}: {current.value!.headers[i + 1]} + + + ) + )} + + + )} + +
+ ) + }, +}) diff --git a/src/env.d.ts b/src/env.d.ts new file mode 100644 index 00000000..11f02fe2 --- /dev/null +++ b/src/env.d.ts @@ -0,0 +1 @@ +/// diff --git a/src/node/index.ts b/src/node/index.ts new file mode 100644 index 00000000..da86ad5f --- /dev/null +++ b/src/node/index.ts @@ -0,0 +1,7 @@ +import { start } from './server' +import process from 'node:process' +import { openBrowser } from './utils/open-browser' + +start().then((address) => { + if (process.argv.includes('--open')) openBrowser(address) +}) diff --git a/src/node/logger.ts b/src/node/logger.ts new file mode 100644 index 00000000..4505988b --- /dev/null +++ b/src/node/logger.ts @@ -0,0 +1,17 @@ +import * as readline from 'node:readline' + +export type Logger = Console + +export const Logger: Logger = console + +export function clearScreen() { + const repeatCount = process.stdout.rows - 2 + const blank = repeatCount > 0 ? '\n'.repeat(repeatCount) : '' + console.log(blank) + readline.cursorTo(process.stdout, 0, 0) + readline.clearScreenDown(process.stdout) +} + +export const createLogger = (): Logger => { + return Logger +} diff --git a/src/node/server/content-type.ts b/src/node/server/content-type.ts new file mode 100644 index 00000000..f3563893 --- /dev/null +++ b/src/node/server/content-type.ts @@ -0,0 +1,19 @@ +import path from 'path' + +const typeMap = { + '.html': 'text/html', + '.css': 'text/css', + + '.js': 'text/javascript', + '.json': 'text/json', + + '.svg': 'image/svg+xml', + '.png': 'image/png', + '.gif': 'image/gif', + + '.otf': 'font/otf', + '.ttf': 'font/ttf', +} + +export const getContentType = (file: string) => + typeMap[path.extname(file) as keyof typeof typeMap] diff --git a/src/node/server/handler.ts b/src/node/server/handler.ts new file mode 100644 index 00000000..dfea38de --- /dev/null +++ b/src/node/server/handler.ts @@ -0,0 +1,46 @@ +import type { IncomingMessage, ServerResponse } from 'http' +import { request } from 'http' +import { request as httpsRequest } from 'https' +import { inspect } from 'util' +import { resolve } from 'path' +import { sendWsData } from './websocket' +import { WebSocketMessageType } from '../../shared/WebSocketMessage' +import { createProxyRequest } from '../utils/proxy-request' + +/** + * Forward requests + */ +export const handleRequest = (req: IncomingMessage, res: ServerResponse) => { + //console.log({req, res}) + + const str = inspect(req) //JSON.stringify(req ) + const path = resolve(process.cwd(), 'node_modules/.cache/js-proxy') + + //mkdirSync(path, {recursive: true}) + //writeFileSync(resolve(path, "req.json"), str, {flag: 'a+'}) + + const trailers = [...req.rawTrailers] + const url = req.url! + + console.log({ url }) + + // log the request + sendWsData(WebSocketMessageType.ProxyRequest, createProxyRequest(req)) + + const customRequest = url.startsWith('https') ? httpsRequest : request + + const proxyReq = customRequest(url, { headers: req.headers }, (proxyRes) => { + Object.entries(proxyRes.headersDistinct).forEach(([key, value]) => { + if (proxyRes.statusCode) res.statusCode = proxyRes.statusCode + res.setHeader(key, value ?? '') + }) + proxyRes.on('data', (chunk) => res.write(chunk)) + proxyRes.on('end', () => res.end()) + proxyRes.on('error', (err) => console.log({ err })) + }) + + proxyReq.on('error', (err) => console.log({ err })) + + trailers.forEach((chunk) => proxyReq.write(chunk)) + proxyReq.end() +} diff --git a/src/node/server/index.ts b/src/node/server/index.ts new file mode 100644 index 00000000..353ea89c --- /dev/null +++ b/src/node/server/index.ts @@ -0,0 +1 @@ +export {start} from "./server" diff --git a/src/node/server/self-handler.ts b/src/node/server/self-handler.ts new file mode 100644 index 00000000..74a4dd7e --- /dev/null +++ b/src/node/server/self-handler.ts @@ -0,0 +1,41 @@ +import type { IncomingMessage, ServerResponse } from 'http' +import { packageRoot } from '../utils/package' +import path, { resolve } from 'path' +import { readFileSync, statSync } from 'fs' +import { getContentType } from './content-type' + +const staticRoot = resolve(packageRoot, 'dist', 'client') + +const getStaticCandidates = (req: IncomingMessage) => [ + path.resolve(staticRoot + '/' + req.url), + path.resolve(staticRoot + '/' + req.url + 'index.html'), +] + +const isStaticMatch = (file: string) => { + try { + return statSync(file, { throwIfNoEntry: false })?.isFile() + } catch (e) { + return false + } +} + +export const handleSelf = (req: IncomingMessage, res: ServerResponse) => { + try { + let file = getStaticCandidates(req).find(isStaticMatch) + + if (!file) { + // handle404(req, res) + file = path.resolve(staticRoot + '/index.html') + } + + const data = readFileSync(file) + '' + const contentType = getContentType(file) + + //res.writeHead(200) + if (contentType) res.setHeader('Content-Type', contentType) + res.end(data) + } catch (e) { + console.error(e) + } +} + diff --git a/src/node/server/server-info.ts b/src/node/server/server-info.ts new file mode 100644 index 00000000..c8795d24 --- /dev/null +++ b/src/node/server/server-info.ts @@ -0,0 +1,33 @@ +import type { Logger } from '../logger' +import { clearScreen } from '../logger' +import type { Server } from 'http' +import { APP_NAME } from '../../shared/constants' +import { packageJson } from '../utils/package' +import tui from '../utils/tui' + +interface ServerInfoOptions { + logger: Logger + server: Server +} + +const getAddress = (server: Server) => { + const address = server.address() + if (!address) return '?' + if (typeof address === 'string') return address + return `http://localhost:${address.port}` +} + +export const displayServerInfo = ({ logger, server }: ServerInfoOptions) => { + const title = `${APP_NAME} - ${packageJson.version}` + clearScreen() + logger.info() + logger.info(` ${tui.title(title)}`) + logger.info() + logger.info( + ` ${tui.tooltip(`GUI & Proxy Server: ${tui.link(getAddress(server))}`)}` + ) + logger.info( + ` ${tui.tooltip(`Use ${tui.tip('--open')} to automatically open your browser.`)}` + ) + logger.info() +} diff --git a/src/node/server/server.ts b/src/node/server/server.ts new file mode 100644 index 00000000..1a8731aa --- /dev/null +++ b/src/node/server/server.ts @@ -0,0 +1,121 @@ +import type { IncomingMessage, ServerResponse } from 'http' +import { createServer } from 'http' +import net from 'net' +import { readFileSync } from 'fs' +import { resolve as resolvePath } from 'path' +import { handleRequest } from './handler' +import { createLogger } from '../logger' +import * as process from 'node:process' +import { handleSelf } from './self-handler' +import { defineSocketServer, sendWsData } from './websocket' +import { WebSocketMessageType } from '../../shared/WebSocketMessage' +import { createProxyRequest } from '../utils/proxy-request' +import { displayServerInfo } from './server-info' + +const DEFAULT_HOST = 'localhost' +const DEFAULT_PORT = 8080 + +/** + * Spin up the proxy server + */ +export const start = ( + options: { + port?: number + host?: string + } = {} +) => { + const serverOptions = { + host: DEFAULT_HOST, + port: DEFAULT_PORT, + logger: createLogger(), + ...options, + } + const { host, logger } = serverOptions + let { port } = serverOptions + const serverAddress = new URL(`http://${host}:${port}`) + + function preHandleRequest(req: IncomingMessage, res: ServerResponse) { + if (req.url?.startsWith('/')) { + //const url = new URL(`http://${process.env.HOST ?? 'localhost'}${req.url}`) + return handleSelf(req, res) + } + return handleRequest(req, res) + } + + return new Promise((resolve, reject) => { + const options = { + key: readFileSync(resolvePath(process.cwd(), 'cert/key.pem')).toString(), + cert: readFileSync( + resolvePath(process.cwd(), 'cert/cert.pem') + ).toString(), + } + const server = createServer() + const onError = (e: Error & { code?: string }) => { + if (e.code === 'EADDRINUSE') { + logger.info(`Port ${port} is in use, trying another one...`) + server.listen(++port, host) + } else { + console.log({ e }) + + //server.removeListener('error', onError) + //reject(e) + } + } + + server.addListener('connect', function (req, socket, head) { + const [url, port] = req.url!.split(':') as [string, string] + + //console.log({ con: req.url, head: req.socket }) + + // log the request + sendWsData(WebSocketMessageType.ProxyRequest, createProxyRequest(req)) + + //creating TCP connection to remote server + const conn = net.connect(parseInt(port) || 443, url, function () { + // tell the client that the connection is established + socket.write( + 'HTTP/' + req.httpVersion + ' 200 OK\r\n\r\n', + undefined, + function () { + // creating pipes in both ends + conn.pipe(socket) + socket.pipe(conn) + } + ) + + socket.on('error', (err) => { + console.log('socket error', { err }) + }) + }) + + conn.on('connectionAttempt', (a, v, c) => { + //console.log("connectionAttempt", {a, v, c}) + }) + + conn.on('data', function (chunk) { + //console.log({chunk: chunk.toString()}) + }) + + conn.on('error', function (e) { + console.log('Server connection error: ' + e) + socket.end() + }) + }) + + server.on('error', onError) + + server.listen(port, () => { + const address = new URL(`http://${host}:${port}`) + displayServerInfo({ logger, server }) + resolve(address) + }) + + server.on('clientError', (err) => { + console.error('Server client error: ' + err) + }) + + defineSocketServer(server) + + server.addListener('request', preHandleRequest) + }) +} diff --git a/src/node/server/websocket.ts b/src/node/server/websocket.ts new file mode 100644 index 00000000..309d0ed2 --- /dev/null +++ b/src/node/server/websocket.ts @@ -0,0 +1,51 @@ +import type { Server } from 'http' +import type WebSocket from 'ws' +import { WebSocketServer } from 'ws' +import type { WebSocketMessage } from '../../shared/WebSocketMessage' +import { + parseWebSocketMessage, + WebSocketMessageType, +} from '../../shared/WebSocketMessage' + +const instance = { + wss: undefined as WebSocketServer | undefined, + ws: undefined as WebSocket | undefined, +} + +export const sendWsData = (type: WebSocketMessageType, data: any) => { + instance.ws?.send(JSON.stringify({ type, data } as WebSocketMessage)) +} + +export const defineSocketServer = (server: Server) => { + const wss = new WebSocketServer({ server, path: '/ws' }) + wss.on('connection', function connection(ws) { + sendWsData(WebSocketMessageType.App, 'Connection Established') + ws.on('message', (msg: MessageEvent) => { + const data = parseWebSocketMessage(msg) + if (typeof data === 'object') { + registry[data.type]?.(data) + } else { + console.warn(`Could not find WebSocket handler for:`, data) + } + }) + instance.ws = ws + }) + instance.wss = wss +} + +export const useWebSocketServer = () => { + return instance.wss! +} + +export const useWebSocket = () => { + return instance.ws! +} + +type ParsedDataHandler = (data: WebSocketMessage) => void + +const registry: Record = {} + +export const registerDataHandler = ( + type: WebSocketMessageType, + dataHandler: ParsedDataHandler +) => (registry[type] = dataHandler) diff --git a/src/node/tsconfig.json b/src/node/tsconfig.json new file mode 100644 index 00000000..93f4f0d9 --- /dev/null +++ b/src/node/tsconfig.json @@ -0,0 +1,14 @@ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "baseUrl": ".", + "outDir": "../../dist/node", + "types": [ + "node" + ], + "sourceMap": true + }, + "include": [ + "." + ] +} diff --git a/src/node/utils/open-browser.ts b/src/node/utils/open-browser.ts new file mode 100644 index 00000000..b5bc44e6 --- /dev/null +++ b/src/node/utils/open-browser.ts @@ -0,0 +1,9 @@ +import { platform } from 'node:process' +import { exec } from 'node:child_process' + +const start = + platform == 'darwin' ? 'open' : platform == 'win32' ? 'start' : 'xdg-open' + +export const openBrowser = (url: URL | string) => { + exec(start + ' ' + url) +} diff --git a/src/node/utils/package.ts b/src/node/utils/package.ts new file mode 100644 index 00000000..d3608ec9 --- /dev/null +++ b/src/node/utils/package.ts @@ -0,0 +1,21 @@ +import * as process from 'node:process' +import * as fs from 'node:fs' +import * as path from 'node:path' +import type { PackageJson } from 'type-fest' + +const packageJsonFile = (process.env as any).npm_package_json + +/** + * parsed package.json + */ +export const packageJson: PackageJson = JSON.parse(fs.readFileSync(packageJsonFile).toString()) as PackageJson + +/** + * root directory + */ +export const packageRoot = path.dirname(packageJsonFile) + +/** + * current working directory + */ +export const cwd = process.cwd() diff --git a/src/node/utils/proxy-request.ts b/src/node/utils/proxy-request.ts new file mode 100644 index 00000000..73df8f93 --- /dev/null +++ b/src/node/utils/proxy-request.ts @@ -0,0 +1,14 @@ +import type { IncomingMessage } from 'http' +import type { ProxyRequest } from '../../shared/Request' + +export const createProxyRequest = (req: IncomingMessage): ProxyRequest => { + return { + url: req.url!, + headers: req.rawHeaders, + trailers: req.rawTrailers, + method: req.method, + statusCode: req.statusCode, + contentLength: req.readableLength, + ts: new Date(), + } +} diff --git a/src/node/utils/tui.ts b/src/node/utils/tui.ts new file mode 100644 index 00000000..c37caaeb --- /dev/null +++ b/src/node/utils/tui.ts @@ -0,0 +1,13 @@ +import pc from 'picocolors' + +const primaryColor = pc.green +const secondaryColor = pc.green +const disabledColor = pc.gray + +export const title = (text: string) => pc.underline(pc.bold(primaryColor(text))) +export const link = (text: string) => pc.bold(secondaryColor(text)) +export const tooltip = (text: string) => `${primaryColor(`› `)} ${text}` + +export const tip = (text: string) => pc.bold(disabledColor(text)) + +export default { title, tooltip, link, tip } diff --git a/src/shared/Request.ts b/src/shared/Request.ts new file mode 100644 index 00000000..d7294348 --- /dev/null +++ b/src/shared/Request.ts @@ -0,0 +1,16 @@ +interface RawRequest { + // provide an ID to tie multiple requests together + id?: string + url: string + headers: string[] + trailers?: string[] + body?: string + method: string | undefined + statusCode: number | undefined + contentLength: number + ts: Date +} + +export interface ProxyRequest extends RawRequest { + // +} diff --git a/src/shared/WebSocketMessage.ts b/src/shared/WebSocketMessage.ts new file mode 100644 index 00000000..5b7be692 --- /dev/null +++ b/src/shared/WebSocketMessage.ts @@ -0,0 +1,17 @@ +export enum WebSocketMessageType { + App, + ProxyRequest, +} + +export interface WebSocketMessage { + type: WebSocketMessageType + data: Data +} + +export const parseWebSocketMessage = (data: MessageEvent) => { + try { + return JSON.parse(data.data) as WebSocketMessage + } catch (e) { + return data.data as string + } +} diff --git a/src/shared/constants.ts b/src/shared/constants.ts new file mode 100644 index 00000000..e42723bb --- /dev/null +++ b/src/shared/constants.ts @@ -0,0 +1 @@ +export const APP_NAME = 'JS Proxy' diff --git a/src/shims.d.ts b/src/shims.d.ts new file mode 100644 index 00000000..c85e0e92 --- /dev/null +++ b/src/shims.d.ts @@ -0,0 +1,12 @@ +export * from 'vue' + +declare module 'vue' { + namespace JSX { + interface IntrinsicAttributes { + [x: `on${Capitalize}`]: any + + class?: any + style?: any + } + } +} diff --git a/stylelint.config.mjs b/stylelint.config.mjs new file mode 100644 index 00000000..348bf6d2 --- /dev/null +++ b/stylelint.config.mjs @@ -0,0 +1,9 @@ +/** @type {import('stylelint').Config} */ +export default { + extends: ['stylelint-config-standard-scss'], + rules: { + 'block-no-empty': false, + 'color-function-notation': false, + 'no-descending-specificity': false, + }, +} diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 00000000..a36a0b1e --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,131 @@ +{ + "compilerOptions": { + /* Visit https://aka.ms/tsconfig to read more about this file */ + + /* Projects */ + // "incremental": true, /* Save .tsbuildinfo files to allow for incremental compilation of projects. */ + // "composite": true, /* Enable constraints that allow a TypeScript project to be used with project references. */ + // "tsBuildInfoFile": "./.tsbuildinfo", /* Specify the path to .tsbuildinfo incremental compilation file. */ + // "disableSourceOfProjectReferenceRedirect": true, /* Disable preferring source files instead of declaration files when referencing composite projects. */ + // "disableSolutionSearching": true, /* Opt a project out of multi-project reference checking when editing. */ + // "disableReferencedProjectLoad": true, /* Reduce the number of projects loaded automatically by TypeScript. */ + + /* Language and Environment */ + "target": "es2018", + /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */ + // "lib": [], /* Specify a set of bundled library declaration files that describe the target runtime environment. */ + // "jsx": "preserve", /* Specify what JSX code is generated. */ + // "experimentalDecorators": true, /* Enable experimental support for legacy experimental decorators. */ + // "emitDecoratorMetadata": true, /* Emit design-type metadata for decorated declarations in source files. */ + // "jsxFactory": "", /* Specify the JSX factory function used when targeting React JSX emit, e.g. 'React.createElement' or 'h'. */ + // "jsxFragmentFactory": "", /* Specify the JSX Fragment reference used for fragments when targeting React JSX emit e.g. 'React.Fragment' or 'Fragment'. */ + // "jsxImportSource": "", /* Specify module specifier used to import the JSX factory functions when using 'jsx: react-jsx*'. */ + // "reactNamespace": "", /* Specify the object invoked for 'createElement'. This only applies when targeting 'react' JSX emit. */ + // "noLib": true, /* Disable including any library files, including the default lib.d.ts. */ + // "useDefineForClassFields": true, /* Emit ECMAScript-standard-compliant class fields. */ + // "moduleDetection": "auto", /* Control what method is used to detect module-format JS files. */ + + /* Modules */ + "module": "ESNext", + /* Specify what module code is generated. */ + // "rootDir": "./", /* Specify the root folder within your source files. */ + "moduleResolution": "Bundler", + /* Specify how TypeScript looks up a file from a given module specifier. */ + // "baseUrl": "./", /* Specify the base directory to resolve non-relative module names. */ + // "paths": {}, /* Specify a set of entries that re-map imports to additional lookup locations. */ + // "rootDirs": [], /* Allow multiple folders to be treated as one when resolving modules. */ + // "typeRoots": [], /* Specify multiple folders that act like './node_modules/@types'. */ + // "types": [], /* Specify type package names to be included without being referenced in a source file. */ + // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ + // "moduleSuffixes": [], /* List of file name suffixes to search when resolving a module. */ + // "allowImportingTsExtensions": true, /* Allow imports to include TypeScript file extensions. Requires '--moduleResolution bundler' and either '--noEmit' or '--emitDeclarationOnly' to be set. */ + // "resolvePackageJsonExports": true, /* Use the package.json 'exports' field when resolving package imports. */ + // "resolvePackageJsonImports": true, /* Use the package.json 'imports' field when resolving imports. */ + // "customConditions": [], /* Conditions to set in addition to the resolver-specific defaults when resolving imports. */ + "resolveJsonModule": true, + /* Enable importing .json files. */ + // "allowArbitraryExtensions": true, /* Enable importing files with any extension, provided a declaration file is present. */ + // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */ + + /* JavaScript Support */ + // "allowJs": true, /* Allow JavaScript files to be a part of your program. Use the 'checkJS' option to get errors from these files. */ + // "checkJs": true, /* Enable error reporting in type-checked JavaScript files. */ + // "maxNodeModuleJsDepth": 1, /* Specify the maximum folder depth used for checking JavaScript files from 'node_modules'. Only applicable with 'allowJs'. */ + + /* Emit */ + // "declaration": true, /* Generate .d.ts files from TypeScript and JavaScript files in your project. */ + // "declarationMap": true, /* Create sourcemaps for d.ts files. */ + // "emitDeclarationOnly": true, /* Only output d.ts files and not JavaScript files. */ + // "sourceMap": true, /* Create source map files for emitted JavaScript files. */ + // "inlineSourceMap": true, /* Include sourcemap files inside the emitted JavaScript. */ + // "outFile": "./", /* Specify a file that bundles all outputs into one JavaScript file. If 'declaration' is true, also designates a file that bundles all .d.ts output. */ + // "outDir": "./dist", + /* Specify an output folder for all emitted files. */ + // "removeComments": true, /* Disable emitting comments. */ + // "noEmit": true, /* Disable emitting files from a compilation. */ + // "importHelpers": true, /* Allow importing helper functions from tslib once per project, instead of including them per-file. */ + // "downlevelIteration": true, /* Emit more compliant, but verbose and less performant JavaScript for iteration. */ + // "sourceRoot": "", /* Specify the root path for debuggers to find the reference source code. */ + // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ + // "inlineSources": true, /* Include source code in the sourcemaps inside the emitted JavaScript. */ + // "emitBOM": true, /* Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files. */ + // "newLine": "crlf", /* Set the newline character for emitting files. */ + // "stripInternal": true, /* Disable emitting declarations that have '@internal' in their JSDoc comments. */ + // "noEmitHelpers": true, /* Disable generating custom helper functions like '__extends' in compiled output. */ + // "noEmitOnError": true, /* Disable emitting files if any type checking errors are reported. */ + // "preserveConstEnums": true, /* Disable erasing 'const enum' declarations in generated code. */ + // "declarationDir": "./", /* Specify the output directory for generated declaration files. */ + + /* Interop Constraints */ + // "isolatedModules": true, /* Ensure that each file can be safely transpiled without relying on other imports. */ + // "verbatimModuleSyntax": true, /* Do not transform or elide any imports or exports not marked as type-only, ensuring they are written in the output file's format based on the 'module' setting. */ + // "isolatedDeclarations": true, /* Require sufficient annotation on exports so other tools can trivially generate declaration files. */ + // "allowSyntheticDefaultImports": true, /* Allow 'import x from y' when a module doesn't have a default export. */ + "esModuleInterop": true, + /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility. */ + // "preserveSymlinks": true, /* Disable resolving symlinks to their realpath. This correlates to the same flag in node. */ + "forceConsistentCasingInFileNames": true, + /* Ensure that casing is correct in imports. */ + + /* Type Checking */ + "strict": true, + /* Enable all strict type-checking options. */ + // "noImplicitAny": true, /* Enable error reporting for expressions and declarations with an implied 'any' type. */ + // "strictNullChecks": true, /* When type checking, take into account 'null' and 'undefined'. */ + // "strictFunctionTypes": true, /* When assigning functions, check to ensure parameters and the return values are subtype-compatible. */ + // "strictBindCallApply": true, /* Check that the arguments for 'bind', 'call', and 'apply' methods match the original function. */ + // "strictPropertyInitialization": true, /* Check for class properties that are declared but not set in the constructor. */ + // "noImplicitThis": true, /* Enable error reporting when 'this' is given the type 'any'. */ + // "useUnknownInCatchVariables": true, /* Default catch clause variables as 'unknown' instead of 'any'. */ + // "alwaysStrict": true, /* Ensure 'use strict' is always emitted. */ + // "noUnusedLocals": true, /* Enable error reporting when local variables aren't read. */ + // "noUnusedParameters": true, /* Raise an error when a function parameter isn't read. */ + // "exactOptionalPropertyTypes": true, /* Interpret optional property types as written, rather than adding 'undefined'. */ + // "noImplicitReturns": true, /* Enable error reporting for codepaths that do not explicitly return in a function. */ + // "noFallthroughCasesInSwitch": true, /* Enable error reporting for fallthrough cases in switch statements. */ + // "noUncheckedIndexedAccess": true, /* Add 'undefined' to a type when accessed using an index. */ + // "noImplicitOverride": true, /* Ensure overriding members in derived classes are marked with an override modifier. */ + // "noPropertyAccessFromIndexSignature": true, /* Enforces using indexed accessors for keys declared using an indexed type. */ + // "allowUnusedLabels": true, /* Disable error reporting for unused labels. */ + // "allowUnreachableCode": true, /* Disable error reporting for unreachable code. */ + + /* Completeness */ + // "skipDefaultLibCheck": true, /* Skip type checking .d.ts files that are included with TypeScript. */ + "skipLibCheck": true + /* Skip type checking all .d.ts files. */ + }, + "include": [ + "src/**/*", + "vite.config.*" + ], + "exclude": [ + "**/node_modules/**", + "**/dist/**", + ".yarn", + "public" + ], + "tsc-alias": { + "resolveFullPaths": true, + "verbose": false + } +} diff --git a/vite.config.ts b/vite.config.ts new file mode 100644 index 00000000..c8c1a8fc --- /dev/null +++ b/vite.config.ts @@ -0,0 +1,28 @@ +import { fileURLToPath, URL } from 'node:url' + +import vue from '@vitejs/plugin-vue' +import vueJsx from '@vitejs/plugin-vue-jsx' +import { defineConfig } from 'vite' +import VueDevTools from 'vite-plugin-vue-devtools' + +// https://vitejs.dev/config/ +export default defineConfig({ + plugins: [VueDevTools(), vue(), vueJsx()], + base: './', + + build: { + outDir: './dist/client', + }, + + resolve: { + alias: { + '@': fileURLToPath(new URL('./src', import.meta.url)), + }, + }, + + server: { + proxy: { + '/ws': { target: 'ws://localhost:8080', ws: true }, + }, + }, +}) diff --git a/yarn.lock b/yarn.lock new file mode 100644 index 00000000..af3d3ee4 --- /dev/null +++ b/yarn.lock @@ -0,0 +1,4592 @@ +# This file is generated by running "yarn install" inside your project. +# Manual changes might be lost - proceed with caution! + +__metadata: + version: 8 + cacheKey: 10c0 + +"@ampproject/remapping@npm:^2.2.0": + version: 2.3.0 + resolution: "@ampproject/remapping@npm:2.3.0" + dependencies: + "@jridgewell/gen-mapping": "npm:^0.3.5" + "@jridgewell/trace-mapping": "npm:^0.3.24" + checksum: 10c0/81d63cca5443e0f0c72ae18b544cc28c7c0ec2cea46e7cb888bb0e0f411a1191d0d6b7af798d54e30777d8d1488b2ec0732aac2be342d3d7d3ffd271c6f489ed + languageName: node + linkType: hard + +"@antfu/utils@npm:^0.7.7": + version: 0.7.10 + resolution: "@antfu/utils@npm:0.7.10" + checksum: 10c0/98991f66a4752ef097280b4235b27d961a13a2c67ef8e5b716a120eb9823958e20566516711204e2bfb08f0b935814b715f49ecd79c3b9b93ce32747ac297752 + languageName: node + linkType: hard + +"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.23.5, @babel/code-frame@npm:^7.24.7": + version: 7.24.7 + resolution: "@babel/code-frame@npm:7.24.7" + dependencies: + "@babel/highlight": "npm:^7.24.7" + picocolors: "npm:^1.0.0" + checksum: 10c0/ab0af539473a9f5aeaac7047e377cb4f4edd255a81d84a76058595f8540784cc3fbe8acf73f1e073981104562490aabfb23008cd66dc677a456a4ed5390fdde6 + languageName: node + linkType: hard + +"@babel/compat-data@npm:^7.24.8": + version: 7.24.9 + resolution: "@babel/compat-data@npm:7.24.9" + checksum: 10c0/95a69c9ed00ae78b4921f33403e9b35518e6139a0c46af763c65dea160720cb57c6cc23f7d30249091a0248335b0e39de5c8dfa8e7877c830e44561e0bdc1254 + languageName: node + linkType: hard + +"@babel/core@npm:^7.23.0, @babel/core@npm:^7.24.6": + version: 7.24.9 + resolution: "@babel/core@npm:7.24.9" + dependencies: + "@ampproject/remapping": "npm:^2.2.0" + "@babel/code-frame": "npm:^7.24.7" + "@babel/generator": "npm:^7.24.9" + "@babel/helper-compilation-targets": "npm:^7.24.8" + "@babel/helper-module-transforms": "npm:^7.24.9" + "@babel/helpers": "npm:^7.24.8" + "@babel/parser": "npm:^7.24.8" + "@babel/template": "npm:^7.24.7" + "@babel/traverse": "npm:^7.24.8" + "@babel/types": "npm:^7.24.9" + convert-source-map: "npm:^2.0.0" + debug: "npm:^4.1.0" + gensync: "npm:^1.0.0-beta.2" + json5: "npm:^2.2.3" + semver: "npm:^6.3.1" + checksum: 10c0/e104ec6efbf099f55184933e9ab078eb5821c792ddfef3e9c6561986ec4ff103f5c11e3d7d6e5e8929e50e2c58db1cc80e5b6f14b530335b6622095ec4b4124c + languageName: node + linkType: hard + +"@babel/generator@npm:^7.24.8, @babel/generator@npm:^7.24.9": + version: 7.24.10 + resolution: "@babel/generator@npm:7.24.10" + dependencies: + "@babel/types": "npm:^7.24.9" + "@jridgewell/gen-mapping": "npm:^0.3.5" + "@jridgewell/trace-mapping": "npm:^0.3.25" + jsesc: "npm:^2.5.1" + checksum: 10c0/abcfd75f625aecc87ce6036ef788b12723fd3c46530df1130d1f00d18e48b462849ddaeef8b1a02bfdcb6e28956389a98c5729dad1c3c5448307dacb6c959f29 + languageName: node + linkType: hard + +"@babel/helper-annotate-as-pure@npm:^7.24.7": + version: 7.24.7 + resolution: "@babel/helper-annotate-as-pure@npm:7.24.7" + dependencies: + "@babel/types": "npm:^7.24.7" + checksum: 10c0/4679f7df4dffd5b3e26083ae65228116c3da34c3fff2c11ae11b259a61baec440f51e30fd236f7a0435b9d471acd93d0bc5a95df8213cbf02b1e083503d81b9a + languageName: node + linkType: hard + +"@babel/helper-compilation-targets@npm:^7.24.8": + version: 7.24.8 + resolution: "@babel/helper-compilation-targets@npm:7.24.8" + dependencies: + "@babel/compat-data": "npm:^7.24.8" + "@babel/helper-validator-option": "npm:^7.24.8" + browserslist: "npm:^4.23.1" + lru-cache: "npm:^5.1.1" + semver: "npm:^6.3.1" + checksum: 10c0/2885c44ef6aaf82b7e4352b30089bb09fbe08ed5ec24eb452c2bdc3c021e2a65ab412f74b3d67ec1398da0356c730b33a2ceca1d67d34c85080d31ca6efa9aec + languageName: node + linkType: hard + +"@babel/helper-create-class-features-plugin@npm:^7.24.7, @babel/helper-create-class-features-plugin@npm:^7.24.8": + version: 7.24.8 + resolution: "@babel/helper-create-class-features-plugin@npm:7.24.8" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.24.7" + "@babel/helper-environment-visitor": "npm:^7.24.7" + "@babel/helper-function-name": "npm:^7.24.7" + "@babel/helper-member-expression-to-functions": "npm:^7.24.8" + "@babel/helper-optimise-call-expression": "npm:^7.24.7" + "@babel/helper-replace-supers": "npm:^7.24.7" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.24.7" + "@babel/helper-split-export-declaration": "npm:^7.24.7" + semver: "npm:^6.3.1" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/e9abb3d73a3115accb29dc4854b9889545882486a2c4f8a44ff494000fca7aded298e9252ca0dd8aa9281c1abecc9524e5c67fa0e85d415728162a2d245fd2f5 + languageName: node + linkType: hard + +"@babel/helper-environment-visitor@npm:^7.24.7": + version: 7.24.7 + resolution: "@babel/helper-environment-visitor@npm:7.24.7" + dependencies: + "@babel/types": "npm:^7.24.7" + checksum: 10c0/36ece78882b5960e2d26abf13cf15ff5689bf7c325b10a2895a74a499e712de0d305f8d78bb382dd3c05cfba7e47ec98fe28aab5674243e0625cd38438dd0b2d + languageName: node + linkType: hard + +"@babel/helper-function-name@npm:^7.24.7": + version: 7.24.7 + resolution: "@babel/helper-function-name@npm:7.24.7" + dependencies: + "@babel/template": "npm:^7.24.7" + "@babel/types": "npm:^7.24.7" + checksum: 10c0/e5e41e6cf86bd0f8bf272cbb6e7c5ee0f3e9660414174435a46653efba4f2479ce03ce04abff2aa2ef9359cf057c79c06cb7b134a565ad9c0e8a50dcdc3b43c4 + languageName: node + linkType: hard + +"@babel/helper-hoist-variables@npm:^7.24.7": + version: 7.24.7 + resolution: "@babel/helper-hoist-variables@npm:7.24.7" + dependencies: + "@babel/types": "npm:^7.24.7" + checksum: 10c0/19ee37563bbd1219f9d98991ad0e9abef77803ee5945fd85aa7aa62a67c69efca9a801696a1b58dda27f211e878b3327789e6fd2a6f6c725ccefe36774b5ce95 + languageName: node + linkType: hard + +"@babel/helper-member-expression-to-functions@npm:^7.24.7, @babel/helper-member-expression-to-functions@npm:^7.24.8": + version: 7.24.8 + resolution: "@babel/helper-member-expression-to-functions@npm:7.24.8" + dependencies: + "@babel/traverse": "npm:^7.24.8" + "@babel/types": "npm:^7.24.8" + checksum: 10c0/7e14a5acc91f6cd26305a4441b82eb6f616bd70b096a4d2099a968f16b26d50207eec0b9ebfc466fefd62bd91587ac3be878117cdfec819b7151911183cb0e5a + languageName: node + linkType: hard + +"@babel/helper-module-imports@npm:^7.24.7": + version: 7.24.7 + resolution: "@babel/helper-module-imports@npm:7.24.7" + dependencies: + "@babel/traverse": "npm:^7.24.7" + "@babel/types": "npm:^7.24.7" + checksum: 10c0/97c57db6c3eeaea31564286e328a9fb52b0313c5cfcc7eee4bc226aebcf0418ea5b6fe78673c0e4a774512ec6c86e309d0f326e99d2b37bfc16a25a032498af0 + languageName: node + linkType: hard + +"@babel/helper-module-imports@npm:~7.22.15": + version: 7.22.15 + resolution: "@babel/helper-module-imports@npm:7.22.15" + dependencies: + "@babel/types": "npm:^7.22.15" + checksum: 10c0/4e0d7fc36d02c1b8c8b3006dfbfeedf7a367d3334a04934255de5128115ea0bafdeb3e5736a2559917f0653e4e437400d54542da0468e08d3cbc86d3bbfa8f30 + languageName: node + linkType: hard + +"@babel/helper-module-transforms@npm:^7.24.9": + version: 7.24.9 + resolution: "@babel/helper-module-transforms@npm:7.24.9" + dependencies: + "@babel/helper-environment-visitor": "npm:^7.24.7" + "@babel/helper-module-imports": "npm:^7.24.7" + "@babel/helper-simple-access": "npm:^7.24.7" + "@babel/helper-split-export-declaration": "npm:^7.24.7" + "@babel/helper-validator-identifier": "npm:^7.24.7" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/e27bca43bc113731ee4f2b33a4c5bf9c7eebf4d64487b814c305cbd5feb272c29fcd3d79634ba03131ade171e5972bc7ede8dbc83ba0deb02f1e62d318c87770 + languageName: node + linkType: hard + +"@babel/helper-optimise-call-expression@npm:^7.24.7": + version: 7.24.7 + resolution: "@babel/helper-optimise-call-expression@npm:7.24.7" + dependencies: + "@babel/types": "npm:^7.24.7" + checksum: 10c0/ca6a9884705dea5c95a8b3ce132d1e3f2ae951ff74987d400d1d9c215dae9c0f9e29924d8f8e131e116533d182675bc261927be72f6a9a2968eaeeaa51eb1d0f + languageName: node + linkType: hard + +"@babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.22.5, @babel/helper-plugin-utils@npm:^7.24.7, @babel/helper-plugin-utils@npm:^7.24.8": + version: 7.24.8 + resolution: "@babel/helper-plugin-utils@npm:7.24.8" + checksum: 10c0/0376037f94a3bfe6b820a39f81220ac04f243eaee7193774b983e956c1750883ff236b30785795abbcda43fac3ece74750566830c2daa4d6e3870bb0dff34c2d + languageName: node + linkType: hard + +"@babel/helper-replace-supers@npm:^7.24.7": + version: 7.24.7 + resolution: "@babel/helper-replace-supers@npm:7.24.7" + dependencies: + "@babel/helper-environment-visitor": "npm:^7.24.7" + "@babel/helper-member-expression-to-functions": "npm:^7.24.7" + "@babel/helper-optimise-call-expression": "npm:^7.24.7" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/0e133bb03371dee78e519c334a09c08e1493103a239d9628db0132dfaac3fc16380479ca3c590d278a9b71b624030a338c18ebbfe6d430ebb2e4653775c4b3e3 + languageName: node + linkType: hard + +"@babel/helper-simple-access@npm:^7.24.7": + version: 7.24.7 + resolution: "@babel/helper-simple-access@npm:7.24.7" + dependencies: + "@babel/traverse": "npm:^7.24.7" + "@babel/types": "npm:^7.24.7" + checksum: 10c0/7230e419d59a85f93153415100a5faff23c133d7442c19e0cd070da1784d13cd29096ee6c5a5761065c44e8164f9f80e3a518c41a0256df39e38f7ad6744fed7 + languageName: node + linkType: hard + +"@babel/helper-skip-transparent-expression-wrappers@npm:^7.24.7": + version: 7.24.7 + resolution: "@babel/helper-skip-transparent-expression-wrappers@npm:7.24.7" + dependencies: + "@babel/traverse": "npm:^7.24.7" + "@babel/types": "npm:^7.24.7" + checksum: 10c0/e3a9b8ac9c262ac976a1bcb5fe59694db5e6f0b4f9e7bdba5c7693b8b5e28113c23bdaa60fe8d3ec32a337091b67720b2053bcb3d5655f5406536c3d0584242b + languageName: node + linkType: hard + +"@babel/helper-split-export-declaration@npm:^7.24.7": + version: 7.24.7 + resolution: "@babel/helper-split-export-declaration@npm:7.24.7" + dependencies: + "@babel/types": "npm:^7.24.7" + checksum: 10c0/0254577d7086bf09b01bbde98f731d4fcf4b7c3fa9634fdb87929801307c1f6202a1352e3faa5492450fa8da4420542d44de604daf540704ff349594a78184f6 + languageName: node + linkType: hard + +"@babel/helper-string-parser@npm:^7.24.8": + version: 7.24.8 + resolution: "@babel/helper-string-parser@npm:7.24.8" + checksum: 10c0/6361f72076c17fabf305e252bf6d580106429014b3ab3c1f5c4eb3e6d465536ea6b670cc0e9a637a77a9ad40454d3e41361a2909e70e305116a23d68ce094c08 + languageName: node + linkType: hard + +"@babel/helper-validator-identifier@npm:^7.24.7": + version: 7.24.7 + resolution: "@babel/helper-validator-identifier@npm:7.24.7" + checksum: 10c0/87ad608694c9477814093ed5b5c080c2e06d44cb1924ae8320474a74415241223cc2a725eea2640dd783ff1e3390e5f95eede978bc540e870053152e58f1d651 + languageName: node + linkType: hard + +"@babel/helper-validator-option@npm:^7.24.8": + version: 7.24.8 + resolution: "@babel/helper-validator-option@npm:7.24.8" + checksum: 10c0/73db93a34ae89201351288bee7623eed81a54000779462a986105b54ffe82069e764afd15171a428b82e7c7a9b5fec10b5d5603b216317a414062edf5c67a21f + languageName: node + linkType: hard + +"@babel/helpers@npm:^7.24.8": + version: 7.24.8 + resolution: "@babel/helpers@npm:7.24.8" + dependencies: + "@babel/template": "npm:^7.24.7" + "@babel/types": "npm:^7.24.8" + checksum: 10c0/42b8939b0a0bf72d6df9721973eb0fd7cd48f42641c5c9c740916397faa586255c06d36c6e6a7e091860723096281c620f6ffaee0011a3bb254a6f5475d89a12 + languageName: node + linkType: hard + +"@babel/highlight@npm:^7.24.7": + version: 7.24.7 + resolution: "@babel/highlight@npm:7.24.7" + dependencies: + "@babel/helper-validator-identifier": "npm:^7.24.7" + chalk: "npm:^2.4.2" + js-tokens: "npm:^4.0.0" + picocolors: "npm:^1.0.0" + checksum: 10c0/674334c571d2bb9d1c89bdd87566383f59231e16bcdcf5bb7835babdf03c9ae585ca0887a7b25bdf78f303984af028df52831c7989fecebb5101cc132da9393a + languageName: node + linkType: hard + +"@babel/parser@npm:^7.23.9, @babel/parser@npm:^7.24.7, @babel/parser@npm:^7.24.8": + version: 7.24.8 + resolution: "@babel/parser@npm:7.24.8" + bin: + parser: ./bin/babel-parser.js + checksum: 10c0/ce69671de8fa6f649abf849be262707ac700b573b8b1ce1893c66cc6cd76aeb1294a19e8c290b0eadeb2f47d3f413a2e57a281804ffbe76bfb9fa50194cf3c52 + languageName: node + linkType: hard + +"@babel/plugin-proposal-decorators@npm:^7.23.0": + version: 7.24.7 + resolution: "@babel/plugin-proposal-decorators@npm:7.24.7" + dependencies: + "@babel/helper-create-class-features-plugin": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/plugin-syntax-decorators": "npm:^7.24.7" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/fb4e4711f90fed63aa4dfe34fc5f5a5d0af175725181678f462ee0df2b78a23ae83b9424403c6b957edbc07d2abc80f82f3b9f91baf568bdaf85e8196a9138d5 + languageName: node + linkType: hard + +"@babel/plugin-syntax-decorators@npm:^7.24.7": + version: 7.24.7 + resolution: "@babel/plugin-syntax-decorators@npm:7.24.7" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.24.7" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/d1ecc334af7a5418a6e8ad5e711bf5d5a892ba00e04ba05b90077b9da735585ff8d4141e4fc3ae781b854f48eda9f3a9cfa9f1c80f5f4a697dbded01058a8b63 + languageName: node + linkType: hard + +"@babel/plugin-syntax-import-attributes@npm:^7.22.5": + version: 7.24.7 + resolution: "@babel/plugin-syntax-import-attributes@npm:7.24.7" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.24.7" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/eccc54d0f03c96d0eec7a6e2fa124dadbc7298345b62ffc4238f173308c4325b5598f139695ff05a95cf78412ef6903599e4b814496612bf39aad4715a16375b + languageName: node + linkType: hard + +"@babel/plugin-syntax-import-meta@npm:^7.10.4": + version: 7.10.4 + resolution: "@babel/plugin-syntax-import-meta@npm:7.10.4" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.10.4" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/0b08b5e4c3128523d8e346f8cfc86824f0da2697b1be12d71af50a31aff7a56ceb873ed28779121051475010c28d6146a6bfea8518b150b71eeb4e46190172ee + languageName: node + linkType: hard + +"@babel/plugin-syntax-jsx@npm:^7.23.3": + version: 7.24.7 + resolution: "@babel/plugin-syntax-jsx@npm:7.24.7" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.24.7" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/f44d927a9ae8d5ef016ff5b450e1671e56629ddc12e56b938e41fd46e141170d9dfc9a53d6cb2b9a20a7dd266a938885e6a3981c60c052a2e1daed602ac80e51 + languageName: node + linkType: hard + +"@babel/plugin-syntax-typescript@npm:^7.24.7": + version: 7.24.7 + resolution: "@babel/plugin-syntax-typescript@npm:7.24.7" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.24.7" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/cdabd2e8010fb0ad15b49c2c270efc97c4bfe109ead36c7bbcf22da7a74bc3e49702fc4f22f12d2d6049e8e22a5769258df1fd05f0420ae45e11bdd5bc07805a + languageName: node + linkType: hard + +"@babel/plugin-transform-typescript@npm:^7.22.15, @babel/plugin-transform-typescript@npm:^7.24.6": + version: 7.24.8 + resolution: "@babel/plugin-transform-typescript@npm:7.24.8" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.24.7" + "@babel/helper-create-class-features-plugin": "npm:^7.24.8" + "@babel/helper-plugin-utils": "npm:^7.24.8" + "@babel/plugin-syntax-typescript": "npm:^7.24.7" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/bb3935b2e50bf4a6baba278840cee95f7274f15a1c919fb414f64dd4172a867e85345aea511ccfaa08fae17cb307e8b64580365c74a651057283bc17dff0e169 + languageName: node + linkType: hard + +"@babel/template@npm:^7.23.9, @babel/template@npm:^7.24.7": + version: 7.24.7 + resolution: "@babel/template@npm:7.24.7" + dependencies: + "@babel/code-frame": "npm:^7.24.7" + "@babel/parser": "npm:^7.24.7" + "@babel/types": "npm:^7.24.7" + checksum: 10c0/95b0b3ee80fcef685b7f4426f5713a855ea2cd5ac4da829b213f8fb5afe48a2a14683c2ea04d446dbc7f711c33c5cd4a965ef34dcbe5bc387c9e966b67877ae3 + languageName: node + linkType: hard + +"@babel/traverse@npm:^7.23.9, @babel/traverse@npm:^7.24.7, @babel/traverse@npm:^7.24.8": + version: 7.24.8 + resolution: "@babel/traverse@npm:7.24.8" + dependencies: + "@babel/code-frame": "npm:^7.24.7" + "@babel/generator": "npm:^7.24.8" + "@babel/helper-environment-visitor": "npm:^7.24.7" + "@babel/helper-function-name": "npm:^7.24.7" + "@babel/helper-hoist-variables": "npm:^7.24.7" + "@babel/helper-split-export-declaration": "npm:^7.24.7" + "@babel/parser": "npm:^7.24.8" + "@babel/types": "npm:^7.24.8" + debug: "npm:^4.3.1" + globals: "npm:^11.1.0" + checksum: 10c0/67a5cc35824455cdb54fb9e196a44b3186283e29018a9c2331f51763921e18e891b3c60c283615a27540ec8eb4c8b89f41c237b91f732a7aa518b2eb7a0d434d + languageName: node + linkType: hard + +"@babel/types@npm:^7.22.15, @babel/types@npm:^7.23.9, @babel/types@npm:^7.24.7, @babel/types@npm:^7.24.8, @babel/types@npm:^7.24.9, @babel/types@npm:^7.8.3": + version: 7.24.9 + resolution: "@babel/types@npm:7.24.9" + dependencies: + "@babel/helper-string-parser": "npm:^7.24.8" + "@babel/helper-validator-identifier": "npm:^7.24.7" + to-fast-properties: "npm:^2.0.0" + checksum: 10c0/4970b3481cab39c5c3fdb7c28c834df5c7049f3c7f43baeafe121bb05270ebf0da7c65b097abf314877f213baa591109c82204f30d66cdd46c22ece4a2f32415 + languageName: node + linkType: hard + +"@csstools/css-parser-algorithms@npm:^2.7.1": + version: 2.7.1 + resolution: "@csstools/css-parser-algorithms@npm:2.7.1" + peerDependencies: + "@csstools/css-tokenizer": ^2.4.1 + checksum: 10c0/7d29bef6f5790ddb67d922ad232253bf910e4fa5293f5e4a5ed8b920ae9bd4e8171942df7d8943af23b42fd4e9fb460181394d20c97da9562e6ce98a875e8c47 + languageName: node + linkType: hard + +"@csstools/css-tokenizer@npm:^2.4.1": + version: 2.4.1 + resolution: "@csstools/css-tokenizer@npm:2.4.1" + checksum: 10c0/fe71cee85ec7372da07083d088b6a704f43e5d3d2d8071c4b8a86fae60408b559a218a43f8625bf2f0be5c7f90c8f3ad20a1aae1921119a1c02b51c310cc2b6b + languageName: node + linkType: hard + +"@csstools/media-query-list-parser@npm:^2.1.13": + version: 2.1.13 + resolution: "@csstools/media-query-list-parser@npm:2.1.13" + peerDependencies: + "@csstools/css-parser-algorithms": ^2.7.1 + "@csstools/css-tokenizer": ^2.4.1 + checksum: 10c0/8bf72342c15581b8f658633436d83c26a214056f6b960ff121b940271f4b1b5b07e9cc3990a73e684fb72319592f0c392408b4f0e08bbe242b2065aa456e2733 + languageName: node + linkType: hard + +"@csstools/selector-specificity@npm:^3.1.1": + version: 3.1.1 + resolution: "@csstools/selector-specificity@npm:3.1.1" + peerDependencies: + postcss-selector-parser: ^6.0.13 + checksum: 10c0/1d4a3f8015904d6aeb3203afe0e1f6db09b191d9c1557520e3e960c9204ad852df9db4cbde848643f78a26f6ea09101b4e528dbb9193052db28258dbcc8a6e1d + languageName: node + linkType: hard + +"@dual-bundle/import-meta-resolve@npm:^4.1.0": + version: 4.1.0 + resolution: "@dual-bundle/import-meta-resolve@npm:4.1.0" + checksum: 10c0/55069e550ee2710e738dd8bbd34aba796cede456287454b50c3be46fbef8695d00625677f3f41f5ffbec1174c0f57f314da9a908388bc9f8ad41a8438db884d9 + languageName: node + linkType: hard + +"@esbuild/aix-ppc64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/aix-ppc64@npm:0.21.5" + conditions: os=aix & cpu=ppc64 + languageName: node + linkType: hard + +"@esbuild/android-arm64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/android-arm64@npm:0.21.5" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/android-arm@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/android-arm@npm:0.21.5" + conditions: os=android & cpu=arm + languageName: node + linkType: hard + +"@esbuild/android-x64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/android-x64@npm:0.21.5" + conditions: os=android & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/darwin-arm64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/darwin-arm64@npm:0.21.5" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/darwin-x64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/darwin-x64@npm:0.21.5" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/freebsd-arm64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/freebsd-arm64@npm:0.21.5" + conditions: os=freebsd & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/freebsd-x64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/freebsd-x64@npm:0.21.5" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/linux-arm64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/linux-arm64@npm:0.21.5" + conditions: os=linux & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/linux-arm@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/linux-arm@npm:0.21.5" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"@esbuild/linux-ia32@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/linux-ia32@npm:0.21.5" + conditions: os=linux & cpu=ia32 + languageName: node + linkType: hard + +"@esbuild/linux-loong64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/linux-loong64@npm:0.21.5" + conditions: os=linux & cpu=loong64 + languageName: node + linkType: hard + +"@esbuild/linux-mips64el@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/linux-mips64el@npm:0.21.5" + conditions: os=linux & cpu=mips64el + languageName: node + linkType: hard + +"@esbuild/linux-ppc64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/linux-ppc64@npm:0.21.5" + conditions: os=linux & cpu=ppc64 + languageName: node + linkType: hard + +"@esbuild/linux-riscv64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/linux-riscv64@npm:0.21.5" + conditions: os=linux & cpu=riscv64 + languageName: node + linkType: hard + +"@esbuild/linux-s390x@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/linux-s390x@npm:0.21.5" + conditions: os=linux & cpu=s390x + languageName: node + linkType: hard + +"@esbuild/linux-x64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/linux-x64@npm:0.21.5" + conditions: os=linux & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/netbsd-x64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/netbsd-x64@npm:0.21.5" + conditions: os=netbsd & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/openbsd-x64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/openbsd-x64@npm:0.21.5" + conditions: os=openbsd & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/sunos-x64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/sunos-x64@npm:0.21.5" + conditions: os=sunos & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/win32-arm64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/win32-arm64@npm:0.21.5" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/win32-ia32@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/win32-ia32@npm:0.21.5" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + +"@esbuild/win32-x64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/win32-x64@npm:0.21.5" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@eslint-community/eslint-utils@npm:^4.2.0, @eslint-community/eslint-utils@npm:^4.4.0": + version: 4.4.0 + resolution: "@eslint-community/eslint-utils@npm:4.4.0" + dependencies: + eslint-visitor-keys: "npm:^3.3.0" + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + checksum: 10c0/7e559c4ce59cd3a06b1b5a517b593912e680a7f981ae7affab0d01d709e99cd5647019be8fafa38c350305bc32f1f7d42c7073edde2ab536c745e365f37b607e + languageName: node + linkType: hard + +"@eslint-community/regexpp@npm:^4.10.0, @eslint-community/regexpp@npm:^4.11.0": + version: 4.11.0 + resolution: "@eslint-community/regexpp@npm:4.11.0" + checksum: 10c0/0f6328869b2741e2794da4ad80beac55cba7de2d3b44f796a60955b0586212ec75e6b0253291fd4aad2100ad471d1480d8895f2b54f1605439ba4c875e05e523 + languageName: node + linkType: hard + +"@eslint/config-array@npm:^0.17.0": + version: 0.17.0 + resolution: "@eslint/config-array@npm:0.17.0" + dependencies: + "@eslint/object-schema": "npm:^2.1.4" + debug: "npm:^4.3.1" + minimatch: "npm:^3.1.2" + checksum: 10c0/97eb23ef0948dbc5f24884a3b75c537ca37ee2b1f27a864cd0d9189c089bc1a724dc6e1a4d9b7dd304d9f732ca02aa7916243a7715d6f1f17159d8a8c83f0c9e + languageName: node + linkType: hard + +"@eslint/eslintrc@npm:^3.1.0": + version: 3.1.0 + resolution: "@eslint/eslintrc@npm:3.1.0" + dependencies: + ajv: "npm:^6.12.4" + debug: "npm:^4.3.2" + espree: "npm:^10.0.1" + globals: "npm:^14.0.0" + ignore: "npm:^5.2.0" + import-fresh: "npm:^3.2.1" + js-yaml: "npm:^4.1.0" + minimatch: "npm:^3.1.2" + strip-json-comments: "npm:^3.1.1" + checksum: 10c0/5b7332ed781edcfc98caa8dedbbb843abfb9bda2e86538529c843473f580e40c69eb894410eddc6702f487e9ee8f8cfa8df83213d43a8fdb549f23ce06699167 + languageName: node + linkType: hard + +"@eslint/js@npm:9.7.0": + version: 9.7.0 + resolution: "@eslint/js@npm:9.7.0" + checksum: 10c0/73fc10666f6f4aed6f58e407e09f42ceb0d42fa60c52701c64ea9f59a81a6a8ad5caecdfd423d03088481515fe7ec17eb461acb4ef1ad70b649b6eae465b3164 + languageName: node + linkType: hard + +"@eslint/object-schema@npm:^2.1.4": + version: 2.1.4 + resolution: "@eslint/object-schema@npm:2.1.4" + checksum: 10c0/e9885532ea70e483fb007bf1275968b05bb15ebaa506d98560c41a41220d33d342e19023d5f2939fed6eb59676c1bda5c847c284b4b55fce521d282004da4dda + languageName: node + linkType: hard + +"@humanwhocodes/module-importer@npm:^1.0.1": + version: 1.0.1 + resolution: "@humanwhocodes/module-importer@npm:1.0.1" + checksum: 10c0/909b69c3b86d482c26b3359db16e46a32e0fb30bd306a3c176b8313b9e7313dba0f37f519de6aa8b0a1921349e505f259d19475e123182416a506d7f87e7f529 + languageName: node + linkType: hard + +"@humanwhocodes/retry@npm:^0.3.0": + version: 0.3.0 + resolution: "@humanwhocodes/retry@npm:0.3.0" + checksum: 10c0/7111ec4e098b1a428459b4e3be5a5d2a13b02905f805a2468f4fa628d072f0de2da26a27d04f65ea2846f73ba51f4204661709f05bfccff645e3cedef8781bb6 + languageName: node + linkType: hard + +"@isaacs/cliui@npm:^8.0.2": + version: 8.0.2 + resolution: "@isaacs/cliui@npm:8.0.2" + dependencies: + string-width: "npm:^5.1.2" + string-width-cjs: "npm:string-width@^4.2.0" + strip-ansi: "npm:^7.0.1" + strip-ansi-cjs: "npm:strip-ansi@^6.0.1" + wrap-ansi: "npm:^8.1.0" + wrap-ansi-cjs: "npm:wrap-ansi@^7.0.0" + checksum: 10c0/b1bf42535d49f11dc137f18d5e4e63a28c5569de438a221c369483731e9dac9fb797af554e8bf02b6192d1e5eba6e6402cf93900c3d0ac86391d00d04876789e + languageName: node + linkType: hard + +"@jridgewell/gen-mapping@npm:^0.3.5": + version: 0.3.5 + resolution: "@jridgewell/gen-mapping@npm:0.3.5" + dependencies: + "@jridgewell/set-array": "npm:^1.2.1" + "@jridgewell/sourcemap-codec": "npm:^1.4.10" + "@jridgewell/trace-mapping": "npm:^0.3.24" + checksum: 10c0/1be4fd4a6b0f41337c4f5fdf4afc3bd19e39c3691924817108b82ffcb9c9e609c273f936932b9fba4b3a298ce2eb06d9bff4eb1cc3bd81c4f4ee1b4917e25feb + languageName: node + linkType: hard + +"@jridgewell/resolve-uri@npm:^3.1.0": + version: 3.1.2 + resolution: "@jridgewell/resolve-uri@npm:3.1.2" + checksum: 10c0/d502e6fb516b35032331406d4e962c21fe77cdf1cbdb49c6142bcbd9e30507094b18972778a6e27cbad756209cfe34b1a27729e6fa08a2eb92b33943f680cf1e + languageName: node + linkType: hard + +"@jridgewell/set-array@npm:^1.2.1": + version: 1.2.1 + resolution: "@jridgewell/set-array@npm:1.2.1" + checksum: 10c0/2a5aa7b4b5c3464c895c802d8ae3f3d2b92fcbe84ad12f8d0bfbb1f5ad006717e7577ee1fd2eac00c088abe486c7adb27976f45d2941ff6b0b92b2c3302c60f4 + languageName: node + linkType: hard + +"@jridgewell/sourcemap-codec@npm:^1.4.10, @jridgewell/sourcemap-codec@npm:^1.4.14, @jridgewell/sourcemap-codec@npm:^1.4.15": + version: 1.5.0 + resolution: "@jridgewell/sourcemap-codec@npm:1.5.0" + checksum: 10c0/2eb864f276eb1096c3c11da3e9bb518f6d9fc0023c78344cdc037abadc725172c70314bdb360f2d4b7bffec7f5d657ce006816bc5d4ecb35e61b66132db00c18 + languageName: node + linkType: hard + +"@jridgewell/trace-mapping@npm:^0.3.24, @jridgewell/trace-mapping@npm:^0.3.25": + version: 0.3.25 + resolution: "@jridgewell/trace-mapping@npm:0.3.25" + dependencies: + "@jridgewell/resolve-uri": "npm:^3.1.0" + "@jridgewell/sourcemap-codec": "npm:^1.4.14" + checksum: 10c0/3d1ce6ebc69df9682a5a8896b414c6537e428a1d68b02fcc8363b04284a8ca0df04d0ee3013132252ab14f2527bc13bea6526a912ecb5658f0e39fd2860b4df4 + languageName: node + linkType: hard + +"@nodelib/fs.scandir@npm:2.1.5": + version: 2.1.5 + resolution: "@nodelib/fs.scandir@npm:2.1.5" + dependencies: + "@nodelib/fs.stat": "npm:2.0.5" + run-parallel: "npm:^1.1.9" + checksum: 10c0/732c3b6d1b1e967440e65f284bd06e5821fedf10a1bea9ed2bb75956ea1f30e08c44d3def9d6a230666574edbaf136f8cfd319c14fd1f87c66e6a44449afb2eb + languageName: node + linkType: hard + +"@nodelib/fs.stat@npm:2.0.5, @nodelib/fs.stat@npm:^2.0.2": + version: 2.0.5 + resolution: "@nodelib/fs.stat@npm:2.0.5" + checksum: 10c0/88dafe5e3e29a388b07264680dc996c17f4bda48d163a9d4f5c1112979f0ce8ec72aa7116122c350b4e7976bc5566dc3ddb579be1ceaacc727872eb4ed93926d + languageName: node + linkType: hard + +"@nodelib/fs.walk@npm:^1.2.3, @nodelib/fs.walk@npm:^1.2.8": + version: 1.2.8 + resolution: "@nodelib/fs.walk@npm:1.2.8" + dependencies: + "@nodelib/fs.scandir": "npm:2.1.5" + fastq: "npm:^1.6.0" + checksum: 10c0/db9de047c3bb9b51f9335a7bb46f4fcfb6829fb628318c12115fbaf7d369bfce71c15b103d1fc3b464812d936220ee9bc1c8f762d032c9f6be9acc99249095b1 + languageName: node + linkType: hard + +"@npmcli/agent@npm:^2.0.0": + version: 2.2.2 + resolution: "@npmcli/agent@npm:2.2.2" + dependencies: + agent-base: "npm:^7.1.0" + http-proxy-agent: "npm:^7.0.0" + https-proxy-agent: "npm:^7.0.1" + lru-cache: "npm:^10.0.1" + socks-proxy-agent: "npm:^8.0.3" + checksum: 10c0/325e0db7b287d4154ecd164c0815c08007abfb07653cc57bceded17bb7fd240998a3cbdbe87d700e30bef494885eccc725ab73b668020811d56623d145b524ae + languageName: node + linkType: hard + +"@npmcli/fs@npm:^3.1.0": + version: 3.1.1 + resolution: "@npmcli/fs@npm:3.1.1" + dependencies: + semver: "npm:^7.3.5" + checksum: 10c0/c37a5b4842bfdece3d14dfdb054f73fe15ed2d3da61b34ff76629fb5b1731647c49166fd2a8bf8b56fcfa51200382385ea8909a3cbecdad612310c114d3f6c99 + languageName: node + linkType: hard + +"@pkgjs/parseargs@npm:^0.11.0": + version: 0.11.0 + resolution: "@pkgjs/parseargs@npm:0.11.0" + checksum: 10c0/5bd7576bb1b38a47a7fc7b51ac9f38748e772beebc56200450c4a817d712232b8f1d3ef70532c80840243c657d491cf6a6be1e3a214cff907645819fdc34aadd + languageName: node + linkType: hard + +"@polka/url@npm:^1.0.0-next.24": + version: 1.0.0-next.25 + resolution: "@polka/url@npm:1.0.0-next.25" + checksum: 10c0/ef61f0a0fe94bb6e1143fc5b9d5a12e6ca9dbd2c57843ebf81db432c21b9f1005c09e8a1ef8b6d5ddfa42146ca65b640feb2d353bd0d3546da46ba59e48a5349 + languageName: node + linkType: hard + +"@rollup/pluginutils@npm:^5.1.0": + version: 5.1.0 + resolution: "@rollup/pluginutils@npm:5.1.0" + dependencies: + "@types/estree": "npm:^1.0.0" + estree-walker: "npm:^2.0.2" + picomatch: "npm:^2.3.1" + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + checksum: 10c0/c7bed15711f942d6fdd3470fef4105b73991f99a478605e13d41888963330a6f9e32be37e6ddb13f012bc7673ff5e54f06f59fd47109436c1c513986a8a7612d + languageName: node + linkType: hard + +"@rollup/rollup-android-arm-eabi@npm:4.18.1": + version: 4.18.1 + resolution: "@rollup/rollup-android-arm-eabi@npm:4.18.1" + conditions: os=android & cpu=arm + languageName: node + linkType: hard + +"@rollup/rollup-android-arm64@npm:4.18.1": + version: 4.18.1 + resolution: "@rollup/rollup-android-arm64@npm:4.18.1" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + +"@rollup/rollup-darwin-arm64@npm:4.18.1": + version: 4.18.1 + resolution: "@rollup/rollup-darwin-arm64@npm:4.18.1" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@rollup/rollup-darwin-x64@npm:4.18.1": + version: 4.18.1 + resolution: "@rollup/rollup-darwin-x64@npm:4.18.1" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@rollup/rollup-linux-arm-gnueabihf@npm:4.18.1": + version: 4.18.1 + resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.18.1" + conditions: os=linux & cpu=arm & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-arm-musleabihf@npm:4.18.1": + version: 4.18.1 + resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.18.1" + conditions: os=linux & cpu=arm & libc=musl + languageName: node + linkType: hard + +"@rollup/rollup-linux-arm64-gnu@npm:4.18.1": + version: 4.18.1 + resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.18.1" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-arm64-musl@npm:4.18.1": + version: 4.18.1 + resolution: "@rollup/rollup-linux-arm64-musl@npm:4.18.1" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + +"@rollup/rollup-linux-powerpc64le-gnu@npm:4.18.1": + version: 4.18.1 + resolution: "@rollup/rollup-linux-powerpc64le-gnu@npm:4.18.1" + conditions: os=linux & cpu=ppc64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-riscv64-gnu@npm:4.18.1": + version: 4.18.1 + resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.18.1" + conditions: os=linux & cpu=riscv64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-s390x-gnu@npm:4.18.1": + version: 4.18.1 + resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.18.1" + conditions: os=linux & cpu=s390x & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-x64-gnu@npm:4.18.1": + version: 4.18.1 + resolution: "@rollup/rollup-linux-x64-gnu@npm:4.18.1" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-x64-musl@npm:4.18.1": + version: 4.18.1 + resolution: "@rollup/rollup-linux-x64-musl@npm:4.18.1" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + +"@rollup/rollup-win32-arm64-msvc@npm:4.18.1": + version: 4.18.1 + resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.18.1" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@rollup/rollup-win32-ia32-msvc@npm:4.18.1": + version: 4.18.1 + resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.18.1" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + +"@rollup/rollup-win32-x64-msvc@npm:4.18.1": + version: 4.18.1 + resolution: "@rollup/rollup-win32-x64-msvc@npm:4.18.1" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@types/estree@npm:1.0.5, @types/estree@npm:^1.0.0": + version: 1.0.5 + resolution: "@types/estree@npm:1.0.5" + checksum: 10c0/b3b0e334288ddb407c7b3357ca67dbee75ee22db242ca7c56fe27db4e1a31989cb8af48a84dd401deb787fe10cc6b2ab1ee82dc4783be87ededbe3d53c79c70d + languageName: node + linkType: hard + +"@types/node@npm:*, @types/node@npm:20.14.11": + version: 20.14.11 + resolution: "@types/node@npm:20.14.11" + dependencies: + undici-types: "npm:~5.26.4" + checksum: 10c0/5306becc0ff41d81b1e31524bd376e958d0741d1ce892dffd586b9ae0cb6553c62b0d62abd16da8bea6b9a2c17572d360450535d7c073794b0cef9cb4e39691e + languageName: node + linkType: hard + +"@types/ws@npm:^8.5.11": + version: 8.5.11 + resolution: "@types/ws@npm:8.5.11" + dependencies: + "@types/node": "npm:*" + checksum: 10c0/50bd2e1a12659fa024a97d7e8c267fbf2a2c2251f1edf2057aa7dfc99682f5c025a188df9e27414675c78d3b189346a3567e1e4c218ad79a9d2b0f1f2b860c3a + languageName: node + linkType: hard + +"@typescript-eslint/eslint-plugin@npm:7.16.1": + version: 7.16.1 + resolution: "@typescript-eslint/eslint-plugin@npm:7.16.1" + dependencies: + "@eslint-community/regexpp": "npm:^4.10.0" + "@typescript-eslint/scope-manager": "npm:7.16.1" + "@typescript-eslint/type-utils": "npm:7.16.1" + "@typescript-eslint/utils": "npm:7.16.1" + "@typescript-eslint/visitor-keys": "npm:7.16.1" + graphemer: "npm:^1.4.0" + ignore: "npm:^5.3.1" + natural-compare: "npm:^1.4.0" + ts-api-utils: "npm:^1.3.0" + peerDependencies: + "@typescript-eslint/parser": ^7.0.0 + eslint: ^8.56.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: 10c0/3d0d8fa7e00dff4deb70f41432030e4e0e0bc1e4415ae7be969b77bb216fd0797507ed852baaf6d12f6ae022f69ac6356201f6b4129ddfd57b232bfc6715ac8a + languageName: node + linkType: hard + +"@typescript-eslint/parser@npm:7.16.1": + version: 7.16.1 + resolution: "@typescript-eslint/parser@npm:7.16.1" + dependencies: + "@typescript-eslint/scope-manager": "npm:7.16.1" + "@typescript-eslint/types": "npm:7.16.1" + "@typescript-eslint/typescript-estree": "npm:7.16.1" + "@typescript-eslint/visitor-keys": "npm:7.16.1" + debug: "npm:^4.3.4" + peerDependencies: + eslint: ^8.56.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: 10c0/f0c731d9f22ccbcc2a15eb33376ae09cdcdcb4c69fcce425e8e7e5e3ccce51c4ee431d350109a02a09f40df81349c59eddd0264fe53a4194f326c0e0e2e3e83a + languageName: node + linkType: hard + +"@typescript-eslint/scope-manager@npm:7.16.1": + version: 7.16.1 + resolution: "@typescript-eslint/scope-manager@npm:7.16.1" + dependencies: + "@typescript-eslint/types": "npm:7.16.1" + "@typescript-eslint/visitor-keys": "npm:7.16.1" + checksum: 10c0/5105edd927fd45097eb9c16f235ba48c2d9f2f3a3948fbdc4ffdc9a9fc5f130fa46c32d9188fe4bb303bd99508d7f0aad342c2ec0d9ad887aa1416dd54edeb66 + languageName: node + linkType: hard + +"@typescript-eslint/type-utils@npm:7.16.1": + version: 7.16.1 + resolution: "@typescript-eslint/type-utils@npm:7.16.1" + dependencies: + "@typescript-eslint/typescript-estree": "npm:7.16.1" + "@typescript-eslint/utils": "npm:7.16.1" + debug: "npm:^4.3.4" + ts-api-utils: "npm:^1.3.0" + peerDependencies: + eslint: ^8.56.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: 10c0/7551566185ca372dbc3d53b8ab047ea7e2c50b25d9a9293d5163498fb87c4b16a585d267a4a99df57d70326754acf168aad726ee5e8b9c0d4e59f1b8653d951d + languageName: node + linkType: hard + +"@typescript-eslint/types@npm:7.16.1": + version: 7.16.1 + resolution: "@typescript-eslint/types@npm:7.16.1" + checksum: 10c0/5ab7bfcac81adb01672057270d0273da98dcf50d2add5819b4787b5973f6624d11ad33d6fb495f80fe628fefa3a5ed319b433ed57e9121e444cfc002e1e48625 + languageName: node + linkType: hard + +"@typescript-eslint/typescript-estree@npm:7.16.1": + version: 7.16.1 + resolution: "@typescript-eslint/typescript-estree@npm:7.16.1" + dependencies: + "@typescript-eslint/types": "npm:7.16.1" + "@typescript-eslint/visitor-keys": "npm:7.16.1" + debug: "npm:^4.3.4" + globby: "npm:^11.1.0" + is-glob: "npm:^4.0.3" + minimatch: "npm:^9.0.4" + semver: "npm:^7.6.0" + ts-api-utils: "npm:^1.3.0" + peerDependenciesMeta: + typescript: + optional: true + checksum: 10c0/979269e9d42d75c0e49f47c7bb5e9554bd29041339c6fecfe5c76726699bce25132bef8b54210769e4f0abb858a278923340d3e4decc6551406e2c5ec065fe04 + languageName: node + linkType: hard + +"@typescript-eslint/utils@npm:7.16.1": + version: 7.16.1 + resolution: "@typescript-eslint/utils@npm:7.16.1" + dependencies: + "@eslint-community/eslint-utils": "npm:^4.4.0" + "@typescript-eslint/scope-manager": "npm:7.16.1" + "@typescript-eslint/types": "npm:7.16.1" + "@typescript-eslint/typescript-estree": "npm:7.16.1" + peerDependencies: + eslint: ^8.56.0 + checksum: 10c0/22fbf17eec064d1e67f2a4bf512f62d5369a22fe11226f043cbeb0fe79cd18006b04f933e5025f4e5c2f82047248dac52cc97199e495ad17d564084210099d17 + languageName: node + linkType: hard + +"@typescript-eslint/visitor-keys@npm:7.16.1": + version: 7.16.1 + resolution: "@typescript-eslint/visitor-keys@npm:7.16.1" + dependencies: + "@typescript-eslint/types": "npm:7.16.1" + eslint-visitor-keys: "npm:^3.4.3" + checksum: 10c0/060bc6770ba3ea271c6a844501f4dfee1b8842a0c405e60d2a258466b1b4e66086234a3fddac8745bb1a39a89eab29afeaf16133ad925bd426ac8fdb13fb7f94 + languageName: node + linkType: hard + +"@vitejs/plugin-vue-jsx@npm:4.0.0": + version: 4.0.0 + resolution: "@vitejs/plugin-vue-jsx@npm:4.0.0" + dependencies: + "@babel/core": "npm:^7.24.6" + "@babel/plugin-transform-typescript": "npm:^7.24.6" + "@vue/babel-plugin-jsx": "npm:^1.2.2" + peerDependencies: + vite: ^5.0.0 + vue: ^3.0.0 + checksum: 10c0/d4ef314fc6fbfdc675b0fe5efba9a485a3a403b6b071bddc41b04e874f20dadaaf21d0dad5526765ef71f96cd70153e047a6f4980c578da26d53d5cf03729299 + languageName: node + linkType: hard + +"@vitejs/plugin-vue@npm:5.0.5": + version: 5.0.5 + resolution: "@vitejs/plugin-vue@npm:5.0.5" + peerDependencies: + vite: ^5.0.0 + vue: ^3.2.25 + checksum: 10c0/03b16e398be8de1e89a631ce8329722b26aa0856f3f4722acaefbd834edc16abdba2b7898091ec0b38adb1421b1abcf7c284aad39243ecde02128c8254188d2d + languageName: node + linkType: hard + +"@vue/babel-helper-vue-transform-on@npm:1.2.2": + version: 1.2.2 + resolution: "@vue/babel-helper-vue-transform-on@npm:1.2.2" + checksum: 10c0/15f9d919b48decebc714ceb89cc402ad78c0ce0b8a18cca3fff5d49f9ba5c9881151c66114bd5a39e629f2ec107d590a7b0201d99ea2448cce9757981ec816fd + languageName: node + linkType: hard + +"@vue/babel-plugin-jsx@npm:^1.1.5, @vue/babel-plugin-jsx@npm:^1.2.2": + version: 1.2.2 + resolution: "@vue/babel-plugin-jsx@npm:1.2.2" + dependencies: + "@babel/helper-module-imports": "npm:~7.22.15" + "@babel/helper-plugin-utils": "npm:^7.22.5" + "@babel/plugin-syntax-jsx": "npm:^7.23.3" + "@babel/template": "npm:^7.23.9" + "@babel/traverse": "npm:^7.23.9" + "@babel/types": "npm:^7.23.9" + "@vue/babel-helper-vue-transform-on": "npm:1.2.2" + "@vue/babel-plugin-resolve-type": "npm:1.2.2" + camelcase: "npm:^6.3.0" + html-tags: "npm:^3.3.1" + svg-tags: "npm:^1.0.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + peerDependenciesMeta: + "@babel/core": + optional: true + checksum: 10c0/a89e62c6e321a06ff98d83255fceef157efe83a33cca78d394125c89303884a9273b101e9a0b1442c4cd09e5ce48ec5d228353625f0f2e6795f1cdd404b5af07 + languageName: node + linkType: hard + +"@vue/babel-plugin-resolve-type@npm:1.2.2": + version: 1.2.2 + resolution: "@vue/babel-plugin-resolve-type@npm:1.2.2" + dependencies: + "@babel/code-frame": "npm:^7.23.5" + "@babel/helper-module-imports": "npm:~7.22.15" + "@babel/helper-plugin-utils": "npm:^7.22.5" + "@babel/parser": "npm:^7.23.9" + "@vue/compiler-sfc": "npm:^3.4.15" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/577a021f03d2cada0a174bcea75497173dcacd38df4e7fb14de2b90bbaca2b430fc778100df863c20c0364c17933c0fd3b6c758fca528583f68c11723c2d1b66 + languageName: node + linkType: hard + +"@vue/compiler-core@npm:3.4.31": + version: 3.4.31 + resolution: "@vue/compiler-core@npm:3.4.31" + dependencies: + "@babel/parser": "npm:^7.24.7" + "@vue/shared": "npm:3.4.31" + entities: "npm:^4.5.0" + estree-walker: "npm:^2.0.2" + source-map-js: "npm:^1.2.0" + checksum: 10c0/17833fa55af0168da4ec79b1233aba2bf6df9a88cd95be513a122f3433901e70284ce467a504a36547debdf49f887cf807734360a7660fd8f7622bf15c74b01d + languageName: node + linkType: hard + +"@vue/compiler-core@npm:3.4.32": + version: 3.4.32 + resolution: "@vue/compiler-core@npm:3.4.32" + dependencies: + "@babel/parser": "npm:^7.24.7" + "@vue/shared": "npm:3.4.32" + entities: "npm:^4.5.0" + estree-walker: "npm:^2.0.2" + source-map-js: "npm:^1.2.0" + checksum: 10c0/011dde7dcdbdaa9f7cc5cfe5310bd3903e194e1350f553e3f32128c06da5e93cfa3b1f07b5bdd1f904676695e88f0bd904892c4e62767a0f5bfe2efe9115282d + languageName: node + linkType: hard + +"@vue/compiler-dom@npm:3.4.31, @vue/compiler-dom@npm:^3.3.4": + version: 3.4.31 + resolution: "@vue/compiler-dom@npm:3.4.31" + dependencies: + "@vue/compiler-core": "npm:3.4.31" + "@vue/shared": "npm:3.4.31" + checksum: 10c0/136b2208685d7d67e282a7da5f377f40878c467832789be21aadbe322832541aa20a4e2d0c5faa57b4f5608067eeb680d123fdb08c2ef9b28f0d6a94a3d79dbc + languageName: node + linkType: hard + +"@vue/compiler-dom@npm:3.4.32": + version: 3.4.32 + resolution: "@vue/compiler-dom@npm:3.4.32" + dependencies: + "@vue/compiler-core": "npm:3.4.32" + "@vue/shared": "npm:3.4.32" + checksum: 10c0/b91e483bea00db302a40fb874aeacaa49cff4afef7327733997a520154a0914244c81aeb1bc732d1ac53276935fe3abbc86d41528b9b31bb8ee28f45410425c8 + languageName: node + linkType: hard + +"@vue/compiler-sfc@npm:3.4.32": + version: 3.4.32 + resolution: "@vue/compiler-sfc@npm:3.4.32" + dependencies: + "@babel/parser": "npm:^7.24.7" + "@vue/compiler-core": "npm:3.4.32" + "@vue/compiler-dom": "npm:3.4.32" + "@vue/compiler-ssr": "npm:3.4.32" + "@vue/shared": "npm:3.4.32" + estree-walker: "npm:^2.0.2" + magic-string: "npm:^0.30.10" + postcss: "npm:^8.4.39" + source-map-js: "npm:^1.2.0" + checksum: 10c0/70e52901bb581b00af03d004f64ea6e7f77ed6dc1b7e776cec824932eb1b674d45c776d64364ad9afe6530a5ef3610fda6fd56d849fccae50b16175b52f678d8 + languageName: node + linkType: hard + +"@vue/compiler-sfc@npm:^3.4.15": + version: 3.4.31 + resolution: "@vue/compiler-sfc@npm:3.4.31" + dependencies: + "@babel/parser": "npm:^7.24.7" + "@vue/compiler-core": "npm:3.4.31" + "@vue/compiler-dom": "npm:3.4.31" + "@vue/compiler-ssr": "npm:3.4.31" + "@vue/shared": "npm:3.4.31" + estree-walker: "npm:^2.0.2" + magic-string: "npm:^0.30.10" + postcss: "npm:^8.4.38" + source-map-js: "npm:^1.2.0" + checksum: 10c0/b8983a52dd3d5d7f9640dbda5946f01fcb92213a6c3a9a76d1df8f67fd43c59402ab6ff4211a205bf91155c4cd2a45fb39c36a83199bc1256eaeb9f690895b73 + languageName: node + linkType: hard + +"@vue/compiler-ssr@npm:3.4.31": + version: 3.4.31 + resolution: "@vue/compiler-ssr@npm:3.4.31" + dependencies: + "@vue/compiler-dom": "npm:3.4.31" + "@vue/shared": "npm:3.4.31" + checksum: 10c0/8083959c21b344f8ee5029c0ea91d50118a32b7c7c430971a721785b0349ce92d82d9cf17d7991a283f79b4ec1c68db4d1d182e035c17aa9116aa07ee115bac0 + languageName: node + linkType: hard + +"@vue/compiler-ssr@npm:3.4.32": + version: 3.4.32 + resolution: "@vue/compiler-ssr@npm:3.4.32" + dependencies: + "@vue/compiler-dom": "npm:3.4.32" + "@vue/shared": "npm:3.4.32" + checksum: 10c0/b175c89760e0b47c846faa5d8223a2cebfcbe21e37f06f01e127fe7238fae49c64be78dc23eec4ebd3de6889ec7d72992265be172d9cbd5d652616ca814ebb9a + languageName: node + linkType: hard + +"@vue/devtools-api@npm:^6.5.0, @vue/devtools-api@npm:^6.5.1": + version: 6.6.3 + resolution: "@vue/devtools-api@npm:6.6.3" + checksum: 10c0/e9e712f687e901b1ecfcfb958a305db9729d37408677ea8d63189176406196c7c6d4e9580216de590ccbe68037f323c163293e917cfad3834d7f3299cd5a22bb + languageName: node + linkType: hard + +"@vue/devtools-core@npm:^7.3.6": + version: 7.3.6 + resolution: "@vue/devtools-core@npm:7.3.6" + dependencies: + "@vue/devtools-kit": "npm:^7.3.6" + "@vue/devtools-shared": "npm:^7.3.6" + mitt: "npm:^3.0.1" + nanoid: "npm:^3.3.4" + pathe: "npm:^1.1.2" + vite-hot-client: "npm:^0.2.3" + peerDependencies: + vue: ^3.0.0 + checksum: 10c0/db3cc35b3b3763307f0f467f78e625aaeae40b858976f24991f3f82246cedd9e3f6dc129b253758bc06f37e26955e1d2deb737adb9cf188c4c1a1d4f7c016f67 + languageName: node + linkType: hard + +"@vue/devtools-kit@npm:^7.3.6": + version: 7.3.6 + resolution: "@vue/devtools-kit@npm:7.3.6" + dependencies: + "@vue/devtools-shared": "npm:^7.3.6" + birpc: "npm:^0.2.17" + hookable: "npm:^5.5.3" + mitt: "npm:^3.0.1" + perfect-debounce: "npm:^1.0.0" + speakingurl: "npm:^14.0.1" + superjson: "npm:^2.2.1" + checksum: 10c0/9032150a0234366707c555a1dbdda0686bd6345580760236c17fe4d1712cbe22c6c6868446071456cb8f177230d676e76d8f45847b58537739c2354a5048d5de + languageName: node + linkType: hard + +"@vue/devtools-shared@npm:^7.3.6": + version: 7.3.6 + resolution: "@vue/devtools-shared@npm:7.3.6" + dependencies: + rfdc: "npm:^1.4.1" + checksum: 10c0/aba91bb767d63d2037c9e137ddbaacead0290f8fce646c43b1e26e88e574c6f789e0e94b19926366c0ab989d85fb05a70cd856179c53aea521275691a4e967e9 + languageName: node + linkType: hard + +"@vue/reactivity@npm:3.4.32": + version: 3.4.32 + resolution: "@vue/reactivity@npm:3.4.32" + dependencies: + "@vue/shared": "npm:3.4.32" + checksum: 10c0/c37b130b380192444bd4e923eaf4766dfee293ac58b951c2c6f3799b995595cb43106adf9755b085b09610d2f7747f6ff9fba1762d114265b9a073a9bd824a03 + languageName: node + linkType: hard + +"@vue/runtime-core@npm:3.4.32": + version: 3.4.32 + resolution: "@vue/runtime-core@npm:3.4.32" + dependencies: + "@vue/reactivity": "npm:3.4.32" + "@vue/shared": "npm:3.4.32" + checksum: 10c0/fdc65876fb64a0780cf2008cd13fd37d71bbe4aa4e00c3eff200aac66a9c76c0abe9cc99af0eaad0a485bce8c58b1cd04914d83f282ad4d7508f22b7812f8d55 + languageName: node + linkType: hard + +"@vue/runtime-dom@npm:3.4.32": + version: 3.4.32 + resolution: "@vue/runtime-dom@npm:3.4.32" + dependencies: + "@vue/reactivity": "npm:3.4.32" + "@vue/runtime-core": "npm:3.4.32" + "@vue/shared": "npm:3.4.32" + csstype: "npm:^3.1.3" + checksum: 10c0/ed295123ee96a2f51eeec802fc5e48dc8dd9b7fb2dabee3c4da88d9dd6d111b24d441e1a2f4df369f788f627add46ad5aadd57c7778b5b9dd581b3e59909b29f + languageName: node + linkType: hard + +"@vue/server-renderer@npm:3.4.32": + version: 3.4.32 + resolution: "@vue/server-renderer@npm:3.4.32" + dependencies: + "@vue/compiler-ssr": "npm:3.4.32" + "@vue/shared": "npm:3.4.32" + peerDependencies: + vue: 3.4.32 + checksum: 10c0/35dcfbb0708035cc1583dee1ad598e0e2eaded7fc609a5a5f61985625f47037bc80f34288614c51a5e0262d1b3fb8796d36d17f3f1acb20462722f1abf45a7f1 + languageName: node + linkType: hard + +"@vue/shared@npm:3.4.31": + version: 3.4.31 + resolution: "@vue/shared@npm:3.4.31" + checksum: 10c0/45643c0c7aa6b208891aac5798629ee5b982a5e52343c0a23ecc15b7aeb580b606ce78e70daee0fd691ccddb5f10196c4d56c7da4b8716157be1772a43f1c45e + languageName: node + linkType: hard + +"@vue/shared@npm:3.4.32": + version: 3.4.32 + resolution: "@vue/shared@npm:3.4.32" + checksum: 10c0/5c74add66499b6881182f70d7120566dac386477d0356b11b86bd856d349872f4efc14bde38c4b14fd185e1f1b06855b0b1276002d167d9a6e73bcc37bb3d5b3 + languageName: node + linkType: hard + +"abbrev@npm:^2.0.0": + version: 2.0.0 + resolution: "abbrev@npm:2.0.0" + checksum: 10c0/f742a5a107473946f426c691c08daba61a1d15942616f300b5d32fd735be88fef5cba24201757b6c407fd564555fb48c751cfa33519b2605c8a7aadd22baf372 + languageName: node + linkType: hard + +"acorn-jsx@npm:^5.3.2": + version: 5.3.2 + resolution: "acorn-jsx@npm:5.3.2" + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + checksum: 10c0/4c54868fbef3b8d58927d5e33f0a4de35f59012fe7b12cf9dfbb345fb8f46607709e1c4431be869a23fb63c151033d84c4198fa9f79385cec34fcb1dd53974c1 + languageName: node + linkType: hard + +"acorn@npm:^8.12.0, acorn@npm:^8.9.0": + version: 8.12.1 + resolution: "acorn@npm:8.12.1" + bin: + acorn: bin/acorn + checksum: 10c0/51fb26cd678f914e13287e886da2d7021f8c2bc0ccc95e03d3e0447ee278dd3b40b9c57dc222acd5881adcf26f3edc40901a4953403232129e3876793cd17386 + languageName: node + linkType: hard + +"agent-base@npm:^7.0.2, agent-base@npm:^7.1.0, agent-base@npm:^7.1.1": + version: 7.1.1 + resolution: "agent-base@npm:7.1.1" + dependencies: + debug: "npm:^4.3.4" + checksum: 10c0/e59ce7bed9c63bf071a30cc471f2933862044c97fd9958967bfe22521d7a0f601ce4ed5a8c011799d0c726ca70312142ae193bbebb60f576b52be19d4a363b50 + languageName: node + linkType: hard + +"aggregate-error@npm:^3.0.0": + version: 3.1.0 + resolution: "aggregate-error@npm:3.1.0" + dependencies: + clean-stack: "npm:^2.0.0" + indent-string: "npm:^4.0.0" + checksum: 10c0/a42f67faa79e3e6687a4923050e7c9807db3848a037076f791d10e092677d65c1d2d863b7848560699f40fc0502c19f40963fb1cd1fb3d338a7423df8e45e039 + languageName: node + linkType: hard + +"ajv@npm:^6.12.4": + version: 6.12.6 + resolution: "ajv@npm:6.12.6" + dependencies: + fast-deep-equal: "npm:^3.1.1" + fast-json-stable-stringify: "npm:^2.0.0" + json-schema-traverse: "npm:^0.4.1" + uri-js: "npm:^4.2.2" + checksum: 10c0/41e23642cbe545889245b9d2a45854ebba51cda6c778ebced9649420d9205f2efb39cb43dbc41e358409223b1ea43303ae4839db682c848b891e4811da1a5a71 + languageName: node + linkType: hard + +"ajv@npm:^8.0.1": + version: 8.17.1 + resolution: "ajv@npm:8.17.1" + dependencies: + fast-deep-equal: "npm:^3.1.3" + fast-uri: "npm:^3.0.1" + json-schema-traverse: "npm:^1.0.0" + require-from-string: "npm:^2.0.2" + checksum: 10c0/ec3ba10a573c6b60f94639ffc53526275917a2df6810e4ab5a6b959d87459f9ef3f00d5e7865b82677cb7d21590355b34da14d1d0b9c32d75f95a187e76fff35 + languageName: node + linkType: hard + +"ansi-regex@npm:^5.0.1": + version: 5.0.1 + resolution: "ansi-regex@npm:5.0.1" + checksum: 10c0/9a64bb8627b434ba9327b60c027742e5d17ac69277960d041898596271d992d4d52ba7267a63ca10232e29f6107fc8a835f6ce8d719b88c5f8493f8254813737 + languageName: node + linkType: hard + +"ansi-regex@npm:^6.0.1": + version: 6.0.1 + resolution: "ansi-regex@npm:6.0.1" + checksum: 10c0/cbe16dbd2c6b2735d1df7976a7070dd277326434f0212f43abf6d87674095d247968209babdaad31bb00882fa68807256ba9be340eec2f1004de14ca75f52a08 + languageName: node + linkType: hard + +"ansi-styles@npm:^3.2.1": + version: 3.2.1 + resolution: "ansi-styles@npm:3.2.1" + dependencies: + color-convert: "npm:^1.9.0" + checksum: 10c0/ece5a8ef069fcc5298f67e3f4771a663129abd174ea2dfa87923a2be2abf6cd367ef72ac87942da00ce85bd1d651d4cd8595aebdb1b385889b89b205860e977b + languageName: node + linkType: hard + +"ansi-styles@npm:^4.0.0, ansi-styles@npm:^4.1.0": + version: 4.3.0 + resolution: "ansi-styles@npm:4.3.0" + dependencies: + color-convert: "npm:^2.0.1" + checksum: 10c0/895a23929da416f2bd3de7e9cb4eabd340949328ab85ddd6e484a637d8f6820d485f53933446f5291c3b760cbc488beb8e88573dd0f9c7daf83dccc8fe81b041 + languageName: node + linkType: hard + +"ansi-styles@npm:^6.1.0": + version: 6.2.1 + resolution: "ansi-styles@npm:6.2.1" + checksum: 10c0/5d1ec38c123984bcedd996eac680d548f31828bd679a66db2bdf11844634dde55fec3efa9c6bb1d89056a5e79c1ac540c4c784d592ea1d25028a92227d2f2d5c + languageName: node + linkType: hard + +"anymatch@npm:~3.1.2": + version: 3.1.3 + resolution: "anymatch@npm:3.1.3" + dependencies: + normalize-path: "npm:^3.0.0" + picomatch: "npm:^2.0.4" + checksum: 10c0/57b06ae984bc32a0d22592c87384cd88fe4511b1dd7581497831c56d41939c8a001b28e7b853e1450f2bf61992dfcaa8ae2d0d161a0a90c4fb631ef07098fbac + languageName: node + linkType: hard + +"argparse@npm:^2.0.1": + version: 2.0.1 + resolution: "argparse@npm:2.0.1" + checksum: 10c0/c5640c2d89045371c7cedd6a70212a04e360fd34d6edeae32f6952c63949e3525ea77dbec0289d8213a99bbaeab5abfa860b5c12cf88a2e6cf8106e90dd27a7e + languageName: node + linkType: hard + +"array-union@npm:^2.1.0": + version: 2.1.0 + resolution: "array-union@npm:2.1.0" + checksum: 10c0/429897e68110374f39b771ec47a7161fc6a8fc33e196857c0a396dc75df0b5f65e4d046674db764330b6bb66b39ef48dd7c53b6a2ee75cfb0681e0c1a7033962 + languageName: node + linkType: hard + +"astral-regex@npm:^2.0.0": + version: 2.0.0 + resolution: "astral-regex@npm:2.0.0" + checksum: 10c0/f63d439cc383db1b9c5c6080d1e240bd14dae745f15d11ec5da863e182bbeca70df6c8191cffef5deba0b566ef98834610a68be79ac6379c95eeb26e1b310e25 + languageName: node + linkType: hard + +"balanced-match@npm:^1.0.0": + version: 1.0.2 + resolution: "balanced-match@npm:1.0.2" + checksum: 10c0/9308baf0a7e4838a82bbfd11e01b1cb0f0cf2893bc1676c27c2a8c0e70cbae1c59120c3268517a8ae7fb6376b4639ef81ca22582611dbee4ed28df945134aaee + languageName: node + linkType: hard + +"balanced-match@npm:^2.0.0": + version: 2.0.0 + resolution: "balanced-match@npm:2.0.0" + checksum: 10c0/60a54e0b75a61674e16a7a336b805f06c72d6f8fc457639c24efc512ba2bf9cb5744b9f6f5225afcefb99da39714440c83c737208cc65c5d9ecd1f3093331ca3 + languageName: node + linkType: hard + +"binary-extensions@npm:^2.0.0": + version: 2.3.0 + resolution: "binary-extensions@npm:2.3.0" + checksum: 10c0/75a59cafc10fb12a11d510e77110c6c7ae3f4ca22463d52487709ca7f18f69d886aa387557cc9864fbdb10153d0bdb4caacabf11541f55e89ed6e18d12ece2b5 + languageName: node + linkType: hard + +"birpc@npm:^0.2.17": + version: 0.2.17 + resolution: "birpc@npm:0.2.17" + checksum: 10c0/123ec3689c248e25249c22ada92f5586d2ac5d262e240a53d199e02250cea6af5065163ced81a7183d09ea6fb1a2abe8f8c52d3751670f34e5ab6afd056cd332 + languageName: node + linkType: hard + +"boolbase@npm:^1.0.0": + version: 1.0.0 + resolution: "boolbase@npm:1.0.0" + checksum: 10c0/e4b53deb4f2b85c52be0e21a273f2045c7b6a6ea002b0e139c744cb6f95e9ec044439a52883b0d74dedd1ff3da55ed140cfdddfed7fb0cccbed373de5dce1bcf + languageName: node + linkType: hard + +"brace-expansion@npm:^1.1.7": + version: 1.1.11 + resolution: "brace-expansion@npm:1.1.11" + dependencies: + balanced-match: "npm:^1.0.0" + concat-map: "npm:0.0.1" + checksum: 10c0/695a56cd058096a7cb71fb09d9d6a7070113c7be516699ed361317aca2ec169f618e28b8af352e02ab4233fb54eb0168460a40dc320bab0034b36ab59aaad668 + languageName: node + linkType: hard + +"brace-expansion@npm:^2.0.1": + version: 2.0.1 + resolution: "brace-expansion@npm:2.0.1" + dependencies: + balanced-match: "npm:^1.0.0" + checksum: 10c0/b358f2fe060e2d7a87aa015979ecea07f3c37d4018f8d6deb5bd4c229ad3a0384fe6029bb76cd8be63c81e516ee52d1a0673edbe2023d53a5191732ae3c3e49f + languageName: node + linkType: hard + +"braces@npm:^3.0.3, braces@npm:~3.0.2": + version: 3.0.3 + resolution: "braces@npm:3.0.3" + dependencies: + fill-range: "npm:^7.1.1" + checksum: 10c0/7c6dfd30c338d2997ba77500539227b9d1f85e388a5f43220865201e407e076783d0881f2d297b9f80951b4c957fcf0b51c1d2d24227631643c3f7c284b0aa04 + languageName: node + linkType: hard + +"browserslist@npm:^4.23.1": + version: 4.23.2 + resolution: "browserslist@npm:4.23.2" + dependencies: + caniuse-lite: "npm:^1.0.30001640" + electron-to-chromium: "npm:^1.4.820" + node-releases: "npm:^2.0.14" + update-browserslist-db: "npm:^1.1.0" + bin: + browserslist: cli.js + checksum: 10c0/0217d23c69ed61cdd2530c7019bf7c822cd74c51f8baab18dd62457fed3129f52499f8d3a6f809ae1fb7bb3050aa70caa9a529cc36c7478427966dbf429723a5 + languageName: node + linkType: hard + +"bundle-name@npm:^4.1.0": + version: 4.1.0 + resolution: "bundle-name@npm:4.1.0" + dependencies: + run-applescript: "npm:^7.0.0" + checksum: 10c0/8e575981e79c2bcf14d8b1c027a3775c095d362d1382312f444a7c861b0e21513c0bd8db5bd2b16e50ba0709fa622d4eab6b53192d222120305e68359daece29 + languageName: node + linkType: hard + +"cacache@npm:^18.0.0": + version: 18.0.4 + resolution: "cacache@npm:18.0.4" + dependencies: + "@npmcli/fs": "npm:^3.1.0" + fs-minipass: "npm:^3.0.0" + glob: "npm:^10.2.2" + lru-cache: "npm:^10.0.1" + minipass: "npm:^7.0.3" + minipass-collect: "npm:^2.0.1" + minipass-flush: "npm:^1.0.5" + minipass-pipeline: "npm:^1.2.4" + p-map: "npm:^4.0.0" + ssri: "npm:^10.0.0" + tar: "npm:^6.1.11" + unique-filename: "npm:^3.0.0" + checksum: 10c0/6c055bafed9de4f3dcc64ac3dc7dd24e863210902b7c470eb9ce55a806309b3efff78033e3d8b4f7dcc5d467f2db43c6a2857aaaf26f0094b8a351d44c42179f + languageName: node + linkType: hard + +"callsites@npm:^3.0.0": + version: 3.1.0 + resolution: "callsites@npm:3.1.0" + checksum: 10c0/fff92277400eb06c3079f9e74f3af120db9f8ea03bad0e84d9aede54bbe2d44a56cccb5f6cf12211f93f52306df87077ecec5b712794c5a9b5dac6d615a3f301 + languageName: node + linkType: hard + +"camelcase@npm:^6.3.0": + version: 6.3.0 + resolution: "camelcase@npm:6.3.0" + checksum: 10c0/0d701658219bd3116d12da3eab31acddb3f9440790c0792e0d398f0a520a6a4058018e546862b6fba89d7ae990efaeb97da71e1913e9ebf5a8b5621a3d55c710 + languageName: node + linkType: hard + +"caniuse-lite@npm:^1.0.30001640": + version: 1.0.30001642 + resolution: "caniuse-lite@npm:1.0.30001642" + checksum: 10c0/7366878ecdd482392a741c66fd2b39816b70573d66f64b1f8e5916835faf7a15f116368290170f4d7c4e823ec78eea9b6c0f63bee763a511cc7990afa429d63b + languageName: node + linkType: hard + +"chalk@npm:^2.4.2": + version: 2.4.2 + resolution: "chalk@npm:2.4.2" + dependencies: + ansi-styles: "npm:^3.2.1" + escape-string-regexp: "npm:^1.0.5" + supports-color: "npm:^5.3.0" + checksum: 10c0/e6543f02ec877732e3a2d1c3c3323ddb4d39fbab687c23f526e25bd4c6a9bf3b83a696e8c769d078e04e5754921648f7821b2a2acfd16c550435fd630026e073 + languageName: node + linkType: hard + +"chalk@npm:^4.0.0": + version: 4.1.2 + resolution: "chalk@npm:4.1.2" + dependencies: + ansi-styles: "npm:^4.1.0" + supports-color: "npm:^7.1.0" + checksum: 10c0/4a3fef5cc34975c898ffe77141450f679721df9dde00f6c304353fa9c8b571929123b26a0e4617bde5018977eb655b31970c297b91b63ee83bb82aeb04666880 + languageName: node + linkType: hard + +"chokidar@npm:>=3.0.0 <4.0.0, chokidar@npm:^3.5.3": + version: 3.6.0 + resolution: "chokidar@npm:3.6.0" + dependencies: + anymatch: "npm:~3.1.2" + braces: "npm:~3.0.2" + fsevents: "npm:~2.3.2" + glob-parent: "npm:~5.1.2" + is-binary-path: "npm:~2.1.0" + is-glob: "npm:~4.0.1" + normalize-path: "npm:~3.0.0" + readdirp: "npm:~3.6.0" + dependenciesMeta: + fsevents: + optional: true + checksum: 10c0/8361dcd013f2ddbe260eacb1f3cb2f2c6f2b0ad118708a343a5ed8158941a39cb8fb1d272e0f389712e74ee90ce8ba864eece9e0e62b9705cb468a2f6d917462 + languageName: node + linkType: hard + +"chownr@npm:^2.0.0": + version: 2.0.0 + resolution: "chownr@npm:2.0.0" + checksum: 10c0/594754e1303672171cc04e50f6c398ae16128eb134a88f801bf5354fd96f205320f23536a045d9abd8b51024a149696e51231565891d4efdab8846021ecf88e6 + languageName: node + linkType: hard + +"clean-stack@npm:^2.0.0": + version: 2.2.0 + resolution: "clean-stack@npm:2.2.0" + checksum: 10c0/1f90262d5f6230a17e27d0c190b09d47ebe7efdd76a03b5a1127863f7b3c9aec4c3e6c8bb3a7bbf81d553d56a1fd35728f5a8ef4c63f867ac8d690109742a8c1 + languageName: node + linkType: hard + +"color-convert@npm:^1.9.0": + version: 1.9.3 + resolution: "color-convert@npm:1.9.3" + dependencies: + color-name: "npm:1.1.3" + checksum: 10c0/5ad3c534949a8c68fca8fbc6f09068f435f0ad290ab8b2f76841b9e6af7e0bb57b98cb05b0e19fe33f5d91e5a8611ad457e5f69e0a484caad1f7487fd0e8253c + languageName: node + linkType: hard + +"color-convert@npm:^2.0.1": + version: 2.0.1 + resolution: "color-convert@npm:2.0.1" + dependencies: + color-name: "npm:~1.1.4" + checksum: 10c0/37e1150172f2e311fe1b2df62c6293a342ee7380da7b9cfdba67ea539909afbd74da27033208d01d6d5cfc65ee7868a22e18d7e7648e004425441c0f8a15a7d7 + languageName: node + linkType: hard + +"color-name@npm:1.1.3": + version: 1.1.3 + resolution: "color-name@npm:1.1.3" + checksum: 10c0/566a3d42cca25b9b3cd5528cd7754b8e89c0eb646b7f214e8e2eaddb69994ac5f0557d9c175eb5d8f0ad73531140d9c47525085ee752a91a2ab15ab459caf6d6 + languageName: node + linkType: hard + +"color-name@npm:~1.1.4": + version: 1.1.4 + resolution: "color-name@npm:1.1.4" + checksum: 10c0/a1a3f914156960902f46f7f56bc62effc6c94e84b2cae157a526b1c1f74b677a47ec602bf68a61abfa2b42d15b7c5651c6dbe72a43af720bc588dff885b10f95 + languageName: node + linkType: hard + +"colord@npm:^2.9.3": + version: 2.9.3 + resolution: "colord@npm:2.9.3" + checksum: 10c0/9699e956894d8996b28c686afe8988720785f476f59335c80ce852ded76ab3ebe252703aec53d9bef54f6219aea6b960fb3d9a8300058a1d0c0d4026460cd110 + languageName: node + linkType: hard + +"commander@npm:^9.0.0": + version: 9.5.0 + resolution: "commander@npm:9.5.0" + checksum: 10c0/5f7784fbda2aaec39e89eb46f06a999e00224b3763dc65976e05929ec486e174fe9aac2655f03ba6a5e83875bd173be5283dc19309b7c65954701c02025b3c1d + languageName: node + linkType: hard + +"concat-map@npm:0.0.1": + version: 0.0.1 + resolution: "concat-map@npm:0.0.1" + checksum: 10c0/c996b1cfdf95b6c90fee4dae37e332c8b6eb7d106430c17d538034c0ad9a1630cb194d2ab37293b1bdd4d779494beee7786d586a50bd9376fd6f7bcc2bd4c98f + languageName: node + linkType: hard + +"convert-source-map@npm:^2.0.0": + version: 2.0.0 + resolution: "convert-source-map@npm:2.0.0" + checksum: 10c0/8f2f7a27a1a011cc6cc88cc4da2d7d0cfa5ee0369508baae3d98c260bb3ac520691464e5bbe4ae7cdf09860c1d69ecc6f70c63c6e7c7f7e3f18ec08484dc7d9b + languageName: node + linkType: hard + +"copy-anything@npm:^3.0.2": + version: 3.0.5 + resolution: "copy-anything@npm:3.0.5" + dependencies: + is-what: "npm:^4.1.8" + checksum: 10c0/01eadd500c7e1db71d32d95a3bfaaedcb839ef891c741f6305ab0461398056133de08f2d1bf4c392b364e7bdb7ce498513896e137a7a183ac2516b065c28a4fe + languageName: node + linkType: hard + +"cosmiconfig@npm:^9.0.0": + version: 9.0.0 + resolution: "cosmiconfig@npm:9.0.0" + dependencies: + env-paths: "npm:^2.2.1" + import-fresh: "npm:^3.3.0" + js-yaml: "npm:^4.1.0" + parse-json: "npm:^5.2.0" + peerDependencies: + typescript: ">=4.9.5" + peerDependenciesMeta: + typescript: + optional: true + checksum: 10c0/1c1703be4f02a250b1d6ca3267e408ce16abfe8364193891afc94c2d5c060b69611fdc8d97af74b7e6d5d1aac0ab2fb94d6b079573146bc2d756c2484ce5f0ee + languageName: node + linkType: hard + +"cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.2, cross-spawn@npm:^7.0.3": + version: 7.0.3 + resolution: "cross-spawn@npm:7.0.3" + dependencies: + path-key: "npm:^3.1.0" + shebang-command: "npm:^2.0.0" + which: "npm:^2.0.1" + checksum: 10c0/5738c312387081c98d69c98e105b6327b069197f864a60593245d64c8089c8a0a744e16349281210d56835bb9274130d825a78b2ad6853ca13cfbeffc0c31750 + languageName: node + linkType: hard + +"css-functions-list@npm:^3.2.2": + version: 3.2.2 + resolution: "css-functions-list@npm:3.2.2" + checksum: 10c0/8638a63d0cf1bdc50d4a752ec1c94a57e9953c3b03eace4f5526db20bec3c061e95089f905dbb4999c44b9780ce777ba856967560f6d15119a303f6030901c10 + languageName: node + linkType: hard + +"css-tree@npm:^2.3.1": + version: 2.3.1 + resolution: "css-tree@npm:2.3.1" + dependencies: + mdn-data: "npm:2.0.30" + source-map-js: "npm:^1.0.1" + checksum: 10c0/6f8c1a11d5e9b14bf02d10717fc0351b66ba12594166f65abfbd8eb8b5b490dd367f5c7721db241a3c792d935fc6751fbc09f7e1598d421477ad9fadc30f4f24 + languageName: node + linkType: hard + +"cssesc@npm:^3.0.0": + version: 3.0.0 + resolution: "cssesc@npm:3.0.0" + bin: + cssesc: bin/cssesc + checksum: 10c0/6bcfd898662671be15ae7827120472c5667afb3d7429f1f917737f3bf84c4176003228131b643ae74543f17a394446247df090c597bb9a728cce298606ed0aa7 + languageName: node + linkType: hard + +"csstype@npm:^3.1.3": + version: 3.1.3 + resolution: "csstype@npm:3.1.3" + checksum: 10c0/80c089d6f7e0c5b2bd83cf0539ab41474198579584fa10d86d0cafe0642202343cbc119e076a0b1aece191989477081415d66c9fefbf3c957fc2fc4b7009f248 + languageName: node + linkType: hard + +"debug@npm:4, debug@npm:^4.1.0, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.4, debug@npm:^4.3.5": + version: 4.3.5 + resolution: "debug@npm:4.3.5" + dependencies: + ms: "npm:2.1.2" + peerDependenciesMeta: + supports-color: + optional: true + checksum: 10c0/082c375a2bdc4f4469c99f325ff458adad62a3fc2c482d59923c260cb08152f34e2659f72b3767db8bb2f21ca81a60a42d1019605a412132d7b9f59363a005cc + languageName: node + linkType: hard + +"deep-is@npm:^0.1.3": + version: 0.1.4 + resolution: "deep-is@npm:0.1.4" + checksum: 10c0/7f0ee496e0dff14a573dc6127f14c95061b448b87b995fc96c017ce0a1e66af1675e73f1d6064407975bc4ea6ab679497a29fff7b5b9c4e99cb10797c1ad0b4c + languageName: node + linkType: hard + +"default-browser-id@npm:^5.0.0": + version: 5.0.0 + resolution: "default-browser-id@npm:5.0.0" + checksum: 10c0/957fb886502594c8e645e812dfe93dba30ed82e8460d20ce39c53c5b0f3e2afb6ceaec2249083b90bdfbb4cb0f34e1f73fde3d68cac00becdbcfd894156b5ead + languageName: node + linkType: hard + +"default-browser@npm:^5.2.1": + version: 5.2.1 + resolution: "default-browser@npm:5.2.1" + dependencies: + bundle-name: "npm:^4.1.0" + default-browser-id: "npm:^5.0.0" + checksum: 10c0/73f17dc3c58026c55bb5538749597db31f9561c0193cd98604144b704a981c95a466f8ecc3c2db63d8bfd04fb0d426904834cfc91ae510c6aeb97e13c5167c4d + languageName: node + linkType: hard + +"define-lazy-prop@npm:^3.0.0": + version: 3.0.0 + resolution: "define-lazy-prop@npm:3.0.0" + checksum: 10c0/5ab0b2bf3fa58b3a443140bbd4cd3db1f91b985cc8a246d330b9ac3fc0b6a325a6d82bddc0b055123d745b3f9931afeea74a5ec545439a1630b9c8512b0eeb49 + languageName: node + linkType: hard + +"dir-glob@npm:^3.0.1": + version: 3.0.1 + resolution: "dir-glob@npm:3.0.1" + dependencies: + path-type: "npm:^4.0.0" + checksum: 10c0/dcac00920a4d503e38bb64001acb19df4efc14536ada475725e12f52c16777afdee4db827f55f13a908ee7efc0cb282e2e3dbaeeb98c0993dd93d1802d3bf00c + languageName: node + linkType: hard + +"eastasianwidth@npm:^0.2.0": + version: 0.2.0 + resolution: "eastasianwidth@npm:0.2.0" + checksum: 10c0/26f364ebcdb6395f95124fda411f63137a4bfb5d3a06453f7f23dfe52502905bd84e0488172e0f9ec295fdc45f05c23d5d91baf16bd26f0fe9acd777a188dc39 + languageName: node + linkType: hard + +"electron-to-chromium@npm:^1.4.820": + version: 1.4.828 + resolution: "electron-to-chromium@npm:1.4.828" + checksum: 10c0/3c9d101379c952d2ebe62941ba91cd7806ff47d0fc957e3e38c89bf6a3b4a6bbe1e7cf38017144ac28dc4856fe202a06371d969a041a746763ed6a88a2b4fb18 + languageName: node + linkType: hard + +"emoji-regex@npm:^8.0.0": + version: 8.0.0 + resolution: "emoji-regex@npm:8.0.0" + checksum: 10c0/b6053ad39951c4cf338f9092d7bfba448cdfd46fe6a2a034700b149ac9ffbc137e361cbd3c442297f86bed2e5f7576c1b54cc0a6bf8ef5106cc62f496af35010 + languageName: node + linkType: hard + +"emoji-regex@npm:^9.2.2": + version: 9.2.2 + resolution: "emoji-regex@npm:9.2.2" + checksum: 10c0/af014e759a72064cf66e6e694a7fc6b0ed3d8db680427b021a89727689671cefe9d04151b2cad51dbaf85d5ba790d061cd167f1cf32eb7b281f6368b3c181639 + languageName: node + linkType: hard + +"encoding@npm:^0.1.13": + version: 0.1.13 + resolution: "encoding@npm:0.1.13" + dependencies: + iconv-lite: "npm:^0.6.2" + checksum: 10c0/36d938712ff00fe1f4bac88b43bcffb5930c1efa57bbcdca9d67e1d9d6c57cfb1200fb01efe0f3109b2ce99b231f90779532814a81370a1bd3274a0f58585039 + languageName: node + linkType: hard + +"entities@npm:^4.5.0": + version: 4.5.0 + resolution: "entities@npm:4.5.0" + checksum: 10c0/5b039739f7621f5d1ad996715e53d964035f75ad3b9a4d38c6b3804bb226e282ffeae2443624d8fdd9c47d8e926ae9ac009c54671243f0c3294c26af7cc85250 + languageName: node + linkType: hard + +"env-paths@npm:^2.2.0, env-paths@npm:^2.2.1": + version: 2.2.1 + resolution: "env-paths@npm:2.2.1" + checksum: 10c0/285325677bf00e30845e330eec32894f5105529db97496ee3f598478e50f008c5352a41a30e5e72ec9de8a542b5a570b85699cd63bd2bc646dbcb9f311d83bc4 + languageName: node + linkType: hard + +"err-code@npm:^2.0.2": + version: 2.0.3 + resolution: "err-code@npm:2.0.3" + checksum: 10c0/b642f7b4dd4a376e954947550a3065a9ece6733ab8e51ad80db727aaae0817c2e99b02a97a3d6cecc648a97848305e728289cf312d09af395403a90c9d4d8a66 + languageName: node + linkType: hard + +"error-ex@npm:^1.3.1": + version: 1.3.2 + resolution: "error-ex@npm:1.3.2" + dependencies: + is-arrayish: "npm:^0.2.1" + checksum: 10c0/ba827f89369b4c93382cfca5a264d059dfefdaa56ecc5e338ffa58a6471f5ed93b71a20add1d52290a4873d92381174382658c885ac1a2305f7baca363ce9cce + languageName: node + linkType: hard + +"error-stack-parser-es@npm:^0.1.1": + version: 0.1.4 + resolution: "error-stack-parser-es@npm:0.1.4" + checksum: 10c0/52e36d7c2a1acc34e99de20eaf6bd48a9b89a01481534bd866334a69ecb65e514401b6ffa753d82069d8bf2ae4d8903f92eaaf747cdec57034900fcaa2a5e3de + languageName: node + linkType: hard + +"esbuild@npm:^0.21.3": + version: 0.21.5 + resolution: "esbuild@npm:0.21.5" + dependencies: + "@esbuild/aix-ppc64": "npm:0.21.5" + "@esbuild/android-arm": "npm:0.21.5" + "@esbuild/android-arm64": "npm:0.21.5" + "@esbuild/android-x64": "npm:0.21.5" + "@esbuild/darwin-arm64": "npm:0.21.5" + "@esbuild/darwin-x64": "npm:0.21.5" + "@esbuild/freebsd-arm64": "npm:0.21.5" + "@esbuild/freebsd-x64": "npm:0.21.5" + "@esbuild/linux-arm": "npm:0.21.5" + "@esbuild/linux-arm64": "npm:0.21.5" + "@esbuild/linux-ia32": "npm:0.21.5" + "@esbuild/linux-loong64": "npm:0.21.5" + "@esbuild/linux-mips64el": "npm:0.21.5" + "@esbuild/linux-ppc64": "npm:0.21.5" + "@esbuild/linux-riscv64": "npm:0.21.5" + "@esbuild/linux-s390x": "npm:0.21.5" + "@esbuild/linux-x64": "npm:0.21.5" + "@esbuild/netbsd-x64": "npm:0.21.5" + "@esbuild/openbsd-x64": "npm:0.21.5" + "@esbuild/sunos-x64": "npm:0.21.5" + "@esbuild/win32-arm64": "npm:0.21.5" + "@esbuild/win32-ia32": "npm:0.21.5" + "@esbuild/win32-x64": "npm:0.21.5" + dependenciesMeta: + "@esbuild/aix-ppc64": + optional: true + "@esbuild/android-arm": + optional: true + "@esbuild/android-arm64": + optional: true + "@esbuild/android-x64": + optional: true + "@esbuild/darwin-arm64": + optional: true + "@esbuild/darwin-x64": + optional: true + "@esbuild/freebsd-arm64": + optional: true + "@esbuild/freebsd-x64": + optional: true + "@esbuild/linux-arm": + optional: true + "@esbuild/linux-arm64": + optional: true + "@esbuild/linux-ia32": + optional: true + "@esbuild/linux-loong64": + optional: true + "@esbuild/linux-mips64el": + optional: true + "@esbuild/linux-ppc64": + optional: true + "@esbuild/linux-riscv64": + optional: true + "@esbuild/linux-s390x": + optional: true + "@esbuild/linux-x64": + optional: true + "@esbuild/netbsd-x64": + optional: true + "@esbuild/openbsd-x64": + optional: true + "@esbuild/sunos-x64": + optional: true + "@esbuild/win32-arm64": + optional: true + "@esbuild/win32-ia32": + optional: true + "@esbuild/win32-x64": + optional: true + bin: + esbuild: bin/esbuild + checksum: 10c0/fa08508adf683c3f399e8a014a6382a6b65542213431e26206c0720e536b31c09b50798747c2a105a4bbba1d9767b8d3615a74c2f7bf1ddf6d836cd11eb672de + languageName: node + linkType: hard + +"escalade@npm:^3.1.2": + version: 3.1.2 + resolution: "escalade@npm:3.1.2" + checksum: 10c0/6b4adafecd0682f3aa1cd1106b8fff30e492c7015b178bc81b2d2f75106dabea6c6d6e8508fc491bd58e597c74abb0e8e2368f943ecb9393d4162e3c2f3cf287 + languageName: node + linkType: hard + +"escape-string-regexp@npm:^1.0.5": + version: 1.0.5 + resolution: "escape-string-regexp@npm:1.0.5" + checksum: 10c0/a968ad453dd0c2724e14a4f20e177aaf32bb384ab41b674a8454afe9a41c5e6fe8903323e0a1052f56289d04bd600f81278edf140b0fcc02f5cac98d0f5b5371 + languageName: node + linkType: hard + +"escape-string-regexp@npm:^4.0.0": + version: 4.0.0 + resolution: "escape-string-regexp@npm:4.0.0" + checksum: 10c0/9497d4dd307d845bd7f75180d8188bb17ea8c151c1edbf6b6717c100e104d629dc2dfb687686181b0f4b7d732c7dfdc4d5e7a8ff72de1b0ca283a75bbb3a9cd9 + languageName: node + linkType: hard + +"eslint-plugin-vue@npm:9.27.0": + version: 9.27.0 + resolution: "eslint-plugin-vue@npm:9.27.0" + dependencies: + "@eslint-community/eslint-utils": "npm:^4.4.0" + globals: "npm:^13.24.0" + natural-compare: "npm:^1.4.0" + nth-check: "npm:^2.1.1" + postcss-selector-parser: "npm:^6.0.15" + semver: "npm:^7.6.0" + vue-eslint-parser: "npm:^9.4.3" + xml-name-validator: "npm:^4.0.0" + peerDependencies: + eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 || ^9.0.0 + checksum: 10c0/a99f8f0f9363cdb931816958bee9787236774d3e1b76c49e4207fefa4d0ebd34dcc29b3fe7ceaf1e36d2c505a6a339fdce54bd1466007f32c1eb4da1814db903 + languageName: node + linkType: hard + +"eslint-scope@npm:^7.1.1": + version: 7.2.2 + resolution: "eslint-scope@npm:7.2.2" + dependencies: + esrecurse: "npm:^4.3.0" + estraverse: "npm:^5.2.0" + checksum: 10c0/613c267aea34b5a6d6c00514e8545ef1f1433108097e857225fed40d397dd6b1809dffd11c2fde23b37ca53d7bf935fe04d2a18e6fc932b31837b6ad67e1c116 + languageName: node + linkType: hard + +"eslint-scope@npm:^8.0.2": + version: 8.0.2 + resolution: "eslint-scope@npm:8.0.2" + dependencies: + esrecurse: "npm:^4.3.0" + estraverse: "npm:^5.2.0" + checksum: 10c0/477f820647c8755229da913025b4567347fd1f0bf7cbdf3a256efff26a7e2e130433df052bd9e3d014025423dc00489bea47eb341002b15553673379c1a7dc36 + languageName: node + linkType: hard + +"eslint-visitor-keys@npm:^3.3.0, eslint-visitor-keys@npm:^3.4.1, eslint-visitor-keys@npm:^3.4.3": + version: 3.4.3 + resolution: "eslint-visitor-keys@npm:3.4.3" + checksum: 10c0/92708e882c0a5ffd88c23c0b404ac1628cf20104a108c745f240a13c332a11aac54f49a22d5762efbffc18ecbc9a580d1b7ad034bf5f3cc3307e5cbff2ec9820 + languageName: node + linkType: hard + +"eslint-visitor-keys@npm:^4.0.0": + version: 4.0.0 + resolution: "eslint-visitor-keys@npm:4.0.0" + checksum: 10c0/76619f42cf162705a1515a6868e6fc7567e185c7063a05621a8ac4c3b850d022661262c21d9f1fc1d144ecf0d5d64d70a3f43c15c3fc969a61ace0fb25698cf5 + languageName: node + linkType: hard + +"eslint@npm:9.7.0": + version: 9.7.0 + resolution: "eslint@npm:9.7.0" + dependencies: + "@eslint-community/eslint-utils": "npm:^4.2.0" + "@eslint-community/regexpp": "npm:^4.11.0" + "@eslint/config-array": "npm:^0.17.0" + "@eslint/eslintrc": "npm:^3.1.0" + "@eslint/js": "npm:9.7.0" + "@humanwhocodes/module-importer": "npm:^1.0.1" + "@humanwhocodes/retry": "npm:^0.3.0" + "@nodelib/fs.walk": "npm:^1.2.8" + ajv: "npm:^6.12.4" + chalk: "npm:^4.0.0" + cross-spawn: "npm:^7.0.2" + debug: "npm:^4.3.2" + escape-string-regexp: "npm:^4.0.0" + eslint-scope: "npm:^8.0.2" + eslint-visitor-keys: "npm:^4.0.0" + espree: "npm:^10.1.0" + esquery: "npm:^1.5.0" + esutils: "npm:^2.0.2" + fast-deep-equal: "npm:^3.1.3" + file-entry-cache: "npm:^8.0.0" + find-up: "npm:^5.0.0" + glob-parent: "npm:^6.0.2" + ignore: "npm:^5.2.0" + imurmurhash: "npm:^0.1.4" + is-glob: "npm:^4.0.0" + is-path-inside: "npm:^3.0.3" + json-stable-stringify-without-jsonify: "npm:^1.0.1" + levn: "npm:^0.4.1" + lodash.merge: "npm:^4.6.2" + minimatch: "npm:^3.1.2" + natural-compare: "npm:^1.4.0" + optionator: "npm:^0.9.3" + strip-ansi: "npm:^6.0.1" + text-table: "npm:^0.2.0" + bin: + eslint: bin/eslint.js + checksum: 10c0/e2369a9534404f62f37ee5560e56fb84e0776a9c8f084550170017992772e7034d73571bdf4060e2fe9b836f136d45b07d50407d4b9361de720ee77794259274 + languageName: node + linkType: hard + +"espree@npm:^10.0.1, espree@npm:^10.1.0": + version: 10.1.0 + resolution: "espree@npm:10.1.0" + dependencies: + acorn: "npm:^8.12.0" + acorn-jsx: "npm:^5.3.2" + eslint-visitor-keys: "npm:^4.0.0" + checksum: 10c0/52e6feaa77a31a6038f0c0e3fce93010a4625701925b0715cd54a2ae190b3275053a0717db698697b32653788ac04845e489d6773b508d6c2e8752f3c57470a0 + languageName: node + linkType: hard + +"espree@npm:^9.3.1": + version: 9.6.1 + resolution: "espree@npm:9.6.1" + dependencies: + acorn: "npm:^8.9.0" + acorn-jsx: "npm:^5.3.2" + eslint-visitor-keys: "npm:^3.4.1" + checksum: 10c0/1a2e9b4699b715347f62330bcc76aee224390c28bb02b31a3752e9d07549c473f5f986720483c6469cf3cfb3c9d05df612ffc69eb1ee94b54b739e67de9bb460 + languageName: node + linkType: hard + +"esquery@npm:^1.4.0, esquery@npm:^1.5.0": + version: 1.6.0 + resolution: "esquery@npm:1.6.0" + dependencies: + estraverse: "npm:^5.1.0" + checksum: 10c0/cb9065ec605f9da7a76ca6dadb0619dfb611e37a81e318732977d90fab50a256b95fee2d925fba7c2f3f0523aa16f91587246693bc09bc34d5a59575fe6e93d2 + languageName: node + linkType: hard + +"esrecurse@npm:^4.3.0": + version: 4.3.0 + resolution: "esrecurse@npm:4.3.0" + dependencies: + estraverse: "npm:^5.2.0" + checksum: 10c0/81a37116d1408ded88ada45b9fb16dbd26fba3aadc369ce50fcaf82a0bac12772ebd7b24cd7b91fc66786bf2c1ac7b5f196bc990a473efff972f5cb338877cf5 + languageName: node + linkType: hard + +"estraverse@npm:^5.1.0, estraverse@npm:^5.2.0": + version: 5.3.0 + resolution: "estraverse@npm:5.3.0" + checksum: 10c0/1ff9447b96263dec95d6d67431c5e0771eb9776427421260a3e2f0fdd5d6bd4f8e37a7338f5ad2880c9f143450c9b1e4fc2069060724570a49cf9cf0312bd107 + languageName: node + linkType: hard + +"estree-walker@npm:^2.0.2": + version: 2.0.2 + resolution: "estree-walker@npm:2.0.2" + checksum: 10c0/53a6c54e2019b8c914dc395890153ffdc2322781acf4bd7d1a32d7aedc1710807bdcd866ac133903d5629ec601fbb50abe8c2e5553c7f5a0afdd9b6af6c945af + languageName: node + linkType: hard + +"esutils@npm:^2.0.2": + version: 2.0.3 + resolution: "esutils@npm:2.0.3" + checksum: 10c0/9a2fe69a41bfdade834ba7c42de4723c97ec776e40656919c62cbd13607c45e127a003f05f724a1ea55e5029a4cf2de444b13009f2af71271e42d93a637137c7 + languageName: node + linkType: hard + +"execa@npm:^8.0.1": + version: 8.0.1 + resolution: "execa@npm:8.0.1" + dependencies: + cross-spawn: "npm:^7.0.3" + get-stream: "npm:^8.0.1" + human-signals: "npm:^5.0.0" + is-stream: "npm:^3.0.0" + merge-stream: "npm:^2.0.0" + npm-run-path: "npm:^5.1.0" + onetime: "npm:^6.0.0" + signal-exit: "npm:^4.1.0" + strip-final-newline: "npm:^3.0.0" + checksum: 10c0/2c52d8775f5bf103ce8eec9c7ab3059909ba350a5164744e9947ed14a53f51687c040a250bda833f906d1283aa8803975b84e6c8f7a7c42f99dc8ef80250d1af + languageName: node + linkType: hard + +"exponential-backoff@npm:^3.1.1": + version: 3.1.1 + resolution: "exponential-backoff@npm:3.1.1" + checksum: 10c0/160456d2d647e6019640bd07111634d8c353038d9fa40176afb7cd49b0548bdae83b56d05e907c2cce2300b81cae35d800ef92fefb9d0208e190fa3b7d6bb579 + languageName: node + linkType: hard + +"fast-deep-equal@npm:^3.1.1, fast-deep-equal@npm:^3.1.3": + version: 3.1.3 + resolution: "fast-deep-equal@npm:3.1.3" + checksum: 10c0/40dedc862eb8992c54579c66d914635afbec43350afbbe991235fdcb4e3a8d5af1b23ae7e79bef7d4882d0ecee06c3197488026998fb19f72dc95acff1d1b1d0 + languageName: node + linkType: hard + +"fast-glob@npm:^3.2.9, fast-glob@npm:^3.3.2": + version: 3.3.2 + resolution: "fast-glob@npm:3.3.2" + dependencies: + "@nodelib/fs.stat": "npm:^2.0.2" + "@nodelib/fs.walk": "npm:^1.2.3" + glob-parent: "npm:^5.1.2" + merge2: "npm:^1.3.0" + micromatch: "npm:^4.0.4" + checksum: 10c0/42baad7b9cd40b63e42039132bde27ca2cb3a4950d0a0f9abe4639ea1aa9d3e3b40f98b1fe31cbc0cc17b664c9ea7447d911a152fa34ec5b72977b125a6fc845 + languageName: node + linkType: hard + +"fast-json-stable-stringify@npm:^2.0.0": + version: 2.1.0 + resolution: "fast-json-stable-stringify@npm:2.1.0" + checksum: 10c0/7f081eb0b8a64e0057b3bb03f974b3ef00135fbf36c1c710895cd9300f13c94ba809bb3a81cf4e1b03f6e5285610a61abbd7602d0652de423144dfee5a389c9b + languageName: node + linkType: hard + +"fast-levenshtein@npm:^2.0.6": + version: 2.0.6 + resolution: "fast-levenshtein@npm:2.0.6" + checksum: 10c0/111972b37338bcb88f7d9e2c5907862c280ebf4234433b95bc611e518d192ccb2d38119c4ac86e26b668d75f7f3894f4ff5c4982899afced7ca78633b08287c4 + languageName: node + linkType: hard + +"fast-uri@npm:^3.0.1": + version: 3.0.1 + resolution: "fast-uri@npm:3.0.1" + checksum: 10c0/3cd46d6006083b14ca61ffe9a05b8eef75ef87e9574b6f68f2e17ecf4daa7aaadeff44e3f0f7a0ef4e0f7e7c20fc07beec49ff14dc72d0b500f00386592f2d10 + languageName: node + linkType: hard + +"fastest-levenshtein@npm:^1.0.16": + version: 1.0.16 + resolution: "fastest-levenshtein@npm:1.0.16" + checksum: 10c0/7e3d8ae812a7f4fdf8cad18e9cde436a39addf266a5986f653ea0d81e0de0900f50c0f27c6d5aff3f686bcb48acbd45be115ae2216f36a6a13a7dbbf5cad878b + languageName: node + linkType: hard + +"fastq@npm:^1.6.0": + version: 1.17.1 + resolution: "fastq@npm:1.17.1" + dependencies: + reusify: "npm:^1.0.4" + checksum: 10c0/1095f16cea45fb3beff558bb3afa74ca7a9250f5a670b65db7ed585f92b4b48381445cd328b3d87323da81e43232b5d5978a8201bde84e0cd514310f1ea6da34 + languageName: node + linkType: hard + +"file-entry-cache@npm:^8.0.0": + version: 8.0.0 + resolution: "file-entry-cache@npm:8.0.0" + dependencies: + flat-cache: "npm:^4.0.0" + checksum: 10c0/9e2b5938b1cd9b6d7e3612bdc533afd4ac17b2fc646569e9a8abbf2eb48e5eb8e316bc38815a3ef6a1b456f4107f0d0f055a614ca613e75db6bf9ff4d72c1638 + languageName: node + linkType: hard + +"file-entry-cache@npm:^9.0.0": + version: 9.0.0 + resolution: "file-entry-cache@npm:9.0.0" + dependencies: + flat-cache: "npm:^5.0.0" + checksum: 10c0/07b0a4f062dc0aa258f3e1b06ac083ea25313f5e289943e146fafdaf3315dcc031635545eea7fe98fe5598b91d6c7f48dba7a251dd7ac20108a6ebf7d00b0b1c + languageName: node + linkType: hard + +"fill-range@npm:^7.1.1": + version: 7.1.1 + resolution: "fill-range@npm:7.1.1" + dependencies: + to-regex-range: "npm:^5.0.1" + checksum: 10c0/b75b691bbe065472f38824f694c2f7449d7f5004aa950426a2c28f0306c60db9b880c0b0e4ed819997ffb882d1da02cfcfc819bddc94d71627f5269682edf018 + languageName: node + linkType: hard + +"find-up@npm:^5.0.0": + version: 5.0.0 + resolution: "find-up@npm:5.0.0" + dependencies: + locate-path: "npm:^6.0.0" + path-exists: "npm:^4.0.0" + checksum: 10c0/062c5a83a9c02f53cdd6d175a37ecf8f87ea5bbff1fdfb828f04bfa021441bc7583e8ebc0872a4c1baab96221fb8a8a275a19809fb93fbc40bd69ec35634069a + languageName: node + linkType: hard + +"flat-cache@npm:^4.0.0": + version: 4.0.1 + resolution: "flat-cache@npm:4.0.1" + dependencies: + flatted: "npm:^3.2.9" + keyv: "npm:^4.5.4" + checksum: 10c0/2c59d93e9faa2523e4fda6b4ada749bed432cfa28c8e251f33b25795e426a1c6dbada777afb1f74fcfff33934fdbdea921ee738fcc33e71adc9d6eca984a1cfc + languageName: node + linkType: hard + +"flat-cache@npm:^5.0.0": + version: 5.0.0 + resolution: "flat-cache@npm:5.0.0" + dependencies: + flatted: "npm:^3.3.1" + keyv: "npm:^4.5.4" + checksum: 10c0/847f25eefec5d6614fdce76dc6097ee98f63fd4dfbcb908718905ac56610f939f4c28b1f908d6e8857d49286fe73235095d2e7ac9df096c35a3e8a15204c361b + languageName: node + linkType: hard + +"flatted@npm:^3.2.9, flatted@npm:^3.3.1": + version: 3.3.1 + resolution: "flatted@npm:3.3.1" + checksum: 10c0/324166b125ee07d4ca9bcf3a5f98d915d5db4f39d711fba640a3178b959919aae1f7cfd8aabcfef5826ed8aa8a2aa14cc85b2d7d18ff638ddf4ae3df39573eaf + languageName: node + linkType: hard + +"foreground-child@npm:^3.1.0": + version: 3.2.1 + resolution: "foreground-child@npm:3.2.1" + dependencies: + cross-spawn: "npm:^7.0.0" + signal-exit: "npm:^4.0.1" + checksum: 10c0/9a53a33dbd87090e9576bef65fb4a71de60f6863a8062a7b11bc1cbe3cc86d428677d7c0b9ef61cdac11007ac580006f78bd5638618d564cfd5e6fd713d6878f + languageName: node + linkType: hard + +"fs-extra@npm:^11.2.0": + version: 11.2.0 + resolution: "fs-extra@npm:11.2.0" + dependencies: + graceful-fs: "npm:^4.2.0" + jsonfile: "npm:^6.0.1" + universalify: "npm:^2.0.0" + checksum: 10c0/d77a9a9efe60532d2e790e938c81a02c1b24904ef7a3efb3990b835514465ba720e99a6ea56fd5e2db53b4695319b644d76d5a0e9988a2beef80aa7b1da63398 + languageName: node + linkType: hard + +"fs-minipass@npm:^2.0.0": + version: 2.1.0 + resolution: "fs-minipass@npm:2.1.0" + dependencies: + minipass: "npm:^3.0.0" + checksum: 10c0/703d16522b8282d7299337539c3ed6edddd1afe82435e4f5b76e34a79cd74e488a8a0e26a636afc2440e1a23b03878e2122e3a2cfe375a5cf63c37d92b86a004 + languageName: node + linkType: hard + +"fs-minipass@npm:^3.0.0": + version: 3.0.3 + resolution: "fs-minipass@npm:3.0.3" + dependencies: + minipass: "npm:^7.0.3" + checksum: 10c0/63e80da2ff9b621e2cb1596abcb9207f1cf82b968b116ccd7b959e3323144cce7fb141462200971c38bbf2ecca51695069db45265705bed09a7cd93ae5b89f94 + languageName: node + linkType: hard + +"fsevents@npm:~2.3.2, fsevents@npm:~2.3.3": + version: 2.3.3 + resolution: "fsevents@npm:2.3.3" + dependencies: + node-gyp: "npm:latest" + checksum: 10c0/a1f0c44595123ed717febbc478aa952e47adfc28e2092be66b8ab1635147254ca6cfe1df792a8997f22716d4cbafc73309899ff7bfac2ac3ad8cf2e4ecc3ec60 + conditions: os=darwin + languageName: node + linkType: hard + +"fsevents@patch:fsevents@npm%3A~2.3.2#optional!builtin, fsevents@patch:fsevents@npm%3A~2.3.3#optional!builtin": + version: 2.3.3 + resolution: "fsevents@patch:fsevents@npm%3A2.3.3#optional!builtin::version=2.3.3&hash=df0bf1" + dependencies: + node-gyp: "npm:latest" + conditions: os=darwin + languageName: node + linkType: hard + +"gensync@npm:^1.0.0-beta.2": + version: 1.0.0-beta.2 + resolution: "gensync@npm:1.0.0-beta.2" + checksum: 10c0/782aba6cba65b1bb5af3b095d96249d20edbe8df32dbf4696fd49be2583faf676173bf4809386588828e4dd76a3354fcbeb577bab1c833ccd9fc4577f26103f8 + languageName: node + linkType: hard + +"get-stream@npm:^8.0.1": + version: 8.0.1 + resolution: "get-stream@npm:8.0.1" + checksum: 10c0/5c2181e98202b9dae0bb4a849979291043e5892eb40312b47f0c22b9414fc9b28a3b6063d2375705eb24abc41ecf97894d9a51f64ff021511b504477b27b4290 + languageName: node + linkType: hard + +"glob-parent@npm:^5.1.2, glob-parent@npm:~5.1.2": + version: 5.1.2 + resolution: "glob-parent@npm:5.1.2" + dependencies: + is-glob: "npm:^4.0.1" + checksum: 10c0/cab87638e2112bee3f839ef5f6e0765057163d39c66be8ec1602f3823da4692297ad4e972de876ea17c44d652978638d2fd583c6713d0eb6591706825020c9ee + languageName: node + linkType: hard + +"glob-parent@npm:^6.0.2": + version: 6.0.2 + resolution: "glob-parent@npm:6.0.2" + dependencies: + is-glob: "npm:^4.0.3" + checksum: 10c0/317034d88654730230b3f43bb7ad4f7c90257a426e872ea0bf157473ac61c99bf5d205fad8f0185f989be8d2fa6d3c7dce1645d99d545b6ea9089c39f838e7f8 + languageName: node + linkType: hard + +"glob@npm:^10.2.2, glob@npm:^10.3.10": + version: 10.4.5 + resolution: "glob@npm:10.4.5" + dependencies: + foreground-child: "npm:^3.1.0" + jackspeak: "npm:^3.1.2" + minimatch: "npm:^9.0.4" + minipass: "npm:^7.1.2" + package-json-from-dist: "npm:^1.0.0" + path-scurry: "npm:^1.11.1" + bin: + glob: dist/esm/bin.mjs + checksum: 10c0/19a9759ea77b8e3ca0a43c2f07ecddc2ad46216b786bb8f993c445aee80d345925a21e5280c7b7c6c59e860a0154b84e4b2b60321fea92cd3c56b4a7489f160e + languageName: node + linkType: hard + +"global-modules@npm:^2.0.0": + version: 2.0.0 + resolution: "global-modules@npm:2.0.0" + dependencies: + global-prefix: "npm:^3.0.0" + checksum: 10c0/43b770fe24aa6028f4b9770ea583a47f39750be15cf6e2578f851e4ccc9e4fa674b8541928c0b09c21461ca0763f0d36e4068cec86c914b07fd6e388e66ba5b9 + languageName: node + linkType: hard + +"global-prefix@npm:^3.0.0": + version: 3.0.0 + resolution: "global-prefix@npm:3.0.0" + dependencies: + ini: "npm:^1.3.5" + kind-of: "npm:^6.0.2" + which: "npm:^1.3.1" + checksum: 10c0/510f489fb68d1cc7060f276541709a0ee6d41356ef852de48f7906c648ac223082a1cc8fce86725ca6c0e032bcdc1189ae77b4744a624b29c34a9d0ece498269 + languageName: node + linkType: hard + +"globals@npm:15.8.0": + version: 15.8.0 + resolution: "globals@npm:15.8.0" + checksum: 10c0/b96ec86e1244806920a80a1a7c4d64b68c55336887cfa1b52886927e0f9035133e4acd354fcda63b49e53df2089c41a11dd2b02281a6439a58cbc0d63ae083cb + languageName: node + linkType: hard + +"globals@npm:^11.1.0": + version: 11.12.0 + resolution: "globals@npm:11.12.0" + checksum: 10c0/758f9f258e7b19226bd8d4af5d3b0dcf7038780fb23d82e6f98932c44e239f884847f1766e8fa9cc5635ccb3204f7fa7314d4408dd4002a5e8ea827b4018f0a1 + languageName: node + linkType: hard + +"globals@npm:^13.24.0": + version: 13.24.0 + resolution: "globals@npm:13.24.0" + dependencies: + type-fest: "npm:^0.20.2" + checksum: 10c0/d3c11aeea898eb83d5ec7a99508600fbe8f83d2cf00cbb77f873dbf2bcb39428eff1b538e4915c993d8a3b3473fa71eeebfe22c9bb3a3003d1e26b1f2c8a42cd + languageName: node + linkType: hard + +"globals@npm:^14.0.0": + version: 14.0.0 + resolution: "globals@npm:14.0.0" + checksum: 10c0/b96ff42620c9231ad468d4c58ff42afee7777ee1c963013ff8aabe095a451d0ceeb8dcd8ef4cbd64d2538cef45f787a78ba3a9574f4a634438963e334471302d + languageName: node + linkType: hard + +"globby@npm:^11.0.4, globby@npm:^11.1.0": + version: 11.1.0 + resolution: "globby@npm:11.1.0" + dependencies: + array-union: "npm:^2.1.0" + dir-glob: "npm:^3.0.1" + fast-glob: "npm:^3.2.9" + ignore: "npm:^5.2.0" + merge2: "npm:^1.4.1" + slash: "npm:^3.0.0" + checksum: 10c0/b39511b4afe4bd8a7aead3a27c4ade2b9968649abab0a6c28b1a90141b96ca68ca5db1302f7c7bd29eab66bf51e13916b8e0a3d0ac08f75e1e84a39b35691189 + languageName: node + linkType: hard + +"globjoin@npm:^0.1.4": + version: 0.1.4 + resolution: "globjoin@npm:0.1.4" + checksum: 10c0/236e991b48f1a9869fe2aa7bb5141fb1f32973940567a3c012f8ccb58c3c85ab78ce594d374fa819410fff3b48cfd24584d7ef726939f8a3c3772890e62ea16b + languageName: node + linkType: hard + +"graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.6": + version: 4.2.11 + resolution: "graceful-fs@npm:4.2.11" + checksum: 10c0/386d011a553e02bc594ac2ca0bd6d9e4c22d7fa8cfbfc448a6d148c59ea881b092db9dbe3547ae4b88e55f1b01f7c4a2ecc53b310c042793e63aa44cf6c257f2 + languageName: node + linkType: hard + +"graphemer@npm:^1.4.0": + version: 1.4.0 + resolution: "graphemer@npm:1.4.0" + checksum: 10c0/e951259d8cd2e0d196c72ec711add7115d42eb9a8146c8eeda5b8d3ac91e5dd816b9cd68920726d9fd4490368e7ed86e9c423f40db87e2d8dfafa00fa17c3a31 + languageName: node + linkType: hard + +"has-flag@npm:^3.0.0": + version: 3.0.0 + resolution: "has-flag@npm:3.0.0" + checksum: 10c0/1c6c83b14b8b1b3c25b0727b8ba3e3b647f99e9e6e13eb7322107261de07a4c1be56fc0d45678fc376e09772a3a1642ccdaf8fc69bdf123b6c086598397ce473 + languageName: node + linkType: hard + +"has-flag@npm:^4.0.0": + version: 4.0.0 + resolution: "has-flag@npm:4.0.0" + checksum: 10c0/2e789c61b7888d66993e14e8331449e525ef42aac53c627cc53d1c3334e768bcb6abdc4f5f0de1478a25beec6f0bd62c7549058b7ac53e924040d4f301f02fd1 + languageName: node + linkType: hard + +"hookable@npm:^5.5.3": + version: 5.5.3 + resolution: "hookable@npm:5.5.3" + checksum: 10c0/275f4cc84d27f8d48c5a5cd5685b6c0fea9291be9deea5bff0cfa72856ed566abde1dcd8cb1da0f9a70b4da3d7ec0d60dc3554c4edbba647058cc38816eced3d + languageName: node + linkType: hard + +"html-tags@npm:^3.3.1": + version: 3.3.1 + resolution: "html-tags@npm:3.3.1" + checksum: 10c0/680165e12baa51bad7397452d247dbcc5a5c29dac0e6754b1187eee3bf26f514bc1907a431dd2f7eb56207611ae595ee76a0acc8eaa0d931e72c791dd6463d79 + languageName: node + linkType: hard + +"http-cache-semantics@npm:^4.1.1": + version: 4.1.1 + resolution: "http-cache-semantics@npm:4.1.1" + checksum: 10c0/ce1319b8a382eb3cbb4a37c19f6bfe14e5bb5be3d09079e885e8c513ab2d3cd9214902f8a31c9dc4e37022633ceabfc2d697405deeaf1b8f3552bb4ed996fdfc + languageName: node + linkType: hard + +"http-proxy-agent@npm:^7.0.0": + version: 7.0.2 + resolution: "http-proxy-agent@npm:7.0.2" + dependencies: + agent-base: "npm:^7.1.0" + debug: "npm:^4.3.4" + checksum: 10c0/4207b06a4580fb85dd6dff521f0abf6db517489e70863dca1a0291daa7f2d3d2d6015a57bd702af068ea5cf9f1f6ff72314f5f5b4228d299c0904135d2aef921 + languageName: node + linkType: hard + +"https-proxy-agent@npm:^7.0.1": + version: 7.0.5 + resolution: "https-proxy-agent@npm:7.0.5" + dependencies: + agent-base: "npm:^7.0.2" + debug: "npm:4" + checksum: 10c0/2490e3acec397abeb88807db52cac59102d5ed758feee6df6112ab3ccd8325e8a1ce8bce6f4b66e5470eca102d31e425ace904242e4fa28dbe0c59c4bafa7b2c + languageName: node + linkType: hard + +"human-signals@npm:^5.0.0": + version: 5.0.0 + resolution: "human-signals@npm:5.0.0" + checksum: 10c0/5a9359073fe17a8b58e5a085e9a39a950366d9f00217c4ff5878bd312e09d80f460536ea6a3f260b5943a01fe55c158d1cea3fc7bee3d0520aeef04f6d915c82 + languageName: node + linkType: hard + +"iconv-lite@npm:^0.6.2": + version: 0.6.3 + resolution: "iconv-lite@npm:0.6.3" + dependencies: + safer-buffer: "npm:>= 2.1.2 < 3.0.0" + checksum: 10c0/98102bc66b33fcf5ac044099d1257ba0b7ad5e3ccd3221f34dd508ab4070edff183276221684e1e0555b145fce0850c9f7d2b60a9fcac50fbb4ea0d6e845a3b1 + languageName: node + linkType: hard + +"ignore@npm:^5.2.0, ignore@npm:^5.3.1": + version: 5.3.1 + resolution: "ignore@npm:5.3.1" + checksum: 10c0/703f7f45ffb2a27fb2c5a8db0c32e7dee66b33a225d28e8db4e1be6474795f606686a6e3bcc50e1aa12f2042db4c9d4a7d60af3250511de74620fbed052ea4cd + languageName: node + linkType: hard + +"immutable@npm:^4.0.0": + version: 4.3.6 + resolution: "immutable@npm:4.3.6" + checksum: 10c0/7d0952a768b4fadcee47230ed86dc9505a4517095eceaf5a47e65288571c42400c6e4a2ae21eca4eda957cb7bc50720213135b62cf6a181639111f8acae128c3 + languageName: node + linkType: hard + +"import-fresh@npm:^3.2.1, import-fresh@npm:^3.3.0": + version: 3.3.0 + resolution: "import-fresh@npm:3.3.0" + dependencies: + parent-module: "npm:^1.0.0" + resolve-from: "npm:^4.0.0" + checksum: 10c0/7f882953aa6b740d1f0e384d0547158bc86efbf2eea0f1483b8900a6f65c5a5123c2cf09b0d542cc419d0b98a759ecaeb394237e97ea427f2da221dc3cd80cc3 + languageName: node + linkType: hard + +"imurmurhash@npm:^0.1.4": + version: 0.1.4 + resolution: "imurmurhash@npm:0.1.4" + checksum: 10c0/8b51313850dd33605c6c9d3fd9638b714f4c4c40250cff658209f30d40da60f78992fb2df5dabee4acf589a6a82bbc79ad5486550754bd9ec4e3fc0d4a57d6a6 + languageName: node + linkType: hard + +"indent-string@npm:^4.0.0": + version: 4.0.0 + resolution: "indent-string@npm:4.0.0" + checksum: 10c0/1e1904ddb0cb3d6cce7cd09e27a90184908b7a5d5c21b92e232c93579d314f0b83c246ffb035493d0504b1e9147ba2c9b21df0030f48673fba0496ecd698161f + languageName: node + linkType: hard + +"ini@npm:^1.3.5": + version: 1.3.8 + resolution: "ini@npm:1.3.8" + checksum: 10c0/ec93838d2328b619532e4f1ff05df7909760b6f66d9c9e2ded11e5c1897d6f2f9980c54dd638f88654b00919ce31e827040631eab0a3969e4d1abefa0719516a + languageName: node + linkType: hard + +"ip-address@npm:^9.0.5": + version: 9.0.5 + resolution: "ip-address@npm:9.0.5" + dependencies: + jsbn: "npm:1.1.0" + sprintf-js: "npm:^1.1.3" + checksum: 10c0/331cd07fafcb3b24100613e4b53e1a2b4feab11e671e655d46dc09ee233da5011284d09ca40c4ecbdfe1d0004f462958675c224a804259f2f78d2465a87824bc + languageName: node + linkType: hard + +"is-arrayish@npm:^0.2.1": + version: 0.2.1 + resolution: "is-arrayish@npm:0.2.1" + checksum: 10c0/e7fb686a739068bb70f860b39b67afc62acc62e36bb61c5f965768abce1873b379c563e61dd2adad96ebb7edf6651111b385e490cf508378959b0ed4cac4e729 + languageName: node + linkType: hard + +"is-binary-path@npm:~2.1.0": + version: 2.1.0 + resolution: "is-binary-path@npm:2.1.0" + dependencies: + binary-extensions: "npm:^2.0.0" + checksum: 10c0/a16eaee59ae2b315ba36fad5c5dcaf8e49c3e27318f8ab8fa3cdb8772bf559c8d1ba750a589c2ccb096113bb64497084361a25960899cb6172a6925ab6123d38 + languageName: node + linkType: hard + +"is-docker@npm:^3.0.0": + version: 3.0.0 + resolution: "is-docker@npm:3.0.0" + bin: + is-docker: cli.js + checksum: 10c0/d2c4f8e6d3e34df75a5defd44991b6068afad4835bb783b902fa12d13ebdb8f41b2a199dcb0b5ed2cb78bfee9e4c0bbdb69c2d9646f4106464674d3e697a5856 + languageName: node + linkType: hard + +"is-extglob@npm:^2.1.1": + version: 2.1.1 + resolution: "is-extglob@npm:2.1.1" + checksum: 10c0/5487da35691fbc339700bbb2730430b07777a3c21b9ebaecb3072512dfd7b4ba78ac2381a87e8d78d20ea08affb3f1971b4af629173a6bf435ff8a4c47747912 + languageName: node + linkType: hard + +"is-fullwidth-code-point@npm:^3.0.0": + version: 3.0.0 + resolution: "is-fullwidth-code-point@npm:3.0.0" + checksum: 10c0/bb11d825e049f38e04c06373a8d72782eee0205bda9d908cc550ccb3c59b99d750ff9537982e01733c1c94a58e35400661f57042158ff5e8f3e90cf936daf0fc + languageName: node + linkType: hard + +"is-glob@npm:^4.0.0, is-glob@npm:^4.0.1, is-glob@npm:^4.0.3, is-glob@npm:~4.0.1": + version: 4.0.3 + resolution: "is-glob@npm:4.0.3" + dependencies: + is-extglob: "npm:^2.1.1" + checksum: 10c0/17fb4014e22be3bbecea9b2e3a76e9e34ff645466be702f1693e8f1ee1adac84710d0be0bd9f967d6354036fd51ab7c2741d954d6e91dae6bb69714de92c197a + languageName: node + linkType: hard + +"is-inside-container@npm:^1.0.0": + version: 1.0.0 + resolution: "is-inside-container@npm:1.0.0" + dependencies: + is-docker: "npm:^3.0.0" + bin: + is-inside-container: cli.js + checksum: 10c0/a8efb0e84f6197e6ff5c64c52890fa9acb49b7b74fed4da7c95383965da6f0fa592b4dbd5e38a79f87fc108196937acdbcd758fcefc9b140e479b39ce1fcd1cd + languageName: node + linkType: hard + +"is-lambda@npm:^1.0.1": + version: 1.0.1 + resolution: "is-lambda@npm:1.0.1" + checksum: 10c0/85fee098ae62ba6f1e24cf22678805473c7afd0fb3978a3aa260e354cb7bcb3a5806cf0a98403188465efedec41ab4348e8e4e79305d409601323855b3839d4d + languageName: node + linkType: hard + +"is-number@npm:^7.0.0": + version: 7.0.0 + resolution: "is-number@npm:7.0.0" + checksum: 10c0/b4686d0d3053146095ccd45346461bc8e53b80aeb7671cc52a4de02dbbf7dc0d1d2a986e2fe4ae206984b4d34ef37e8b795ebc4f4295c978373e6575e295d811 + languageName: node + linkType: hard + +"is-path-inside@npm:^3.0.3": + version: 3.0.3 + resolution: "is-path-inside@npm:3.0.3" + checksum: 10c0/cf7d4ac35fb96bab6a1d2c3598fe5ebb29aafb52c0aaa482b5a3ed9d8ba3edc11631e3ec2637660c44b3ce0e61a08d54946e8af30dec0b60a7c27296c68ffd05 + languageName: node + linkType: hard + +"is-plain-object@npm:^5.0.0": + version: 5.0.0 + resolution: "is-plain-object@npm:5.0.0" + checksum: 10c0/893e42bad832aae3511c71fd61c0bf61aa3a6d853061c62a307261842727d0d25f761ce9379f7ba7226d6179db2a3157efa918e7fe26360f3bf0842d9f28942c + languageName: node + linkType: hard + +"is-stream@npm:^3.0.0": + version: 3.0.0 + resolution: "is-stream@npm:3.0.0" + checksum: 10c0/eb2f7127af02ee9aa2a0237b730e47ac2de0d4e76a4a905a50a11557f2339df5765eaea4ceb8029f1efa978586abe776908720bfcb1900c20c6ec5145f6f29d8 + languageName: node + linkType: hard + +"is-what@npm:^4.1.8": + version: 4.1.16 + resolution: "is-what@npm:4.1.16" + checksum: 10c0/611f1947776826dcf85b57cfb7bd3b3ea6f4b94a9c2f551d4a53f653cf0cb9d1e6518846648256d46ee6c91d114b6d09d2ac8a07306f7430c5900f87466aae5b + languageName: node + linkType: hard + +"is-wsl@npm:^3.1.0": + version: 3.1.0 + resolution: "is-wsl@npm:3.1.0" + dependencies: + is-inside-container: "npm:^1.0.0" + checksum: 10c0/d3317c11995690a32c362100225e22ba793678fe8732660c6de511ae71a0ff05b06980cf21f98a6bf40d7be0e9e9506f859abe00a1118287d63e53d0a3d06947 + languageName: node + linkType: hard + +"isexe@npm:^2.0.0": + version: 2.0.0 + resolution: "isexe@npm:2.0.0" + checksum: 10c0/228cfa503fadc2c31596ab06ed6aa82c9976eec2bfd83397e7eaf06d0ccf42cd1dfd6743bf9aeb01aebd4156d009994c5f76ea898d2832c1fe342da923ca457d + languageName: node + linkType: hard + +"isexe@npm:^3.1.1": + version: 3.1.1 + resolution: "isexe@npm:3.1.1" + checksum: 10c0/9ec257654093443eb0a528a9c8cbba9c0ca7616ccb40abd6dde7202734d96bb86e4ac0d764f0f8cd965856aacbff2f4ce23e730dc19dfb41e3b0d865ca6fdcc7 + languageName: node + linkType: hard + +"jackspeak@npm:^3.1.2": + version: 3.4.3 + resolution: "jackspeak@npm:3.4.3" + dependencies: + "@isaacs/cliui": "npm:^8.0.2" + "@pkgjs/parseargs": "npm:^0.11.0" + dependenciesMeta: + "@pkgjs/parseargs": + optional: true + checksum: 10c0/6acc10d139eaefdbe04d2f679e6191b3abf073f111edf10b1de5302c97ec93fffeb2fdd8681ed17f16268aa9dd4f8c588ed9d1d3bffbbfa6e8bf897cbb3149b9 + languageName: node + linkType: hard + +"js-proxy@workspace:.": + version: 0.0.0-use.local + resolution: "js-proxy@workspace:." + dependencies: + "@eslint/js": "npm:9.7.0" + "@types/node": "npm:20.14.11" + "@types/ws": "npm:^8.5.11" + "@vitejs/plugin-vue": "npm:5.0.5" + "@vitejs/plugin-vue-jsx": "npm:4.0.0" + eslint: "npm:9.7.0" + eslint-plugin-vue: "npm:9.27.0" + globals: "npm:15.8.0" + picocolors: "npm:^1.0.1" + pinia: "npm:2.1.7" + postcss: "npm:^8.4.39" + prettier: "npm:3.3.3" + sass: "npm:1.77.8" + stylelint: "npm:^16.7.0" + stylelint-config-standard-scss: "npm:^13.1.0" + tsc-alias: "npm:^1.8.10" + type-fest: "npm:^4.22.0" + typescript: "npm:^5.5.3" + typescript-eslint: "npm:7.16.1" + vite: "npm:5.3.4" + vite-plugin-vue-devtools: "npm:7.3.6" + vue: "npm:3.4.32" + vue-router: "npm:4.4.0" + ws: "npm:^8.18.0" + languageName: unknown + linkType: soft + +"js-tokens@npm:^4.0.0": + version: 4.0.0 + resolution: "js-tokens@npm:4.0.0" + checksum: 10c0/e248708d377aa058eacf2037b07ded847790e6de892bbad3dac0abba2e759cb9f121b00099a65195616badcb6eca8d14d975cb3e89eb1cfda644756402c8aeed + languageName: node + linkType: hard + +"js-yaml@npm:^4.1.0": + version: 4.1.0 + resolution: "js-yaml@npm:4.1.0" + dependencies: + argparse: "npm:^2.0.1" + bin: + js-yaml: bin/js-yaml.js + checksum: 10c0/184a24b4eaacfce40ad9074c64fd42ac83cf74d8c8cd137718d456ced75051229e5061b8633c3366b8aada17945a7a356b337828c19da92b51ae62126575018f + languageName: node + linkType: hard + +"jsbn@npm:1.1.0": + version: 1.1.0 + resolution: "jsbn@npm:1.1.0" + checksum: 10c0/4f907fb78d7b712e11dea8c165fe0921f81a657d3443dde75359ed52eb2b5d33ce6773d97985a089f09a65edd80b11cb75c767b57ba47391fee4c969f7215c96 + languageName: node + linkType: hard + +"jsesc@npm:^2.5.1": + version: 2.5.2 + resolution: "jsesc@npm:2.5.2" + bin: + jsesc: bin/jsesc + checksum: 10c0/dbf59312e0ebf2b4405ef413ec2b25abb5f8f4d9bc5fb8d9f90381622ebca5f2af6a6aa9a8578f65903f9e33990a6dc798edd0ce5586894bf0e9e31803a1de88 + languageName: node + linkType: hard + +"json-buffer@npm:3.0.1": + version: 3.0.1 + resolution: "json-buffer@npm:3.0.1" + checksum: 10c0/0d1c91569d9588e7eef2b49b59851f297f3ab93c7b35c7c221e288099322be6b562767d11e4821da500f3219542b9afd2e54c5dc573107c1126ed1080f8e96d7 + languageName: node + linkType: hard + +"json-parse-even-better-errors@npm:^2.3.0": + version: 2.3.1 + resolution: "json-parse-even-better-errors@npm:2.3.1" + checksum: 10c0/140932564c8f0b88455432e0f33c4cb4086b8868e37524e07e723f4eaedb9425bdc2bafd71bd1d9765bd15fd1e2d126972bc83990f55c467168c228c24d665f3 + languageName: node + linkType: hard + +"json-schema-traverse@npm:^0.4.1": + version: 0.4.1 + resolution: "json-schema-traverse@npm:0.4.1" + checksum: 10c0/108fa90d4cc6f08243aedc6da16c408daf81793bf903e9fd5ab21983cda433d5d2da49e40711da016289465ec2e62e0324dcdfbc06275a607fe3233fde4942ce + languageName: node + linkType: hard + +"json-schema-traverse@npm:^1.0.0": + version: 1.0.0 + resolution: "json-schema-traverse@npm:1.0.0" + checksum: 10c0/71e30015d7f3d6dc1c316d6298047c8ef98a06d31ad064919976583eb61e1018a60a0067338f0f79cabc00d84af3fcc489bd48ce8a46ea165d9541ba17fb30c6 + languageName: node + linkType: hard + +"json-stable-stringify-without-jsonify@npm:^1.0.1": + version: 1.0.1 + resolution: "json-stable-stringify-without-jsonify@npm:1.0.1" + checksum: 10c0/cb168b61fd4de83e58d09aaa6425ef71001bae30d260e2c57e7d09a5fd82223e2f22a042dedaab8db23b7d9ae46854b08bb1f91675a8be11c5cffebef5fb66a5 + languageName: node + linkType: hard + +"json5@npm:^2.2.3": + version: 2.2.3 + resolution: "json5@npm:2.2.3" + bin: + json5: lib/cli.js + checksum: 10c0/5a04eed94810fa55c5ea138b2f7a5c12b97c3750bc63d11e511dcecbfef758003861522a070c2272764ee0f4e3e323862f386945aeb5b85b87ee43f084ba586c + languageName: node + linkType: hard + +"jsonfile@npm:^6.0.1": + version: 6.1.0 + resolution: "jsonfile@npm:6.1.0" + dependencies: + graceful-fs: "npm:^4.1.6" + universalify: "npm:^2.0.0" + dependenciesMeta: + graceful-fs: + optional: true + checksum: 10c0/4f95b5e8a5622b1e9e8f33c96b7ef3158122f595998114d1e7f03985649ea99cb3cd99ce1ed1831ae94c8c8543ab45ebd044207612f31a56fd08462140e46865 + languageName: node + linkType: hard + +"keyv@npm:^4.5.4": + version: 4.5.4 + resolution: "keyv@npm:4.5.4" + dependencies: + json-buffer: "npm:3.0.1" + checksum: 10c0/aa52f3c5e18e16bb6324876bb8b59dd02acf782a4b789c7b2ae21107fab95fab3890ed448d4f8dba80ce05391eeac4bfabb4f02a20221342982f806fa2cf271e + languageName: node + linkType: hard + +"kind-of@npm:^6.0.2": + version: 6.0.3 + resolution: "kind-of@npm:6.0.3" + checksum: 10c0/61cdff9623dabf3568b6445e93e31376bee1cdb93f8ba7033d86022c2a9b1791a1d9510e026e6465ebd701a6dd2f7b0808483ad8838341ac52f003f512e0b4c4 + languageName: node + linkType: hard + +"known-css-properties@npm:^0.34.0": + version: 0.34.0 + resolution: "known-css-properties@npm:0.34.0" + checksum: 10c0/8549969f02b1858554e89faf4548ece37625d0d21b42e8d54fa53184e68e1512ef2531bb15941575ad816361ab7447b598c1b18c1b96ce0a868333d1a68f2e2c + languageName: node + linkType: hard + +"kolorist@npm:^1.8.0": + version: 1.8.0 + resolution: "kolorist@npm:1.8.0" + checksum: 10c0/73075db44a692bf6c34a649f3b4b3aea4993b84f6b754cbf7a8577e7c7db44c0bad87752bd23b0ce533f49de2244ce2ce03b7b1b667a85ae170a94782cc50f9b + languageName: node + linkType: hard + +"levn@npm:^0.4.1": + version: 0.4.1 + resolution: "levn@npm:0.4.1" + dependencies: + prelude-ls: "npm:^1.2.1" + type-check: "npm:~0.4.0" + checksum: 10c0/effb03cad7c89dfa5bd4f6989364bfc79994c2042ec5966cb9b95990e2edee5cd8969ddf42616a0373ac49fac1403437deaf6e9050fbbaa3546093a59b9ac94e + languageName: node + linkType: hard + +"lines-and-columns@npm:^1.1.6": + version: 1.2.4 + resolution: "lines-and-columns@npm:1.2.4" + checksum: 10c0/3da6ee62d4cd9f03f5dc90b4df2540fb85b352081bee77fe4bbcd12c9000ead7f35e0a38b8d09a9bb99b13223446dd8689ff3c4959807620726d788701a83d2d + languageName: node + linkType: hard + +"locate-path@npm:^6.0.0": + version: 6.0.0 + resolution: "locate-path@npm:6.0.0" + dependencies: + p-locate: "npm:^5.0.0" + checksum: 10c0/d3972ab70dfe58ce620e64265f90162d247e87159b6126b01314dd67be43d50e96a50b517bce2d9452a79409c7614054c277b5232377de50416564a77ac7aad3 + languageName: node + linkType: hard + +"lodash.merge@npm:^4.6.2": + version: 4.6.2 + resolution: "lodash.merge@npm:4.6.2" + checksum: 10c0/402fa16a1edd7538de5b5903a90228aa48eb5533986ba7fa26606a49db2572bf414ff73a2c9f5d5fd36b31c46a5d5c7e1527749c07cbcf965ccff5fbdf32c506 + languageName: node + linkType: hard + +"lodash.truncate@npm:^4.4.2": + version: 4.4.2 + resolution: "lodash.truncate@npm:4.4.2" + checksum: 10c0/4e870d54e8a6c86c8687e057cec4069d2e941446ccab7f40b4d9555fa5872d917d0b6aa73bece7765500a3123f1723bcdba9ae881b679ef120bba9e1a0b0ed70 + languageName: node + linkType: hard + +"lodash@npm:^4.17.21": + version: 4.17.21 + resolution: "lodash@npm:4.17.21" + checksum: 10c0/d8cbea072bb08655bb4c989da418994b073a608dffa608b09ac04b43a791b12aeae7cd7ad919aa4c925f33b48490b5cfe6c1f71d827956071dae2e7bb3a6b74c + languageName: node + linkType: hard + +"lru-cache@npm:^10.0.1, lru-cache@npm:^10.2.0": + version: 10.4.3 + resolution: "lru-cache@npm:10.4.3" + checksum: 10c0/ebd04fbca961e6c1d6c0af3799adcc966a1babe798f685bb84e6599266599cd95d94630b10262f5424539bc4640107e8a33aa28585374abf561d30d16f4b39fb + languageName: node + linkType: hard + +"lru-cache@npm:^5.1.1": + version: 5.1.1 + resolution: "lru-cache@npm:5.1.1" + dependencies: + yallist: "npm:^3.0.2" + checksum: 10c0/89b2ef2ef45f543011e38737b8a8622a2f8998cddf0e5437174ef8f1f70a8b9d14a918ab3e232cb3ba343b7abddffa667f0b59075b2b80e6b4d63c3de6127482 + languageName: node + linkType: hard + +"magic-string@npm:^0.30.10, magic-string@npm:^0.30.4": + version: 0.30.10 + resolution: "magic-string@npm:0.30.10" + dependencies: + "@jridgewell/sourcemap-codec": "npm:^1.4.15" + checksum: 10c0/aa9ca17eae571a19bce92c8221193b6f93ee8511abb10f085e55ffd398db8e4c089a208d9eac559deee96a08b7b24d636ea4ab92f09c6cf42a7d1af51f7fd62b + languageName: node + linkType: hard + +"make-fetch-happen@npm:^13.0.0": + version: 13.0.1 + resolution: "make-fetch-happen@npm:13.0.1" + dependencies: + "@npmcli/agent": "npm:^2.0.0" + cacache: "npm:^18.0.0" + http-cache-semantics: "npm:^4.1.1" + is-lambda: "npm:^1.0.1" + minipass: "npm:^7.0.2" + minipass-fetch: "npm:^3.0.0" + minipass-flush: "npm:^1.0.5" + minipass-pipeline: "npm:^1.2.4" + negotiator: "npm:^0.6.3" + proc-log: "npm:^4.2.0" + promise-retry: "npm:^2.0.1" + ssri: "npm:^10.0.0" + checksum: 10c0/df5f4dbb6d98153b751bccf4dc4cc500de85a96a9331db9805596c46aa9f99d9555983954e6c1266d9f981ae37a9e4647f42b9a4bb5466f867f4012e582c9e7e + languageName: node + linkType: hard + +"mathml-tag-names@npm:^2.1.3": + version: 2.1.3 + resolution: "mathml-tag-names@npm:2.1.3" + checksum: 10c0/e2b094658a2618433efd2678a5a3e551645e09ba17c7c777783cd8dfa0178b0195fda0a5c46a6be5e778923662cf8dde891c894c869ff14fbb4ea3208c31bc4d + languageName: node + linkType: hard + +"mdn-data@npm:2.0.30": + version: 2.0.30 + resolution: "mdn-data@npm:2.0.30" + checksum: 10c0/a2c472ea16cee3911ae742593715aa4c634eb3d4b9f1e6ada0902aa90df13dcbb7285d19435f3ff213ebaa3b2e0c0265c1eb0e3fb278fda7f8919f046a410cd9 + languageName: node + linkType: hard + +"meow@npm:^13.2.0": + version: 13.2.0 + resolution: "meow@npm:13.2.0" + checksum: 10c0/d5b339ae314715bcd0b619dd2f8a266891928e21526b4800d49b4fba1cc3fff7e2c1ff5edd3344149fac841bc2306157f858e8c4d5eaee4d52ce52ad925664ce + languageName: node + linkType: hard + +"merge-stream@npm:^2.0.0": + version: 2.0.0 + resolution: "merge-stream@npm:2.0.0" + checksum: 10c0/867fdbb30a6d58b011449b8885601ec1690c3e41c759ecd5a9d609094f7aed0096c37823ff4a7190ef0b8f22cc86beb7049196ff68c016e3b3c671d0dac91ce5 + languageName: node + linkType: hard + +"merge2@npm:^1.3.0, merge2@npm:^1.4.1": + version: 1.4.1 + resolution: "merge2@npm:1.4.1" + checksum: 10c0/254a8a4605b58f450308fc474c82ac9a094848081bf4c06778200207820e5193726dc563a0d2c16468810516a5c97d9d3ea0ca6585d23c58ccfff2403e8dbbeb + languageName: node + linkType: hard + +"micromatch@npm:^4.0.4, micromatch@npm:^4.0.7": + version: 4.0.7 + resolution: "micromatch@npm:4.0.7" + dependencies: + braces: "npm:^3.0.3" + picomatch: "npm:^2.3.1" + checksum: 10c0/58fa99bc5265edec206e9163a1d2cec5fabc46a5b473c45f4a700adce88c2520456ae35f2b301e4410fb3afb27e9521fb2813f6fc96be0a48a89430e0916a772 + languageName: node + linkType: hard + +"mimic-fn@npm:^4.0.0": + version: 4.0.0 + resolution: "mimic-fn@npm:4.0.0" + checksum: 10c0/de9cc32be9996fd941e512248338e43407f63f6d497abe8441fa33447d922e927de54d4cc3c1a3c6d652857acd770389d5a3823f311a744132760ce2be15ccbf + languageName: node + linkType: hard + +"minimatch@npm:^3.1.2": + version: 3.1.2 + resolution: "minimatch@npm:3.1.2" + dependencies: + brace-expansion: "npm:^1.1.7" + checksum: 10c0/0262810a8fc2e72cca45d6fd86bd349eee435eb95ac6aa45c9ea2180e7ee875ef44c32b55b5973ceabe95ea12682f6e3725cbb63d7a2d1da3ae1163c8b210311 + languageName: node + linkType: hard + +"minimatch@npm:^9.0.4": + version: 9.0.5 + resolution: "minimatch@npm:9.0.5" + dependencies: + brace-expansion: "npm:^2.0.1" + checksum: 10c0/de96cf5e35bdf0eab3e2c853522f98ffbe9a36c37797778d2665231ec1f20a9447a7e567cb640901f89e4daaa95ae5d70c65a9e8aa2bb0019b6facbc3c0575ed + languageName: node + linkType: hard + +"minipass-collect@npm:^2.0.1": + version: 2.0.1 + resolution: "minipass-collect@npm:2.0.1" + dependencies: + minipass: "npm:^7.0.3" + checksum: 10c0/5167e73f62bb74cc5019594709c77e6a742051a647fe9499abf03c71dca75515b7959d67a764bdc4f8b361cf897fbf25e2d9869ee039203ed45240f48b9aa06e + languageName: node + linkType: hard + +"minipass-fetch@npm:^3.0.0": + version: 3.0.5 + resolution: "minipass-fetch@npm:3.0.5" + dependencies: + encoding: "npm:^0.1.13" + minipass: "npm:^7.0.3" + minipass-sized: "npm:^1.0.3" + minizlib: "npm:^2.1.2" + dependenciesMeta: + encoding: + optional: true + checksum: 10c0/9d702d57f556274286fdd97e406fc38a2f5c8d15e158b498d7393b1105974b21249289ec571fa2b51e038a4872bfc82710111cf75fae98c662f3d6f95e72152b + languageName: node + linkType: hard + +"minipass-flush@npm:^1.0.5": + version: 1.0.5 + resolution: "minipass-flush@npm:1.0.5" + dependencies: + minipass: "npm:^3.0.0" + checksum: 10c0/2a51b63feb799d2bb34669205eee7c0eaf9dce01883261a5b77410c9408aa447e478efd191b4de6fc1101e796ff5892f8443ef20d9544385819093dbb32d36bd + languageName: node + linkType: hard + +"minipass-pipeline@npm:^1.2.4": + version: 1.2.4 + resolution: "minipass-pipeline@npm:1.2.4" + dependencies: + minipass: "npm:^3.0.0" + checksum: 10c0/cbda57cea20b140b797505dc2cac71581a70b3247b84480c1fed5ca5ba46c25ecc25f68bfc9e6dcb1a6e9017dab5c7ada5eab73ad4f0a49d84e35093e0c643f2 + languageName: node + linkType: hard + +"minipass-sized@npm:^1.0.3": + version: 1.0.3 + resolution: "minipass-sized@npm:1.0.3" + dependencies: + minipass: "npm:^3.0.0" + checksum: 10c0/298f124753efdc745cfe0f2bdfdd81ba25b9f4e753ca4a2066eb17c821f25d48acea607dfc997633ee5bf7b6dfffb4eee4f2051eb168663f0b99fad2fa4829cb + languageName: node + linkType: hard + +"minipass@npm:^3.0.0": + version: 3.3.6 + resolution: "minipass@npm:3.3.6" + dependencies: + yallist: "npm:^4.0.0" + checksum: 10c0/a114746943afa1dbbca8249e706d1d38b85ed1298b530f5808ce51f8e9e941962e2a5ad2e00eae7dd21d8a4aae6586a66d4216d1a259385e9d0358f0c1eba16c + languageName: node + linkType: hard + +"minipass@npm:^5.0.0": + version: 5.0.0 + resolution: "minipass@npm:5.0.0" + checksum: 10c0/a91d8043f691796a8ac88df039da19933ef0f633e3d7f0d35dcd5373af49131cf2399bfc355f41515dc495e3990369c3858cd319e5c2722b4753c90bf3152462 + languageName: node + linkType: hard + +"minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0, minipass@npm:^7.0.2, minipass@npm:^7.0.3, minipass@npm:^7.1.2": + version: 7.1.2 + resolution: "minipass@npm:7.1.2" + checksum: 10c0/b0fd20bb9fb56e5fa9a8bfac539e8915ae07430a619e4b86ff71f5fc757ef3924b23b2c4230393af1eda647ed3d75739e4e0acb250a6b1eb277cf7f8fe449557 + languageName: node + linkType: hard + +"minizlib@npm:^2.1.1, minizlib@npm:^2.1.2": + version: 2.1.2 + resolution: "minizlib@npm:2.1.2" + dependencies: + minipass: "npm:^3.0.0" + yallist: "npm:^4.0.0" + checksum: 10c0/64fae024e1a7d0346a1102bb670085b17b7f95bf6cfdf5b128772ec8faf9ea211464ea4add406a3a6384a7d87a0cd1a96263692134323477b4fb43659a6cab78 + languageName: node + linkType: hard + +"mitt@npm:^3.0.1": + version: 3.0.1 + resolution: "mitt@npm:3.0.1" + checksum: 10c0/3ab4fdecf3be8c5255536faa07064d05caa3dd332bd318ff02e04621f7b3069ca1de9106cfe8e7ced675abfc2bec2ce4c4ef321c4a1bb1fb29df8ae090741913 + languageName: node + linkType: hard + +"mkdirp@npm:^1.0.3": + version: 1.0.4 + resolution: "mkdirp@npm:1.0.4" + bin: + mkdirp: bin/cmd.js + checksum: 10c0/46ea0f3ffa8bc6a5bc0c7081ffc3907777f0ed6516888d40a518c5111f8366d97d2678911ad1a6882bf592fa9de6c784fea32e1687bb94e1f4944170af48a5cf + languageName: node + linkType: hard + +"mrmime@npm:^2.0.0": + version: 2.0.0 + resolution: "mrmime@npm:2.0.0" + checksum: 10c0/312b35ed288986aec90955410b21ed7427fd1e4ee318cb5fc18765c8d029eeded9444faa46589e5b1ed6b35fb2054a802ac8dcb917ddf6b3e189cb3bf11a965c + languageName: node + linkType: hard + +"ms@npm:2.1.2": + version: 2.1.2 + resolution: "ms@npm:2.1.2" + checksum: 10c0/a437714e2f90dbf881b5191d35a6db792efbca5badf112f87b9e1c712aace4b4b9b742dd6537f3edf90fd6f684de897cec230abde57e87883766712ddda297cc + languageName: node + linkType: hard + +"mylas@npm:^2.1.9": + version: 2.1.13 + resolution: "mylas@npm:2.1.13" + checksum: 10c0/093dfaf88f444d9da956c68a61ddcfe05ab9411c0024b0c7f4d721639ba7d311ea8f9c052ce617344e67d40982f67614cd634b525b923048bf9a191234968c9c + languageName: node + linkType: hard + +"nanoid@npm:^3.3.4, nanoid@npm:^3.3.7": + version: 3.3.7 + resolution: "nanoid@npm:3.3.7" + bin: + nanoid: bin/nanoid.cjs + checksum: 10c0/e3fb661aa083454f40500473bb69eedb85dc160e763150b9a2c567c7e9ff560ce028a9f833123b618a6ea742e311138b591910e795614a629029e86e180660f3 + languageName: node + linkType: hard + +"natural-compare@npm:^1.4.0": + version: 1.4.0 + resolution: "natural-compare@npm:1.4.0" + checksum: 10c0/f5f9a7974bfb28a91afafa254b197f0f22c684d4a1731763dda960d2c8e375b36c7d690e0d9dc8fba774c537af14a7e979129bca23d88d052fbeb9466955e447 + languageName: node + linkType: hard + +"negotiator@npm:^0.6.3": + version: 0.6.3 + resolution: "negotiator@npm:0.6.3" + checksum: 10c0/3ec9fd413e7bf071c937ae60d572bc67155262068ed522cf4b3be5edbe6ddf67d095ec03a3a14ebf8fc8e95f8e1d61be4869db0dbb0de696f6b837358bd43fc2 + languageName: node + linkType: hard + +"node-gyp@npm:latest": + version: 10.2.0 + resolution: "node-gyp@npm:10.2.0" + dependencies: + env-paths: "npm:^2.2.0" + exponential-backoff: "npm:^3.1.1" + glob: "npm:^10.3.10" + graceful-fs: "npm:^4.2.6" + make-fetch-happen: "npm:^13.0.0" + nopt: "npm:^7.0.0" + proc-log: "npm:^4.1.0" + semver: "npm:^7.3.5" + tar: "npm:^6.2.1" + which: "npm:^4.0.0" + bin: + node-gyp: bin/node-gyp.js + checksum: 10c0/00630d67dbd09a45aee0a5d55c05e3916ca9e6d427ee4f7bc392d2d3dc5fad7449b21fc098dd38260a53d9dcc9c879b36704a1994235d4707e7271af7e9a835b + languageName: node + linkType: hard + +"node-releases@npm:^2.0.14": + version: 2.0.14 + resolution: "node-releases@npm:2.0.14" + checksum: 10c0/199fc93773ae70ec9969bc6d5ac5b2bbd6eb986ed1907d751f411fef3ede0e4bfdb45ceb43711f8078bea237b6036db8b1bf208f6ff2b70c7d615afd157f3ab9 + languageName: node + linkType: hard + +"nopt@npm:^7.0.0": + version: 7.2.1 + resolution: "nopt@npm:7.2.1" + dependencies: + abbrev: "npm:^2.0.0" + bin: + nopt: bin/nopt.js + checksum: 10c0/a069c7c736767121242037a22a788863accfa932ab285a1eb569eb8cd534b09d17206f68c37f096ae785647435e0c5a5a0a67b42ec743e481a455e5ae6a6df81 + languageName: node + linkType: hard + +"normalize-path@npm:^3.0.0, normalize-path@npm:~3.0.0": + version: 3.0.0 + resolution: "normalize-path@npm:3.0.0" + checksum: 10c0/e008c8142bcc335b5e38cf0d63cfd39d6cf2d97480af9abdbe9a439221fd4d749763bab492a8ee708ce7a194bb00c9da6d0a115018672310850489137b3da046 + languageName: node + linkType: hard + +"npm-run-path@npm:^5.1.0": + version: 5.3.0 + resolution: "npm-run-path@npm:5.3.0" + dependencies: + path-key: "npm:^4.0.0" + checksum: 10c0/124df74820c40c2eb9a8612a254ea1d557ddfab1581c3e751f825e3e366d9f00b0d76a3c94ecd8398e7f3eee193018622677e95816e8491f0797b21e30b2deba + languageName: node + linkType: hard + +"nth-check@npm:^2.1.1": + version: 2.1.1 + resolution: "nth-check@npm:2.1.1" + dependencies: + boolbase: "npm:^1.0.0" + checksum: 10c0/5fee7ff309727763689cfad844d979aedd2204a817fbaaf0e1603794a7c20db28548d7b024692f953557df6ce4a0ee4ae46cd8ebd9b36cfb300b9226b567c479 + languageName: node + linkType: hard + +"onetime@npm:^6.0.0": + version: 6.0.0 + resolution: "onetime@npm:6.0.0" + dependencies: + mimic-fn: "npm:^4.0.0" + checksum: 10c0/4eef7c6abfef697dd4479345a4100c382d73c149d2d56170a54a07418c50816937ad09500e1ed1e79d235989d073a9bade8557122aee24f0576ecde0f392bb6c + languageName: node + linkType: hard + +"open@npm:^10.1.0": + version: 10.1.0 + resolution: "open@npm:10.1.0" + dependencies: + default-browser: "npm:^5.2.1" + define-lazy-prop: "npm:^3.0.0" + is-inside-container: "npm:^1.0.0" + is-wsl: "npm:^3.1.0" + checksum: 10c0/c86d0b94503d5f735f674158d5c5d339c25ec2927562f00ee74590727292ed23e1b8d9336cb41ffa7e1fa4d3641d29b199b4ea37c78cb557d72b511743e90ebb + languageName: node + linkType: hard + +"optionator@npm:^0.9.3": + version: 0.9.4 + resolution: "optionator@npm:0.9.4" + dependencies: + deep-is: "npm:^0.1.3" + fast-levenshtein: "npm:^2.0.6" + levn: "npm:^0.4.1" + prelude-ls: "npm:^1.2.1" + type-check: "npm:^0.4.0" + word-wrap: "npm:^1.2.5" + checksum: 10c0/4afb687a059ee65b61df74dfe87d8d6815cd6883cb8b3d5883a910df72d0f5d029821f37025e4bccf4048873dbdb09acc6d303d27b8f76b1a80dd5a7d5334675 + languageName: node + linkType: hard + +"p-limit@npm:^3.0.2": + version: 3.1.0 + resolution: "p-limit@npm:3.1.0" + dependencies: + yocto-queue: "npm:^0.1.0" + checksum: 10c0/9db675949dbdc9c3763c89e748d0ef8bdad0afbb24d49ceaf4c46c02c77d30db4e0652ed36d0a0a7a95154335fab810d95c86153105bb73b3a90448e2bb14e1a + languageName: node + linkType: hard + +"p-locate@npm:^5.0.0": + version: 5.0.0 + resolution: "p-locate@npm:5.0.0" + dependencies: + p-limit: "npm:^3.0.2" + checksum: 10c0/2290d627ab7903b8b70d11d384fee714b797f6040d9278932754a6860845c4d3190603a0772a663c8cb5a7b21d1b16acb3a6487ebcafa9773094edc3dfe6009a + languageName: node + linkType: hard + +"p-map@npm:^4.0.0": + version: 4.0.0 + resolution: "p-map@npm:4.0.0" + dependencies: + aggregate-error: "npm:^3.0.0" + checksum: 10c0/592c05bd6262c466ce269ff172bb8de7c6975afca9b50c975135b974e9bdaafbfe80e61aaaf5be6d1200ba08b30ead04b88cfa7e25ff1e3b93ab28c9f62a2c75 + languageName: node + linkType: hard + +"package-json-from-dist@npm:^1.0.0": + version: 1.0.0 + resolution: "package-json-from-dist@npm:1.0.0" + checksum: 10c0/e3ffaf6ac1040ab6082a658230c041ad14e72fabe99076a2081bb1d5d41210f11872403fc09082daf4387fc0baa6577f96c9c0e94c90c394fd57794b66aa4033 + languageName: node + linkType: hard + +"parent-module@npm:^1.0.0": + version: 1.0.1 + resolution: "parent-module@npm:1.0.1" + dependencies: + callsites: "npm:^3.0.0" + checksum: 10c0/c63d6e80000d4babd11978e0d3fee386ca7752a02b035fd2435960ffaa7219dc42146f07069fb65e6e8bf1caef89daf9af7535a39bddf354d78bf50d8294f556 + languageName: node + linkType: hard + +"parse-json@npm:^5.2.0": + version: 5.2.0 + resolution: "parse-json@npm:5.2.0" + dependencies: + "@babel/code-frame": "npm:^7.0.0" + error-ex: "npm:^1.3.1" + json-parse-even-better-errors: "npm:^2.3.0" + lines-and-columns: "npm:^1.1.6" + checksum: 10c0/77947f2253005be7a12d858aedbafa09c9ae39eb4863adf330f7b416ca4f4a08132e453e08de2db46459256fb66afaac5ee758b44fe6541b7cdaf9d252e59585 + languageName: node + linkType: hard + +"path-exists@npm:^4.0.0": + version: 4.0.0 + resolution: "path-exists@npm:4.0.0" + checksum: 10c0/8c0bd3f5238188197dc78dced15207a4716c51cc4e3624c44fc97acf69558f5ebb9a2afff486fe1b4ee148e0c133e96c5e11a9aa5c48a3006e3467da070e5e1b + languageName: node + linkType: hard + +"path-key@npm:^3.1.0": + version: 3.1.1 + resolution: "path-key@npm:3.1.1" + checksum: 10c0/748c43efd5a569c039d7a00a03b58eecd1d75f3999f5a28303d75f521288df4823bc057d8784eb72358b2895a05f29a070bc9f1f17d28226cc4e62494cc58c4c + languageName: node + linkType: hard + +"path-key@npm:^4.0.0": + version: 4.0.0 + resolution: "path-key@npm:4.0.0" + checksum: 10c0/794efeef32863a65ac312f3c0b0a99f921f3e827ff63afa5cb09a377e202c262b671f7b3832a4e64731003fa94af0263713962d317b9887bd1e0c48a342efba3 + languageName: node + linkType: hard + +"path-scurry@npm:^1.11.1": + version: 1.11.1 + resolution: "path-scurry@npm:1.11.1" + dependencies: + lru-cache: "npm:^10.2.0" + minipass: "npm:^5.0.0 || ^6.0.2 || ^7.0.0" + checksum: 10c0/32a13711a2a505616ae1cc1b5076801e453e7aae6ac40ab55b388bb91b9d0547a52f5aaceff710ea400205f18691120d4431e520afbe4266b836fadede15872d + languageName: node + linkType: hard + +"path-type@npm:^4.0.0": + version: 4.0.0 + resolution: "path-type@npm:4.0.0" + checksum: 10c0/666f6973f332f27581371efaf303fd6c272cc43c2057b37aa99e3643158c7e4b2626549555d88626e99ea9e046f82f32e41bbde5f1508547e9a11b149b52387c + languageName: node + linkType: hard + +"pathe@npm:^1.1.2": + version: 1.1.2 + resolution: "pathe@npm:1.1.2" + checksum: 10c0/64ee0a4e587fb0f208d9777a6c56e4f9050039268faaaaecd50e959ef01bf847b7872785c36483fa5cdcdbdfdb31fef2ff222684d4fc21c330ab60395c681897 + languageName: node + linkType: hard + +"perfect-debounce@npm:^1.0.0": + version: 1.0.0 + resolution: "perfect-debounce@npm:1.0.0" + checksum: 10c0/e2baac416cae046ef1b270812cf9ccfb0f91c04ea36ac7f5b00bc84cb7f41bdbba087c0ab21b4e02a7ef3a1f1f6db399f137cecec46868bd7d8d88c2a9ee431f + languageName: node + linkType: hard + +"picocolors@npm:^1.0.0, picocolors@npm:^1.0.1": + version: 1.0.1 + resolution: "picocolors@npm:1.0.1" + checksum: 10c0/c63cdad2bf812ef0d66c8db29583802355d4ca67b9285d846f390cc15c2f6ccb94e8cb7eb6a6e97fc5990a6d3ad4ae42d86c84d3146e667c739a4234ed50d400 + languageName: node + linkType: hard + +"picomatch@npm:^2.0.4, picomatch@npm:^2.2.1, picomatch@npm:^2.3.1": + version: 2.3.1 + resolution: "picomatch@npm:2.3.1" + checksum: 10c0/26c02b8d06f03206fc2ab8d16f19960f2ff9e81a658f831ecb656d8f17d9edc799e8364b1f4a7873e89d9702dff96204be0fa26fe4181f6843f040f819dac4be + languageName: node + linkType: hard + +"pinia@npm:2.1.7": + version: 2.1.7 + resolution: "pinia@npm:2.1.7" + dependencies: + "@vue/devtools-api": "npm:^6.5.0" + vue-demi: "npm:>=0.14.5" + peerDependencies: + "@vue/composition-api": ^1.4.0 + typescript: ">=4.4.4" + vue: ^2.6.14 || ^3.3.0 + peerDependenciesMeta: + "@vue/composition-api": + optional: true + typescript: + optional: true + checksum: 10c0/f4380a4db04b5b8565ed8a6843821d91f8f650d79dd9f0094005248bd963521b8a73419032fda76541e59b895b0e7852e67ca9d0408162cc391ce5a1bcbda445 + languageName: node + linkType: hard + +"plimit-lit@npm:^1.2.6": + version: 1.6.1 + resolution: "plimit-lit@npm:1.6.1" + dependencies: + queue-lit: "npm:^1.5.1" + checksum: 10c0/af5d351bb55afe1eaa84b27c2b329699e150e4cf70464f3d474f5eabe9bdb9f48ed378ada1498d3b893f68ee7da2423ba6d9a4d88b1429d3b0aea22afcf5292b + languageName: node + linkType: hard + +"postcss-media-query-parser@npm:^0.2.3": + version: 0.2.3 + resolution: "postcss-media-query-parser@npm:0.2.3" + checksum: 10c0/252c8cf24f0e9018516b0d70b7b3d6f5b52e81c4bab2164b49a4e4c1b87bb11f5dbe708c0076990665cb24c70d5fd2f3aee9c922b0f67c7c619e051801484688 + languageName: node + linkType: hard + +"postcss-resolve-nested-selector@npm:^0.1.1": + version: 0.1.1 + resolution: "postcss-resolve-nested-selector@npm:0.1.1" + checksum: 10c0/e86412064c5d805fbee20f4e851395304102addd7d583b6a991adaa5616e8d5f45549864eb6292d4cf15075cd261c289f069acdf6a2556689fc44fe72bcb306e + languageName: node + linkType: hard + +"postcss-safe-parser@npm:^7.0.0": + version: 7.0.0 + resolution: "postcss-safe-parser@npm:7.0.0" + peerDependencies: + postcss: ^8.4.31 + checksum: 10c0/4217afd8ce2809e959dc365e4675f499303cc6b91f94db06c8164422822db2d3b3124df701ee2234db4127ad05619b016bfb9c2bccae9bf9cf898a396f1632c9 + languageName: node + linkType: hard + +"postcss-scss@npm:^4.0.9": + version: 4.0.9 + resolution: "postcss-scss@npm:4.0.9" + peerDependencies: + postcss: ^8.4.29 + checksum: 10c0/f917ecfd4b9113a6648e966a41f027ff7e14238393914978d44596e227a50f084667dc8818742348dc7d8b20130b30d4259aca1d4db86754a9c141202ae03714 + languageName: node + linkType: hard + +"postcss-selector-parser@npm:^6.0.15, postcss-selector-parser@npm:^6.1.0": + version: 6.1.1 + resolution: "postcss-selector-parser@npm:6.1.1" + dependencies: + cssesc: "npm:^3.0.0" + util-deprecate: "npm:^1.0.2" + checksum: 10c0/5608765e033fee35d448e1f607ffbaa750eb86901824a8bc4a911ea8bc137cb82f29239330787427c5d3695afd90d8721e190f211dbbf733e25033d8b3100763 + languageName: node + linkType: hard + +"postcss-value-parser@npm:^4.2.0": + version: 4.2.0 + resolution: "postcss-value-parser@npm:4.2.0" + checksum: 10c0/f4142a4f56565f77c1831168e04e3effd9ffcc5aebaf0f538eee4b2d465adfd4b85a44257bb48418202a63806a7da7fe9f56c330aebb3cac898e46b4cbf49161 + languageName: node + linkType: hard + +"postcss@npm:^8.4.39": + version: 8.4.39 + resolution: "postcss@npm:8.4.39" + dependencies: + nanoid: "npm:^3.3.7" + picocolors: "npm:^1.0.1" + source-map-js: "npm:^1.2.0" + checksum: 10c0/16f5ac3c4e32ee76d1582b3c0dcf1a1fdb91334a45ad755eeb881ccc50318fb8d64047de4f1601ac96e30061df203f0f2e2edbdc0bfc49b9c57bc9fb9bedaea3 + languageName: node + linkType: hard + +"prelude-ls@npm:^1.2.1": + version: 1.2.1 + resolution: "prelude-ls@npm:1.2.1" + checksum: 10c0/b00d617431e7886c520a6f498a2e14c75ec58f6d93ba48c3b639cf241b54232d90daa05d83a9e9b9fef6baa63cb7e1e4602c2372fea5bc169668401eb127d0cd + languageName: node + linkType: hard + +"prettier@npm:3.3.3": + version: 3.3.3 + resolution: "prettier@npm:3.3.3" + bin: + prettier: bin/prettier.cjs + checksum: 10c0/b85828b08e7505716324e4245549b9205c0cacb25342a030ba8885aba2039a115dbcf75a0b7ca3b37bc9d101ee61fab8113fc69ca3359f2a226f1ecc07ad2e26 + languageName: node + linkType: hard + +"proc-log@npm:^4.1.0, proc-log@npm:^4.2.0": + version: 4.2.0 + resolution: "proc-log@npm:4.2.0" + checksum: 10c0/17db4757c2a5c44c1e545170e6c70a26f7de58feb985091fb1763f5081cab3d01b181fb2dd240c9f4a4255a1d9227d163d5771b7e69c9e49a561692db865efb9 + languageName: node + linkType: hard + +"promise-retry@npm:^2.0.1": + version: 2.0.1 + resolution: "promise-retry@npm:2.0.1" + dependencies: + err-code: "npm:^2.0.2" + retry: "npm:^0.12.0" + checksum: 10c0/9c7045a1a2928094b5b9b15336dcd2a7b1c052f674550df63cc3f36cd44028e5080448175b6f6ca32b642de81150f5e7b1a98b728f15cb069f2dd60ac2616b96 + languageName: node + linkType: hard + +"punycode@npm:^2.1.0": + version: 2.3.1 + resolution: "punycode@npm:2.3.1" + checksum: 10c0/14f76a8206bc3464f794fb2e3d3cc665ae416c01893ad7a02b23766eb07159144ee612ad67af5e84fa4479ccfe67678c4feb126b0485651b302babf66f04f9e9 + languageName: node + linkType: hard + +"queue-lit@npm:^1.5.1": + version: 1.5.2 + resolution: "queue-lit@npm:1.5.2" + checksum: 10c0/8aa838b2c939aeaa6cd272b5b6b172379a3fa1d9193b2a3e687643c68c0efee3cd3493af4f1f8a11ff79b8207e4d00cc5d0b072f6e4bbeaaa27ee01f567ec4ac + languageName: node + linkType: hard + +"queue-microtask@npm:^1.2.2": + version: 1.2.3 + resolution: "queue-microtask@npm:1.2.3" + checksum: 10c0/900a93d3cdae3acd7d16f642c29a642aea32c2026446151f0778c62ac089d4b8e6c986811076e1ae180a694cedf077d453a11b58ff0a865629a4f82ab558e102 + languageName: node + linkType: hard + +"readdirp@npm:~3.6.0": + version: 3.6.0 + resolution: "readdirp@npm:3.6.0" + dependencies: + picomatch: "npm:^2.2.1" + checksum: 10c0/6fa848cf63d1b82ab4e985f4cf72bd55b7dcfd8e0a376905804e48c3634b7e749170940ba77b32804d5fe93b3cc521aa95a8d7e7d725f830da6d93f3669ce66b + languageName: node + linkType: hard + +"require-from-string@npm:^2.0.2": + version: 2.0.2 + resolution: "require-from-string@npm:2.0.2" + checksum: 10c0/aaa267e0c5b022fc5fd4eef49d8285086b15f2a1c54b28240fdf03599cbd9c26049fee3eab894f2e1f6ca65e513b030a7c264201e3f005601e80c49fb2937ce2 + languageName: node + linkType: hard + +"resolve-from@npm:^4.0.0": + version: 4.0.0 + resolution: "resolve-from@npm:4.0.0" + checksum: 10c0/8408eec31a3112ef96e3746c37be7d64020cda07c03a920f5024e77290a218ea758b26ca9529fd7b1ad283947f34b2291c1c0f6aa0ed34acfdda9c6014c8d190 + languageName: node + linkType: hard + +"resolve-from@npm:^5.0.0": + version: 5.0.0 + resolution: "resolve-from@npm:5.0.0" + checksum: 10c0/b21cb7f1fb746de8107b9febab60095187781137fd803e6a59a76d421444b1531b641bba5857f5dc011974d8a5c635d61cec49e6bd3b7fc20e01f0fafc4efbf2 + languageName: node + linkType: hard + +"retry@npm:^0.12.0": + version: 0.12.0 + resolution: "retry@npm:0.12.0" + checksum: 10c0/59933e8501727ba13ad73ef4a04d5280b3717fd650408460c987392efe9d7be2040778ed8ebe933c5cbd63da3dcc37919c141ef8af0a54a6e4fca5a2af177bfe + languageName: node + linkType: hard + +"reusify@npm:^1.0.4": + version: 1.0.4 + resolution: "reusify@npm:1.0.4" + checksum: 10c0/c19ef26e4e188f408922c46f7ff480d38e8dfc55d448310dfb518736b23ed2c4f547fb64a6ed5bdba92cd7e7ddc889d36ff78f794816d5e71498d645ef476107 + languageName: node + linkType: hard + +"rfdc@npm:^1.4.1": + version: 1.4.1 + resolution: "rfdc@npm:1.4.1" + checksum: 10c0/4614e4292356cafade0b6031527eea9bc90f2372a22c012313be1dcc69a3b90c7338158b414539be863fa95bfcb2ddcd0587be696841af4e6679d85e62c060c7 + languageName: node + linkType: hard + +"rollup@npm:^4.13.0": + version: 4.18.1 + resolution: "rollup@npm:4.18.1" + dependencies: + "@rollup/rollup-android-arm-eabi": "npm:4.18.1" + "@rollup/rollup-android-arm64": "npm:4.18.1" + "@rollup/rollup-darwin-arm64": "npm:4.18.1" + "@rollup/rollup-darwin-x64": "npm:4.18.1" + "@rollup/rollup-linux-arm-gnueabihf": "npm:4.18.1" + "@rollup/rollup-linux-arm-musleabihf": "npm:4.18.1" + "@rollup/rollup-linux-arm64-gnu": "npm:4.18.1" + "@rollup/rollup-linux-arm64-musl": "npm:4.18.1" + "@rollup/rollup-linux-powerpc64le-gnu": "npm:4.18.1" + "@rollup/rollup-linux-riscv64-gnu": "npm:4.18.1" + "@rollup/rollup-linux-s390x-gnu": "npm:4.18.1" + "@rollup/rollup-linux-x64-gnu": "npm:4.18.1" + "@rollup/rollup-linux-x64-musl": "npm:4.18.1" + "@rollup/rollup-win32-arm64-msvc": "npm:4.18.1" + "@rollup/rollup-win32-ia32-msvc": "npm:4.18.1" + "@rollup/rollup-win32-x64-msvc": "npm:4.18.1" + "@types/estree": "npm:1.0.5" + fsevents: "npm:~2.3.2" + dependenciesMeta: + "@rollup/rollup-android-arm-eabi": + optional: true + "@rollup/rollup-android-arm64": + optional: true + "@rollup/rollup-darwin-arm64": + optional: true + "@rollup/rollup-darwin-x64": + optional: true + "@rollup/rollup-linux-arm-gnueabihf": + optional: true + "@rollup/rollup-linux-arm-musleabihf": + optional: true + "@rollup/rollup-linux-arm64-gnu": + optional: true + "@rollup/rollup-linux-arm64-musl": + optional: true + "@rollup/rollup-linux-powerpc64le-gnu": + optional: true + "@rollup/rollup-linux-riscv64-gnu": + optional: true + "@rollup/rollup-linux-s390x-gnu": + optional: true + "@rollup/rollup-linux-x64-gnu": + optional: true + "@rollup/rollup-linux-x64-musl": + optional: true + "@rollup/rollup-win32-arm64-msvc": + optional: true + "@rollup/rollup-win32-ia32-msvc": + optional: true + "@rollup/rollup-win32-x64-msvc": + optional: true + fsevents: + optional: true + bin: + rollup: dist/bin/rollup + checksum: 10c0/c3c73252fd9f1d39eaeb44aa860141d9daf10d6eada73791a0ef453d38fe8f2c2dfef103ac1f387ed192dd5a2994534f91c026eed9ba1cfb50f5781f48c1f44f + languageName: node + linkType: hard + +"run-applescript@npm:^7.0.0": + version: 7.0.0 + resolution: "run-applescript@npm:7.0.0" + checksum: 10c0/bd821bbf154b8e6c8ecffeaf0c33cebbb78eb2987476c3f6b420d67ab4c5301faa905dec99ded76ebb3a7042b4e440189ae6d85bbbd3fc6e8d493347ecda8bfe + languageName: node + linkType: hard + +"run-parallel@npm:^1.1.9": + version: 1.2.0 + resolution: "run-parallel@npm:1.2.0" + dependencies: + queue-microtask: "npm:^1.2.2" + checksum: 10c0/200b5ab25b5b8b7113f9901bfe3afc347e19bb7475b267d55ad0eb86a62a46d77510cb0f232507c9e5d497ebda569a08a9867d0d14f57a82ad5564d991588b39 + languageName: node + linkType: hard + +"safer-buffer@npm:>= 2.1.2 < 3.0.0": + version: 2.1.2 + resolution: "safer-buffer@npm:2.1.2" + checksum: 10c0/7e3c8b2e88a1841c9671094bbaeebd94448111dd90a81a1f606f3f67708a6ec57763b3b47f06da09fc6054193e0e6709e77325415dc8422b04497a8070fa02d4 + languageName: node + linkType: hard + +"sass@npm:1.77.8": + version: 1.77.8 + resolution: "sass@npm:1.77.8" + dependencies: + chokidar: "npm:>=3.0.0 <4.0.0" + immutable: "npm:^4.0.0" + source-map-js: "npm:>=0.6.2 <2.0.0" + bin: + sass: sass.js + checksum: 10c0/2bfd62794070352c804f949e69bd8bb5b4ec846deeb924251b2c3f7b503170fb1ae186f513f0166907749eb34e0277dee747edcb78c886fb471aac01be1e864c + languageName: node + linkType: hard + +"semver@npm:^6.3.1": + version: 6.3.1 + resolution: "semver@npm:6.3.1" + bin: + semver: bin/semver.js + checksum: 10c0/e3d79b609071caa78bcb6ce2ad81c7966a46a7431d9d58b8800cfa9cb6a63699b3899a0e4bcce36167a284578212d9ae6942b6929ba4aa5015c079a67751d42d + languageName: node + linkType: hard + +"semver@npm:^7.3.5, semver@npm:^7.3.6, semver@npm:^7.6.0": + version: 7.6.2 + resolution: "semver@npm:7.6.2" + bin: + semver: bin/semver.js + checksum: 10c0/97d3441e97ace8be4b1976433d1c32658f6afaff09f143e52c593bae7eef33de19e3e369c88bd985ce1042c6f441c80c6803078d1de2a9988080b66684cbb30c + languageName: node + linkType: hard + +"shebang-command@npm:^2.0.0": + version: 2.0.0 + resolution: "shebang-command@npm:2.0.0" + dependencies: + shebang-regex: "npm:^3.0.0" + checksum: 10c0/a41692e7d89a553ef21d324a5cceb5f686d1f3c040759c50aab69688634688c5c327f26f3ecf7001ebfd78c01f3c7c0a11a7c8bfd0a8bc9f6240d4f40b224e4e + languageName: node + linkType: hard + +"shebang-regex@npm:^3.0.0": + version: 3.0.0 + resolution: "shebang-regex@npm:3.0.0" + checksum: 10c0/1dbed0726dd0e1152a92696c76c7f06084eb32a90f0528d11acd764043aacf76994b2fb30aa1291a21bd019d6699164d048286309a278855ee7bec06cf6fb690 + languageName: node + linkType: hard + +"signal-exit@npm:^4.0.1, signal-exit@npm:^4.1.0": + version: 4.1.0 + resolution: "signal-exit@npm:4.1.0" + checksum: 10c0/41602dce540e46d599edba9d9860193398d135f7ff72cab629db5171516cfae628d21e7bfccde1bbfdf11c48726bc2a6d1a8fb8701125852fbfda7cf19c6aa83 + languageName: node + linkType: hard + +"sirv@npm:^2.0.4": + version: 2.0.4 + resolution: "sirv@npm:2.0.4" + dependencies: + "@polka/url": "npm:^1.0.0-next.24" + mrmime: "npm:^2.0.0" + totalist: "npm:^3.0.0" + checksum: 10c0/68f8ee857f6a9415e9c07a1f31c7c561df8d5f1b1ba79bee3de583fa37da8718def5309f6b1c6e2c3ef77de45d74f5e49efc7959214443aa92d42e9c99180a4e + languageName: node + linkType: hard + +"slash@npm:^3.0.0": + version: 3.0.0 + resolution: "slash@npm:3.0.0" + checksum: 10c0/e18488c6a42bdfd4ac5be85b2ced3ccd0224773baae6ad42cfbb9ec74fc07f9fa8396bd35ee638084ead7a2a0818eb5e7151111544d4731ce843019dab4be47b + languageName: node + linkType: hard + +"slice-ansi@npm:^4.0.0": + version: 4.0.0 + resolution: "slice-ansi@npm:4.0.0" + dependencies: + ansi-styles: "npm:^4.0.0" + astral-regex: "npm:^2.0.0" + is-fullwidth-code-point: "npm:^3.0.0" + checksum: 10c0/6c25678db1270d4793e0327620f1e0f9f5bea4630123f51e9e399191bc52c87d6e6de53ed33538609e5eacbd1fab769fae00f3705d08d029f02102a540648918 + languageName: node + linkType: hard + +"smart-buffer@npm:^4.2.0": + version: 4.2.0 + resolution: "smart-buffer@npm:4.2.0" + checksum: 10c0/a16775323e1404dd43fabafe7460be13a471e021637bc7889468eb45ce6a6b207261f454e4e530a19500cc962c4cc5348583520843b363f4193cee5c00e1e539 + languageName: node + linkType: hard + +"socks-proxy-agent@npm:^8.0.3": + version: 8.0.4 + resolution: "socks-proxy-agent@npm:8.0.4" + dependencies: + agent-base: "npm:^7.1.1" + debug: "npm:^4.3.4" + socks: "npm:^2.8.3" + checksum: 10c0/345593bb21b95b0508e63e703c84da11549f0a2657d6b4e3ee3612c312cb3a907eac10e53b23ede3557c6601d63252103494caa306b66560f43af7b98f53957a + languageName: node + linkType: hard + +"socks@npm:^2.8.3": + version: 2.8.3 + resolution: "socks@npm:2.8.3" + dependencies: + ip-address: "npm:^9.0.5" + smart-buffer: "npm:^4.2.0" + checksum: 10c0/d54a52bf9325165770b674a67241143a3d8b4e4c8884560c4e0e078aace2a728dffc7f70150660f51b85797c4e1a3b82f9b7aa25e0a0ceae1a243365da5c51a7 + languageName: node + linkType: hard + +"source-map-js@npm:>=0.6.2 <2.0.0, source-map-js@npm:^1.0.1, source-map-js@npm:^1.2.0": + version: 1.2.0 + resolution: "source-map-js@npm:1.2.0" + checksum: 10c0/7e5f896ac10a3a50fe2898e5009c58ff0dc102dcb056ed27a354623a0ece8954d4b2649e1a1b2b52ef2e161d26f8859c7710350930751640e71e374fe2d321a4 + languageName: node + linkType: hard + +"speakingurl@npm:^14.0.1": + version: 14.0.1 + resolution: "speakingurl@npm:14.0.1" + checksum: 10c0/1de1d1b938a7c4d9e79593ff7a26d312ec04a7c3234ca40b7f9b8106daf74ea9d2110a077f5db97ecf3762b83069e3ccbf9694431b51d4fcfd863f0b3333c342 + languageName: node + linkType: hard + +"sprintf-js@npm:^1.1.3": + version: 1.1.3 + resolution: "sprintf-js@npm:1.1.3" + checksum: 10c0/09270dc4f30d479e666aee820eacd9e464215cdff53848b443964202bf4051490538e5dd1b42e1a65cf7296916ca17640aebf63dae9812749c7542ee5f288dec + languageName: node + linkType: hard + +"ssri@npm:^10.0.0": + version: 10.0.6 + resolution: "ssri@npm:10.0.6" + dependencies: + minipass: "npm:^7.0.3" + checksum: 10c0/e5a1e23a4057a86a97971465418f22ea89bd439ac36ade88812dd920e4e61873e8abd6a9b72a03a67ef50faa00a2daf1ab745c5a15b46d03e0544a0296354227 + languageName: node + linkType: hard + +"string-width-cjs@npm:string-width@^4.2.0, string-width@npm:^4.1.0, string-width@npm:^4.2.3": + version: 4.2.3 + resolution: "string-width@npm:4.2.3" + dependencies: + emoji-regex: "npm:^8.0.0" + is-fullwidth-code-point: "npm:^3.0.0" + strip-ansi: "npm:^6.0.1" + checksum: 10c0/1e525e92e5eae0afd7454086eed9c818ee84374bb80328fc41217ae72ff5f065ef1c9d7f72da41de40c75fa8bb3dee63d92373fd492c84260a552c636392a47b + languageName: node + linkType: hard + +"string-width@npm:^5.0.1, string-width@npm:^5.1.2": + version: 5.1.2 + resolution: "string-width@npm:5.1.2" + dependencies: + eastasianwidth: "npm:^0.2.0" + emoji-regex: "npm:^9.2.2" + strip-ansi: "npm:^7.0.1" + checksum: 10c0/ab9c4264443d35b8b923cbdd513a089a60de339216d3b0ed3be3ba57d6880e1a192b70ae17225f764d7adbf5994e9bb8df253a944736c15a0240eff553c678ca + languageName: node + linkType: hard + +"strip-ansi-cjs@npm:strip-ansi@^6.0.1, strip-ansi@npm:^6.0.0, strip-ansi@npm:^6.0.1": + version: 6.0.1 + resolution: "strip-ansi@npm:6.0.1" + dependencies: + ansi-regex: "npm:^5.0.1" + checksum: 10c0/1ae5f212a126fe5b167707f716942490e3933085a5ff6c008ab97ab2f272c8025d3aa218b7bd6ab25729ca20cc81cddb252102f8751e13482a5199e873680952 + languageName: node + linkType: hard + +"strip-ansi@npm:^7.0.1, strip-ansi@npm:^7.1.0": + version: 7.1.0 + resolution: "strip-ansi@npm:7.1.0" + dependencies: + ansi-regex: "npm:^6.0.1" + checksum: 10c0/a198c3762e8832505328cbf9e8c8381de14a4fa50a4f9b2160138158ea88c0f5549fb50cb13c651c3088f47e63a108b34622ec18c0499b6c8c3a5ddf6b305ac4 + languageName: node + linkType: hard + +"strip-final-newline@npm:^3.0.0": + version: 3.0.0 + resolution: "strip-final-newline@npm:3.0.0" + checksum: 10c0/a771a17901427bac6293fd416db7577e2bc1c34a19d38351e9d5478c3c415f523f391003b42ed475f27e33a78233035df183525395f731d3bfb8cdcbd4da08ce + languageName: node + linkType: hard + +"strip-json-comments@npm:^3.1.1": + version: 3.1.1 + resolution: "strip-json-comments@npm:3.1.1" + checksum: 10c0/9681a6257b925a7fa0f285851c0e613cc934a50661fa7bb41ca9cbbff89686bb4a0ee366e6ecedc4daafd01e83eee0720111ab294366fe7c185e935475ebcecd + languageName: node + linkType: hard + +"stylelint-config-recommended-scss@npm:^14.0.0": + version: 14.1.0 + resolution: "stylelint-config-recommended-scss@npm:14.1.0" + dependencies: + postcss-scss: "npm:^4.0.9" + stylelint-config-recommended: "npm:^14.0.1" + stylelint-scss: "npm:^6.4.0" + peerDependencies: + postcss: ^8.3.3 + stylelint: ^16.6.1 + peerDependenciesMeta: + postcss: + optional: true + checksum: 10c0/0a1c1bb6d9f7a21acea82e12fee1b36a195181ae1dd0d8b59145a56f76232a80d5b706269bc4ca4929680d36f10371bd8a7d0aeeee468fa9119a3b56410b052f + languageName: node + linkType: hard + +"stylelint-config-recommended@npm:^14.0.1": + version: 14.0.1 + resolution: "stylelint-config-recommended@npm:14.0.1" + peerDependencies: + stylelint: ^16.1.0 + checksum: 10c0/a0a0ecd91f4d193bbe2cc3408228f8a2d8fcb2b2578d77233f86780c9247c796a04e16aad7a91d97cb918e2de34b6a8062bab66ee017c3835d855081d94f4828 + languageName: node + linkType: hard + +"stylelint-config-standard-scss@npm:^13.1.0": + version: 13.1.0 + resolution: "stylelint-config-standard-scss@npm:13.1.0" + dependencies: + stylelint-config-recommended-scss: "npm:^14.0.0" + stylelint-config-standard: "npm:^36.0.0" + peerDependencies: + postcss: ^8.3.3 + stylelint: ^16.3.1 + peerDependenciesMeta: + postcss: + optional: true + checksum: 10c0/d07cae806ee8b3e77684f019a8b22cc32642373da8053e6ae7ed716f8ddbe6ea1f7323633a6a1bbc9aa08c6a3dceb1dcf053d83fdd10d076b5a01da6e86801ae + languageName: node + linkType: hard + +"stylelint-config-standard@npm:^36.0.0": + version: 36.0.1 + resolution: "stylelint-config-standard@npm:36.0.1" + dependencies: + stylelint-config-recommended: "npm:^14.0.1" + peerDependencies: + stylelint: ^16.1.0 + checksum: 10c0/7f9b954694358e77be5110418f31335be579ce59dd952bc3c6a9449265297db3170ec520e0905769253b48b99c3109a95c71f5b985bf402e48fd6c89b5364cb2 + languageName: node + linkType: hard + +"stylelint-scss@npm:^6.4.0": + version: 6.4.1 + resolution: "stylelint-scss@npm:6.4.1" + dependencies: + known-css-properties: "npm:^0.34.0" + postcss-media-query-parser: "npm:^0.2.3" + postcss-resolve-nested-selector: "npm:^0.1.1" + postcss-selector-parser: "npm:^6.1.0" + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + stylelint: ^16.0.2 + checksum: 10c0/0ff90a3403cf3a2fc8e2f911389d0ab0d4d611fbb9b2cd902ae0cb68fa0627767816ce715d4db6b2017fbec11764d3097b0215a8f61c0b5fc2e0443cdce32d07 + languageName: node + linkType: hard + +"stylelint@npm:^16.7.0": + version: 16.7.0 + resolution: "stylelint@npm:16.7.0" + dependencies: + "@csstools/css-parser-algorithms": "npm:^2.7.1" + "@csstools/css-tokenizer": "npm:^2.4.1" + "@csstools/media-query-list-parser": "npm:^2.1.13" + "@csstools/selector-specificity": "npm:^3.1.1" + "@dual-bundle/import-meta-resolve": "npm:^4.1.0" + balanced-match: "npm:^2.0.0" + colord: "npm:^2.9.3" + cosmiconfig: "npm:^9.0.0" + css-functions-list: "npm:^3.2.2" + css-tree: "npm:^2.3.1" + debug: "npm:^4.3.5" + fast-glob: "npm:^3.3.2" + fastest-levenshtein: "npm:^1.0.16" + file-entry-cache: "npm:^9.0.0" + global-modules: "npm:^2.0.0" + globby: "npm:^11.1.0" + globjoin: "npm:^0.1.4" + html-tags: "npm:^3.3.1" + ignore: "npm:^5.3.1" + imurmurhash: "npm:^0.1.4" + is-plain-object: "npm:^5.0.0" + known-css-properties: "npm:^0.34.0" + mathml-tag-names: "npm:^2.1.3" + meow: "npm:^13.2.0" + micromatch: "npm:^4.0.7" + normalize-path: "npm:^3.0.0" + picocolors: "npm:^1.0.1" + postcss: "npm:^8.4.39" + postcss-resolve-nested-selector: "npm:^0.1.1" + postcss-safe-parser: "npm:^7.0.0" + postcss-selector-parser: "npm:^6.1.0" + postcss-value-parser: "npm:^4.2.0" + resolve-from: "npm:^5.0.0" + string-width: "npm:^4.2.3" + strip-ansi: "npm:^7.1.0" + supports-hyperlinks: "npm:^3.0.0" + svg-tags: "npm:^1.0.0" + table: "npm:^6.8.2" + write-file-atomic: "npm:^5.0.1" + bin: + stylelint: bin/stylelint.mjs + checksum: 10c0/98cb36037684433d991a0c507bbf8155309e96470177487f493e66de098631e5303b235470fc5c8086cd98013385b669c4e3cb68ad01421b898e1da6848e5d78 + languageName: node + linkType: hard + +"superjson@npm:^2.2.1": + version: 2.2.1 + resolution: "superjson@npm:2.2.1" + dependencies: + copy-anything: "npm:^3.0.2" + checksum: 10c0/5d8202c955170bd98ef2647f712754ac54d2d007923cfdb53a4b035304d8964b8c41d5eff41ee277896e2ac32e06abb009b571f1589416b729fe40216320cc7a + languageName: node + linkType: hard + +"supports-color@npm:^5.3.0": + version: 5.5.0 + resolution: "supports-color@npm:5.5.0" + dependencies: + has-flag: "npm:^3.0.0" + checksum: 10c0/6ae5ff319bfbb021f8a86da8ea1f8db52fac8bd4d499492e30ec17095b58af11f0c55f8577390a749b1c4dde691b6a0315dab78f5f54c9b3d83f8fb5905c1c05 + languageName: node + linkType: hard + +"supports-color@npm:^7.0.0, supports-color@npm:^7.1.0": + version: 7.2.0 + resolution: "supports-color@npm:7.2.0" + dependencies: + has-flag: "npm:^4.0.0" + checksum: 10c0/afb4c88521b8b136b5f5f95160c98dee7243dc79d5432db7efc27efb219385bbc7d9427398e43dd6cc730a0f87d5085ce1652af7efbe391327bc0a7d0f7fc124 + languageName: node + linkType: hard + +"supports-hyperlinks@npm:^3.0.0": + version: 3.0.0 + resolution: "supports-hyperlinks@npm:3.0.0" + dependencies: + has-flag: "npm:^4.0.0" + supports-color: "npm:^7.0.0" + checksum: 10c0/36aaa55e67645dded8e0f846fd81d7dd05ce82ea81e62347f58d86213577eb627b2b45298656ce7a70e7155e39f071d0d3f83be91e112aed801ebaa8db1ef1d0 + languageName: node + linkType: hard + +"svg-tags@npm:^1.0.0": + version: 1.0.0 + resolution: "svg-tags@npm:1.0.0" + checksum: 10c0/5867e29e8f431bf7aecf5a244d1af5725f80a1086187dbc78f26d8433b5e96b8fe9361aeb10d1699ff483b9afec785a10916b9312fe9d734d1a7afd48226c954 + languageName: node + linkType: hard + +"table@npm:^6.8.2": + version: 6.8.2 + resolution: "table@npm:6.8.2" + dependencies: + ajv: "npm:^8.0.1" + lodash.truncate: "npm:^4.4.2" + slice-ansi: "npm:^4.0.0" + string-width: "npm:^4.2.3" + strip-ansi: "npm:^6.0.1" + checksum: 10c0/f8b348af38ee34e419d8ce7306ba00671ce6f20e861ccff22555f491ba264e8416086063ce278a8d81abfa8d23b736ec2cca7ac4029b5472f63daa4b4688b803 + languageName: node + linkType: hard + +"tar@npm:^6.1.11, tar@npm:^6.2.1": + version: 6.2.1 + resolution: "tar@npm:6.2.1" + dependencies: + chownr: "npm:^2.0.0" + fs-minipass: "npm:^2.0.0" + minipass: "npm:^5.0.0" + minizlib: "npm:^2.1.1" + mkdirp: "npm:^1.0.3" + yallist: "npm:^4.0.0" + checksum: 10c0/a5eca3eb50bc11552d453488344e6507156b9193efd7635e98e867fab275d527af53d8866e2370cd09dfe74378a18111622ace35af6a608e5223a7d27fe99537 + languageName: node + linkType: hard + +"text-table@npm:^0.2.0": + version: 0.2.0 + resolution: "text-table@npm:0.2.0" + checksum: 10c0/02805740c12851ea5982686810702e2f14369a5f4c5c40a836821e3eefc65ffeec3131ba324692a37608294b0fd8c1e55a2dd571ffed4909822787668ddbee5c + languageName: node + linkType: hard + +"to-fast-properties@npm:^2.0.0": + version: 2.0.0 + resolution: "to-fast-properties@npm:2.0.0" + checksum: 10c0/b214d21dbfb4bce3452b6244b336806ffea9c05297148d32ebb428d5c43ce7545bdfc65a1ceb58c9ef4376a65c0cb2854d645f33961658b3e3b4f84910ddcdd7 + languageName: node + linkType: hard + +"to-regex-range@npm:^5.0.1": + version: 5.0.1 + resolution: "to-regex-range@npm:5.0.1" + dependencies: + is-number: "npm:^7.0.0" + checksum: 10c0/487988b0a19c654ff3e1961b87f471702e708fa8a8dd02a298ef16da7206692e8552a0250e8b3e8759270f62e9d8314616f6da274734d3b558b1fc7b7724e892 + languageName: node + linkType: hard + +"totalist@npm:^3.0.0": + version: 3.0.1 + resolution: "totalist@npm:3.0.1" + checksum: 10c0/4bb1fadb69c3edbef91c73ebef9d25b33bbf69afe1e37ce544d5f7d13854cda15e47132f3e0dc4cafe300ddb8578c77c50a65004d8b6e97e77934a69aa924863 + languageName: node + linkType: hard + +"ts-api-utils@npm:^1.3.0": + version: 1.3.0 + resolution: "ts-api-utils@npm:1.3.0" + peerDependencies: + typescript: ">=4.2.0" + checksum: 10c0/f54a0ba9ed56ce66baea90a3fa087a484002e807f28a8ccb2d070c75e76bde64bd0f6dce98b3802834156306050871b67eec325cb4e918015a360a3f0868c77c + languageName: node + linkType: hard + +"tsc-alias@npm:^1.8.10": + version: 1.8.10 + resolution: "tsc-alias@npm:1.8.10" + dependencies: + chokidar: "npm:^3.5.3" + commander: "npm:^9.0.0" + globby: "npm:^11.0.4" + mylas: "npm:^2.1.9" + normalize-path: "npm:^3.0.0" + plimit-lit: "npm:^1.2.6" + bin: + tsc-alias: dist/bin/index.js + checksum: 10c0/6f319d37b35d2f660c09c4a5413305c78943dd09bdaf395f4c1da69e19ad15b4d149db28d9251acd8bb52e755af55895018b2fe55f1511774da2e9e30a5c826a + languageName: node + linkType: hard + +"type-check@npm:^0.4.0, type-check@npm:~0.4.0": + version: 0.4.0 + resolution: "type-check@npm:0.4.0" + dependencies: + prelude-ls: "npm:^1.2.1" + checksum: 10c0/7b3fd0ed43891e2080bf0c5c504b418fbb3e5c7b9708d3d015037ba2e6323a28152ec163bcb65212741fa5d2022e3075ac3c76440dbd344c9035f818e8ecee58 + languageName: node + linkType: hard + +"type-fest@npm:^0.20.2": + version: 0.20.2 + resolution: "type-fest@npm:0.20.2" + checksum: 10c0/dea9df45ea1f0aaa4e2d3bed3f9a0bfe9e5b2592bddb92eb1bf06e50bcf98dbb78189668cd8bc31a0511d3fc25539b4cd5c704497e53e93e2d40ca764b10bfc3 + languageName: node + linkType: hard + +"type-fest@npm:^4.22.0": + version: 4.22.0 + resolution: "type-fest@npm:4.22.0" + checksum: 10c0/31a4529606283e871973bbe6fd942ea18ea1864633040988db22749c2f725ede79324c4ffcdecd99771656847c414eb05166e2f99fd6959c2b3dc7950ab86962 + languageName: node + linkType: hard + +"typescript-eslint@npm:7.16.1": + version: 7.16.1 + resolution: "typescript-eslint@npm:7.16.1" + dependencies: + "@typescript-eslint/eslint-plugin": "npm:7.16.1" + "@typescript-eslint/parser": "npm:7.16.1" + "@typescript-eslint/utils": "npm:7.16.1" + peerDependencies: + eslint: ^8.56.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: 10c0/293af275e79d3ece210471c24c807f44d6c82896b99f59dfa3be6fc4ef9cbbc2e8737cec83f70fb416450c4adf3b27a4bee5791e7e06be3fe89cf8a05dda1779 + languageName: node + linkType: hard + +"typescript@npm:^5.5.3": + version: 5.5.3 + resolution: "typescript@npm:5.5.3" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 10c0/f52c71ccbc7080b034b9d3b72051d563601a4815bf3e39ded188e6ce60813f75dbedf11ad15dd4d32a12996a9ed8c7155b46c93a9b9c9bad1049766fe614bbdd + languageName: node + linkType: hard + +"typescript@patch:typescript@npm%3A^5.5.3#optional!builtin": + version: 5.5.3 + resolution: "typescript@patch:typescript@npm%3A5.5.3#optional!builtin::version=5.5.3&hash=379a07" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 10c0/911c7811d61f57f07df79c4a35f56a0f426a65426a020e5fcd792f66559f399017205f5f10255329ab5a3d8c2d1f1d19530aeceffda70758a521fae1d469432e + languageName: node + linkType: hard + +"undici-types@npm:~5.26.4": + version: 5.26.5 + resolution: "undici-types@npm:5.26.5" + checksum: 10c0/bb673d7876c2d411b6eb6c560e0c571eef4a01c1c19925175d16e3a30c4c428181fb8d7ae802a261f283e4166a0ac435e2f505743aa9e45d893f9a3df017b501 + languageName: node + linkType: hard + +"unique-filename@npm:^3.0.0": + version: 3.0.0 + resolution: "unique-filename@npm:3.0.0" + dependencies: + unique-slug: "npm:^4.0.0" + checksum: 10c0/6363e40b2fa758eb5ec5e21b3c7fb83e5da8dcfbd866cc0c199d5534c42f03b9ea9ab069769cc388e1d7ab93b4eeef28ef506ab5f18d910ef29617715101884f + languageName: node + linkType: hard + +"unique-slug@npm:^4.0.0": + version: 4.0.0 + resolution: "unique-slug@npm:4.0.0" + dependencies: + imurmurhash: "npm:^0.1.4" + checksum: 10c0/cb811d9d54eb5821b81b18205750be84cb015c20a4a44280794e915f5a0a70223ce39066781a354e872df3572e8155c228f43ff0cce94c7cbf4da2cc7cbdd635 + languageName: node + linkType: hard + +"universalify@npm:^2.0.0": + version: 2.0.1 + resolution: "universalify@npm:2.0.1" + checksum: 10c0/73e8ee3809041ca8b818efb141801a1004e3fc0002727f1531f4de613ea281b494a40909596dae4a042a4fb6cd385af5d4db2e137b1362e0e91384b828effd3a + languageName: node + linkType: hard + +"update-browserslist-db@npm:^1.1.0": + version: 1.1.0 + resolution: "update-browserslist-db@npm:1.1.0" + dependencies: + escalade: "npm:^3.1.2" + picocolors: "npm:^1.0.1" + peerDependencies: + browserslist: ">= 4.21.0" + bin: + update-browserslist-db: cli.js + checksum: 10c0/a7452de47785842736fb71547651c5bbe5b4dc1e3722ccf48a704b7b34e4dcf633991eaa8e4a6a517ffb738b3252eede3773bef673ef9021baa26b056d63a5b9 + languageName: node + linkType: hard + +"uri-js@npm:^4.2.2": + version: 4.4.1 + resolution: "uri-js@npm:4.4.1" + dependencies: + punycode: "npm:^2.1.0" + checksum: 10c0/4ef57b45aa820d7ac6496e9208559986c665e49447cb072744c13b66925a362d96dd5a46c4530a6b8e203e5db5fe849369444440cb22ecfc26c679359e5dfa3c + languageName: node + linkType: hard + +"util-deprecate@npm:^1.0.2": + version: 1.0.2 + resolution: "util-deprecate@npm:1.0.2" + checksum: 10c0/41a5bdd214df2f6c3ecf8622745e4a366c4adced864bc3c833739791aeeeb1838119af7daed4ba36428114b5c67dcda034a79c882e97e43c03e66a4dd7389942 + languageName: node + linkType: hard + +"vite-hot-client@npm:^0.2.3": + version: 0.2.3 + resolution: "vite-hot-client@npm:0.2.3" + peerDependencies: + vite: ^2.6.0 || ^3.0.0 || ^4.0.0 || ^5.0.0-0 + checksum: 10c0/e60eedfb3c06bf70abde65e46ca1cde72fa5449bdd16a8951a6605360f7a036e0622901f75eaa248258ad8446314d05fcdf8d3ca95648ad33a4119fb1576dfd3 + languageName: node + linkType: hard + +"vite-plugin-inspect@npm:^0.8.4": + version: 0.8.4 + resolution: "vite-plugin-inspect@npm:0.8.4" + dependencies: + "@antfu/utils": "npm:^0.7.7" + "@rollup/pluginutils": "npm:^5.1.0" + debug: "npm:^4.3.4" + error-stack-parser-es: "npm:^0.1.1" + fs-extra: "npm:^11.2.0" + open: "npm:^10.1.0" + perfect-debounce: "npm:^1.0.0" + picocolors: "npm:^1.0.0" + sirv: "npm:^2.0.4" + peerDependencies: + vite: ^3.1.0 || ^4.0.0 || ^5.0.0-0 + peerDependenciesMeta: + "@nuxt/kit": + optional: true + checksum: 10c0/cd9924bdf24989f61317a9400e622ab3db574a807aaae8412815558211a572b71c0988f5110bf03eecda718e286786d8c848756322e2e9b1eebc673515f34cec + languageName: node + linkType: hard + +"vite-plugin-vue-devtools@npm:7.3.6": + version: 7.3.6 + resolution: "vite-plugin-vue-devtools@npm:7.3.6" + dependencies: + "@vue/devtools-core": "npm:^7.3.6" + "@vue/devtools-kit": "npm:^7.3.6" + "@vue/devtools-shared": "npm:^7.3.6" + execa: "npm:^8.0.1" + sirv: "npm:^2.0.4" + vite-plugin-inspect: "npm:^0.8.4" + vite-plugin-vue-inspector: "npm:^5.1.2" + peerDependencies: + vite: ^3.1.0 || ^4.0.0-0 || ^5.0.0-0 + checksum: 10c0/6a33436b61a6ac1c24baf61f98df3bf6fa9d45fb736488676b893f07ea0f0bbc90f83055088d865586cf843da39d26f08b18610aa981fbe045191c0db95cc2cf + languageName: node + linkType: hard + +"vite-plugin-vue-inspector@npm:^5.1.2": + version: 5.1.2 + resolution: "vite-plugin-vue-inspector@npm:5.1.2" + dependencies: + "@babel/core": "npm:^7.23.0" + "@babel/plugin-proposal-decorators": "npm:^7.23.0" + "@babel/plugin-syntax-import-attributes": "npm:^7.22.5" + "@babel/plugin-syntax-import-meta": "npm:^7.10.4" + "@babel/plugin-transform-typescript": "npm:^7.22.15" + "@vue/babel-plugin-jsx": "npm:^1.1.5" + "@vue/compiler-dom": "npm:^3.3.4" + kolorist: "npm:^1.8.0" + magic-string: "npm:^0.30.4" + peerDependencies: + vite: ^3.0.0-0 || ^4.0.0-0 || ^5.0.0-0 + checksum: 10c0/4841b39d865de4f3eb7d6ed4d86aad8d171a7b7f3db5206bbee2b2a17b031f4ad317696e1474e72b62c605fc1326054501d3e5deeb95185fa7d5b79b83e162c6 + languageName: node + linkType: hard + +"vite@npm:5.3.4": + version: 5.3.4 + resolution: "vite@npm:5.3.4" + dependencies: + esbuild: "npm:^0.21.3" + fsevents: "npm:~2.3.3" + postcss: "npm:^8.4.39" + rollup: "npm:^4.13.0" + peerDependencies: + "@types/node": ^18.0.0 || >=20.0.0 + less: "*" + lightningcss: ^1.21.0 + sass: "*" + stylus: "*" + sugarss: "*" + terser: ^5.4.0 + dependenciesMeta: + fsevents: + optional: true + peerDependenciesMeta: + "@types/node": + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + bin: + vite: bin/vite.js + checksum: 10c0/604a1c8698bcf09d6889533c552f20137c80cb5027e9e7ddf6215d51e3df763414f8712168c22b3c8c16383aff9447094c05f21d7cca3c115874ff9d12e1538e + languageName: node + linkType: hard + +"vue-demi@npm:>=0.14.5": + version: 0.14.8 + resolution: "vue-demi@npm:0.14.8" + peerDependencies: + "@vue/composition-api": ^1.0.0-rc.1 + vue: ^3.0.0-0 || ^2.6.0 + peerDependenciesMeta: + "@vue/composition-api": + optional: true + bin: + vue-demi-fix: bin/vue-demi-fix.js + vue-demi-switch: bin/vue-demi-switch.js + checksum: 10c0/71eac43330f36861f541b4bce9232c2668b8e921d1592b20d42b06f2e2ee023c680e9266276921f5c903a6fb4d15880e89c1f7cbbb241eefa5c4954437d17c77 + languageName: node + linkType: hard + +"vue-eslint-parser@npm:^9.4.3": + version: 9.4.3 + resolution: "vue-eslint-parser@npm:9.4.3" + dependencies: + debug: "npm:^4.3.4" + eslint-scope: "npm:^7.1.1" + eslint-visitor-keys: "npm:^3.3.0" + espree: "npm:^9.3.1" + esquery: "npm:^1.4.0" + lodash: "npm:^4.17.21" + semver: "npm:^7.3.6" + peerDependencies: + eslint: ">=6.0.0" + checksum: 10c0/128be5988de025b5abd676a91c3e92af68288a5da1c20b2ff848fe90e040c04b2222a03b5d8048cf4a5e0b667a8addfb6f6e6565860d4afb5190c4cc42d05578 + languageName: node + linkType: hard + +"vue-router@npm:4.4.0": + version: 4.4.0 + resolution: "vue-router@npm:4.4.0" + dependencies: + "@vue/devtools-api": "npm:^6.5.1" + peerDependencies: + vue: ^3.2.0 + checksum: 10c0/aad52e6bf8f52b1fcc3465ad55ff7aaf302b22b7cec14108957eebeba608ad485626fea3eb6750ca516f3d3974c3830a3cd6d97ec8c431aaa45ed23ffede2803 + languageName: node + linkType: hard + +"vue@npm:3.4.32": + version: 3.4.32 + resolution: "vue@npm:3.4.32" + dependencies: + "@vue/compiler-dom": "npm:3.4.32" + "@vue/compiler-sfc": "npm:3.4.32" + "@vue/runtime-dom": "npm:3.4.32" + "@vue/server-renderer": "npm:3.4.32" + "@vue/shared": "npm:3.4.32" + peerDependencies: + typescript: "*" + peerDependenciesMeta: + typescript: + optional: true + checksum: 10c0/be8587db15e20acf8805900db32faa978fa58c45fc2cc498c0f1d1520e50e6f04c6cf531c1a45fbc94c2336009f84b20499f430723b275db5f066abe795399f7 + languageName: node + linkType: hard + +"which@npm:^1.3.1": + version: 1.3.1 + resolution: "which@npm:1.3.1" + dependencies: + isexe: "npm:^2.0.0" + bin: + which: ./bin/which + checksum: 10c0/e945a8b6bbf6821aaaef7f6e0c309d4b615ef35699576d5489b4261da9539f70393c6b2ce700ee4321c18f914ebe5644bc4631b15466ffbaad37d83151f6af59 + languageName: node + linkType: hard + +"which@npm:^2.0.1": + version: 2.0.2 + resolution: "which@npm:2.0.2" + dependencies: + isexe: "npm:^2.0.0" + bin: + node-which: ./bin/node-which + checksum: 10c0/66522872a768b60c2a65a57e8ad184e5372f5b6a9ca6d5f033d4b0dc98aff63995655a7503b9c0a2598936f532120e81dd8cc155e2e92ed662a2b9377cc4374f + languageName: node + linkType: hard + +"which@npm:^4.0.0": + version: 4.0.0 + resolution: "which@npm:4.0.0" + dependencies: + isexe: "npm:^3.1.1" + bin: + node-which: bin/which.js + checksum: 10c0/449fa5c44ed120ccecfe18c433296a4978a7583bf2391c50abce13f76878d2476defde04d0f79db8165bdf432853c1f8389d0485ca6e8ebce3bbcded513d5e6a + languageName: node + linkType: hard + +"word-wrap@npm:^1.2.5": + version: 1.2.5 + resolution: "word-wrap@npm:1.2.5" + checksum: 10c0/e0e4a1ca27599c92a6ca4c32260e8a92e8a44f4ef6ef93f803f8ed823f486e0889fc0b93be4db59c8d51b3064951d25e43d434e95dc8c960cc3a63d65d00ba20 + languageName: node + linkType: hard + +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": + version: 7.0.0 + resolution: "wrap-ansi@npm:7.0.0" + dependencies: + ansi-styles: "npm:^4.0.0" + string-width: "npm:^4.1.0" + strip-ansi: "npm:^6.0.0" + checksum: 10c0/d15fc12c11e4cbc4044a552129ebc75ee3f57aa9c1958373a4db0292d72282f54373b536103987a4a7594db1ef6a4f10acf92978f79b98c49306a4b58c77d4da + languageName: node + linkType: hard + +"wrap-ansi@npm:^8.1.0": + version: 8.1.0 + resolution: "wrap-ansi@npm:8.1.0" + dependencies: + ansi-styles: "npm:^6.1.0" + string-width: "npm:^5.0.1" + strip-ansi: "npm:^7.0.1" + checksum: 10c0/138ff58a41d2f877eae87e3282c0630fc2789012fc1af4d6bd626eeb9a2f9a65ca92005e6e69a75c7b85a68479fe7443c7dbe1eb8fbaa681a4491364b7c55c60 + languageName: node + linkType: hard + +"write-file-atomic@npm:^5.0.1": + version: 5.0.1 + resolution: "write-file-atomic@npm:5.0.1" + dependencies: + imurmurhash: "npm:^0.1.4" + signal-exit: "npm:^4.0.1" + checksum: 10c0/e8c850a8e3e74eeadadb8ad23c9d9d63e4e792bd10f4836ed74189ef6e996763959f1249c5650e232f3c77c11169d239cbfc8342fc70f3fe401407d23810505d + languageName: node + linkType: hard + +"ws@npm:^8.18.0": + version: 8.18.0 + resolution: "ws@npm:8.18.0" + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ">=5.0.2" + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + checksum: 10c0/25eb33aff17edcb90721ed6b0eb250976328533ad3cd1a28a274bd263682e7296a6591ff1436d6cbc50fa67463158b062f9d1122013b361cec99a05f84680e06 + languageName: node + linkType: hard + +"xml-name-validator@npm:^4.0.0": + version: 4.0.0 + resolution: "xml-name-validator@npm:4.0.0" + checksum: 10c0/c1bfa219d64e56fee265b2bd31b2fcecefc063ee802da1e73bad1f21d7afd89b943c9e2c97af2942f60b1ad46f915a4c81e00039c7d398b53cf410e29d3c30bd + languageName: node + linkType: hard + +"yallist@npm:^3.0.2": + version: 3.1.1 + resolution: "yallist@npm:3.1.1" + checksum: 10c0/c66a5c46bc89af1625476f7f0f2ec3653c1a1791d2f9407cfb4c2ba812a1e1c9941416d71ba9719876530e3340a99925f697142989371b72d93b9ee628afd8c1 + languageName: node + linkType: hard + +"yallist@npm:^4.0.0": + version: 4.0.0 + resolution: "yallist@npm:4.0.0" + checksum: 10c0/2286b5e8dbfe22204ab66e2ef5cc9bbb1e55dfc873bbe0d568aa943eb255d131890dfd5bf243637273d31119b870f49c18fcde2c6ffbb7a7a092b870dc90625a + languageName: node + linkType: hard + +"yocto-queue@npm:^0.1.0": + version: 0.1.0 + resolution: "yocto-queue@npm:0.1.0" + checksum: 10c0/dceb44c28578b31641e13695d200d34ec4ab3966a5729814d5445b194933c096b7ced71494ce53a0e8820685d1d010df8b2422e5bf2cdea7e469d97ffbea306f + languageName: node + linkType: hard