diff --git a/.dockerignore b/.dockerignore deleted file mode 100644 index 563ecab3..00000000 --- a/.dockerignore +++ /dev/null @@ -1,5 +0,0 @@ -node_modules -playwright-report -coverage -dist -test-results diff --git a/.eslintrc-auto-import.json b/.eslintrc-auto-import.json index 4084d922..363273af 100644 --- a/.eslintrc-auto-import.json +++ b/.eslintrc-auto-import.json @@ -22,9 +22,7 @@ "createGlobalState": true, "createInjectionState": true, "createReactiveFn": true, - "createReusableTemplate": true, "createSharedComposable": true, - "createTemplatePromise": true, "createUnrefFn": true, "customRef": true, "debouncedRef": true, @@ -44,6 +42,9 @@ "isReactive": true, "isReadonly": true, "isRef": true, + "logicAnd": true, + "logicNot": true, + "logicOr": true, "makeDestructurable": true, "markRaw": true, "nextTick": true, @@ -106,19 +107,6 @@ "unrefElement": true, "until": true, "useActiveElement": true, - "useAnimate": true, - "useArrayDifference": true, - "useArrayEvery": true, - "useArrayFilter": true, - "useArrayFind": true, - "useArrayFindIndex": true, - "useArrayFindLast": true, - "useArrayIncludes": true, - "useArrayJoin": true, - "useArrayMap": true, - "useArrayReduce": true, - "useArraySome": true, - "useArrayUnique": true, "useAsyncQueue": true, "useAsyncState": true, "useAttrs": true, @@ -129,8 +117,8 @@ "useBroadcastChannel": true, "useBrowserLocation": true, "useCached": true, + "useClamp": true, "useClipboard": true, - "useCloned": true, "useColorMode": true, "useConfirmDialog": true, "useCounter": true, @@ -172,7 +160,6 @@ "useFullscreen": true, "useGamepad": true, "useGeolocation": true, - "useI18n": true, "useIdle": true, "useImage": true, "useInfiniteScroll": true, @@ -205,18 +192,12 @@ "useOnline": true, "usePageLeave": true, "useParallax": true, - "useParentElement": true, - "usePerformanceObserver": true, "usePermission": true, "usePointer": true, - "usePointerLock": true, "usePointerSwipe": true, "usePreferredColorScheme": true, - "usePreferredContrast": true, "usePreferredDark": true, "usePreferredLanguages": true, - "usePreferredReducedMotion": true, - "usePrevious": true, "useRafFn": true, "useRefHistory": true, "useResizeObserver": true, @@ -230,17 +211,14 @@ "useSessionStorage": true, "useShare": true, "useSlots": true, - "useSorted": true, "useSpeechRecognition": true, "useSpeechSynthesis": true, "useStepper": true, "useStorage": true, "useStorageAsync": true, "useStyleTag": true, - "useSupported": true, "useSwipe": true, "useTemplateRefsList": true, - "useTextDirection": true, "useTextSelection": true, "useTextareaAutosize": true, "useThrottle": true, @@ -252,8 +230,6 @@ "useTimeoutPoll": true, "useTimestamp": true, "useTitle": true, - "useToNumber": true, - "useToString": true, "useToggle": true, "useTransition": true, "useUrlSearchParams": true, @@ -274,10 +250,8 @@ "watchArray": true, "watchAtMost": true, "watchDebounced": true, - "watchDeep": true, "watchEffect": true, "watchIgnorable": true, - "watchImmediate": true, "watchOnce": true, "watchPausable": true, "watchPostEffect": true, @@ -285,7 +259,6 @@ "watchThrottled": true, "watchTriggerable": true, "watchWithFilter": true, - "whenever": true, - "toValue": true + "whenever": true } -} +} \ No newline at end of file diff --git a/.eslintrc.cjs b/.eslintrc.cjs index 37a67b34..5f9c7417 100644 --- a/.eslintrc.cjs +++ b/.eslintrc.cjs @@ -1,21 +1,39 @@ -/** - * @type {import('eslint').Linter.Config} - */ +/* eslint-env node */ +require('@rushstack/eslint-patch/modern-module-resolution'); + module.exports = { root: true, - extends: ['@antfu', './.eslintrc-auto-import.json', '@unocss'], + extends: [ + 'plugin:vue/vue3-essential', + 'eslint:recommended', + 'plugin:vue/vue3-recommended', + '@vue/eslint-config-typescript/recommended', + '@vue/eslint-config-prettier', + 'plugin:import/recommended', + './.eslintrc-auto-import.json', + '@unocss', + ], + settings: { + 'import/resolver': { typescript: { project: './tsconfig.app.json' } }, + }, + env: { + 'vue/setup-compiler-macros': true, + }, rules: { - 'curly': ['error', 'all'], - '@typescript-eslint/semi': ['error', 'always'], - '@typescript-eslint/no-use-before-define': ['error', { allowNamedExports: true, functions: false }], - 'vue/no-empty-component-block': ['error'], - 'no-restricted-imports': ['error', { - paths: [{ - name: '@vueuse/core', - importNames: ['useClipboard'], - message: 'Please use local useCopy from src/composable/copy.ts instead of useClipboard.', - }], - }], + 'vue/multi-word-component-names': ['off'], + 'prettier/prettier': ['error'], + 'import/no-duplicates': ['error', { considerQueryString: true }], + 'import/order': ['error', { groups: [['builtin', 'external', 'internal']] }], + 'import/extensions': [ + 'error', + 'ignorePackages', + { + js: 'never', + ts: 'never', + tsx: 'never', + }, + ], + 'import/no-unresolved': ['error', { ignore: ['^virtual:'] }], }, }; diff --git a/.github/ISSUE_TEMPLATE/bug-report.md b/.github/ISSUE_TEMPLATE/bug-report.md new file mode 100644 index 00000000..c4bf532b --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug-report.md @@ -0,0 +1,34 @@ +--- +name: Bug report +about: Create a report to help us improve our tools +title: '[BUG] ' +labels: bug +assignees: CorentinTh +--- + +**Which tool is impacted?** +Example: the token generator + +**To Reproduce** +Steps to reproduce the behavior: + +1. Go to '...' +2. Click on '....' +3. Scroll down to '....' +4. See error + +**Expected behavior** +A clear and concise description of what you expected to happen. + +**Screenshots** +If applicable, add screenshots to help explain your problem. + +**Configuration (please complete the following information):** + +- Device: [e.g. iPhone6, ] +- OS: [e.g. iOS] +- Browser [e.g. chrome, safari] +- Version [e.g. 22] + +**Additional context** +Add any other context about the problem here. diff --git a/.github/ISSUE_TEMPLATE/bug-report.yml b/.github/ISSUE_TEMPLATE/bug-report.yml deleted file mode 100644 index d338fa3f..00000000 --- a/.github/ISSUE_TEMPLATE/bug-report.yml +++ /dev/null @@ -1,48 +0,0 @@ -name: 🐞 Bug Report -description: File a bug report. -labels: ['bug', 'triage'] -assignees: - - CorentinTh -body: - - type: markdown - attributes: - value: | - Thanks for taking the time to fill out this bug report! - - - type: textarea - id: bug-description - attributes: - label: Describe the bug - description: A clear and concise description of what the bug is. If you intend to submit a PR for this issue, tell us in the description. Thanks! - placeholder: Bug description - validations: - required: true - - - type: textarea - id: what-happened - attributes: - label: What happened? - description: Also tell us, what did you expect to happen? If you have a screenshot, you can paste it here. - placeholder: Tell us what you see! - value: 'A bug happened!' - validations: - required: true - - - type: textarea - id: version - attributes: - label: System information - description: What is you environment? You can use the `npx envinfo --system --browsers` command to get this information. - validations: - required: true - - - type: dropdown - id: app-type - attributes: - label: Where did you encounter the bug? - options: - - Public app (it-tools.tech) - - A self hosted - - Other (installations, docker, etc.) - validations: - required: true diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml deleted file mode 100644 index 3ba13e0c..00000000 --- a/.github/ISSUE_TEMPLATE/config.yml +++ /dev/null @@ -1 +0,0 @@ -blank_issues_enabled: false diff --git a/.github/ISSUE_TEMPLATE/feature-request.yml b/.github/ISSUE_TEMPLATE/feature-request.yml deleted file mode 100644 index edae822e..00000000 --- a/.github/ISSUE_TEMPLATE/feature-request.yml +++ /dev/null @@ -1,56 +0,0 @@ -name: 🚀 New feature proposal -description: Propose a new feature/enhancement or tool idea for IT-Tools -labels: ['enhancement', 'triage'] - -body: - - type: markdown - attributes: - value: | - Thanks for your interest in the project and taking the time to fill out this feature report! - - - type: dropdown - id: request-type - attributes: - label: What type of request is this? - options: - - New tool idea - - New feature for an existing tool - - Deployment or CI/CD improvement - - Self-hosting improvement - - Other - validations: - required: true - - - type: textarea - id: feature-description - attributes: - label: Clear and concise description of the feature you are proposing - description: A clear and concise description of what the feature is. - placeholder: 'Example: a token generator tool' - validations: - required: true - - - type: textarea - id: alternative - attributes: - label: Is their example of this tool in the wild? - description: Provide link to already existing tool (like websites, apps, cli, ...) or npm packages that could be used or provide inspiration for the feature. - - - type: textarea - id: additional-context - attributes: - label: Additional context - description: Any other context or screenshots about the feature request here. - - - type: checkboxes - id: checkboxes - attributes: - label: Validations - description: Before submitting the issue, please make sure you do the following - options: - - label: Check the feature is not already implemented in the project. - required: true - - label: Check that there isn't already an issue that request the same feature to avoid creating a duplicate. - required: true - - label: Check that the feature can be implemented in a client side only app (IT-Tools is client side only, no server). - required: true diff --git a/.github/ISSUE_TEMPLATE/new-tool-request.md b/.github/ISSUE_TEMPLATE/new-tool-request.md new file mode 100644 index 00000000..58775d1a --- /dev/null +++ b/.github/ISSUE_TEMPLATE/new-tool-request.md @@ -0,0 +1,19 @@ +--- +name: New tool request +about: Suggest a new tool idea +title: '[NEW TOOL]' +labels: new tool +assignees: CorentinTh +--- + +**Which tool is impacted?** +Example: the token generator + +**Describe the solution you'd like** +A clear and concise description of what you want to happen. + +**Is their example of this tool in the wild?** +Provide link to already existing tool or npm packages if any exists + +**Additional context** +Add any other context about the feature request here. diff --git a/.github/ISSUE_TEMPLATE/other-request.md b/.github/ISSUE_TEMPLATE/other-request.md new file mode 100644 index 00000000..b4901ed4 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/other-request.md @@ -0,0 +1,13 @@ +--- +name: Other request +about: Any request that does not concern a tool creation, a new feature request on a tool or a bug +title: '[OTHER] ' +labels: +assignees: CorentinTh +--- + +**Describe the solution you'd like** +A clear and concise description of what you want. + +**Additional context** +Add any other context about the feature request here. diff --git a/.github/ISSUE_TEMPLATE/tool-improvement.md b/.github/ISSUE_TEMPLATE/tool-improvement.md new file mode 100644 index 00000000..8ff8bb6c --- /dev/null +++ b/.github/ISSUE_TEMPLATE/tool-improvement.md @@ -0,0 +1,13 @@ +--- +name: Tool improvement +about: Improvement on an existing tool +title: '[TOOL IMPROVEMENT]' +labels: enhancement +assignees: CorentinTh +--- + +**Describe the solution you'd like** +A clear and concise description of what you want to happen. + +**Additional context** +Add any other context about the feature request here. diff --git a/.github/logo-dark.png b/.github/logo-dark.png deleted file mode 100644 index 9bee8a9c..00000000 Binary files a/.github/logo-dark.png and /dev/null differ diff --git a/.github/logo-white.png b/.github/logo-white.png deleted file mode 100644 index 560a135b..00000000 Binary files a/.github/logo-white.png and /dev/null differ diff --git a/.github/logo.png b/.github/logo.png new file mode 100644 index 00000000..18bac950 Binary files /dev/null and b/.github/logo.png differ diff --git a/.github/sponsor-banner.svg b/.github/sponsor-banner.svg deleted file mode 100644 index 3ef81070..00000000 --- a/.github/sponsor-banner.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4dd9ffb7..5f5a9b6a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -11,11 +11,11 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac # v4 + - uses: actions/checkout@v3 - run: corepack enable - uses: actions/setup-node@v3 with: - node-version: 20 + node-version: 16 cache: 'pnpm' - name: Install dependencies diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml new file mode 100644 index 00000000..c0ca847e --- /dev/null +++ b/.github/workflows/codeql-analysis.yml @@ -0,0 +1,69 @@ +# For most projects, this workflow file will not need changing; you simply need +# to commit it to your repository. +# +# You may wish to alter this file to override the set of languages analyzed, +# or to provide custom queries or build logic. +# +# ******** NOTE ******** +# We have attempted to detect the languages in your repository. Please check +# the `language` matrix defined below to confirm you have the correct set of +# supported CodeQL languages. +# +name: "CodeQL" + +on: + push: + branches: [ dev ] + pull_request: + # The branches below must be a subset of the branches above + branches: [ dev ] + +jobs: + analyze: + name: Analyze + runs-on: ubuntu-latest + permissions: + actions: read + contents: read + security-events: write + + strategy: + fail-fast: false + matrix: + language: [ 'javascript' ] + # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python' ] + # Learn more: + # https://docs.github.com/en/free-pro-team@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#changing-the-languages-that-are-analyzed + + steps: + - name: Checkout repository + uses: actions/checkout@v2 + + # Initializes the CodeQL tools for scanning. + - name: Initialize CodeQL + uses: github/codeql-action/init@v1 + with: + languages: ${{ matrix.language }} + # If you wish to specify custom queries, you can do so here or in a config file. + # By default, queries listed here will override any specified in a config file. + # Prefix the list here with "+" to use these queries and those in the config file. + # queries: ./path/to/local/query, your-org/your-repo/queries@main + + # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). + # If this step fails, then you should remove it and run the build manually (see below) + - name: Autobuild + uses: github/codeql-action/autobuild@v1 + + # ℹ️ Command-line programs to run using the OS shell. + # 📚 https://git.io/JvXDl + + # ✏️ If the Autobuild fails above, remove it and uncomment the following three lines + # and modify them (or add more) to build your code if your project + # uses a compiled language + + #- run: | + # make bootstrap + # make release + + - name: Perform CodeQL Analysis + uses: github/codeql-action/analyze@v1 diff --git a/.github/workflows/docker-nightly-release.yml b/.github/workflows/docker-nightly-release.yml index 41dbb155..c75d9281 100644 --- a/.github/workflows/docker-nightly-release.yml +++ b/.github/workflows/docker-nightly-release.yml @@ -12,7 +12,7 @@ jobs: outputs: should_run: ${{ steps.should_run.outputs.should_run }} steps: - - uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac # v4 + - uses: actions/checkout@v2 - name: print latest_commit run: echo ${{ github.sha }} @@ -28,11 +28,11 @@ jobs: if: ${{ needs.check_date.outputs.should_run != 'false' }} steps: - - uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac # v4 + - uses: actions/checkout@v3 - run: corepack enable - uses: actions/setup-node@v3 with: - node-version: 20 + node-version: 16 cache: 'pnpm' - name: Install dependencies @@ -54,29 +54,29 @@ jobs: steps: - name: Checkout - uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac # v4 + uses: actions/checkout@v3 - name: Login to GitHub Container Registry - uses: docker/login-action@v3 + uses: docker/login-action@v1 with: registry: ghcr.io username: ${{ github.repository_owner }} password: ${{ secrets.GITHUB_TOKEN }} - name: Login to Docker Hub - uses: docker/login-action@v3 + uses: docker/login-action@v2 with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} - name: Set up QEMU - uses: docker/setup-qemu-action@v3 + uses: docker/setup-qemu-action@v2 - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 + uses: docker/setup-buildx-action@v2 - name: Build and push - uses: docker/build-push-action@v5 + uses: docker/build-push-action@v4 with: context: . file: ./Dockerfile diff --git a/.github/workflows/e2e-tests.yml b/.github/workflows/e2e-tests.yml deleted file mode 100644 index 13b787ef..00000000 --- a/.github/workflows/e2e-tests.yml +++ /dev/null @@ -1,47 +0,0 @@ -name: E2E tests -on: - pull_request: - push: - branches: - - main -jobs: - test: - timeout-minutes: 10 - runs-on: ubuntu-latest - strategy: - matrix: - shard: [1/3, 2/3, 3/3] - steps: - - uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac # v4 - - - run: corepack enable - - - uses: actions/setup-node@v3 - with: - node-version: 20 - cache: 'pnpm' - - - name: Get Playwright version - id: playwright-version - run: echo "PLAYWRIGHT_VERSION=$(jq -r .dependencies.playwright package.json)" >> "$GITHUB_OUTPUT" - - - name: Install dependencies - run: pnpm install - - - name: Build app - run: pnpm build - - - name: Restore Playwright browsers from cache - uses: actions/cache@v3 - with: - path: ~/.cache/ms-playwright - key: ${{ runner.os }}-playwright-${{ steps.playwright-version.outputs.PLAYWRIGHT_VERSION }}-${{ hashFiles('**/playwright.config.ts') }} - restore-keys: | - ${{ runner.os }}-playwright-${{ steps.playwright-version.outputs.PLAYWRIGHT_VERSION }}- - ${{ runner.os }}-playwright- - - - name: Install Playwright Browsers - run: pnpm exec playwright install --with-deps - - - name: Run Playwright tests - run: pnpm run test:e2e --shard=${{ matrix.shard }} diff --git a/.github/workflows/playwright.yml b/.github/workflows/playwright.yml new file mode 100644 index 00000000..13d09495 --- /dev/null +++ b/.github/workflows/playwright.yml @@ -0,0 +1,23 @@ +name: E2E tests +on: + pull_request: + push: + branches: + - main +jobs: + test: + timeout-minutes: 60 + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - run: corepack enable + - uses: actions/setup-node@v3 + with: + node-version: 16 + cache: 'pnpm' + - name: Install dependencies + run: pnpm install + - name: Install Playwright Browsers + run: pnpm exec playwright install --with-deps + - name: Run Playwright tests + run: pnpm exec playwright test diff --git a/.github/workflows/releases.yml b/.github/workflows/releases.yml index d0d3febd..f6848eec 100644 --- a/.github/workflows/releases.yml +++ b/.github/workflows/releases.yml @@ -13,29 +13,29 @@ jobs: run: echo "RELEASE_VERSION=${GITHUB_REF#refs/tags/v}" >> $GITHUB_ENV - name: Checkout - uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac # v4 + uses: actions/checkout@v3 - name: Login to GitHub Container Registry - uses: docker/login-action@v3 + uses: docker/login-action@v1 with: registry: ghcr.io username: ${{ github.repository_owner }} password: ${{ secrets.GITHUB_TOKEN }} - name: Login to Docker Hub - uses: docker/login-action@v3 + uses: docker/login-action@v2 with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} - name: Set up QEMU - uses: docker/setup-qemu-action@v3 + uses: docker/setup-qemu-action@v2 - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 + uses: docker/setup-buildx-action@v2 - name: Build and push - uses: docker/build-push-action@v5 + uses: docker/build-push-action@v4 with: context: . file: ./Dockerfile @@ -55,13 +55,13 @@ jobs: run: echo "RELEASE_VERSION=${GITHUB_REF#refs/tags/v}" >> $GITHUB_ENV - name: Checkout - uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac # v4 + uses: actions/checkout@v3 - run: corepack enable - uses: actions/setup-node@v3 with: - node-version: 20 + node-version: 16 cache: 'pnpm' - name: Install dependencies diff --git a/.gitignore b/.gitignore index a3bbd943..2cfe718a 100644 --- a/.gitignore +++ b/.gitignore @@ -31,5 +31,3 @@ coverage /test-results/ /playwright-report/ /playwright/.cache/ -# Webkit with playwright creates a salt file -salt \ No newline at end of file diff --git a/.nvmrc b/.nvmrc index 87ec8842..d9f88006 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -18.18.2 +16.14.2 diff --git a/.vscode/extensions.json b/.vscode/extensions.json index 35488bcd..ea7012d8 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -1,3 +1,3 @@ { - "recommendations": ["Vue.volar", "Vue.vscode-typescript-vue-plugin", "dbaeumer.vscode-eslint", "lokalise.i18n-ally"] + "recommendations": ["Vue.volar", "Vue.vscode-typescript-vue-plugin", "dbaeumer.vscode-eslint"] } diff --git a/CHANGELOG.md b/CHANGELOG.md index 261fb9ac..10259598 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,357 +2,19 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. -## Version 2024.10.22-7ca5933 - -### Features -- **new tool**: Regex Tester (and Cheatsheet) (#1030) (f5c4ab1) -- **new tool**: Markdown to HTML (#916) (87984e2) -- **new-tool**: add email normalizer (#1243) (318fb6e) -- **new tools**: JSON to XML and XML to JSON (#1231) (f1a5489) -- **lorem-ipsum**: add button to refresh text lorem-ipsum (#1213) (e1b4f9a) -- **base64**: Base64 enhancements (#905) (30144aa) - -### Bug fixes -- **favorites**: store favorites regardless of languages (#1202) (7ca5933) -- **emoji-picker**: debounced search input (#1181) (76a19d2) -- **format-transformer**: set overflow for output area width (#787) (b430bae) -- **jwt-parser**: prevent UI overflow on small screen (#1095) (dd4b7e6) - -### Refactoring -- **regex-tester**: better description (7251700) - -### Chores -- **sponsors**: fern sponsor banners (#1314) (f962c41) -- **readme**: updated logos (#1294) (6709498) - -### Documentation -- **author**: updated author links (#1316) (1c35ac3) - -## Version 2024.05.13-a0bc346 - -### Features -- **i18n**: added German translation (#1038) (2c2fb21) -- **new tool**: Outlook Safelink Decoder (#911) (d3b32cc) -- **new tool**: ascii art generator (#886) (fe349ad) -- **i18n**: get locales on build (#880) (dc04615) -- **i18n**: added vi tools translations (#876) (079aa21) -- **i18n**: added zh tools translations (#874) (9c6b122) -- **i18n**: added missing locale files in tools (#863) (7f5fa00) -- **i18n**: added vietnamese language (#859) (1334bff) -- **i18n**: added spanish language (#854) (85b50bb) -- **i18n**: added portuguese language (#813) (c65ffb6) -- **i18n**: added ukrainian language (#827) (693f362) -- **new-tool**: yaml formater (#779) (fc06f01) -- **new-tool**: added unicode conversion utilities (#858) (c46207f) - -### Bug fixes -- **language**: English language cleanup (#1036) (221ddfa) -- **url-encoder, validation**: typo in validation of url-encoder.vue #1024 (cb5b462) -- **integer base converter**: support bigint (#872) (9eac9cb) -- **bcrypt tool**: allow salt rounds up to 100 (#987) (23f82d9) - -### Refactoring -- **lint**: removed extra semi (33e5294) -- **auto-imports**: regen auto imports (1242842) -- **home**: lightened tool cards (#882) (a07806c) -- **home**: removed n-grid to prevent layout shift (#881) (10e56b3) -- **i18n**: added locales per tool (#861) (95698cb) - -### Chores -- **issues**: prevent empty issues (#1078) (a0bc346) -- **issues**: removed old issue templates (#1077) (5a7b0f9) -- **node**: upgraded node version in CI workflows (b59942a) -- **version**: release 2024.05.10-33e5294 (38d5687) -- **issues**: improved issues template (2852c30) -- **issues**: improved bug issue template (#1046) (a799234) - -### Documentation -- **changelog**: update changelog for 2024.05.10-33e5294 (9dfd347) - -## Version 2023.12.21-5ed3693 - -### Features - -- **i18n**: improve chinese i18n (#757) (2e56641) -- **i18n**: add tooltip and favoriteButton i18n (#756) (a1037cf) -- **i18n**: add Chinese translation base (#718) (8f99eb6) -- **new tool**: pdf signature checker (#745) (4781920) -- **new tool**: numeronym generator (#729) (e07e2ae) - -### Bug fixes - -- **jwt-parser**: jwt claim array support (#799) (5ed3693) -- **camera-recorder**: stop camera on navigation (#782) (80e46c9) -- **doc**: updated create new tool command in readme (#762) (7a70dbb) -- **base64-file-converter**: fix downloading of index.html content without data preambula (#750) (043e4f0) -- **docker**: rollback armv7 in docker releases (#741) (205e360) -- **eta**: corrected example (#737) (821cbea) - -### Refactoring - -- **about, i18n**: improved i18n dx with markdown (#753) (bd3edcb) -- **token, i18n**: complete fr translation (#752) (de1ee69) -- **uuid generator**: uuid version picker (#751) (38586ca) -- **case converter**: no split on lowercase, uppercase and mocking case (#748) (ca43a25) -- **ui**: replaced legacy n-upload with c-file-upload (#747) (7fe47b3) -- **token**: added password in token generator keywords (#746) (16ffe6b) -- **bcrypt**: fix input label align (#721) (093ff31) - -### Chores - -- **deps**: switched from oui to oui-data for mac address lookup (#693) (0fe9a20) -- **deps**: update unocss monorepo to ^0.57.0 (#638) (2e396d8) -- **docker**: added armv7 plateform for docker releases (#722) (fe1de8c) - -## Version 2023.11.02-7d94e11 - -### Features - -- **i18n**: language selector (#710) (e86fd96) - -### Bug fixes - -- **dockerfile**: revert replacement of nginx image with non-privileged one (#716) (7d94e11) -- **encryption**: alert on decryption error (#711) (02b0d0d) - -### Refactoring - -- **math-evaluator**: improved description (e87f4b1) -- **math-evaluator**: improved search and UX (#713) (58de897) - -## Version 2023.11.01-e164afb - -### Features - -- **command-palette**: clear prompt on palette close (#708) (d013696) -- **command-palette**: added about page in command palette (99b1eb9) -- **new tool**: random MAC address generator (#657) (cc3425d) -- **case-converter**: added mocking case (#705) (681f7bf) -- **date-converter**: added excel date time format (#704) (f5eb7a8) -- **i18n**: token generator (#688) (02e68d3) -- **i18n**: home page (#687) (00562ed) -- **i18n**: support for i18n in .ts files (#683) (ebb4ec4) -- **i18n**: tool card (#682) (84a4a64) -- **i18n**: about page (#680) (a2b53c2) -- **i18n**: 404 page (#679) (35563b8) -- **new tool**: text to ascii converter (#669) (b2ad4f7) -- **new tool**: ULID generator (#623) (5c4d775) -- **new tool**: add wifi qr code generator (#599) (0eedce6) -- **new tool**: iban validation and parser (#591) (3a63837) -- **new tool**: text diff and comparator (#588) (81bfe57) - -### Bug fixes - -- **deps**: fix issue on slugify (#593) (#673) (720201a) -- **deps**: update dependency monaco-editor to ^0.43.0 (#620) (e371ef7) -- **deps**: update dependency sql-formatter to v13 (#606) (c7d4562) - -### Refactoring - -- **ui**: better ui demo preview menu (#664) (015c673) -- **color-converter**: improved color-converter UX (#701) (abb8335) -- **docker**: improved docker config (#700) (020e9cb) -- **c-table**: added description on c-table for accessibility (b408df8) -- **ci**: reduced timeout in e2e (#666) (88b8818) -- **ui**: new c-table ui component (#665) (ee4c853) -- **ui**: removed n-page-header component in user-agent parser (#663) (cbf58fd) -- **ui**: removed n-p components in about page (#662) (a757a51) -- **ui**: switched naive tooltip components to custom ones (#661) (025f556) -- **spelling**: minor corrections to phrasing/spelling (#596) (8a30b6b) -- **i18n**: merge tools scoped locales with global ones (#612) (233d556) -- **c-key-value-list**: got rid of table for layout (#611) (7ab9204) -- **CI**: run e2e against built app and no longer vercel (#610) (18dd140) -- **bcrypt**: fix typo (#604) (e18bae1) - -### Chores - -- **deps**: clean unused dependencies (#709) (e164afb) -- **deps**: update docker/setup-qemu-action action to v3 (#627) (4365226) -- **deps**: update docker/setup-buildx-action action to v3 (#626) (57ecda1) -- **deps**: update docker/login-action action to v3 (#625) (d8d7a3b) -- **deps**: update docker/build-push-action action to v5 (#624) (d36b18f) -- **deps**: update dependency node to v18.18.2 (#674) (eea9f91) -- **deps**: update dependency node to v18.18.0 (#636) (2d2dffb) -- **deps**: update actions/checkout action to v4 (#613) (4972159) -- **deps**: update dependency unplugin-icons to ^0.17.0 (#609) (f035f48) -- **deps**: update dependency @intlify/unplugin-vue-i18n to ^0.13.0 (#597) (d1dff42) -- **deps**: update dependency @antfu/eslint-config to ^0.41.0 (#585) (a9cd91c) -- **deps**: update dependency typescript to ~5.2.0 (#587) (f3e14fc) - -### Doc - -- **readme**: added contributors list (#622) (557b304) -- **hosting**: added cloudron in the other hosting solutions section (#589) (06c3547) - -## Version 2023.08.21-6f93cba - -### Features - -- **copy**: support legacy copy to clipboard for older browser (#581) (6f93cba) -- **new tool**: string obfuscator (#575) (c58d6e3) - -### Bug fixes - -- **deps**: update dependency sql-formatter to v12 (#520) (2bcb77a) - -### Chores - -- **deps**: switched to fucking typescript v5 (#501) (76b2761) -- **deps**: update dependency @antfu/eslint-config to ^0.40.0 (#552) (6ff9a01) -- **deps**: update dependency prettier to v3 (#564) (a2b9b15) -- **deps**: removed @typescript-eslint/parser (#563) (144f86e) -- **deps**: removed ts-pattern (#565) (0f1f659) - -## Version 2023.08.16-9bd4ad4 - -### Features - -- **Case Converter**: Add lowercase and uppercase (#534) (7b6232a) -- **new tool**: emoji picker (#551) (93f7cf0) -- **ui**: added c-select in the ui lib (#550) (dfa1ba8) -- **new-tool**: password strength analyzer (#502) (a9c7b89) -- **new-tool**: yaml to toml (e29b258) -- **new-tool**: json to toml (ea50a3f) -- **new-tool**: toml to yaml (746e5bd) -- **new-tool**: toml to json (c7d4f11) -- **command-palette**: random tool action (ec4c533) -- **config**: allow app to run in a subfolder via BASE_URL (#461) (6304595) -- **new-tool**: percentage calculator (#456) (b9406a4) -- **new-tool**: json to csv converter (69f0bd0) -- **new tool**: xml formatter (#457) (a6bbeae) -- **chmod-calculator**: added symbolic representation (#455) (f771e7a) -- **enhancement**: use system dark mode (#458) (cf7b1f0) -- **phone-parser**: searchable country code select (d2956b6) -- **new tool**: camera screenshot and recorder (34d8e5c) -- **base64-string-converter**: switch to encode and decode url safe base64 strings (#392) (0b20f1c) - -### Bug fixes - -- **deps**: update dependency uuid to v9 (#566) (5e12991) -- **deps**: update dependency mathjs to v11 (#519) (7924456) -- **deps**: update dependency @vueuse/router to v10 (#516) (ea0f27c) -- **copy**: prevent shorthand copy if source is present in useCopy (#559) (86e964a) -- **c-lib**: hide component library shortcut link in non-dev (#557) (56d74d0) -- **emoji picker**: fix copy button (#556) (e5d0ba7) -- **deps**: update dependency @vueuse/head to v1 (#515) (d12dd40) -- **deps**: update dependency country-code-lookup to ^0.1.0 (#493) (8c72e69) -- **deps**: update dependency @vueuse/head to ^0.9.0 (#492) (cec9dea) -- **i18n**: fallback for demo i18n (12d9e5d) -- **typos**: fixed more typos & uppercase JSON (#475) (9526ed8) -- **about**: typos and wording (#474) (7068610) -- **mime-types**: typos (#470) (c4cec9e) -- **sonar**: took down minor sonar warning (4cbd7ac) -- **readme**: typo (105b21b) -- **ipv4-range-expander**: calculate correct for ip addresses where the first octet is lower than 128 (#405) (8c92d56) -- **ipv4-converter**: removed readonly on input (7aed9c5) - -### Refactoring - -- **navbar**: consistent spacing in navbar buttons (#507) (30f88fc) -- **ui**: remove n-text (#506) (72c98a3) -- **ui**: replaced some n-input to c-input (#505) (05ea545) -- **json-viewer**: input monospace font (#485) (9125dcf) -- **search**: command palette design (#463) (bcb98b3) -- **c-input-text**: force usage of props with default (1e2a35b) -- **naming**: prevent auto import conflicts for git memo (45c2474) -- **imports**: removed unnecessary imports to vue (fe61f0f) -- **ui**: removed all n-space (4d2b037) -- **ui**: replaced some n-input with c-input-text (f7fc779) - -### Chores - -- **deps**: update dependency vitest to ^0.34.0 (#562) (9bd4ad4) -- **deps**: update dependency node to v18.17.1 (#560) (65a9474) -- **deps**: update dependency unocss to ^0.55.0 (#561) (85cc7a8) -- **deps**: update dependency @unocss/eslint-config to ^0.55.0 (#553) (4268e25) -- **deps**: update dependency @intlify/unplugin-vue-i18n to ^0.12.0 (#526) (d1c8880) -- **deps**: update docker/login-action action to v2 (#512) (99bc84c) -- **deps**: update dependency jsdom to v22 (#499) (cd5a503) -- **deps**: update dependency @vitejs/plugin-vue-jsx to v3 (#497) (1a60236) -- **deps**: update dependency @vitejs/plugin-vue to v4 (#496) (a249421) -- **deps**: update dependency vite-plugin-pwa to ^0.16.0 (#488) (6498c9b) -- **deps**: update dependency vite to v4 (#503) (f40d7ec) -- **ci**: e2e against vercel deployement (#518) (2e28c50) -- **e2e**: execute e2e against built app (#511) (cf382b5) -- **deps**: update github/codeql-action action to v2 (#513) (0152583) -- **deps**: update node.js to v18 (#514) (38cb61d) -- **deps**: switched from vite-plugin-md to vite-plugin-vue-markdown (#510) (354aed6) -- **deps**: update dependency workbox-window to v7 (#509) (6b8682f) -- **deps**: update dependency vite-svg-loader to v4 (#508) (9e8349d) -- **deps**: update dependency typescript to ~4.9.0 (#481) (f440507) -- **deps**: update dependency vue-tsc to ^0.40.0 (#490) (b0d9a3e) -- **deps**: updated unplugin-auto-import (#504) (5c3bebf) -- **deps**: removed start-server-and-test dependency (8df7cd0) -- **deps**: update dependency c8 to v8 (#498) (6bda2ca) -- **deps**: update dependency @types/jsdom to v21 (#495) (994a1c3) -- **deps**: update node.js to v16.20.1 (#491) (05edaf4) -- **deps**: update dependency vitest to ^0.32.0 (#489) (49eacea) -- **deps**: update actions/checkout action to v3 (#494) (3f7d469) -- **deps**: update dependency unplugin-vue-components to ^0.25.0 (#484) (5f21908) -- **deps**: update dependency unplugin-auto-import to ^0.16.0 (#483) (6cb0845) -- **deps**: update dependency unocss to ^0.53.0 (#482) (38710dc) -- **deps**: update dependency @unocss/eslint-config to ^0.53.0 (#478) (282cfc4) -- **deps**: added renovate.json (#477) (363c2e4) -- **i18n**: tool scoped locales (#471) (1b038c7) -- **wysiwyg-editor**: update tiptap dependencies (732da08) -- **i18n**: setup i18n plugin config (ebfb872) -- **config**: netlify deployment support (#443) (93799af) -- **ci**: shard e2e tests (962a6d6) -- **lint**: switched to a better lint config (33c9b66) - -### Refacor - -- **transformers**: use monospace font for JSON and SQL text areas (#476) (ba4876d) - -### Documentation - -- **ide**: updated vscode extensions settings (#472) (847323c) - -### Chors - -- **deps**: updated vueuse dependency version (8515c24) - -## Version 2023.05.14-77f2efc - -### Features - -- **list-converter**: a small converter who deals with column based data and do some stuff with it (#387) (83a7b3b) -- **new tool**: phone parser and normalizer (ce3150c) - -### Bug fixes - -- **phone-parser**: use default country code (a43c546) -- **home**: prevent weird blue border on card (3f6c8f0) - -### Refactoring - -- **ui**: replaced some n-input with c-input-text (77f2efc) - -### Chores - -- **issues**: updated new tool request issue template (edae4c6) - -### Ui-lib - -- **new-component**: added text input component in the c-lib (aad8d84) -- **button**: size variants (401f13f) - ## Version 2023.04.23-92bd835 ### Features - - **ui-lib**: demo pages for c-lib components (92bd835) - **new-tool**: diff of two json objects (362f2fa) - **ipv4-range-expander**: expands a given IPv4 start and end address to a valid IPv4 subnet (#366) (df989e2) - **date converter**: auto focus main input (6d22025) ### Bug fixes - - **ts**: cleaned legacy typechecking warning (e88c1d5) - **mac-address-lookup**: added copy handler on button click (c311e38) ### Refactoring - - **ui-lib**: prevent c-button to shrink (61ece23) - **ui**: replaced naive ui cards with custom ones (f080933) - **clean**: removed unused lodash import (bb32513) @@ -362,60 +24,48 @@ All notable changes to this project will be documented in this file. See [standa ## Version 2023.04.14-dbad773 ### Features - - **new-tool**: http status codes (8355bd2) ### Refactoring - - **uuid-generator**: prevent NaN in quantity (6fb4994) ### Chores - - **release**: create a github release on new version (dbad773) - **version**: reset CHANGELOG content to support new format (85cb0ff) ## Version 2023.04.14-f9b77b7 ### Features - - **new-tool**: http status codes (8355bd2) ### Refactoring - - **uuid-generator**: prevent NaN in quantity (6fb4994) ### Chores - - **release**: create a github release on new version (f9b77b7) - **version**: reset CHANGELOG content to support new format (85cb0ff) ## Version 2023.04.14-2f0d239 ### Features - - **new-tool**: http status codes (8355bd2) ### Refactoring - - **uuid-generator**: prevent NaN in quantity (6fb4994) ### Chores - - **release**: create a github release on new version (2f0d239) - **version**: reset CHANGELOG content to support new format (85cb0ff) ## Version 2023.04.14-474cae4 ### Features - - **new-tool**: http status codes (8355bd2) ### Refactoring - - **uuid-generator**: prevent NaN in quantity (6fb4994) ### Chores - - **release**: create a github release on new version (474cae4) - **version**: reset CHANGELOG content to support new format (85cb0ff) diff --git a/Dockerfile b/Dockerfile index 734bd73d..f67fa940 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,12 +1,9 @@ # build stage FROM node:lts-alpine AS build-stage -# Set environment variables for non-interactive npm installs -ENV NPM_CONFIG_LOGLEVEL warn -ENV CI true WORKDIR /app -COPY package.json pnpm-lock.yaml ./ -RUN npm install -g pnpm && pnpm i --frozen-lockfile COPY . . +RUN npm install -g pnpm +RUN pnpm i --frozen-lockfile RUN pnpm build # production stage @@ -14,4 +11,4 @@ FROM nginx:stable-alpine AS production-stage COPY --from=build-stage /app/dist /usr/share/nginx/html COPY nginx.conf /etc/nginx/conf.d/default.conf EXPOSE 80 -CMD ["nginx", "-g", "daemon off;"] +CMD ["nginx", "-g", "daemon off;"] \ No newline at end of file diff --git a/README.md b/README.md index a13246e8..2f8ee8c2 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,4 @@ - - - - logo - +![logo](.github/logo.png) Useful tools for developer and people working in IT. [Have a look !](https://it-tools.tech). @@ -10,7 +6,7 @@ Useful tools for developer and people working in IT. [Have a look !](https://it- Please check the [issues](https://github.com/CorentinTh/it-tools/issues) to see if some feature listed to be implemented. -You have an idea of a tool? Submit a [feature request](https://github.com/CorentinTh/it-tools/issues/new/choose)! +You have an idea of a tool? Submit a [feature request](https://github.com/CorentinTh/it-tools/issues/new?assignees=corentinth&labels=&template=feature_request.md&title=)! ## Self host @@ -30,7 +26,6 @@ docker run -d --name it-tools --restart unless-stopped -p 8080:80 ghcr.io/corent **Other solutions:** -- [Cloudron](https://www.cloudron.io/store/tech.ittools.cloudron.html) - [Tipi](https://www.runtipi.io/docs/apps-available) - [Unraid](https://unraid.net/community/apps?q=it-tools) @@ -38,25 +33,7 @@ docker run -d --name it-tools --restart unless-stopped -p 8080:80 ghcr.io/corent ### Recommended IDE Setup -[VSCode](https://code.visualstudio.com/) with the following extensions: - -- [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) -- [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). -- [ESLint](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint) -- [i18n Ally](https://marketplace.visualstudio.com/items?itemName=lokalise.i18n-ally) - -with the following settings: - -```json -{ - "editor.formatOnSave": false, - "editor.codeActionsOnSave": { - "source.fixAll.eslint": true - }, - "i18n-ally.localesPaths": ["locales", "src/tools/*/locales"], - "i18n-ally.keystyle": "nested" -} -``` +[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). ### Type Support for `.vue` Imports in TS @@ -104,25 +81,17 @@ pnpm lint To create a new tool, there is a script that generate the boilerplate of the new tool, simply run: ```sh -pnpm run script:create:tool my-tool-name +pnpm run script:create-new-tool my-tool-name ``` -It will create a directory in `src/tools` with the correct files, and a the import in `src/tools/index.ts`. You will just need to add the imported tool in the proper category and develop the tool. - -## Contributors - -Big thanks to all the people who have already contributed! - -[![contributors](https://contrib.rocks/image?repo=corentinth/it-tools&refresh=1)](https://github.com/corentinth/it-tools/graphs/contributors) +It will create a directory in `src/tools` with the correct files, and a the import in `src/tools/index.ts`. You will just need to add the inported tool in the proper category and develop the tool. ## Credits -Coded with ❤️ by [Corentin Thomasset](https://corentin.tech?utm_source=it-tools&utm_medium=readme). +Coded with ❤️ by [Corentin Thomasset](//corentin-thomasset.fr). This project is continuously deployed using [vercel.com](https://vercel.com). -Contributor graph is generated using [contrib.rocks](https://contrib.rocks/preview?repo=corentinth/it-tools). - IT Tools - Collection of handy online tools for devs, with great UX | Product Hunt IT Tools - Collection of handy online tools for devs, with great UX | Product Hunt diff --git a/_templates/generator/ui-component/component.demo.ejs.t b/_templates/generator/ui-component/component.demo.ejs.t deleted file mode 100644 index 7f9b473f..00000000 --- a/_templates/generator/ui-component/component.demo.ejs.t +++ /dev/null @@ -1,6 +0,0 @@ ---- -to: src/ui/<%= h.changeCase.param(name) %>/<%= h.changeCase.param(name) %>.demo.vue ---- - diff --git a/_templates/generator/ui-component/component.ejs.t b/_templates/generator/ui-component/component.ejs.t deleted file mode 100644 index 43acd4d1..00000000 --- a/_templates/generator/ui-component/component.ejs.t +++ /dev/null @@ -1,13 +0,0 @@ ---- -to: src/ui/<%= h.changeCase.param(name) %>/<%= h.changeCase.param(name) %>.vue ---- - - - diff --git a/auto-imports.d.ts b/auto-imports.d.ts index 186963f1..2850890b 100644 --- a/auto-imports.d.ts +++ b/auto-imports.d.ts @@ -19,9 +19,7 @@ declare global { const createGlobalState: typeof import('@vueuse/core')['createGlobalState'] const createInjectionState: typeof import('@vueuse/core')['createInjectionState'] const createReactiveFn: typeof import('@vueuse/core')['createReactiveFn'] - const createReusableTemplate: typeof import('@vueuse/core')['createReusableTemplate'] const createSharedComposable: typeof import('@vueuse/core')['createSharedComposable'] - const createTemplatePromise: typeof import('@vueuse/core')['createTemplatePromise'] const createUnrefFn: typeof import('@vueuse/core')['createUnrefFn'] const customRef: typeof import('vue')['customRef'] const debouncedRef: typeof import('@vueuse/core')['debouncedRef'] @@ -41,6 +39,9 @@ declare global { const isReactive: typeof import('vue')['isReactive'] const isReadonly: typeof import('vue')['isReadonly'] const isRef: typeof import('vue')['isRef'] + const logicAnd: typeof import('@vueuse/core')['logicAnd'] + const logicNot: typeof import('@vueuse/core')['logicNot'] + const logicOr: typeof import('@vueuse/core')['logicOr'] const makeDestructurable: typeof import('@vueuse/core')['makeDestructurable'] const markRaw: typeof import('vue')['markRaw'] const nextTick: typeof import('vue')['nextTick'] @@ -93,7 +94,6 @@ declare global { const toReactive: typeof import('@vueuse/core')['toReactive'] const toRef: typeof import('vue')['toRef'] const toRefs: typeof import('vue')['toRefs'] - const toValue: typeof import('vue')['toValue'] const triggerRef: typeof import('vue')['triggerRef'] const tryOnBeforeMount: typeof import('@vueuse/core')['tryOnBeforeMount'] const tryOnBeforeUnmount: typeof import('@vueuse/core')['tryOnBeforeUnmount'] @@ -104,19 +104,6 @@ declare global { const unrefElement: typeof import('@vueuse/core')['unrefElement'] const until: typeof import('@vueuse/core')['until'] const useActiveElement: typeof import('@vueuse/core')['useActiveElement'] - const useAnimate: typeof import('@vueuse/core')['useAnimate'] - const useArrayDifference: typeof import('@vueuse/core')['useArrayDifference'] - const useArrayEvery: typeof import('@vueuse/core')['useArrayEvery'] - const useArrayFilter: typeof import('@vueuse/core')['useArrayFilter'] - const useArrayFind: typeof import('@vueuse/core')['useArrayFind'] - const useArrayFindIndex: typeof import('@vueuse/core')['useArrayFindIndex'] - const useArrayFindLast: typeof import('@vueuse/core')['useArrayFindLast'] - const useArrayIncludes: typeof import('@vueuse/core')['useArrayIncludes'] - const useArrayJoin: typeof import('@vueuse/core')['useArrayJoin'] - const useArrayMap: typeof import('@vueuse/core')['useArrayMap'] - const useArrayReduce: typeof import('@vueuse/core')['useArrayReduce'] - const useArraySome: typeof import('@vueuse/core')['useArraySome'] - const useArrayUnique: typeof import('@vueuse/core')['useArrayUnique'] const useAsyncQueue: typeof import('@vueuse/core')['useAsyncQueue'] const useAsyncState: typeof import('@vueuse/core')['useAsyncState'] const useAttrs: typeof import('vue')['useAttrs'] @@ -127,8 +114,8 @@ declare global { const useBroadcastChannel: typeof import('@vueuse/core')['useBroadcastChannel'] const useBrowserLocation: typeof import('@vueuse/core')['useBrowserLocation'] const useCached: typeof import('@vueuse/core')['useCached'] + const useClamp: typeof import('@vueuse/core')['useClamp'] const useClipboard: typeof import('@vueuse/core')['useClipboard'] - const useCloned: typeof import('@vueuse/core')['useCloned'] const useColorMode: typeof import('@vueuse/core')['useColorMode'] const useConfirmDialog: typeof import('@vueuse/core')['useConfirmDialog'] const useCounter: typeof import('@vueuse/core')['useCounter'] @@ -170,7 +157,6 @@ declare global { const useFullscreen: typeof import('@vueuse/core')['useFullscreen'] const useGamepad: typeof import('@vueuse/core')['useGamepad'] const useGeolocation: typeof import('@vueuse/core')['useGeolocation'] - const useI18n: typeof import('vue-i18n')['useI18n'] const useIdle: typeof import('@vueuse/core')['useIdle'] const useImage: typeof import('@vueuse/core')['useImage'] const useInfiniteScroll: typeof import('@vueuse/core')['useInfiniteScroll'] @@ -203,18 +189,12 @@ declare global { const useOnline: typeof import('@vueuse/core')['useOnline'] const usePageLeave: typeof import('@vueuse/core')['usePageLeave'] const useParallax: typeof import('@vueuse/core')['useParallax'] - const useParentElement: typeof import('@vueuse/core')['useParentElement'] - const usePerformanceObserver: typeof import('@vueuse/core')['usePerformanceObserver'] const usePermission: typeof import('@vueuse/core')['usePermission'] const usePointer: typeof import('@vueuse/core')['usePointer'] - const usePointerLock: typeof import('@vueuse/core')['usePointerLock'] const usePointerSwipe: typeof import('@vueuse/core')['usePointerSwipe'] const usePreferredColorScheme: typeof import('@vueuse/core')['usePreferredColorScheme'] - const usePreferredContrast: typeof import('@vueuse/core')['usePreferredContrast'] const usePreferredDark: typeof import('@vueuse/core')['usePreferredDark'] const usePreferredLanguages: typeof import('@vueuse/core')['usePreferredLanguages'] - const usePreferredReducedMotion: typeof import('@vueuse/core')['usePreferredReducedMotion'] - const usePrevious: typeof import('@vueuse/core')['usePrevious'] const useRafFn: typeof import('@vueuse/core')['useRafFn'] const useRefHistory: typeof import('@vueuse/core')['useRefHistory'] const useResizeObserver: typeof import('@vueuse/core')['useResizeObserver'] @@ -228,17 +208,14 @@ declare global { const useSessionStorage: typeof import('@vueuse/core')['useSessionStorage'] const useShare: typeof import('@vueuse/core')['useShare'] const useSlots: typeof import('vue')['useSlots'] - const useSorted: typeof import('@vueuse/core')['useSorted'] const useSpeechRecognition: typeof import('@vueuse/core')['useSpeechRecognition'] const useSpeechSynthesis: typeof import('@vueuse/core')['useSpeechSynthesis'] const useStepper: typeof import('@vueuse/core')['useStepper'] const useStorage: typeof import('@vueuse/core')['useStorage'] const useStorageAsync: typeof import('@vueuse/core')['useStorageAsync'] const useStyleTag: typeof import('@vueuse/core')['useStyleTag'] - const useSupported: typeof import('@vueuse/core')['useSupported'] const useSwipe: typeof import('@vueuse/core')['useSwipe'] const useTemplateRefsList: typeof import('@vueuse/core')['useTemplateRefsList'] - const useTextDirection: typeof import('@vueuse/core')['useTextDirection'] const useTextSelection: typeof import('@vueuse/core')['useTextSelection'] const useTextareaAutosize: typeof import('@vueuse/core')['useTextareaAutosize'] const useThrottle: typeof import('@vueuse/core')['useThrottle'] @@ -250,8 +227,6 @@ declare global { const useTimeoutPoll: typeof import('@vueuse/core')['useTimeoutPoll'] const useTimestamp: typeof import('@vueuse/core')['useTimestamp'] const useTitle: typeof import('@vueuse/core')['useTitle'] - const useToNumber: typeof import('@vueuse/core')['useToNumber'] - const useToString: typeof import('@vueuse/core')['useToString'] const useToggle: typeof import('@vueuse/core')['useToggle'] const useTransition: typeof import('@vueuse/core')['useTransition'] const useUrlSearchParams: typeof import('@vueuse/core')['useUrlSearchParams'] @@ -272,10 +247,8 @@ declare global { const watchArray: typeof import('@vueuse/core')['watchArray'] const watchAtMost: typeof import('@vueuse/core')['watchAtMost'] const watchDebounced: typeof import('@vueuse/core')['watchDebounced'] - const watchDeep: typeof import('@vueuse/core')['watchDeep'] const watchEffect: typeof import('vue')['watchEffect'] const watchIgnorable: typeof import('@vueuse/core')['watchIgnorable'] - const watchImmediate: typeof import('@vueuse/core')['watchImmediate'] const watchOnce: typeof import('@vueuse/core')['watchOnce'] const watchPausable: typeof import('@vueuse/core')['watchPausable'] const watchPostEffect: typeof import('vue')['watchPostEffect'] @@ -309,9 +282,7 @@ declare module 'vue' { readonly createGlobalState: UnwrapRef readonly createInjectionState: UnwrapRef readonly createReactiveFn: UnwrapRef - readonly createReusableTemplate: UnwrapRef readonly createSharedComposable: UnwrapRef - readonly createTemplatePromise: UnwrapRef readonly createUnrefFn: UnwrapRef readonly customRef: UnwrapRef readonly debouncedRef: UnwrapRef @@ -331,6 +302,9 @@ declare module 'vue' { readonly isReactive: UnwrapRef readonly isReadonly: UnwrapRef readonly isRef: UnwrapRef + readonly logicAnd: UnwrapRef + readonly logicNot: UnwrapRef + readonly logicOr: UnwrapRef readonly makeDestructurable: UnwrapRef readonly markRaw: UnwrapRef readonly nextTick: UnwrapRef @@ -383,7 +357,6 @@ declare module 'vue' { readonly toReactive: UnwrapRef readonly toRef: UnwrapRef readonly toRefs: UnwrapRef - readonly toValue: UnwrapRef readonly triggerRef: UnwrapRef readonly tryOnBeforeMount: UnwrapRef readonly tryOnBeforeUnmount: UnwrapRef @@ -394,19 +367,6 @@ declare module 'vue' { readonly unrefElement: UnwrapRef readonly until: UnwrapRef readonly useActiveElement: UnwrapRef - readonly useAnimate: UnwrapRef - readonly useArrayDifference: UnwrapRef - readonly useArrayEvery: UnwrapRef - readonly useArrayFilter: UnwrapRef - readonly useArrayFind: UnwrapRef - readonly useArrayFindIndex: UnwrapRef - readonly useArrayFindLast: UnwrapRef - readonly useArrayIncludes: UnwrapRef - readonly useArrayJoin: UnwrapRef - readonly useArrayMap: UnwrapRef - readonly useArrayReduce: UnwrapRef - readonly useArraySome: UnwrapRef - readonly useArrayUnique: UnwrapRef readonly useAsyncQueue: UnwrapRef readonly useAsyncState: UnwrapRef readonly useAttrs: UnwrapRef @@ -417,8 +377,8 @@ declare module 'vue' { readonly useBroadcastChannel: UnwrapRef readonly useBrowserLocation: UnwrapRef readonly useCached: UnwrapRef + readonly useClamp: UnwrapRef readonly useClipboard: UnwrapRef - readonly useCloned: UnwrapRef readonly useColorMode: UnwrapRef readonly useConfirmDialog: UnwrapRef readonly useCounter: UnwrapRef @@ -460,7 +420,6 @@ declare module 'vue' { readonly useFullscreen: UnwrapRef readonly useGamepad: UnwrapRef readonly useGeolocation: UnwrapRef - readonly useI18n: UnwrapRef readonly useIdle: UnwrapRef readonly useImage: UnwrapRef readonly useInfiniteScroll: UnwrapRef @@ -493,18 +452,12 @@ declare module 'vue' { readonly useOnline: UnwrapRef readonly usePageLeave: UnwrapRef readonly useParallax: UnwrapRef - readonly useParentElement: UnwrapRef - readonly usePerformanceObserver: UnwrapRef readonly usePermission: UnwrapRef readonly usePointer: UnwrapRef - readonly usePointerLock: UnwrapRef readonly usePointerSwipe: UnwrapRef readonly usePreferredColorScheme: UnwrapRef - readonly usePreferredContrast: UnwrapRef readonly usePreferredDark: UnwrapRef readonly usePreferredLanguages: UnwrapRef - readonly usePreferredReducedMotion: UnwrapRef - readonly usePrevious: UnwrapRef readonly useRafFn: UnwrapRef readonly useRefHistory: UnwrapRef readonly useResizeObserver: UnwrapRef @@ -518,17 +471,14 @@ declare module 'vue' { readonly useSessionStorage: UnwrapRef readonly useShare: UnwrapRef readonly useSlots: UnwrapRef - readonly useSorted: UnwrapRef readonly useSpeechRecognition: UnwrapRef readonly useSpeechSynthesis: UnwrapRef readonly useStepper: UnwrapRef readonly useStorage: UnwrapRef readonly useStorageAsync: UnwrapRef readonly useStyleTag: UnwrapRef - readonly useSupported: UnwrapRef readonly useSwipe: UnwrapRef readonly useTemplateRefsList: UnwrapRef - readonly useTextDirection: UnwrapRef readonly useTextSelection: UnwrapRef readonly useTextareaAutosize: UnwrapRef readonly useThrottle: UnwrapRef @@ -540,8 +490,6 @@ declare module 'vue' { readonly useTimeoutPoll: UnwrapRef readonly useTimestamp: UnwrapRef readonly useTitle: UnwrapRef - readonly useToNumber: UnwrapRef - readonly useToString: UnwrapRef readonly useToggle: UnwrapRef readonly useTransition: UnwrapRef readonly useUrlSearchParams: UnwrapRef @@ -562,294 +510,8 @@ declare module 'vue' { readonly watchArray: UnwrapRef readonly watchAtMost: UnwrapRef readonly watchDebounced: UnwrapRef - readonly watchDeep: UnwrapRef readonly watchEffect: UnwrapRef readonly watchIgnorable: UnwrapRef - readonly watchImmediate: UnwrapRef - readonly watchOnce: UnwrapRef - readonly watchPausable: UnwrapRef - readonly watchPostEffect: UnwrapRef - readonly watchSyncEffect: UnwrapRef - readonly watchThrottled: UnwrapRef - readonly watchTriggerable: UnwrapRef - readonly watchWithFilter: UnwrapRef - readonly whenever: UnwrapRef - } -} -declare module '@vue/runtime-core' { - interface ComponentCustomProperties { - readonly EffectScope: UnwrapRef - readonly asyncComputed: UnwrapRef - readonly autoResetRef: UnwrapRef - readonly computed: UnwrapRef - readonly computedAsync: UnwrapRef - readonly computedEager: UnwrapRef - readonly computedInject: UnwrapRef - readonly computedWithControl: UnwrapRef - readonly controlledComputed: UnwrapRef - readonly controlledRef: UnwrapRef - readonly createApp: UnwrapRef - readonly createEventHook: UnwrapRef - readonly createGlobalState: UnwrapRef - readonly createInjectionState: UnwrapRef - readonly createReactiveFn: UnwrapRef - readonly createReusableTemplate: UnwrapRef - readonly createSharedComposable: UnwrapRef - readonly createTemplatePromise: UnwrapRef - readonly createUnrefFn: UnwrapRef - readonly customRef: UnwrapRef - readonly debouncedRef: UnwrapRef - readonly debouncedWatch: UnwrapRef - readonly defineAsyncComponent: UnwrapRef - readonly defineComponent: UnwrapRef - readonly eagerComputed: UnwrapRef - readonly effectScope: UnwrapRef - readonly extendRef: UnwrapRef - readonly getCurrentInstance: UnwrapRef - readonly getCurrentScope: UnwrapRef - readonly h: UnwrapRef - readonly ignorableWatch: UnwrapRef - readonly inject: UnwrapRef - readonly isDefined: UnwrapRef - readonly isProxy: UnwrapRef - readonly isReactive: UnwrapRef - readonly isReadonly: UnwrapRef - readonly isRef: UnwrapRef - readonly makeDestructurable: UnwrapRef - readonly markRaw: UnwrapRef - readonly nextTick: UnwrapRef - readonly onActivated: UnwrapRef - readonly onBeforeMount: UnwrapRef - readonly onBeforeRouteLeave: UnwrapRef - readonly onBeforeRouteUpdate: UnwrapRef - readonly onBeforeUnmount: UnwrapRef - readonly onBeforeUpdate: UnwrapRef - readonly onClickOutside: UnwrapRef - readonly onDeactivated: UnwrapRef - readonly onErrorCaptured: UnwrapRef - readonly onKeyStroke: UnwrapRef - readonly onLongPress: UnwrapRef - readonly onMounted: UnwrapRef - readonly onRenderTracked: UnwrapRef - readonly onRenderTriggered: UnwrapRef - readonly onScopeDispose: UnwrapRef - readonly onServerPrefetch: UnwrapRef - readonly onStartTyping: UnwrapRef - readonly onUnmounted: UnwrapRef - readonly onUpdated: UnwrapRef - readonly pausableWatch: UnwrapRef - readonly provide: UnwrapRef - readonly reactify: UnwrapRef - readonly reactifyObject: UnwrapRef - readonly reactive: UnwrapRef - readonly reactiveComputed: UnwrapRef - readonly reactiveOmit: UnwrapRef - readonly reactivePick: UnwrapRef - readonly readonly: UnwrapRef - readonly ref: UnwrapRef - readonly refAutoReset: UnwrapRef - readonly refDebounced: UnwrapRef - readonly refDefault: UnwrapRef - readonly refThrottled: UnwrapRef - readonly refWithControl: UnwrapRef - readonly resolveComponent: UnwrapRef - readonly resolveRef: UnwrapRef - readonly resolveUnref: UnwrapRef - readonly shallowReactive: UnwrapRef - readonly shallowReadonly: UnwrapRef - readonly shallowRef: UnwrapRef - readonly syncRef: UnwrapRef - readonly syncRefs: UnwrapRef - readonly templateRef: UnwrapRef - readonly throttledRef: UnwrapRef - readonly throttledWatch: UnwrapRef - readonly toRaw: UnwrapRef - readonly toReactive: UnwrapRef - readonly toRef: UnwrapRef - readonly toRefs: UnwrapRef - readonly toValue: UnwrapRef - readonly triggerRef: UnwrapRef - readonly tryOnBeforeMount: UnwrapRef - readonly tryOnBeforeUnmount: UnwrapRef - readonly tryOnMounted: UnwrapRef - readonly tryOnScopeDispose: UnwrapRef - readonly tryOnUnmounted: UnwrapRef - readonly unref: UnwrapRef - readonly unrefElement: UnwrapRef - readonly until: UnwrapRef - readonly useActiveElement: UnwrapRef - readonly useAnimate: UnwrapRef - readonly useArrayDifference: UnwrapRef - readonly useArrayEvery: UnwrapRef - readonly useArrayFilter: UnwrapRef - readonly useArrayFind: UnwrapRef - readonly useArrayFindIndex: UnwrapRef - readonly useArrayFindLast: UnwrapRef - readonly useArrayIncludes: UnwrapRef - readonly useArrayJoin: UnwrapRef - readonly useArrayMap: UnwrapRef - readonly useArrayReduce: UnwrapRef - readonly useArraySome: UnwrapRef - readonly useArrayUnique: UnwrapRef - readonly useAsyncQueue: UnwrapRef - readonly useAsyncState: UnwrapRef - readonly useAttrs: UnwrapRef - readonly useBase64: UnwrapRef - readonly useBattery: UnwrapRef - readonly useBluetooth: UnwrapRef - readonly useBreakpoints: UnwrapRef - readonly useBroadcastChannel: UnwrapRef - readonly useBrowserLocation: UnwrapRef - readonly useCached: UnwrapRef - readonly useClipboard: UnwrapRef - readonly useCloned: UnwrapRef - readonly useColorMode: UnwrapRef - readonly useConfirmDialog: UnwrapRef - readonly useCounter: UnwrapRef - readonly useCssModule: UnwrapRef - readonly useCssVar: UnwrapRef - readonly useCssVars: UnwrapRef - readonly useCurrentElement: UnwrapRef - readonly useCycleList: UnwrapRef - readonly useDark: UnwrapRef - readonly useDateFormat: UnwrapRef - readonly useDebounce: UnwrapRef - readonly useDebounceFn: UnwrapRef - readonly useDebouncedRefHistory: UnwrapRef - readonly useDeviceMotion: UnwrapRef - readonly useDeviceOrientation: UnwrapRef - readonly useDevicePixelRatio: UnwrapRef - readonly useDevicesList: UnwrapRef - readonly useDialog: UnwrapRef - readonly useDisplayMedia: UnwrapRef - readonly useDocumentVisibility: UnwrapRef - readonly useDraggable: UnwrapRef - readonly useDropZone: UnwrapRef - readonly useElementBounding: UnwrapRef - readonly useElementByPoint: UnwrapRef - readonly useElementHover: UnwrapRef - readonly useElementSize: UnwrapRef - readonly useElementVisibility: UnwrapRef - readonly useEventBus: UnwrapRef - readonly useEventListener: UnwrapRef - readonly useEventSource: UnwrapRef - readonly useEyeDropper: UnwrapRef - readonly useFavicon: UnwrapRef - readonly useFetch: UnwrapRef - readonly useFileDialog: UnwrapRef - readonly useFileSystemAccess: UnwrapRef - readonly useFocus: UnwrapRef - readonly useFocusWithin: UnwrapRef - readonly useFps: UnwrapRef - readonly useFullscreen: UnwrapRef - readonly useGamepad: UnwrapRef - readonly useGeolocation: UnwrapRef - readonly useI18n: UnwrapRef - readonly useIdle: UnwrapRef - readonly useImage: UnwrapRef - readonly useInfiniteScroll: UnwrapRef - readonly useIntersectionObserver: UnwrapRef - readonly useInterval: UnwrapRef - readonly useIntervalFn: UnwrapRef - readonly useKeyModifier: UnwrapRef - readonly useLastChanged: UnwrapRef - readonly useLink: UnwrapRef - readonly useLoadingBar: UnwrapRef - readonly useLocalStorage: UnwrapRef - readonly useMagicKeys: UnwrapRef - readonly useManualRefHistory: UnwrapRef - readonly useMediaControls: UnwrapRef - readonly useMediaQuery: UnwrapRef - readonly useMemoize: UnwrapRef - readonly useMemory: UnwrapRef - readonly useMessage: UnwrapRef - readonly useMounted: UnwrapRef - readonly useMouse: UnwrapRef - readonly useMouseInElement: UnwrapRef - readonly useMousePressed: UnwrapRef - readonly useMutationObserver: UnwrapRef - readonly useNavigatorLanguage: UnwrapRef - readonly useNetwork: UnwrapRef - readonly useNotification: UnwrapRef - readonly useNow: UnwrapRef - readonly useObjectUrl: UnwrapRef - readonly useOffsetPagination: UnwrapRef - readonly useOnline: UnwrapRef - readonly usePageLeave: UnwrapRef - readonly useParallax: UnwrapRef - readonly useParentElement: UnwrapRef - readonly usePerformanceObserver: UnwrapRef - readonly usePermission: UnwrapRef - readonly usePointer: UnwrapRef - readonly usePointerLock: UnwrapRef - readonly usePointerSwipe: UnwrapRef - readonly usePreferredColorScheme: UnwrapRef - readonly usePreferredContrast: UnwrapRef - readonly usePreferredDark: UnwrapRef - readonly usePreferredLanguages: UnwrapRef - readonly usePreferredReducedMotion: UnwrapRef - readonly usePrevious: UnwrapRef - readonly useRafFn: UnwrapRef - readonly useRefHistory: UnwrapRef - readonly useResizeObserver: UnwrapRef - readonly useRoute: UnwrapRef - readonly useRouter: UnwrapRef - readonly useScreenOrientation: UnwrapRef - readonly useScreenSafeArea: UnwrapRef - readonly useScriptTag: UnwrapRef - readonly useScroll: UnwrapRef - readonly useScrollLock: UnwrapRef - readonly useSessionStorage: UnwrapRef - readonly useShare: UnwrapRef - readonly useSlots: UnwrapRef - readonly useSorted: UnwrapRef - readonly useSpeechRecognition: UnwrapRef - readonly useSpeechSynthesis: UnwrapRef - readonly useStepper: UnwrapRef - readonly useStorage: UnwrapRef - readonly useStorageAsync: UnwrapRef - readonly useStyleTag: UnwrapRef - readonly useSupported: UnwrapRef - readonly useSwipe: UnwrapRef - readonly useTemplateRefsList: UnwrapRef - readonly useTextDirection: UnwrapRef - readonly useTextSelection: UnwrapRef - readonly useTextareaAutosize: UnwrapRef - readonly useThrottle: UnwrapRef - readonly useThrottleFn: UnwrapRef - readonly useThrottledRefHistory: UnwrapRef - readonly useTimeAgo: UnwrapRef - readonly useTimeout: UnwrapRef - readonly useTimeoutFn: UnwrapRef - readonly useTimeoutPoll: UnwrapRef - readonly useTimestamp: UnwrapRef - readonly useTitle: UnwrapRef - readonly useToNumber: UnwrapRef - readonly useToString: UnwrapRef - readonly useToggle: UnwrapRef - readonly useTransition: UnwrapRef - readonly useUrlSearchParams: UnwrapRef - readonly useUserMedia: UnwrapRef - readonly useVModel: UnwrapRef - readonly useVModels: UnwrapRef - readonly useVibrate: UnwrapRef - readonly useVirtualList: UnwrapRef - readonly useWakeLock: UnwrapRef - readonly useWebNotification: UnwrapRef - readonly useWebSocket: UnwrapRef - readonly useWebWorker: UnwrapRef - readonly useWebWorkerFn: UnwrapRef - readonly useWindowFocus: UnwrapRef - readonly useWindowScroll: UnwrapRef - readonly useWindowSize: UnwrapRef - readonly watch: UnwrapRef - readonly watchArray: UnwrapRef - readonly watchAtMost: UnwrapRef - readonly watchDebounced: UnwrapRef - readonly watchDeep: UnwrapRef - readonly watchEffect: UnwrapRef - readonly watchIgnorable: UnwrapRef - readonly watchImmediate: UnwrapRef readonly watchOnce: UnwrapRef readonly watchPausable: UnwrapRef readonly watchPostEffect: UnwrapRef diff --git a/components.d.ts b/components.d.ts index 3e65c3cc..2750ce66 100644 --- a/components.d.ts +++ b/components.d.ts @@ -12,7 +12,6 @@ declare module '@vue/runtime-core' { '404.page': typeof import('./src/pages/404.page.vue')['default'] About: typeof import('./src/pages/About.vue')['default'] App: typeof import('./src/App.vue')['default'] - AsciiTextDrawer: typeof import('./src/tools/ascii-text-drawer/ascii-text-drawer.vue')['default'] 'Base.layout': typeof import('./src/layouts/base.layout.vue')['default'] Base64FileConverter: typeof import('./src/tools/base64-file-converter/base64-file-converter.vue')['default'] Base64StringConverter: typeof import('./src/tools/base64-string-converter/base64-string-converter.vue')['default'] @@ -20,87 +19,39 @@ declare module '@vue/runtime-core' { Bcrypt: typeof import('./src/tools/bcrypt/bcrypt.vue')['default'] BenchmarkBuilder: typeof import('./src/tools/benchmark-builder/benchmark-builder.vue')['default'] Bip39Generator: typeof import('./src/tools/bip39-generator/bip39-generator.vue')['default'] - CAlert: typeof import('./src/ui/c-alert/c-alert.vue')['default'] - 'CAlert.demo': typeof import('./src/ui/c-alert/c-alert.demo.vue')['default'] - CameraRecorder: typeof import('./src/tools/camera-recorder/camera-recorder.vue')['default'] CaseConverter: typeof import('./src/tools/case-converter/case-converter.vue')['default'] CButton: typeof import('./src/ui/c-button/c-button.vue')['default'] 'CButton.demo': typeof import('./src/ui/c-button/c-button.demo.vue')['default'] - CButtonsSelect: typeof import('./src/ui/c-buttons-select/c-buttons-select.vue')['default'] - 'CButtonsSelect.demo': typeof import('./src/ui/c-buttons-select/c-buttons-select.demo.vue')['default'] CCard: typeof import('./src/ui/c-card/c-card.vue')['default'] 'CCard.demo': typeof import('./src/ui/c-card/c-card.demo.vue')['default'] - CCollapse: typeof import('./src/ui/c-collapse/c-collapse.vue')['default'] - 'CCollapse.demo': typeof import('./src/ui/c-collapse/c-collapse.demo.vue')['default'] - CDiffEditor: typeof import('./src/ui/c-diff-editor/c-diff-editor.vue')['default'] - CFileUpload: typeof import('./src/ui/c-file-upload/c-file-upload.vue')['default'] - 'CFileUpload.demo': typeof import('./src/ui/c-file-upload/c-file-upload.demo.vue')['default'] ChmodCalculator: typeof import('./src/tools/chmod-calculator/chmod-calculator.vue')['default'] Chronometer: typeof import('./src/tools/chronometer/chronometer.vue')['default'] - CInputText: typeof import('./src/ui/c-input-text/c-input-text.vue')['default'] - 'CInputText.demo': typeof import('./src/ui/c-input-text/c-input-text.demo.vue')['default'] - CKeyValueList: typeof import('./src/ui/c-key-value-list/c-key-value-list.vue')['default'] - CKeyValueListItem: typeof import('./src/ui/c-key-value-list/c-key-value-list-item.vue')['default'] - CLabel: typeof import('./src/ui/c-label/c-label.vue')['default'] CLink: typeof import('./src/ui/c-link/c-link.vue')['default'] 'CLink.demo': typeof import('./src/ui/c-link/c-link.demo.vue')['default'] - CMarkdown: typeof import('./src/ui/c-markdown/c-markdown.vue')['default'] - 'CMarkdown.demo': typeof import('./src/ui/c-markdown/c-markdown.demo.vue')['default'] - CModal: typeof import('./src/ui/c-modal/c-modal.vue')['default'] - 'CModal.demo': typeof import('./src/ui/c-modal/c-modal.demo.vue')['default'] - CModalValue: typeof import('./src/ui/c-modal-value/c-modal-value.vue')['default'] - 'CModalValue.demo': typeof import('./src/ui/c-modal-value/c-modal-value.demo.vue')['default'] CollapsibleToolMenu: typeof import('./src/components/CollapsibleToolMenu.vue')['default'] ColorConverter: typeof import('./src/tools/color-converter/color-converter.vue')['default'] ColoredCard: typeof import('./src/components/ColoredCard.vue')['default'] - CommandPalette: typeof import('./src/modules/command-palette/command-palette.vue')['default'] - CommandPaletteOption: typeof import('./src/modules/command-palette/components/command-palette-option.vue')['default'] + CopyableIpLike: typeof import('./src/tools/ipv4-subnet-calculator/copyable-ip-like.vue')['default'] CrontabGenerator: typeof import('./src/tools/crontab-generator/crontab-generator.vue')['default'] - CSelect: typeof import('./src/ui/c-select/c-select.vue')['default'] - 'CSelect.demo': typeof import('./src/ui/c-select/c-select.demo.vue')['default'] - CTable: typeof import('./src/ui/c-table/c-table.vue')['default'] - 'CTable.demo': typeof import('./src/ui/c-table/c-table.demo.vue')['default'] - CTextCopyable: typeof import('./src/ui/c-text-copyable/c-text-copyable.vue')['default'] - 'CTextCopyable.demo': typeof import('./src/ui/c-text-copyable/c-text-copyable.demo.vue')['default'] - CTooltip: typeof import('./src/ui/c-tooltip/c-tooltip.vue')['default'] - 'CTooltip.demo': typeof import('./src/ui/c-tooltip/c-tooltip.demo.vue')['default'] DateTimeConverter: typeof import('./src/tools/date-time-converter/date-time-converter.vue')['default'] - 'DemoHome.page': typeof import('./src/ui/demo/demo-home.page.vue')['default'] + 'Demo.routes': typeof import('./src/ui/demo/demo.routes.vue')['default'] DemoWrapper: typeof import('./src/ui/demo/demo-wrapper.vue')['default'] DeviceInformation: typeof import('./src/tools/device-information/device-information.vue')['default'] DiffViewer: typeof import('./src/tools/json-diff/diff-viewer/diff-viewer.vue')['default'] DockerRunToDockerComposeConverter: typeof import('./src/tools/docker-run-to-docker-compose-converter/docker-run-to-docker-compose-converter.vue')['default'] DynamicValues: typeof import('./src/tools/benchmark-builder/dynamic-values.vue')['default'] Editor: typeof import('./src/tools/html-wysiwyg-editor/editor/editor.vue')['default'] - EmailNormalizer: typeof import('./src/tools/email-normalizer/email-normalizer.vue')['default'] - EmojiCard: typeof import('./src/tools/emoji-picker/emoji-card.vue')['default'] - EmojiGrid: typeof import('./src/tools/emoji-picker/emoji-grid.vue')['default'] - EmojiPicker: typeof import('./src/tools/emoji-picker/emoji-picker.vue')['default'] Encryption: typeof import('./src/tools/encryption/encryption.vue')['default'] EtaCalculator: typeof import('./src/tools/eta-calculator/eta-calculator.vue')['default'] FavoriteButton: typeof import('./src/components/FavoriteButton.vue')['default'] FormatTransformer: typeof import('./src/components/FormatTransformer.vue')['default'] - GitMemo: typeof import('./src/tools/git-memo/git-memo.vue')['default'] - 'GitMemo.content': typeof import('./src/tools/git-memo/git-memo.content.md')['default'] + GitMemo: typeof import('./src/tools/git-memo/git-memo.md')['default'] HashText: typeof import('./src/tools/hash-text/hash-text.vue')['default'] HmacGenerator: typeof import('./src/tools/hmac-generator/hmac-generator.vue')['default'] 'Home.page': typeof import('./src/pages/Home.page.vue')['default'] HtmlEntities: typeof import('./src/tools/html-entities/html-entities.vue')['default'] HtmlWysiwygEditor: typeof import('./src/tools/html-wysiwyg-editor/html-wysiwyg-editor.vue')['default'] HttpStatusCodes: typeof import('./src/tools/http-status-codes/http-status-codes.vue')['default'] - IbanValidatorAndParser: typeof import('./src/tools/iban-validator-and-parser/iban-validator-and-parser.vue')['default'] - 'IconMdi:brushVariant': typeof import('~icons/mdi/brush-variant')['default'] - 'IconMdi:kettleSteamOutline': typeof import('~icons/mdi/kettle-steam-outline')['default'] - IconMdiChevronDown: typeof import('~icons/mdi/chevron-down')['default'] - IconMdiChevronRight: typeof import('~icons/mdi/chevron-right')['default'] - IconMdiClose: typeof import('~icons/mdi/close')['default'] - IconMdiContentCopy: typeof import('~icons/mdi/content-copy')['default'] - IconMdiEye: typeof import('~icons/mdi/eye')['default'] - IconMdiEyeOff: typeof import('~icons/mdi/eye-off')['default'] - IconMdiHeart: typeof import('~icons/mdi/heart')['default'] - IconMdiSearch: typeof import('~icons/mdi/search')['default'] - IconMdiTranslate: typeof import('~icons/mdi/translate')['default'] - IconMdiTriangleDown: typeof import('~icons/mdi/triangle-down')['default'] InputCopyable: typeof import('./src/components/InputCopyable.vue')['default'] IntegerBaseConverter: typeof import('./src/tools/integer-base-converter/integer-base-converter.vue')['default'] Ipv4AddressConverter: typeof import('./src/tools/ipv4-address-converter/ipv4-address-converter.vue')['default'] @@ -109,19 +60,12 @@ declare module '@vue/runtime-core' { Ipv6UlaGenerator: typeof import('./src/tools/ipv6-ula-generator/ipv6-ula-generator.vue')['default'] JsonDiff: typeof import('./src/tools/json-diff/json-diff.vue')['default'] JsonMinify: typeof import('./src/tools/json-minify/json-minify.vue')['default'] - JsonToCsv: typeof import('./src/tools/json-to-csv/json-to-csv.vue')['default'] - JsonToToml: typeof import('./src/tools/json-to-toml/json-to-toml.vue')['default'] - JsonToXml: typeof import('./src/tools/json-to-xml/json-to-xml.vue')['default'] JsonToYaml: typeof import('./src/tools/json-to-yaml-converter/json-to-yaml.vue')['default'] JsonViewer: typeof import('./src/tools/json-viewer/json-viewer.vue')['default'] JwtParser: typeof import('./src/tools/jwt-parser/jwt-parser.vue')['default'] KeycodeInfo: typeof import('./src/tools/keycode-info/keycode-info.vue')['default'] - ListConverter: typeof import('./src/tools/list-converter/list-converter.vue')['default'] - LocaleSelector: typeof import('./src/modules/i18n/components/locale-selector.vue')['default'] LoremIpsumGenerator: typeof import('./src/tools/lorem-ipsum-generator/lorem-ipsum-generator.vue')['default'] - MacAddressGenerator: typeof import('./src/tools/mac-address-generator/mac-address-generator.vue')['default'] MacAddressLookup: typeof import('./src/tools/mac-address-lookup/mac-address-lookup.vue')['default'] - MarkdownToHtml: typeof import('./src/tools/markdown-to-html/markdown-to-html.vue')['default'] MathEvaluator: typeof import('./src/tools/math-evaluator/math-evaluator.vue')['default'] MenuBar: typeof import('./src/tools/html-wysiwyg-editor/editor/menu-bar.vue')['default'] MenuBarItem: typeof import('./src/tools/html-wysiwyg-editor/editor/menu-bar-item.vue')['default'] @@ -129,67 +73,78 @@ declare module '@vue/runtime-core' { MenuLayout: typeof import('./src/components/MenuLayout.vue')['default'] MetaTagGenerator: typeof import('./src/tools/meta-tag-generator/meta-tag-generator.vue')['default'] MimeTypes: typeof import('./src/tools/mime-types/mime-types.vue')['default'] + NAlert: typeof import('naive-ui')['NAlert'] + NAutoComplete: typeof import('naive-ui')['NAutoComplete'] NavbarButtons: typeof import('./src/components/NavbarButtons.vue')['default'] + NButton: typeof import('naive-ui')['NButton'] + NCard: typeof import('naive-ui')['NCard'] NCheckbox: typeof import('naive-ui')['NCheckbox'] + NCode: typeof import('naive-ui')['NCode'] NCollapseTransition: typeof import('naive-ui')['NCollapseTransition'] + NColorPicker: typeof import('naive-ui')['NColorPicker'] NConfigProvider: typeof import('naive-ui')['NConfigProvider'] + NDatePicker: typeof import('naive-ui')['NDatePicker'] NDivider: typeof import('naive-ui')['NDivider'] + NDynamicInput: typeof import('naive-ui')['NDynamicInput'] NEllipsis: typeof import('naive-ui')['NEllipsis'] + NForm: typeof import('naive-ui')['NForm'] + NFormItem: typeof import('naive-ui')['NFormItem'] + NGi: typeof import('naive-ui')['NGi'] + NGrid: typeof import('naive-ui')['NGrid'] NH1: typeof import('naive-ui')['NH1'] + NH2: typeof import('naive-ui')['NH2'] NH3: typeof import('naive-ui')['NH3'] NIcon: typeof import('naive-ui')['NIcon'] + NImage: typeof import('naive-ui')['NImage'] + NInput: typeof import('naive-ui')['NInput'] + NInputGroup: typeof import('naive-ui')['NInputGroup'] + NInputGroupLabel: typeof import('naive-ui')['NInputGroupLabel'] + NInputNumber: typeof import('naive-ui')['NInputNumber'] NLayout: typeof import('naive-ui')['NLayout'] NLayoutSider: typeof import('naive-ui')['NLayoutSider'] NMenu: typeof import('naive-ui')['NMenu'] + NP: typeof import('naive-ui')['NP'] + NPageHeader: typeof import('naive-ui')['NPageHeader'] + NProgress: typeof import('naive-ui')['NProgress'] + NScrollbar: typeof import('naive-ui')['NScrollbar'] + NSelect: typeof import('naive-ui')['NSelect'] + NSlider: typeof import('naive-ui')['NSlider'] NSpace: typeof import('naive-ui')['NSpace'] + NStatistic: typeof import('naive-ui')['NStatistic'] + NSwitch: typeof import('naive-ui')['NSwitch'] NTable: typeof import('naive-ui')['NTable'] - NumeronymGenerator: typeof import('./src/tools/numeronym-generator/numeronym-generator.vue')['default'] + NTag: typeof import('naive-ui')['NTag'] + NText: typeof import('naive-ui')['NText'] + NTooltip: typeof import('naive-ui')['NTooltip'] + NUpload: typeof import('naive-ui')['NUpload'] + NUploadDragger: typeof import('naive-ui')['NUploadDragger'] OtpCodeGeneratorAndValidator: typeof import('./src/tools/otp-code-generator-and-validator/otp-code-generator-and-validator.vue')['default'] - PasswordStrengthAnalyser: typeof import('./src/tools/password-strength-analyser/password-strength-analyser.vue')['default'] - PdfSignatureChecker: typeof import('./src/tools/pdf-signature-checker/pdf-signature-checker.vue')['default'] - PdfSignatureDetails: typeof import('./src/tools/pdf-signature-checker/components/pdf-signature-details.vue')['default'] - PercentageCalculator: typeof import('./src/tools/percentage-calculator/percentage-calculator.vue')['default'] - PhoneParserAndFormatter: typeof import('./src/tools/phone-parser-and-formatter/phone-parser-and-formatter.vue')['default'] QrCodeGenerator: typeof import('./src/tools/qr-code-generator/qr-code-generator.vue')['default'] RandomPortGenerator: typeof import('./src/tools/random-port-generator/random-port-generator.vue')['default'] - RegexMemo: typeof import('./src/tools/regex-memo/regex-memo.vue')['default'] - 'RegexMemo.content': typeof import('./src/tools/regex-memo/regex-memo.content.md')['default'] - RegexTester: typeof import('./src/tools/regex-tester/regex-tester.vue')['default'] ResultRow: typeof import('./src/tools/ipv4-range-expander/result-row.vue')['default'] RomanNumeralConverter: typeof import('./src/tools/roman-numeral-converter/roman-numeral-converter.vue')['default'] RouterLink: typeof import('vue-router')['RouterLink'] RouterView: typeof import('vue-router')['RouterView'] RsaKeyPairGenerator: typeof import('./src/tools/rsa-key-pair-generator/rsa-key-pair-generator.vue')['default'] - SafelinkDecoder: typeof import('./src/tools/safelink-decoder/safelink-decoder.vue')['default'] + SearchBar: typeof import('./src/components/SearchBar.vue')['default'] + SearchBarItem: typeof import('./src/components/SearchBarItem.vue')['default'] SlugifyString: typeof import('./src/tools/slugify-string/slugify-string.vue')['default'] SpanCopyable: typeof import('./src/components/SpanCopyable.vue')['default'] SqlPrettify: typeof import('./src/tools/sql-prettify/sql-prettify.vue')['default'] - StringObfuscator: typeof import('./src/tools/string-obfuscator/string-obfuscator.vue')['default'] SvgPlaceholderGenerator: typeof import('./src/tools/svg-placeholder-generator/svg-placeholder-generator.vue')['default'] TemperatureConverter: typeof import('./src/tools/temperature-converter/temperature-converter.vue')['default'] TextareaCopyable: typeof import('./src/components/TextareaCopyable.vue')['default'] - TextDiff: typeof import('./src/tools/text-diff/text-diff.vue')['default'] TextStatistics: typeof import('./src/tools/text-statistics/text-statistics.vue')['default'] - TextToBinary: typeof import('./src/tools/text-to-binary/text-to-binary.vue')['default'] TextToNatoAlphabet: typeof import('./src/tools/text-to-nato-alphabet/text-to-nato-alphabet.vue')['default'] - TextToUnicode: typeof import('./src/tools/text-to-unicode/text-to-unicode.vue')['default'] TokenDisplay: typeof import('./src/tools/otp-code-generator-and-validator/token-display.vue')['default'] 'TokenGenerator.tool': typeof import('./src/tools/token-generator/token-generator.tool.vue')['default'] - TomlToJson: typeof import('./src/tools/toml-to-json/toml-to-json.vue')['default'] - TomlToYaml: typeof import('./src/tools/toml-to-yaml/toml-to-yaml.vue')['default'] 'Tool.layout': typeof import('./src/layouts/tool.layout.vue')['default'] ToolCard: typeof import('./src/components/ToolCard.vue')['default'] - UlidGenerator: typeof import('./src/tools/ulid-generator/ulid-generator.vue')['default'] UrlEncoder: typeof import('./src/tools/url-encoder/url-encoder.vue')['default'] UrlParser: typeof import('./src/tools/url-parser/url-parser.vue')['default'] UserAgentParser: typeof import('./src/tools/user-agent-parser/user-agent-parser.vue')['default'] UserAgentResultCards: typeof import('./src/tools/user-agent-parser/user-agent-result-cards.vue')['default'] UuidGenerator: typeof import('./src/tools/uuid-generator/uuid-generator.vue')['default'] - WifiQrCodeGenerator: typeof import('./src/tools/wifi-qr-code-generator/wifi-qr-code-generator.vue')['default'] - XmlFormatter: typeof import('./src/tools/xml-formatter/xml-formatter.vue')['default'] - XmlToJson: typeof import('./src/tools/xml-to-json/xml-to-json.vue')['default'] YamlToJson: typeof import('./src/tools/yaml-to-json-converter/yaml-to-json.vue')['default'] - YamlToToml: typeof import('./src/tools/yaml-to-toml/yaml-to-toml.vue')['default'] - YamlViewer: typeof import('./src/tools/yaml-viewer/yaml-viewer.vue')['default'] } } diff --git a/index.html b/index.html index e8b8a60e..12a46b72 100644 --- a/index.html +++ b/index.html @@ -2,7 +2,7 @@ - + IT Tools - Handy online tools for developers @@ -14,13 +14,13 @@ itemprop="description" content="Collection of handy online tools for developers, with great UX. IT Tools is a free and open-source collection of handy online tools for developers & people working in IT." /> - + - - - - + + + + diff --git a/locales/de.yml b/locales/de.yml deleted file mode 100644 index 0ccdb71d..00000000 --- a/locales/de.yml +++ /dev/null @@ -1,456 +0,0 @@ -'404': - notFound: 404 Nicht gefunden - sorry: Entschuldigung, diese Seite scheint nicht zu existieren - maybe: >- - Vielleicht macht der Cache etwas Seltsames. Mit einem erzwungenen Neuladen - versuchen? - backHome: Zurück zur Startseite -home: - categories: - newestTools: Neueste Tools - favoriteTools: Deine Lieblingstools - allTools: Alle Tools - favoritesDndToolTip: 'Ziehen und Ablegen, um Favoriten neu zu ordnen' - subtitle: Praktische Tools für Entwickler - toggleMenu: Menü umschalten - home: Startseite - uiLib: UI-Bibliothek - support: Unterstütze die Entwicklung von IT-Tools - buyMeACoffee: Kauf mir einen Kaffee - follow: - title: Magst du IT-Tools? - p1: Gib uns einen Stern auf - githubRepository: IT-Tools GitHub-Repository - p2: oder folge uns auf - twitterXAccount: IT-Tools X-Konto - thankYou: Vielen Dank! - nav: - github: GitHub-Repository - githubRepository: IT-Tools GitHub-Repository - twitterX: X-Konto - twitterXAccount: IT-Tools X-Konto - about: Über IT-Tools - aboutLabel: Über - darkMode: Dunkelmodus - lightMode: Hellmodus - mode: Wechseln zwischen dunklem/hellem Modus -about: - content: > - # Über IT-Tools - - Diese wunderbare Website, erstellt mit ❤ von [Corentin - Thomasset](https://corentin.tech?utm_source=it-tools&utm_medium=about), sammelt nützliche Tools für - Entwickler und Menschen, die in der IT arbeiten. Wenn du sie nützlich - findest, teile sie gerne mit Personen, von denen du denkst, dass sie sie - ebenfalls nützlich finden könnten, und vergiss nicht, sie in deiner - Lesezeichenleiste zu speichern! - - IT-Tools ist Open Source (unter der GPL-3.0-Lizenz) und kostenlos und wird es - immer sein, aber es kostet mich Geld, die Website zu hosten und den - Domainnamen zu erneuern. Wenn du meine Arbeit unterstützen möchtest und mich - ermutigen möchtest, mehr Tools hinzuzufügen, überlege bitte, mich durch - [Sponsoring](https://www.buymeacoffee.com/cthmsst) zu unterstützen. - - ## Technologien - - IT-Tools wurde mit Vue.js (Vue 3) und der Naive UI-Komponentenbibliothek - erstellt und wird von Vercel gehostet und kontinuierlich bereitgestellt. In - einigen Tools werden Drittanbieter-Open-Source-Bibliotheken verwendet. Du - findest die vollständige Liste in der - [package.json](https://github.com/CorentinTh/it-tools/blob/main/package.json)-Datei - des Repositorys. - - ## Einen Fehler gefunden? Ein Tool fehlt? - - Wenn du ein Tool benötigst, das hier noch nicht vorhanden ist, und du - denkst, dass es nützlich sein könnte, bist du herzlich eingeladen, einen - Feature-Request im - [Issues-Bereich](https://github.com/CorentinTh/it-tools/issues/new/choose) - im GitHub-Repository einzureichen. - - Und wenn du einen Fehler gefunden hast oder etwas nicht wie erwartet - funktioniert, melde bitte einen Fehler im - [Issues-Bereich](https://github.com/CorentinTh/it-tools/issues/new/choose) - im GitHub-Repository. -favoriteButton: - remove: Aus Favoriten entfernen - add: Zu Favoriten hinzufügen -toolCard: - new: Neu -search: - label: Suche -tools: - categories: - favorite-tools: Deine Lieblingstools - crypto: Krypto - converter: Konverter - web: Web - images and videos: Bilder & Videos - development: Entwicklung - network: Netzwerk - math: Mathematik - measurement: Messung - text: Text - data: Daten - password-strength-analyser: - title: Passwortstärken-Analysator - description: >- - Ermittle die Stärke deines Passworts mit diesem Client-seitigen - Passwortstärken-Analysator und Tool zur Schätzung der Knackzeit. - chronometer: - title: Chronometer - description: >- - Überwache die Dauer einer Sache. Im Grunde ein Chronometer mit einfachen - Chronometerfunktionen. - token-generator: - title: Token-Generator - description: >- - Generiere eine zufällige Zeichenfolge mit den von dir gewünschten Zeichen, - Groß- oder Kleinbuchstaben, Zahlen und/oder Symbolen. - uppercase: Großbuchstaben (ABC...) - lowercase: Kleinbuchstaben (abc...) - numbers: Zahlen (123...) - symbols: Symbole (!-;...) - length: Länge - tokenPlaceholder: Der Token ... - copied: Token in die Zwischenablage kopiert - button: - copy: Kopieren - refresh: Aktualisieren - percentage-calculator: - title: Prozentrechner - description: >- - Berechne einfach Prozentsätze von einem Wert zu einem anderen Wert oder - von einem Prozentsatz zu einem Wert. - svg-placeholder-generator: - title: SVG-Platzhalter-Generator - description: >- - Generiere SVG-Bilder, die als Platzhalter in deinen Anwendungen verwendet - werden können. - json-to-csv: - title: JSON zu CSV - description: Konvertiere JSON mit automatischer Headererkennung in CSV. - camera-recorder: - title: Kamera-Rekorder - description: Mache ein Foto oder nimm ein Video von deiner Webcam oder Kamera auf. - keycode-info: - title: Keycode-Info - description: >- - Finde den JavaScript-Keycode, den Code, den Standort und die Modifikatoren - einer beliebigen gedrückten Taste. - emoji-picker: - title: Emoji-Picker - description: >- - Einfaches Kopieren und Einfügen von Emojis. Erhalte außerdem den Unicode- - und Codepunkt-Wert jedes Emojis. - color-converter: - title: Farbkonverter - description: >- - Konvertiere Farben zwischen den verschiedenen Formaten (Hex, RGB, HSL und - CSS-Name). - bcrypt: - title: Bcrypt - description: >- - Hashen und Vergleichen von Strings mit bcrypt. Bcrypt ist eine auf der - Blowfish-Chiffre basierende Hash-Funktion. - crontab-generator: - title: Crontab-Generator - description: >- - Überprüfe und generiere Crontab und erhalte die menschenlesbare - Beschreibung des Cron-Zeitplans. - http-status-codes: - title: HTTP-Statuscodes - description: Liste aller HTTP-Statuscodes, ihrer Namen und ihrer Bedeutung. - sql-prettify: - title: SQL verschönern und formatieren - description: >- - Formatiere und verschönere deine SQL-Abfragen online (unterstützt - verschiedene SQL-Dialekte). - benchmark-builder: - title: Benchmark-Builder - description: >- - Vergleiche ganz einfach die Ausführungszeit von Aufgaben mit diesem sehr - einfachen Online-Benchmark-Builder. - git-memo: - title: Git-Spickzettel - description: >- - Git ist eine dezentrale Versionsverwaltungssoftware. Mit diesem - Spickzettel hast du schnellen Zugriff auf die gängigsten Git-Befehle. - slugify-string: - title: Slugify String - description: Mache einen String URL-, Dateinamen- und ID-sicher. - encryption: - title: Text verschlüsseln / entschlüsseln - description: >- - Verschlüssele und entschlüssele Klartext mithilfe von Kryptoalgorithmen - wie AES, TripleDES, Rabbit oder RC4. - random-port-generator: - title: Zufälliger Port-Generator - description: >- - Generiere zufällige Portnummern außerhalb des Bereichs der "bekannten" - Ports (0-1023). - yaml-prettify: - title: YAML verschönern und formatieren - description: Verschönere deinen YAML-String in ein menschenlesbares Format. - eta-calculator: - title: ETA-Rechner - description: >- - Ein ETA (Estimated Time of Arrival)-Rechner, um die ungefähre Endzeit - einer Aufgabe zu erfahren, z. B. den Zeitpunkt des Endes eines Downloads. - roman-numeral-converter: - title: Römische Zahlen Konverter - description: >- - Konvertiere römische Zahlen in Dezimalzahlen und Dezimalzahlen in römische - Zahlen. - hmac-generator: - title: HMAC-Generator - description: >- - Berechnet einen hashbasierten Nachrichtenauthentifizierungscode (HMAC) - unter Verwendung eines geheimen Schlüssels und deiner bevorzugten - Hash-Funktion. - bip39-generator: - title: BIP39-Passphrasengenerator - description: >- - Generiere BIP39-Passphrasen aus vorhandener oder zufälliger Mnemonik oder - erhalte die Mnemonik aus der Passphrase. - base64-file-converter: - title: Base64-Dateikonverter - description: Konvertiere Strings, Dateien oder Bilder in ihre Base64-Repräsentation. - list-converter: - title: Listenkonverter - description: >- - Dieses Tool kann spaltenbasierte Daten verarbeiten und verschiedene - Änderungen (transponieren, Präfix und Suffix hinzufügen, Liste umkehren, - Liste sortieren, Werte in Kleinbuchstaben umwandeln, Werte abschneiden) - auf jede Zeile anwenden. - base64-string-converter: - title: Base64-String-Encoder/Decoder - description: Codiere und decodiere Strings einfach in ihre Base64-Repräsentation. - toml-to-yaml: - title: TOML zu YAML - description: Parse und konvertiere TOML zu YAML. - math-evaluator: - title: Mathematischer Auswerter - description: >- - Ein Taschenrechner zum Auswerten mathematischer Ausdrücke. Du kannst - Funktionen wie sqrt, cos, sin, abs usw. verwenden. - json-to-yaml-converter: - title: JSON zu YAML - description: Konvertiere JSON einfach in YAML mit diesem Live-Online-Konverter. - url-parser: - title: URL-Parser - description: >- - Parse eine URL-Zeichenfolge, um alle verschiedenen Teile (Protokoll, - Ursprung, Parameter, Port, Benutzername-Passwort usw.) zu erhalten. - iban-validator-and-parser: - title: IBAN-Validator und -Parser - description: >- - Validiere und parse IBAN-Nummern. Überprüfe, ob die IBAN gültig ist, und - erhalte das Land, BBAN, ob es sich um eine QR-IBAN handelt und das - IBAN-freundliche Format. - user-agent-parser: - title: User-Agent-Parser - description: >- - Erkenne und parse Browser, Engine, Betriebssystem, CPU und - Gerätetyp/-modell aus einer User-Agent-Zeichenfolge. - numeronym-generator: - title: Numeronym-Generator - description: >- - Ein Numeronym ist ein Wort, bei dem eine Zahl verwendet wird, um eine - Abkürzung zu bilden. Zum Beispiel ist "i18n" ein Numeronym für - "internationalization", wobei 18 für die Anzahl der Buchstaben zwischen - dem ersten "i" und dem letzten "n" im Wort steht. - case-converter: - title: Fall-Konverter - description: >- - Ändere den Fall eines Strings und wähle zwischen verschiedenen Formaten - aus. - html-entities: - title: HTML-Entity-Escape - description: >- - Escape oder unescape HTML-Entitäten (ersetze <, >, &, " und ' durch ihre - HTML-Version). - json-prettify: - title: JSON verschönern und formatieren - description: Verschönere deinen JSON-String in ein menschenlesbares Format. - docker-run-to-docker-compose-converter: - title: Docker run zu Docker compose Konverter - description: Wandle docker run-Befehle in docker-compose-Dateien um! - mac-address-lookup: - title: MAC-Adressensuche - description: Finde den Anbieter und Hersteller eines Geräts anhand seiner MAC-Adresse. - mime-types: - title: MIME-Typen - description: Konvertiere MIME-Typen in Erweiterungen und umgekehrt. - toml-to-json: - title: TOML zu JSON - description: Parse und konvertiere TOML zu JSON. - lorem-ipsum-generator: - title: Lorem Ipsum Generator - description: >- - Lorem Ipsum ist ein Platzhaltertext, der häufig verwendet wird, um die - visuelle Form eines Dokuments oder einer Schriftart ohne Verwendung von - bedeutendem Inhalt zu demonstrieren. - qrcode-generator: - title: QR-Code-Generator - description: >- - Generiere und downloade QR-Codes für eine URL oder einfach einen Text und - passe die Hintergrund- und Vordergrundfarben an. - wifi-qrcode-generator: - title: WLAN-QR-Code-Generator - description: >- - Generiere und lade QR-Codes für schnelle Verbindungen zu WLAN-Netzwerken - herunter. - xml-formatter: - title: XML-Formatter - description: Verschönere deinen XML-String in ein menschenlesbares Format. - temperature-converter: - title: Temperaturkonverter - description: >- - Temperaturgradumrechnungen für Kelvin, Celsius, Fahrenheit, Rankine, - Delisle, Newton, Réaumur und Rømer. - chmod-calculator: - title: Chmod-Rechner - description: >- - Berechne deine Chmod-Berechtigungen und -Befehle mit diesem - Online-Chmod-Rechner. - rsa-key-pair-generator: - title: RSA-Schlüsselpaar-Generator - description: Generiere neue zufällige RSA-Private- und Public-Key-PEM-Zertifikate. - html-wysiwyg-editor: - title: HTML-WYSIWYG-Editor - description: >- - Online-HTML-Editor mit funktionsreichem WYSIWYG-Editor, erhalte sofort den - Quellcode des Inhalts. - yaml-to-toml: - title: YAML zu TOML - description: Parse und konvertiere YAML zu TOML. - mac-address-generator: - title: MAC-Adressen-Generator - description: >- - Gebe die Menge und das Präfix ein. MAC-Adressen werden in deiner gewählten - Schreibweise (Groß- oder Kleinbuchstaben) generiert. - json-diff: - title: JSON-Unterschied - description: Vergleiche zwei JSON-Objekte und erhalte die Unterschiede zwischen ihnen. - jwt-parser: - title: JWT-Parser - description: >- - Parse und decodiere deinen JSON-Web-Token (JWT) und zeige dessen Inhalt - an. - date-converter: - title: Datum-Uhrzeit-Konverter - description: Konvertiere Datum und Uhrzeit in verschiedene Formate. - phone-parser-and-formatter: - title: Telefonnummer-Parser und -Formatter - description: >- - Parse, validiere und formatiere Telefonnummern. Erhalte Informationen zur - Telefonnummer, wie z. B. die Landesvorwahl, den Typ usw. - ipv4-subnet-calculator: - title: IPv4-Subnetzrechner - description: >- - Parse deine IPv4-CIDR-Blöcke und erhalte alle Informationen, die du über - dein Subnetz benötigst. - og-meta-generator: - title: Open Graph Meta-Generator - description: Generiere Open Graph- und Social-HTML-Metatags für deine Website. - ipv6-ula-generator: - title: IPv6-ULA-Generator - description: >- - Generiere deine eigenen lokalen, nicht routbaren IP-Adressen in deinem - Netzwerk gemäß RFC4193. - hash-text: - title: Text hashen - description: >- - Hashe einen Text-String mit der von dir benötigten Funktion: MD5, SHA1, - SHA256, SHA224, SHA512, SHA384, SHA3 oder RIPEMD160 - json-to-toml: - title: JSON zu TOML - description: Parse und konvertiere JSON zu TOML. - device-information: - title: Geräteinformationen - description: >- - Informationen zu deinem aktuellen Gerät (Bildschirmgröße, Pixelverhältnis, - Benutzeragent, ...) erhalten. - pdf-signature-checker: - title: PDF-Signaturprüfer - description: >- - Überprüfe die Signaturen einer PDF-Datei. Eine signierte PDF-Datei enthält - eine oder mehrere Signaturen, die verwendet werden können, um - festzustellen, ob der Inhalt der Datei seit dem Zeitpunkt der Signierung - geändert wurde. - json-minify: - title: JSON minifizieren - description: >- - Minifiziere und komprimiere dein JSON, indem unnötige Leerzeichen entfernt - werden. - ulid-generator: - title: ULID-Generator - description: >- - Generiere zufällige Universally Unique Lexicographically Sortable - Identifier (ULID). - string-obfuscator: - title: String-Verschleierer - description: >- - Verschleiere einen String (wie ein Secret, eine IBAN oder ein Token), um - ihn weitergeben zu können und identifizierbar zu machen, ohne seinen - Inhalt preiszugeben. - base-converter: - title: Ganzzahl-Basiskonverter - description: >- - Konvertiere Zahlen zwischen verschiedenen Basen (Dezimal, Hexadezimal, - Binär, Oktal, Base64, ...). - yaml-to-json-converter: - title: YAML zu JSON - description: Konvertiere YAML einfach in JSON mit diesem Live-Online-Konverter. - uuid-generator: - title: UUID-Generator - description: >- - Ein Universally Unique Identifier (UUID) ist eine 128-Bit-Nummer, die zur - Identifizierung von Informationen in Computersystemen verwendet wird. Die - Anzahl der möglichen UUIDs beträgt 16^32, was 2^128 oder etwa 3,4x10^38 - entspricht (was ziemlich viel ist!). - ipv4-address-converter: - title: IPv4-Adresskonverter - description: >- - Konvertiere eine IP-Adresse in Dezimal, Binär, Hexadezimal oder sogar in - IPv6. - text-statistics: - title: Textstatistiken - description: >- - Informationen zu einem Text erhalten, wie die Anzahl der Zeichen, die - Anzahl der Wörter, die Größe usw. - text-to-nato-alphabet: - title: Text zu NATO-Alphabet - description: >- - Wandle Text in das NATO-Phonetik-Alphabet für die mündliche Übermittlung - um. - basic-auth-generator: - title: Basic-Auth-Generator - description: >- - Generiere einen Base64-Basic-Auth-Header aus einem Benutzernamen und einem - Passwort. - text-to-unicode: - title: Text zu Unicode - description: Parse und konvertiere Text in Unicode und umgekehrt. - ipv4-range-expander: - title: IPv4-Bereichserweiterer - description: >- - Bei Angabe einer Start- und End-IPv4-Adresse berechnet dieses Tool ein - gültiges IPv4-Netzwerk mit seiner CIDR-Notation. - text-diff: - title: Textunterschied - description: Vergleiche zwei Texte und sieh die Unterschiede zwischen ihnen. - otp-generator: - title: OTP-Code-Generator - description: >- - Generiere und validiere zeitbasierte OTPs (Einmalpasswörter) für - Multi-Faktor-Authentifizierung. - url-encoder: - title: Kodieren/Decodieren von URL-formatierten Zeichenfolgen - description: >- - Kodiere zum URL-kodierten Format (auch als "prozentkodiert" bekannt) oder - decodiere es. - text-to-binary: - title: Text zu ASCII-Binär - description: Konvertiere Text in seine ASCII-Binärrepräsentation und umgekehrt. diff --git a/locales/en.yml b/locales/en.yml deleted file mode 100644 index d03d80d3..00000000 --- a/locales/en.yml +++ /dev/null @@ -1,394 +0,0 @@ -home: - categories: - newestTools: Newest tools - favoriteTools: 'Your favorite tools' - allTools: 'All the tools' - favoritesDndToolTip: 'Drag and drop to reorder favorites' - subtitle: 'Handy tools for developers' - toggleMenu: 'Toggle menu' - home: Home - uiLib: 'UI Lib' - support: 'Support IT-Tools development' - buyMeACoffee: 'Buy me a coffee' - follow: - title: 'You like it-tools?' - p1: 'Give us a star on' - githubRepository: 'IT-Tools GitHub repository' - p2: 'or follow us on' - twitterXAccount: 'IT-Tools X account' - thankYou: 'Thank you!' - nav: - github: 'GitHub repository' - githubRepository: 'IT-Tools GitHub repository' - twitterX: 'X account' - twitterXAccount: 'IT Tools X account' - about: 'About IT-Tools' - aboutLabel: 'About' - darkMode: 'Dark mode' - lightMode: 'Light mode' - mode: 'Toggle dark/light mode' -about: - content: > - # About IT-Tools - - This wonderful website, made with ❤ by [Corentin Thomasset](https://corentin.tech?utm_source=it-tools&utm_medium=about) , aggregates useful tools for developer and people working in IT. If you find it useful, please feel free to share it to people you think may find it useful too and don't forget to bookmark it in your shortcut bar! - - IT Tools is open-source (under the GPL-3.0 license) and free, and will always be, but it costs me money to host and renew the domain name. If you want to support my work, and encourage me to add more tools, please consider supporting by [sponsoring me](https://www.buymeacoffee.com/cthmsst). - - ## Technologies - - IT Tools is made in Vue.js (Vue 3) with the the Naive UI component library and is hosted and continuously deployed by Vercel. Third-party open-source libraries are used in some tools, you may find the complete list in the [package.json](https://github.com/CorentinTh/it-tools/blob/main/package.json) file of the repository. - - ## Found a bug? A tool is missing? - - If you need a tool that is currently not present here, and you think can be useful, you are welcome to submit a feature request in the [issues section](https://github.com/CorentinTh/it-tools/issues/new/choose) in the GitHub repository. - - And if you found a bug, or something doesn't work as expected, please file a bug report in the [issues section](https://github.com/CorentinTh/it-tools/issues/new/choose) in the GitHub repository. - -404: - notFound: '404 Not Found' - sorry: 'Sorry, this page does not seem to exist' - maybe: 'Maybe the cache is doing tricky things, try force-refreshing?' - backHome: 'Back home' -favoriteButton: - remove: 'Remove from favorites' - add: 'Add to favorites' -toolCard: - new: New -search: - label: Search -tools: - categories: - favorite-tools: 'Your favorite tools' - crypto: Crypto - converter: Converter - web: Web - images and videos: 'Images & Videos' - development: Development - network: Network - math: Math - measurement: Measurement - text: Text - data: Data - - password-strength-analyser: - title: Password strength analyser - description: Discover the strength of your password with this client-side-only password strength analyser and crack time estimation tool. - - chronometer: - title: Chronometer - description: Monitor the duration of a thing. Basically a chronometer with simple chronometer features. - - token-generator: - title: Token generator - description: Generate random string with the chars you want, uppercase or lowercase letters, numbers and/or symbols. - - uppercase: Uppercase (ABC...) - lowercase: Lowercase (abc...) - numbers: Numbers (123...) - symbols: Symbols (!-;...) - length: Length - tokenPlaceholder: 'The token...' - copied: Token copied to the clipboard - button: - copy: Copy - refresh: Refresh - percentage-calculator: - title: Percentage calculator - description: Easily calculate percentages from a value to another value, or from a percentage to a value. - - svg-placeholder-generator: - title: SVG placeholder generator - description: Generate svg images to use as a placeholder in your applications. - - json-to-csv: - title: JSON to CSV - description: Convert JSON to CSV with automatic header detection. - - camera-recorder: - title: Camera recorder - description: Take a picture or record a video from your webcam or camera. - - keycode-info: - title: Keycode info - description: Find the javascript keycode, code, location and modifiers of any pressed key. - - emoji-picker: - title: Emoji picker - description: Copy and paste emojis easily and get the unicode and code points value of each emoji. - - color-converter: - title: Color converter - description: Convert color between the different formats (hex, rgb, hsl and css name) - - bcrypt: - title: Bcrypt - description: Hash and compare text string using bcrypt. Bcrypt is a password-hashing function based on the Blowfish cipher. - - crontab-generator: - title: Crontab generator - description: Validate and generate crontab and get the human-readable description of the cron schedule. - - http-status-codes: - title: HTTP status codes - description: The list of all HTTP status codes, their name, and their meaning. - - sql-prettify: - title: SQL prettify and format - description: Format and prettify your SQL queries online (it supports various SQL dialects). - - benchmark-builder: - title: Benchmark builder - description: Easily compare execution time of tasks with this very simple online benchmark builder. - - git-memo: - title: Git cheatsheet - description: Git is a decentralized version management software. With this cheatsheet, you will have quick access to the most common git commands. - - slugify-string: - title: Slugify string - description: Make a string url, filename and id safe. - - encryption: - title: Encrypt / decrypt text - description: Encrypt clear text and decrypt ciphertext using crypto algorithms like AES, TripleDES, Rabbit or RC4. - - random-port-generator: - title: Random port generator - description: Generate random port numbers outside of the range of "known" ports (0-1023). - - yaml-prettify: - title: YAML prettify and format - description: Prettify your YAML string into a friendly, human-readable format. - - eta-calculator: - title: ETA calculator - description: An ETA (Estimated Time of Arrival) calculator to determine the approximate end time of a task, for example, the end time and duration of a file download. - - roman-numeral-converter: - title: Roman numeral converter - description: Convert Roman numerals to numbers and convert numbers to Roman numerals. - - hmac-generator: - title: Hmac generator - description: Computes a hash-based message authentication code (HMAC) using a secret key and your favorite hashing function. - - bip39-generator: - title: BIP39 passphrase generator - description: Generate a BIP39 passphrase from an existing or random mnemonic, or get the mnemonic from the passphrase. - - base64-file-converter: - title: Base64 file converter - description: Convert a string, file, or image into its base64 representation. - - list-converter: - title: List converter - description: This tool can process column-based data and apply various changes (transpose, add prefix and suffix, reverse list, sort list, lowercase values, truncate values) to each row. - - base64-string-converter: - title: Base64 string encoder/decoder - description: Simply encode and decode strings into their base64 representation. - - toml-to-yaml: - title: TOML to YAML - description: Parse and convert TOML to YAML. - - math-evaluator: - title: Math evaluator - description: A calculator for evaluating mathematical expressions. You can use functions like sqrt, cos, sin, abs, etc. - - json-to-yaml-converter: - title: JSON to YAML converter - description: Simply convert JSON to YAML with this online live converter. - - url-parser: - title: URL parser - description: Parse a URL into its separate constituent parts (protocol, origin, params, port, username-password, ...) - - iban-validator-and-parser: - title: IBAN validator and parser - description: Validate and parse IBAN numbers. Check if an IBAN is valid and get the country, BBAN, if it is a QR-IBAN and the IBAN friendly format. - - user-agent-parser: - title: User-agent parser - description: Detect and parse Browser, Engine, OS, CPU, and Device type/model from an user-agent string. - - numeronym-generator: - title: Numeronym generator - description: A numeronym is a word where a number is used to form an abbreviation. For example, "i18n" is a numeronym of "internationalization" where 18 stands for the number of letters between the first i and the last n in the word. - - case-converter: - title: Case converter - description: Transform the case of a string and choose between different formats - - html-entities: - title: Escape HTML entities - description: Escape or unescape HTML entities (replace characters like <,>, &, " and \' with their HTML version) - - json-prettify: - title: JSON prettify and format - description: Prettify your JSON string into a friendly, human-readable format. - - docker-run-to-docker-compose-converter: - title: Docker run to Docker compose converter - description: Transforms "docker run" commands into docker-compose files! - - mac-address-lookup: - title: MAC address lookup - description: Find the vendor and manufacturer of a device by its MAC address. - - mime-types: - title: MIME types - description: Convert MIME types to file extensions and vice-versa. - - toml-to-json: - title: TOML to JSON - description: Parse and convert TOML to JSON. - - lorem-ipsum-generator: - title: Lorem ipsum generator - description: Lorem ipsum is a placeholder text commonly used to demonstrate the visual form of a document or a typeface without relying on meaningful content - - qrcode-generator: - title: QR Code generator - description: Generate and download a QR code for a URL (or just plain text), and customize the background and foreground colors. - - wifi-qrcode-generator: - title: WiFi QR Code generator - description: Generate and download QR codes for quick connections to WiFi networks. - - xml-formatter: - title: XML formatter - description: Prettify your XML string into a friendly, human-readable format. - - temperature-converter: - title: Temperature converter - description: Degrees temperature conversions for Kelvin, Celsius, Fahrenheit, Rankine, Delisle, Newton, Réaumur, and Rømer. - - chmod-calculator: - title: Chmod calculator - description: Compute your chmod permissions and commands with this online chmod calculator. - - rsa-key-pair-generator: - title: RSA key pair generator - description: Generate a new random RSA private and public pem certificate key pair. - - html-wysiwyg-editor: - title: HTML WYSIWYG editor - description: Online, feature-rich WYSIWYG HTML editor which generates the source code of the content immediately. - - yaml-to-toml: - title: YAML to TOML - description: Parse and convert YAML to TOML. - - mac-address-generator: - title: MAC address generator - description: Enter the quantity and prefix. MAC addresses will be generated in your chosen case (uppercase or lowercase) - - json-diff: - title: JSON diff - description: Compare two JSON objects and get the differences between them. - - jwt-parser: - title: JWT parser - description: Parse and decode your JSON Web Token (jwt) and display its content. - - date-converter: - title: Date-time converter - description: Convert date and time into the various different formats - - phone-parser-and-formatter: - title: Phone parser and formatter - description: Parse, validate and format phone numbers. Get information about the phone number, like the country code, type, etc. - - ipv4-subnet-calculator: - title: IPv4 subnet calculator - description: Parse your IPv4 CIDR blocks and get all the info you need about your subnet. - - og-meta-generator: - title: Open graph meta generator - description: Generate open-graph and socials HTML meta tags for your website. - - ipv6-ula-generator: - title: IPv6 ULA generator - description: Generate your own local, non-routable IP addresses for your network according to RFC4193. - - hash-text: - title: Hash text - description: 'Hash a text string using the function you need : MD5, SHA1, SHA256, SHA224, SHA512, SHA384, SHA3 or RIPEMD160' - - json-to-toml: - title: JSON to TOML - description: Parse and convert JSON to TOML. - - device-information: - title: Device information - description: Get information about your current device (screen size, pixel-ratio, user agent, ...) - - pdf-signature-checker: - title: PDF signature checker - description: Verify the signatures of a PDF file. A signed PDF file contains one or more signatures that may be used to determine whether the contents of the file have been altered since the file was signed. - - json-minify: - title: JSON minify - description: Minify and compress your JSON by removing unnecessary whitespace. - - ulid-generator: - title: ULID generator - description: Generate random Universally Unique Lexicographically Sortable Identifier (ULID). - - string-obfuscator: - title: String obfuscator - description: Obfuscate a string (like a secret, an IBAN, or a token) to make it shareable and identifiable without revealing its content. - - base-converter: - title: Integer base converter - description: Convert a number between different bases (decimal, hexadecimal, binary, octal, base64, ...) - - yaml-to-json-converter: - title: YAML to JSON converter - description: Simply convert YAML to JSON with this online live converter. - - uuid-generator: - title: UUIDs generator - description: A Universally Unique Identifier (UUID) is a 128-bit number used to identify information in computer systems. The number of possible UUIDs is 16^32, which is 2^128 or about 3.4x10^38 (which is a lot!). - - ipv4-address-converter: - title: IPv4 address converter - description: Convert an IP address into decimal, binary, hexadecimal, or even an IPv6 representation of it. - - text-statistics: - title: Text statistics - description: Get information about a text, the number of characters, the number of words, its size in bytes, ... - - text-to-nato-alphabet: - title: Text to NATO alphabet - description: Transform text into the NATO phonetic alphabet for oral transmission. - - basic-auth-generator: - title: Basic auth generator - description: Generate a base64 basic auth header from a username and password. - - text-to-unicode: - title: Text to Unicode - description: Parse and convert text to unicode and vice-versa - - ipv4-range-expander: - title: IPv4 range expander - description: Given a start and an end IPv4 address, this tool calculates a valid IPv4 subnet along with its CIDR notation. - - text-diff: - title: Text diff - description: Compare two texts and see the differences between them. - - otp-generator: - title: OTP code generator - description: Generate and validate time-based OTP (one time password) for multi-factor authentication. - - url-encoder: - title: Encode/decode URL-formatted strings - description: Encode text to URL-encoded format (also known as "percent-encoded"), or decode from it. - - text-to-binary: - title: Text to ASCII binary - description: Convert text to its ASCII binary representation and vice-versa. diff --git a/locales/es.yml b/locales/es.yml deleted file mode 100644 index 14e2bb66..00000000 --- a/locales/es.yml +++ /dev/null @@ -1,72 +0,0 @@ -home: - categories: - newestTools: Nuevas herramientas - favoriteTools: 'Tus herramientas favoritas' - allTools: 'Todas las herramientas' - favoritesDndToolTip: 'Arrastra y suelta para reordenar favoritos' - subtitle: 'Herramientas practicas para desarrolladores' - toggleMenu: 'Toggle menu' - home: Home - uiLib: 'UI Lib' - support: 'Apoyar el desarrollo de IT-Tools' - buyMeACoffee: 'Buy me a coffee' - follow: - title: 'Te gustan las it-tools?' - p1: 'Danos una estrella en' - githubRepository: 'Repositorio de IT-Tools en GitHub' - p2: 'o síguenos en' - twitterXAccount: 'Cuenta de X de IT-Tools' - thankYou: 'Muchas gracias!' - nav: - github: 'Repositorio en github' - githubRepository: 'IT-Tools GitHub repository' - twitterX: 'Cuenta de X' - twitterXAccount: 'Cuenta de X de IT Tools' - about: 'Sobre IT-Tools' - aboutLabel: 'Sobre' - darkMode: 'Modo obscuro' - lightMode: 'Modo claro' - mode: 'Alternar modo oscuro/claro' -about: - content: > - # Sobre IT-Tools - - Este maravilloso sitio web, hecho con ❤ por [Corentin Thomasset](https://corentin.tech?utm_source=it-tools&utm_medium=about) , agrega herramientas útiles para desarrolladores y personas que trabajan en IT. Si lo encuentra útil, no dude en compartirlo con las personas que crea que también pueden encontrarlo útil y ¡no olvide marcarlo como favorito en su barra de accesos directos! - - IT Tools es de código abierto (under the GPL-3.0 license) y gratis, y siempre lo será, pero me cuesta dinero alojar y renovar el nombre de dominio. Si desea apoyar mi trabajo y animarme a agregar más herramientas, considere apoyarme a través de[sponsoring me](https://www.buymeacoffee.com/cthmsst). - - ## Tecnologías - - IT Tools está creado en Vue.js (Vue 3) con la biblioteca de componentes Naive UI y Vercel lo aloja y lo implementa continuamente. En algunas herramientas se utilizan bibliotecas de código abierto de terceros; puede encontrar la lista completa en [package.json](https://github.com/CorentinTh/it-tools/blob/main/package.json) archivo del repositorio. - - ## ¿Encontraste un error? ¿Falta una herramienta? - - Si necesita una herramienta que actualmente no está presente aquí y cree que puede ser útil, puede enviar una solicitud de función en el [issues section](https://github.com/CorentinTh/it-tools/issues/new/choose) en el repositorio de GitHub. - - Y si encontró un error o algo no funciona como se esperaba, presente un reporte de error en el [issues section](https://github.com/CorentinTh/it-tools/issues/new/choose) en el repositorio de GitHub. - -404: - notFound: '404 Not Found' - sorry: 'Lo sentimos, esta página no parece existir' - maybe: 'Tal vez el caché esté haciendo cosas raras, ¿probamos a refrescar forzosamente?' - backHome: 'Back home' -favoriteButton: - remove: 'Quitar de favoritos' - add: 'Añadir a favoritos' -toolCard: - new: Nuevo -search: - label: Buscar -tools: - categories: - favorite-tools: 'Tus herramientas favoritas' - crypto: Crypto - converter: Converter - web: Web - images and videos: 'Images & Videos' - development: Development - network: Network - math: Math - measurement: Measurement - text: Text - data: Data diff --git a/locales/fr.yml b/locales/fr.yml deleted file mode 100644 index 86bb47d6..00000000 --- a/locales/fr.yml +++ /dev/null @@ -1,82 +0,0 @@ -home: - categories: - newestTools: 'Les nouveaux outils' - favoriteTools: 'Vos outils favoris' - allTools: 'Tous les outils' - favoritesDndToolTip: 'Faites glisser et déposez pour réordonner vos favoris' - subtitle: 'Outils pour les développeurs' - toggleMenu: 'Menu' - home: Accueil - uiLib: 'UI Lib' - buyMeACoffee: 'Soutenez IT-Tools' - follow: - title: 'Vous aimez it-tools ?' - p1: 'Soutenez-nous avec une star sur' - githubRepository: "le dépôt GitHub d'IT-Tools" - p2: 'ou suivez-nous sur' - twitterXAccount: "le compte X d'IT-Tools" - thankYou: 'Merci !' - nav: - github: 'Dépôt GitHub' - githubRepository: "Dépôt GitHub d'IT-Tools" - twitterX: 'Compte X' - twitterXAccount: "Compte X d'IT-Tools" - about: "À propos d'IT-Tools" - aboutLabel: 'À propos' - darkMode: 'Mode sombre' - lightMode: 'Mode clair' - mode: 'Basculer le mode sombre/clair' -about: - content: > - # À propos de IT-Tools - - Ce merveilleux site, fait avec ❤ par [Corentin Thomasset](https://corentin.tech?utm_source=it-tools&utm_medium=about), regroupe des outils utiles pour les développeurs et les personnes travaillant dans l'informatique. Si vous le trouvez utile, n'hésitez pas à le partager et n'oubliez pas de le mettre dans vos favoris ! - - IT Tools est open-source (sous licence GPL-3.0) et gratuit, et le restera toujours, mais cela me coûte de l'argent pour l'héberger et renouveler le nom de domaine. Si vous voulez soutenir mon travail, et m'encourager à ajouter plus d'outils, n'hésitez pas à me [soutenir](https://www.buymeacoffee.com/cthmsst). - - ## Technologies - - IT Tools est fait en Vue.js (Vue 3) avec la bibliothèque de composants Naive UI et est hébergé et déployé en continu par Vercel. Des bibliothèques open-source tierces sont utilisées dans certains outils, vous pouvez trouver la liste complète dans le fichier [package.json](https://github.com/CorentinTh/it-tools/blob/main/package.json) du dépôt. - - ## Vous avez trouvé un bug ? Un outil manque ? - - Si vous avez besoin d'un outil qui n'est pas encore présent ici, et que vous pensez qu'il peut être utile, vous êtes invité à soumettre une demande de fonctionnalité dans la [section issue](https://github.com/CorentinTh/it-tools/issues/new/choose) du dépôt GitHub. - -404: - notFound: '404 Not Found' - sorry: "Désolé, cette page n'existe pas" - maybe: 'Peut-être que le cache fait des siennes, essayez de forcer le rafraîchissement ?' - backHome: "Retour à l'accueil" -toolCard: - new: Nouveau -search: - label: Rechercher -tools: - categories: - favorite-tools: 'Vos outils favoris' - crypto: Cryptographie - converter: Convertisseur - web: Web - images and videos: 'Images & Vidéos' - development: Développement - network: Réseau - math: Math - measurement: Mesure - text: Texte - data: Données - - token-generator: - title: Générateur de token - description: >- - Génère une chaîne aléatoire avec les caractères que vous voulez, lettres - majuscules ou minuscules, chiffres et/ou symboles. - uppercase: Majuscules (ABC...) - lowercase: Minuscules (abc...) - numbers: Chiffres (123...) - symbols: Symboles (!-;...) - button: - copy: Copier - refresh: Rafraichir - copied: Le token a été copié - length: Longueur - tokenPlaceholder: Le token... diff --git a/locales/no.yml b/locales/no.yml deleted file mode 100644 index ba4f9e47..00000000 --- a/locales/no.yml +++ /dev/null @@ -1,394 +0,0 @@ -home: - categories: - newestTools: Nyeste verktøy - favoriteTools: 'Dine favoritt verktøy' - allTools: 'Alle verktøyene' - favoritesDndToolTip: 'Dra og slipp for å omordne favoritter' - subtitle: 'Nyttige verktøy for utviklere' - toggleMenu: 'Vekslemenmy' - home: Hjem - uiLib: 'UI Bib' - support: 'Støtt utviklingen av IT-Tools' - buyMeACoffee: 'Kjøp en kaffe til meg' - follow: - title: 'Liker du it-tools?' - p1: 'Gi oss en stjerne på' - githubRepository: 'IT-Tools GitHub-depotet' - p2: 'eller følg oss på' - twitterXAccount: 'IT-Tools sin X konto' - thankYou: 'Tusen takk!' - nav: - github: 'GitHub-depot' - githubRepository: 'IT-Tools GitHub-depot' - twitterX: 'X konto' - twitterXAccount: 'IT Tools X konto' - about: 'Om IT-Tools' - aboutLabel: 'Om' - darkMode: 'Mørk modus' - lightMode: 'Lys modus' - mode: 'Veksle mørk/lys modus' -about: - content: > - # Om IT-Tools - - Denne vidunderlige nettsiden, laget med ❤ av [Corentin Thomasset](https://corentin.tech?utm_source=it-tools&utm_medium=about) , sammenstiller nyttige verktøy for utviklere og folk som jobber innen IT. Hvis du finner dette nyttig, Del det gjerne med andre som du tror kan få nytte av dette, og ikke glem å lage et bokmerke! - - IT Tools er åpen kildekode (under GPL-3.0 lisensen) og gratis, og det vil det alltid være, men det koster å drifte og å fornye domenet. Hvis du ønsker å støtte arbeidet mitt, og motivere meg til å legge til flere verktøy, gjerne støtt meg ved å [sponse meg](https://www.buymeacoffee.com/cthmsst). - - ## Teknologier - - IT Tools er laget i Vue.js (Vue 3) med Naive UI komponent bibliotektet og er hosted og kontinuerlig deployet av Vercel. Tredjeparts åpen-kildekode biblioteker er brukt i noen verktøy, du kan finne den komplette listen i [package.json](https://github.com/CorentinTh/it-tools/blob/main/package.json) filen i depoet. - - ## Funnet en feil? Et verktøy som mangler? - - Hvis du trenger et verktøy som foreløpig ikke er tilgjengelig her, og du tenker det kan være nyttig for andre, så er du velkommen til å legge til en funksjonsforespørsel i [problem seksjonen](https://github.com/CorentinTh/it-tools/issues/new/choose) i github-depotet. - - Og hvis du har funnet en feil, eller noe ikke oppfører seg som forventet, vennligst send inn en feilrapport i [problem seksjonen](https://github.com/CorentinTh/it-tools/issues/new/choose) i github-depotet. - -404: - notFound: '404 ikke funnet' - sorry: 'Beklager, denne siden ser ikke ut til å eksistere' - maybe: 'Kanskje informasjonskapslene oppfører seg rart, prøvd en tvungen oppfriskning?' - backHome: 'Tilbake til start' -favoriteButton: - remove: 'Fjern fra favoritter' - add: 'Legg til favoritter' -toolCard: - new: Ny -search: - label: Søk -tools: - categories: - favorite-tools: 'Dine favoritt verktøy' - crypto: Krypto - converter: Konvertering - web: Web - images and videos: 'Bilder & Videoer' - development: Utvikling - network: Nettverk - math: Matte - measurement: Måling - text: Tekst - data: Data - - password-strength-analyser: - title: Analyseverktøy for passordstyrke - description: Oppdag styrken av passordet ditt med dette kun-klient-maskin passordstyrke analyse verktøyet og se den estimerte knekketiden. - - chronometer: - title: Kronometer - description: Overvåk varigheten av noe. I bunn og grunn et kronometer med enkle funksjoner. - - token-generator: - title: Token generator - description: Generer en tilfeldig streng med store og/eller små bokstaver, siffer og/eller symboler. - - uppercase: Store bokstaver (ABC...) - lowercase: Små bokstaver (abc...) - numbers: Siffer (123...) - symbols: Symboler (!-;...) - length: Lengde - tokenPlaceholder: 'Tokenet...' - copied: Tokenet er kopiert til utklippstavlen. - button: - copy: Kopier - refresh: Oppfrisk - percentage-calculator: - title: Prosent kalkulator - description: Beregn enkelt prosenter fra en verdi til en annen, eller fra en prosent til en verdi. - - svg-placeholder-generator: - title: SVG plassholder generator - description: Generer svg bilder til å bruke som plassholder i applikasjonen din. - - json-to-csv: - title: JSON til CSV - description: Konverter JSON til CSV med automatisk oppdagelse av headeren. - - camera-recorder: - title: Kameraopptak - description: Ta et bilde eller spill inn en video med webkamera eller kameraet ditt. - - keycode-info: - title: Tastekode info - description: Finn javascript tastekode, kode, plassering og modifikatorer av hvilken som helst tast. - - emoji-picker: - title: Emoji velger - description: Klipp og lim emojis og få unicode og kode verdien av hver emoji. - - color-converter: - title: Farge konverter - description: Konverter farger mellom de forskjellige formatene (hex, rgb, hsl og css navn). - - bcrypt: - title: Bcrypt - description: Hash og sammenlign tekst ved hjelp av bcrypt. Bcrypt er en passord-hashings funksjon basert på Blowfish cipher. - - crontab-generator: - title: Crontab generator - description: Verifiser og generer crontab og få den mennesklig leselige beskrivelsen av cron timeplanen. - - http-status-codes: - title: HTTP status koder - description: Liste over alle HTTP status koder, navnet dems, og betydningen. - - sql-prettify: - title: SQL forskjønning and format - description: Formater og forskjønn SQL spørringene dine (den støtter forskjellige SQL dialekter). - - benchmark-builder: - title: Bygg en referansemåler - description: Sammenlign enkelt kjøretiden av oppgaver med denne enkle referansemåls byggeren. - - git-memo: - title: Git jukselapp - description: Git er en desentralisert versjons håndterings programvare. Med denne jukselappen vil du få kjapp tilgang til de vanligste kommandoene. - - slugify-string: - title: Slugify streng - description: Lag en trygg url, filbane eller id. - - encryption: - title: Krypter / decrypter tekst - description: Krypter klartekst og dekrypter ciphertekst ved bruk av krypteringsalgoritmer som AES, TripleDES, Rabbit eller RC4. - - random-port-generator: - title: Tilfeldig port generator - description: Generer tilfeldige portnumre utenfor scopet av "kjente" porter (0-1023). - - yaml-prettify: - title: YAML forskjønning og formatering - description: Forskjønn YAML strengene dine til et lettlest format. - - eta-calculator: - title: ETA kalkulator - description: En ETA (Estimert Tid for Ankomst) kalkulator for å anslå den sannsynelige slutt tiden for en oppgave, for eksempel, slutttiden og varigheten av en filnedlastning. - - roman-numeral-converter: - title: Romertall konverter - description: Konverter romertall til tall eller konverter tall til romertall. - - hmac-generator: - title: Hmac generator - description: Beregn en hash-basert meldings authentiserings kode (HMAC) ved bruk av en hemmelig nøkkel og din foretrukne hashings funksjon. - - bip39-generator: - title: BIP39 nøkkelords generator - description: Generer et BIP39 nøkkelord fra en eksisterende eller tilfeldig huskesetning, eller få ut en huskesetning fra nøkkelordet. - - base64-file-converter: - title: Base64 fil konverter - description: Konverter en base64 streng til fil eller en fil, bilde til en base64 representasjon. - - list-converter: - title: Liste konverterer - description: Dette verktøyet kan prosessere kolonnebasert data og foreta forskjellige endringer (transposering, legge til prefix og suffix, reversere lister, sortere lister, gjøre om til små bokstaver, trunkere verdier) på hver rad. - - base64-string-converter: - title: Base64 string kode/dekoder - description: Enkelt kode eller dekode en tekststreng til base64 representasjonen av strengen. - - toml-to-yaml: - title: TOML til YAML - description: Parser og konverter TOML til YAML. - - math-evaluator: - title: Matematikkevaluator - description: En Kalkulator for å evaluere matematiske uttrykk. Du kan bruke funksjoner som sqrt, cos, sin, abs, etc. - - json-to-yaml-converter: - title: JSON til YAML konverterer - description: Enkelt konverter JSON til YAML med dette verktøyet. - - url-parser: - title: URL analyse - description: Parsere en URL ned til bestanddelene (protokoll, opprinnelse, parametre, port, brukernavn-passord, ...). - - iban-validator-and-parser: - title: IBAN validering og analysering - description: Valider og parser IBAN numre. Sjekk om et IBAN er gyldig og få landet, BBAN, om det er en QR-IBAN og IBAN i et vennlig format. - - user-agent-parser: - title: User-agent analysering - description: Detekter og parser nettleser, motor, OS, CPU, og enhet type/modell fra en user-agent tekst streng. - - numeronym-generator: - title: Numeronym generator - description: Et numeronym er et ord hvor et nummer er brukt til å lage en forkortelse. For eksempel, "i18n" er et numeronym for "internasjonalisering" hvor 18 står for antall bokstaver mellom første bokstaven i og den siste bokstaven n i ordet. - - case-converter: - title: Bokstavkonvertering - description: Formater bokstavene med store eller små bokstaver, samt andre format. - - html-entities: - title: HTML streng rensing - description: Rens bort eller omsvøp HTML entiteter (erstatt tegn som <,>, &, " and \' med deres HTML versjon). - - json-prettify: - title: JSON forskjønning og formatering - description: Forskjønn JSON strenger til et lettlest format. - - docker-run-to-docker-compose-converter: - title: Docker run til Docker compose konverter - description: Konverter "docker run" kommandoer til docker-compose filer! - - mac-address-lookup: - title: MAC address oppslagsverk - description: Finn forhandler og produsent basert på MAC adressen. - - mime-types: - title: MIME typer - description: Konverter MIME typer til fil utvidelser og visa-versa. - - toml-to-json: - title: TOML til JSON - description: Parser og konverter TOML til JSON. - - lorem-ipsum-generator: - title: Lorem ipsum generator - description: Lorem ipsum er brukt som plassholder tekst, vanligvis brukt til å demonstrere den visuelle formen av et dokument eller font-type uten å måtte ha meningsfult innhold. - - qrcode-generator: - title: QR Kode generator - description: Generer og last ned en QR kode til en URL (eller ren tekst), og tilpass bakgrunns og forgrunns farger. - - wifi-qrcode-generator: - title: WiFi QR Kode generator - description: Generer og last ned QR koder for rask tilkobling til wifi nettverket. - - xml-formatter: - title: XML formaterer - description: Forskjønn en XML streng til et lettlest format. - - temperature-converter: - title: Temperatur konverter - description: Temperatur konversjoner mellom Kelvin, Celsius, Fahrenheit, Rankine, Delisle, Newton, Réaumur, og Rømer. - - chmod-calculator: - title: Chmod kalkulator - description: Beregn chmod tillatelser og kommandoer med denne chmod kalkulatoren. - - rsa-key-pair-generator: - title: RSA nøkkelpar generator - description: Generer et nytt tilfeldig RSA privat og offentlig pem sertifikat nøkkel par. - - html-wysiwyg-editor: - title: HTML WYSIWYG editor - description: Online, funksjonsrik WYSIWYG HTML editor som genererer kildekoden for innholdet øyeblikkelig. - - yaml-to-toml: - title: YAML til TOML - description: Parser og konverter YAML til TOML. - - mac-address-generator: - title: MAC adresse generator - description: Sett inn antall og prefix. MAC addressene blir generert i ønsket format - - json-diff: - title: JSON diff - description: Sammenlign to JSON objekter og finn forskjellene mellom dem. - - jwt-parser: - title: JWT parser - description: Parse og dekode et JSON Web Token (jwt) og vis innholdet. - - date-converter: - title: Dato-tid konverter - description: Konverter dato og tid til forskjellige formater. - - phone-parser-and-formatter: - title: Telefon format og parserer - description: Parser, valider og formater telefon numre. få innformasjonen om telefon nummeret, slik som landskoden, type etc. - - ipv4-subnet-calculator: - title: IPv4 subnet kalkulator - description: Parser IPv4 CIDR blokker of åf all info du trenger om subnettet. - - og-meta-generator: - title: Open graph meta generator - description: Generer open-graph og SoMe HTML meta tagger til nettsiden din. - - ipv6-ula-generator: - title: IPv6 ULA generator - description: Generer din egen lokale, ikke-rutbare IP adresse til nettverket ditt i henhold til RFC4193. - - hash-text: - title: Hash tekst - description: 'Hash en tekst streng med en av algoritmene : MD5, SHA1, SHA256, SHA224, SHA512, SHA384, SHA3 eller RIPEMD160' - - json-to-toml: - title: JSON til TOML - description: Parser og konverter JSON til TOML. - - device-information: - title: Enhets informasjon - description: Få informasjon om din nåværende enhet (skjermstørrelse, piksel-forhold, user agent, etc.) - - pdf-signature-checker: - title: PDF signatur sjekker - description: Bekreft signaturen til en PDF fil. En signert PDF fil inneholder en eller flere signaturer som kan bli brukt til å bestemme om en fil har blitt endret etter at den var signert. - - json-minify: - title: JSON minifiser - description: Minifiser og komprimer JSON ved å fjerne unødvendige mellomrom. - - ulid-generator: - title: ULID generator - description: Generer tilfeldig Universell Unik Leksikografisk Sorterbar Identifikator (ULID). - - string-obfuscator: - title: Streng obfuskator - description: Obfusker en streng (som en hemmelighet, en IBAN, eller et token) og gjør den delbar og identifiserbar uten å vise innholdet. - - base-converter: - title: Heltalls konverter - description: Konverter et heltall mellom forskjellige baser (desimal, hexadesimal, binær, oktal, base64, etc.) - - yaml-to-json-converter: - title: YAML til JSON konverter - description: Konverterl YAML til JSON. - - uuid-generator: - title: UUIDs generator - description: En universell Unik Identifikator (UUID) er et 128-bit nummer, brukt til å identifisere informasjon i datasystemer. - - ipv4-address-converter: - title: IPv4 adresse konverter - description: Konverter en IPv4 adresse til desimal, binær, hexadesimal, eller en IPv6 representasjon. - - text-statistics: - title: Tekst statistikk - description: Få informasjonen om en tekst, antall karakterer, antall ord, størrelsen i bytes, etc. - - text-to-nato-alphabet: - title: Tekst til NATO alfabetet - description: Transformer teksten til det NATO fonetiske alfabetet for muntlig gjengivelse. - - basic-auth-generator: - title: Basic auth generator - description: Generer en base64 basic auth header fra et brukernavn og passord. - - text-to-unicode: - title: Tekst til Unicode - description: Parser og konverter tekst til unicode og visa-versa - - ipv4-range-expander: - title: IPv4 range utvider - description: Gitt en start og en slutt IPv4 adresse, kalkulerer dette verktøyet et gyldig IPv4 subnet sammen med sin CIDR notasjon. - - text-diff: - title: Tekst diff - description: Sammenlign to tekster og vis forskjellen mellom dem. - - otp-generator: - title: OTP kode generator - description: Generer og valider tidsbasert OTP (one time password) for multi-faktor autentisering. - - url-encoder: - title: Kode/dekode URL-formaterte strenger - description: Kode tekst til URL-kodet format (også kjent som "prosent-kodet"), eller dekode fra det. - - text-to-binary: - title: Tekst til ASCII binært - description: Konverter tekst til sin ASCII binære representasjon og visa-versa. diff --git a/locales/pt.yml b/locales/pt.yml deleted file mode 100644 index 5845eb2f..00000000 --- a/locales/pt.yml +++ /dev/null @@ -1,72 +0,0 @@ -home: - categories: - newestTools: 'Novas ferramentas' - favoriteTools: 'Suas ferramentas favoritas' - allTools: 'Todas as ferramentas' - favoritesDndToolTip: 'Arraste e solte para reordenar favoritos' - subtitle: 'Ferraentas úteis para desenvolvedores' - toggleMenu: 'Menu' - home: 'Início' - uiLib: 'Biblioteca de UI' - support: 'Apoie o desenvolvimento do IT Tools' - buyMeACoffee: 'Pague-me um café' - follow: - title: 'Gostou do it-tools?' - p1: 'Dê uma estrela no' - githubRepository: 'repositório do IT-Tools no GitHub' - p2: 'ou siga nossa' - twitterXAccount: 'conta IT-Tools no X' - thankYou: 'Obrigado !' - nav: - github: 'Repositório no GitHub' - githubRepository: 'repositório do IT-Tools no GitHub' - twitterX: 'Conta no X' - twitterXAccount: 'conta do IT Tools no X' - about: 'Sobre o IT-Tools' - aboutLabel: 'Sobre' - darkMode: 'Modo Escuro' - lightMode: 'Modo Claro' - mode: 'Trocar modo escuro/claro' -about: - content: > - # Sobre o IT-Tools - - Este site maravilhoso, feito com ❤ por [Corentin Thomasset](https://corentin.tech?utm_source=it-tools&utm_medium=about), junta ferramentas úteis para desenvolvedores e outras pessoas que trabalham com TI. Se você achar o site útil, fique à vontade para compartilhar com quem também possa gostar e não esqueça de salvar o bookmark na sua barra de atalhos! - - O IT Tools é código aberto (sob a licença GPL-3.0), é gratuito, e sempre será, mas custa dinheiro para hospedar e renovar o domínio. Se quiser apoiar meu trabalho e me encorajar a adicionar mais ferramentas, por favor considere [ser patrocinador](https://www.buymeacoffee.com/cthmsst). - - ## Tecnologias - - O IT Tools é feito em Vue.js (Vue 3) com a biblioteca de componentes Naive UI e é hospedado pela Vercel. Bibliotecas de código aberto de terceiros são usadas em algumas ferramentas e você pode encontrar a lista completa no arquivo [package.json](https://github.com/CorentinTh/it-tools/blob/main/package.json) do repositório. - - ## Achou um bug? Está faltando uma ferramenta? - - Se você precisa de uma ferramenta que ainda não existe aqui e acha que pode ser útil, seu pedido será bem vindo na [seção de issues](https://github.com/CorentinTh/it-tools/issues/new/choose) no repositório do GitHub. - - E se você encontrar um bug ou se algo não funcionar como esperado, por favor registre um relato de bug na [seção de issues](https://github.com/CorentinTh/it-tools/issues/new/choose) no GitHub. - -404: - notFound: '404 Não Encontrado' - sorry: 'Desculpe, parece que essa página não existe' - maybe: 'Talvez o cache esteja fazendo bobagem, que tal tentar forçar a atualização?' - backHome: 'Voltar para o início' -favoriteButton: - remove: 'Remover dos favoritos' - add: 'Adicionar aos favoritos' -toolCard: - new: 'Novo' -search: - label: 'Pesquisar' -tools: - categories: - favorite-tools: 'Suas ferramentas favoritas' - crypto: 'Cripto' - converter: 'Conversores' - web: 'Web' - images and videos: 'Imagens & Vídeos' - development: 'Desenvolvimento' - network: 'Rede' - math: 'Matemática' - measurement: 'Medidas' - text: 'Texto' - data: 'Dados' diff --git a/locales/uk.yml b/locales/uk.yml deleted file mode 100644 index b0086226..00000000 --- a/locales/uk.yml +++ /dev/null @@ -1,72 +0,0 @@ -home: - categories: - newestTools: Найновіші інструменти - favoriteTools: 'Ваші улюблені інструменти' - allTools: 'Усі інструменти' - favoritesDndToolTip: 'Перетягніть і відпустіть, щоб змінити порядок улюблених' - subtitle: 'Зручні інструменти для розробників' - toggleMenu: 'Перемикання меню' - home: Головна - uiLib: 'UI Бібліотека' - support: 'Підтримка розробки IT Tools' - buyMeACoffee: 'Купи мені каву' - follow: - title: 'Вам подобаються інструменти IT?' - p1: 'Додайте нам зірку на' - githubRepository: 'GitHub-репозиторій IT-Tools' - p2: 'або слідкуйте за нами на' - twitterXAccount: 'X-акаунт IT-Tools' - thankYou: 'Дякуємо!' - nav: - github: 'GitHub-репозиторій' - githubRepository: 'GitHub-репозиторій IT-Tools' - twitterX: 'X' - twitterXAccount: 'X-акаунт IT-Tools' - about: 'Про IT-Tools' - aboutLabel: 'Про нас' - darkMode: 'Темний режим' - lightMode: 'Світлий режим' - mode: 'Перемикання темного/світлого режиму' -about: - content: > - # Про IT-Tools - - Цей чудовий вебсайт, створений з ❤ [Corentin Thomasset](https://corentin.tech?utm_source=it-tools&utm_medium=about), агрегує корисні інструменти для розробників і людей, які працюють в сфері IT. Якщо вам це корисно, будь ласка, поділіться цим з людьми, які, на вашу думку, також можуть знайти його корисним, і не забудьте додати його до закладок у вашій панелі швидкого доступу! - - IT Tools є відкритим програмним забезпеченням (під ліцензією GPL-3.0) і безкоштовним, і завжди буде таким, але мені коштує гроші для хостингу і продовження доменного імені. Якщо ви хочете підтримати мою роботу і підтримати мене у додаванні нових інструментів, розгляньте можливість підтримки, [спонсоруючи мене](https://www.buymeacoffee.com/cthmsst). - - ## Технології - - IT Tools виконаний на Vue.js (Vue 3) з використанням бібліотеки компонентів Naive UI і розгортаний за допомогою Vercel. У деяких інструментах використовуються сторонні відкриті бібліотеки, повний список яких ви можете знайти в файлі [package.json](https://github.com/CorentinTh/it-tools/blob/main/package.json) репозиторію. - - ## Знайшли баг? Відсутній інструмент? - - Якщо вам потрібен інструмент, якого наразі немає тут, і ви вважаєте, що він може бути корисним, ви можете подати запит на додавання функції в [розділі проблем](https://github.com/CorentinTh/it-tools/issues/new/choose) у репозиторії GitHub. - - А якщо ви знайшли баг або щось не працює, як очікувалося, будь ласка, подайте звіт про баг в [розділі проблем](https://github.com/CorentinTh/it-tools/issues/new/choose) у репозиторії GitHub. - -404: - notFound: '404 Сторінка не знайдена' - sorry: 'Вибачте, ця сторінка, схоже, не існує' - maybe: 'Можливо, кеш робить хитрощі, спробуйте примусово оновити сторінку?' - backHome: 'Повернутися на головну' -favoriteButton: - remove: 'Вилучити з обраних' - add: 'Додати до обраних' -toolCard: - new: Новий -search: - label: Пошук -tools: - categories: - favorite-tools: 'Ваші улюблені інструменти' - crypto: Крипта - converter: Конвертер - web: Веб - images and videos: 'Зображення та відео' - development: Розробка - network: Мережа - math: Математика - measurement: Вимірювання - text: Текст - data: Дані diff --git a/locales/vi.yml b/locales/vi.yml deleted file mode 100644 index 59514cd7..00000000 --- a/locales/vi.yml +++ /dev/null @@ -1,383 +0,0 @@ -home: - categories: - newestTools: Công cụ mới nhất - favoriteTools: 'Công cụ yêu thích của bạn' - allTools: 'Tất cả công cụ' - favoritesDndToolTip: 'Kéo thả để sắp xếp lại yêu thích' - subtitle: 'Công cụ cho nhà phát triển.' - toggleMenu: 'Chuyển đổi menu' - home: Trang chủ - uiLib: 'Thư viện UI' - support: 'Hỗ trợ phát triển IT Tools' - buyMeACoffee: 'Ủng hộ tác giả' - follow: - title: 'Bạn thích IT-tools?' - p1: 'Hãy cho chúng tôi một ngôi sao trên' - githubRepository: 'Kho GitHub IT-Tools' - p2: 'hoặc theo dõi chúng tôi trên' - twitterXAccount: 'Tài khoản X IT-Tools' - thankYou: 'Cảm ơn bạn!' - nav: - github: 'Kho GitHub' - githubRepository: 'Kho GitHub IT-Tools' - twitterX: 'Tài khoản X' - twitterXAccount: 'Tài khoản X IT Tools' - about: 'Về IT-Tools' - aboutLabel: 'Giới thiệu' - darkMode: 'Chế độ tối' - lightMode: 'Chế độ sáng' - mode: 'Chuyển đổi chế độ tối/sáng' -about: - content: > - # Về IT-Tools - - Website tuyệt vời này, được tạo ra bằng ❤ bởi [Corentin Thomasset](https://corentin.tech?utm_source=it-tools&utm_medium=about), tổng hợp các công cụ hữu ích cho nhà phát triển và những người làm việc trong lĩnh vực IT. Nếu bạn thấy nó hữu ích, xin đừng ngần ngại chia sẻ cho những người mà bạn nghĩ sẽ thấy nó hữu ích và đừng quên đánh dấu nó trong thanh lối tắt của bạn! - - IT Tools là mã nguồn mở (dưới giấy phép GPL-3.0) và miễn phí, và sẽ luôn như vậy, nhưng tôi phải trả tiền để lưu trữ và gia hạn tên miền. Nếu bạn muốn hỗ trợ công việc của tôi, và khích lệ tôi thêm nhiều công cụ hơn, hãy xem xét hỗ trợ bằng cách [tài trợ cho tôi](https://www.buymeacoffee.com/cthmsst). - - ## Công nghệ - - IT Tools được tạo ra bằng Vue.js (Vue 3) với thư viện thành phần Naive UI và được lưu trữ và triển khai liên tục bởi Vercel. Các thư viện mã nguồn mở của bên thứ ba được sử dụng trong một số công cụ, bạn có thể tìm danh sách đầy đủ trong file [package.json](https://github.com/CorentinTh/it-tools/blob/main/package.json) của kho lưu trữ. - - ## Phát hiện lỗi? Một công cụ bị thiếu? - - Nếu bạn cần một công cụ hiện không có ở đây, và bạn nghĩ rằng nó có thể hữu ích, bạn được chào đón để gửi một yêu cầu tính năng trong [phần vấn đề](https://github.com/CorentinTh/it-tools/issues/new/choose) trong kho GitHub. - - Và nếu bạn phát hiện ra một lỗi, hoặc điều gì đó không hoạt động như mong đợi, xin vui lòng gửi báo cáo lỗi trong [phần vấn đề](https://github.com/CorentinTh/it-tools/issues/new/choose) trong kho GitHub. - -404: - notFound: '404 Không Tìm Thấy' - sorry: 'Xin lỗi, trang này dường như không tồn tại' - maybe: 'Lỗi xảy ra có thể do bộ nhớ đệm, hãy (CTRL + F5) để tải lại trang?' - backHome: 'Quay về trang chủ' -favoriteButton: - remove: 'Xóa khỏi mục yêu thích' - add: 'Thêm vào mục yêu thích' -toolCard: - new: Mới -search: - label: Tìm kiếm -tools: - categories: - favorite-tools: 'Công cụ yêu thích của bạn' - crypto: Mã hóa - converter: Chuyển đổi - web: Web - images and videos: 'Hình ảnh & Video' - development: Phát triển - network: Mạng - math: Toán học - measurement: Đo lường - text: Văn bản - data: Dữ liệu - - password-strength-analyser: - title: Bộ phân tích độ mạnh mật khẩu - description: Khám phá độ mạnh của mật khẩu của bạn với công cụ phân tích độ mạnh mật khẩu chỉ chạy trên phía máy khách và ước tính thời gian phá mật khẩu. - - chronometer: - title: Đồng hồ bấm giờ - description: Giám sát thời gian của một sự việc. Cơ bản là một đồng hồ bấm giờ với các tính năng đơn giản. - - token-generator: - title: Trình tạo mã thông báo - description: Tạo chuỗi ngẫu nhiên với các ký tự bạn muốn, chữ hoa hoặc chữ thường, số và/hoặc ký tự đặc biệt. - - uppercase: Chữ hoa (ABC...) - lowercase: Chữ thường (abc...) - numbers: Số (123...) - symbols: Ký tự đặc biệt (!-;...) - length: Độ dài - tokenPlaceholder: 'Mã thông báo...' - copied: Mã thông báo đã được sao chép vào clipboard - button: - copy: Sao chép - refresh: Làm mới - - percentage-calculator: - title: Máy tính phần trăm - description: Dễ dàng tính toán phần trăm từ một giá trị đến giá trị khác, hoặc từ một phần trăm đến một giá trị. - - svg-placeholder-generator: - title: Trình tạo hình ảnh SVG giả định - description: Tạo hình ảnh svg để sử dụng làm giả định trong ứng dụng của bạn. - - json-to-csv: - title: Chuyển đổi JSON thành CSV - description: Chuyển đổi JSON thành CSV với việc tự động phát hiện tiêu đề. - - camera-recorder: - title: Ghi lại camera - description: Chụp ảnh hoặc quay video từ webcam hoặc máy ảnh của bạn. - keycode-info: - title: Thông tin Keycode - description: Tìm mã keycode, mã, vị trí và các phím điều khiển của bất kỳ phím nào được nhấn. - - emoji-picker: - title: Bộ chọn biểu tượng cảm xúc - description: Sao chép và dán biểu tượng cảm xúc một cách dễ dàng và nhận giá trị unicode và mã điểm của mỗi biểu tượng cảm xúc. - - color-converter: - title: Trình chuyển đổi màu - description: Chuyển đổi màu giữa các định dạng khác nhau (hex, rgb, hsl và tên css) - - bcrypt: - title: Bcrypt - description: Mã hóa và so sánh chuỗi văn bản sử dụng bcrypt. Bcrypt là một hàm mã hóa mật khẩu dựa trên thuật toán Blowfish. - crontab-generator: - title: Trình tạo Crontab - description: Xác thực và tạo crontab và lấy mô tả đọc được của lịch trình cron. - http-status-codes: - title: Mã trạng thái HTTP - description: Danh sách tất cả các mã trạng thái HTTP, tên và ý nghĩa của chúng. - - sql-prettify: - title: Định dạng và làm đẹp SQL - description: Định dạng và làm đẹp các truy vấn SQL của bạn trực tuyến (hỗ trợ nhiều ngôn ngữ SQL khác nhau). - - benchmark-builder: - title: Trình tạo bảng đánh giá - description: Dễ dàng so sánh thời gian thực thi của các nhiệm vụ với trình tạo bảng đánh giá trực tuyến đơn giản này. - git-memo: - title: Lệnh Git - description: Git là một phần mềm quản lý phiên bản phân tán. Với bảng ghi chú này, bạn sẽ có thể truy cập nhanh vào các lệnh Git phổ biến nhất. - - slugify-string: - title: Chuyển đổi chuỗi thành slug - description: Biến đổi chuỗi thành dạng an toàn để sử dụng trong URL, tên file và ID. - - encryption: - title: Mã hóa / giải mã văn bản - description: Mã hóa và giải mã văn bản rõ bằng cách sử dụng thuật toán mã hóa như AES, TripleDES, Rabbit hoặc RC4. - - random-port-generator: - title: Trình tạo số cổng ngẫu nhiên - description: Tạo số cổng ngẫu nhiên nằm ngoài phạm vi của các cổng "biết được" (0-1023). - - yaml-prettify: - title: Định dạng và làm đẹp YAML - description: Định dạng chuỗi YAML của bạn thành một định dạng dễ đọc và thân thiện với con người. - - eta-calculator: - title: Máy tính ETA - description: Một máy tính ETA (Thời gian dự kiến đến) để biết thời gian kết thúc xấp xỉ của một nhiệm vụ, ví dụ như thời điểm kết thúc của một quá trình tải xuống. - - roman-numeral-converter: - title: Bộ chuyển đổi số La Mã - description: Chuyển đổi số La Mã thành số và chuyển đổi số thành số La Mã. - - hmac-generator: - title: Máy tạo HMAC - description: Tính toán mã xác thực thông điệp dựa trên hash (HMAC) sử dụng một khóa bí mật và hàm băm yêu thích của bạn. - - bip39-generator: - title: Trình tạo BIP39 passphrase - description: Tạo BIP39 passphrase từ mnemonic hiện có hoặc ngẫu nhiên, hoặc lấy mnemonic từ passphrase. - base64-file-converter: - title: Trình chuyển đổi tệp Base64 - description: Chuyển đổi chuỗi, tệp hoặc hình ảnh thành mã Base64. - list-converter: - title: Trình chuyển đổi danh sách - description: Công cụ này có thể xử lý dữ liệu dựa trên cột và áp dụng các thay đổi khác nhau (đảo ngược, thêm tiền tố và hậu tố, đảo danh sách, sắp xếp danh sách, giảm giá trị thành chữ thường, cắt giá trị) cho mỗi hàng. - - base64-string-converter: - title: Trình mã hóa/giải mã chuỗi Base64 - description: Đơn giản mã hóa và giải mã chuỗi thành mã Base64. - toml-to-yaml: - title: Chuyển đổi TOML thành YAML - description: Phân tích và chuyển đổi TOML thành YAML. - - math-evaluator: - title: Trình đánh giá toán học - description: Một máy tính để tính toán biểu thức toán học. Bạn có thể sử dụng các hàm như sqrt, cos, sin, abs, v.v. - - json-to-yaml-converter: - title: Chuyển đổi JSON sang YAML - description: Chuyển đổi đơn giản JSON sang YAML với công cụ chuyển đổi trực tuyến này. - - url-parser: - title: Trình phân tích URL - description: Phân tích một chuỗi URL để lấy tất cả các phần khác nhau (giao thức, nguồn gốc, tham số, cổng, tên người dùng-mật khẩu, ...) - - iban-validator-and-parser: - title: Kiểm tra và phân tích số IBAN - description: Xác thực và phân tích số IBAN. Kiểm tra tính hợp lệ của IBAN và lấy thông tin về quốc gia, BBAN, xem có phải là QR-IBAN và định dạng thân thiện của IBAN. - - user-agent-parser: - title: Trình phân tích User-agent - description: Phát hiện và phân tích trình duyệt, engine, hệ điều hành, CPU và kiểu/mô hình thiết bị từ chuỗi user-agent. - - numeronym-generator: - title: Trình tạo Numeronym - description: Numeronym là một từ mà một số được sử dụng để tạo thành một từ viết tắt. Ví dụ, "i18n" là một numeronym của "internationalization" trong đó số 18 đại diện cho số chữ cái giữa chữ i đầu tiên và chữ n cuối cùng trong từ. - - case-converter: - title: Chuyển đổi chữ hoa/chữ thường - description: Thay đổi kiểu chữ của một chuỗi và chọn giữa các định dạng khác nhau - html-entities: - title: Thay thế các ký tự HTML - description: Thay thế hoặc bỏ thẻ các ký tự HTML (thay thế <,>, &, " và \' thành phiên bản HTML tương ứng) - - json-prettify: - title: Định dạng và làm đẹp JSON - description: Định dạng chuỗi JSON của bạn thành một định dạng dễ đọc và thân thiện với con người. - - docker-run-to-docker-compose-converter: - title: Chuyển đổi lệnh docker run thành tệp docker-compose - description: Chuyển đổi các lệnh docker run thành tệp docker-compose! - - mac-address-lookup: - title: Tra cứu địa chỉ MAC - description: Tìm nhà sản xuất và nhà cung cấp của thiết bị dựa trên địa chỉ MAC. - - mime-types: - title: Loại Mime - description: Chuyển đổi loại mime thành phần mở rộng và ngược lại. - - toml-to-json: - title: Chuyển đổi TOML thành JSON - description: Phân tích và chuyển đổi TOML thành JSON. - - lorem-ipsum-generator: - title: Máy tạo văn bản Lorem ipsum - description: Lorem ipsum là một đoạn văn bản giả được sử dụng phổ biến để thể hiện hình thức của một tài liệu hoặc một kiểu chữ mà không cần dựa vào nội dung có ý nghĩa - - qrcode-generator: - title: Tạo mã QR - description: Tạo và tải xuống mã QR cho một URL hoặc chỉ một đoạn văn bản và tùy chỉnh màu nền và màu chữ. - - wifi-qrcode-generator: - title: Tạo mã QR WiFi - description: Tạo và tải xuống mã QR để kết nối nhanh đến mạng WiFi. - - xml-formatter: - title: Định dạng XML - description: Định dạng chuỗi XML của bạn thành một định dạng dễ đọc và thân thiện với con người. - - temperature-converter: - title: Bộ chuyển đổi nhiệt độ - description: Chuyển đổi độ nhiệt độ cho Kelvin, Celsius, Fahrenheit, Rankine, Delisle, Newton, Réaumur và Rømer. - - chmod-calculator: - title: Máy tính Chmod - description: Tính toán quyền và lệnh chmod của bạn với máy tính Chmod trực tuyến này. - rsa-key-pair-generator: - title: Trình tạo cặp khóa RSA - description: Tạo các chứng chỉ pem khóa riêng tư và khóa công khai RSA ngẫu nhiên mới. - - html-wysiwyg-editor: - title: Trình soạn thảo HTML WYSIWYG - description: Trình soạn thảo HTML trực tuyến với trình soạn thảo WYSIWYG đa chức năng, lấy mã nguồn của nội dung ngay lập tức. - - yaml-to-toml: - title: YAML sang TOML - description: Phân tích và chuyển đổi YAML sang TOML. - - mac-address-generator: - title: Trình tạo địa chỉ MAC - description: Nhập số lượng và tiền tố. Địa chỉ MAC sẽ được tạo ra theo kiểu chữ hoa hoặc chữ thường theo lựa chọn của bạn - - json-diff: - title: So sánh JSON - description: So sánh hai đối tượng JSON và lấy ra sự khác biệt giữa chúng. - - jwt-parser: - title: Giải mã JWT - description: Giải mã và hiển thị nội dung của JSON Web Token (jwt). - - date-converter: - title: Chuyển đổi ngày-tháng - description: Chuyển đổi ngày và thời gian sang các định dạng khác nhau - - phone-parser-and-formatter: - title: Trình phân tích và định dạng số điện thoại - description: Phân tích, xác thực và định dạng số điện thoại. Lấy thông tin về số điện thoại, như mã quốc gia, loại, v.v. - - ipv4-subnet-calculator: - title: Máy tính mạng con IPv4 - description: Phân tích các khối CIDR IPv4 của bạn và nhận thông tin về mạng con của bạn. - - og-meta-generator: - title: Trình tạo meta Open Graph - description: Tạo các thẻ meta HTML Open Graph và mạng xã hội cho trang web của bạn. - - ipv6-ula-generator: - title: Trình tạo địa chỉ IPv6 ULA - description: Tạo địa chỉ IP cục bộ, không thể định tuyến trên mạng của bạn theo RFC4193. - - hash-text: - title: Mã hóa văn bản - description: 'Mã hóa một chuỗi văn bản bằng cách sử dụng các hàm bạn cần: MD5, SHA1, SHA256, SHA224, SHA512, SHA384, SHA3 hoặc RIPEMD160' - json-to-toml: - title: Chuyển đổi JSON sang TOML - description: Phân tích và chuyển đổi JSON sang TOML. - - device-information: - title: Thông tin thiết bị - description: Lấy thông tin về thiết bị hiện tại của bạn (kích thước màn hình, tỷ lệ pixel, user agent, ...) - - pdf-signature-checker: - title: Kiểm tra chữ ký PDF - description: Xác minh chữ ký của một tệp PDF. Một tệp PDF đã được ký có chứa một hoặc nhiều chữ ký có thể được sử dụng để xác định xem nội dung của tệp đã được thay đổi kể từ khi tệp được ký. - - json-minify: - title: Giảm kích thước JSON - description: Giảm kích thước và nén JSON của bạn bằng cách loại bỏ khoảng trắng không cần thiết. - - ulid-generator: - title: Tạo ULID - description: Tạo ngẫu nhiên mã định danh duy nhất có thể sắp xếp theo thứ tự từ điển (ULID). - string-obfuscator: - title: Mã hóa chuỗi - description: Mã hóa một chuỗi (như một bí mật, một IBAN hoặc một mã thông báo) để có thể chia sẻ và nhận dạng mà không tiết lộ nội dung. - - base-converter: - title: Chuyển đổi cơ số số nguyên - description: Chuyển đổi số giữa các cơ số khác nhau (thập phân, thập lục phân, nhị phân, bát phân, base64, ...) - - yaml-to-json-converter: - title: Trình chuyển đổi YAML sang JSON - description: Chuyển đổi YAML sang JSON một cách đơn giản với công cụ chuyển đổi trực tuyến này. - - uuid-generator: - title: Trình tạo UUID - description: Một UUID (Universally Unique Identifier) là một số 128 bit được sử dụng để xác định thông tin trong hệ thống máy tính. Số lượng UUID có thể có là 16^32, tương đương với 2^128 hoặc khoảng 3.4x10^38 (rất lớn!). - - ipv4-address-converter: - title: Chuyển đổi địa chỉ Ipv4 - description: Chuyển đổi địa chỉ ip thành số thập phân, nhị phân, thập lục phân hoặc thậm chí thành ipv6 - - text-statistics: - title: Thống kê văn bản - description: Lấy thông tin về một văn bản, số ký tự, số từ, kích thước của nó, ... - - text-to-nato-alphabet: - title: Chuyển đổi văn bản thành bảng chữ cái NATO - description: Chuyển đổi văn bản thành bảng chữ cái phiên âm NATO để truyền tải bằng miệng. - - basic-auth-generator: - title: Tạo mã xác thực cơ bản - description: Tạo một tiêu đề xác thực cơ bản base64 từ tên người dùng và mật khẩu. - text-to-unicode: - title: Chuyển đổi văn bản thành Unicode - description: Phân tích và chuyển đổi văn bản thành Unicode và ngược lại - - ipv4-range-expander: - title: Mở rộng dải IPv4 - description: Cho một địa chỉ IPv4 bắt đầu và kết thúc, công cụ này tính toán một mạng IPv4 hợp lệ với ký hiệu CIDR của nó. - - text-diff: - title: So sánh văn bản - description: So sánh hai văn bản và xem sự khác biệt giữa chúng. - - otp-generator: - title: Tạo mã OTP - description: Tạo và xác thực mã OTP (mật khẩu một lần) dựa trên thời gian cho xác thực đa yếu tố. - - url-encoder: - title: Mã hóa/giải mã chuỗi định dạng URL - description: Mã hóa thành định dạng URL (còn được gọi là "percent-encoded") hoặc giải mã từ đó. - - text-to-binary: - title: Chuyển đổi văn bản thành nhị phân ASCII - description: Chuyển đổi văn bản thành biểu diễn nhị phân ASCII của nó và ngược lại. diff --git a/locales/zh.yml b/locales/zh.yml deleted file mode 100644 index 97968eb5..00000000 --- a/locales/zh.yml +++ /dev/null @@ -1,390 +0,0 @@ -home: - categories: - newestTools: '最新工具' - favoriteTools: '我的收藏' - allTools: '全部工具' - favoritesDndToolTip: '拖放重新排列收藏夹' - subtitle: '助力开发人员和 IT 工作者' - toggleMenu: '切换菜单' - home: '主页' - uiLib: 'UI 库' - support: '支持 IT 工具开发' - buyMeACoffee: '赞助' - follow: - title: '关注我们' - p1: '给我们 Star' - githubRepository: 'GitHub 仓库' - p2: '关注我们的' - twitterXAccount: 'IT-Tools X 账号' - thankYou: '感谢您的支持!' - nav: - github: 'GitHub 仓库' - githubRepository: 'GitHub 仓库' - twitterX: 'Twitter 账号' - twitterXAccount: 'IT-Tools X 账号' - about: '关于 IT-Tools' - aboutLabel: '关于' - darkMode: '深色模式' - lightMode: '浅色模式' - mode: '颜色模式' -about: - content: > - # 关于 IT-Tools - - IT-Tools 由 [Corentin Thomasset](https://corentin.tech?utm_source=it-tools&utm_medium=about) 用 ❤ 开发,汇集了对开发人员和 IT 从业者有用的工具。如果对您有帮助,请将其分享给您的朋友,并且添加到收藏夹中! - - IT-Tools 永久免费且开源(GPL-3.0 许可证),但需要资金用于托管和续订域名。如果您想支持我的工作,并鼓励我添加更多工具,请考虑通过 [赞助我](https://www.buymeacoffee.com/cthmsst) 进行支持。 - - ## 技术 - - IT-Tools 采用 Vue.js(Vue 3)和 Naive UI 组件库开发,并由 Vercel 托管和持续部署。某些工具使用了第三方开源库,您可以在仓库的 [package.json](https://github.com/CorentinTh/it-tools/blob/main/package.json) 文件中找到完整的列表。 - - ## 发现了 Bug?缺少工具? - - 如果目前这里没有您需要的工具,并且您认为它可能有用,欢迎在 GitHub 仓库的 [issues](https://github.com/CorentinTh/it-tools/issues/new/choose) 中提交新增功能的请求。 - - 如果您发现了 Bug,或者某些功能未能按预期工作,请在 GitHub 仓库的 [issues](https://github.com/CorentinTh/it-tools/issues/new/choose) 中提交错误报告。 - -404: - notFound: '404 页面不存在' - sorry: '抱歉,该页面似乎不存在' - maybe: '也许缓存出现了一些问题,试试强制刷新页面?' - backHome: '返回主页' -favoriteButton: - remove: '取消收藏' - add: '加入收藏' -toolCard: - new: '新' -search: - label: '搜索' -tools: - categories: - favorite-tools: '我的收藏' - crypto: '加密' - converter: '转换器' - web: Web - images and videos: '图片和视频' - development: '开发' - network: '网络' - math: '数学' - measurement: '测量' - text: '文本' - data: '数据' - - password-strength-analyser: - title: 密码强度分析仪 - description: 使用此密码强度分析器和破解时间估计工具来发现密码的强度。 - - chronometer: - title: 计时器 - description: 监控事物的持续时间。基本上是一种具有简单计时器功能的计时器。 - token-generator: - title: Token 生成器 - description: 使用您想要的字符、大写或小写字母、数字和/或符号生成随机字符串。 - - uppercase: '大写 (ABC...)' - lowercase: '小写 (abc...)' - numbers: '数字 (123...)' - symbols: '符号 (!-;...)' - length: '长度' - tokenPlaceholder: '令牌...' - copied: 复制到剪贴板 - button: - copy: 复制 - refresh: 刷新 - percentage-calculator: - title: 百分比计算器 - description: 轻松计算从一个值到另一个值的百分比,或从百分比到值的百分比。 - - svg-placeholder-generator: - title: SVG 占位符生成器 - description: 生成 svg 图像以用作应用程序中的占位符。 - - json-to-csv: - title: JSON 转 CSV - description: 使用自动标头检测将JSON转换为CSV。 - - camera-recorder: - title: 摄像机记录器 - description: 从网络摄像头或照相机拍摄照片或录制视频。 - - keycode-info: - title: Keycode 信息 - description: 查找任何按下的键的javascript键代码、代码、位置和修饰符。 - - emoji-picker: - title: Emoji 选择器 - description: 轻松复制和粘贴Emoji表情符号,并获得每个表情符号的unicode和code points值. - - color-converter: - title: Color 选择器 - description: 在不同格式(十六进制、rgb、hsl和css名称)之间转换颜色 - bcrypt: - title: 加密 - description: 使用bcrypt对文本字符串进行哈希和比较。Bcrypt是一个基于Blowfish密码的密码哈希函数。 - - crontab-generator: - title: Crontab 表达式生成 - description: 验证并生成crontab,并获取cron调度的可读描述。 - - http-status-codes: - title: HTTP 状态码 - description: 所有HTTP状态的列表对其名称和含义解释。 - - sql-prettify: - title: SQL 美化和格式化 - description: 在线格式化和美化您的 SQL 查询(它支持各种 SQL 方言)。 - - benchmark-builder: - title: 基准生成器 - description: 简单的在线基准构建器可以轻松比较任务的执行时间。 - - git-memo: - title: Git 备忘录 - description: Git是一种去中心化的版本管理软件。使用此备忘单,您可以快速访问最常见的git命令. - - slugify-string: - title: 打乱字符串 - description: 确保字符串 url、文件名和 id 安全。 - - encryption: - title: 加密/解密文本 - description: 使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 - - random-port-generator: - title: 随机端口生成 - description: 生成“已知”端口范围(0-1023)之外的随机端口号。 - - yaml-prettify: - title: YAML美化和格式化 - description: 将YAML字符串修饰为友好的可读格式。 - - eta-calculator: - title: ETA 计算器 - description: ETA(估计到达时间)计算器,用于知道任务的近似结束时间,例如下载的结束时刻。 - - roman-numeral-converter: - title: 罗马数字转换器 - description: 将罗马数字转换为数字,并将数字转换为罗马数字。 - - hmac-generator: - title: Hmac 生成器 - description: 使用密钥和您喜欢的哈希函数计算基于哈希的消息身份验证代码(HMAC)。 - - bip39-generator: - title: BIP39密码生成器 - description: 从现有或随机助记符生成BIP39密码短语,或从密码短语获取助记符。 - - base64-file-converter: - title: Base64 文件转换器 - description: 将字符串、文件或图像转换为其 Base64 表示形式。 - list-converter: - title: List 转换器 - description: 该工具可以处理基于数组的数据,并将各种更改(转置、添加前缀和后缀、反向列表、排序列表、小写值、截断值)应用于每一行。 - - base64-string-converter: - title: Base64 字符串编码/解码 - description: 将字符串编码和解码为其 Base64 格式表示形式即可。 - - toml-to-yaml: - title: TOML 到 YAML - description: Parse and convert TOML to YAML. - - math-evaluator: - title: 数学计算器 - description: 计算数学表达式的计算器。您可以使用sqrt、cos、sin、abs等函数。 - - json-to-yaml-converter: - title: JSON到YAML转换器 - description: 在线转换将JSON转换为YAML。 - - url-parser: - title: Url分析器 - description: 解析url字符串以获取所有不同的部分(协议、来源、参数、端口、用户名密码…) - - iban-validator-and-parser: - title: IBAN验证器和解析器 - description: 验证和分析IBAN编号。检查IBAN是否有效,并获取国家BBAN,如果它是QR-IBAN和IBAN友好格式。 - - user-agent-parser: - title: 用户代理分析器 - description: 从用户代理字符串中检测和分析浏览器、引擎、操作系统、CPU和设备类型/型号。 - - numeronym-generator: - title: 数字名称生成器 - description: 数字名是一个用数字构成缩写的词。例如,“i18n”是“国际化”的名词,其中18表示单词中第一个i和最后一个n之间的字母数。 - - case-converter: - title: 大小写转换 - description: 更改字符串的大小写并在不同格式之间进行选择 - - html-entities: - title: 转义html实体 - description: 转义或unescape html实体(将<、>、&、“和\'替换为其html版本) - - json-prettify: - title: JSON美化和格式化 - description: 将JSON字符串修饰为友好的可读格式。 - - docker-run-to-docker-compose-converter: - title: Docker Run 到 docker-compose 转换器 - description: 将 docker run 命令行转换为 docker-compose 文件! - - mac-address-lookup: - title: MAC地址查找 - description: 通过设备的MAC地址查找设备的供应商和制造商。 - - mime-types: - title: mime类型 - description: 将mime类型转换为扩展,反之亦然。 - - toml-to-json: - title: TOML 到 JSON - description: 解析TOML并将其转换为JSON。 - - lorem-ipsum-generator: - title: Lorem ipsum生成器 - description: Lorem ipsum是一种占位符文本,通常用于演示文档或字体的视觉形式,而不依赖于有意义的内容 - - qrcode-generator: - title: 二维码生成器 - description: 生成并下载url或文本的QR代码,并自定义背景和前景颜色。 - - wifi-qrcode-generator: - title: WiFi 二维码生成器 - description: 生成和下载QR码以快速连接到WiFi网络。 - - xml-formatter: - title: XML 格式化 - description: 将XML字符串修饰为友好的可读格式。 - - temperature-converter: - title: 温度转换器 - description: 开尔文、摄氏度、华氏度、兰金、德莱尔、牛顿、雷奥穆尔和罗默温度度数转换。 - - chmod-calculator: - title: Chmod 计算器 - description: 使用此在线的chmod计算器计算chmod权限和命令。 - - rsa-key-pair-generator: - title: RSA密钥对生成器 - description: 生成新的随机RSA私钥和公钥pem证书。 - - html-wysiwyg-editor: - title: HTML所见即所得编辑器 - description: 在线HTML编辑器具有功能丰富的所见即所得编辑器,立即获得内容的源代码。 - - yaml-to-toml: - title: YAML 到 TOML - description: 解析YAML并将其转换为TOML。 - - mac-address-generator: - title: MAC 地址生成器 - description: 输入数量和前缀。MAC地址将以您选择的大小写(大写或小写)生成 - - json-diff: - title: JSON 差异比较 - description: 比较两个JSON对象并获得它们之间的差异。 - jwt-parser: - title: JWT 解析器 - description: 解析和解码JSON Web Token(jwt)并显示其内容。 - - date-converter: - title: 日期时间转换器 - description: 将日期和时间转换为各种不同的格式 - - phone-parser-and-formatter: - title: 电话分析器和格式化程序 - description: 解析、验证和格式化电话号码。获取有关电话号码的信息,如国家/地区代码、类型等。 - - ipv4-subnet-calculator: - title: IPv4子网计算器 - description: 解析IPv4 CIDR块,并获取有关子网络的所有所需信息。 - - og-meta-generator: - title: 开放式图形元生成器 - description: 为您的网站生成开放式图形和社交html元标记。 - - ipv6-ula-generator: - title: IPv6 ULA生成器 - description: 根据RFC4193在网络上生成您自己的本地不可路由IP地址。 - - hash-text: - title: Hash 文本 - description: '使用所需的函数哈希文本字符串:MD5、SHA1、SHA256、SHA224、SHA512、SHA384、SHA3或RIPEMD160' - - json-to-toml: - title: JSON 转 TOML - description: 解析JSON并将其转换为TOML。 - - device-information: - title: 设备信息 - description: 获取有关当前设备的信息(屏幕大小、像素比率、用户代理…) - - pdf-signature-checker: - title: PDF签名检查器 - description: '验证PDF文件的签名。签名的PDF文件包含一个或多个签名,可用于确定文件的内容在签名后是否已被更改。' - - json-minify: - title: JSON 压缩 - description: 通过删除不必要的空白来缩小和压缩JSON。 - - ulid-generator: - title: ULID 生成器 - description: 生成随机的通用唯一词典可排序标识符(ULID)。 - - string-obfuscator: - title: 字符串混淆器 - description: 混淆字符串(如秘密、IBAN 或令牌),使其可共享和可识别,而不泄露其内容。 - - base-converter: - title: 整数基转换器 - description: 在不同的基数(十进制、十六进制、二进制、八进制、base64…)之间转换数字 - - yaml-to-json-converter: - title: YAML到JSON转换器 - description: 使用此在线转换器将YAML转换为JSON。 - - uuid-generator: - title: UUIDs 生成器 - description: 通用唯一标识符(UUID)是一个128位数字,用于标识计算机系统中的信息。可能的UUID数量为16^32,即2^128或约3.4x10^38(这是一个很大的数字!)。 - - ipv4-address-converter: - title: Ipv4地址转换器 - description: 在ipv6中,将ip地址转换为十进制、二进制、十六进制或事件 - - text-statistics: - title: 文本统计 - description: 获取有关文本、字符数、字数、大小等的信息 - - text-to-nato-alphabet: - title: 文本转北约字母表 - description: 将文本转换为北约拼音字母以进行口头传播。 - - basic-auth-generator: - title: 基本身份验证生成器 - description: 从用户名和密码生成 base64 基本身份验证标头。 - - text-to-unicode: - title: 文本转 Unicode - description: 解析文本并将其转换为 unicode,反之亦然 - - ipv4-range-expander: - title: IPv4范围扩展器 - description: 给定起始和结束IPv4地址,此工具使用其CIDR表示法计算有效的IPv4网络。 - - text-diff: - title: 文本比较 - description: 比较两个文本并查看它们之间的差异。 - - otp-generator: - title: OTP代码生成器 - description: 为多因素身份验证生成和验证基于时间的OTP(一次性密码)。 - - url-encoder: - title: 编码/解码url格式的字符串 - description: 编码为url编码格式(也称为“百分比编码”)或从中解码。 - - text-to-binary: - title: 文本到 ASCII 二进制 - description: 将文本转换为其 ASCII 二进制表示形式,反之亦然。 diff --git a/netlify.toml b/netlify.toml deleted file mode 100644 index b87b8d3d..00000000 --- a/netlify.toml +++ /dev/null @@ -1,4 +0,0 @@ -[[redirects]] - from = "/*" - to = "/index.html" - status = 200 diff --git a/package.json b/package.json index 5738b632..bed82dcf 100644 --- a/package.json +++ b/package.json @@ -1,15 +1,7 @@ { "name": "it-tools", - "type": "module", - "version": "2024.10.22-7ca5933", - "packageManager": "pnpm@9.11.0", + "version": "2023.4.23-92bd835", "description": "Collection of handy online tools for developers, with great UX. ", - "author": "Corentin Th (https://corentin.tech)", - "license": "GNU GPLv3", - "repository": { - "type": "git", - "url": "https://github.com/CorentinTh/it-tools" - }, "keywords": [ "productivity", "converter", @@ -21,133 +13,115 @@ "developer-tools", "developer-productivity" ], + "author": "Corentin Th (https://github.com/CorentinTh)", + "license": "GNU GPLv3", + "repository": { + "type": "git", + "url": "https://github.com/CorentinTh/it-tools" + }, "scripts": { "dev": "vite", - "build": "vue-tsc --noEmit && NODE_OPTIONS=--max_old_space_size=4096 vite build", + "build": "vue-tsc --noEmit && vite build", "preview": "vite preview --port 5050", "test": "npm run test:unit", "test:unit": "vitest --environment jsdom", "test:e2e": "playwright test", - "test:e2e:dev": "BASE_URL=http://localhost:5173 NO_WEB_SERVER=true playwright test", "coverage": "vitest run --coverage", "typecheck": "vue-tsc --noEmit -p tsconfig.vitest.json --composite false", "lint": "eslint src --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --ignore-path .gitignore", - "script:create:tool": "node scripts/create-tool.mjs", - "script:create:ui": "hygen generator ui-component", + "script:create-new-tool": "node scripts/create-tool.mjs", "release": "node ./scripts/release.mjs" }, "dependencies": { "@it-tools/bip39": "^0.0.4", "@it-tools/oggen": "^1.3.0", - "@regexper/render": "^1.0.0", - "@sindresorhus/slugify": "^2.2.1", - "@tabler/icons-vue": "^3.20.0", - "@tiptap/pm": "2.1.6", - "@tiptap/starter-kit": "2.1.6", - "@tiptap/vue-3": "2.0.3", - "@types/figlet": "^1.5.8", - "@types/markdown-it": "^13.0.7", + "@sindresorhus/slugify": "^2.2.0", + "@tiptap/pm": "2.0.0-beta.220", + "@tiptap/starter-kit": "2.0.0-beta.220", + "@tiptap/vue-3": "2.0.0-beta.220", "@vicons/material": "^0.12.0", "@vicons/tabler": "^0.12.0", - "@vueuse/core": "^10.3.0", - "@vueuse/head": "^1.0.0", - "@vueuse/router": "^10.0.0", + "@vueuse/core": "^8.9.4", + "@vueuse/head": "^0.7.13", + "@vueuse/router": "^9.13.0", "bcryptjs": "^2.4.3", "change-case": "^4.1.2", "colord": "^2.9.3", "composerize-ts": "^0.6.2", - "country-code-lookup": "^0.1.0", "cron-validator": "^1.3.1", "cronstrue": "^2.26.0", "crypto-js": "^4.1.1", "date-fns": "^2.29.3", - "dompurify": "^3.0.6", - "email-normalizer": "^1.0.0", - "emojilib": "^3.0.10", - "figlet": "^1.7.0", "figue": "^1.2.0", "fuse.js": "^6.6.2", "highlight.js": "^11.7.0", - "iarna-toml-esm": "^3.0.5", - "ibantools": "^4.3.3", - "js-base64": "^3.7.6", "json5": "^2.2.3", "jwt-decode": "^3.1.2", - "libphonenumber-js": "^1.10.28", "lodash": "^4.17.21", - "markdown-it": "^14.0.0", - "marked": "^10.0.0", - "mathjs": "^11.9.1", + "mathjs": "^10.6.4", "mime-types": "^2.1.35", - "monaco-editor": "^0.43.0", - "naive-ui": "^2.35.0", + "naive-ui": "^2.34.3", "netmask": "^2.0.2", "node-forge": "^1.3.1", - "oui-data": "^1.0.10", - "pdf-signature-reader": "^1.4.2", + "oui": "^12.0.52", "pinia": "^2.0.34", "plausible-tracker": "^0.3.8", "qrcode": "^1.5.1", - "randexp": "^0.5.3", - "sql-formatter": "^13.0.0", + "randombytes": "^2.1.0", + "sql-formatter": "^8.2.0", + "ts-pattern": "^4.2.2", "ua-parser-js": "^1.0.35", - "ulid": "^2.3.0", - "unicode-emoji-json": "^0.4.0", - "unplugin-auto-import": "^0.16.4", - "uuid": "^9.0.0", - "vue": "^3.3.4", - "vue-i18n": "^9.9.1", + "uuid": "^8.3.2", + "vue": "^3.2.47", "vue-router": "^4.1.6", - "vue-shadow-dom": "^4.2.0", - "vue-tsc": "^1.8.1", - "vuedraggable": "^4.1.0", - "xml-formatter": "^3.3.2", - "xml-js": "^1.6.11", "yaml": "^2.2.1" }, "devDependencies": { - "@antfu/eslint-config": "^0.41.0", - "@iconify-json/mdi": "^1.1.50", - "@intlify/unplugin-vue-i18n": "^2.0.0", "@playwright/test": "^1.32.3", "@rushstack/eslint-patch": "^1.2.0", - "@tsconfig/node18": "^18.2.0", "@types/bcryptjs": "^2.4.2", "@types/crypto-js": "^4.1.1", - "@types/dompurify": "^3.0.5", - "@types/jsdom": "^21.0.0", + "@types/jsdom": "^16.2.15", "@types/lodash": "^4.14.192", "@types/mime-types": "^2.1.1", "@types/netmask": "^2.0.0", - "@types/node": "^18.15.11", + "@types/node": "^16.18.23", "@types/node-forge": "^1.3.2", + "@types/prettier": "^2.7.2", "@types/qrcode": "^1.5.0", + "@types/randombytes": "^2.0.0", "@types/ua-parser-js": "^0.7.36", - "@types/uuid": "^9.0.0", - "@unocss/eslint-config": "^0.57.0", - "@vitejs/plugin-vue": "^4.3.2", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "@vue/compiler-sfc": "^3.2.47", - "@vue/runtime-dom": "^3.3.4", + "@types/uuid": "^8.3.4", + "@typescript-eslint/parser": "^5.58.0", + "@unocss/eslint-config": "^0.50.8", + "@vitejs/plugin-vue": "^2.3.4", + "@vitejs/plugin-vue-jsx": "^1.3.10", + "@vue/eslint-config-prettier": "^7.1.0", + "@vue/eslint-config-typescript": "^10.0.0", "@vue/test-utils": "^2.3.2", - "@vue/tsconfig": "^0.4.0", + "@vue/tsconfig": "^0.1.3", + "c8": "^7.13.0", "consola": "^3.0.2", - "eslint": "^8.47.0", - "hygen": "^6.2.11", - "jsdom": "^22.0.0", + "eslint": "^8.38.0", + "eslint-config-prettier": "^8.8.0", + "eslint-import-resolver-typescript": "^3.5.5", + "eslint-plugin-import": "^2.27.5", + "eslint-plugin-vue": "^8.7.1", + "jsdom": "^19.0.0", "less": "^4.1.3", - "prettier": "^3.0.0", - "typescript": "~5.2.0", - "unocss": "^0.65.1", - "unocss-preset-scrollbar": "^0.2.1", - "unplugin-icons": "^0.17.0", - "unplugin-vue-components": "^0.25.0", - "vite": "^4.4.9", - "vite-plugin-pwa": "^0.16.0", - "vite-plugin-vue-markdown": "^0.23.5", - "vite-svg-loader": "^4.0.0", - "vitest": "^0.34.0", - "workbox-window": "^7.0.0", + "prettier": "^2.8.7", + "start-server-and-test": "^1.15.4", + "typescript": "~4.5.5", + "unocss": "^0.50.8", + "unplugin-auto-import": "^0.15.2", + "unplugin-vue-components": "^0.24.1", + "vite": "^2.9.15", + "vite-plugin-md": "^0.12.4", + "vite-plugin-pwa": "^0.11.13", + "vite-svg-loader": "^3.6.0", + "vitest": "^0.13.1", + "vue-tsc": "^0.31.4", + "workbox-window": "^6.5.4", "zx": "^7.2.1" } } diff --git a/playwright.config.ts b/playwright.config.ts index 5257c526..a445d2d6 100644 --- a/playwright.config.ts +++ b/playwright.config.ts @@ -1,29 +1,31 @@ import { defineConfig, devices } from '@playwright/test'; -const isCI = !!process.env.CI; -const baseUrl = process.env.BASE_URL || 'http://localhost:5050'; -const useWebServer = process.env.NO_WEB_SERVER !== 'true'; +/** + * Read environment variables from file. + * https://github.com/motdotla/dotenv + */ +// require('dotenv').config(); /** * See https://playwright.dev/docs/test-configuration. */ export default defineConfig({ testDir: './src', - testMatch: /\.e2e\.(spec\.)?ts$/, + testMatch: /.*\.e2e\.(spec\.)?ts/, /* Run tests in files in parallel */ fullyParallel: true, /* Fail the build on CI if you accidentally left test.only in the source code. */ - forbidOnly: isCI, + forbidOnly: !!process.env.CI, /* Retry on CI only */ - retries: isCI ? 2 : 0, + retries: process.env.CI ? 2 : 0, /* Opt out of parallel tests on CI. */ - workers: isCI ? 1 : undefined, + workers: process.env.CI ? 1 : undefined, /* Reporter to use. See https://playwright.dev/docs/test-reporters */ reporter: 'html', /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ use: { /* Base URL to use in actions like `await page.goto('/')`. */ - baseURL: baseUrl, + baseURL: 'http://127.0.0.1:3000', /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ trace: 'on-first-retry', @@ -49,17 +51,32 @@ export default defineConfig({ name: 'webkit', use: { ...devices['Desktop Safari'] }, }, + + /* Test against mobile viewports. */ + // { + // name: 'Mobile Chrome', + // use: { ...devices['Pixel 5'] }, + // }, + // { + // name: 'Mobile Safari', + // use: { ...devices['iPhone 12'] }, + // }, + + /* Test against branded browsers. */ + // { + // name: 'Microsoft Edge', + // use: { ...devices['Desktop Edge'], channel: 'msedge' }, + // }, + // { + // name: 'Google Chrome', + // use: { ..devices['Desktop Chrome'], channel: 'chrome' }, + // }, ], /* Run your local dev server before starting the tests */ - - ...(useWebServer - && { - webServer: { - command: 'npm run preview', - url: 'http://localhost:5050', - reuseExistingServer: !isCI, - }, - } - ), + webServer: { + command: 'npm run dev', + url: 'http://127.0.0.1:3000', + reuseExistingServer: !process.env.CI, + }, }); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 5d113893..1e1b8715 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,1658 +1,1778 @@ -lockfileVersion: '9.0' +lockfileVersion: '6.0' -settings: - autoInstallPeers: true - excludeLinksFromLockfile: false +dependencies: + '@it-tools/bip39': + specifier: ^0.0.4 + version: 0.0.4 + '@it-tools/oggen': + specifier: ^1.3.0 + version: 1.3.0 + '@sindresorhus/slugify': + specifier: ^2.2.0 + version: 2.2.0 + '@tiptap/pm': + specifier: 2.0.0-beta.220 + version: 2.0.0-beta.220(@tiptap/core@2.0.2) + '@tiptap/starter-kit': + specifier: 2.0.0-beta.220 + version: 2.0.0-beta.220(@tiptap/pm@2.0.0-beta.220) + '@tiptap/vue-3': + specifier: 2.0.0-beta.220 + version: 2.0.0-beta.220(@tiptap/core@2.0.2)(@tiptap/pm@2.0.0-beta.220)(vue@3.2.47) + '@vicons/material': + specifier: ^0.12.0 + version: 0.12.0 + '@vicons/tabler': + specifier: ^0.12.0 + version: 0.12.0 + '@vueuse/core': + specifier: ^8.9.4 + version: 8.9.4(vue@3.2.47) + '@vueuse/head': + specifier: ^0.7.13 + version: 0.7.13(vue@3.2.47) + '@vueuse/router': + specifier: ^9.13.0 + version: 9.13.0(vue-router@4.1.6)(vue@3.2.47) + bcryptjs: + specifier: ^2.4.3 + version: 2.4.3 + change-case: + specifier: ^4.1.2 + version: 4.1.2 + colord: + specifier: ^2.9.3 + version: 2.9.3 + composerize-ts: + specifier: ^0.6.2 + version: 0.6.2 + cron-validator: + specifier: ^1.3.1 + version: 1.3.1 + cronstrue: + specifier: ^2.26.0 + version: 2.26.0 + crypto-js: + specifier: ^4.1.1 + version: 4.1.1 + date-fns: + specifier: ^2.29.3 + version: 2.29.3 + figue: + specifier: ^1.2.0 + version: 1.2.0 + fuse.js: + specifier: ^6.6.2 + version: 6.6.2 + highlight.js: + specifier: ^11.7.0 + version: 11.7.0 + json5: + specifier: ^2.2.3 + version: 2.2.3 + jwt-decode: + specifier: ^3.1.2 + version: 3.1.2 + lodash: + specifier: ^4.17.21 + version: 4.17.21 + mathjs: + specifier: ^10.6.4 + version: 10.6.4 + mime-types: + specifier: ^2.1.35 + version: 2.1.35 + naive-ui: + specifier: ^2.34.3 + version: 2.34.3(vue@3.2.47) + netmask: + specifier: ^2.0.2 + version: 2.0.2 + node-forge: + specifier: ^1.3.1 + version: 1.3.1 + oui: + specifier: ^12.0.52 + version: 12.0.52 + pinia: + specifier: ^2.0.34 + version: 2.0.34(typescript@4.5.5)(vue@3.2.47) + plausible-tracker: + specifier: ^0.3.8 + version: 0.3.8 + qrcode: + specifier: ^1.5.1 + version: 1.5.1 + randombytes: + specifier: ^2.1.0 + version: 2.1.0 + sql-formatter: + specifier: ^8.2.0 + version: 8.2.0 + ts-pattern: + specifier: ^4.2.2 + version: 4.2.2 + ua-parser-js: + specifier: ^1.0.35 + version: 1.0.35 + uuid: + specifier: ^8.3.2 + version: 8.3.2 + vue: + specifier: ^3.2.47 + version: 3.2.47 + vue-router: + specifier: ^4.1.6 + version: 4.1.6(vue@3.2.47) + yaml: + specifier: ^2.2.1 + version: 2.2.1 -importers: - - .: - dependencies: - '@it-tools/bip39': - specifier: ^0.0.4 - version: 0.0.4 - '@it-tools/oggen': - specifier: ^1.3.0 - version: 1.3.0 - '@regexper/render': - specifier: ^1.0.0 - version: 1.0.0 - '@sindresorhus/slugify': - specifier: ^2.2.1 - version: 2.2.1 - '@tabler/icons-vue': - specifier: ^3.20.0 - version: 3.20.0(vue@3.3.4) - '@tiptap/pm': - specifier: 2.1.6 - version: 2.1.6 - '@tiptap/starter-kit': - specifier: 2.1.6 - version: 2.1.6(@tiptap/pm@2.1.6) - '@tiptap/vue-3': - specifier: 2.0.3 - version: 2.0.3(@tiptap/core@2.1.12(@tiptap/pm@2.1.6))(@tiptap/pm@2.1.6)(vue@3.3.4) - '@types/figlet': - specifier: ^1.5.8 - version: 1.5.8 - '@types/markdown-it': - specifier: ^13.0.7 - version: 13.0.9 - '@vicons/material': - specifier: ^0.12.0 - version: 0.12.0 - '@vicons/tabler': - specifier: ^0.12.0 - version: 0.12.0 - '@vueuse/core': - specifier: ^10.3.0 - version: 10.3.0(vue@3.3.4) - '@vueuse/head': - specifier: ^1.0.0 - version: 1.0.0(typescript@5.2.2)(vue@3.3.4) - '@vueuse/router': - specifier: ^10.0.0 - version: 10.0.0(vue-router@4.1.6(vue@3.3.4))(vue@3.3.4) - bcryptjs: - specifier: ^2.4.3 - version: 2.4.3 - change-case: - specifier: ^4.1.2 - version: 4.1.2 - colord: - specifier: ^2.9.3 - version: 2.9.3 - composerize-ts: - specifier: ^0.6.2 - version: 0.6.2 - country-code-lookup: - specifier: ^0.1.0 - version: 0.1.0 - cron-validator: - specifier: ^1.3.1 - version: 1.3.1 - cronstrue: - specifier: ^2.26.0 - version: 2.26.0 - crypto-js: - specifier: ^4.1.1 - version: 4.1.1 - date-fns: - specifier: ^2.29.3 - version: 2.29.3 - dompurify: - specifier: ^3.0.6 - version: 3.0.6 - email-normalizer: - specifier: ^1.0.0 - version: 1.0.0 - emojilib: - specifier: ^3.0.10 - version: 3.0.10 - figlet: - specifier: ^1.7.0 - version: 1.7.0 - figue: - specifier: ^1.2.0 - version: 1.2.0 - fuse.js: - specifier: ^6.6.2 - version: 6.6.2 - highlight.js: - specifier: ^11.7.0 - version: 11.7.0 - iarna-toml-esm: - specifier: ^3.0.5 - version: 3.0.5 - ibantools: - specifier: ^4.3.3 - version: 4.3.3 - js-base64: - specifier: ^3.7.6 - version: 3.7.7 - json5: - specifier: ^2.2.3 - version: 2.2.3 - jwt-decode: - specifier: ^3.1.2 - version: 3.1.2 - libphonenumber-js: - specifier: ^1.10.28 - version: 1.10.28 - lodash: - specifier: ^4.17.21 - version: 4.17.21 - markdown-it: - specifier: ^14.0.0 - version: 14.1.0 - marked: - specifier: ^10.0.0 - version: 10.0.0 - mathjs: - specifier: ^11.9.1 - version: 11.9.1 - mime-types: - specifier: ^2.1.35 - version: 2.1.35 - monaco-editor: - specifier: ^0.43.0 - version: 0.43.0 - naive-ui: - specifier: ^2.35.0 - version: 2.35.0(vue@3.3.4) - netmask: - specifier: ^2.0.2 - version: 2.0.2 - node-forge: - specifier: ^1.3.1 - version: 1.3.1 - oui-data: - specifier: ^1.0.10 - version: 1.0.10 - pdf-signature-reader: - specifier: ^1.4.2 - version: 1.4.2 - pinia: - specifier: ^2.0.34 - version: 2.0.34(typescript@5.2.2)(vue@3.3.4) - plausible-tracker: - specifier: ^0.3.8 - version: 0.3.8 - qrcode: - specifier: ^1.5.1 - version: 1.5.1 - randexp: - specifier: ^0.5.3 - version: 0.5.3 - sql-formatter: - specifier: ^13.0.0 - version: 13.0.0 - ua-parser-js: - specifier: ^1.0.35 - version: 1.0.35 - ulid: - specifier: ^2.3.0 - version: 2.3.0 - unicode-emoji-json: - specifier: ^0.4.0 - version: 0.4.0 - unplugin-auto-import: - specifier: ^0.16.4 - version: 0.16.4(@vueuse/core@10.3.0(vue@3.3.4))(rollup@2.79.2) - uuid: - specifier: ^9.0.0 - version: 9.0.0 - vue: - specifier: ^3.3.4 - version: 3.3.4 - vue-i18n: - specifier: ^9.9.1 - version: 9.9.1(vue@3.3.4) - vue-router: - specifier: ^4.1.6 - version: 4.1.6(vue@3.3.4) - vue-shadow-dom: - specifier: ^4.2.0 - version: 4.2.0 - vue-tsc: - specifier: ^1.8.1 - version: 1.8.1(typescript@5.2.2) - vuedraggable: - specifier: ^4.1.0 - version: 4.1.0(vue@3.3.4) - xml-formatter: - specifier: ^3.3.2 - version: 3.3.2 - xml-js: - specifier: ^1.6.11 - version: 1.6.11 - yaml: - specifier: ^2.2.1 - version: 2.2.1 - devDependencies: - '@antfu/eslint-config': - specifier: ^0.41.0 - version: 0.41.0(eslint@8.47.0)(typescript@5.2.2) - '@iconify-json/mdi': - specifier: ^1.1.50 - version: 1.1.50 - '@intlify/unplugin-vue-i18n': - specifier: ^2.0.0 - version: 2.0.0(rollup@2.79.2)(vue-i18n@9.9.1(vue@3.3.4)) - '@playwright/test': - specifier: ^1.32.3 - version: 1.32.3 - '@rushstack/eslint-patch': - specifier: ^1.2.0 - version: 1.2.0 - '@tsconfig/node18': - specifier: ^18.2.0 - version: 18.2.0 - '@types/bcryptjs': - specifier: ^2.4.2 - version: 2.4.2 - '@types/crypto-js': - specifier: ^4.1.1 - version: 4.1.1 - '@types/dompurify': - specifier: ^3.0.5 - version: 3.0.5 - '@types/jsdom': - specifier: ^21.0.0 - version: 21.1.0 - '@types/lodash': - specifier: ^4.14.192 - version: 4.14.192 - '@types/mime-types': - specifier: ^2.1.1 - version: 2.1.1 - '@types/netmask': - specifier: ^2.0.0 - version: 2.0.0 - '@types/node': - specifier: ^18.15.11 - version: 18.15.11 - '@types/node-forge': - specifier: ^1.3.2 - version: 1.3.2 - '@types/qrcode': - specifier: ^1.5.0 - version: 1.5.0 - '@types/ua-parser-js': - specifier: ^0.7.36 - version: 0.7.36 - '@types/uuid': - specifier: ^9.0.0 - version: 9.0.0 - '@unocss/eslint-config': - specifier: ^0.57.0 - version: 0.57.1(eslint@8.47.0)(typescript@5.2.2) - '@vitejs/plugin-vue': - specifier: ^4.3.2 - version: 4.3.2(vite@4.4.9(@types/node@18.15.11)(less@4.1.3)(terser@5.37.0))(vue@3.3.4) - '@vitejs/plugin-vue-jsx': - specifier: ^3.0.2 - version: 3.0.2(vite@4.4.9(@types/node@18.15.11)(less@4.1.3)(terser@5.37.0))(vue@3.3.4) - '@vue/compiler-sfc': - specifier: ^3.2.47 - version: 3.2.47 - '@vue/runtime-dom': - specifier: ^3.3.4 - version: 3.3.4 - '@vue/test-utils': - specifier: ^2.3.2 - version: 2.3.2(vue@3.3.4) - '@vue/tsconfig': - specifier: ^0.4.0 - version: 0.4.0 - consola: - specifier: ^3.0.2 - version: 3.0.2 - eslint: - specifier: ^8.47.0 - version: 8.47.0 - hygen: - specifier: ^6.2.11 - version: 6.2.11 - jsdom: - specifier: ^22.0.0 - version: 22.0.0 - less: - specifier: ^4.1.3 - version: 4.1.3 - prettier: - specifier: ^3.0.0 - version: 3.0.0 - typescript: - specifier: ~5.2.0 - version: 5.2.2 - unocss: - specifier: ^0.65.1 - version: 0.65.1(postcss@8.4.49)(rollup@2.79.2)(vite@4.4.9(@types/node@18.15.11)(less@4.1.3)(terser@5.37.0))(vue@3.3.4) - unocss-preset-scrollbar: - specifier: ^0.2.1 - version: 0.2.1(unocss@0.65.1(postcss@8.4.49)(rollup@2.79.2)(vite@4.4.9(@types/node@18.15.11)(less@4.1.3)(terser@5.37.0))(vue@3.3.4)) - unplugin-icons: - specifier: ^0.17.0 - version: 0.17.0(@vue/compiler-sfc@3.2.47)(vue-template-compiler@2.7.16) - unplugin-vue-components: - specifier: ^0.25.0 - version: 0.25.0(@babel/parser@7.26.3)(rollup@2.79.2)(vue@3.3.4) - vite: - specifier: ^4.4.9 - version: 4.4.9(@types/node@18.15.11)(less@4.1.3)(terser@5.37.0) - vite-plugin-pwa: - specifier: ^0.16.0 - version: 0.16.0(vite@4.4.9(@types/node@18.15.11)(less@4.1.3)(terser@5.37.0))(workbox-build@7.3.0)(workbox-window@7.0.0) - vite-plugin-vue-markdown: - specifier: ^0.23.5 - version: 0.23.5(rollup@2.79.2)(vite@4.4.9(@types/node@18.15.11)(less@4.1.3)(terser@5.37.0)) - vite-svg-loader: - specifier: ^4.0.0 - version: 4.0.0 - vitest: - specifier: ^0.34.0 - version: 0.34.0(jsdom@22.0.0)(less@4.1.3)(terser@5.37.0) - workbox-window: - specifier: ^7.0.0 - version: 7.0.0 - zx: - specifier: ^7.2.1 - version: 7.2.1 +devDependencies: + '@playwright/test': + specifier: ^1.32.3 + version: 1.32.3 + '@rushstack/eslint-patch': + specifier: ^1.2.0 + version: 1.2.0 + '@types/bcryptjs': + specifier: ^2.4.2 + version: 2.4.2 + '@types/crypto-js': + specifier: ^4.1.1 + version: 4.1.1 + '@types/jsdom': + specifier: ^16.2.15 + version: 16.2.15 + '@types/lodash': + specifier: ^4.14.192 + version: 4.14.192 + '@types/mime-types': + specifier: ^2.1.1 + version: 2.1.1 + '@types/netmask': + specifier: ^2.0.0 + version: 2.0.0 + '@types/node': + specifier: ^16.18.23 + version: 16.18.23 + '@types/node-forge': + specifier: ^1.3.2 + version: 1.3.2 + '@types/prettier': + specifier: ^2.7.2 + version: 2.7.2 + '@types/qrcode': + specifier: ^1.5.0 + version: 1.5.0 + '@types/randombytes': + specifier: ^2.0.0 + version: 2.0.0 + '@types/ua-parser-js': + specifier: ^0.7.36 + version: 0.7.36 + '@types/uuid': + specifier: ^8.3.4 + version: 8.3.4 + '@typescript-eslint/parser': + specifier: ^5.58.0 + version: 5.58.0(eslint@8.38.0)(typescript@4.5.5) + '@unocss/eslint-config': + specifier: ^0.50.8 + version: 0.50.8(eslint@8.38.0)(typescript@4.5.5) + '@vitejs/plugin-vue': + specifier: ^2.3.4 + version: 2.3.4(vite@2.9.15)(vue@3.2.47) + '@vitejs/plugin-vue-jsx': + specifier: ^1.3.10 + version: 1.3.10 + '@vue/eslint-config-prettier': + specifier: ^7.1.0 + version: 7.1.0(eslint@8.38.0)(prettier@2.8.7) + '@vue/eslint-config-typescript': + specifier: ^10.0.0 + version: 10.0.0(eslint-plugin-vue@8.7.1)(eslint@8.38.0)(typescript@4.5.5) + '@vue/test-utils': + specifier: ^2.3.2 + version: 2.3.2(vue@3.2.47) + '@vue/tsconfig': + specifier: ^0.1.3 + version: 0.1.3(@types/node@16.18.23) + c8: + specifier: ^7.13.0 + version: 7.13.0 + consola: + specifier: ^3.0.2 + version: 3.0.2 + eslint: + specifier: ^8.38.0 + version: 8.38.0 + eslint-config-prettier: + specifier: ^8.8.0 + version: 8.8.0(eslint@8.38.0) + eslint-import-resolver-typescript: + specifier: ^3.5.5 + version: 3.5.5(@typescript-eslint/parser@5.58.0)(eslint-plugin-import@2.27.5)(eslint@8.38.0) + eslint-plugin-import: + specifier: ^2.27.5 + version: 2.27.5(@typescript-eslint/parser@5.58.0)(eslint-import-resolver-typescript@3.5.5)(eslint@8.38.0) + eslint-plugin-vue: + specifier: ^8.7.1 + version: 8.7.1(eslint@8.38.0) + jsdom: + specifier: ^19.0.0 + version: 19.0.0 + less: + specifier: ^4.1.3 + version: 4.1.3 + prettier: + specifier: ^2.8.7 + version: 2.8.7 + start-server-and-test: + specifier: ^1.15.4 + version: 1.15.4 + typescript: + specifier: ~4.5.5 + version: 4.5.5 + unocss: + specifier: ^0.50.8 + version: 0.50.8(postcss@8.4.21)(rollup@2.79.1)(vite@2.9.15) + unplugin-auto-import: + specifier: ^0.15.2 + version: 0.15.2(@vueuse/core@8.9.4)(rollup@2.79.1) + unplugin-vue-components: + specifier: ^0.24.1 + version: 0.24.1(rollup@2.79.1)(vue@3.2.47) + vite: + specifier: ^2.9.15 + version: 2.9.15(less@4.1.3) + vite-plugin-md: + specifier: ^0.12.4 + version: 0.12.4(vite@2.9.15) + vite-plugin-pwa: + specifier: ^0.11.13 + version: 0.11.13(vite@2.9.15)(workbox-build@6.5.4)(workbox-window@6.5.4) + vite-svg-loader: + specifier: ^3.6.0 + version: 3.6.0 + vitest: + specifier: ^0.13.1 + version: 0.13.1(c8@7.13.0)(jsdom@19.0.0)(less@4.1.3) + vue-tsc: + specifier: ^0.31.4 + version: 0.31.4(typescript@4.5.5) + workbox-window: + specifier: ^6.5.4 + version: 6.5.4 + zx: + specifier: ^7.2.1 + version: 7.2.1 packages: - '@aashutoshrathi/word-wrap@1.2.6': - resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} - engines: {node: '>=0.10.0'} - - '@ampproject/remapping@2.2.1': + /@ampproject/remapping@2.2.1: resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==} engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/gen-mapping': 0.3.3 + '@jridgewell/trace-mapping': 0.3.18 + dev: true - '@ampproject/remapping@2.3.0': - resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} - engines: {node: '>=6.0.0'} - - '@antfu/eslint-config-basic@0.41.0': - resolution: {integrity: sha512-zcwFv+nEV/NroeeVWriNdnIGd9soOLRG8wIiVz4VVJ0BjONrqQR56HLG/gDxH/1GUYBnQCEcVxGUmegce08cnw==} - peerDependencies: - eslint: '>=7.4.0' - - '@antfu/eslint-config-ts@0.41.0': - resolution: {integrity: sha512-ng3GYpJGZgrxGwBVda/MgUpveH3LbEqdPCFi1+S5e62W4kf8rmEVbhc0I8w7/aKN0uNqir5SInYg8gob2maDAQ==} - peerDependencies: - eslint: '>=7.4.0' - typescript: '>=3.9' - - '@antfu/eslint-config-vue@0.41.0': - resolution: {integrity: sha512-iJiEGRUgRmT3mQCmGl0hTMwq/ShXRjRPjpgsDcphKJyEF06ZIR/4gxHn+utQRLT2hD39DQN8gk0ZbpV3gWtf/g==} - peerDependencies: - eslint: '>=7.4.0' - - '@antfu/eslint-config@0.41.0': - resolution: {integrity: sha512-510DginDPdzf45O6HOah3cK6NHXxobBc43IdBQCQmUGb+av9LIJjrd1idThFoyFh6m05iZ4YX/mhnhhJFqLiNw==} - peerDependencies: - eslint: '>=7.4.0' - - '@antfu/install-pkg@0.1.1': + /@antfu/install-pkg@0.1.1: resolution: {integrity: sha512-LyB/8+bSfa0DFGC06zpCEfs89/XoWZwws5ygEa5D+Xsm3OfI+aXQ86VgVG7Acyef+rSZ5HE7J8rrxzrQeM3PjQ==} + dependencies: + execa: 5.1.1 + find-up: 5.0.0 + dev: true - '@antfu/install-pkg@0.4.1': - resolution: {integrity: sha512-T7yB5QNG29afhWVkVq7XeIMBa5U/vs9mX69YqayXypPRmYzUmzwnYltplHmPtZ4HPCn+sQKeXW8I47wCbuBOjw==} + /@antfu/utils@0.5.2: + resolution: {integrity: sha512-CQkeV+oJxUazwjlHD0/3ZD08QWKuGQkhnrKo3e6ly5pd48VUpXbb77q0xMU4+vc2CkJnDS02Eq/M9ugyX20XZA==} + dev: true - '@antfu/utils@0.7.10': - resolution: {integrity: sha512-+562v9k4aI80m1+VuMHehNJWLOFjBnXn3tdOitzD0il5b7smkSBal4+a3oKiQTbrwMmN/TBUMDvbdoWDehgOww==} + /@antfu/utils@0.7.2: + resolution: {integrity: sha512-vy9fM3pIxZmX07dL+VX1aZe7ynZ+YyB0jY+jE6r3hOK6GNY2t6W8rzpFC4tgpbXUYABkFQwgJq2XYXlxbXAI0g==} + dev: true - '@antfu/utils@0.7.4': - resolution: {integrity: sha512-qe8Nmh9rYI/HIspLSTwtbMFPj6dISG6+dJnOguTlPNXtCvS2uezdxscVBb7/3DrmNbQK49TDqpkSQ1chbRGdpQ==} - - '@antfu/utils@0.7.6': - resolution: {integrity: sha512-pvFiLP2BeOKA/ZOS6jxx4XhKzdVLHDhGlFEaZ2flWWYf2xOqVniqpk38I04DFRyz+L0ASggl7SkItTc+ZLju4w==} - - '@apideck/better-ajv-errors@0.3.6': + /@apideck/better-ajv-errors@0.3.6(ajv@8.12.0): resolution: {integrity: sha512-P+ZygBLZtkp0qqOAJJVX4oX/sFo5JR3eBWwwuqHHhK0GIgQOKWrAfiAaWX0aArHkRWHMuggFEgAZNxVPwPZYaA==} engines: {node: '>=10'} peerDependencies: ajv: '>=8' + dependencies: + ajv: 8.12.0 + json-schema: 0.4.0 + jsonpointer: 5.0.1 + leven: 3.1.0 + dev: true - '@babel/code-frame@7.22.10': - resolution: {integrity: sha512-/KKIMG4UEL35WmI9OlvMhurwtytjvXoFcGNrOvyG9zIzA8YmPjVtIZUf7b05+TPO7G7/GEmLHDaoCgACHl9hhA==} + /@babel/code-frame@7.21.4: + resolution: {integrity: sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==} engines: {node: '>=6.9.0'} + dependencies: + '@babel/highlight': 7.18.6 + dev: true - '@babel/code-frame@7.22.13': - resolution: {integrity: sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==} + /@babel/compat-data@7.21.4: + resolution: {integrity: sha512-/DYyDpeCfaVinT40FPGdkkb+lYSKvsVuMjDAG7jPOWWiM1ibOaB9CXJAlc4d1QpP/U2q2P9jbrSlClKSErd55g==} engines: {node: '>=6.9.0'} + dev: true - '@babel/code-frame@7.22.5': - resolution: {integrity: sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ==} + /@babel/core@7.21.4: + resolution: {integrity: sha512-qt/YV149Jman/6AfmlxJ04LMIu8bMoyl3RB91yTFrxQmgbrSvQMy7cI8Q62FHx1t8wJ8B5fu0UDoLwHAhUo1QA==} engines: {node: '>=6.9.0'} + dependencies: + '@ampproject/remapping': 2.2.1 + '@babel/code-frame': 7.21.4 + '@babel/generator': 7.21.4 + '@babel/helper-compilation-targets': 7.21.4(@babel/core@7.21.4) + '@babel/helper-module-transforms': 7.21.2 + '@babel/helpers': 7.21.0 + '@babel/parser': 7.21.4 + '@babel/template': 7.20.7 + '@babel/traverse': 7.21.4 + '@babel/types': 7.21.4 + convert-source-map: 1.9.0 + debug: 4.3.4 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.0 + transitivePeerDependencies: + - supports-color + dev: true - '@babel/code-frame@7.26.2': - resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==} + /@babel/generator@7.21.4: + resolution: {integrity: sha512-NieM3pVIYW2SwGzKoqfPrQsf4xGs9M9AIG3ThppsSRmO+m7eQhmI6amajKMUeIO37wFfsvnvcxQFx6x6iqxDnA==} engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.21.4 + '@jridgewell/gen-mapping': 0.3.3 + '@jridgewell/trace-mapping': 0.3.18 + jsesc: 2.5.2 + dev: true - '@babel/compat-data@7.22.9': - resolution: {integrity: sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ==} + /@babel/helper-annotate-as-pure@7.18.6: + resolution: {integrity: sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==} engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.21.4 + dev: true - '@babel/compat-data@7.23.2': - resolution: {integrity: sha512-0S9TQMmDHlqAZ2ITT95irXKfxN9bncq8ZCoJhun3nHL/lLUxd2NKBJYoNGWH7S0hz6fRQwWlAWn/ILM0C70KZQ==} + /@babel/helper-builder-binary-assignment-operator-visitor@7.18.9: + resolution: {integrity: sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==} engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-explode-assignable-expression': 7.18.6 + '@babel/types': 7.21.4 + dev: true - '@babel/compat-data@7.26.3': - resolution: {integrity: sha512-nHIxvKPniQXpmQLb0vhY3VaFb3S0YrTAwpOWJZh1wn3oJPjJk9Asva204PsBdmAE8vpzfHudT8DB0scYvy9q0g==} - engines: {node: '>=6.9.0'} - - '@babel/core@7.22.10': - resolution: {integrity: sha512-fTmqbbUBAwCcre6zPzNngvsI0aNrPZe77AeqvDxWM9Nm+04RrJ3CAmGHA9f7lJQY6ZMhRztNemy4uslDxTX4Qw==} - engines: {node: '>=6.9.0'} - - '@babel/core@7.23.2': - resolution: {integrity: sha512-n7s51eWdaWZ3vGT2tD4T7J6eJs3QoBXydv7vkUM06Bf1cbVD2Kc2UrkzhiQwobfV7NwOnQXYL7UBJ5VPU+RGoQ==} - engines: {node: '>=6.9.0'} - - '@babel/core@7.26.0': - resolution: {integrity: sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg==} - engines: {node: '>=6.9.0'} - - '@babel/generator@7.22.10': - resolution: {integrity: sha512-79KIf7YiWjjdZ81JnLujDRApWtl7BxTqWD88+FFdQEIOG8LJ0etDOM7CXuIgGJa55sGOwZVwuEsaLEm0PJ5/+A==} - engines: {node: '>=6.9.0'} - - '@babel/generator@7.22.5': - resolution: {integrity: sha512-+lcUbnTRhd0jOewtFSedLyiPsD5tswKkbgcezOqqWFUVNEwoUTlpPOBmvhG7OXWLR4jMdv0czPGH5XbflnD1EA==} - engines: {node: '>=6.9.0'} - - '@babel/generator@7.23.0': - resolution: {integrity: sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==} - engines: {node: '>=6.9.0'} - - '@babel/generator@7.26.3': - resolution: {integrity: sha512-6FF/urZvD0sTeO7k6/B15pMLC4CHUv1426lzr3N01aHJTl046uCAh9LXW/fzeXXjPNCJ6iABW5XaWOsIZB93aQ==} - engines: {node: '>=6.9.0'} - - '@babel/helper-annotate-as-pure@7.22.5': - resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==} - engines: {node: '>=6.9.0'} - - '@babel/helper-annotate-as-pure@7.25.9': - resolution: {integrity: sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g==} - engines: {node: '>=6.9.0'} - - '@babel/helper-compilation-targets@7.22.10': - resolution: {integrity: sha512-JMSwHD4J7SLod0idLq5PKgI+6g/hLD/iuWBq08ZX49xE14VpVEojJ5rHWptpirV2j020MvypRLAXAO50igCJ5Q==} - engines: {node: '>=6.9.0'} - - '@babel/helper-compilation-targets@7.22.15': - resolution: {integrity: sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==} - engines: {node: '>=6.9.0'} - - '@babel/helper-compilation-targets@7.25.9': - resolution: {integrity: sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ==} - engines: {node: '>=6.9.0'} - - '@babel/helper-create-class-features-plugin@7.22.10': - resolution: {integrity: sha512-5IBb77txKYQPpOEdUdIhBx8VrZyDCQ+H82H0+5dX1TmuscP5vJKEE3cKurjtIw/vFwzbVH48VweE78kVDBrqjA==} + /@babel/helper-compilation-targets@7.21.4(@babel/core@7.21.4): + resolution: {integrity: sha512-Fa0tTuOXZ1iL8IeDFUWCzjZcn+sJGd9RZdH9esYVjEejGmzf+FFYQpMi/kZUk2kPy/q1H3/GPw7np8qar/stfg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 + dependencies: + '@babel/compat-data': 7.21.4 + '@babel/core': 7.21.4 + '@babel/helper-validator-option': 7.21.0 + browserslist: 4.21.5 + lru-cache: 5.1.1 + semver: 6.3.0 + dev: true - '@babel/helper-create-class-features-plugin@7.25.9': - resolution: {integrity: sha512-UTZQMvt0d/rSz6KI+qdu7GQze5TIajwTS++GUozlw8VBJDEOAqSXwm1WvmYEZwqdqSGQshRocPDqrt4HBZB3fQ==} + /@babel/helper-create-class-features-plugin@7.21.4(@babel/core@7.21.4): + resolution: {integrity: sha512-46QrX2CQlaFRF4TkwfTt6nJD7IHq8539cCL7SDpqWSDeJKY1xylKKY5F/33mJhLZ3mFvKv2gGrVS6NkyF6qs+Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.21.4 + '@babel/helper-annotate-as-pure': 7.18.6 + '@babel/helper-environment-visitor': 7.18.9 + '@babel/helper-function-name': 7.21.0 + '@babel/helper-member-expression-to-functions': 7.21.0 + '@babel/helper-optimise-call-expression': 7.18.6 + '@babel/helper-replace-supers': 7.20.7 + '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 + '@babel/helper-split-export-declaration': 7.18.6 + transitivePeerDependencies: + - supports-color + dev: true - '@babel/helper-create-regexp-features-plugin@7.26.3': - resolution: {integrity: sha512-G7ZRb40uUgdKOQqPLjfD12ZmGA54PzqDFUv2BKImnC9QIfGhIHKvVML0oN8IUiDq4iRqpq74ABpvOaerfWdong==} + /@babel/helper-create-regexp-features-plugin@7.21.4(@babel/core@7.21.4): + resolution: {integrity: sha512-M00OuhU+0GyZ5iBBN9czjugzWrEq2vDpf/zCYHxxf93ul/Q5rv+a5h+/+0WnI1AebHNVtl5bFV0qsJoH23DbfA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.21.4 + '@babel/helper-annotate-as-pure': 7.18.6 + regexpu-core: 5.3.2 + dev: true - '@babel/helper-define-polyfill-provider@0.6.3': - resolution: {integrity: sha512-HK7Bi+Hj6H+VTHA3ZvBis7V/6hu9QuTrnMXNybfUf2iiuU/N97I8VjB+KbhFF8Rld/Lx5MzoCwPCpPjfK+n8Cg==} + /@babel/helper-define-polyfill-provider@0.3.3(@babel/core@7.21.4): + resolution: {integrity: sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==} peerDependencies: - '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + '@babel/core': ^7.4.0-0 + dependencies: + '@babel/core': 7.21.4 + '@babel/helper-compilation-targets': 7.21.4(@babel/core@7.21.4) + '@babel/helper-plugin-utils': 7.20.2 + debug: 4.3.4 + lodash.debounce: 4.0.8 + resolve: 1.22.2 + semver: 6.3.0 + transitivePeerDependencies: + - supports-color + dev: true - '@babel/helper-environment-visitor@7.22.20': - resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==} + /@babel/helper-environment-visitor@7.18.9: + resolution: {integrity: sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==} engines: {node: '>=6.9.0'} + dev: true - '@babel/helper-environment-visitor@7.22.5': - resolution: {integrity: sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==} + /@babel/helper-explode-assignable-expression@7.18.6: + resolution: {integrity: sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==} engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.21.4 + dev: true - '@babel/helper-function-name@7.22.5': - resolution: {integrity: sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==} + /@babel/helper-function-name@7.21.0: + resolution: {integrity: sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==} engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.20.7 + '@babel/types': 7.21.4 + dev: true - '@babel/helper-function-name@7.23.0': - resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==} + /@babel/helper-hoist-variables@7.18.6: + resolution: {integrity: sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==} engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.21.4 + dev: true - '@babel/helper-hoist-variables@7.22.5': - resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} + /@babel/helper-member-expression-to-functions@7.21.0: + resolution: {integrity: sha512-Muu8cdZwNN6mRRNG6lAYErJ5X3bRevgYR2O8wN0yn7jJSnGDu6eG59RfT29JHxGUovyfrh6Pj0XzmR7drNVL3Q==} engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.21.4 + dev: true - '@babel/helper-member-expression-to-functions@7.22.5': - resolution: {integrity: sha512-aBiH1NKMG0H2cGZqspNvsaBe6wNGjbJjuLy29aU+eDZjSbbN53BaxlpB02xm9v34pLTZ1nIQPFYn2qMZoa5BQQ==} + /@babel/helper-module-imports@7.21.4: + resolution: {integrity: sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg==} engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.21.4 + dev: true - '@babel/helper-member-expression-to-functions@7.25.9': - resolution: {integrity: sha512-wbfdZ9w5vk0C0oyHqAJbc62+vet5prjj01jjJ8sKn3j9h3MQQlflEdXYvuqRWjHnM12coDEqiC1IRCi0U/EKwQ==} + /@babel/helper-module-transforms@7.21.2: + resolution: {integrity: sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ==} engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-environment-visitor': 7.18.9 + '@babel/helper-module-imports': 7.21.4 + '@babel/helper-simple-access': 7.20.2 + '@babel/helper-split-export-declaration': 7.18.6 + '@babel/helper-validator-identifier': 7.19.1 + '@babel/template': 7.20.7 + '@babel/traverse': 7.21.4 + '@babel/types': 7.21.4 + transitivePeerDependencies: + - supports-color + dev: true - '@babel/helper-module-imports@7.22.15': - resolution: {integrity: sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==} + /@babel/helper-optimise-call-expression@7.18.6: + resolution: {integrity: sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==} engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.21.4 + dev: true - '@babel/helper-module-imports@7.22.5': - resolution: {integrity: sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==} + /@babel/helper-plugin-utils@7.20.2: + resolution: {integrity: sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==} engines: {node: '>=6.9.0'} + dev: true - '@babel/helper-module-imports@7.25.9': - resolution: {integrity: sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==} - engines: {node: '>=6.9.0'} - - '@babel/helper-module-transforms@7.22.9': - resolution: {integrity: sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ==} + /@babel/helper-remap-async-to-generator@7.18.9(@babel/core@7.21.4): + resolution: {integrity: sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.21.4 + '@babel/helper-annotate-as-pure': 7.18.6 + '@babel/helper-environment-visitor': 7.18.9 + '@babel/helper-wrap-function': 7.20.5 + '@babel/types': 7.21.4 + transitivePeerDependencies: + - supports-color + dev: true - '@babel/helper-module-transforms@7.23.0': - resolution: {integrity: sha512-WhDWw1tdrlT0gMgUJSlX0IQvoO1eN279zrAUbVB+KpV2c3Tylz8+GnKOLllCS6Z/iZQEyVYxhZVUdPTqs2YYPw==} + /@babel/helper-replace-supers@7.20.7: + resolution: {integrity: sha512-vujDMtB6LVfNW13jhlCrp48QNslK6JXi7lQG736HVbHz/mbf4Dc7tIRh1Xf5C0rF7BP8iiSxGMCmY6Ci1ven3A==} engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 + dependencies: + '@babel/helper-environment-visitor': 7.18.9 + '@babel/helper-member-expression-to-functions': 7.21.0 + '@babel/helper-optimise-call-expression': 7.18.6 + '@babel/template': 7.20.7 + '@babel/traverse': 7.21.4 + '@babel/types': 7.21.4 + transitivePeerDependencies: + - supports-color + dev: true - '@babel/helper-module-transforms@7.26.0': - resolution: {integrity: sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==} + /@babel/helper-simple-access@7.20.2: + resolution: {integrity: sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==} engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 + dependencies: + '@babel/types': 7.21.4 + dev: true - '@babel/helper-optimise-call-expression@7.22.5': - resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==} + /@babel/helper-skip-transparent-expression-wrappers@7.20.0: + resolution: {integrity: sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.21.4 + dev: true + + /@babel/helper-split-export-declaration@7.18.6: + resolution: {integrity: sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.21.4 + dev: true + + /@babel/helper-string-parser@7.19.4: + resolution: {integrity: sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==} engines: {node: '>=6.9.0'} - '@babel/helper-optimise-call-expression@7.25.9': - resolution: {integrity: sha512-FIpuNaz5ow8VyrYcnXQTDRGvV6tTjkNtCK/RYNDXGSLlUD6cBuQTSw43CShGxjvfBTfcUA/r6UhUCbtYqkhcuQ==} + /@babel/helper-validator-identifier@7.19.1: + resolution: {integrity: sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==} engines: {node: '>=6.9.0'} - '@babel/helper-plugin-utils@7.22.5': - resolution: {integrity: sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==} + /@babel/helper-validator-option@7.21.0: + resolution: {integrity: sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==} engines: {node: '>=6.9.0'} + dev: true - '@babel/helper-plugin-utils@7.25.9': - resolution: {integrity: sha512-kSMlyUVdWe25rEsRGviIgOWnoT/nfABVWlqt9N19/dIPWViAOW2s9wznP5tURbs/IDuNk4gPy3YdYRgH3uxhBw==} + /@babel/helper-wrap-function@7.20.5: + resolution: {integrity: sha512-bYMxIWK5mh+TgXGVqAtnu5Yn1un+v8DDZtqyzKRLUzrh70Eal2O3aZ7aPYiMADO4uKlkzOiRiZ6GX5q3qxvW9Q==} engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-function-name': 7.21.0 + '@babel/template': 7.20.7 + '@babel/traverse': 7.21.4 + '@babel/types': 7.21.4 + transitivePeerDependencies: + - supports-color + dev: true - '@babel/helper-remap-async-to-generator@7.25.9': - resolution: {integrity: sha512-IZtukuUeBbhgOcaW2s06OXTzVNJR0ybm4W5xC1opWFFJMZbwRj5LCk+ByYH7WdZPZTt8KnFwA8pvjN2yqcPlgw==} + /@babel/helpers@7.21.0: + resolution: {integrity: sha512-XXve0CBtOW0pd7MRzzmoyuSj0e3SEzj8pgyFxnTT1NJZL38BD1MK7yYrm8yefRPIDvNNe14xR4FdbHwpInD4rA==} engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 + dependencies: + '@babel/template': 7.20.7 + '@babel/traverse': 7.21.4 + '@babel/types': 7.21.4 + transitivePeerDependencies: + - supports-color + dev: true - '@babel/helper-replace-supers@7.22.9': - resolution: {integrity: sha512-LJIKvvpgPOPUThdYqcX6IXRuIcTkcAub0IaDRGCZH0p5GPUp7PhRU9QVgFcDDd51BaPkk77ZjqFwh6DZTAEmGg==} + /@babel/highlight@7.18.6: + resolution: {integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==} engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 + dependencies: + '@babel/helper-validator-identifier': 7.19.1 + chalk: 2.4.2 + js-tokens: 4.0.0 + dev: true - '@babel/helper-replace-supers@7.25.9': - resolution: {integrity: sha512-IiDqTOTBQy0sWyeXyGSC5TBJpGFXBkRynjBeXsvbhQFKj2viwJC76Epz35YLU1fpe/Am6Vppb7W7zM4fPQzLsQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/helper-simple-access@7.22.5': - resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} - engines: {node: '>=6.9.0'} - - '@babel/helper-skip-transparent-expression-wrappers@7.22.5': - resolution: {integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==} - engines: {node: '>=6.9.0'} - - '@babel/helper-skip-transparent-expression-wrappers@7.25.9': - resolution: {integrity: sha512-K4Du3BFa3gvyhzgPcntrkDgZzQaq6uozzcpGbOO1OEJaI+EJdqWIMTLgFgQf6lrfiDFo5FU+BxKepI9RmZqahA==} - engines: {node: '>=6.9.0'} - - '@babel/helper-split-export-declaration@7.22.5': - resolution: {integrity: sha512-thqK5QFghPKWLhAV321lxF95yCg2K3Ob5yw+M3VHWfdia0IkPXUtoLH8x/6Fh486QUvzhb8YOWHChTVen2/PoQ==} - engines: {node: '>=6.9.0'} - - '@babel/helper-split-export-declaration@7.22.6': - resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} - engines: {node: '>=6.9.0'} - - '@babel/helper-string-parser@7.22.5': - resolution: {integrity: sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==} - engines: {node: '>=6.9.0'} - - '@babel/helper-string-parser@7.25.9': - resolution: {integrity: sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==} - engines: {node: '>=6.9.0'} - - '@babel/helper-validator-identifier@7.22.20': - resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} - engines: {node: '>=6.9.0'} - - '@babel/helper-validator-identifier@7.22.5': - resolution: {integrity: sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==} - engines: {node: '>=6.9.0'} - - '@babel/helper-validator-identifier@7.25.9': - resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==} - engines: {node: '>=6.9.0'} - - '@babel/helper-validator-option@7.22.15': - resolution: {integrity: sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA==} - engines: {node: '>=6.9.0'} - - '@babel/helper-validator-option@7.22.5': - resolution: {integrity: sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==} - engines: {node: '>=6.9.0'} - - '@babel/helper-validator-option@7.25.9': - resolution: {integrity: sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==} - engines: {node: '>=6.9.0'} - - '@babel/helper-wrap-function@7.25.9': - resolution: {integrity: sha512-ETzz9UTjQSTmw39GboatdymDq4XIQbR8ySgVrylRhPOFpsd+JrKHIuF0de7GCWmem+T4uC5z7EZguod7Wj4A4g==} - engines: {node: '>=6.9.0'} - - '@babel/helpers@7.22.10': - resolution: {integrity: sha512-a41J4NW8HyZa1I1vAndrraTlPZ/eZoga2ZgS7fEr0tZJGVU4xqdE80CEm0CcNjha5EZ8fTBYLKHF0kqDUuAwQw==} - engines: {node: '>=6.9.0'} - - '@babel/helpers@7.23.2': - resolution: {integrity: sha512-lzchcp8SjTSVe/fPmLwtWVBFC7+Tbn8LGHDVfDp9JGxpAY5opSaEFgt8UQvrnECWOTdji2mOWMz1rOhkHscmGQ==} - engines: {node: '>=6.9.0'} - - '@babel/helpers@7.26.0': - resolution: {integrity: sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw==} - engines: {node: '>=6.9.0'} - - '@babel/highlight@7.22.10': - resolution: {integrity: sha512-78aUtVcT7MUscr0K5mIEnkwxPE0MaxkR5RxRwuHaQ+JuU5AmTPhY+do2mdzVTnIJJpyBglql2pehuBIWHug+WQ==} - engines: {node: '>=6.9.0'} - - '@babel/highlight@7.22.20': - resolution: {integrity: sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==} - engines: {node: '>=6.9.0'} - - '@babel/highlight@7.22.5': - resolution: {integrity: sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw==} - engines: {node: '>=6.9.0'} - - '@babel/parser@7.21.4': + /@babel/parser@7.21.4: resolution: {integrity: sha512-alVJj7k7zIxqBZ7BTRhz0IqJFxW1VJbm6N8JbcYhQ186df9ZBPbZBmWSqAMXwHGsCJdYks7z/voa3ibiS5bCIw==} engines: {node: '>=6.0.0'} hasBin: true + dependencies: + '@babel/types': 7.21.4 - '@babel/parser@7.22.10': - resolution: {integrity: sha512-lNbdGsQb9ekfsnjFGhEiF4hfFqGgfOP3H3d27re3n+CGhNuTSUEQdfWk556sTLNTloczcdM5TYF2LhzmDQKyvQ==} - engines: {node: '>=6.0.0'} - hasBin: true - - '@babel/parser@7.22.5': - resolution: {integrity: sha512-DFZMC9LJUG9PLOclRC32G63UXwzqS2koQC8dkx+PLdmt1xSePYpbT/NbsrJy8Q/muXz7o/h/d4A7Fuyixm559Q==} - engines: {node: '>=6.0.0'} - hasBin: true - - '@babel/parser@7.23.0': - resolution: {integrity: sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==} - engines: {node: '>=6.0.0'} - hasBin: true - - '@babel/parser@7.26.3': - resolution: {integrity: sha512-WJ/CvmY8Mea8iDXo6a7RK2wbmJITT5fN3BEkRuFlxVyNx8jOKIIhmC4fSkTcPcf8JyavbBwIe6OpiCOBXt/IcA==} - engines: {node: '>=6.0.0'} - hasBin: true - - '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.25.9': - resolution: {integrity: sha512-ZkRyVkThtxQ/J6nv3JFYv1RYY+JT5BvU0y3k5bWrmuG4woXypRa4PXmm9RhOwodRkYFWqC0C0cqcJ4OqR7kW+g==} + /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.18.6(@babel/core@7.21.4): + resolution: {integrity: sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.21.4 + '@babel/helper-plugin-utils': 7.20.2 + dev: true - '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.25.9': - resolution: {integrity: sha512-MrGRLZxLD/Zjj0gdU15dfs+HH/OXvnw/U4jJD8vpcP2CJQapPEv1IWwjc/qMg7ItBlPwSv1hRBbb7LeuANdcnw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.25.9': - resolution: {integrity: sha512-2qUwwfAFpJLZqxd02YW9btUCZHl+RFvdDkNfZwaIJrvB8Tesjsk8pEQkTvGwZXLqXUx/2oyY3ySRhm6HOXuCug==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.25.9': - resolution: {integrity: sha512-6xWgLZTJXwilVjlnV7ospI3xi+sl8lN8rXXbBD6vYn3UYDlGsag8wrZkKcSI8G6KgqKP7vNFaDgeDnfAABq61g==} + /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.20.7(@babel/core@7.21.4): + resolution: {integrity: sha512-sbr9+wNE5aXMBBFBICk01tt7sBf2Oc9ikRFEcem/ZORup9IMUdNhW7/wVLEbbtlWOsEubJet46mHAL2C8+2jKQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.13.0 + dependencies: + '@babel/core': 7.21.4 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 + '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.21.4) + dev: true - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.25.9': - resolution: {integrity: sha512-aLnMXYPnzwwqhYSCyXfKkIkYgJ8zv9RK+roo9DkTXz38ynIhd9XCbN08s3MGvqL2MYGVUGdRQLL/JqBIeJhJBg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/plugin-proposal-export-namespace-from@7.18.9': - resolution: {integrity: sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==} - engines: {node: '>=6.9.0'} - deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-export-namespace-from instead. - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2': - resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} + /@babel/plugin-proposal-async-generator-functions@7.20.7(@babel/core@7.21.4): + resolution: {integrity: sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.21.4 + '@babel/helper-environment-visitor': 7.18.9 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-remap-async-to-generator': 7.18.9(@babel/core@7.21.4) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.21.4) + transitivePeerDependencies: + - supports-color + dev: true - '@babel/plugin-syntax-dynamic-import@7.8.3': - resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-export-namespace-from@7.8.3': - resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-import-assertions@7.26.0': - resolution: {integrity: sha512-QCWT5Hh830hK5EQa7XzuqIkQU9tT/whqbDz7kuaZMHFl1inRRg7JnuAEOQ0Ur0QUl0NufCk1msK2BeY79Aj/eg==} + /@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.21.4): + resolution: {integrity: sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.21.4 + '@babel/helper-create-class-features-plugin': 7.21.4(@babel/core@7.21.4) + '@babel/helper-plugin-utils': 7.20.2 + transitivePeerDependencies: + - supports-color + dev: true - '@babel/plugin-syntax-import-attributes@7.26.0': - resolution: {integrity: sha512-e2dttdsJ1ZTpi3B9UYGLw41hifAubg19AtCu/2I/F1QNVclOBr1dYpTdmdyZ84Xiz43BS/tCUkMAZNLv12Pi+A==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-jsx@7.22.5': - resolution: {integrity: sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-typescript@7.22.5': - resolution: {integrity: sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-unicode-sets-regex@7.18.6': - resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/plugin-transform-arrow-functions@7.25.9': - resolution: {integrity: sha512-6jmooXYIwn9ca5/RylZADJ+EnSxVUS5sjeJ9UPk6RWRzXCmOJCy6dqItPJFpw2cuCangPK4OYr5uhGKcmrm5Qg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-async-generator-functions@7.25.9': - resolution: {integrity: sha512-RXV6QAzTBbhDMO9fWwOmwwTuYaiPbggWQ9INdZqAYeSHyG7FzQ+nOZaUUjNwKv9pV3aE4WFqFm1Hnbci5tBCAw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-async-to-generator@7.25.9': - resolution: {integrity: sha512-NT7Ejn7Z/LjUH0Gv5KsBCxh7BH3fbLTV0ptHvpeMvrt3cPThHfJfst9Wrb7S8EvJ7vRTFI7z+VAvFVEQn/m5zQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-block-scoped-functions@7.25.9': - resolution: {integrity: sha512-toHc9fzab0ZfenFpsyYinOX0J/5dgJVA2fm64xPewu7CoYHWEivIWKxkK2rMi4r3yQqLnVmheMXRdG+k239CgA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-block-scoping@7.25.9': - resolution: {integrity: sha512-1F05O7AYjymAtqbsFETboN1NvBdcnzMerO+zlMyJBEz6WkMdejvGWw9p05iTSjC85RLlBseHHQpYaM4gzJkBGg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-class-properties@7.25.9': - resolution: {integrity: sha512-bbMAII8GRSkcd0h0b4X+36GksxuheLFjP65ul9w6C3KgAamI3JqErNgSrosX6ZPj+Mpim5VvEbawXxJCyEUV3Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-class-static-block@7.26.0': - resolution: {integrity: sha512-6J2APTs7BDDm+UMqP1useWqhcRAXo0WIoVj26N7kPFB6S73Lgvyka4KTZYIxtgYXiN5HTyRObA72N2iu628iTQ==} + /@babel/plugin-proposal-class-static-block@7.21.0(@babel/core@7.21.4): + resolution: {integrity: sha512-XP5G9MWNUskFuP30IfFSEFB0Z6HzLIUcjYM4bYOPHXl7eiJ9HFv8tWj6TXTN5QODiEhDZAeI4hLok2iHFFV4hw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.12.0 + dependencies: + '@babel/core': 7.21.4 + '@babel/helper-create-class-features-plugin': 7.21.4(@babel/core@7.21.4) + '@babel/helper-plugin-utils': 7.20.2 + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.21.4) + transitivePeerDependencies: + - supports-color + dev: true - '@babel/plugin-transform-classes@7.25.9': - resolution: {integrity: sha512-mD8APIXmseE7oZvZgGABDyM34GUmK45Um2TXiBUt7PnuAxrgoSVf123qUzPxEr/+/BHrRn5NMZCdE2m/1F8DGg==} + /@babel/plugin-proposal-dynamic-import@7.18.6(@babel/core@7.21.4): + resolution: {integrity: sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.21.4 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.21.4) + dev: true - '@babel/plugin-transform-computed-properties@7.25.9': - resolution: {integrity: sha512-HnBegGqXZR12xbcTHlJ9HGxw1OniltT26J5YpfruGqtUHlz/xKf/G2ak9e+t0rVqrjXa9WOhvYPz1ERfMj23AA==} + /@babel/plugin-proposal-export-namespace-from@7.18.9(@babel/core@7.21.4): + resolution: {integrity: sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.21.4 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.21.4) + dev: true - '@babel/plugin-transform-destructuring@7.25.9': - resolution: {integrity: sha512-WkCGb/3ZxXepmMiX101nnGiU+1CAdut8oHyEOHxkKuS1qKpU2SMXE2uSvfz8PBuLd49V6LEsbtyPhWC7fnkgvQ==} + /@babel/plugin-proposal-json-strings@7.18.6(@babel/core@7.21.4): + resolution: {integrity: sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.21.4 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.21.4) + dev: true - '@babel/plugin-transform-dotall-regex@7.25.9': - resolution: {integrity: sha512-t7ZQ7g5trIgSRYhI9pIJtRl64KHotutUJsh4Eze5l7olJv+mRSg4/MmbZ0tv1eeqRbdvo/+trvJD/Oc5DmW2cA==} + /@babel/plugin-proposal-logical-assignment-operators@7.20.7(@babel/core@7.21.4): + resolution: {integrity: sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.21.4 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.21.4) + dev: true - '@babel/plugin-transform-duplicate-keys@7.25.9': - resolution: {integrity: sha512-LZxhJ6dvBb/f3x8xwWIuyiAHy56nrRG3PeYTpBkkzkYRRQ6tJLu68lEF5VIqMUZiAV7a8+Tb78nEoMCMcqjXBw==} + /@babel/plugin-proposal-nullish-coalescing-operator@7.18.6(@babel/core@7.21.4): + resolution: {integrity: sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.21.4 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.21.4) + dev: true - '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.25.9': - resolution: {integrity: sha512-0UfuJS0EsXbRvKnwcLjFtJy/Sxc5J5jhLHnFhy7u4zih97Hz6tJkLU+O+FMMrNZrosUPxDi6sYxJ/EA8jDiAog==} + /@babel/plugin-proposal-numeric-separator@7.18.6(@babel/core@7.21.4): + resolution: {integrity: sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.21.4 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.21.4) + dev: true + + /@babel/plugin-proposal-object-rest-spread@7.20.7(@babel/core@7.21.4): + resolution: {integrity: sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/compat-data': 7.21.4 + '@babel/core': 7.21.4 + '@babel/helper-compilation-targets': 7.21.4(@babel/core@7.21.4) + '@babel/helper-plugin-utils': 7.20.2 + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.21.4) + '@babel/plugin-transform-parameters': 7.21.3(@babel/core@7.21.4) + dev: true + + /@babel/plugin-proposal-optional-catch-binding@7.18.6(@babel/core@7.21.4): + resolution: {integrity: sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.21.4 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.21.4) + dev: true + + /@babel/plugin-proposal-optional-chaining@7.21.0(@babel/core@7.21.4): + resolution: {integrity: sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.21.4 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.21.4) + dev: true + + /@babel/plugin-proposal-private-methods@7.18.6(@babel/core@7.21.4): + resolution: {integrity: sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.21.4 + '@babel/helper-create-class-features-plugin': 7.21.4(@babel/core@7.21.4) + '@babel/helper-plugin-utils': 7.20.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-proposal-private-property-in-object@7.21.0(@babel/core@7.21.4): + resolution: {integrity: sha512-ha4zfehbJjc5MmXBlHec1igel5TJXXLDDRbuJ4+XT2TJcyD9/V1919BA8gMvsdHcNMBy4WBUBiRb3nw/EQUtBw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.21.4 + '@babel/helper-annotate-as-pure': 7.18.6 + '@babel/helper-create-class-features-plugin': 7.21.4(@babel/core@7.21.4) + '@babel/helper-plugin-utils': 7.20.2 + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.21.4) + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-proposal-unicode-property-regex@7.18.6(@babel/core@7.21.4): + resolution: {integrity: sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==} + engines: {node: '>=4'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.21.4 + '@babel/helper-create-regexp-features-plugin': 7.21.4(@babel/core@7.21.4) + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.21.4): + resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.21.4 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.21.4): + resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.21.4 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.21.4): + resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.21.4 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.21.4): + resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.21.4 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.21.4): + resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.21.4 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-syntax-import-assertions@7.20.0(@babel/core@7.21.4): + resolution: {integrity: sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.21.4 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.21.4): + resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.21.4 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.21.4): + resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.21.4 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-syntax-jsx@7.21.4(@babel/core@7.21.4): + resolution: {integrity: sha512-5hewiLct5OKyh6PLKEYaFclcqtIgCb6bmELouxjF6up5q3Sov7rOayW4RwhbaBL0dit8rA80GNfY+UuDp2mBbQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.21.4 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.21.4): + resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.21.4 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.21.4): + resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.21.4 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.21.4): + resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.21.4 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.21.4): + resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.21.4 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.21.4): + resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.21.4 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.21.4): + resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.21.4 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.21.4): + resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.21.4 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.21.4): + resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.21.4 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-syntax-typescript@7.21.4(@babel/core@7.21.4): + resolution: {integrity: sha512-xz0D39NvhQn4t4RNsHmDnnsaQizIlUkdtYvLs8La1BlfjQ6JEwxkJGeqJMW2tAXx+q6H+WFuUTXNdYVpEya0YA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.21.4 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-transform-arrow-functions@7.20.7(@babel/core@7.21.4): + resolution: {integrity: sha512-3poA5E7dzDomxj9WXWwuD6A5F3kc7VXwIJO+E+J8qtDtS+pXPAhrgEyh+9GBwBgPq1Z+bB+/JD60lp5jsN7JPQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.21.4 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-transform-async-to-generator@7.20.7(@babel/core@7.21.4): + resolution: {integrity: sha512-Uo5gwHPT9vgnSXQxqGtpdufUiWp96gk7yiP4Mp5bm1QMkEmLXBO7PAGYbKoJ6DhAwiNkcHFBol/x5zZZkL/t0Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.21.4 + '@babel/helper-module-imports': 7.21.4 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-remap-async-to-generator': 7.18.9(@babel/core@7.21.4) + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-block-scoped-functions@7.18.6(@babel/core@7.21.4): + resolution: {integrity: sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.21.4 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-transform-block-scoping@7.21.0(@babel/core@7.21.4): + resolution: {integrity: sha512-Mdrbunoh9SxwFZapeHVrwFmri16+oYotcZysSzhNIVDwIAb1UV+kvnxULSYq9J3/q5MDG+4X6w8QVgD1zhBXNQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.21.4 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-transform-classes@7.21.0(@babel/core@7.21.4): + resolution: {integrity: sha512-RZhbYTCEUAe6ntPehC4hlslPWosNHDox+vAs4On/mCLRLfoDVHf6hVEd7kuxr1RnHwJmxFfUM3cZiZRmPxJPXQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.21.4 + '@babel/helper-annotate-as-pure': 7.18.6 + '@babel/helper-compilation-targets': 7.21.4(@babel/core@7.21.4) + '@babel/helper-environment-visitor': 7.18.9 + '@babel/helper-function-name': 7.21.0 + '@babel/helper-optimise-call-expression': 7.18.6 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-replace-supers': 7.20.7 + '@babel/helper-split-export-declaration': 7.18.6 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-computed-properties@7.20.7(@babel/core@7.21.4): + resolution: {integrity: sha512-Lz7MvBK6DTjElHAmfu6bfANzKcxpyNPeYBGEafyA6E5HtRpjpZwU+u7Qrgz/2OR0z+5TvKYbPdphfSaAcZBrYQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.21.4 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/template': 7.20.7 + dev: true + + /@babel/plugin-transform-destructuring@7.21.3(@babel/core@7.21.4): + resolution: {integrity: sha512-bp6hwMFzuiE4HqYEyoGJ/V2LeIWn+hLVKc4pnj++E5XQptwhtcGmSayM029d/j2X1bPKGTlsyPwAubuU22KhMA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.21.4 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-transform-dotall-regex@7.18.6(@babel/core@7.21.4): + resolution: {integrity: sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.21.4 + '@babel/helper-create-regexp-features-plugin': 7.21.4(@babel/core@7.21.4) + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-transform-duplicate-keys@7.18.9(@babel/core@7.21.4): + resolution: {integrity: sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.21.4 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-transform-exponentiation-operator@7.18.6(@babel/core@7.21.4): + resolution: {integrity: sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.21.4 + '@babel/helper-builder-binary-assignment-operator-visitor': 7.18.9 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-transform-for-of@7.21.0(@babel/core@7.21.4): + resolution: {integrity: sha512-LlUYlydgDkKpIY7mcBWvyPPmMcOphEyYA27Ef4xpbh1IiDNLr0kZsos2nf92vz3IccvJI25QUwp86Eo5s6HmBQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.21.4 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-transform-function-name@7.18.9(@babel/core@7.21.4): + resolution: {integrity: sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.21.4 + '@babel/helper-compilation-targets': 7.21.4(@babel/core@7.21.4) + '@babel/helper-function-name': 7.21.0 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-transform-literals@7.18.9(@babel/core@7.21.4): + resolution: {integrity: sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.21.4 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-transform-member-expression-literals@7.18.6(@babel/core@7.21.4): + resolution: {integrity: sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.21.4 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-transform-modules-amd@7.20.11(@babel/core@7.21.4): + resolution: {integrity: sha512-NuzCt5IIYOW0O30UvqktzHYR2ud5bOWbY0yaxWZ6G+aFzOMJvrs5YHNikrbdaT15+KNO31nPOy5Fim3ku6Zb5g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.21.4 + '@babel/helper-module-transforms': 7.21.2 + '@babel/helper-plugin-utils': 7.20.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-modules-commonjs@7.21.2(@babel/core@7.21.4): + resolution: {integrity: sha512-Cln+Yy04Gxua7iPdj6nOV96smLGjpElir5YwzF0LBPKoPlLDNJePNlrGGaybAJkd0zKRnOVXOgizSqPYMNYkzA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.21.4 + '@babel/helper-module-transforms': 7.21.2 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-simple-access': 7.20.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-modules-systemjs@7.20.11(@babel/core@7.21.4): + resolution: {integrity: sha512-vVu5g9BPQKSFEmvt2TA4Da5N+QVS66EX21d8uoOihC+OCpUoGvzVsXeqFdtAEfVa5BILAeFt+U7yVmLbQnAJmw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.21.4 + '@babel/helper-hoist-variables': 7.18.6 + '@babel/helper-module-transforms': 7.21.2 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-validator-identifier': 7.19.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-modules-umd@7.18.6(@babel/core@7.21.4): + resolution: {integrity: sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.21.4 + '@babel/helper-module-transforms': 7.21.2 + '@babel/helper-plugin-utils': 7.20.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-named-capturing-groups-regex@7.20.5(@babel/core@7.21.4): + resolution: {integrity: sha512-mOW4tTzi5iTLnw+78iEq3gr8Aoq4WNRGpmSlrogqaiCBoR1HFhpU4JkpQFOHfeYx3ReVIFWOQJS4aZBRvuZ6mA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.21.4 + '@babel/helper-create-regexp-features-plugin': 7.21.4(@babel/core@7.21.4) + '@babel/helper-plugin-utils': 7.20.2 + dev: true - '@babel/plugin-transform-dynamic-import@7.25.9': - resolution: {integrity: sha512-GCggjexbmSLaFhqsojeugBpeaRIgWNTcgKVq/0qIteFEqY2A+b9QidYadrWlnbWQUrW5fn+mCvf3tr7OeBFTyg==} + /@babel/plugin-transform-new-target@7.18.6(@babel/core@7.21.4): + resolution: {integrity: sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.21.4 + '@babel/helper-plugin-utils': 7.20.2 + dev: true - '@babel/plugin-transform-exponentiation-operator@7.26.3': - resolution: {integrity: sha512-7CAHcQ58z2chuXPWblnn1K6rLDnDWieghSOEmqQsrBenH0P9InCUtOJYD89pvngljmZlJcz3fcmgYsXFNGa1ZQ==} + /@babel/plugin-transform-object-super@7.18.6(@babel/core@7.21.4): + resolution: {integrity: sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.21.4 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-replace-supers': 7.20.7 + transitivePeerDependencies: + - supports-color + dev: true - '@babel/plugin-transform-export-namespace-from@7.25.9': - resolution: {integrity: sha512-2NsEz+CxzJIVOPx2o9UsW1rXLqtChtLoVnwYHHiB04wS5sgn7mrV45fWMBX0Kk+ub9uXytVYfNP2HjbVbCB3Ww==} + /@babel/plugin-transform-parameters@7.21.3(@babel/core@7.21.4): + resolution: {integrity: sha512-Wxc+TvppQG9xWFYatvCGPvZ6+SIUxQ2ZdiBP+PHYMIjnPXD+uThCshaz4NZOnODAtBjjcVQQ/3OKs9LW28purQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.21.4 + '@babel/helper-plugin-utils': 7.20.2 + dev: true - '@babel/plugin-transform-for-of@7.25.9': - resolution: {integrity: sha512-LqHxduHoaGELJl2uhImHwRQudhCM50pT46rIBNvtT/Oql3nqiS3wOwP+5ten7NpYSXrrVLgtZU3DZmPtWZo16A==} + /@babel/plugin-transform-property-literals@7.18.6(@babel/core@7.21.4): + resolution: {integrity: sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.21.4 + '@babel/helper-plugin-utils': 7.20.2 + dev: true - '@babel/plugin-transform-function-name@7.25.9': - resolution: {integrity: sha512-8lP+Yxjv14Vc5MuWBpJsoUCd3hD6V9DgBon2FVYL4jJgbnVQ9fTgYmonchzZJOVNgzEgbxp4OwAf6xz6M/14XA==} + /@babel/plugin-transform-regenerator@7.20.5(@babel/core@7.21.4): + resolution: {integrity: sha512-kW/oO7HPBtntbsahzQ0qSE3tFvkFwnbozz3NWFhLGqH75vLEg+sCGngLlhVkePlCs3Jv0dBBHDzCHxNiFAQKCQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.21.4 + '@babel/helper-plugin-utils': 7.20.2 + regenerator-transform: 0.15.1 + dev: true - '@babel/plugin-transform-json-strings@7.25.9': - resolution: {integrity: sha512-xoTMk0WXceiiIvsaquQQUaLLXSW1KJ159KP87VilruQm0LNNGxWzahxSS6T6i4Zg3ezp4vA4zuwiNUR53qmQAw==} + /@babel/plugin-transform-reserved-words@7.18.6(@babel/core@7.21.4): + resolution: {integrity: sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.21.4 + '@babel/helper-plugin-utils': 7.20.2 + dev: true - '@babel/plugin-transform-literals@7.25.9': - resolution: {integrity: sha512-9N7+2lFziW8W9pBl2TzaNht3+pgMIRP74zizeCSrtnSKVdUl8mAjjOP2OOVQAfZ881P2cNjDj1uAMEdeD50nuQ==} + /@babel/plugin-transform-shorthand-properties@7.18.6(@babel/core@7.21.4): + resolution: {integrity: sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.21.4 + '@babel/helper-plugin-utils': 7.20.2 + dev: true - '@babel/plugin-transform-logical-assignment-operators@7.25.9': - resolution: {integrity: sha512-wI4wRAzGko551Y8eVf6iOY9EouIDTtPb0ByZx+ktDGHwv6bHFimrgJM/2T021txPZ2s4c7bqvHbd+vXG6K948Q==} + /@babel/plugin-transform-spread@7.20.7(@babel/core@7.21.4): + resolution: {integrity: sha512-ewBbHQ+1U/VnH1fxltbJqDeWBU1oNLG8Dj11uIv3xVf7nrQu0bPGe5Rf716r7K5Qz+SqtAOVswoVunoiBtGhxw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.21.4 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 + dev: true - '@babel/plugin-transform-member-expression-literals@7.25.9': - resolution: {integrity: sha512-PYazBVfofCQkkMzh2P6IdIUaCEWni3iYEerAsRWuVd8+jlM1S9S9cz1dF9hIzyoZ8IA3+OwVYIp9v9e+GbgZhA==} + /@babel/plugin-transform-sticky-regex@7.18.6(@babel/core@7.21.4): + resolution: {integrity: sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.21.4 + '@babel/helper-plugin-utils': 7.20.2 + dev: true - '@babel/plugin-transform-modules-amd@7.25.9': - resolution: {integrity: sha512-g5T11tnI36jVClQlMlt4qKDLlWnG5pP9CSM4GhdRciTNMRgkfpo5cR6b4rGIOYPgRRuFAvwjPQ/Yk+ql4dyhbw==} + /@babel/plugin-transform-template-literals@7.18.9(@babel/core@7.21.4): + resolution: {integrity: sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.21.4 + '@babel/helper-plugin-utils': 7.20.2 + dev: true - '@babel/plugin-transform-modules-commonjs@7.23.0': - resolution: {integrity: sha512-32Xzss14/UVc7k9g775yMIvkVK8xwKE0DPdP5JTapr3+Z9w4tzeOuLNY6BXDQR6BdnzIlXnCGAzsk/ICHBLVWQ==} + /@babel/plugin-transform-typeof-symbol@7.18.9(@babel/core@7.21.4): + resolution: {integrity: sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.21.4 + '@babel/helper-plugin-utils': 7.20.2 + dev: true - '@babel/plugin-transform-modules-commonjs@7.26.3': - resolution: {integrity: sha512-MgR55l4q9KddUDITEzEFYn5ZsGDXMSsU9E+kh7fjRXTIC3RHqfCo8RPRbyReYJh44HQ/yomFkqbOFohXvDCiIQ==} + /@babel/plugin-transform-typescript@7.21.3(@babel/core@7.21.4): + resolution: {integrity: sha512-RQxPz6Iqt8T0uw/WsJNReuBpWpBqs/n7mNo18sKLoTbMp+UrEekhH+pKSVC7gWz+DNjo9gryfV8YzCiT45RgMw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.21.4 + '@babel/helper-annotate-as-pure': 7.18.6 + '@babel/helper-create-class-features-plugin': 7.21.4(@babel/core@7.21.4) + '@babel/helper-plugin-utils': 7.20.2 + '@babel/plugin-syntax-typescript': 7.21.4(@babel/core@7.21.4) + transitivePeerDependencies: + - supports-color + dev: true - '@babel/plugin-transform-modules-systemjs@7.25.9': - resolution: {integrity: sha512-hyss7iIlH/zLHaehT+xwiymtPOpsiwIIRlCAOwBB04ta5Tt+lNItADdlXw3jAWZ96VJ2jlhl/c+PNIQPKNfvcA==} + /@babel/plugin-transform-unicode-escapes@7.18.10(@babel/core@7.21.4): + resolution: {integrity: sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.21.4 + '@babel/helper-plugin-utils': 7.20.2 + dev: true - '@babel/plugin-transform-modules-umd@7.25.9': - resolution: {integrity: sha512-bS9MVObUgE7ww36HEfwe6g9WakQ0KF07mQF74uuXdkoziUPfKyu/nIm663kz//e5O1nPInPFx36z7WJmJ4yNEw==} + /@babel/plugin-transform-unicode-regex@7.18.6(@babel/core@7.21.4): + resolution: {integrity: sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.21.4 + '@babel/helper-create-regexp-features-plugin': 7.21.4(@babel/core@7.21.4) + '@babel/helper-plugin-utils': 7.20.2 + dev: true - '@babel/plugin-transform-named-capturing-groups-regex@7.25.9': - resolution: {integrity: sha512-oqB6WHdKTGl3q/ItQhpLSnWWOpjUJLsOCLVyeFgeTktkBSCiurvPOsyt93gibI9CmuKvTUEtWmG5VhZD+5T/KA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/plugin-transform-new-target@7.25.9': - resolution: {integrity: sha512-U/3p8X1yCSoKyUj2eOBIx3FOn6pElFOKvAAGf8HTtItuPyB+ZeOqfn+mvTtg9ZlOAjsPdK3ayQEjqHjU/yLeVQ==} + /@babel/preset-env@7.21.4(@babel/core@7.21.4): + resolution: {integrity: sha512-2W57zHs2yDLm6GD5ZpvNn71lZ0B/iypSdIeq25OurDKji6AdzV07qp4s3n1/x5BqtiGaTrPN3nerlSCaC5qNTw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/compat-data': 7.21.4 + '@babel/core': 7.21.4 + '@babel/helper-compilation-targets': 7.21.4(@babel/core@7.21.4) + '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-validator-option': 7.21.0 + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.18.6(@babel/core@7.21.4) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.20.7(@babel/core@7.21.4) + '@babel/plugin-proposal-async-generator-functions': 7.20.7(@babel/core@7.21.4) + '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.21.4) + '@babel/plugin-proposal-class-static-block': 7.21.0(@babel/core@7.21.4) + '@babel/plugin-proposal-dynamic-import': 7.18.6(@babel/core@7.21.4) + '@babel/plugin-proposal-export-namespace-from': 7.18.9(@babel/core@7.21.4) + '@babel/plugin-proposal-json-strings': 7.18.6(@babel/core@7.21.4) + '@babel/plugin-proposal-logical-assignment-operators': 7.20.7(@babel/core@7.21.4) + '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.21.4) + '@babel/plugin-proposal-numeric-separator': 7.18.6(@babel/core@7.21.4) + '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.21.4) + '@babel/plugin-proposal-optional-catch-binding': 7.18.6(@babel/core@7.21.4) + '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.21.4) + '@babel/plugin-proposal-private-methods': 7.18.6(@babel/core@7.21.4) + '@babel/plugin-proposal-private-property-in-object': 7.21.0(@babel/core@7.21.4) + '@babel/plugin-proposal-unicode-property-regex': 7.18.6(@babel/core@7.21.4) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.21.4) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.21.4) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.21.4) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.21.4) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.21.4) + '@babel/plugin-syntax-import-assertions': 7.20.0(@babel/core@7.21.4) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.21.4) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.21.4) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.21.4) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.21.4) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.21.4) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.21.4) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.21.4) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.21.4) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.21.4) + '@babel/plugin-transform-arrow-functions': 7.20.7(@babel/core@7.21.4) + '@babel/plugin-transform-async-to-generator': 7.20.7(@babel/core@7.21.4) + '@babel/plugin-transform-block-scoped-functions': 7.18.6(@babel/core@7.21.4) + '@babel/plugin-transform-block-scoping': 7.21.0(@babel/core@7.21.4) + '@babel/plugin-transform-classes': 7.21.0(@babel/core@7.21.4) + '@babel/plugin-transform-computed-properties': 7.20.7(@babel/core@7.21.4) + '@babel/plugin-transform-destructuring': 7.21.3(@babel/core@7.21.4) + '@babel/plugin-transform-dotall-regex': 7.18.6(@babel/core@7.21.4) + '@babel/plugin-transform-duplicate-keys': 7.18.9(@babel/core@7.21.4) + '@babel/plugin-transform-exponentiation-operator': 7.18.6(@babel/core@7.21.4) + '@babel/plugin-transform-for-of': 7.21.0(@babel/core@7.21.4) + '@babel/plugin-transform-function-name': 7.18.9(@babel/core@7.21.4) + '@babel/plugin-transform-literals': 7.18.9(@babel/core@7.21.4) + '@babel/plugin-transform-member-expression-literals': 7.18.6(@babel/core@7.21.4) + '@babel/plugin-transform-modules-amd': 7.20.11(@babel/core@7.21.4) + '@babel/plugin-transform-modules-commonjs': 7.21.2(@babel/core@7.21.4) + '@babel/plugin-transform-modules-systemjs': 7.20.11(@babel/core@7.21.4) + '@babel/plugin-transform-modules-umd': 7.18.6(@babel/core@7.21.4) + '@babel/plugin-transform-named-capturing-groups-regex': 7.20.5(@babel/core@7.21.4) + '@babel/plugin-transform-new-target': 7.18.6(@babel/core@7.21.4) + '@babel/plugin-transform-object-super': 7.18.6(@babel/core@7.21.4) + '@babel/plugin-transform-parameters': 7.21.3(@babel/core@7.21.4) + '@babel/plugin-transform-property-literals': 7.18.6(@babel/core@7.21.4) + '@babel/plugin-transform-regenerator': 7.20.5(@babel/core@7.21.4) + '@babel/plugin-transform-reserved-words': 7.18.6(@babel/core@7.21.4) + '@babel/plugin-transform-shorthand-properties': 7.18.6(@babel/core@7.21.4) + '@babel/plugin-transform-spread': 7.20.7(@babel/core@7.21.4) + '@babel/plugin-transform-sticky-regex': 7.18.6(@babel/core@7.21.4) + '@babel/plugin-transform-template-literals': 7.18.9(@babel/core@7.21.4) + '@babel/plugin-transform-typeof-symbol': 7.18.9(@babel/core@7.21.4) + '@babel/plugin-transform-unicode-escapes': 7.18.10(@babel/core@7.21.4) + '@babel/plugin-transform-unicode-regex': 7.18.6(@babel/core@7.21.4) + '@babel/preset-modules': 0.1.5(@babel/core@7.21.4) + '@babel/types': 7.21.4 + babel-plugin-polyfill-corejs2: 0.3.3(@babel/core@7.21.4) + babel-plugin-polyfill-corejs3: 0.6.0(@babel/core@7.21.4) + babel-plugin-polyfill-regenerator: 0.4.1(@babel/core@7.21.4) + core-js-compat: 3.30.0 + semver: 6.3.0 + transitivePeerDependencies: + - supports-color + dev: true - '@babel/plugin-transform-nullish-coalescing-operator@7.25.9': - resolution: {integrity: sha512-ENfftpLZw5EItALAD4WsY/KUWvhUlZndm5GC7G3evUsVeSJB6p0pBeLQUnRnBCBx7zV0RKQjR9kCuwrsIrjWog==} - engines: {node: '>=6.9.0'} + /@babel/preset-modules@0.1.5(@babel/core@7.21.4): + resolution: {integrity: sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.21.4 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/plugin-proposal-unicode-property-regex': 7.18.6(@babel/core@7.21.4) + '@babel/plugin-transform-dotall-regex': 7.18.6(@babel/core@7.21.4) + '@babel/types': 7.21.4 + esutils: 2.0.3 + dev: true - '@babel/plugin-transform-numeric-separator@7.25.9': - resolution: {integrity: sha512-TlprrJ1GBZ3r6s96Yq8gEQv82s8/5HnCVHtEJScUj90thHQbwe+E5MLhi2bbNHBEJuzrvltXSru+BUxHDoog7Q==} + /@babel/regjsgen@0.8.0: + resolution: {integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==} + dev: true + + /@babel/runtime@7.21.0: + resolution: {integrity: sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw==} engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + dependencies: + regenerator-runtime: 0.13.11 - '@babel/plugin-transform-object-rest-spread@7.25.9': - resolution: {integrity: sha512-fSaXafEE9CVHPweLYw4J0emp1t8zYTXyzN3UuG+lylqkvYd7RMrsOQ8TYx5RF231be0vqtFC6jnx3UmpJmKBYg==} + /@babel/template@7.20.7: + resolution: {integrity: sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==} engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + dependencies: + '@babel/code-frame': 7.21.4 + '@babel/parser': 7.21.4 + '@babel/types': 7.21.4 + dev: true - '@babel/plugin-transform-object-super@7.25.9': - resolution: {integrity: sha512-Kj/Gh+Rw2RNLbCK1VAWj2U48yxxqL2x0k10nPtSdRa0O2xnHXalD0s+o1A6a0W43gJ00ANo38jxkQreckOzv5A==} + /@babel/traverse@7.21.4: + resolution: {integrity: sha512-eyKrRHKdyZxqDm+fV1iqL9UAHMoIg0nDaGqfIOd8rKH17m5snv7Gn4qgjBoFfLz9APvjFU/ICT00NVCv1Epp8Q==} engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + dependencies: + '@babel/code-frame': 7.21.4 + '@babel/generator': 7.21.4 + '@babel/helper-environment-visitor': 7.18.9 + '@babel/helper-function-name': 7.21.0 + '@babel/helper-hoist-variables': 7.18.6 + '@babel/helper-split-export-declaration': 7.18.6 + '@babel/parser': 7.21.4 + '@babel/types': 7.21.4 + debug: 4.3.4 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + dev: true - '@babel/plugin-transform-optional-catch-binding@7.25.9': - resolution: {integrity: sha512-qM/6m6hQZzDcZF3onzIhZeDHDO43bkNNlOX0i8n3lR6zLbu0GN2d8qfM/IERJZYauhAHSLHy39NF0Ctdvcid7g==} + /@babel/types@7.21.4: + resolution: {integrity: sha512-rU2oY501qDxE8Pyo7i/Orqma4ziCOrby0/9mvbDUGEfvZjb279Nk9k19e2fiCxHbRRpY2ZyrgW1eq22mvmOIzA==} engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + dependencies: + '@babel/helper-string-parser': 7.19.4 + '@babel/helper-validator-identifier': 7.19.1 + to-fast-properties: 2.0.0 - '@babel/plugin-transform-optional-chaining@7.25.9': - resolution: {integrity: sha512-6AvV0FsLULbpnXeBjrY4dmWF8F7gf8QnvTEoO/wX/5xm/xE1Xo8oPuD3MPS+KS9f9XBEAWN7X1aWr4z9HdOr7A==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + /@bcoe/v8-coverage@0.2.3: + resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} + dev: true - '@babel/plugin-transform-parameters@7.25.9': - resolution: {integrity: sha512-wzz6MKwpnshBAiRmn4jR8LYz/g8Ksg0o80XmwZDlordjwEk9SxBzTWC7F5ef1jhbrbOW2DJ5J6ayRukrJmnr0g==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-private-methods@7.25.9': - resolution: {integrity: sha512-D/JUozNpQLAPUVusvqMxyvjzllRaF8/nSrP1s2YGQT/W4LHK4xxsMcHjhOGTS01mp9Hda8nswb+FblLdJornQw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-private-property-in-object@7.25.9': - resolution: {integrity: sha512-Evf3kcMqzXA3xfYJmZ9Pg1OvKdtqsDMSWBDzZOPLvHiTt36E75jLDQo5w1gtRU95Q4E5PDttrTf25Fw8d/uWLw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-property-literals@7.25.9': - resolution: {integrity: sha512-IvIUeV5KrS/VPavfSM/Iu+RE6llrHrYIKY1yfCzyO/lMXHQ+p7uGhonmGVisv6tSBSVgWzMBohTcvkC9vQcQFA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-regenerator@7.25.9': - resolution: {integrity: sha512-vwDcDNsgMPDGP0nMqzahDWE5/MLcX8sv96+wfX7as7LoF/kr97Bo/7fI00lXY4wUXYfVmwIIyG80fGZ1uvt2qg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-regexp-modifiers@7.26.0': - resolution: {integrity: sha512-vN6saax7lrA2yA/Pak3sCxuD6F5InBjn9IcrIKQPjpsLvuHYLVroTxjdlVRHjjBWxKOqIwpTXDkOssYT4BFdRw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/plugin-transform-reserved-words@7.25.9': - resolution: {integrity: sha512-7DL7DKYjn5Su++4RXu8puKZm2XBPHyjWLUidaPEkCUBbE7IPcsrkRHggAOOKydH1dASWdcUBxrkOGNxUv5P3Jg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-shorthand-properties@7.25.9': - resolution: {integrity: sha512-MUv6t0FhO5qHnS/W8XCbHmiRWOphNufpE1IVxhK5kuN3Td9FT1x4rx4K42s3RYdMXCXpfWkGSbCSd0Z64xA7Ng==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-spread@7.25.9': - resolution: {integrity: sha512-oNknIB0TbURU5pqJFVbOOFspVlrpVwo2H1+HUIsVDvp5VauGGDP1ZEvO8Nn5xyMEs3dakajOxlmkNW7kNgSm6A==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-sticky-regex@7.25.9': - resolution: {integrity: sha512-WqBUSgeVwucYDP9U/xNRQam7xV8W5Zf+6Eo7T2SRVUFlhRiMNFdFz58u0KZmCVVqs2i7SHgpRnAhzRNmKfi2uA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-template-literals@7.25.9': - resolution: {integrity: sha512-o97AE4syN71M/lxrCtQByzphAdlYluKPDBzDVzMmfCobUjjhAryZV0AIpRPrxN0eAkxXO6ZLEScmt+PNhj2OTw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-typeof-symbol@7.25.9': - resolution: {integrity: sha512-v61XqUMiueJROUv66BVIOi0Fv/CUuZuZMl5NkRoCVxLAnMexZ0A3kMe7vvZ0nulxMuMp0Mk6S5hNh48yki08ZA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-typescript@7.22.10': - resolution: {integrity: sha512-7++c8I/ymsDo4QQBAgbraXLzIM6jmfao11KgIBEYZRReWzNWH9NtNgJcyrZiXsOPh523FQm6LfpLyy/U5fn46A==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-unicode-escapes@7.25.9': - resolution: {integrity: sha512-s5EDrE6bW97LtxOcGj1Khcx5AaXwiMmi4toFWRDP9/y0Woo6pXC+iyPu/KuhKtfSrNFd7jJB+/fkOtZy6aIC6Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-unicode-property-regex@7.25.9': - resolution: {integrity: sha512-Jt2d8Ga+QwRluxRQ307Vlxa6dMrYEMZCgGxoPR8V52rxPyldHu3hdlHspxaqYmE7oID5+kB+UKUB/eWS+DkkWg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-unicode-regex@7.25.9': - resolution: {integrity: sha512-yoxstj7Rg9dlNn9UQxzk4fcNivwv4nUYz7fYXBaKxvw/lnmPuOm/ikoELygbYq68Bls3D/D+NBPHiLwZdZZ4HA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-unicode-sets-regex@7.25.9': - resolution: {integrity: sha512-8BYqO3GeVNHtx69fdPshN3fnzUNLrWdHhk/icSwigksJGczKSizZ+Z6SBCxTs723Fr5VSNorTIK7a+R2tISvwQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/preset-env@7.26.0': - resolution: {integrity: sha512-H84Fxq0CQJNdPFT2DrfnylZ3cf5K43rGfWK4LJGPpjKHiZlk0/RzwEus3PDDZZg+/Er7lCA03MVacueUuXdzfw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/preset-modules@0.1.6-no-external-plugins': - resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==} - peerDependencies: - '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 - - '@babel/runtime@7.22.10': - resolution: {integrity: sha512-21t/fkKLMZI4pqP2wlmsQAWnYW1PDyKyyUV4vCi+B25ydmdaYTKXPwCj0BzSUnZf4seIiYvSA3jcZ3gdsMFkLQ==} - engines: {node: '>=6.9.0'} - - '@babel/runtime@7.23.2': - resolution: {integrity: sha512-mM8eg4yl5D6i3lu2QKPuPH4FArvJ8KhTofbE7jwMUv9KX5mBvwPAqnV3MlyBNqdp9RyRKP6Yck8TrfYrPvX3bg==} - engines: {node: '>=6.9.0'} - - '@babel/runtime@7.26.0': - resolution: {integrity: sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==} - engines: {node: '>=6.9.0'} - - '@babel/template@7.22.15': - resolution: {integrity: sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==} - engines: {node: '>=6.9.0'} - - '@babel/template@7.22.5': - resolution: {integrity: sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==} - engines: {node: '>=6.9.0'} - - '@babel/template@7.25.9': - resolution: {integrity: sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==} - engines: {node: '>=6.9.0'} - - '@babel/traverse@7.22.10': - resolution: {integrity: sha512-Q/urqV4pRByiNNpb/f5OSv28ZlGJiFiiTh+GAHktbIrkPhPbl90+uW6SmpoLyZqutrg9AEaEf3Q/ZBRHBXgxig==} - engines: {node: '>=6.9.0'} - - '@babel/traverse@7.22.5': - resolution: {integrity: sha512-7DuIjPgERaNo6r+PZwItpjCZEa5vyw4eJGufeLxrPdBXBoLcCJCIasvK6pK/9DVNrLZTLFhUGqaC6X/PA007TQ==} - engines: {node: '>=6.9.0'} - - '@babel/traverse@7.23.2': - resolution: {integrity: sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==} - engines: {node: '>=6.9.0'} - - '@babel/traverse@7.26.4': - resolution: {integrity: sha512-fH+b7Y4p3yqvApJALCPJcwb0/XaOSgtK4pzV6WVjPR5GLFQBRI7pfoX2V2iM48NXvX07NUxxm1Vw98YjqTcU5w==} - engines: {node: '>=6.9.0'} - - '@babel/types@7.22.10': - resolution: {integrity: sha512-obaoigiLrlDZ7TUQln/8m4mSqIW2QFeOrCQc9r+xsaHGNoplVNYlRVpsfE8Vj35GEm2ZH4ZhrNYogs/3fj85kg==} - engines: {node: '>=6.9.0'} - - '@babel/types@7.22.5': - resolution: {integrity: sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA==} - engines: {node: '>=6.9.0'} - - '@babel/types@7.23.0': - resolution: {integrity: sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==} - engines: {node: '>=6.9.0'} - - '@babel/types@7.26.3': - resolution: {integrity: sha512-vN5p+1kl59GVKMvTHt55NzzmYVxprfJD+ql7U9NFIfKCBkYE55LYtS+WtPlaYOyzydrKI8Nezd+aZextrd+FMA==} - engines: {node: '>=6.9.0'} - - '@css-render/plugin-bem@0.15.12': + /@css-render/plugin-bem@0.15.12(css-render@0.15.12): resolution: {integrity: sha512-Lq2jSOZn+wYQtsyaFj6QRz2EzAnd3iW5fZeHO1WSXQdVYwvwGX0ZiH3X2JQgtgYLT1yeGtrwrqJdNdMEUD2xTw==} peerDependencies: css-render: ~0.15.12 + dependencies: + css-render: 0.15.12 + dev: false - '@css-render/vue3-ssr@0.15.12': + /@css-render/vue3-ssr@0.15.12(vue@3.2.47): resolution: {integrity: sha512-AQLGhhaE0F+rwybRCkKUdzBdTEM/5PZBYy+fSYe1T9z9+yxMuV/k7ZRqa4M69X+EI1W8pa4kc9Iq2VjQkZx4rg==} peerDependencies: vue: ^3.0.11 + dependencies: + vue: 3.2.47 + dev: false - '@emotion/hash@0.8.0': + /@emmetio/abbreviation@2.3.1: + resolution: {integrity: sha512-QXgYlXZGprqb6aCBJPPWVBN/Jb69khJF73GGJkOk//PoMgSbPGuaHn1hCRolctnzlBHjCIC6Om97Pw46/1A23g==} + dependencies: + '@emmetio/scanner': 1.0.2 + dev: true + + /@emmetio/css-abbreviation@2.1.6: + resolution: {integrity: sha512-bvuPogt0OvwcILRg+ZD/oej1H72xwOhUDPWOmhCWLJrZZ8bMTazsWnvw8a8noaaVqUhOE9PsC0tYgGVv5N7fsw==} + dependencies: + '@emmetio/scanner': 1.0.2 + dev: true + + /@emmetio/scanner@1.0.2: + resolution: {integrity: sha512-1ESCGgXRgn1r29hRmz8K0G4Ywr5jDWezMgRnICComBCWmg3znLWU8+tmakuM1og1Vn4W/sauvlABl/oq2pve8w==} + dev: true + + /@emotion/hash@0.8.0: resolution: {integrity: sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==} + dev: false - '@esbuild/aix-ppc64@0.23.1': - resolution: {integrity: sha512-6VhYk1diRqrhBAqpJEdjASR/+WVRtfjpqKuNw11cLiaWpAT/Uu+nokB+UJnevzy/P9C/ty6AOe0dwueMrGh/iQ==} - engines: {node: '>=18'} - cpu: [ppc64] - os: [aix] - - '@esbuild/android-arm64@0.18.20': - resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==} - engines: {node: '>=12'} - cpu: [arm64] - os: [android] - - '@esbuild/android-arm64@0.23.1': - resolution: {integrity: sha512-xw50ipykXcLstLeWH7WRdQuysJqejuAGPd30vd1i5zSyKK3WE+ijzHmLKxdiCMtH1pHz78rOg0BKSYOSB/2Khw==} - engines: {node: '>=18'} - cpu: [arm64] - os: [android] - - '@esbuild/android-arm@0.18.20': - resolution: {integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==} - engines: {node: '>=12'} - cpu: [arm] - os: [android] - - '@esbuild/android-arm@0.23.1': - resolution: {integrity: sha512-uz6/tEy2IFm9RYOyvKl88zdzZfwEfKZmnX9Cj1BHjeSGNuGLuMD1kR8y5bteYmwqKm1tj8m4cb/aKEorr6fHWQ==} - engines: {node: '>=18'} - cpu: [arm] - os: [android] - - '@esbuild/android-x64@0.18.20': - resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==} - engines: {node: '>=12'} - cpu: [x64] - os: [android] - - '@esbuild/android-x64@0.23.1': - resolution: {integrity: sha512-nlN9B69St9BwUoB+jkyU090bru8L0NA3yFvAd7k8dNsVH8bi9a8cUAUSEcEEgTp2z3dbEDGJGfP6VUnkQnlReg==} - engines: {node: '>=18'} - cpu: [x64] - os: [android] - - '@esbuild/darwin-arm64@0.18.20': - resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [darwin] - - '@esbuild/darwin-arm64@0.23.1': - resolution: {integrity: sha512-YsS2e3Wtgnw7Wq53XXBLcV6JhRsEq8hkfg91ESVadIrzr9wO6jJDMZnCQbHm1Guc5t/CdDiFSSfWP58FNuvT3Q==} - engines: {node: '>=18'} - cpu: [arm64] - os: [darwin] - - '@esbuild/darwin-x64@0.18.20': - resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [darwin] - - '@esbuild/darwin-x64@0.23.1': - resolution: {integrity: sha512-aClqdgTDVPSEGgoCS8QDG37Gu8yc9lTHNAQlsztQ6ENetKEO//b8y31MMu2ZaPbn4kVsIABzVLXYLhCGekGDqw==} - engines: {node: '>=18'} - cpu: [x64] - os: [darwin] - - '@esbuild/freebsd-arm64@0.18.20': - resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==} - engines: {node: '>=12'} - cpu: [arm64] - os: [freebsd] - - '@esbuild/freebsd-arm64@0.23.1': - resolution: {integrity: sha512-h1k6yS8/pN/NHlMl5+v4XPfikhJulk4G+tKGFIOwURBSFzE8bixw1ebjluLOjfwtLqY0kewfjLSrO6tN2MgIhA==} - engines: {node: '>=18'} - cpu: [arm64] - os: [freebsd] - - '@esbuild/freebsd-x64@0.18.20': - resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [freebsd] - - '@esbuild/freebsd-x64@0.23.1': - resolution: {integrity: sha512-lK1eJeyk1ZX8UklqFd/3A60UuZ/6UVfGT2LuGo3Wp4/z7eRTRYY+0xOu2kpClP+vMTi9wKOfXi2vjUpO1Ro76g==} - engines: {node: '>=18'} - cpu: [x64] - os: [freebsd] - - '@esbuild/linux-arm64@0.18.20': - resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [linux] - - '@esbuild/linux-arm64@0.23.1': - resolution: {integrity: sha512-/93bf2yxencYDnItMYV/v116zff6UyTjo4EtEQjUBeGiVpMmffDNUyD9UN2zV+V3LRV3/on4xdZ26NKzn6754g==} - engines: {node: '>=18'} - cpu: [arm64] - os: [linux] - - '@esbuild/linux-arm@0.18.20': - resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==} - engines: {node: '>=12'} - cpu: [arm] - os: [linux] - - '@esbuild/linux-arm@0.23.1': - resolution: {integrity: sha512-CXXkzgn+dXAPs3WBwE+Kvnrf4WECwBdfjfeYHpMeVxWE0EceB6vhWGShs6wi0IYEqMSIzdOF1XjQ/Mkm5d7ZdQ==} - engines: {node: '>=18'} - cpu: [arm] - os: [linux] - - '@esbuild/linux-ia32@0.18.20': - resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==} - engines: {node: '>=12'} - cpu: [ia32] - os: [linux] - - '@esbuild/linux-ia32@0.23.1': - resolution: {integrity: sha512-VTN4EuOHwXEkXzX5nTvVY4s7E/Krz7COC8xkftbbKRYAl96vPiUssGkeMELQMOnLOJ8k3BY1+ZY52tttZnHcXQ==} - engines: {node: '>=18'} - cpu: [ia32] - os: [linux] - - '@esbuild/linux-loong64@0.18.20': - resolution: {integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==} + /@esbuild/linux-loong64@0.14.54: + resolution: {integrity: sha512-bZBrLAIX1kpWelV0XemxBZllyRmM6vgFQQG2GdNb+r3Fkp0FOh1NJSvekXDs7jq70k4euu1cryLMfU+mTXlEpw==} engines: {node: '>=12'} cpu: [loong64] os: [linux] + requiresBuild: true + dev: true + optional: true - '@esbuild/linux-loong64@0.23.1': - resolution: {integrity: sha512-Vx09LzEoBa5zDnieH8LSMRToj7ir/Jeq0Gu6qJ/1GcBq9GkfoEAoXvLiW1U9J1qE/Y/Oyaq33w5p2ZWrNNHNEw==} - engines: {node: '>=18'} - cpu: [loong64] - os: [linux] - - '@esbuild/linux-mips64el@0.18.20': - resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==} - engines: {node: '>=12'} - cpu: [mips64el] - os: [linux] - - '@esbuild/linux-mips64el@0.23.1': - resolution: {integrity: sha512-nrFzzMQ7W4WRLNUOU5dlWAqa6yVeI0P78WKGUo7lg2HShq/yx+UYkeNSE0SSfSure0SqgnsxPvmAUu/vu0E+3Q==} - engines: {node: '>=18'} - cpu: [mips64el] - os: [linux] - - '@esbuild/linux-ppc64@0.18.20': - resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [linux] - - '@esbuild/linux-ppc64@0.23.1': - resolution: {integrity: sha512-dKN8fgVqd0vUIjxuJI6P/9SSSe/mB9rvA98CSH2sJnlZ/OCZWO1DJvxj8jvKTfYUdGfcq2dDxoKaC6bHuTlgcw==} - engines: {node: '>=18'} - cpu: [ppc64] - os: [linux] - - '@esbuild/linux-riscv64@0.18.20': - resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==} - engines: {node: '>=12'} - cpu: [riscv64] - os: [linux] - - '@esbuild/linux-riscv64@0.23.1': - resolution: {integrity: sha512-5AV4Pzp80fhHL83JM6LoA6pTQVWgB1HovMBsLQ9OZWLDqVY8MVobBXNSmAJi//Csh6tcY7e7Lny2Hg1tElMjIA==} - engines: {node: '>=18'} - cpu: [riscv64] - os: [linux] - - '@esbuild/linux-s390x@0.18.20': - resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==} - engines: {node: '>=12'} - cpu: [s390x] - os: [linux] - - '@esbuild/linux-s390x@0.23.1': - resolution: {integrity: sha512-9ygs73tuFCe6f6m/Tb+9LtYxWR4c9yg7zjt2cYkjDbDpV/xVn+68cQxMXCjUpYwEkze2RcU/rMnfIXNRFmSoDw==} - engines: {node: '>=18'} - cpu: [s390x] - os: [linux] - - '@esbuild/linux-x64@0.18.20': - resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==} - engines: {node: '>=12'} - cpu: [x64] - os: [linux] - - '@esbuild/linux-x64@0.23.1': - resolution: {integrity: sha512-EV6+ovTsEXCPAp58g2dD68LxoP/wK5pRvgy0J/HxPGB009omFPv3Yet0HiaqvrIrgPTBuC6wCH1LTOY91EO5hQ==} - engines: {node: '>=18'} - cpu: [x64] - os: [linux] - - '@esbuild/netbsd-x64@0.18.20': - resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==} - engines: {node: '>=12'} - cpu: [x64] - os: [netbsd] - - '@esbuild/netbsd-x64@0.23.1': - resolution: {integrity: sha512-aevEkCNu7KlPRpYLjwmdcuNz6bDFiE7Z8XC4CPqExjTvrHugh28QzUXVOZtiYghciKUacNktqxdpymplil1beA==} - engines: {node: '>=18'} - cpu: [x64] - os: [netbsd] - - '@esbuild/openbsd-arm64@0.23.1': - resolution: {integrity: sha512-3x37szhLexNA4bXhLrCC/LImN/YtWis6WXr1VESlfVtVeoFJBRINPJ3f0a/6LV8zpikqoUg4hyXw0sFBt5Cr+Q==} - engines: {node: '>=18'} - cpu: [arm64] - os: [openbsd] - - '@esbuild/openbsd-x64@0.18.20': - resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==} - engines: {node: '>=12'} - cpu: [x64] - os: [openbsd] - - '@esbuild/openbsd-x64@0.23.1': - resolution: {integrity: sha512-aY2gMmKmPhxfU+0EdnN+XNtGbjfQgwZj43k8G3fyrDM/UdZww6xrWxmDkuz2eCZchqVeABjV5BpildOrUbBTqA==} - engines: {node: '>=18'} - cpu: [x64] - os: [openbsd] - - '@esbuild/sunos-x64@0.18.20': - resolution: {integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [sunos] - - '@esbuild/sunos-x64@0.23.1': - resolution: {integrity: sha512-RBRT2gqEl0IKQABT4XTj78tpk9v7ehp+mazn2HbUeZl1YMdaGAQqhapjGTCe7uw7y0frDi4gS0uHzhvpFuI1sA==} - engines: {node: '>=18'} - cpu: [x64] - os: [sunos] - - '@esbuild/win32-arm64@0.18.20': - resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==} - engines: {node: '>=12'} - cpu: [arm64] - os: [win32] - - '@esbuild/win32-arm64@0.23.1': - resolution: {integrity: sha512-4O+gPR5rEBe2FpKOVyiJ7wNDPA8nGzDuJ6gN4okSA1gEOYZ67N8JPk58tkWtdtPeLz7lBnY6I5L3jdsr3S+A6A==} - engines: {node: '>=18'} - cpu: [arm64] - os: [win32] - - '@esbuild/win32-ia32@0.18.20': - resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==} - engines: {node: '>=12'} - cpu: [ia32] - os: [win32] - - '@esbuild/win32-ia32@0.23.1': - resolution: {integrity: sha512-BcaL0Vn6QwCwre3Y717nVHZbAa4UBEigzFm6VdsVdT/MbZ38xoj1X9HPkZhbmaBGUD1W8vxAfffbDe8bA6AKnQ==} - engines: {node: '>=18'} - cpu: [ia32] - os: [win32] - - '@esbuild/win32-x64@0.18.20': - resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [win32] - - '@esbuild/win32-x64@0.23.1': - resolution: {integrity: sha512-BHpFFeslkWrXWyUPnbKm+xYYVYruCinGcftSBaa8zoF9hZO4BcSCFUvHVTtzpIY6YzUnYtuEhZ+C9iEXjxnasg==} - engines: {node: '>=18'} - cpu: [x64] - os: [win32] - - '@eslint-community/eslint-utils@4.4.0': + /@eslint-community/eslint-utils@4.4.0(eslint@8.38.0): resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + dependencies: + eslint: 8.38.0 + eslint-visitor-keys: 3.4.0 + dev: true - '@eslint-community/regexpp@4.6.2': - resolution: {integrity: sha512-pPTNuaAG3QMH+buKyBIGJs3g/S5y0caxw0ygM3YyE6yJFySwiGGSzA+mM3KJ8QQvzeLh3blwgSonkFjgQdxzMw==} + /@eslint-community/regexpp@4.5.0: + resolution: {integrity: sha512-vITaYzIcNmjn5tF5uxcZ/ft7/RXGrMUIS9HalWckEOF6ESiwXKoMzAQf2UW0aVd6rnOeExTJVd5hmWXucBKGXQ==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + dev: true - '@eslint/eslintrc@2.1.2': - resolution: {integrity: sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==} + /@eslint/eslintrc@2.0.2: + resolution: {integrity: sha512-3W4f5tDUra+pA+FzgugqL2pRimUTDJWKr7BINqOpkZrC0uYI0NIc0/JFgBROCU07HR6GieA5m3/rsPIhDmCXTQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + ajv: 6.12.6 + debug: 4.3.4 + espree: 9.5.1 + globals: 13.20.0 + ignore: 5.2.4 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + dev: true - '@eslint/js@8.47.0': - resolution: {integrity: sha512-P6omY1zv5MItm93kLM8s2vr1HICJH8v0dvddDhysbIuZ+vcjOHg5Zbkf1mTkcmi2JA9oBG2anOkRnW8WJTS8Og==} + /@eslint/js@8.38.0: + resolution: {integrity: sha512-IoD2MfUnOV58ghIHCiil01PcohxjbYR/qCxsoC+xNgUwh1EY8jOOrYmu3d3a71+tJJ23uscEV4X2HJWMsPJu4g==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true - '@humanwhocodes/config-array@0.11.10': - resolution: {integrity: sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==} + /@hapi/hoek@9.3.0: + resolution: {integrity: sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==} + dev: true + + /@hapi/topo@5.1.0: + resolution: {integrity: sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==} + dependencies: + '@hapi/hoek': 9.3.0 + dev: true + + /@humanwhocodes/config-array@0.11.8: + resolution: {integrity: sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==} engines: {node: '>=10.10.0'} + dependencies: + '@humanwhocodes/object-schema': 1.2.1 + debug: 4.3.4 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + dev: true - '@humanwhocodes/module-importer@1.0.1': + /@humanwhocodes/module-importer@1.0.1: resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} engines: {node: '>=12.22'} + dev: true - '@humanwhocodes/object-schema@1.2.1': + /@humanwhocodes/object-schema@1.2.1: resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} + dev: true - '@iconify-json/mdi@1.1.50': - resolution: {integrity: sha512-SgbT5w5eHCdOG74ZWPz7HlTGk6VsifIJhNi6lAsxj/5Nlqt6Cz4LlQmSa9eecU9p075Jub2aAx/o7YI+GCahRQ==} - - '@iconify/types@2.0.0': + /@iconify/types@2.0.0: resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} + dev: true - '@iconify/utils@2.1.9': - resolution: {integrity: sha512-mo+A4n3MwLlWlg1SoSO+Dt6pOPWKElk9sSJ6ZpuzbB9OcjxN8RUWxU3ulPwB1nglErWKRam2x4BAohbYF7FiFA==} + /@iconify/utils@2.1.5: + resolution: {integrity: sha512-6MvDI+I6QMvXn5rK9KQGdpEE4mmLTcuQdLZEiX5N+uZB+vc4Yw9K1OtnOgkl8mp4d9X0UrILREyZgF1NUwUt+Q==} + dependencies: + '@antfu/install-pkg': 0.1.1 + '@antfu/utils': 0.7.2 + '@iconify/types': 2.0.0 + debug: 4.3.4 + kolorist: 1.7.0 + local-pkg: 0.4.3 + transitivePeerDependencies: + - supports-color + dev: true - '@iconify/utils@2.2.0': - resolution: {integrity: sha512-9A5eZQV9eKlNCXlI/SgYsGRS7YmGmB1oAsRpNVIYBmIzGJRgH+hfG+lo4069s+GFWFNnBAtDg10c53vQZBLfnA==} + /@istanbuljs/schema@0.1.3: + resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} + engines: {node: '>=8'} + dev: true - '@intlify/bundle-utils@7.5.0': - resolution: {integrity: sha512-6DymqusddBQ8kVtVBsVFFF7arNfIhuLacOmmsqayT2vl427j9m0VX12mMC+cgoVIodSpRfzYPaPTdPuJq7mK0Q==} - engines: {node: '>= 14.16'} - peerDependencies: - petite-vue-i18n: '*' - vue-i18n: '*' - peerDependenciesMeta: - petite-vue-i18n: - optional: true - vue-i18n: - optional: true - - '@intlify/core-base@9.9.1': - resolution: {integrity: sha512-qsV15dg7jNX2faBRyKMgZS8UcFJViWEUPLdzZ9UR0kQZpFVeIpc0AG7ZOfeP7pX2T9SQ5jSiorq/tii9nkkafA==} - engines: {node: '>= 16'} - - '@intlify/message-compiler@9.9.1': - resolution: {integrity: sha512-zTvP6X6HeumHOXuAE1CMMsV6tTX+opKMOxO1OHTCg5N5Sm/F7d8o2jdT6W6L5oHUsJ/vvkGefHIs7Q3hfowmsA==} - engines: {node: '>= 16'} - - '@intlify/shared@9.9.1': - resolution: {integrity: sha512-b3Pta1nwkz5rGq434v0psHwEwHGy1pYCttfcM22IE//K9owbpkEvFptx9VcuRAxjQdrO2If249cmDDjBu5wMDA==} - engines: {node: '>= 16'} - - '@intlify/unplugin-vue-i18n@2.0.0': - resolution: {integrity: sha512-1oKvm92L9l2od2H9wKx2ZvR4tzn7gUtd7bPLI7AWUmm7U9H1iEypndt5d985ypxGsEs0gToDaKTrytbBIJwwSg==} - engines: {node: '>= 14.16'} - peerDependencies: - petite-vue-i18n: '*' - vue-i18n: '*' - vue-i18n-bridge: '*' - peerDependenciesMeta: - petite-vue-i18n: - optional: true - vue-i18n: - optional: true - vue-i18n-bridge: - optional: true - - '@it-tools/bip39@0.0.4': + /@it-tools/bip39@0.0.4: resolution: {integrity: sha512-0PWO7VKi6VALiFcm8z2WgxzSZ5wAko0OctBZ0I5+jjtSIXm3t1d54yrrHfgFOZDTyMpCXi638oLpzqexcfRtbA==} + dependencies: + js-sha256: 0.9.0 + nanoid: 3.3.6 + dev: false - '@it-tools/oggen@1.3.0': + /@it-tools/oggen@1.3.0: resolution: {integrity: sha512-hvPn0mDkbJvA6jDxV3Xw+MIermq+QyrQpUq86KkZXaWLfCIDnLVp3hBmdxpxU4NIckXj5/7eeVg5CvW0kpQBTw==} + dev: false - '@jest/schemas@29.6.0': - resolution: {integrity: sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - '@jridgewell/gen-mapping@0.3.3': + /@jridgewell/gen-mapping@0.3.3: resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==} engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/set-array': 1.1.2 + '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/trace-mapping': 0.3.18 + dev: true - '@jridgewell/gen-mapping@0.3.8': - resolution: {integrity: sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==} - engines: {node: '>=6.0.0'} - - '@jridgewell/resolve-uri@3.1.0': + /@jridgewell/resolve-uri@3.1.0: resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} engines: {node: '>=6.0.0'} + dev: true - '@jridgewell/resolve-uri@3.1.1': - resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==} - engines: {node: '>=6.0.0'} - - '@jridgewell/resolve-uri@3.1.2': - resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} - engines: {node: '>=6.0.0'} - - '@jridgewell/set-array@1.1.2': + /@jridgewell/set-array@1.1.2: resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} engines: {node: '>=6.0.0'} + dev: true - '@jridgewell/set-array@1.2.1': - resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} - engines: {node: '>=6.0.0'} + /@jridgewell/source-map@0.3.3: + resolution: {integrity: sha512-b+fsZXeLYi9fEULmfBrhxn4IrPlINf8fiNarzTof004v3lFdntdwa9PF7vFJqm3mg7s+ScJMxXaE3Acp1irZcg==} + dependencies: + '@jridgewell/gen-mapping': 0.3.3 + '@jridgewell/trace-mapping': 0.3.18 + dev: true - '@jridgewell/source-map@0.3.6': - resolution: {integrity: sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==} - - '@jridgewell/sourcemap-codec@1.4.14': + /@jridgewell/sourcemap-codec@1.4.14: resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} + dev: true - '@jridgewell/sourcemap-codec@1.4.15': + /@jridgewell/sourcemap-codec@1.4.15: resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} + dev: true - '@jridgewell/sourcemap-codec@1.5.0': - resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} - - '@jridgewell/trace-mapping@0.3.18': + /@jridgewell/trace-mapping@0.3.18: resolution: {integrity: sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==} + dependencies: + '@jridgewell/resolve-uri': 3.1.0 + '@jridgewell/sourcemap-codec': 1.4.14 + dev: true - '@jridgewell/trace-mapping@0.3.20': - resolution: {integrity: sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==} - - '@jridgewell/trace-mapping@0.3.25': - resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} - - '@juggle/resize-observer@3.4.0': + /@juggle/resize-observer@3.4.0: resolution: {integrity: sha512-dfLbk+PwWvFzSxwk3n5ySL0hfBog779o8h68wK/7/APo/7cgyWp5jcXockbxdk5kFRkbeXWm4Fbi9FrdN381sA==} + dev: false - '@linaria/core@4.2.9': - resolution: {integrity: sha512-ELcu37VNVOT/PU0L6WDIN+aLzNFyJrqoBYT0CucGOCAmODbojUMCv8oJYRbWzA3N34w1t199dN4UFdfRWFG2rg==} - engines: {node: ^12.16.0 || >=13.7.0} + /@linaria/core@3.0.0-beta.13: + resolution: {integrity: sha512-3zEi5plBCOsEzUneRVuQb+2SAx3qaC1dj0FfFAI6zIJQoDWu0dlSwKijMRack7oO9tUWrchfj3OkKQAd1LBdVg==} + dev: false - '@linaria/logger@4.0.0': - resolution: {integrity: sha512-YnBq0JlDWMEkTOK+tMo5yEVR0f5V//6qMLToGcLhTyM9g9i+IDFn51Z+5q2hLk7RdG4NBPgbcCXYi2w4RKsPeg==} - engines: {node: ^12.16.0 || >=13.7.0} - - '@linaria/tags@4.3.5': - resolution: {integrity: sha512-PgaIi8Vv89YOjc6rpKL/uPg2w4k0rAwAYxcqeXqzKqsEAste5rgB8xp1/KUOG0oAOkPd3MRL6Duj+m0ZwJ3g+g==} - engines: {node: ^12.16.0 || >=13.7.0} - - '@linaria/utils@4.3.4': - resolution: {integrity: sha512-vt6WJG54n+KANaqxOfzIIU7aSfFHEWFbnGLsgxL7nASHqO0zezrNA2y2Rrp80zSeTW+wSpbmDM4uJyC9UW1qoA==} - engines: {node: ^12.16.0 || >=13.7.0} - - '@mdit-vue/plugin-component@0.12.0': - resolution: {integrity: sha512-LrwV3f0Y6H7b7m/w1Y3bkGuR3HOiBK4QiHHW3HuRMza6MZodDQbj8Baik5/V5GiSg1/ltijS1CymVcycd1EfTw==} - - '@mdit-vue/plugin-frontmatter@0.12.0': - resolution: {integrity: sha512-26Y3JktjGgNoCVH7NLqi5RcdAauAqxepTt2qXueRcRHtGpiRQV2/M1FveIhCOTCtHSuG5bBOHUxGaV6vRK3Vbw==} - - '@mdit-vue/types@0.12.0': - resolution: {integrity: sha512-mrC4y8n88BYvgcgzq9bvTlDgFyi2zuvzmPilRvRc3Uz1iIvq8mDhxJ0rHKFUNzPEScpDvJdIujqiDrulMqiudA==} - - '@nodelib/fs.scandir@2.1.5': + /@nodelib/fs.scandir@2.1.5: resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + dev: true - '@nodelib/fs.stat@2.0.5': + /@nodelib/fs.stat@2.0.5: resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} engines: {node: '>= 8'} + dev: true - '@nodelib/fs.walk@1.2.8': + /@nodelib/fs.walk@1.2.8: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.15.0 + dev: true - '@pkgr/utils@2.3.1': + /@pkgr/utils@2.3.1: resolution: {integrity: sha512-wfzX8kc1PMyUILA+1Z/EqoE4UCXGy0iRGMhPwdfae1+f0OXlLqCk+By+aMzgJBzR9AzS4CDizioG6Ss1gvAFJw==} engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} + dependencies: + cross-spawn: 7.0.3 + is-glob: 4.0.3 + open: 8.4.2 + picocolors: 1.0.0 + tiny-glob: 0.2.9 + tslib: 2.5.0 + dev: true - '@playwright/test@1.32.3': + /@playwright/test@1.32.3: resolution: {integrity: sha512-BvWNvK0RfBriindxhLVabi8BRe3X0J9EVjKlcmhxjg4giWBD/xleLcg2dz7Tx0agu28rczjNIPQWznwzDwVsZQ==} engines: {node: '>=14'} hasBin: true + dependencies: + '@types/node': 16.18.23 + playwright-core: 1.32.3 + optionalDependencies: + fsevents: 2.3.2 + dev: true - '@polka/url@1.0.0-next.28': - resolution: {integrity: sha512-8LduaNlMZGwdZ6qWrKlfa+2M4gahzFkprZiAt2TF8uS0qQgBizKXpXURqvTJ4WtmupWxaLqjRb2UCTe72mu+Aw==} + /@polka/url@1.0.0-next.21: + resolution: {integrity: sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==} + dev: true - '@popperjs/core@2.11.8': - resolution: {integrity: sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==} + /@popperjs/core@2.11.7: + resolution: {integrity: sha512-Cr4OjIkipTtcXKjAsm8agyleBuDHvxzeBoa1v543lbv1YaIwQjESsVcmjiWiPEbC1FIeHOG/Op9kdCmAmiS3Kw==} + dev: false - '@regexper/parser@1.0.0': - resolution: {integrity: sha512-S8AWIGpCNdl9PNHdbhI6TpXZsPk6FDU/RTZI+6UFF4rVFqDQKjCIbZSgFu7NihoEZKq57wKFPbbT1EzrjVvPHA==} + /@remirror/core-constants@2.0.0: + resolution: {integrity: sha512-vpePPMecHJllBqCWXl6+FIcZqS+tRUM2kSCCKFeEo1H3XUEv3ocijBIPhnlSAa7g6maX+12ATTgxrOsLpWVr2g==} + dependencies: + '@babel/runtime': 7.21.0 + dev: false - '@regexper/render@1.0.0': - resolution: {integrity: sha512-xYm9RUgnhhZotTtf8UZpK1PG2CcTRXQ3JPwfTlYUZsy2J+UcTVc7BaO/MJadpMoVuT8jrIyptH4Y0HLzqhI3hQ==} + /@remirror/core-helpers@2.0.1: + resolution: {integrity: sha512-s8M1pn33aBUhduvD1QR02uUQMegnFkGaTr4c1iBzxTTyg0rbQstzuQ7Q8TkL6n64JtgCdJS9jLz2dONb2meBKQ==} + dependencies: + '@babel/runtime': 7.21.0 + '@linaria/core': 3.0.0-beta.13 + '@remirror/core-constants': 2.0.0 + '@remirror/types': 1.0.0 + '@types/object.omit': 3.0.0 + '@types/object.pick': 1.3.2 + '@types/throttle-debounce': 2.1.0 + case-anything: 2.1.10 + dash-get: 1.0.2 + deepmerge: 4.3.1 + fast-deep-equal: 3.1.3 + make-error: 1.3.6 + object.omit: 3.0.0 + object.pick: 1.3.0 + throttle-debounce: 3.0.1 + dev: false - '@remirror/core-constants@2.0.1': - resolution: {integrity: sha512-ZR4aihtnnT9lMbhh5DEbsriJRlukRXmLZe7HmM+6ufJNNUDoazc75UX26xbgQlNUqgAqMcUdGFAnPc1JwgAdLQ==} + /@remirror/types@1.0.0: + resolution: {integrity: sha512-7HQbW7k8VxrAtfzs9FxwO6XSDabn8tSFDi1wwzShOnU+cvaYpfxu0ygyTk3TpXsag1hgFKY3ZIlAfB4WVz2LkQ==} + dependencies: + type-fest: 2.19.0 + dev: false - '@remirror/core-helpers@2.0.3': - resolution: {integrity: sha512-LqIPF4stGG69l9qu/FFicv9d9B+YaItzgDMC5A0CEvDQfKkGD3BfabLmfpnuWbsc06oKGdTduilgWcALLZoYLg==} - - '@remirror/types@1.0.1': - resolution: {integrity: sha512-VlZQxwGnt1jtQ18D6JqdIF+uFZo525WEqrfp9BOc3COPpK4+AWCgdnAWL+ho6imWcoINlGjR/+3b6y5C1vBVEA==} - - '@rollup/plugin-babel@5.3.1': + /@rollup/plugin-babel@5.3.1(@babel/core@7.21.4)(rollup@2.79.1): resolution: {integrity: sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==} engines: {node: '>= 10.0.0'} peerDependencies: @@ -1662,37 +1782,59 @@ packages: peerDependenciesMeta: '@types/babel__core': optional: true + dependencies: + '@babel/core': 7.21.4 + '@babel/helper-module-imports': 7.21.4 + '@rollup/pluginutils': 3.1.0(rollup@2.79.1) + rollup: 2.79.1 + dev: true - '@rollup/plugin-node-resolve@15.3.0': - resolution: {integrity: sha512-9eO5McEICxMzJpDW9OnMYSv4Sta3hmt7VtBFz5zR9273suNOydOyq/FrGeGy+KsTRFm8w0SLVhzig2ILFT63Ag==} - engines: {node: '>=14.0.0'} + /@rollup/plugin-node-resolve@11.2.1(rollup@2.79.1): + resolution: {integrity: sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==} + engines: {node: '>= 10.0.0'} peerDependencies: - rollup: ^2.78.0||^3.0.0||^4.0.0 - peerDependenciesMeta: - rollup: - optional: true + rollup: ^1.20.0||^2.0.0 + dependencies: + '@rollup/pluginutils': 3.1.0(rollup@2.79.1) + '@types/resolve': 1.17.1 + builtin-modules: 3.3.0 + deepmerge: 4.3.1 + is-module: 1.0.0 + resolve: 1.22.2 + rollup: 2.79.1 + dev: true - '@rollup/plugin-replace@2.4.2': + /@rollup/plugin-replace@2.4.2(rollup@2.79.1): resolution: {integrity: sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==} peerDependencies: rollup: ^1.20.0 || ^2.0.0 + dependencies: + '@rollup/pluginutils': 3.1.0(rollup@2.79.1) + magic-string: 0.25.9 + rollup: 2.79.1 + dev: true - '@rollup/plugin-terser@0.4.4': - resolution: {integrity: sha512-XHeJC5Bgvs8LfukDwWZp7yeqin6ns8RTl2B9avbejt6tZqsqvVoWI7ZTQrcNsfKEDWBTnTxM8nMDkO2IFFbd0A==} - engines: {node: '>=14.0.0'} - peerDependencies: - rollup: ^2.0.0||^3.0.0||^4.0.0 - peerDependenciesMeta: - rollup: - optional: true - - '@rollup/pluginutils@3.1.0': + /@rollup/pluginutils@3.1.0(rollup@2.79.1): resolution: {integrity: sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==} engines: {node: '>= 8.0.0'} peerDependencies: rollup: ^1.20.0||^2.0.0 + dependencies: + '@types/estree': 0.0.39 + estree-walker: 1.0.1 + picomatch: 2.3.1 + rollup: 2.79.1 + dev: true - '@rollup/pluginutils@5.0.2': + /@rollup/pluginutils@4.2.1: + resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==} + engines: {node: '>= 8.0.0'} + dependencies: + estree-walker: 2.0.2 + picomatch: 2.3.1 + dev: true + + /@rollup/pluginutils@5.0.2(rollup@2.79.1): resolution: {integrity: sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==} engines: {node: '>=14.0.0'} peerDependencies: @@ -1700,1253 +1842,1926 @@ packages: peerDependenciesMeta: rollup: optional: true + dependencies: + '@types/estree': 1.0.0 + estree-walker: 2.0.2 + picomatch: 2.3.1 + rollup: 2.79.1 + dev: true - '@rollup/pluginutils@5.0.5': - resolution: {integrity: sha512-6aEYR910NyP73oHiJglti74iRyOwgFU4x3meH/H8OJx6Ry0j6cOVZ5X/wTvub7G7Ao6qaHBEaNsV3GLJkSsF+Q==} - engines: {node: '>=14.0.0'} - peerDependencies: - rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 - peerDependenciesMeta: - rollup: - optional: true - - '@rollup/pluginutils@5.1.3': - resolution: {integrity: sha512-Pnsb6f32CD2W3uCaLZIzDmeFyQ2b8UWMFI7xtwUezpcGBDVDW6y9XgAWIlARiGAo6eNF5FK5aQTr0LFyNyqq5A==} - engines: {node: '>=14.0.0'} - peerDependencies: - rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 - peerDependenciesMeta: - rollup: - optional: true - - '@rushstack/eslint-patch@1.2.0': + /@rushstack/eslint-patch@1.2.0: resolution: {integrity: sha512-sXo/qW2/pAcmT43VoRKOJbDOfV3cYpq3szSVfIThQXNt+E4DfKj361vaAt3c88U5tPUxzEswam7GW48PJqtKAg==} + dev: true - '@sinclair/typebox@0.27.8': - resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} + /@sideway/address@4.1.4: + resolution: {integrity: sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw==} + dependencies: + '@hapi/hoek': 9.3.0 + dev: true - '@sindresorhus/slugify@2.2.1': - resolution: {integrity: sha512-MkngSCRZ8JdSOCHRaYd+D01XhvU3Hjy6MGl06zhOk614hp9EOAp5gIkBeQg7wtmxpitU6eAL4kdiRMcJa2dlrw==} + /@sideway/formula@3.0.1: + resolution: {integrity: sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==} + dev: true + + /@sideway/pinpoint@2.0.0: + resolution: {integrity: sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==} + dev: true + + /@sindresorhus/slugify@2.2.0: + resolution: {integrity: sha512-9Vybc/qX8Kj6pxJaapjkFbiUJPk7MAkCh/GFCxIBnnsuYCFPIXKvnLidG8xlepht3i24L5XemUmGtrJ3UWrl6w==} engines: {node: '>=12'} + dependencies: + '@sindresorhus/transliterate': 1.6.0 + escape-string-regexp: 5.0.0 + dev: false - '@sindresorhus/transliterate@1.6.0': + /@sindresorhus/transliterate@1.6.0: resolution: {integrity: sha512-doH1gimEu3A46VX6aVxpHTeHrytJAG6HgdxntYnCFiIFHEM/ZGpG8KiZGBChchjQmG0XFIBL552kBTjVcMZXwQ==} engines: {node: '>=12'} + dependencies: + escape-string-regexp: 5.0.0 + dev: false - '@surma/rollup-plugin-off-main-thread@2.2.3': + /@surma/rollup-plugin-off-main-thread@2.2.3: resolution: {integrity: sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==} + dependencies: + ejs: 3.1.9 + json5: 2.2.3 + magic-string: 0.25.9 + string.prototype.matchall: 4.0.8 + dev: true - '@svgdotjs/svg.js@3.2.4': - resolution: {integrity: sha512-BjJ/7vWNowlX3Z8O4ywT58DqbNRyYlkk6Yz/D13aB7hGmfQTvGX4Tkgtm/ApYlu9M7lCQi15xUEidqMUmdMYwg==} - - '@tabler/icons-vue@3.20.0': - resolution: {integrity: sha512-kymV0q+bFNqU6bmdlnfK9ru88xFydYIs+jfe0160bLTmcq94ZxcLfXO5JLMq5kjntUSNb4fBvGk0mXB7aDCYnA==} - peerDependencies: - vue: '>=3.0.1' - - '@tabler/icons@3.20.0': - resolution: {integrity: sha512-nXSeUzsCOxX/Of+kdUVQfxL9bG+ck8XCWNf9dGSpE+nhVexRwk/4HiDQDxFDysfT7vfgSut6GXnrZsU5M5dSlA==} - - '@tiptap/core@2.1.12': - resolution: {integrity: sha512-ZGc3xrBJA9KY8kln5AYTj8y+GDrKxi7u95xIl2eccrqTY5CQeRu6HRNM1yT4mAjuSaG9jmazyjGRlQuhyxCKxQ==} + /@tiptap/core@2.0.2(@tiptap/pm@2.0.0-beta.220): + resolution: {integrity: sha512-DBry6tpX7mYaTJkEDjVA4WmF8Kgthr275L0uIIOVdwW5nG5PAnOvREKyVOoMQnN3vR7CjtaCK+c3y+MCQhMA/g==} peerDependencies: '@tiptap/pm': ^2.0.0 + dependencies: + '@tiptap/pm': 2.0.0-beta.220(@tiptap/core@2.0.2) + dev: false - '@tiptap/extension-blockquote@2.1.6': - resolution: {integrity: sha512-y3Jj9XcJaUjlEZZFBQUZcToOjamL64B/Jjlu7JUv87VArWWpg5Pnd2sQG3l9A/q1vfY0/TpHm7r5EvKoeIq6ag==} + /@tiptap/extension-blockquote@2.0.2(@tiptap/core@2.0.2): + resolution: {integrity: sha512-KY4PZtQRf06sC2B1nKkm1hI2y7XFWqqA2lAmWRu12m7Zofc9aabLipEY8yijY7se0QMc4kDTVWp8d2uvbhyDFA==} peerDependencies: '@tiptap/core': ^2.0.0 + dependencies: + '@tiptap/core': 2.0.2(@tiptap/pm@2.0.0-beta.220) + dev: false - '@tiptap/extension-bold@2.1.6': - resolution: {integrity: sha512-gZDVuhYdceBQ/xGGY1X7lmkgNrDHFuFYBFRWMK0pLe9YBlQtJPc6+hiOmCtRtGmbQADDnvMmSU2a0+8bckmbCw==} + /@tiptap/extension-bold@2.0.2(@tiptap/core@2.0.2): + resolution: {integrity: sha512-WRqc8WeKx3pmi0u0Svre5rhMeTT1c/Vch48BWTkUsmn2PAufg/mrmmR1fJ8Bp5soazEKknOT5LVe69OYKLfHIQ==} peerDependencies: '@tiptap/core': ^2.0.0 + dependencies: + '@tiptap/core': 2.0.2(@tiptap/pm@2.0.0-beta.220) + dev: false - '@tiptap/extension-bubble-menu@2.0.3': - resolution: {integrity: sha512-lPt1ELrYCuoQrQEUukqjp9xt38EwgPUwaKHI3wwt2Rbv+C6q1gmRsK1yeO/KqCNmFxNqF2p9ZF9srOnug/RZDQ==} + /@tiptap/extension-bubble-menu@2.0.2(@tiptap/core@2.0.2)(@tiptap/pm@2.0.0-beta.220): + resolution: {integrity: sha512-cZDAMnf1+E711zY9RApWFajNp+ScRdN3L9+k6XEUnmTHlfVIeE1jsPmpH3PIZpMUpAO4TQ76DvLfEb4hKSu3eQ==} peerDependencies: '@tiptap/core': ^2.0.0 '@tiptap/pm': ^2.0.0 + dependencies: + '@tiptap/core': 2.0.2(@tiptap/pm@2.0.0-beta.220) + '@tiptap/pm': 2.0.0-beta.220(@tiptap/core@2.0.2) + tippy.js: 6.3.7 + dev: false - '@tiptap/extension-bullet-list@2.1.6': - resolution: {integrity: sha512-NjPL5cIa4wVqv62OEw4lQ4Dj4c2hxia7GtPKHZKjoot5iu1RDkzD9Cxy/0tmH0vfCwTqa0JbGf9FAxRCyok4kg==} + /@tiptap/extension-bullet-list@2.0.2(@tiptap/core@2.0.2): + resolution: {integrity: sha512-n6P4N+3dZqBnyxpc6pz4qYHLOYr2oy6+K662GKzNQqe1TFSVr9+Vc/JmXiVPgwERs6RW6/Kdo7/9s454eDTIzg==} peerDependencies: '@tiptap/core': ^2.0.0 + dependencies: + '@tiptap/core': 2.0.2(@tiptap/pm@2.0.0-beta.220) + dev: false - '@tiptap/extension-code-block@2.1.6': - resolution: {integrity: sha512-tLK9YeHYz03qeG4Sy5uZMq6v5uo34315I4WrfIAujesDloG1v8nd+D9I8A7PD4BWHZOzv13ToVeDYpLYDdvE7Q==} + /@tiptap/extension-code-block@2.0.2(@tiptap/core@2.0.2)(@tiptap/pm@2.0.0-beta.220): + resolution: {integrity: sha512-GL8ogok1tl1FkXwk0P0ZWYh6oAmSA+R3oubtDZJG1fLlezKLcLYCN/Q2jgYDHDwEOnxMc4JIiT7EYwJ0pqmNaQ==} peerDependencies: '@tiptap/core': ^2.0.0 '@tiptap/pm': ^2.0.0 + dependencies: + '@tiptap/core': 2.0.2(@tiptap/pm@2.0.0-beta.220) + '@tiptap/pm': 2.0.0-beta.220(@tiptap/core@2.0.2) + dev: false - '@tiptap/extension-code@2.1.6': - resolution: {integrity: sha512-vFWE74Aipt0kbmWyya+9zvsAgVusbbHx8g3Zqm8iKDt95BY3MWGurCZ3F5uoVuPuWD9VSrbNs4/T6oKbVKc9Ow==} + /@tiptap/extension-code@2.0.2(@tiptap/core@2.0.2): + resolution: {integrity: sha512-YG8BlqK50ZyYpBZ3KtO9/Ao+hQr3Z9wuW0fi7VIlwWferB20Px9WlBolAipRxfCh+oLmiacipHBIdGZGD+rC6A==} peerDependencies: '@tiptap/core': ^2.0.0 + dependencies: + '@tiptap/core': 2.0.2(@tiptap/pm@2.0.0-beta.220) + dev: false - '@tiptap/extension-document@2.1.6': - resolution: {integrity: sha512-econFqLeQR8pe0xv7kjw6ZPRhcNXGrNi9854celX0lhqTqtBxvU6nWHzUDzoq/lmnXYgpFTPv42AwUEspvpwdw==} + /@tiptap/extension-document@2.0.2(@tiptap/core@2.0.2): + resolution: {integrity: sha512-rY87m1sezlD37v5hGndiA/B/3upR3hQurSEsWhWyQE/11lOshPQKCCHfDV6KLwKdjd8lfwfbXueH/SBFHtrYAQ==} peerDependencies: '@tiptap/core': ^2.0.0 + dependencies: + '@tiptap/core': 2.0.2(@tiptap/pm@2.0.0-beta.220) + dev: false - '@tiptap/extension-dropcursor@2.1.6': - resolution: {integrity: sha512-+nk4XtCp2+lVf1pzwonaOdIolE9AI3HPAtUO7sthHYLDIm1JEQT2GS3+MVDGHdFKxEGUkB5DEcNLtr/xLTQjZQ==} + /@tiptap/extension-dropcursor@2.0.2(@tiptap/core@2.0.2)(@tiptap/pm@2.0.0-beta.220): + resolution: {integrity: sha512-jHBq5fAlgUeZBHPtdAeS40Xmx+2sUvzTnHonU6cDKOpD3+dzwNHEqVSk/9vcjEIcqeM5w3eOIS/AGvoFq7RCjA==} peerDependencies: '@tiptap/core': ^2.0.0 '@tiptap/pm': ^2.0.0 + dependencies: + '@tiptap/core': 2.0.2(@tiptap/pm@2.0.0-beta.220) + '@tiptap/pm': 2.0.0-beta.220(@tiptap/core@2.0.2) + dev: false - '@tiptap/extension-floating-menu@2.0.3': - resolution: {integrity: sha512-zN1vRGRvyK3pO2aHRmQSOTpl4UJraXYwKYM009n6WviYKUNm0LPGo+VD4OAtdzUhPXyccnlsTv2p6LIqFty6Bg==} + /@tiptap/extension-floating-menu@2.0.2(@tiptap/core@2.0.2)(@tiptap/pm@2.0.0-beta.220): + resolution: {integrity: sha512-sYBBmMyjygHimtekZMzOAU1yvHjn36O1tZ+lXR/K2F97WWd5Y9WJo+iUrnbzBDMTXGvPi5ZTByXg36YKFRTmPg==} peerDependencies: '@tiptap/core': ^2.0.0 '@tiptap/pm': ^2.0.0 + dependencies: + '@tiptap/core': 2.0.2(@tiptap/pm@2.0.0-beta.220) + '@tiptap/pm': 2.0.0-beta.220(@tiptap/core@2.0.2) + tippy.js: 6.3.7 + dev: false - '@tiptap/extension-gapcursor@2.1.6': - resolution: {integrity: sha512-5AH6Je1B6JpZkMBslXw/UglMpxVwL8AXqX5xWKP2OSsKVYcL00jApq709FxfYhyqui/SukUVusKKQFstTNqIGA==} + /@tiptap/extension-gapcursor@2.0.2(@tiptap/core@2.0.2)(@tiptap/pm@2.0.0-beta.220): + resolution: {integrity: sha512-NimvDbM8Cc8+l/ZWJW8aqZRH6hzz1iJLOAMyj23UjHQWvKO0yqE1KBLGZI2GU+vizEK3LkZZXhXnh76rnTwgSQ==} peerDependencies: '@tiptap/core': ^2.0.0 '@tiptap/pm': ^2.0.0 + dependencies: + '@tiptap/core': 2.0.2(@tiptap/pm@2.0.0-beta.220) + '@tiptap/pm': 2.0.0-beta.220(@tiptap/core@2.0.2) + dev: false - '@tiptap/extension-hard-break@2.1.6': - resolution: {integrity: sha512-znFYceEFbrgxhHZF+/wNQlAn3MWG9/VRqQAFxPGne0csewibKZRwZbeSYZQ16x1vSAlAQsKhIaAst/na/2H8LA==} + /@tiptap/extension-hard-break@2.0.2(@tiptap/core@2.0.2): + resolution: {integrity: sha512-X/HG9Mzb4Qx/x67tkLK0JdG/fNL7IMP5gTpqOdgRT4m4vQA4ItuZHi4GlvWXfvtP6J0qfKKNimJvBQ5TZCZV1A==} peerDependencies: '@tiptap/core': ^2.0.0 + dependencies: + '@tiptap/core': 2.0.2(@tiptap/pm@2.0.0-beta.220) + dev: false - '@tiptap/extension-heading@2.1.6': - resolution: {integrity: sha512-V6PImalPhgAxsA95op70ssb8IXehLyr7wu5t1SeoTUUQtvMojKXPd+n+xF5b4b7VIhXHDlGSnoT0/XwjCJY0tQ==} + /@tiptap/extension-heading@2.0.2(@tiptap/core@2.0.2): + resolution: {integrity: sha512-99PL9Rx8mioo13SNuIkhZm1VW6UuUKKG0b7fAimsunaEbbLNtToXIasS68pX8BkgWnsBfDhR0HyhnpIBRg7W0w==} peerDependencies: '@tiptap/core': ^2.0.0 + dependencies: + '@tiptap/core': 2.0.2(@tiptap/pm@2.0.0-beta.220) + dev: false - '@tiptap/extension-history@2.1.6': - resolution: {integrity: sha512-ltHz9cW3bWi7Z3m960F5eLPAqZDBNOpUP31t9YdKqhyxA16eygryj1USVeus9DX5OBoW79I8EecFAuRo3Rymlw==} + /@tiptap/extension-history@2.0.2(@tiptap/core@2.0.2)(@tiptap/pm@2.0.0-beta.220): + resolution: {integrity: sha512-K7u8HCEh9g35DSB4+c7z1wj9ais2cF3STDhyCRjBuLcCTgWVAim5cto4MkSdrXnLuWGgNK0jloWxVlMk3E1HPg==} peerDependencies: '@tiptap/core': ^2.0.0 '@tiptap/pm': ^2.0.0 + dependencies: + '@tiptap/core': 2.0.2(@tiptap/pm@2.0.0-beta.220) + '@tiptap/pm': 2.0.0-beta.220(@tiptap/core@2.0.2) + dev: false - '@tiptap/extension-horizontal-rule@2.1.6': - resolution: {integrity: sha512-1epXM+4DRlhos+Awj4sHApceO2O26tuqyrZot0Mm+mF0yuCGy3B5fefAgUcxBu/oRuywfDl8cwCzN2E/d8KXtA==} + /@tiptap/extension-horizontal-rule@2.0.2(@tiptap/core@2.0.2)(@tiptap/pm@2.0.0-beta.220): + resolution: {integrity: sha512-QUqNnHqRXMZRE6uFRX0UDFn07JDiiNukPRCIL4vyV/YJ6HmQiBjbsS/1hLjAwBuqaN8dtlHLdR4PjMuA6qrUYw==} peerDependencies: '@tiptap/core': ^2.0.0 '@tiptap/pm': ^2.0.0 + dependencies: + '@tiptap/core': 2.0.2(@tiptap/pm@2.0.0-beta.220) + '@tiptap/pm': 2.0.0-beta.220(@tiptap/core@2.0.2) + dev: false - '@tiptap/extension-italic@2.1.6': - resolution: {integrity: sha512-o41hil+x2yqFciOiJPx67FnguJ4/aEMU8MotmXekFGHM+I0wFOd4lA5t7HqFU5Si0Z7gyTb/N0wLUbAnbyk/Aw==} + /@tiptap/extension-italic@2.0.2(@tiptap/core@2.0.2): + resolution: {integrity: sha512-AK8m4JKvjv2LgTho2GLPW4UI9Z8Oc1tErG9TAeJzud8NFFZ2iOOueAwyGjPLaEQxWaE2p5xlKjbBUWDV5bd6AQ==} peerDependencies: '@tiptap/core': ^2.0.0 + dependencies: + '@tiptap/core': 2.0.2(@tiptap/pm@2.0.0-beta.220) + dev: false - '@tiptap/extension-list-item@2.1.6': - resolution: {integrity: sha512-hgG8XzWRvhmEtb70ut2YTWfexMDu4PHgDS8WxYGOCVH0F+DwZqGF5KEARhFSPlmRUCWcmKey4sp8YDpLqShEWA==} + /@tiptap/extension-list-item@2.0.2(@tiptap/core@2.0.2): + resolution: {integrity: sha512-q8nz79iB6EvkBucm0OwUg7SX3vDGCRttmf0OrEBsoUCoFt/NhrejUCMDSbysHtYp+EtZcKu4VsPuNHU3C7F1vQ==} peerDependencies: '@tiptap/core': ^2.0.0 + dependencies: + '@tiptap/core': 2.0.2(@tiptap/pm@2.0.0-beta.220) + dev: false - '@tiptap/extension-ordered-list@2.1.6': - resolution: {integrity: sha512-7igbJBSeCByYM9G3XHlK1sqPQtIsOlezdc4PH7xBaOtvNDd1ruGvOGFovo9b5TW8+J08KCAqy25cV4Pn72fuGw==} + /@tiptap/extension-ordered-list@2.0.2(@tiptap/core@2.0.2): + resolution: {integrity: sha512-fgWIQNDlC2pYNnS9Iqw2UZaNIInfks3mZm0Aj9DQ78LbTYDAcGvHcWaulLkd0CcfD6smTYwi9oBzP3dpPbcPTw==} peerDependencies: '@tiptap/core': ^2.0.0 + dependencies: + '@tiptap/core': 2.0.2(@tiptap/pm@2.0.0-beta.220) + dev: false - '@tiptap/extension-paragraph@2.1.6': - resolution: {integrity: sha512-k0QSIaJPVgTn9+X2580JFCjV2RCH1Fo+gPodABDnjunfoUVSjuq0rlILEtTuha3evlS6kDKiz7lk7pIoCo36Cw==} + /@tiptap/extension-paragraph@2.0.2(@tiptap/core@2.0.2): + resolution: {integrity: sha512-BuiUV8Wh8DjRrNmmk5sIlVlk0V8P4BT2fCB4H7Ar+QDUPKY1g0djB/5g3F70iZh1Z7CiY1ctoL8VQznvtb0KsQ==} peerDependencies: '@tiptap/core': ^2.0.0 + dependencies: + '@tiptap/core': 2.0.2(@tiptap/pm@2.0.0-beta.220) + dev: false - '@tiptap/extension-strike@2.1.6': - resolution: {integrity: sha512-LX7X2ohKEE0nUyWecSGxBcuzLxXTIbPmUnbkZvqYiWTaE02r3TxzkJMO0iuTnbygceC1TtiAfKwGgth0b9tMCQ==} + /@tiptap/extension-strike@2.0.2(@tiptap/core@2.0.2): + resolution: {integrity: sha512-v5goRcfORMkHaA4/mQH80mO0IVFJup1sSrSd4lNUwWN68Qy2ckMVRLRgvbk0JjG2kbamFgJ4LmN/3ceZvUj27A==} peerDependencies: '@tiptap/core': ^2.0.0 + dependencies: + '@tiptap/core': 2.0.2(@tiptap/pm@2.0.0-beta.220) + dev: false - '@tiptap/extension-text@2.1.6': - resolution: {integrity: sha512-CqV0N6ngoXZFeJGlQ86FSZJ/0k7+BN3S6aSUcb5DRAKsSEv/Ga1LvSG24sHy+dwjTuj3EtRPJSVZTFcSB17ZSA==} + /@tiptap/extension-text@2.0.2(@tiptap/core@2.0.2): + resolution: {integrity: sha512-kAO+WurWOyHIV/x8qHMF3bSlWrdlPtjEYmf+w8wHKy3FzE55eF6SsGt4FymClNkJmyXdgflXBB3Wv/Z53myy8g==} peerDependencies: '@tiptap/core': ^2.0.0 + dependencies: + '@tiptap/core': 2.0.2(@tiptap/pm@2.0.0-beta.220) + dev: false - '@tiptap/pm@2.1.6': - resolution: {integrity: sha512-JkFlZp2z6Se2Ttnabi4lkP2yLNMH/eebO7ScYL1kXvwNLgELC/I3fwQVmnYA0E8pqJ5KQXOSl14NaB1mVPJqlg==} - - '@tiptap/starter-kit@2.1.6': - resolution: {integrity: sha512-JmTvexA90+VqsltAo9+MysYLoR9/dpEEy1LrFT09R1q9p6EJCWfxtyi/QsrZnwD6zthpTByChmDZRGv85Nb3Aw==} - - '@tiptap/vue-3@2.0.3': - resolution: {integrity: sha512-2CtNUzt+e7sgvIjxPOyBwoiRcuCHNeJzW+XGxNK2uCWlAKp/Yw3boJ51d51UuIbj9RitGHJ5GpCdLJoL7SDiQA==} + /@tiptap/pm@2.0.0-beta.220(@tiptap/core@2.0.2): + resolution: {integrity: sha512-O9mGcmwUpEr630HY9RylIyZJKnpXi3xWINWNiAEfRJ1br5j5pHRoVRJQ1HzU+6+Z+i/8qp3zRHGLTBqihaZETA==} peerDependencies: - '@tiptap/core': ^2.0.0 - '@tiptap/pm': ^2.0.0 + '@tiptap/core': ^2.0.0-beta.209 + dependencies: + '@tiptap/core': 2.0.2(@tiptap/pm@2.0.0-beta.220) + prosemirror-changeset: 2.2.0 + prosemirror-collab: 1.3.0 + prosemirror-commands: 1.5.1 + prosemirror-dropcursor: 1.8.0 + prosemirror-gapcursor: 1.3.1 + prosemirror-history: 1.3.0 + prosemirror-inputrules: 1.2.0 + prosemirror-keymap: 1.2.1 + prosemirror-markdown: 1.10.1 + prosemirror-menu: 1.2.1 + prosemirror-model: 1.19.0 + prosemirror-schema-basic: 1.2.1 + prosemirror-schema-list: 1.2.2 + prosemirror-state: 1.4.2 + prosemirror-tables: 1.3.2 + prosemirror-trailing-node: 2.0.3(prosemirror-model@1.19.0)(prosemirror-state@1.4.2)(prosemirror-view@1.30.2) + prosemirror-transform: 1.7.1 + prosemirror-view: 1.30.2 + dev: false + + /@tiptap/starter-kit@2.0.0-beta.220(@tiptap/pm@2.0.0-beta.220): + resolution: {integrity: sha512-3992NxY5sEp5xmLE/qv/yt1YkgpSpJiUlDRj02isJ0Xsxa4G6bNq+N+tN2rHB0Y8dtYVBSX2vV/DZYVX8O+Gpg==} + dependencies: + '@tiptap/core': 2.0.2(@tiptap/pm@2.0.0-beta.220) + '@tiptap/extension-blockquote': 2.0.2(@tiptap/core@2.0.2) + '@tiptap/extension-bold': 2.0.2(@tiptap/core@2.0.2) + '@tiptap/extension-bullet-list': 2.0.2(@tiptap/core@2.0.2) + '@tiptap/extension-code': 2.0.2(@tiptap/core@2.0.2) + '@tiptap/extension-code-block': 2.0.2(@tiptap/core@2.0.2)(@tiptap/pm@2.0.0-beta.220) + '@tiptap/extension-document': 2.0.2(@tiptap/core@2.0.2) + '@tiptap/extension-dropcursor': 2.0.2(@tiptap/core@2.0.2)(@tiptap/pm@2.0.0-beta.220) + '@tiptap/extension-gapcursor': 2.0.2(@tiptap/core@2.0.2)(@tiptap/pm@2.0.0-beta.220) + '@tiptap/extension-hard-break': 2.0.2(@tiptap/core@2.0.2) + '@tiptap/extension-heading': 2.0.2(@tiptap/core@2.0.2) + '@tiptap/extension-history': 2.0.2(@tiptap/core@2.0.2)(@tiptap/pm@2.0.0-beta.220) + '@tiptap/extension-horizontal-rule': 2.0.2(@tiptap/core@2.0.2)(@tiptap/pm@2.0.0-beta.220) + '@tiptap/extension-italic': 2.0.2(@tiptap/core@2.0.2) + '@tiptap/extension-list-item': 2.0.2(@tiptap/core@2.0.2) + '@tiptap/extension-ordered-list': 2.0.2(@tiptap/core@2.0.2) + '@tiptap/extension-paragraph': 2.0.2(@tiptap/core@2.0.2) + '@tiptap/extension-strike': 2.0.2(@tiptap/core@2.0.2) + '@tiptap/extension-text': 2.0.2(@tiptap/core@2.0.2) + transitivePeerDependencies: + - '@tiptap/pm' + dev: false + + /@tiptap/vue-3@2.0.0-beta.220(@tiptap/core@2.0.2)(@tiptap/pm@2.0.0-beta.220)(vue@3.2.47): + resolution: {integrity: sha512-rhSKUECLE6NOjTYZHheXAGpyIqruhxkU/9YfWNLWNFIHHW9wHO+t/B3XMJAWBwgkUvRRepU5JmBBIfYd8RgqTA==} + peerDependencies: + '@tiptap/core': ^2.0.0-beta.209 + '@tiptap/pm': ^2.0.0-beta.209 vue: ^3.0.0 + dependencies: + '@tiptap/core': 2.0.2(@tiptap/pm@2.0.0-beta.220) + '@tiptap/extension-bubble-menu': 2.0.2(@tiptap/core@2.0.2)(@tiptap/pm@2.0.0-beta.220) + '@tiptap/extension-floating-menu': 2.0.2(@tiptap/core@2.0.2)(@tiptap/pm@2.0.0-beta.220) + '@tiptap/pm': 2.0.0-beta.220(@tiptap/core@2.0.2) + vue: 3.2.47 + dev: false - '@tootallnate/once@2.0.0': + /@tootallnate/once@1.1.2: + resolution: {integrity: sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==} + engines: {node: '>= 6'} + dev: false + + /@tootallnate/once@2.0.0: resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==} engines: {node: '>= 10'} + dev: true - '@trysound/sax@0.2.0': + /@trysound/sax@0.2.0: resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==} engines: {node: '>=10.13.0'} + dev: true - '@tsconfig/node18@18.2.0': - resolution: {integrity: sha512-yhxwIlFVSVcMym3O31HoMnRXpoenmpIxcj4Yoes2DUpe+xCJnA7ECQP1Vw889V0jTt/2nzvpLQ/UuMYCd3JPIg==} - - '@types/bcryptjs@2.4.2': + /@types/bcryptjs@2.4.2: resolution: {integrity: sha512-LiMQ6EOPob/4yUL66SZzu6Yh77cbzJFYll+ZfaPiPPFswtIlA/Fs1MzdKYA7JApHU49zQTbJGX3PDmCpIdDBRQ==} + dev: true - '@types/chai-subset@1.3.3': + /@types/chai-subset@1.3.3: resolution: {integrity: sha512-frBecisrNGz+F4T6bcc+NLeolfiojh5FxW2klu669+8BARtyQv2C/GkNW6FUodVe4BroGMP/wER/YDGc7rEllw==} + dependencies: + '@types/chai': 4.3.4 + dev: true - '@types/chai@4.3.5': - resolution: {integrity: sha512-mEo1sAde+UCE6b2hxn332f1g1E8WfYRu6p5SvTKr2ZKC1f7gFJXk4h5PyGP9Dt6gCaG8y8XhwnXWC6Iy2cmBng==} + /@types/chai@4.3.4: + resolution: {integrity: sha512-KnRanxnpfpjUTqTCXslZSEdLfXExwgNxYPdiO2WGUj8+HDjFi8R3k5RVKPeSCzLjCcshCAtVO2QBbVuAV4kTnw==} + dev: true - '@types/crypto-js@4.1.1': + /@types/crypto-js@4.1.1: resolution: {integrity: sha512-BG7fQKZ689HIoc5h+6D2Dgq1fABRa0RbBWKBd9SP/MVRVXROflpm5fhwyATX5duFmbStzyzyycPB8qUYKDH3NA==} + dev: true - '@types/dompurify@3.0.5': - resolution: {integrity: sha512-1Wg0g3BtQF7sSb27fJQAKck1HECM6zV1EB66j8JH9i3LCjYabJa0FSdiSgsD5K/RbrsR0SiraKacLB+T8ZVYAg==} - - '@types/estree@0.0.39': + /@types/estree@0.0.39: resolution: {integrity: sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==} + dev: true - '@types/estree@1.0.0': + /@types/estree@1.0.0: resolution: {integrity: sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==} + dev: true - '@types/estree@1.0.6': - resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} - - '@types/figlet@1.5.8': - resolution: {integrity: sha512-G22AUvy4Tl95XLE7jmUM8s8mKcoz+Hr+Xm9W90gJsppJq9f9tHvOGkrpn4gRX0q/cLtBdNkWtWCKDg2UDZoZvQ==} - - '@types/fs-extra@11.0.1': + /@types/fs-extra@11.0.1: resolution: {integrity: sha512-MxObHvNl4A69ofaTRU8DFqvgzzv8s9yRtaPPm5gud9HDNvpB3GPQFvNuTWAI59B9huVGV5jXYJwbCsmBsOGYWA==} + dependencies: + '@types/jsonfile': 6.1.1 + '@types/node': 16.18.23 + dev: true - '@types/jsdom@21.1.0': - resolution: {integrity: sha512-leWreJOdnuIxq9Y70tBVm/bvTuh31DSlF/r4l7Cfi4uhVQqLHD0Q4v301GMisEMwwbMgF7ZKxuZ+Jbd4NcdmRw==} + /@types/istanbul-lib-coverage@2.0.4: + resolution: {integrity: sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==} + dev: true - '@types/json-schema@7.0.12': - resolution: {integrity: sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==} + /@types/jsdom@16.2.15: + resolution: {integrity: sha512-nwF87yjBKuX/roqGYerZZM0Nv1pZDMAT5YhOHYeM/72Fic+VEqJh4nyoqoapzJnW3pUlfxPY5FhgsJtM+dRnQQ==} + dependencies: + '@types/node': 16.18.23 + '@types/parse5': 6.0.3 + '@types/tough-cookie': 4.0.2 + dev: true - '@types/jsonfile@6.1.1': + /@types/json-schema@7.0.11: + resolution: {integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==} + dev: true + + /@types/json5@0.0.29: + resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} + dev: true + + /@types/jsonfile@6.1.1: resolution: {integrity: sha512-GSgiRCVeapDN+3pqA35IkQwasaCh/0YFH5dEF6S88iDvEn901DjOeH3/QPY+XYP1DFzDZPvIvfeEgk+7br5png==} + dependencies: + '@types/node': 16.18.23 + dev: true - '@types/katex@0.16.5': - resolution: {integrity: sha512-DD2Y3xMlTQvAnN6d8803xdgnOeYZ+HwMglb7/9YCf49J9RkJL53azf9qKa40MkEYhqVwxZ1GS2+VlShnz4Z1Bw==} + /@types/katex@0.14.0: + resolution: {integrity: sha512-+2FW2CcT0K3P+JMR8YG846bmDwplKUTsWgT2ENwdQ1UdVfRk3GQrh6Mi4sTopy30gI8Uau5CEqHTDZ6YvWIUPA==} + dev: false - '@types/linkify-it@3.0.2': + /@types/linkify-it@3.0.2: resolution: {integrity: sha512-HZQYqbiFVWufzCwexrvh694SOim8z2d+xJl5UNamcvQFejLY/2YUtzXHYi3cHdI7PMlS8ejH2slRAOJQ32aNbA==} + dev: true - '@types/lodash-es@4.17.10': - resolution: {integrity: sha512-YJP+w/2khSBwbUSFdGsSqmDvmnN3cCKoPOL7Zjle6s30ZtemkkqhjVfFqGwPN7ASil5VyjE2GtyU/yqYY6mC0A==} + /@types/lodash-es@4.17.7: + resolution: {integrity: sha512-z0ptr6UI10VlU6l5MYhGwS4mC8DZyYer2mCoyysZtSF7p26zOX8UpbrV0YpNYLGS8K4PUFIyEr62IMFFjveSiQ==} + dependencies: + '@types/lodash': 4.14.192 + dev: false - '@types/lodash@4.14.192': + /@types/lodash@4.14.192: resolution: {integrity: sha512-km+Vyn3BYm5ytMO13k9KTp27O75rbQ0NFw+U//g+PX7VZyjCioXaRFisqSIJRECljcTv73G3i6BpglNGHgUQ5A==} - '@types/lodash@4.14.200': - resolution: {integrity: sha512-YI/M/4HRImtNf3pJgbF+W6FrXovqj+T+/HpENLTooK9PnkacBsDpeP3IpHab40CClUfhNmdM2WTNP2sa2dni5Q==} - - '@types/markdown-it@12.2.3': + /@types/markdown-it@12.2.3: resolution: {integrity: sha512-GKMHFfv3458yYy+v/N8gjufHO6MSZKCOXpZc5GXIWWy8uldwfmPn98vp81gZ5f9SVw8YYBctgfJ22a2d7AOMeQ==} + dependencies: + '@types/linkify-it': 3.0.2 + '@types/mdurl': 1.0.2 + dev: true - '@types/markdown-it@13.0.9': - resolution: {integrity: sha512-1XPwR0+MgXLWfTn9gCsZ55AHOKW1WN+P9vr0PaQh5aerR9LLQXUbjfEAFhjmEmyoYFWAyuN2Mqkn40MZ4ukjBw==} - - '@types/mdast@3.0.11': - resolution: {integrity: sha512-Y/uImid8aAwrEA24/1tcRZwpxX3pIFTSilcNDKSPn+Y2iDywSEachzRuvgAYYLR3wpGXAsMbv5lvKLDZLeYPAw==} - - '@types/mdurl@1.0.2': + /@types/mdurl@1.0.2: resolution: {integrity: sha512-eC4U9MlIcu2q0KQmXszyn5Akca/0jrQmwDRgpAMJai7qBWq4amIQhZyNau4VYGtCeALvW1/NtjzJJ567aZxfKA==} + dev: true - '@types/mime-types@2.1.1': + /@types/mime-types@2.1.1: resolution: {integrity: sha512-vXOTGVSLR2jMw440moWTC7H19iUyLtP3Z1YTj7cSsubOICinjMxFeb/V57v9QdyyPGbbWolUFSSmSiRSn94tFw==} + dev: true - '@types/minimist@1.2.2': + /@types/minimist@1.2.2: resolution: {integrity: sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==} + dev: true - '@types/netmask@2.0.0': + /@types/netmask@2.0.0: resolution: {integrity: sha512-6LjGn0BPF0gOHGuRuJ0hGfdBJLz/9K8Ikz+oRThTNc2w7CGLvwqdjAP7/CydsUeL4cxBBXAHLFfC9bMs74757Q==} + dev: true - '@types/node-forge@1.3.2': + /@types/node-forge@1.3.2: resolution: {integrity: sha512-TzX3ahoi9xbmaoT58smrBu7oa6dQXb/+PTNCslZyD/55tlJ/osofIMClzZsoo6buDFrg7e4DvVGkZqVgv6OLxw==} + dependencies: + '@types/node': 16.18.23 + dev: true - '@types/node@17.0.45': - resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==} + /@types/node@16.18.23: + resolution: {integrity: sha512-XAMpaw1s1+6zM+jn2tmw8MyaRDIJfXxqmIQIS0HfoGYPuf7dUWeiUKopwq13KFX9lEp1+THGtlaaYx39Nxr58g==} + dev: true - '@types/node@18.15.11': + /@types/node@18.15.11: resolution: {integrity: sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==} + dev: true - '@types/normalize-package-data@2.4.1': - resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==} - - '@types/object.omit@3.0.0': + /@types/object.omit@3.0.0: resolution: {integrity: sha512-I27IoPpH250TUzc9FzXd0P1BV/BMJuzqD3jOz98ehf9dQqGkxlq+hO1bIqZGWqCg5bVOy0g4AUVJtnxe0klDmw==} + dev: false - '@types/object.pick@1.3.2': + /@types/object.pick@1.3.2: resolution: {integrity: sha512-sn7L+qQ6RLPdXRoiaE7bZ/Ek+o4uICma/lBFPyJEKDTPTBP1W8u0c4baj3EiS4DiqLs+Hk+KUGvMVJtAw3ePJg==} + dev: false - '@types/ps-tree@1.1.2': + /@types/parse5@6.0.3: + resolution: {integrity: sha512-SuT16Q1K51EAVPz1K29DJ/sXjhSQ0zjvsypYJ6tlwVsRV9jwW5Adq2ch8Dq8kDBCkYnELS7N7VNCSB5nC56t/g==} + dev: true + + /@types/prettier@2.7.2: + resolution: {integrity: sha512-KufADq8uQqo1pYKVIYzfKbJfBAc0sOeXqGbFaSpv8MRmC/zXgowNZmFcbngndGk922QDmOASEXUZCaY48gs4cg==} + dev: true + + /@types/ps-tree@1.1.2: resolution: {integrity: sha512-ZREFYlpUmPQJ0esjxoG1fMvB2HNaD3z+mjqdSosZvd3RalncI9NEur73P8ZJz4YQdL64CmV1w0RuqoRUlhQRBw==} + dev: true - '@types/qrcode@1.5.0': + /@types/qrcode@1.5.0: resolution: {integrity: sha512-x5ilHXRxUPIMfjtM+1vf/GPTRWZ81nqscursm5gMznJeK9M0YnZ1c3bEvRLQ0zSSgedLx1J6MGL231ObQGGhaA==} + dependencies: + '@types/node': 16.18.23 + dev: true - '@types/resolve@1.20.2': - resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==} + /@types/randombytes@2.0.0: + resolution: {integrity: sha512-bz8PhAVlwN72vqefzxa14DKNT8jK/mV66CSjwdVQM/k3Th3EPKfUtdMniwZgMedQTFuywAsfjnZsg+pEnltaMA==} + dependencies: + '@types/node': 16.18.23 + dev: true - '@types/semver@7.5.0': - resolution: {integrity: sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==} + /@types/resolve@1.17.1: + resolution: {integrity: sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==} + dependencies: + '@types/node': 16.18.23 + dev: true - '@types/throttle-debounce@2.1.0': + /@types/semver@7.3.13: + resolution: {integrity: sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==} + dev: true + + /@types/throttle-debounce@2.1.0: resolution: {integrity: sha512-5eQEtSCoESnh2FsiLTxE121IiE60hnMqcb435fShf4bpLRjEu1Eoekht23y6zXS9Ts3l+Szu3TARnTsA0GkOkQ==} + dev: false - '@types/tough-cookie@4.0.2': + /@types/tough-cookie@4.0.2: resolution: {integrity: sha512-Q5vtl1W5ue16D+nIaW8JWebSSraJVlK+EthKn7e7UcD4KWsaSJ8BqGPXNaPghgtcn/fhvrN17Tv8ksUsQpiplw==} + dev: true - '@types/trusted-types@2.0.3': + /@types/trusted-types@2.0.3: resolution: {integrity: sha512-NfQ4gyz38SL8sDNrSixxU2Os1a5xcdFxipAFxYEuLUlvU2uDwS4NUpsImcf1//SlWItCVMMLiylsxbmNMToV/g==} + dev: true - '@types/trusted-types@2.0.7': - resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==} - - '@types/ua-parser-js@0.7.36': + /@types/ua-parser-js@0.7.36: resolution: {integrity: sha512-N1rW+njavs70y2cApeIw1vLMYXRwfBy+7trgavGuuTfOd7j1Yh7QTRc/yqsPl6ncokt72ZXuxEU0PiCp9bSwNQ==} + dev: true - '@types/unist@2.0.6': - resolution: {integrity: sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==} + /@types/uuid@8.3.4: + resolution: {integrity: sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==} + dev: true - '@types/uuid@9.0.0': - resolution: {integrity: sha512-kr90f+ERiQtKWMz5rP32ltJ/BtULDI5RVO0uavn1HQUOwjx0R1h0rnDYNL0CepF1zL5bSY6FISAfd9tOdDhU5Q==} + /@types/web-bluetooth@0.0.14: + resolution: {integrity: sha512-5d2RhCard1nQUC3aHcq/gHzWYO6K0WJmAbjO7mQJgCQKtZpgXxv1rOM6O/dBDhDYYVutk1sciOgNSe+5YyfM8A==} - '@types/web-bluetooth@0.0.17': - resolution: {integrity: sha512-4p9vcSmxAayx72yn70joFoL44c9MO/0+iVEBIQXe3v2h2SiAsEIo/G5v6ObFWvNKRFjbrVadNf9LqEEZeQPzdA==} - - '@types/which@2.0.2': + /@types/which@2.0.2: resolution: {integrity: sha512-113D3mDkZDjo+EeUEHCFy0qniNc1ZpecGiAU7WSo7YDoSzolZIQKpYFHrPpjkB2nuyahcKfrmLXeQlh7gqJYdw==} + dev: true - '@typescript-eslint/eslint-plugin@6.4.1': - resolution: {integrity: sha512-3F5PtBzUW0dYlq77Lcqo13fv+58KDwUib3BddilE8ajPJT+faGgxmI9Sw+I8ZS22BYwoir9ZhNXcLi+S+I2bkw==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha - eslint: ^7.0.0 || ^8.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - - '@typescript-eslint/parser@6.4.1': - resolution: {integrity: sha512-610G6KHymg9V7EqOaNBMtD1GgpAmGROsmfHJPXNLCU9bfIuLrkdOygltK784F6Crboyd5tBFayPB7Sf0McrQwg==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - eslint: ^7.0.0 || ^8.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - - '@typescript-eslint/scope-manager@5.60.0': - resolution: {integrity: sha512-hakuzcxPwXi2ihf9WQu1BbRj1e/Pd8ZZwVTG9kfbxAMZstKz8/9OoexIwnmLzShtsdap5U/CoQGRCWlSuPbYxQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - - '@typescript-eslint/scope-manager@6.4.1': - resolution: {integrity: sha512-p/OavqOQfm4/Hdrr7kvacOSFjwQ2rrDVJRPxt/o0TOWdFnjJptnjnZ+sYDR7fi4OimvIuKp+2LCkc+rt9fIW+A==} - engines: {node: ^16.0.0 || >=18.0.0} - - '@typescript-eslint/scope-manager@6.9.1': - resolution: {integrity: sha512-38IxvKB6NAne3g/+MyXMs2Cda/Sz+CEpmm+KLGEM8hx/CvnSRuw51i8ukfwB/B/sESdeTGet1NH1Wj7I0YXswg==} - engines: {node: ^16.0.0 || >=18.0.0} - - '@typescript-eslint/type-utils@6.4.1': - resolution: {integrity: sha512-7ON8M8NXh73SGZ5XvIqWHjgX2f+vvaOarNliGhjrJnv1vdjG0LVIz+ToYfPirOoBi56jxAKLfsLm40+RvxVVXA==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - eslint: ^7.0.0 || ^8.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - - '@typescript-eslint/types@5.60.0': - resolution: {integrity: sha512-ascOuoCpNZBccFVNJRSC6rPq4EmJ2NkuoKnd6LDNyAQmdDnziAtxbCGWCbefG1CNzmDvd05zO36AmB7H8RzKPA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - - '@typescript-eslint/types@6.4.1': - resolution: {integrity: sha512-zAAopbNuYu++ijY1GV2ylCsQsi3B8QvfPHVqhGdDcbx/NK5lkqMnCGU53amAjccSpk+LfeONxwzUhDzArSfZJg==} - engines: {node: ^16.0.0 || >=18.0.0} - - '@typescript-eslint/types@6.9.1': - resolution: {integrity: sha512-BUGslGOb14zUHOUmDB2FfT6SI1CcZEJYfF3qFwBeUrU6srJfzANonwRYHDpLBuzbq3HaoF2XL2hcr01c8f8OaQ==} - engines: {node: ^16.0.0 || >=18.0.0} - - '@typescript-eslint/typescript-estree@5.60.0': - resolution: {integrity: sha512-R43thAuwarC99SnvrBmh26tc7F6sPa2B3evkXp/8q954kYL6Ro56AwASYWtEEi+4j09GbiNAHqYwNNZuNlARGQ==} + /@typescript-eslint/eslint-plugin@5.58.0(@typescript-eslint/parser@5.58.0)(eslint@8.38.0)(typescript@4.5.5): + resolution: {integrity: sha512-vxHvLhH0qgBd3/tW6/VccptSfc8FxPQIkmNTVLWcCOVqSBvqpnKkBTYrhcGlXfSnd78azwe+PsjYFj0X34/njA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: + '@typescript-eslint/parser': ^5.0.0 + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 typescript: '*' peerDependenciesMeta: typescript: optional: true + dependencies: + '@eslint-community/regexpp': 4.5.0 + '@typescript-eslint/parser': 5.58.0(eslint@8.38.0)(typescript@4.5.5) + '@typescript-eslint/scope-manager': 5.58.0 + '@typescript-eslint/type-utils': 5.58.0(eslint@8.38.0)(typescript@4.5.5) + '@typescript-eslint/utils': 5.58.0(eslint@8.38.0)(typescript@4.5.5) + debug: 4.3.4 + eslint: 8.38.0 + grapheme-splitter: 1.0.4 + ignore: 5.2.4 + natural-compare-lite: 1.4.0 + semver: 7.4.0 + tsutils: 3.21.0(typescript@4.5.5) + typescript: 4.5.5 + transitivePeerDependencies: + - supports-color + dev: true - '@typescript-eslint/typescript-estree@6.4.1': - resolution: {integrity: sha512-xF6Y7SatVE/OyV93h1xGgfOkHr2iXuo8ip0gbfzaKeGGuKiAnzS+HtVhSPx8Www243bwlW8IF7X0/B62SzFftg==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - - '@typescript-eslint/typescript-estree@6.9.1': - resolution: {integrity: sha512-U+mUylTHfcqeO7mLWVQ5W/tMLXqVpRv61wm9ZtfE5egz7gtnmqVIw9ryh0mgIlkKk9rZLY3UHygsBSdB9/ftyw==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - - '@typescript-eslint/utils@5.60.0': - resolution: {integrity: sha512-ba51uMqDtfLQ5+xHtwlO84vkdjrqNzOnqrnwbMHMRY8Tqeme8C2Q8Fc7LajfGR+e3/4LoYiWXUM6BpIIbHJ4hQ==} + /@typescript-eslint/parser@5.58.0(eslint@8.38.0)(typescript@4.5.5): + resolution: {integrity: sha512-ixaM3gRtlfrKzP8N6lRhBbjTow1t6ztfBvQNGuRM8qH1bjFFXIJ35XY+FC0RRBKn3C6cT+7VW1y8tNm7DwPHDQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - - '@typescript-eslint/utils@6.4.1': - resolution: {integrity: sha512-F/6r2RieNeorU0zhqZNv89s9bDZSovv3bZQpUNOmmQK1L80/cV4KEu95YUJWi75u5PhboFoKUJBnZ4FQcoqhDw==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - eslint: ^7.0.0 || ^8.0.0 - - '@typescript-eslint/utils@6.9.1': - resolution: {integrity: sha512-L1T0A5nFdQrMVunpZgzqPL6y2wVreSyHhKGZryS6jrEN7bD9NplVAyMryUhXsQ4TWLnZmxc2ekar/lSGIlprCA==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - eslint: ^7.0.0 || ^8.0.0 - - '@typescript-eslint/visitor-keys@5.60.0': - resolution: {integrity: sha512-wm9Uz71SbCyhUKgcaPRauBdTegUyY/ZWl8gLwD/i/ybJqscrrdVSFImpvUz16BLPChIeKBK5Fa9s6KDQjsjyWw==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - - '@typescript-eslint/visitor-keys@6.4.1': - resolution: {integrity: sha512-y/TyRJsbZPkJIZQXrHfdnxVnxyKegnpEvnRGNam7s3TRR2ykGefEWOhaef00/UUN3IZxizS7BTO3svd3lCOJRQ==} - engines: {node: ^16.0.0 || >=18.0.0} - - '@typescript-eslint/visitor-keys@6.9.1': - resolution: {integrity: sha512-MUaPUe/QRLEffARsmNfmpghuQkW436DvESW+h+M52w0coICHRfD6Np9/K6PdACwnrq1HmuLl+cSPZaJmeVPkSw==} - engines: {node: ^16.0.0 || >=18.0.0} - - '@unhead/dom@0.5.1': - resolution: {integrity: sha512-cdRzGbZVWTgbwl9HiG3RZzzPThXmhj5afGB2BLRwbE+3IiwqUpMjL6v8bDjE5qttvH4YrK9AD9O8fFP9XyZQpg==} - - '@unhead/schema@0.5.1': - resolution: {integrity: sha512-Wk8v18jj3PwTFSKai8YZ1ObieBQ9N2pJUvnsy6JhwCSJnLA7e0GrSP/zuluq3GZzyLNJgTr19BDmHgpDPlN61g==} - - '@unhead/ssr@0.5.1': - resolution: {integrity: sha512-F8DhVWMlfKfPvtnpPmVjVXF0HndA/ZShGzaIoCQEJt3Cfr/q4AsdvCiGreI3D4MHB3IXwXPSReV8WQenfo3Z1g==} - - '@unhead/vue@0.5.1': - resolution: {integrity: sha512-s4y4uj3NMqaUs0K+WQXbWGj/2+Glk/DEJ9yeJOcJIiro/+IhUMByD71jyCM43Xn8YBPy14VY/ZYb9ZFU2WCZgw==} - peerDependencies: - vue: '>=2.7 || >=3' - - '@unocss/astro@0.65.1': - resolution: {integrity: sha512-SnSoghbPWNC7Kxia/M0DuaYMcSmmeY7N54TYoNceQl23Ru2HioZvgjAJ+XtrK9B+Rvk+q9irGDTqhcadLVQ3Vg==} - peerDependencies: - vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 || ^6.0.0-0 + typescript: '*' peerDependenciesMeta: - vite: + typescript: optional: true + dependencies: + '@typescript-eslint/scope-manager': 5.58.0 + '@typescript-eslint/types': 5.58.0 + '@typescript-eslint/typescript-estree': 5.58.0(typescript@4.5.5) + debug: 4.3.4 + eslint: 8.38.0 + typescript: 4.5.5 + transitivePeerDependencies: + - supports-color + dev: true - '@unocss/cli@0.65.1': - resolution: {integrity: sha512-yV0n7+7hfxHtO+lXSElp8Zy2R5KM1ZVj9UWCemxQTJtKO+2KWk9HvGFR84Hs9+dno06GaOyQgpK1pBfmID0W0w==} - engines: {node: '>=14'} - hasBin: true + /@typescript-eslint/scope-manager@5.58.0: + resolution: {integrity: sha512-b+w8ypN5CFvrXWQb9Ow9T4/6LC2MikNf1viLkYTiTbkQl46CnR69w7lajz1icW0TBsYmlpg+mRzFJ4LEJ8X9NA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + '@typescript-eslint/types': 5.58.0 + '@typescript-eslint/visitor-keys': 5.58.0 + dev: true - '@unocss/config@0.57.1': - resolution: {integrity: sha512-mbuVO0mH1PX7rEkViMNWb3jG1ji7TUydo2DdnMHhJE+dOrGtnQzhzXGlAd4qqel1fnt/VWuOyZKwJA3QO6VCtg==} - engines: {node: '>=14'} - - '@unocss/config@0.65.1': - resolution: {integrity: sha512-Akf5Vm2bGrUK/a10QBF3GLETFJnwW1G8ThPevrOCj0lBVWKlN5eMQnodyNdoCw+JMPfCPZdg+4lU8cJJIRAAbQ==} - engines: {node: '>=14'} - - '@unocss/core@0.31.17': - resolution: {integrity: sha512-DJ3Uk2ePVXvV1qQmgoLK44aqB6f0s+naOEvouI97nzVXDZgxDQPBxIPB/L4vvE4U+gQxEiHwwE3gJ75iPqVzXw==} - - '@unocss/core@0.57.1': - resolution: {integrity: sha512-cqQW/4gCuk+bFMPg9lBanuRNQ9Lx1l4PpMN/6uKxI5WROpq7ce/Xb4uGvAxKLh3ITtFSpXs2cLfsy7QD6cVD/Q==} - - '@unocss/core@0.65.1': - resolution: {integrity: sha512-Ke0WNZjfSCE6pniJb8PjiwhO6/McxVb1EQYrkkz8aJuR83xu+AEcTog9D4N9EUkRfHS5tZYXQtTj4Uh90T6CEg==} - - '@unocss/eslint-config@0.57.1': - resolution: {integrity: sha512-49okz5jnpiB8uPWVRm9+iEvPaTCIm9dLwAVqN8ZMKq33SuGeTfX/dNR6i8/iKyFMBHPrLmvh3WPGq5iIAZTawQ==} - engines: {node: '>=14'} - - '@unocss/eslint-plugin@0.57.1': - resolution: {integrity: sha512-aErMKeSkJ78bXlqNd2bb0qzebKXAWVHcCSsP58xuzQsLkaNvwtj+/MrYDuF5PCNZakUCR1snfP4f/MGCP4+OmQ==} - engines: {node: '>=14'} - - '@unocss/extractor-arbitrary-variants@0.65.1': - resolution: {integrity: sha512-VpF7j29TlmVjNolkIjhQ/cwYkuPUoXLv+ko62YRMibE5632QepbNob69pNYGOZustrZt3LvgHD/GcriKwJO4BA==} - - '@unocss/inspector@0.65.1': - resolution: {integrity: sha512-RtONVp7rPpfSarr48qVEEsm201JyQSv6M21lqu1IzQZ62LQB5Gmi59Y+XR6cYDtwSn5ZUGxowR7nIRTPBMcxkw==} - - '@unocss/postcss@0.65.1': - resolution: {integrity: sha512-k7mKObxE4o1gApICri20TpI0lT/dtEQv+uYEOrFz267jgPVo3VD6umHsTOLA+OoQ5Bf7VEYQXSeV0oA96j0o1w==} - engines: {node: '>=14'} + /@typescript-eslint/type-utils@5.58.0(eslint@8.38.0)(typescript@4.5.5): + resolution: {integrity: sha512-FF5vP/SKAFJ+LmR9PENql7fQVVgGDOS+dq3j+cKl9iW/9VuZC/8CFmzIP0DLKXfWKpRHawJiG70rVH+xZZbp8w==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: - postcss: ^8.4.21 + eslint: '*' + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/typescript-estree': 5.58.0(typescript@4.5.5) + '@typescript-eslint/utils': 5.58.0(eslint@8.38.0)(typescript@4.5.5) + debug: 4.3.4 + eslint: 8.38.0 + tsutils: 3.21.0(typescript@4.5.5) + typescript: 4.5.5 + transitivePeerDependencies: + - supports-color + dev: true - '@unocss/preset-attributify@0.65.1': - resolution: {integrity: sha512-bmu9JELcpwgrXA5RonvFeWb38RcUz82wpWfyDwKdQRJHD3MnYQ5lN03W4B7nMsAflc4ls7XQZLzhn9iYhbYYqg==} + /@typescript-eslint/types@5.58.0: + resolution: {integrity: sha512-JYV4eITHPzVQMnHZcYJXl2ZloC7thuUHrcUmxtzvItyKPvQ50kb9QXBkgNAt90OYMqwaodQh2kHutWZl1fc+1g==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true - '@unocss/preset-icons@0.65.1': - resolution: {integrity: sha512-lFGy4PpfClhiRV6Wwn4w79qd53B7QCkEmsP4YF2Px274X0t2av0QjMH+bvo6TrFIsHGKzq0Lxg836SoaPg5YJA==} - - '@unocss/preset-mini@0.31.17': - resolution: {integrity: sha512-gVgMTOKLt3O1ym348QIBmR5sS9W0Ozkk5xelhH6e0VXcpg0dXDPDrl4hFErMy4x6IB86yyJG6Dz5JhcwQB13Ig==} - - '@unocss/preset-mini@0.65.1': - resolution: {integrity: sha512-dKIxi+ChWSZvXG8I7yVBjw4FLHdAvKrrCN9bjKpR4/4epKD6jRtEcR6S1wL6XSBWabh7V7D/VbVk+XZ6WsGuXA==} - - '@unocss/preset-tagify@0.65.1': - resolution: {integrity: sha512-u0yWFXyyBumglFvn87MT7kasa3KPAWTiIHkTCVu8tNEFNfJzR9BZLEXGAtwrhqMm0pSCnDdqupwBLBQoVX8zEA==} - - '@unocss/preset-typography@0.65.1': - resolution: {integrity: sha512-/fcgKU+uQ/RISRdJHTuSQh41Td/tAngSUzr+7Ry8f1UqI5NTjtGOixgfByPC+ZZ/V8f1DdjigaVy7Q3c+meUMg==} - - '@unocss/preset-uno@0.65.1': - resolution: {integrity: sha512-OSEkphrlR9/RM5un9t9AqVQXOGBLJgjcEweZSm2ng9AK7BsxBXuVP1FelmRqeXVYT5uFtBoD4dfgCgBjGFIW9Q==} - - '@unocss/preset-web-fonts@0.65.1': - resolution: {integrity: sha512-29TO8kCfvOaHj5O3a3SZIXuOwvg7raPcdmuFKB9KFM3J2pYv4PB1cLBrw6h9DWwAAnJUSQpGx9QmKIBEPnDhlw==} - - '@unocss/preset-wind@0.65.1': - resolution: {integrity: sha512-7rw3hAWOkWMSjoprWKcQidqJRFQm8qM0IdLjFLQa2ROSzPSnIlNisXGEwAphf4/VYdP7+URUnu5eySQsIRWRzg==} - - '@unocss/reset@0.65.1': - resolution: {integrity: sha512-qyxF7rKGX+Cu3FpV8KCRQbtCvFcBpmzvx5A2wal77tIhrFR5VSH7NzCVmgs2+V9FXvU3aWVNZ79i1KMnLZ5Mjg==} - - '@unocss/rule-utils@0.65.1': - resolution: {integrity: sha512-XGXdXsRmIuMDQk/3Fd3g5JMhsyDGWsTfs6aN4vFQ1rfdSgY4UwbslqUNbIH9xxoTfmzUOJ2lhNrFw78RygCNSA==} - engines: {node: '>=14'} - - '@unocss/transformer-attributify-jsx@0.65.1': - resolution: {integrity: sha512-FR6pAnsHgflIumSl6Y5J+cWUtt2wNPANFWdGd1jNLpcBXDummEd0U+U9VGOfB8AOT263DW0U0JE7vH5xiwVaog==} - - '@unocss/transformer-compile-class@0.65.1': - resolution: {integrity: sha512-yTs2u8bxGlTXEQ+XYFuS+kapLuLJr7yvNRRTg1hS+2OFdpT8E/PfxAgdGEzMfmrjommjF4BnJ8AAtK+Wsg5s4w==} - - '@unocss/transformer-directives@0.65.1': - resolution: {integrity: sha512-6D3QSeSWXCA+Jc+BQGwat0RfcNtYZdyFFpP+zr1cFpK7nwNZqwqZU+mcY8nywu/u+hYuEQMWPMzEYDAssMfUQQ==} - - '@unocss/transformer-variant-group@0.65.1': - resolution: {integrity: sha512-LdSPDVpVCrMfgTKtGyWz0KkBXiJqFO8FRhiL4/9Hyaf+ECoWQ7RODgO6dKWyFIZEBjkLFK2toeZZvM+KYQlBlw==} - - '@unocss/vite@0.65.1': - resolution: {integrity: sha512-5242hAlgTVUA+tJ9mwo/cpLqD9f4dn5V/prTmtIci0Y7zMsVeBlnQwfsV4MhyTVaF3eFxDy5AUEFiOuXo12rbQ==} - peerDependencies: - vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 || ^6.0.0-0 - - '@vicons/material@0.12.0': - resolution: {integrity: sha512-chv1CYAl8P32P3Ycwgd5+vw/OFNc2mtkKdb1Rw4T5IJmKy6GVDsoUKV3N2l208HATn7CCQphZtuPDdsm7K2kmA==} - - '@vicons/tabler@0.12.0': - resolution: {integrity: sha512-3+wUFuxb7e8OzZ8Wryct1pzfA2vyoF4lwW98O9s27ZrfCGaJGNmqG+q8A7vQ92Mf+COCgxpK+rhNPTtTvaU6qw==} - - '@vitejs/plugin-vue-jsx@3.0.2': - resolution: {integrity: sha512-obF26P2Z4Ogy3cPp07B4VaW6rpiu0ue4OT2Y15UxT5BZZ76haUY9guOsZV3uWh/I6xc+VeiW+ZVabRE82FyzWw==} - engines: {node: ^14.18.0 || >=16.0.0} - peerDependencies: - vite: ^4.0.0 - vue: ^3.0.0 - - '@vitejs/plugin-vue@4.3.2': - resolution: {integrity: sha512-iDDhGruwhKkwNwT5qgtGaeTxF4ULs52xpQbsC27F01kf3aQBHtrDP738pmHw4oclVAUA3m+Vk8gxhDV5KbfM+A==} - engines: {node: ^14.18.0 || >=16.0.0} - peerDependencies: - vite: ^4.0.0 - vue: ^3.2.25 - - '@vitest/expect@0.34.0': - resolution: {integrity: sha512-d1ZU0XomWFAFyYIc6uNuY0N8NJIWESyO/6ZmwLvlHZw0GevH4AEEpq178KjXIvSCrbHN0GnzYzitd0yjfy7+Ow==} - - '@vitest/runner@0.34.0': - resolution: {integrity: sha512-xaqM+oArJothtYXzy/dwu/iHe93Khq5QkvnYbzTxiLA0enD2peft1cask3yE6cJpwMkr7C2D1uMJwnTt4mquDw==} - - '@vitest/snapshot@0.34.0': - resolution: {integrity: sha512-eGN5XBZHYOghxCOQbf8dcn6/3g7IW77GOOOC/mNFYwRXsPeoQgcgWnhj+6wgJ04pVv25wpxWL9jUkzaQ7LoFtg==} - - '@vitest/spy@0.34.0': - resolution: {integrity: sha512-0SZaWrQvL9ZiF/uJvyWSvsKjfuMvD1M6dE5BbE4Dmt8Vh3k4htwCV8g3ce8YOYmJSxkbh6TNOpippD6NVsxW6w==} - - '@vitest/utils@0.34.0': - resolution: {integrity: sha512-IktrDLhBKf3dEUUxH+lcHiPnaw952+GdGvoxg99liMscgP6IePf6LuMY7B9dEIHkFunB1R8VMR/wmI/4UGg1aw==} - - '@volar/language-core@1.7.8': - resolution: {integrity: sha512-TPklg4c2e/f1xB/MGZEiQc3AWG+dH64ZfBlYjFB8nNaWJt4Z4k+IHBhmaP52APG+5PHFerwiWI9oF002RrRTPA==} - - '@volar/source-map@1.7.8': - resolution: {integrity: sha512-g2dtC2kOghvfzMDWeODIo4HO1Ml4hxzPTZyAFDz+YhRF9HjZYJSCaWaVuPZ+z0kY+T2daOHYA10GdrWQ5q0teA==} - - '@volar/typescript@1.7.8': - resolution: {integrity: sha512-NDcI5ZQcdr8kgxzMQrhSSWIM8Tl0MbMFrkvJPTjfm2rdAQZPFT8zv3LrEW9Fqh0e9z2YbCry7jr4a/GShBqeDA==} - - '@vue/babel-helper-vue-transform-on@1.1.5': - resolution: {integrity: sha512-SgUymFpMoAyWeYWLAY+MkCK3QEROsiUnfaw5zxOVD/M64KQs8D/4oK6Q5omVA2hnvEOE0SCkH2TZxs/jnnUj7w==} - - '@vue/babel-plugin-jsx@1.1.5': - resolution: {integrity: sha512-nKs1/Bg9U1n3qSWnsHhCVQtAzI6aQXqua8j/bZrau8ywT1ilXQbK4FwEJGmU8fV7tcpuFvWmmN7TMmV1OBma1g==} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@vue/compiler-core@3.2.47': - resolution: {integrity: sha512-p4D7FDnQb7+YJmO2iPEv0SQNeNzcbHdGByJDsT4lynf63AFkOTFN07HsiRSvjGo0QrxR/o3d0hUyNCUnBU2Tig==} - - '@vue/compiler-core@3.3.4': - resolution: {integrity: sha512-cquyDNvZ6jTbf/+x+AgM2Arrp6G4Dzbb0R64jiG804HRMfRiFXWI6kqUVqZ6ZR0bQhIoQjB4+2bhNtVwndW15g==} - - '@vue/compiler-core@3.3.7': - resolution: {integrity: sha512-pACdY6YnTNVLXsB86YD8OF9ihwpolzhhtdLVHhBL6do/ykr6kKXNYABRtNMGrsQXpEXXyAdwvWWkuTbs4MFtPQ==} - - '@vue/compiler-core@3.5.13': - resolution: {integrity: sha512-oOdAkwqUfW1WqpwSYJce06wvt6HljgY3fGeM9NcVA1HaYOij3mZG9Rkysn0OHuyUAGMbEbARIpsG+LPVlBJ5/Q==} - - '@vue/compiler-dom@3.2.47': - resolution: {integrity: sha512-dBBnEHEPoftUiS03a4ggEig74J2YBZ2UIeyfpcRM2tavgMWo4bsEfgCGsu+uJIL/vax9S+JztH8NmQerUo7shQ==} - - '@vue/compiler-dom@3.3.4': - resolution: {integrity: sha512-wyM+OjOVpuUukIq6p5+nwHYtj9cFroz9cwkfmP9O1nzH68BenTTv0u7/ndggT8cIQlnBeOo6sUT/gvHcIkLA5w==} - - '@vue/compiler-dom@3.3.7': - resolution: {integrity: sha512-0LwkyJjnUPssXv/d1vNJ0PKfBlDoQs7n81CbO6Q0zdL7H1EzqYRrTVXDqdBVqro0aJjo/FOa1qBAPVI4PGSHBw==} - - '@vue/compiler-dom@3.5.13': - resolution: {integrity: sha512-ZOJ46sMOKUjO3e94wPdCzQ6P1Lx/vhp2RSvfaab88Ajexs0AHeV0uasYhi99WPaogmBlRHNRuly8xV75cNTMDA==} - - '@vue/compiler-sfc@3.2.47': - resolution: {integrity: sha512-rog05W+2IFfxjMcFw10tM9+f7i/+FFpZJJ5XHX72NP9eC2uRD+42M3pYcQqDXVYoj74kHMSEdQ/WmCjt8JFksQ==} - - '@vue/compiler-sfc@3.3.4': - resolution: {integrity: sha512-6y/d8uw+5TkCuzBkgLS0v3lSM3hJDntFEiUORM11pQ/hKvkhSKZrXW6i69UyXlJQisJxuUEJKAWEqWbWsLeNKQ==} - - '@vue/compiler-sfc@3.5.13': - resolution: {integrity: sha512-6VdaljMpD82w6c2749Zhf5T9u5uLBWKnVue6XWxprDobftnletJ8+oel7sexFfM3qIxNmVE7LSFGTpv6obNyaQ==} - - '@vue/compiler-ssr@3.2.47': - resolution: {integrity: sha512-wVXC+gszhulcMD8wpxMsqSOpvDZ6xKXSVWkf50Guf/S+28hTAXPDYRTbLQ3EDkOP5Xz/+SY37YiwDquKbJOgZw==} - - '@vue/compiler-ssr@3.3.4': - resolution: {integrity: sha512-m0v6oKpup2nMSehwA6Uuu+j+wEwcy7QmwMkVNVfrV9P2qE5KshC6RwOCq8fjGS/Eak/uNb8AaWekfiXxbBB6gQ==} - - '@vue/compiler-ssr@3.3.7': - resolution: {integrity: sha512-TxOfNVVeH3zgBc82kcUv+emNHo+vKnlRrkv8YvQU5+Y5LJGJwSNzcmLUoxD/dNzv0bhQ/F0s+InlgV0NrApJZg==} - - '@vue/compiler-ssr@3.5.13': - resolution: {integrity: sha512-wMH6vrYHxQl/IybKJagqbquvxpWCuVYpoUJfCqFZwa/JY1GdATAQ+TgVtgrwwMZ0D07QhA99rs/EAAWfvG6KpA==} - - '@vue/devtools-api@6.5.0': - resolution: {integrity: sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q==} - - '@vue/language-core@1.8.1': - resolution: {integrity: sha512-pumv3k4J7P58hVh4YGRM9Qz3HaAr4TlFWM9bnVOkZ/2K9o2CK1lAP2y9Jw+Z0+mNL4F2uWQqnAPzj3seLyfpDA==} + /@typescript-eslint/typescript-estree@5.58.0(typescript@4.5.5): + resolution: {integrity: sha512-cRACvGTodA+UxnYM2uwA2KCwRL7VAzo45syNysqlMyNyjw0Z35Icc9ihPJZjIYuA5bXJYiJ2YGUB59BqlOZT1Q==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: typescript: '*' peerDependenciesMeta: typescript: optional: true + dependencies: + '@typescript-eslint/types': 5.58.0 + '@typescript-eslint/visitor-keys': 5.58.0 + debug: 4.3.4 + globby: 11.1.0 + is-glob: 4.0.3 + semver: 7.4.0 + tsutils: 3.21.0(typescript@4.5.5) + typescript: 4.5.5 + transitivePeerDependencies: + - supports-color + dev: true - '@vue/reactivity-transform@3.2.47': + /@typescript-eslint/utils@5.58.0(eslint@8.38.0)(typescript@4.5.5): + resolution: {integrity: sha512-gAmLOTFXMXOC+zP1fsqm3VceKSBQJNzV385Ok3+yzlavNHZoedajjS4UyS21gabJYcobuigQPs/z71A9MdJFqQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.38.0) + '@types/json-schema': 7.0.11 + '@types/semver': 7.3.13 + '@typescript-eslint/scope-manager': 5.58.0 + '@typescript-eslint/types': 5.58.0 + '@typescript-eslint/typescript-estree': 5.58.0(typescript@4.5.5) + eslint: 8.38.0 + eslint-scope: 5.1.1 + semver: 7.4.0 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + + /@typescript-eslint/visitor-keys@5.58.0: + resolution: {integrity: sha512-/fBraTlPj0jwdyTwLyrRTxv/3lnU2H96pNTVM6z3esTWLtA5MZ9ghSMJ7Rb+TtUAdtEw9EyJzJ0EydIMKxQ9gA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + '@typescript-eslint/types': 5.58.0 + eslint-visitor-keys: 3.4.0 + dev: true + + /@unocss/astro@0.50.8(rollup@2.79.1)(vite@2.9.15): + resolution: {integrity: sha512-kphNlr0PWGzvkCgKx7RaZWQ45khieCCt9OffUnxbRRft+jodsVXIwzHn+bOhGtIKpEpZiOzxRzTYjfW/R6XnTw==} + dependencies: + '@unocss/core': 0.50.8 + '@unocss/reset': 0.50.8 + '@unocss/vite': 0.50.8(rollup@2.79.1)(vite@2.9.15) + transitivePeerDependencies: + - rollup + - vite + dev: true + + /@unocss/cli@0.50.8(rollup@2.79.1): + resolution: {integrity: sha512-LBLt8oxGQSfTubOreXs8L7cxHvuYt4wA1MZ45jf4GT/C4moS8cqL7QFX66+MN/cNwvojqXSXQ2HtRJ1IZojfgA==} + engines: {node: '>=14'} + hasBin: true + dependencies: + '@ampproject/remapping': 2.2.1 + '@rollup/pluginutils': 5.0.2(rollup@2.79.1) + '@unocss/config': 0.50.8 + '@unocss/core': 0.50.8 + '@unocss/preset-uno': 0.50.8 + cac: 6.7.14 + chokidar: 3.5.3 + colorette: 2.0.19 + consola: 2.15.3 + fast-glob: 3.2.12 + magic-string: 0.30.0 + pathe: 1.1.0 + perfect-debounce: 0.1.3 + transitivePeerDependencies: + - rollup + dev: true + + /@unocss/config@0.50.8: + resolution: {integrity: sha512-+Hzl99klLiIq7Lcc5EirTSfBqUH+5NOCmEkXXWcYKYyAk3BLnBU9Fk76P7HxchDwQ5zdwpC4Cq++LQlqbAw/Uw==} + engines: {node: '>=14'} + dependencies: + '@unocss/core': 0.50.8 + unconfig: 0.3.7 + dev: true + + /@unocss/core@0.50.8: + resolution: {integrity: sha512-rWmyeNE0Na8dJPDynLVar0X22qMHFNhO+/F2FZDpG4tubTavXJJo9uvhZr/D381kiWxt+XZ38y6EAD4UMdBqMA==} + dev: true + + /@unocss/eslint-config@0.50.8(eslint@8.38.0)(typescript@4.5.5): + resolution: {integrity: sha512-dZyXT/LaIioHH1zpHXMo+LyvDNVJq2ZuqhB5x8O70qlhz9jqExiIkTRZyYu68r8SEgZFqjcEBsExTdeuO0Cs3g==} + engines: {node: '>=14'} + dependencies: + '@unocss/eslint-plugin': 0.50.8(eslint@8.38.0)(typescript@4.5.5) + transitivePeerDependencies: + - eslint + - supports-color + - typescript + dev: true + + /@unocss/eslint-plugin@0.50.8(eslint@8.38.0)(typescript@4.5.5): + resolution: {integrity: sha512-ks8qyPlGHAec96QA6WjTXkpUHs+sgwE5OA7To4MbKrpnKZXdkA7OvNKykkYi/pogV7GKlfQvbKUqELeTig53gQ==} + engines: {node: '>=14'} + dependencies: + '@typescript-eslint/utils': 5.58.0(eslint@8.38.0)(typescript@4.5.5) + '@unocss/config': 0.50.8 + '@unocss/core': 0.50.8 + magic-string: 0.30.0 + synckit: 0.8.5 + transitivePeerDependencies: + - eslint + - supports-color + - typescript + dev: true + + /@unocss/inspector@0.50.8: + resolution: {integrity: sha512-M963+B9iYGDI7m8KONppJ9EvrDowKWnzzmMLGf+D+qEXmXdnSztMZxEnOdg/caYyHJMw+4jlftyYRZB0VXnAGA==} + dependencies: + gzip-size: 6.0.0 + sirv: 2.0.2 + dev: true + + /@unocss/postcss@0.50.8(postcss@8.4.21): + resolution: {integrity: sha512-UbFD+25EkmBonZggKuQdunAU+1O6O83NcnMqSalhn4vhsr4yHeD4P+Omr+CnBcuOxkP4h2JYHzfzdpe4DZxKYg==} + engines: {node: '>=14'} + peerDependencies: + postcss: ^8.4.21 + dependencies: + '@unocss/config': 0.50.8 + '@unocss/core': 0.50.8 + css-tree: 2.3.1 + fast-glob: 3.2.12 + magic-string: 0.30.0 + postcss: 8.4.21 + dev: true + + /@unocss/preset-attributify@0.50.8: + resolution: {integrity: sha512-aSL+I8OSjnom4RpvUcxIRjYETFhW5n51TA56yB9+ex78z5/EhIzOSS5PytGxJWj4hKUY5W9cZ7sCuUs0eaQ6VA==} + dependencies: + '@unocss/core': 0.50.8 + dev: true + + /@unocss/preset-icons@0.50.8: + resolution: {integrity: sha512-tQ05aP7ZRRP39+egB16gFMK6fkEdS8ob4rJeqUG6vEXiiAFWVbotI/NbHQapqk3wRthmyI3d9rUtxClJ2micvw==} + dependencies: + '@iconify/utils': 2.1.5 + '@unocss/core': 0.50.8 + ofetch: 1.0.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@unocss/preset-mini@0.50.8: + resolution: {integrity: sha512-/4sbOdyaqJMvFkw1xzo2+h6bZJHw6WCYw1mF+f0ydHzj8ruvwaj9ClDDOweW5cdrk3wzDzRZ6NPRahKqLwv6/Q==} + dependencies: + '@unocss/core': 0.50.8 + dev: true + + /@unocss/preset-tagify@0.50.8: + resolution: {integrity: sha512-CNm9wEmDGEsCvBgWTBOPhH5ts5iobQh5mBeZyH2uCKuQNX+Vc21tXLX78bCk2V4yJ7mpqUWokDNqgTaNhTZjnw==} + dependencies: + '@unocss/core': 0.50.8 + dev: true + + /@unocss/preset-typography@0.50.8: + resolution: {integrity: sha512-jraHusTmbJq9UHgQ43ifzVJobTyoJLuGzeGqBzgLNac+V4BltzqHghup6obA09asQio7xe+crFkTV4IXWNK1lA==} + dependencies: + '@unocss/core': 0.50.8 + '@unocss/preset-mini': 0.50.8 + dev: true + + /@unocss/preset-uno@0.50.8: + resolution: {integrity: sha512-BVgGpv+G9dauX6oRuno8ATOx6bjykiTGuy9NWZCG+/0vux0wplylQm/nSWYsEZZoxRwGOaAoNx93TeOPoofrXQ==} + dependencies: + '@unocss/core': 0.50.8 + '@unocss/preset-mini': 0.50.8 + '@unocss/preset-wind': 0.50.8 + dev: true + + /@unocss/preset-web-fonts@0.50.8: + resolution: {integrity: sha512-diGJVTC3W2lovRL9hlV7h4mdzKjoyJD1rlLai2QMZP/+UCsEwDcL9JFF0lZTlEN5GtcbgvcyPRZKB1/ituvjdg==} + dependencies: + '@unocss/core': 0.50.8 + ofetch: 1.0.1 + dev: true + + /@unocss/preset-wind@0.50.8: + resolution: {integrity: sha512-lF6MAJm2HVF8GJoBIIus1cpZL1ybisj8fl3KYEzVUFUWCwmNnxG4rr+CGnck3bDRYk2zmEvTwX+cISTCwq2u1Q==} + dependencies: + '@unocss/core': 0.50.8 + '@unocss/preset-mini': 0.50.8 + dev: true + + /@unocss/reset@0.50.8: + resolution: {integrity: sha512-2WoM6O9VyuHDPAnvCXr7LBJQ8ZRHDnuQAFsL1dWXp561Iq2l9whdNtPuMcozLGJGUUrFfVBXIrHY4sfxxScgWg==} + dev: true + + /@unocss/scope@0.50.8: + resolution: {integrity: sha512-QA4G9JYK8jrnU02qi1WBi45S+V0HKNUY0u6h5drYqRkcUho2YrpcfMagYi1A5XGg5ykmtP9e6vx1D9lij+JGnQ==} + dev: true + + /@unocss/transformer-attributify-jsx-babel@0.50.8: + resolution: {integrity: sha512-Eyt0irFRspHpngj+mDbREuVoqJ49csIhcls6NqerqrZKAI4/jYGNLFy99jyM1ry2L3sHwLP7rbT7AoFrWuLnvA==} + dependencies: + '@unocss/core': 0.50.8 + dev: true + + /@unocss/transformer-attributify-jsx@0.50.8: + resolution: {integrity: sha512-Ht2SfxWbkkFgZQE8KEicmOvxk2INQccuiH4gdyycj3y1tkOXU+Xm1QFruJT7+BPHr0QJp257nA0XmQD/Bhd1kA==} + dependencies: + '@unocss/core': 0.50.8 + dev: true + + /@unocss/transformer-compile-class@0.50.8: + resolution: {integrity: sha512-2himb5VinZcx7d72nauoqLGk4niC0sFFK/09lmJxFj1jnZqqYBMS48V0PyUypabA5W+bHQ1TJwqcv95wMHIIzA==} + dependencies: + '@unocss/core': 0.50.8 + dev: true + + /@unocss/transformer-directives@0.50.8: + resolution: {integrity: sha512-x/OdR5lK7Gy1Y4r6cOLG2LccWGWDyflz9cDv4DkZKg7pQShcjNFZ3UMAO+74fJO6Jvhvl9iDYpeTZo8009wr7A==} + dependencies: + '@unocss/core': 0.50.8 + css-tree: 2.3.1 + dev: true + + /@unocss/transformer-variant-group@0.50.8: + resolution: {integrity: sha512-UjDsa3K3Bv11u3q8BYZ4ZrdMhlu937hiQct6sXzFIQcSnOwqOokr/h6V/8aB3hFiPWX/yQuIIQnQJjYTVWZYxw==} + dependencies: + '@unocss/core': 0.50.8 + dev: true + + /@unocss/vite@0.50.8(rollup@2.79.1)(vite@2.9.15): + resolution: {integrity: sha512-pHk7D0jHAlBUKSp0y0dMuKesLSSv1O0fTNewUAz1NUpISTno3zizuKSpRs8OzCFInta6QeAVSaWe8K69PcfFog==} + peerDependencies: + vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 + dependencies: + '@ampproject/remapping': 2.2.1 + '@rollup/pluginutils': 5.0.2(rollup@2.79.1) + '@unocss/config': 0.50.8 + '@unocss/core': 0.50.8 + '@unocss/inspector': 0.50.8 + '@unocss/scope': 0.50.8 + '@unocss/transformer-directives': 0.50.8 + chokidar: 3.5.3 + fast-glob: 3.2.12 + magic-string: 0.30.0 + vite: 2.9.15(less@4.1.3) + transitivePeerDependencies: + - rollup + dev: true + + /@vicons/material@0.12.0: + resolution: {integrity: sha512-chv1CYAl8P32P3Ycwgd5+vw/OFNc2mtkKdb1Rw4T5IJmKy6GVDsoUKV3N2l208HATn7CCQphZtuPDdsm7K2kmA==} + dev: false + + /@vicons/tabler@0.12.0: + resolution: {integrity: sha512-3+wUFuxb7e8OzZ8Wryct1pzfA2vyoF4lwW98O9s27ZrfCGaJGNmqG+q8A7vQ92Mf+COCgxpK+rhNPTtTvaU6qw==} + dev: false + + /@vitejs/plugin-vue-jsx@1.3.10: + resolution: {integrity: sha512-Cf5zznh4yNMiEMBfTOztaDVDmK1XXfgxClzOSUVUc8WAmHzogrCUeM8B05ABzuGtg0D1amfng+mUmSIOFGP3Pw==} + engines: {node: '>=12.0.0'} + dependencies: + '@babel/core': 7.21.4 + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.21.4) + '@babel/plugin-transform-typescript': 7.21.3(@babel/core@7.21.4) + '@rollup/pluginutils': 4.2.1 + '@vue/babel-plugin-jsx': 1.1.1(@babel/core@7.21.4) + hash-sum: 2.0.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@vitejs/plugin-vue@2.3.4(vite@2.9.15)(vue@3.2.47): + resolution: {integrity: sha512-IfFNbtkbIm36O9KB8QodlwwYvTEsJb4Lll4c2IwB3VHc2gie2mSPtSzL0eYay7X2jd/2WX02FjSGTWR6OPr/zg==} + engines: {node: '>=12.0.0'} + peerDependencies: + vite: ^2.5.10 + vue: ^3.2.25 + dependencies: + vite: 2.9.15(less@4.1.3) + vue: 3.2.47 + dev: true + + /@volar/code-gen@0.31.4: + resolution: {integrity: sha512-ngivMEbBNd19v+EHdLyCJoIGRaoD9J4P20ZgdCEGf2voztja59u3Tilpf9r9ENy/731nG7XncToYm4+c1t/LhA==} + dependencies: + '@volar/shared': 0.31.4 + '@volar/source-map': 0.31.4 + dev: true + + /@volar/html2pug@0.31.4: + resolution: {integrity: sha512-+whoP4C34kbCIRyoojZE6luqs7Ep/0YDBD9yEWu82G1ECLIFoujtkZXHbAHiQH8MIs/GwjUmozd85pUGAVQf1w==} + deprecated: 'WARNING: This project has been renamed to @johnsoncodehk/html2pug. Install using @johnsoncodehk/html2pug instead.' + dependencies: + domelementtype: 2.3.0 + domhandler: 4.3.1 + htmlparser2: 7.2.0 + pug: 3.0.2 + dev: true + + /@volar/shared@0.31.4: + resolution: {integrity: sha512-mKSH4GKFde2t3GVEGibBu84jbCk7O1sccELxTgCGHX7ue4nJqgHup8lXhwyfUOfdJ7eyx9luyDsVuJ4BY3gfeg==} + dependencies: + upath: 2.0.1 + vscode-html-languageservice: 4.2.5 + vscode-jsonrpc: 8.1.0 + vscode-uri: 3.0.7 + dev: true + + /@volar/source-map@0.31.4: + resolution: {integrity: sha512-lX/XKKc3ESNt6QArq1T54LSxXvu7ARDctQfkt6qUSNLVR/ccUXwzM+4qiOj39WBbmoDzET33riVYnMXMeGJMvg==} + dependencies: + '@volar/shared': 0.31.4 + vscode-languageserver-textdocument: 1.0.8 + dev: true + + /@volar/transforms@0.31.4: + resolution: {integrity: sha512-081QI2zBvdja4XN3eAtIWmBqDkAyDuuK3xP5mD04T9vMrVfy+WKrzB7n3/Zru7z4DiM70Qo5PoTapQ3Xnz9NzQ==} + dependencies: + '@volar/shared': 0.31.4 + vscode-languageserver-types: 3.17.3 + dev: true + + /@volar/vue-code-gen@0.31.4: + resolution: {integrity: sha512-1ypZfzQfH+lV8JcOOKfYMTAmD6OUeBQSDwu7YRHQkuvoSQzPiXXrjupi0DvHrcWR0hQfh4yRnme6I+ChutW69w==} + dependencies: + '@volar/code-gen': 0.31.4 + '@volar/shared': 0.31.4 + '@volar/source-map': 0.31.4 + '@vue/compiler-core': 3.2.47 + '@vue/compiler-dom': 3.2.47 + '@vue/shared': 3.2.47 + upath: 2.0.1 + dev: true + + /@vscode/emmet-helper@2.8.6: + resolution: {integrity: sha512-IIB8jbiKy37zN8bAIHx59YmnIelY78CGHtThnibD/d3tQOKRY83bYVi9blwmZVUZh6l9nfkYH3tvReaiNxY9EQ==} + dependencies: + emmet: 2.4.2 + jsonc-parser: 2.3.1 + vscode-languageserver-textdocument: 1.0.8 + vscode-languageserver-types: 3.17.3 + vscode-uri: 2.1.2 + dev: true + + /@vue/babel-helper-vue-transform-on@1.0.2: + resolution: {integrity: sha512-hz4R8tS5jMn8lDq6iD+yWL6XNB699pGIVLk7WSJnn1dbpjaazsjZQkieJoRX6gW5zpYSCFqQ7jUquPNY65tQYA==} + dev: true + + /@vue/babel-plugin-jsx@1.1.1(@babel/core@7.21.4): + resolution: {integrity: sha512-j2uVfZjnB5+zkcbc/zsOc0fSNGCMMjaEXP52wdwdIfn0qjFfEYpYZBFKFg+HHnQeJCVrjOeO0YxgaL7DMrym9w==} + dependencies: + '@babel/helper-module-imports': 7.21.4 + '@babel/plugin-syntax-jsx': 7.21.4(@babel/core@7.21.4) + '@babel/template': 7.20.7 + '@babel/traverse': 7.21.4 + '@babel/types': 7.21.4 + '@vue/babel-helper-vue-transform-on': 1.0.2 + camelcase: 6.3.0 + html-tags: 3.3.1 + svg-tags: 1.0.0 + transitivePeerDependencies: + - '@babel/core' + - supports-color + dev: true + + /@vue/compiler-core@3.2.47: + resolution: {integrity: sha512-p4D7FDnQb7+YJmO2iPEv0SQNeNzcbHdGByJDsT4lynf63AFkOTFN07HsiRSvjGo0QrxR/o3d0hUyNCUnBU2Tig==} + dependencies: + '@babel/parser': 7.21.4 + '@vue/shared': 3.2.47 + estree-walker: 2.0.2 + source-map: 0.6.1 + + /@vue/compiler-dom@3.2.47: + resolution: {integrity: sha512-dBBnEHEPoftUiS03a4ggEig74J2YBZ2UIeyfpcRM2tavgMWo4bsEfgCGsu+uJIL/vax9S+JztH8NmQerUo7shQ==} + dependencies: + '@vue/compiler-core': 3.2.47 + '@vue/shared': 3.2.47 + + /@vue/compiler-sfc@3.2.47: + resolution: {integrity: sha512-rog05W+2IFfxjMcFw10tM9+f7i/+FFpZJJ5XHX72NP9eC2uRD+42M3pYcQqDXVYoj74kHMSEdQ/WmCjt8JFksQ==} + dependencies: + '@babel/parser': 7.21.4 + '@vue/compiler-core': 3.2.47 + '@vue/compiler-dom': 3.2.47 + '@vue/compiler-ssr': 3.2.47 + '@vue/reactivity-transform': 3.2.47 + '@vue/shared': 3.2.47 + estree-walker: 2.0.2 + magic-string: 0.25.9 + postcss: 8.4.21 + source-map: 0.6.1 + + /@vue/compiler-ssr@3.2.47: + resolution: {integrity: sha512-wVXC+gszhulcMD8wpxMsqSOpvDZ6xKXSVWkf50Guf/S+28hTAXPDYRTbLQ3EDkOP5Xz/+SY37YiwDquKbJOgZw==} + dependencies: + '@vue/compiler-dom': 3.2.47 + '@vue/shared': 3.2.47 + + /@vue/devtools-api@6.5.0: + resolution: {integrity: sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q==} + dev: false + + /@vue/eslint-config-prettier@7.1.0(eslint@8.38.0)(prettier@2.8.7): + resolution: {integrity: sha512-Pv/lVr0bAzSIHLd9iz0KnvAr4GKyCEl+h52bc4e5yWuDVtLgFwycF7nrbWTAQAS+FU6q1geVd07lc6EWfJiWKQ==} + peerDependencies: + eslint: '>= 7.28.0' + prettier: '>= 2.0.0' + dependencies: + eslint: 8.38.0 + eslint-config-prettier: 8.8.0(eslint@8.38.0) + eslint-plugin-prettier: 4.2.1(eslint-config-prettier@8.8.0)(eslint@8.38.0)(prettier@2.8.7) + prettier: 2.8.7 + dev: true + + /@vue/eslint-config-typescript@10.0.0(eslint-plugin-vue@8.7.1)(eslint@8.38.0)(typescript@4.5.5): + resolution: {integrity: sha512-F94cL8ug3FaYXlCfU5/wiGjk1qeadmoBpRGAOBq+qre3Smdupa59dd6ZJrsfRODpsMPyTG7330juMDsUvpZ3Rw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 + eslint-plugin-vue: ^8.0.1 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/eslint-plugin': 5.58.0(@typescript-eslint/parser@5.58.0)(eslint@8.38.0)(typescript@4.5.5) + '@typescript-eslint/parser': 5.58.0(eslint@8.38.0)(typescript@4.5.5) + eslint: 8.38.0 + eslint-plugin-vue: 8.7.1(eslint@8.38.0) + typescript: 4.5.5 + vue-eslint-parser: 8.3.0(eslint@8.38.0) + transitivePeerDependencies: + - supports-color + dev: true + + /@vue/reactivity-transform@3.2.47: resolution: {integrity: sha512-m8lGXw8rdnPVVIdIFhf0LeQ/ixyHkH5plYuS83yop5n7ggVJU+z5v0zecwEnX7fa7HNLBhh2qngJJkxpwEEmYA==} + dependencies: + '@babel/parser': 7.21.4 + '@vue/compiler-core': 3.2.47 + '@vue/shared': 3.2.47 + estree-walker: 2.0.2 + magic-string: 0.25.9 - '@vue/reactivity-transform@3.3.4': - resolution: {integrity: sha512-MXgwjako4nu5WFLAjpBnCj/ieqcjE2aJBINUNQzkZQfzIZA4xn+0fV1tIYBJvvva3N3OvKGofRLvQIwEQPpaXw==} + /@vue/reactivity@3.2.47: + resolution: {integrity: sha512-7khqQ/75oyyg+N/e+iwV6lpy1f5wq759NdlS1fpAhFXa8VeAIKGgk2E/C4VF59lx5b+Ezs5fpp/5WsRYXQiKxQ==} + dependencies: + '@vue/shared': 3.2.47 - '@vue/reactivity@3.3.4': - resolution: {integrity: sha512-kLTDLwd0B1jG08NBF3R5rqULtv/f8x3rOFByTDz4J53ttIQEDmALqKqXY0J+XQeN0aV2FBxY8nJDf88yvOPAqQ==} + /@vue/runtime-core@3.2.47: + resolution: {integrity: sha512-RZxbLQIRB/K0ev0K9FXhNbBzT32H9iRtYbaXb0ZIz2usLms/D55dJR2t6cIEUn6vyhS3ALNvNthI+Q95C+NOpA==} + dependencies: + '@vue/reactivity': 3.2.47 + '@vue/shared': 3.2.47 - '@vue/reactivity@3.5.13': - resolution: {integrity: sha512-NaCwtw8o48B9I6L1zl2p41OHo/2Z4wqYGGIK1Khu5T7yxrn+ATOixn/Udn2m+6kZKB/J7cuT9DbWWhRxqixACg==} + /@vue/runtime-dom@3.2.47: + resolution: {integrity: sha512-ArXrFTjS6TsDei4qwNvgrdmHtD930KgSKGhS5M+j8QxXrDJYLqYw4RRcDy1bz1m1wMmb6j+zGLifdVHtkXA7gA==} + dependencies: + '@vue/runtime-core': 3.2.47 + '@vue/shared': 3.2.47 + csstype: 2.6.21 - '@vue/runtime-core@3.3.4': - resolution: {integrity: sha512-R+bqxMN6pWO7zGI4OMlmvePOdP2c93GsHFM/siJI7O2nxFRzj55pLwkpCedEY+bTMgp5miZ8CxfIZo3S+gFqvA==} - - '@vue/runtime-core@3.5.13': - resolution: {integrity: sha512-Fj4YRQ3Az0WTZw1sFe+QDb0aXCerigEpw418pw1HBUKFtnQHWzwojaukAs2X/c9DQz4MQ4bsXTGlcpGxU/RCIw==} - - '@vue/runtime-dom@3.3.4': - resolution: {integrity: sha512-Aj5bTJ3u5sFsUckRghsNjVTtxZQ1OyMWCr5dZRAPijF/0Vy4xEoRCwLyHXcj4D0UFbJ4lbx3gPTgg06K/GnPnQ==} - - '@vue/runtime-dom@3.5.13': - resolution: {integrity: sha512-dLaj94s93NYLqjLiyFzVs9X6dWhTdAlEAciC3Moq7gzAc13VJUdCnjjRurNM6uTLFATRHexHCTu/Xp3eW6yoog==} - - '@vue/server-renderer@3.3.4': - resolution: {integrity: sha512-Q6jDDzR23ViIb67v+vM1Dqntu+HUexQcsWKhhQa4ARVzxOY2HbC7QRW/ggkDBd5BU+uM1sV6XOAP0b216o34JQ==} + /@vue/server-renderer@3.2.47(vue@3.2.47): + resolution: {integrity: sha512-dN9gc1i8EvmP9RCzvneONXsKfBRgqFeFZLurmHOveL7oH6HiFXJw5OGu294n1nHc/HMgTy6LulU/tv5/A7f/LA==} peerDependencies: - vue: 3.3.4 + vue: 3.2.47 + dependencies: + '@vue/compiler-ssr': 3.2.47 + '@vue/shared': 3.2.47 + vue: 3.2.47 - '@vue/server-renderer@3.3.7': - resolution: {integrity: sha512-UlpKDInd1hIZiNuVVVvLgxpfnSouxKQOSE2bOfQpBuGwxRV/JqqTCyyjXUWiwtVMyeRaZhOYYqntxElk8FhBhw==} - peerDependencies: - vue: 3.3.7 - - '@vue/server-renderer@3.5.13': - resolution: {integrity: sha512-wAi4IRJV/2SAW3htkTlB+dHeRmpTiVIK1OGLWV1yeStVSebSQQOwGwIq0D3ZIoBj2C2qpgz5+vX9iEBkTdk5YA==} - peerDependencies: - vue: 3.5.13 - - '@vue/shared@3.2.47': + /@vue/shared@3.2.47: resolution: {integrity: sha512-BHGyyGN3Q97EZx0taMQ+OLNuZcW3d37ZEVmEAyeoA9ERdGvm9Irc/0Fua8SNyOtV1w6BS4q25wbMzJujO9HIfQ==} - '@vue/shared@3.3.4': - resolution: {integrity: sha512-7OjdcV8vQ74eiz1TZLzZP4JwqM5fA94K6yntPS5Z25r9HDuGNzaGdgvwKYq6S+MxwF0TFRwe50fIR/MYnakdkQ==} - - '@vue/shared@3.3.7': - resolution: {integrity: sha512-N/tbkINRUDExgcPTBvxNkvHGu504k8lzlNQRITVnm6YjOjwa4r0nnbd4Jb01sNpur5hAllyRJzSK5PvB9PPwRg==} - - '@vue/shared@3.5.13': - resolution: {integrity: sha512-/hnE/qP5ZoGpol0a5mDi45bOd7t3tjYJBjsgCsivow7D48cJeV5l05RD82lPqi7gRiphZM37rnhW1l6ZoCNNnQ==} - - '@vue/test-utils@2.3.2': + /@vue/test-utils@2.3.2(vue@3.2.47): resolution: {integrity: sha512-hJnVaYhbrIm0yBS0+e1Y0Sj85cMyAi+PAbK4JHqMRUZ6S622Goa+G7QzkRSyvCteG8wop7tipuEbHoZo26wsSA==} peerDependencies: vue: ^3.0.1 + dependencies: + js-beautify: 1.14.6 + vue: 3.2.47 + optionalDependencies: + '@vue/compiler-dom': 3.2.47 + '@vue/server-renderer': 3.2.47(vue@3.2.47) + dev: true - '@vue/tsconfig@0.4.0': - resolution: {integrity: sha512-CPuIReonid9+zOG/CGTT05FXrPYATEqoDGNrEaqS4hwcw5BUNM2FguC0mOwJD4Jr16UpRVl9N0pY3P+srIbqmg==} + /@vue/tsconfig@0.1.3(@types/node@16.18.23): + resolution: {integrity: sha512-kQVsh8yyWPvHpb8gIc9l/HIDiiVUy1amynLNpCy8p+FoCiZXCo6fQos5/097MmnNZc9AtseDsCrfkhqCrJ8Olg==} + peerDependencies: + '@types/node': '*' + peerDependenciesMeta: + '@types/node': + optional: true + dependencies: + '@types/node': 16.18.23 + dev: true - '@vue/typescript@1.8.1': - resolution: {integrity: sha512-nQpo55j/roie8heCfqyXHnyayqD5+p4/0fzfxH4ZuHf7NSBQS791PNv7ztp2CCOjnGAiaiCMdtC9rc6oriyPUg==} + /@vueuse/core@8.9.4(vue@3.2.47): + resolution: {integrity: sha512-B/Mdj9TK1peFyWaPof+Zf/mP9XuGAngaJZBwPaXBvU3aCTZlx3ltlrFFFyMV4iGBwsjSCeUCgZrtkEj9dS2Y3Q==} + peerDependencies: + '@vue/composition-api': ^1.1.0 + vue: ^2.6.0 || ^3.2.0 + peerDependenciesMeta: + '@vue/composition-api': + optional: true + vue: + optional: true + dependencies: + '@types/web-bluetooth': 0.0.14 + '@vueuse/metadata': 8.9.4 + '@vueuse/shared': 8.9.4(vue@3.2.47) + vue: 3.2.47 + vue-demi: 0.13.11(vue@3.2.47) - '@vueuse/core@10.3.0': - resolution: {integrity: sha512-BEM5yxcFKb5btFjTSAFjTu5jmwoW66fyV9uJIP4wUXXU8aR5Hl44gndaaXp7dC5HSObmgbnR2RN+Un1p68Mf5Q==} - - '@vueuse/head@1.0.0': - resolution: {integrity: sha512-wighjD6iLxEitpg6EDeS5dGDB9tcOSMhpblrAOKR6qBP93U3cjG72n0LhlBUD9miu41lNxXFVGHgSc6BVJ9BMg==} + /@vueuse/head@0.7.13(vue@3.2.47): + resolution: {integrity: sha512-VHSla/0uOAUii/mz+NWLFKMrMbz/lQoYxEcpS/ri7drepYjdB5QdbTnD2KdOX8EmQM/b07qpjKanr7erGrd3XA==} peerDependencies: vue: '>=2.7 || >=3' + dependencies: + '@zhead/schema-vue': 0.7.4(vue@3.2.47) + vue: 3.2.47 + transitivePeerDependencies: + - '@vue/composition-api' + dev: false - '@vueuse/metadata@10.3.0': - resolution: {integrity: sha512-Ema3YhNOa4swDsV0V7CEY5JXvK19JI/o1szFO1iWxdFg3vhdFtCtSTP26PCvbUpnUtNHBY2wx5y3WDXND5Pvnw==} + /@vueuse/metadata@8.9.4: + resolution: {integrity: sha512-IwSfzH80bnJMzqhaapqJl9JRIiyQU0zsRGEgnxN6jhq7992cPUJIRfV+JHRIZXjYqbwt07E1gTEp0R0zPJ1aqw==} - '@vueuse/router@10.0.0': - resolution: {integrity: sha512-d8rasUUhJOzh/xpVmjHc3hmc6Nnn5yjtMio2oXVqwFGNCNDqACTCGERLBnwpgyTT+xz9oMoW37dQuseADOTIBA==} + /@vueuse/router@9.13.0(vue-router@4.1.6)(vue@3.2.47): + resolution: {integrity: sha512-lcL6auSUGMGZMdDzZJb02QDe909AChzMXoxqFS3gL2E8mHmIx0SrNor+33UkqvvBPi18vXpDq/R7tPd9fxWwTg==} peerDependencies: vue-router: '>=4.0.0-rc.1' + dependencies: + '@vueuse/shared': 9.13.0(vue@3.2.47) + vue-demi: 0.13.11(vue@3.2.47) + vue-router: 4.1.6(vue@3.2.47) + transitivePeerDependencies: + - '@vue/composition-api' + - vue + dev: false - '@vueuse/shared@10.0.0': - resolution: {integrity: sha512-Zh3LgJqvUBWVY3SiMvXanTcfAneGbt63QPczBRDNgQ6jd/ehodO9a1lCFzaA6SWJJoI+ugVTjHFYJdoR656DVQ==} + /@vueuse/shared@8.9.4(vue@3.2.47): + resolution: {integrity: sha512-wt+T30c4K6dGRMVqPddexEVLa28YwxW5OFIPmzUHICjphfAuBFTTdDoyqREZNDOFJZ44ARH1WWQNCUK8koJ+Ag==} + peerDependencies: + '@vue/composition-api': ^1.1.0 + vue: ^2.6.0 || ^3.2.0 + peerDependenciesMeta: + '@vue/composition-api': + optional: true + vue: + optional: true + dependencies: + vue: 3.2.47 + vue-demi: 0.13.11(vue@3.2.47) - '@vueuse/shared@10.3.0': - resolution: {integrity: sha512-kGqCTEuFPMK4+fNWy6dUOiYmxGcUbtznMwBZLC1PubidF4VZY05B+Oht7Jh7/6x4VOWGpvu3R37WHi81cKpiqg==} + /@vueuse/shared@9.13.0(vue@3.2.47): + resolution: {integrity: sha512-UrnhU+Cnufu4S6JLCPZnkWh0WwZGUp72ktOF2DFptMlOs3TOdVv8xJN53zhHGARmVOsz5KqOls09+J1NR6sBKw==} + dependencies: + vue-demi: 0.13.11(vue@3.2.47) + transitivePeerDependencies: + - '@vue/composition-api' + - vue + dev: false - '@vueuse/shared@12.0.0': - resolution: {integrity: sha512-3i6qtcq2PIio5i/vVYidkkcgvmTjCqrf26u+Fd4LhnbBmIT6FN8y6q/GJERp8lfcB9zVEfjdV0Br0443qZuJpw==} + /@zhead/schema-vue@0.7.4(vue@3.2.47): + resolution: {integrity: sha512-Q7wPUly3ZWbPYQ5SEJBUuD6Mw3wiUfPMPquGfqsR2KF6sxQKRF8oaHnRLuu2uxpjuXjkzpBlZBPu1JgQX+Lf6Q==} + peerDependencies: + vue: '>=2.7 || >=3' + dependencies: + '@vueuse/shared': 9.13.0(vue@3.2.47) + '@zhead/schema': 0.7.4 + vue: 3.2.47 + transitivePeerDependencies: + - '@vue/composition-api' + dev: false - '@zhead/schema@1.0.0-beta.13': - resolution: {integrity: sha512-P1A1vRGFBhITco8Iw4/hvnDYoE/SoVrd71dW1pBFdXJb3vP+pBtoOuhbEKy0ROJGOyzQuqvFibcwzyLlWMqNiQ==} + /@zhead/schema@0.7.4: + resolution: {integrity: sha512-18gfgmZL8gM64JdcT11d1rYLnCaY2mOtbDDSAXtCySanPGpkA1r+w01LCssEI/OfLdoZPS/kYCIW09d1PmUFfQ==} + dev: false - abab@2.0.6: + /abab@2.0.6: resolution: {integrity: sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==} + dev: true - abbrev@1.1.1: + /abbrev@1.1.1: resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} + dev: true - acorn-jsx@5.3.2: + /acorn-globals@6.0.0: + resolution: {integrity: sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==} + dependencies: + acorn: 7.4.1 + acorn-walk: 7.2.0 + dev: true + + /acorn-jsx@5.3.2(acorn@8.8.2): resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + acorn: 8.8.2 + dev: true - acorn-walk@8.2.0: - resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} + /acorn-walk@7.2.0: + resolution: {integrity: sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==} engines: {node: '>=0.4.0'} + dev: true - acorn@8.10.0: - resolution: {integrity: sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==} + /acorn@7.4.1: + resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==} engines: {node: '>=0.4.0'} hasBin: true + dev: true - acorn@8.11.2: - resolution: {integrity: sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==} + /acorn@8.8.2: + resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==} engines: {node: '>=0.4.0'} hasBin: true + dev: true - acorn@8.14.0: - resolution: {integrity: sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==} - engines: {node: '>=0.4.0'} - hasBin: true - - acorn@8.9.0: - resolution: {integrity: sha512-jaVNAFBHNLXspO543WnNNPZFRtavh3skAkITqD0/2aeMkKZTN+254PyhwxFYrk3vQ1xfY+2wbesJMs/JC8/PwQ==} - engines: {node: '>=0.4.0'} - hasBin: true - - agent-base@6.0.2: + /agent-base@6.0.2: resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} engines: {node: '>= 6.0.0'} + dependencies: + debug: 4.3.4 + transitivePeerDependencies: + - supports-color - ajv@6.12.6: + /agentkeepalive@4.3.0: + resolution: {integrity: sha512-7Epl1Blf4Sy37j4v9f9FjICCh4+KAQOyXgHEwlyBiAQLbhKdq/i2QQU3amQalS/wPhdPzDXPL5DMR5bkn+YeWg==} + engines: {node: '>= 8.0.0'} + dependencies: + debug: 4.3.4 + depd: 2.0.0 + humanize-ms: 1.2.1 + transitivePeerDependencies: + - supports-color + dev: false + + /ajv@6.12.6: resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + dependencies: + fast-deep-equal: 3.1.3 + fast-json-stable-stringify: 2.1.0 + json-schema-traverse: 0.4.1 + uri-js: 4.4.1 + dev: true - ajv@8.17.1: - resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==} + /ajv@8.12.0: + resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==} + dependencies: + fast-deep-equal: 3.1.3 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + uri-js: 4.4.1 + dev: true - ansi-colors@4.1.3: - resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} - engines: {node: '>=6'} - - ansi-regex@5.0.1: + /ansi-regex@5.0.1: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} - ansi-styles@3.2.1: + /ansi-styles@3.2.1: resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} engines: {node: '>=4'} + dependencies: + color-convert: 1.9.3 + dev: true - ansi-styles@4.3.0: + /ansi-styles@4.3.0: resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} engines: {node: '>=8'} + dependencies: + color-convert: 2.0.1 - ansi-styles@5.2.0: - resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} - engines: {node: '>=10'} - - anymatch@3.1.3: + /anymatch@3.1.3: resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} engines: {node: '>= 8'} + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + dev: true - argparse@1.0.10: + /arg@5.0.2: + resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} + dev: true + + /argparse@1.0.10: resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} + dependencies: + sprintf-js: 1.0.3 - argparse@2.0.1: + /argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} - array-buffer-byte-length@1.0.1: - resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==} - engines: {node: '>= 0.4'} + /array-buffer-byte-length@1.0.0: + resolution: {integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==} + dependencies: + call-bind: 1.0.2 + is-array-buffer: 3.0.2 + dev: true - array-union@2.1.0: + /array-includes@3.1.6: + resolution: {integrity: sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.21.2 + get-intrinsic: 1.2.0 + is-string: 1.0.7 + dev: true + + /array-union@2.1.0: resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} engines: {node: '>=8'} + dev: true - arraybuffer.prototype.slice@1.0.3: - resolution: {integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==} + /array.prototype.flat@1.3.1: + resolution: {integrity: sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==} engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.21.2 + es-shim-unscopables: 1.0.0 + dev: true - assertion-error@1.1.0: + /array.prototype.flatmap@1.3.1: + resolution: {integrity: sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.21.2 + es-shim-unscopables: 1.0.0 + dev: true + + /asap@2.0.6: + resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==} + dev: true + + /assert-never@1.2.1: + resolution: {integrity: sha512-TaTivMB6pYI1kXwrFlEhLeGfOqoDNdTxjCdwRfFFkEA30Eu+k48W34nlok2EYWJfFFzqaEmichdNM7th6M5HNw==} + dev: true + + /assertion-error@1.1.0: resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} + dev: true - async-validator@4.2.5: + /async-validator@4.2.5: resolution: {integrity: sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==} + dev: false - async@3.2.4: + /async@3.2.4: resolution: {integrity: sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==} + dev: true - async@3.2.6: - resolution: {integrity: sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==} - - asynckit@0.4.0: + /asynckit@0.4.0: resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} + dev: true - at-least-node@1.0.0: + /at-least-node@1.0.0: resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==} engines: {node: '>= 4.0.0'} + dev: true - available-typed-arrays@1.0.7: - resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} + /available-typed-arrays@1.0.5: + resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} engines: {node: '>= 0.4'} + dev: true - babel-merge@3.0.0: - resolution: {integrity: sha512-eBOBtHnzt9xvnjpYNI5HmaPp/b2vMveE5XggzqHnQeHJ8mFIBrBv6WZEVIj5jJ2uwTItkqKo9gWzEEcBxEq0yw==} + /axios@0.27.2(debug@4.3.4): + resolution: {integrity: sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==} + dependencies: + follow-redirects: 1.15.2(debug@4.3.4) + form-data: 4.0.0 + transitivePeerDependencies: + - debug + dev: true + + /babel-plugin-polyfill-corejs2@0.3.3(@babel/core@7.21.4): + resolution: {integrity: sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==} peerDependencies: - '@babel/core': ^7.0.0 + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/compat-data': 7.21.4 + '@babel/core': 7.21.4 + '@babel/helper-define-polyfill-provider': 0.3.3(@babel/core@7.21.4) + semver: 6.3.0 + transitivePeerDependencies: + - supports-color + dev: true - babel-plugin-polyfill-corejs2@0.4.12: - resolution: {integrity: sha512-CPWT6BwvhrTO2d8QVorhTCQw9Y43zOu7G9HigcfxvepOU6b8o3tcWad6oVgZIsZCTt42FFv97aA7ZJsbM4+8og==} + /babel-plugin-polyfill-corejs3@0.6.0(@babel/core@7.21.4): + resolution: {integrity: sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==} peerDependencies: - '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.21.4 + '@babel/helper-define-polyfill-provider': 0.3.3(@babel/core@7.21.4) + core-js-compat: 3.30.0 + transitivePeerDependencies: + - supports-color + dev: true - babel-plugin-polyfill-corejs3@0.10.6: - resolution: {integrity: sha512-b37+KR2i/khY5sKmWNVQAnitvquQbNdWy6lJdsr0kmquCKEEUgMKK4SboVM3HtfnZilfjr4MMQ7vY58FVWDtIA==} + /babel-plugin-polyfill-regenerator@0.4.1(@babel/core@7.21.4): + resolution: {integrity: sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==} peerDependencies: - '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.21.4 + '@babel/helper-define-polyfill-provider': 0.3.3(@babel/core@7.21.4) + transitivePeerDependencies: + - supports-color + dev: true - babel-plugin-polyfill-regenerator@0.6.3: - resolution: {integrity: sha512-LiWSbl4CRSIa5x/JAU6jZiG9eit9w6mz+yVMFwDE83LAWvt0AfGBoZ7HS/mkhrKuh2ZlzfVZYKoLjXdqw6Yt7Q==} - peerDependencies: - '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + /babel-walk@3.0.0-canary-5: + resolution: {integrity: sha512-GAwkz0AihzY5bkwIY5QDR+LvsRQgB/B+1foMPvi0FZPMl5fjD7ICiznUiBdLYMH1QYe6vqu4gWYytZOccLouFw==} + engines: {node: '>= 10.0.0'} + dependencies: + '@babel/types': 7.21.4 + dev: true - balanced-match@1.0.2: + /balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - base64-js@1.5.1: - resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} - - bcryptjs@2.4.3: + /bcryptjs@2.4.3: resolution: {integrity: sha512-V/Hy/X9Vt7f3BbPJEi8BdVFMByHi+jNXrYkW3huaybV/kQ0KJg0Y6PkEMbn+zeT+i+SiKZ/HMqJGIIt4LZDqNQ==} + dev: false - binary-extensions@2.2.0: + /binary-extensions@2.2.0: resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} engines: {node: '>=8'} + dev: true - bl@4.1.0: - resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} + /bluebird@3.7.2: + resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==} + dev: true - boolbase@1.0.0: + /boolbase@1.0.0: resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} + dev: true - brace-expansion@1.1.11: + /brace-expansion@1.1.11: resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 - brace-expansion@2.0.1: + /brace-expansion@2.0.1: resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + dependencies: + balanced-match: 1.0.2 + dev: true - braces@3.0.2: + /braces@3.0.2: resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} engines: {node: '>=8'} + dependencies: + fill-range: 7.0.1 + dev: true - braces@3.0.3: - resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} - engines: {node: '>=8'} + /browser-process-hrtime@1.0.0: + resolution: {integrity: sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==} + dev: true - browserslist@4.21.9: - resolution: {integrity: sha512-M0MFoZzbUrRU4KNfCrDLnvyE7gub+peetoTid3TBIqtunaDJyXlwhakT+/VkvSXcfIzFfK/nkCs4nmyTmxdNSg==} + /browserslist@4.21.5: + resolution: {integrity: sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true + dependencies: + caniuse-lite: 1.0.30001478 + electron-to-chromium: 1.4.360 + node-releases: 2.0.10 + update-browserslist-db: 1.0.10(browserslist@4.21.5) + dev: true - browserslist@4.22.1: - resolution: {integrity: sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==} - engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} - hasBin: true - - browserslist@4.24.3: - resolution: {integrity: sha512-1CPmv8iobE2fyRMV97dAcMVegvvWKxmq94hkLiAkUGwKVTyDLw33K+ZxiFrREKmmps4rIw6grcCFCnTMSZ/YiA==} - engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} - hasBin: true - - buffer-from@1.1.2: + /buffer-from@1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + dev: true - buffer@5.7.1: - resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} - - builtin-modules@3.3.0: + /builtin-modules@3.3.0: resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} engines: {node: '>=6'} + dev: true - builtins@5.0.1: - resolution: {integrity: sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==} + /c8@7.13.0: + resolution: {integrity: sha512-/NL4hQTv1gBL6J6ei80zu3IiTrmePDKXKXOTLpHvcIWZTVYQlDhVWjjWvkhICylE8EwwnMVzDZugCvdx0/DIIA==} + engines: {node: '>=10.12.0'} + hasBin: true + dependencies: + '@bcoe/v8-coverage': 0.2.3 + '@istanbuljs/schema': 0.1.3 + find-up: 5.0.0 + foreground-child: 2.0.0 + istanbul-lib-coverage: 3.2.0 + istanbul-lib-report: 3.0.0 + istanbul-reports: 3.1.5 + rimraf: 3.0.2 + test-exclude: 6.0.0 + v8-to-istanbul: 9.1.0 + yargs: 16.2.0 + yargs-parser: 20.2.9 + dev: true - bundle-require@5.0.0: - resolution: {integrity: sha512-GuziW3fSSmopcx4KRymQEJVbZUfqlCqcq7dvs6TYwKRZiegK/2buMxQTPs6MGlNv50wms1699qYO54R8XfRX4w==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - peerDependencies: - esbuild: '>=0.18' - - cac@6.7.14: + /cac@6.7.14: resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} engines: {node: '>=8'} + dev: true - call-bind-apply-helpers@1.0.1: - resolution: {integrity: sha512-BhYE+WDaywFg2TBWYNXAE+8B1ATnThNBqXHP5nQu0jWJdVvY2hvkpyB3qOmtmDePiS5/BDQ8wASEWGMWRG148g==} - engines: {node: '>= 0.4'} + /call-bind@1.0.2: + resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} + dependencies: + function-bind: 1.1.1 + get-intrinsic: 1.2.0 + dev: true - call-bind@1.0.8: - resolution: {integrity: sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==} - engines: {node: '>= 0.4'} - - call-bound@1.0.2: - resolution: {integrity: sha512-0lk0PHFe/uz0vl527fG9CgdE9WdafjDbCXvBbs+LUv000TVt2Jjhqbs4Jwm8gz070w8xXyEAxrPOMullsxXeGg==} - engines: {node: '>= 0.4'} - - callsites@3.1.0: + /callsites@3.1.0: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} + dev: true - camel-case@3.0.0: - resolution: {integrity: sha512-+MbKztAYHXPr1jNTSKQF52VpcFjwY5RkR7fxksV8Doo4KAYc5Fl4UJRgthBbTmEx8C54DqahhbLJkDwjI3PI/w==} - - camel-case@4.1.2: + /camel-case@4.1.2: resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==} + dependencies: + pascal-case: 3.1.2 + tslib: 2.5.0 + dev: false - camelcase@5.3.1: + /camelcase@5.3.1: resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} engines: {node: '>=6'} + dev: false - camelcase@6.3.0: + /camelcase@6.3.0: resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} engines: {node: '>=10'} + dev: true - caniuse-lite@1.0.30001504: - resolution: {integrity: sha512-5uo7eoOp2mKbWyfMXnGO9rJWOGU8duvzEiYITW+wivukL7yHH4gX9yuRaobu6El4jPxo6jKZfG+N6fB621GD/Q==} + /caniuse-lite@1.0.30001478: + resolution: {integrity: sha512-gMhDyXGItTHipJj2ApIvR+iVB5hd0KP3svMWWXDvZOmjzJJassGLMfxRkQCSYgGd2gtdL/ReeiyvMSFD1Ss6Mw==} + dev: true - caniuse-lite@1.0.30001559: - resolution: {integrity: sha512-cPiMKZgqgkg5LY3/ntGeLFUpi6tzddBNS58A4tnTgQw1zON7u2sZMU7SzOeVH4tj20++9ggL+V6FDOFMTaFFYA==} - - caniuse-lite@1.0.30001688: - resolution: {integrity: sha512-Nmqpru91cuABu/DTCXbM2NSRHzM2uVHfPnhJ/1zEAJx/ILBRVmz3pzH4N7DZqbdG0gWClsCC05Oj0mJ/1AWMbA==} - - capital-case@1.0.4: + /capital-case@1.0.4: resolution: {integrity: sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A==} + dependencies: + no-case: 3.0.4 + tslib: 2.5.0 + upper-case-first: 2.0.2 + dev: false - case-anything@2.1.13: - resolution: {integrity: sha512-zlOQ80VrQ2Ue+ymH5OuM/DlDq64mEm+B9UTdHULv5osUMD6HalNTblf2b1u/m6QecjsnOkBpqVZ+XPwIVsy7Ng==} + /case-anything@2.1.10: + resolution: {integrity: sha512-JczJwVrCP0jPKh05McyVsuOg6AYosrB9XWZKbQzXeDAm2ClE/PJE/BcrrQrVyGYH7Jg8V/LDupmyL4kFlVsVFQ==} engines: {node: '>=12.13'} + dev: false - chai@4.3.7: + /chai@4.3.7: resolution: {integrity: sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A==} engines: {node: '>=4'} + dependencies: + assertion-error: 1.1.0 + check-error: 1.0.2 + deep-eql: 4.1.3 + get-func-name: 2.0.0 + loupe: 2.3.6 + pathval: 1.1.1 + type-detect: 4.0.8 + dev: true - chalk@2.4.2: + /chalk@2.4.2: resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} engines: {node: '>=4'} + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + dev: true - chalk@4.1.2: + /chalk@4.1.2: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + dev: true - chalk@5.2.0: + /chalk@5.2.0: resolution: {integrity: sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA==} engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + dev: true - change-case@3.1.0: - resolution: {integrity: sha512-2AZp7uJZbYEzRPsFoa+ijKdvp9zsrnnt6+yFokfwEpeJm0xuJDVoxiRCAaTzyJND8GJkofo2IcKWaUZ/OECVzw==} - - change-case@4.1.2: + /change-case@4.1.2: resolution: {integrity: sha512-bSxY2ws9OtviILG1EiY5K7NNxkqg/JnRnFxLtKQ96JaviiIxi7djMrSd0ECT9AC+lttClmYwKw53BWpOMblo7A==} + dependencies: + camel-case: 4.1.2 + capital-case: 1.0.4 + constant-case: 3.0.4 + dot-case: 3.0.4 + header-case: 2.0.4 + no-case: 3.0.4 + param-case: 3.0.4 + pascal-case: 3.1.2 + path-case: 3.0.4 + sentence-case: 3.0.4 + snake-case: 3.0.4 + tslib: 2.5.0 + dev: false - character-entities-legacy@1.1.4: - resolution: {integrity: sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==} + /char-spinner@1.0.1: + resolution: {integrity: sha512-acv43vqJ0+N0rD+Uw3pDHSxP30FHrywu2NO6/wBaHChJIizpDeBUd6NjqhNhy9LGaEAhZAXn46QzmlAvIWd16g==} + dev: false - character-entities@1.2.4: - resolution: {integrity: sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==} + /character-parser@2.2.0: + resolution: {integrity: sha512-+UqJQjFEFaTAs3bNsF2j2kEN1baG/zghZbdqoYEDxGZtJo9LBzl1A+m0D4n3qKx8N2FNv8/Xp6yV9mQmBuptaw==} + dependencies: + is-regex: 1.1.4 + dev: true - character-reference-invalid@1.1.4: - resolution: {integrity: sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==} - - check-error@1.0.2: + /check-error@1.0.2: resolution: {integrity: sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==} + dev: true - chokidar@3.5.3: + /check-more-types@2.24.0: + resolution: {integrity: sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA==} + engines: {node: '>= 0.8.0'} + dev: true + + /chokidar@3.5.3: resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} engines: {node: '>= 8.10.0'} + dependencies: + anymatch: 3.1.3 + braces: 3.0.2 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.2 + dev: true - chokidar@3.6.0: - resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} - engines: {node: '>= 8.10.0'} - - ci-info@3.8.0: - resolution: {integrity: sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==} - engines: {node: '>=8'} - - clean-regexp@1.0.0: - resolution: {integrity: sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==} - engines: {node: '>=4'} - - cli-cursor@3.1.0: - resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} - engines: {node: '>=8'} - - cli-spinners@2.9.1: - resolution: {integrity: sha512-jHgecW0pxkonBJdrKsqxgRX9AcG+u/5k0Q7WPDfi8AogLAdwxEkyYYNWwZ5GvVFoFx2uiY1eNcSK00fh+1+FyQ==} - engines: {node: '>=6'} - - cliui@6.0.0: + /cliui@6.0.0: resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==} + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 6.2.0 + dev: false - clone@1.0.4: - resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} - engines: {node: '>=0.8'} + /cliui@7.0.4: + resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 + dev: true - color-convert@1.9.3: + /color-convert@1.9.3: resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + dependencies: + color-name: 1.1.3 + dev: true - color-convert@2.0.1: + /color-convert@2.0.1: resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} engines: {node: '>=7.0.0'} + dependencies: + color-name: 1.1.4 - color-name@1.1.3: + /color-name@1.1.3: resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + dev: true - color-name@1.1.4: + /color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - colord@2.9.3: + /colord@2.9.3: resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==} + dev: false - colorette@2.0.20: - resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} + /colorette@2.0.19: + resolution: {integrity: sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==} + dev: true - combined-stream@1.0.8: + /combined-stream@1.0.8: resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} engines: {node: '>= 0.8'} + dependencies: + delayed-stream: 1.0.0 + dev: true - commander@10.0.0: + /commander@10.0.0: resolution: {integrity: sha512-zS5PnTI22FIRM6ylNW8G4Ap0IEOyk62fhLSD0+uHRT9McRCLGpkVNvao4bjimpK/GShynyQkFFxHhwMcETmduA==} engines: {node: '>=14'} + dev: false - commander@2.20.3: + /commander@2.20.3: resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} + dev: true - commander@7.2.0: + /commander@7.2.0: resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} engines: {node: '>= 10'} + dev: true - common-tags@1.8.2: + /common-tags@1.8.2: resolution: {integrity: sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==} engines: {node: '>=4.0.0'} + dev: true - complex.js@2.1.1: + /complex.js@2.1.1: resolution: {integrity: sha512-8njCHOTtFFLtegk6zQo0kkVX1rngygb/KQI6z1qZxlFI3scluC+LVTCFbrkWjBv4vvLlbQ9t88IPMC6k95VTTg==} + dev: false - composerize-ts@0.6.2: + /composerize-ts@0.6.2: resolution: {integrity: sha512-8tw5p/FBxg77ubjVftaXA+pknWbkUgbZ4rbZZs2yFUsj2yvO38IvtfpGLfaJ9mGFj324lFEr/OU9xULrKSF9Ag==} hasBin: true + dependencies: + commander: 10.0.0 + deepmerge-ts: 5.1.0 + flex-js: 1.0.5 + ip-cidr: 3.1.0 + set-value: 4.1.0 + yamljs: 0.3.0 + dev: false - concat-map@0.0.1: + /concat-map@0.0.1: resolution: {integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=} - confbox@0.1.8: - resolution: {integrity: sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==} - - config-chain@1.1.13: + /config-chain@1.1.13: resolution: {integrity: sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==} + dependencies: + ini: 1.3.8 + proto-list: 1.2.4 + dev: true - consola@3.0.2: + /consola@2.15.3: + resolution: {integrity: sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==} + dev: true + + /consola@3.0.2: resolution: {integrity: sha512-o/Wau2FmZKiQgyp3c3IULgN6J5yc0lwYMnoyiZdEpdGxKGBtt2ACbkulBZ6BUsHy1HlSJqoP4YOyPIJLgRJyKQ==} + dev: true - consola@3.2.3: - resolution: {integrity: sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==} - engines: {node: ^14.18.0 || >=16.10.0} - - constant-case@2.0.0: - resolution: {integrity: sha512-eS0N9WwmjTqrOmR3o83F5vW8Z+9R1HnVz3xmzT2PMFug9ly+Au/fxRWlEBSb6LcZwspSsEn9Xs1uw9YgzAg1EQ==} - - constant-case@3.0.4: + /constant-case@3.0.4: resolution: {integrity: sha512-I2hSBi7Vvs7BEuJDr5dDHfzb/Ruj3FyvFyh7KLilAjNQw3Be+xgqUBA2W6scVEcL0hL1dwPRtIqEPVUCKkSsyQ==} + dependencies: + no-case: 3.0.4 + tslib: 2.5.0 + upper-case: 2.0.2 + dev: false - convert-source-map@1.9.0: + /constantinople@4.0.1: + resolution: {integrity: sha512-vCrqcSIq4//Gx74TXXCGnHpulY1dskqLTFGDmhrGxzeXL8lF8kvXv6mpNWlJj1uD4DW23D4ljAqbY4RRaaUZIw==} + dependencies: + '@babel/parser': 7.21.4 + '@babel/types': 7.21.4 + dev: true + + /convert-source-map@1.9.0: resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} + dev: true - convert-source-map@2.0.0: - resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} - - copy-anything@2.0.6: + /copy-anything@2.0.6: resolution: {integrity: sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==} + dependencies: + is-what: 3.14.1 + dev: true - core-js-compat@3.39.0: - resolution: {integrity: sha512-VgEUx3VwlExr5no0tXlBt+silBvhTryPwCXRI2Id1PN8WTKu7MreethvddqOubrYxkFdv/RnYrqlv1sFNAUelw==} + /core-js-compat@3.30.0: + resolution: {integrity: sha512-P5A2h/9mRYZFIAP+5Ab8ns6083IyVpSclU74UNvbGVQ8VM7n3n3/g2yF3AkKQ9NXz2O+ioxLbEWKnDtgsFamhg==} + dependencies: + browserslist: 4.21.5 + dev: true - country-code-lookup@0.1.0: - resolution: {integrity: sha512-IOI66HEG+8bXfWPy+sTzuN7161vmDZOHg1wgIPFf3WfD73FeLajnn6C+fnxOIa9RL1WRBDMXQQWW/FOaOYaQ3w==} + /country-data@0.0.31: + resolution: {integrity: sha512-YqlY/i6ikZwoBFfdjK+hJTGaBdTgDpXLI15MCj2UsXZ2cPBb+Kx86AXmDH7PRGt0LUleck0cCgNdWeIhfbcxkQ==} + dependencies: + currency-symbol-map: 2.2.0 + underscore: 1.13.6 + dev: false - crelt@1.0.6: - resolution: {integrity: sha512-VQ2MBenTq1fWZUH9DJNGti7kKv6EeAuYr3cLwxUWhIu1baTaXh4Ib5W2CqHVqib4/MqbYGJqiL3Zb8GJZr3l4g==} + /crelt@1.0.5: + resolution: {integrity: sha512-+BO9wPPi+DWTDcNYhr/W90myha8ptzftZT+LwcmUbbok0rcP/fequmFYCw8NMoH7pkAZQzU78b3kYrlua5a9eA==} + dev: false - cron-validator@1.3.1: + /cron-validator@1.3.1: resolution: {integrity: sha512-C1HsxuPCY/5opR55G5/WNzyEGDWFVG+6GLrA+fW/sCTcP6A6NTjUP2AK7B8n2PyFs90kDG2qzwm8LMheADku6A==} + dev: false - cronstrue@2.26.0: + /cronstrue@2.26.0: resolution: {integrity: sha512-M1VdV3hpBAsd1Zzvqcvf63wgDpcwCuS4WiNEVFpJ0s33MGO2sVDTfswYq0EPypCmESrCzmgL8h68DTzJuSDbVA==} hasBin: true + dev: false - cross-spawn@7.0.3: + /cross-spawn@7.0.3: resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} engines: {node: '>= 8'} + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + dev: true - crypto-js@4.1.1: + /crypto-js@4.1.1: resolution: {integrity: sha512-o2JlM7ydqd3Qk9CA0L4NL6mTzU2sdx96a+oOfPu8Mkl/PK51vSyoi8/rQ8NknZtk44vq15lmhAj9CIAGwgeWKw==} + dev: false - crypto-random-string@2.0.0: + /crypto-random-string@2.0.0: resolution: {integrity: sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==} engines: {node: '>=8'} + dev: true - css-render@0.15.12: + /css-render@0.15.12: resolution: {integrity: sha512-eWzS66patiGkTTik+ipO9qNGZ+uNuGyTmnz6/+EJIiFg8+3yZRpnMwgFo8YdXhQRsiePzehnusrxVvugNjXzbw==} + dependencies: + '@emotion/hash': 0.8.0 + csstype: 3.0.11 + dev: false - css-select@5.1.0: - resolution: {integrity: sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==} + /css-select@4.3.0: + resolution: {integrity: sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==} + dependencies: + boolbase: 1.0.0 + css-what: 6.1.0 + domhandler: 4.3.1 + domutils: 2.8.0 + nth-check: 2.1.1 + dev: true - css-tree@2.2.1: - resolution: {integrity: sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==} - engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} + /css-tree@1.1.3: + resolution: {integrity: sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==} + engines: {node: '>=8.0.0'} + dependencies: + mdn-data: 2.0.14 + source-map: 0.6.1 + dev: true - css-tree@2.3.1: + /css-tree@2.3.1: resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==} engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} + dependencies: + mdn-data: 2.0.30 + source-map-js: 1.0.2 + dev: true - css-tree@3.1.0: - resolution: {integrity: sha512-0eW44TGN5SQXU1mWSkKwFstI/22X2bG1nYzZTYMAWjylYURhse752YgbE4Cx46AC+bAvI+/dYTPRk1LqSUnu6w==} - engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} - - css-what@6.1.0: + /css-what@6.1.0: resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==} engines: {node: '>= 6'} + dev: true - cssesc@3.0.0: + /cssesc@3.0.0: resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} engines: {node: '>=4'} hasBin: true + dev: true - csso@5.0.5: - resolution: {integrity: sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==} - engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} + /csso@4.2.0: + resolution: {integrity: sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==} + engines: {node: '>=8.0.0'} + dependencies: + css-tree: 1.1.3 + dev: true - cssstyle@3.0.0: - resolution: {integrity: sha512-N4u2ABATi3Qplzf0hWbVCdjenim8F3ojEXpBDF5hBpjzW182MjNGLqfmQ0SkSPeQ+V86ZXgeH8aXj6kayd4jgg==} - engines: {node: '>=14'} + /cssom@0.3.8: + resolution: {integrity: sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==} + dev: true - csstype@3.0.11: + /cssom@0.5.0: + resolution: {integrity: sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==} + dev: true + + /cssstyle@2.3.0: + resolution: {integrity: sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==} + engines: {node: '>=8'} + dependencies: + cssom: 0.3.8 + dev: true + + /csstype@2.6.21: + resolution: {integrity: sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==} + + /csstype@3.0.11: resolution: {integrity: sha512-sa6P2wJ+CAbgyy4KFssIb/JNMLxFvKF1pCYCSXS8ZMuqZnMsrxqI2E5sPyoTpxoPU/gVZMzr2zjOfg8GIZOMsw==} + dev: false - csstype@3.1.2: - resolution: {integrity: sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==} + /currency-symbol-map@2.2.0: + resolution: {integrity: sha512-fPZJ3jqM68+AAgqQ7UaGbgHL/39rp6l7GyqS2k1HJPu/kpS8D07x/+Uup6a9tCUKIlOFcRrDCf1qxSt8jnI5BA==} + dev: false - csstype@3.1.3: - resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} - - dash-get@1.0.2: + /dash-get@1.0.2: resolution: {integrity: sha512-4FbVrHDwfOASx7uQVxeiCTo7ggSdYZbqs8lH+WU6ViypPlDbe9y6IP5VVUDQBv9DcnyaiPT5XT0UWHgJ64zLeQ==} + dev: false - data-uri-to-buffer@4.0.1: + /data-uri-to-buffer@4.0.1: resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==} engines: {node: '>= 12'} + dev: true - data-urls@4.0.0: - resolution: {integrity: sha512-/mMTei/JXPqvFqQtfyTowxmJVwr2PVAeCcDxyFf6LhoOu/09TX2OX3kb2wzi4DMXcfj4OItwDOnhl5oziPnT6g==} - engines: {node: '>=14'} + /data-urls@3.0.2: + resolution: {integrity: sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==} + engines: {node: '>=12'} + dependencies: + abab: 2.0.6 + whatwg-mimetype: 3.0.0 + whatwg-url: 11.0.0 + dev: true - data-view-buffer@1.0.1: - resolution: {integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==} - engines: {node: '>= 0.4'} - - data-view-byte-length@1.0.1: - resolution: {integrity: sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==} - engines: {node: '>= 0.4'} - - data-view-byte-offset@1.0.0: - resolution: {integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==} - engines: {node: '>= 0.4'} - - date-fns-tz@2.0.0: - resolution: {integrity: sha512-OAtcLdB9vxSXTWHdT8b398ARImVwQMyjfYGkKD2zaGpHseG2UPHbHjXELReErZFxWdSLph3c2zOaaTyHfOhERQ==} + /date-fns-tz@1.3.8(date-fns@2.29.3): + resolution: {integrity: sha512-qwNXUFtMHTTU6CFSFjoJ80W8Fzzp24LntbjFFBgL/faqds4e5mo9mftoRLgr3Vi1trISsg4awSpYVsOQCRnapQ==} peerDependencies: date-fns: '>=2.0.0' + dependencies: + date-fns: 2.29.3 + dev: false - date-fns@2.29.3: + /date-fns@2.29.3: resolution: {integrity: sha512-dDCnyH2WnnKusqvZZ6+jA1O51Ibt8ZMRNkDZdyAyK4YfbDwa/cEmuztzG5pk6hqlp9aSBPYcjOlktquahGwGeA==} engines: {node: '>=0.11'} + dev: false - date-fns@2.30.0: - resolution: {integrity: sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==} - engines: {node: '>=0.11'} - - de-indent@1.0.2: - resolution: {integrity: sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==} - - debug@3.2.7: + /debug@3.2.7: resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} peerDependencies: supports-color: '*' peerDependenciesMeta: supports-color: optional: true + dependencies: + ms: 2.1.3 + dev: true - debug@4.3.4: + /debug@4.3.4: resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} engines: {node: '>=6.0'} peerDependencies: @@ -2954,258 +3769,560 @@ packages: peerDependenciesMeta: supports-color: optional: true + dependencies: + ms: 2.1.2 - debug@4.4.0: - resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - - decamelize@1.2.0: + /decamelize@1.2.0: resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} engines: {node: '>=0.10.0'} + dev: false - decimal.js@10.4.3: + /decimal.js@10.4.3: resolution: {integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==} - deep-eql@4.1.3: + /deep-eql@4.1.3: resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==} engines: {node: '>=6'} + dependencies: + type-detect: 4.0.8 + dev: true - deep-is@0.1.4: + /deep-is@0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + dev: true - deepmerge-ts@5.1.0: + /deepmerge-ts@5.1.0: resolution: {integrity: sha512-eS8dRJOckyo9maw9Tu5O5RUi/4inFLrnoLkBe3cPfDMx3WZioXtmOew4TXQaxq7Rhl4xjDtR7c6x8nNTxOvbFw==} engines: {node: '>=16.0.0'} + dev: false - deepmerge@2.2.1: - resolution: {integrity: sha512-R9hc1Xa/NOBi9WRVUWg19rl1UB7Tt4kuPd+thNJgFZoxXsTz7ncaPaeIm+40oSGuP33DfMb4sZt1QIGiJzC4EA==} - engines: {node: '>=0.10.0'} - - deepmerge@4.3.1: + /deepmerge@4.3.1: resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} engines: {node: '>=0.10.0'} - defaults@1.0.4: - resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} - - define-data-property@1.1.4: - resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} - engines: {node: '>= 0.4'} - - define-lazy-prop@2.0.0: + /define-lazy-prop@2.0.0: resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} engines: {node: '>=8'} + dev: true - define-properties@1.2.1: - resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} + /define-properties@1.2.0: + resolution: {integrity: sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==} engines: {node: '>= 0.4'} + dependencies: + has-property-descriptors: 1.0.0 + object-keys: 1.1.1 + dev: true - defu@6.1.2: + /defu@6.1.2: resolution: {integrity: sha512-+uO4+qr7msjNNWKYPHqN/3+Dx3NFkmIzayk2L1MyZQlvgZb/J1A0fo410dpKrN2SnqFjt8n4JL8fDJE0wIgjFQ==} + dev: true - defu@6.1.4: - resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==} - - degit@2.8.4: - resolution: {integrity: sha512-vqYuzmSA5I50J882jd+AbAhQtgK6bdKUJIex1JNfEUPENCgYsxugzKVZlFyMwV4i06MmnV47/Iqi5Io86zf3Ng==} - engines: {node: '>=8.0.0'} - hasBin: true - - delayed-stream@1.0.0: + /delayed-stream@1.0.0: resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} engines: {node: '>=0.4.0'} + dev: true - destr@2.0.3: - resolution: {integrity: sha512-2N3BOUU4gYMpTP24s5rF5iP7BDr7uNTCs4ozw3kf/eKfvWSIu93GEBi5m427YoyJoeOzQ5smuu4nNAPGb8idSQ==} + /depd@2.0.0: + resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} + engines: {node: '>= 0.8'} + dev: false - diff-sequences@29.4.3: - resolution: {integrity: sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + /destr@1.2.2: + resolution: {integrity: sha512-lrbCJwD9saUQrqUfXvl6qoM+QN3W7tLV5pAOs+OqOmopCCz/JkE05MHedJR1xfk4IAnZuJXPVuN5+7jNA2ZCiA==} + dev: true - dijkstrajs@1.0.2: + /dijkstrajs@1.0.2: resolution: {integrity: sha512-QV6PMaHTCNmKSeP6QoXhVTw9snc9VD8MulTT0Bd99Pacp4SS1cjcrYPgBPmibqKVtMJJfqC6XvOXgPMEEPH/fg==} + dev: false - dir-glob@3.0.1: + /dir-glob@3.0.1: resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} engines: {node: '>=8'} + dependencies: + path-type: 4.0.0 + dev: true - discontinuous-range@1.0.0: - resolution: {integrity: sha512-c68LpLbO+7kP/b1Hr1qs8/BJ09F5khZGTxqxZuhzxpmwJKOgRFHJWIb9/KmqnqHhLdO55aOxFH/EGBvUQbL/RQ==} - - doctrine@2.1.0: + /doctrine@2.1.0: resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} engines: {node: '>=0.10.0'} + dependencies: + esutils: 2.0.3 + dev: true - doctrine@3.0.0: + /doctrine@3.0.0: resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} engines: {node: '>=6.0.0'} + dependencies: + esutils: 2.0.3 + dev: true - dom-serializer@2.0.0: - resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} + /doctypes@1.1.0: + resolution: {integrity: sha512-LLBi6pEqS6Do3EKQ3J0NqHWV5hhb78Pi8vvESYwyOy2c31ZEZVdtitdzsQsKb7878PEERhzUk0ftqGhG6Mz+pQ==} + dev: true - domelementtype@2.3.0: + /dom-serializer@1.4.1: + resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==} + dependencies: + domelementtype: 2.3.0 + domhandler: 4.3.1 + entities: 2.2.0 + dev: true + + /domelementtype@2.3.0: resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} + dev: true - domexception@4.0.0: + /domexception@4.0.0: resolution: {integrity: sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==} engines: {node: '>=12'} + dependencies: + webidl-conversions: 7.0.0 + dev: true - domhandler@5.0.3: - resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} + /domhandler@4.3.1: + resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==} engines: {node: '>= 4'} + dependencies: + domelementtype: 2.3.0 + dev: true - dompurify@3.0.6: - resolution: {integrity: sha512-ilkD8YEnnGh1zJ240uJsW7AzE+2qpbOUYjacomn3AvJ6J4JhKGSZ2nh4wUIXPZrEPppaCLx5jFe8T89Rk8tQ7w==} + /domutils@2.8.0: + resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==} + dependencies: + dom-serializer: 1.4.1 + domelementtype: 2.3.0 + domhandler: 4.3.1 + dev: true - domutils@3.1.0: - resolution: {integrity: sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==} - - dot-case@2.1.1: - resolution: {integrity: sha512-HnM6ZlFqcajLsyudHq7LeeLDr2rFAVYtDv/hV5qchQEidSck8j9OPUsXY9KwJv/lHMtYlX4DjRQqwFYa+0r8Ug==} - - dot-case@3.0.4: + /dot-case@3.0.4: resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} + dependencies: + no-case: 3.0.4 + tslib: 2.5.0 + dev: false - drange@1.1.1: - resolution: {integrity: sha512-pYxfDYpued//QpnLIm4Avk7rsNtAtQkUES2cwAYSvD/wd2pKD71gN2Ebj3e7klzXwjocvE8c5vx/1fxwpqmSxA==} - engines: {node: '>=4'} - - dunder-proto@1.0.0: - resolution: {integrity: sha512-9+Sj30DIu+4KvHqMfLUGLFYL2PkURSYMVXJyXe92nFRvlYq5hBjLEhblKB+vkd/WVlUYMWigiY07T91Fkk0+4A==} - engines: {node: '>= 0.4'} - - duplexer@0.1.2: + /duplexer@0.1.2: resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} + dev: true - editorconfig@0.15.3: + /editorconfig@0.15.3: resolution: {integrity: sha512-M9wIMFx96vq0R4F+gRpY3o2exzb8hEj/n9S8unZtHSvYjibBp/iMufSzvmOcV/laG0ZtuTVGtiJggPOSW2r93g==} hasBin: true + dependencies: + commander: 2.20.3 + lru-cache: 4.1.5 + semver: 5.7.1 + sigmund: 1.0.1 + dev: true - ejs@3.1.10: - resolution: {integrity: sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==} - engines: {node: '>=0.10.0'} - hasBin: true - - ejs@3.1.9: + /ejs@3.1.9: resolution: {integrity: sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==} engines: {node: '>=0.10.0'} hasBin: true + dependencies: + jake: 10.8.5 + dev: true - electron-to-chromium@1.4.433: - resolution: {integrity: sha512-MGO1k0w1RgrfdbLVwmXcDhHHuxCn2qRgR7dYsJvWFKDttvYPx6FNzCGG0c/fBBvzK2LDh3UV7Tt9awnHnvAAUQ==} + /electron-to-chromium@1.4.360: + resolution: {integrity: sha512-EP/jdF15S+l3iSSzgUpUqeazvkbVFXNuVxwwLMVUSie3lUeH1HH70gKe0IS7TASB/0h5QPG2bLMzv2jelSztIQ==} + dev: true - electron-to-chromium@1.4.572: - resolution: {integrity: sha512-RlFobl4D3ieetbnR+2EpxdzFl9h0RAJkPK3pfiwMug2nhBin2ZCsGIAJWdpNniLz43sgXam/CgipOmvTA+rUiA==} + /emmet@2.4.2: + resolution: {integrity: sha512-YgmsMkhUgzhJMgH5noGudfxqrQn1bapvF0y7C1e7A0jWFImsRrrvVslzyZz0919NED/cjFOpVWx7c973V+2S/w==} + dependencies: + '@emmetio/abbreviation': 2.3.1 + '@emmetio/css-abbreviation': 2.1.6 + dev: true - electron-to-chromium@1.5.73: - resolution: {integrity: sha512-8wGNxG9tAG5KhGd3eeA0o6ixhiNdgr0DcHWm85XPCphwZgD1lIEoi6t3VERayWao7SF7AAZTw6oARGJeVjH8Kg==} - - email-normalizer@1.0.0: - resolution: {integrity: sha512-wZYuuMtL4kUOmg/TPtCrf9hAZjbFq+FcjWA85Z5nr2lGllRnWJPxCJw3gy4Cx+adMoyVw4VJfGGvt/OHgIW+qg==} - - emitter-component@1.1.1: - resolution: {integrity: sha512-G+mpdiAySMuB7kesVRLuyvYRqDmshB7ReKEVuyBPkzQlmiDiLrt7hHHIy4Aff552bgknVN7B2/d3lzhGO5dvpQ==} - - emoji-regex@8.0.0: + /emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} - emojilib@3.0.10: - resolution: {integrity: sha512-VQtCRroFykPTJaoEBEGFg5tI+rEluabjuaVDDbSftDtiRJ5GuqRG/LGV1mmDzkJP4bh5rzuEBOafMN68/YXQcQ==} - - encode-utf8@1.0.3: + /encode-utf8@1.0.3: resolution: {integrity: sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw==} + dev: false - enquirer@2.4.1: - resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==} - engines: {node: '>=8.6'} + /enhanced-resolve@5.12.0: + resolution: {integrity: sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ==} + engines: {node: '>=10.13.0'} + dependencies: + graceful-fs: 4.2.11 + tapable: 2.2.1 + dev: true - entities@3.0.1: + /entities@2.1.0: + resolution: {integrity: sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==} + dev: true + + /entities@2.2.0: + resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} + dev: true + + /entities@3.0.1: resolution: {integrity: sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==} engines: {node: '>=0.12'} - entities@4.5.0: - resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} - engines: {node: '>=0.12'} - - errno@0.1.8: + /errno@0.1.8: resolution: {integrity: sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==} hasBin: true + requiresBuild: true + dependencies: + prr: 1.0.1 + dev: true + optional: true - error-ex@1.3.2: - resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} - - es-abstract@1.23.5: - resolution: {integrity: sha512-vlmniQ0WNPwXqA0BnmwV3Ng7HxiGlh6r5U6JcTMNx8OilcAGqVJBHJcPjqOMaczU9fRuRK5Px2BdVyPRnKMMVQ==} + /es-abstract@1.21.2: + resolution: {integrity: sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg==} engines: {node: '>= 0.4'} + dependencies: + array-buffer-byte-length: 1.0.0 + available-typed-arrays: 1.0.5 + call-bind: 1.0.2 + es-set-tostringtag: 2.0.1 + es-to-primitive: 1.2.1 + function.prototype.name: 1.1.5 + get-intrinsic: 1.2.0 + get-symbol-description: 1.0.0 + globalthis: 1.0.3 + gopd: 1.0.1 + has: 1.0.3 + has-property-descriptors: 1.0.0 + has-proto: 1.0.1 + has-symbols: 1.0.3 + internal-slot: 1.0.5 + is-array-buffer: 3.0.2 + is-callable: 1.2.7 + is-negative-zero: 2.0.2 + is-regex: 1.1.4 + is-shared-array-buffer: 1.0.2 + is-string: 1.0.7 + is-typed-array: 1.1.10 + is-weakref: 1.0.2 + object-inspect: 1.12.3 + object-keys: 1.1.1 + object.assign: 4.1.4 + regexp.prototype.flags: 1.4.3 + safe-regex-test: 1.0.0 + string.prototype.trim: 1.2.7 + string.prototype.trimend: 1.0.6 + string.prototype.trimstart: 1.0.6 + typed-array-length: 1.0.4 + unbox-primitive: 1.0.2 + which-typed-array: 1.1.9 + dev: true - es-define-property@1.0.1: - resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} + /es-set-tostringtag@2.0.1: + resolution: {integrity: sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==} engines: {node: '>= 0.4'} + dependencies: + get-intrinsic: 1.2.0 + has: 1.0.3 + has-tostringtag: 1.0.0 + dev: true - es-errors@1.3.0: - resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} + /es-shim-unscopables@1.0.0: + resolution: {integrity: sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==} + dependencies: + has: 1.0.3 + dev: true + + /es-to-primitive@1.2.1: + resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} engines: {node: '>= 0.4'} + dependencies: + is-callable: 1.2.7 + is-date-object: 1.0.5 + is-symbol: 1.0.4 + dev: true - es-object-atoms@1.0.0: - resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==} - engines: {node: '>= 0.4'} + /esbuild-android-64@0.14.54: + resolution: {integrity: sha512-Tz2++Aqqz0rJ7kYBfz+iqyE3QMycD4vk7LBRyWaAVFgFtQ/O8EJOnVmTOiDWYZ/uYzB4kvP+bqejYdVKzE5lAQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + dev: true + optional: true - es-set-tostringtag@2.0.3: - resolution: {integrity: sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==} - engines: {node: '>= 0.4'} + /esbuild-android-arm64@0.14.54: + resolution: {integrity: sha512-F9E+/QDi9sSkLaClO8SOV6etqPd+5DgJje1F9lOWoNncDdOBL2YF59IhsWATSt0TLZbYCf3pNlTHvVV5VfHdvg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true - es-to-primitive@1.3.0: - resolution: {integrity: sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==} - engines: {node: '>= 0.4'} + /esbuild-darwin-64@0.14.54: + resolution: {integrity: sha512-jtdKWV3nBviOd5v4hOpkVmpxsBy90CGzebpbO9beiqUYVMBtSc0AL9zGftFuBon7PNDcdvNCEuQqw2x0wP9yug==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true - esbuild@0.18.20: - resolution: {integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==} + /esbuild-darwin-arm64@0.14.54: + resolution: {integrity: sha512-OPafJHD2oUPyvJMrsCvDGkRrVCar5aVyHfWGQzY1dWnzErjrDuSETxwA2HSsyg2jORLY8yBfzc1MIpUkXlctmw==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /esbuild-freebsd-64@0.14.54: + resolution: {integrity: sha512-OKwd4gmwHqOTp4mOGZKe/XUlbDJ4Q9TjX0hMPIDBUWWu/kwhBAudJdBoxnjNf9ocIB6GN6CPowYpR/hRCbSYAg==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /esbuild-freebsd-arm64@0.14.54: + resolution: {integrity: sha512-sFwueGr7OvIFiQT6WeG0jRLjkjdqWWSrfbVwZp8iMP+8UHEHRBvlaxL6IuKNDwAozNUmbb8nIMXa7oAOARGs1Q==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-32@0.14.54: + resolution: {integrity: sha512-1ZuY+JDI//WmklKlBgJnglpUL1owm2OX+8E1syCD6UAxcMM/XoWd76OHSjl/0MR0LisSAXDqgjT3uJqT67O3qw==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-64@0.14.54: + resolution: {integrity: sha512-EgjAgH5HwTbtNsTqQOXWApBaPVdDn7XcK+/PtJwZLT1UmpLoznPd8c5CxqsH2dQK3j05YsB3L17T8vE7cp4cCg==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-arm64@0.14.54: + resolution: {integrity: sha512-WL71L+0Rwv+Gv/HTmxTEmpv0UgmxYa5ftZILVi2QmZBgX3q7+tDeOQNqGtdXSdsL8TQi1vIaVFHUPDe0O0kdig==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-arm@0.14.54: + resolution: {integrity: sha512-qqz/SjemQhVMTnvcLGoLOdFpCYbz4v4fUo+TfsWG+1aOu70/80RV6bgNpR2JCrppV2moUQkww+6bWxXRL9YMGw==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-mips64le@0.14.54: + resolution: {integrity: sha512-qTHGQB8D1etd0u1+sB6p0ikLKRVuCWhYQhAHRPkO+OF3I/iSlTKNNS0Lh2Oc0g0UFGguaFZZiPJdJey3AGpAlw==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-ppc64le@0.14.54: + resolution: {integrity: sha512-j3OMlzHiqwZBDPRCDFKcx595XVfOfOnv68Ax3U4UKZ3MTYQB5Yz3X1mn5GnodEVYzhtZgxEBidLWeIs8FDSfrQ==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-riscv64@0.14.54: + resolution: {integrity: sha512-y7Vt7Wl9dkOGZjxQZnDAqqn+XOqFD7IMWiewY5SPlNlzMX39ocPQlOaoxvT4FllA5viyV26/QzHtvTjVNOxHZg==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-s390x@0.14.54: + resolution: {integrity: sha512-zaHpW9dziAsi7lRcyV4r8dhfG1qBidQWUXweUjnw+lliChJqQr+6XD71K41oEIC3Mx1KStovEmlzm+MkGZHnHA==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-netbsd-64@0.14.54: + resolution: {integrity: sha512-PR01lmIMnfJTgeU9VJTDY9ZerDWVFIUzAtJuDHwwceppW7cQWjBBqP48NdeRtoP04/AtO9a7w3viI+PIDr6d+w==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + dev: true + optional: true + + /esbuild-openbsd-64@0.14.54: + resolution: {integrity: sha512-Qyk7ikT2o7Wu76UsvvDS5q0amJvmRzDyVlL0qf5VLsLchjCa1+IAvd8kTBgUxD7VBUUVgItLkk609ZHUc1oCaw==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + dev: true + optional: true + + /esbuild-sunos-64@0.14.54: + resolution: {integrity: sha512-28GZ24KmMSeKi5ueWzMcco6EBHStL3B6ubM7M51RmPwXQGLe0teBGJocmWhgwccA1GeFXqxzILIxXpHbl9Q/Kw==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true + dev: true + optional: true + + /esbuild-windows-32@0.14.54: + resolution: {integrity: sha512-T+rdZW19ql9MjS7pixmZYVObd9G7kcaZo+sETqNH4RCkuuYSuv9AGHUVnPoP9hhuE1WM1ZimHz1CIBHBboLU7w==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /esbuild-windows-64@0.14.54: + resolution: {integrity: sha512-AoHTRBUuYwXtZhjXZbA1pGfTo8cJo3vZIcWGLiUcTNgHpJJMC1rVA44ZereBHMJtotyN71S8Qw0npiCIkW96cQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /esbuild-windows-arm64@0.14.54: + resolution: {integrity: sha512-M0kuUvXhot1zOISQGXwWn6YtS+Y/1RT9WrVIOywZnJHo3jCDyewAc79aKNQWFCQm+xNHVTq9h8dZKvygoXQQRg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /esbuild@0.14.54: + resolution: {integrity: sha512-Cy9llcy8DvET5uznocPyqL3BFRrFXSVqbgpMJ9Wz8oVjZlh/zUSNbPRbov0VX7VxN2JH1Oa0uNxZ7eLRb62pJA==} engines: {node: '>=12'} hasBin: true + requiresBuild: true + optionalDependencies: + '@esbuild/linux-loong64': 0.14.54 + esbuild-android-64: 0.14.54 + esbuild-android-arm64: 0.14.54 + esbuild-darwin-64: 0.14.54 + esbuild-darwin-arm64: 0.14.54 + esbuild-freebsd-64: 0.14.54 + esbuild-freebsd-arm64: 0.14.54 + esbuild-linux-32: 0.14.54 + esbuild-linux-64: 0.14.54 + esbuild-linux-arm: 0.14.54 + esbuild-linux-arm64: 0.14.54 + esbuild-linux-mips64le: 0.14.54 + esbuild-linux-ppc64le: 0.14.54 + esbuild-linux-riscv64: 0.14.54 + esbuild-linux-s390x: 0.14.54 + esbuild-netbsd-64: 0.14.54 + esbuild-openbsd-64: 0.14.54 + esbuild-sunos-64: 0.14.54 + esbuild-windows-32: 0.14.54 + esbuild-windows-64: 0.14.54 + esbuild-windows-arm64: 0.14.54 + dev: true - esbuild@0.23.1: - resolution: {integrity: sha512-VVNz/9Sa0bs5SELtn3f7qhJCDPCF5oMEl5cO9/SSinpE9hbPVvxbd572HH5AKiP7WD8INO53GgfDDhRjkylHEg==} - engines: {node: '>=18'} - hasBin: true - - escalade@3.1.1: + /escalade@3.1.1: resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} engines: {node: '>=6'} + dev: true - escalade@3.2.0: - resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} - engines: {node: '>=6'} - - escape-latex@1.2.0: + /escape-latex@1.2.0: resolution: {integrity: sha512-nV5aVWW1K0wEiUIEdZ4erkGGH8mDxGyxSeqPzRNtWP7ataw+/olFObw7hujFWlVjNsaDFw5VZ5NzVSIqRgfTiw==} + dev: false - escape-string-regexp@1.0.5: + /escape-string-regexp@1.0.5: resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} engines: {node: '>=0.8.0'} + dev: true - escape-string-regexp@4.0.0: + /escape-string-regexp@4.0.0: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} - escape-string-regexp@5.0.0: + /escape-string-regexp@5.0.0: resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} engines: {node: '>=12'} - escodegen@2.1.0: - resolution: {integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==} + /escodegen@2.0.0: + resolution: {integrity: sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==} engines: {node: '>=6.0'} hasBin: true + dependencies: + esprima: 4.0.1 + estraverse: 5.3.0 + esutils: 2.0.3 + optionator: 0.8.3 + optionalDependencies: + source-map: 0.6.1 + dev: true - eslint-import-resolver-node@0.3.9: - resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} + /eslint-config-prettier@8.8.0(eslint@8.38.0): + resolution: {integrity: sha512-wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA==} + hasBin: true + peerDependencies: + eslint: '>=7.0.0' + dependencies: + eslint: 8.38.0 + dev: true - eslint-module-utils@2.12.0: - resolution: {integrity: sha512-wALZ0HFoytlyh/1+4wuZ9FJCD/leWHQzzrxJ8+rebyReSLk7LApMyd3WJaLVoN+D5+WIdJyDK1c6JnE65V4Zyg==} + /eslint-import-resolver-node@0.3.7: + resolution: {integrity: sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==} + dependencies: + debug: 3.2.7 + is-core-module: 2.12.0 + resolve: 1.22.2 + transitivePeerDependencies: + - supports-color + dev: true + + /eslint-import-resolver-typescript@3.5.5(@typescript-eslint/parser@5.58.0)(eslint-plugin-import@2.27.5)(eslint@8.38.0): + resolution: {integrity: sha512-TdJqPHs2lW5J9Zpe17DZNQuDnox4xo2o+0tE7Pggain9Rbc19ik8kFtXdxZ250FVx2kF4vlt2RSf4qlUpG7bhw==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + eslint: '*' + eslint-plugin-import: '*' + dependencies: + debug: 4.3.4 + enhanced-resolve: 5.12.0 + eslint: 8.38.0 + eslint-module-utils: 2.7.4(@typescript-eslint/parser@5.58.0)(eslint-import-resolver-node@0.3.7)(eslint-import-resolver-typescript@3.5.5)(eslint@8.38.0) + eslint-plugin-import: 2.27.5(@typescript-eslint/parser@5.58.0)(eslint-import-resolver-typescript@3.5.5)(eslint@8.38.0) + get-tsconfig: 4.5.0 + globby: 13.1.4 + is-core-module: 2.12.0 + is-glob: 4.0.3 + synckit: 0.8.5 + transitivePeerDependencies: + - '@typescript-eslint/parser' + - eslint-import-resolver-node + - eslint-import-resolver-webpack + - supports-color + dev: true + + /eslint-module-utils@2.7.4(@typescript-eslint/parser@5.58.0)(eslint-import-resolver-node@0.3.7)(eslint-import-resolver-typescript@3.5.5)(eslint@8.38.0): + resolution: {integrity: sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==} engines: {node: '>=4'} peerDependencies: '@typescript-eslint/parser': '*' @@ -3224,6389 +4341,129 @@ packages: optional: true eslint-import-resolver-webpack: optional: true - - eslint-plugin-antfu@0.41.0: - resolution: {integrity: sha512-JeEeDZgz7oqYPYWYNQHdXrKaW2nhJz/70jeMZUkaNjVp72cpsJPH3idiEhIhGu3wjFdsOMCoEkboT/DQXlCaqA==} - - eslint-plugin-es-x@7.2.0: - resolution: {integrity: sha512-9dvv5CcvNjSJPqnS5uZkqb3xmbeqRLnvXKK7iI5+oK/yTusyc46zbBZKENGsOfojm/mKfszyZb+wNqNPAPeGXA==} - engines: {node: ^14.18.0 || >=16.0.0} - peerDependencies: - eslint: '>=8' - - eslint-plugin-eslint-comments@3.2.0: - resolution: {integrity: sha512-0jkOl0hfojIHHmEHgmNdqv4fmh7300NdpA9FFpF7zaoLvB/QeXOGNLIo86oAveJFrfB1p05kC8hpEMHM8DwWVQ==} - engines: {node: '>=6.5.0'} - peerDependencies: - eslint: '>=4.19.1' - - eslint-plugin-html@7.1.0: - resolution: {integrity: sha512-fNLRraV/e6j8e3XYOC9xgND4j+U7b1Rq+OygMlLcMg+wI/IpVbF+ubQa3R78EjKB9njT6TQOlcK5rFKBVVtdfg==} - - eslint-plugin-i@2.28.0-2: - resolution: {integrity: sha512-z48kG4qmE4TmiLcxbmvxMT5ycwvPkXaWW0XpU1L768uZaTbiDbxsHMEdV24JHlOR1xDsPpKW39BfP/pRdYIwFA==} - engines: {node: '>=12'} - peerDependencies: - eslint: ^7.2.0 || ^8 - - eslint-plugin-jest@27.2.3: - resolution: {integrity: sha512-sRLlSCpICzWuje66Gl9zvdF6mwD5X86I4u55hJyFBsxYOsBCmT5+kSUjf+fkFWVMMgpzNEupjW8WzUqi83hJAQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - peerDependencies: - '@typescript-eslint/eslint-plugin': ^5.0.0 || ^6.0.0 - eslint: ^7.0.0 || ^8.0.0 - jest: '*' - peerDependenciesMeta: - '@typescript-eslint/eslint-plugin': - optional: true - jest: - optional: true - - eslint-plugin-jsonc@2.9.0: - resolution: {integrity: sha512-RK+LeONVukbLwT2+t7/OY54NJRccTXh/QbnXzPuTLpFMVZhPuq1C9E07+qWenGx7rrQl0kAalAWl7EmB+RjpGA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: '>=6.0.0' - - eslint-plugin-markdown@3.0.1: - resolution: {integrity: sha512-8rqoc148DWdGdmYF6WSQFT3uQ6PO7zXYgeBpHAOAakX/zpq+NvFYbDA/H7PYzHajwtmaOzAwfxyl++x0g1/N9A==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - - eslint-plugin-n@16.0.2: - resolution: {integrity: sha512-Y66uDfUNbBzypsr0kELWrIz+5skicECrLUqlWuXawNSLUq3ltGlCwu6phboYYOTSnoTdHgTLrc+5Ydo6KjzZog==} - engines: {node: '>=16.0.0'} - peerDependencies: - eslint: '>=7.0.0' - - eslint-plugin-no-only-tests@3.1.0: - resolution: {integrity: sha512-Lf4YW/bL6Un1R6A76pRZyE1dl1vr31G/ev8UzIc/geCgFWyrKil8hVjYqWVKGB/UIGmb6Slzs9T0wNezdSVegw==} - engines: {node: '>=5.0.0'} - - eslint-plugin-promise@6.1.1: - resolution: {integrity: sha512-tjqWDwVZQo7UIPMeDReOpUgHCmCiH+ePnVT+5zVapL0uuHnegBUs2smM13CzOs2Xb5+MHMRFTs9v24yjba4Oig==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^7.0.0 || ^8.0.0 - - eslint-plugin-unicorn@48.0.1: - resolution: {integrity: sha512-FW+4r20myG/DqFcCSzoumaddKBicIPeFnTrifon2mWIzlfyvzwyqZjqVP7m4Cqr/ZYisS2aiLghkUWaPg6vtCw==} - engines: {node: '>=16'} - peerDependencies: - eslint: '>=8.44.0' - - eslint-plugin-unused-imports@3.0.0: - resolution: {integrity: sha512-sduiswLJfZHeeBJ+MQaG+xYzSWdRXoSw61DpU13mzWumCkR0ufD0HmO4kdNokjrkluMHpj/7PJeN35pgbhW3kw==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - '@typescript-eslint/eslint-plugin': ^6.0.0 - eslint: ^8.0.0 - peerDependenciesMeta: - '@typescript-eslint/eslint-plugin': - optional: true - - eslint-plugin-vue@9.17.0: - resolution: {integrity: sha512-r7Bp79pxQk9I5XDP0k2dpUC7Ots3OSWgvGZNu3BxmKK6Zg7NgVtcOB6OCna5Kb9oQwJPl5hq183WD0SY5tZtIQ==} - engines: {node: ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 - - eslint-plugin-yml@1.8.0: - resolution: {integrity: sha512-fgBiJvXD0P2IN7SARDJ2J7mx8t0bLdG6Zcig4ufOqW5hOvSiFxeUyc2g5I1uIm8AExbo26NNYCcTGZT0MXTsyg==} - engines: {node: ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: '>=6.0.0' - - eslint-rule-composer@0.3.0: - resolution: {integrity: sha512-bt+Sh8CtDmn2OajxvNO+BX7Wn4CIWMpTRm3MaiKPCQcnnlm0CS2mhui6QaoeQugs+3Kj2ESKEEGJUdVafwhiCg==} - engines: {node: '>=4.0.0'} - - eslint-scope@5.1.1: - resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} - engines: {node: '>=8.0.0'} - - eslint-scope@7.2.2: - resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - - eslint-visitor-keys@3.4.3: - resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - - eslint@8.47.0: - resolution: {integrity: sha512-spUQWrdPt+pRVP1TTJLmfRNJJHHZryFmptzcafwSvHsceV81djHOdnEeDmkdotZyLNjDhrOasNK8nikkoG1O8Q==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - hasBin: true - - espree@9.6.1: - resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - - esprima@4.0.1: - resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} - engines: {node: '>=4'} - hasBin: true - - esquery@1.5.0: - resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} - engines: {node: '>=0.10'} - - esrecurse@4.3.0: - resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} - engines: {node: '>=4.0'} - - estraverse@4.3.0: - resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} - engines: {node: '>=4.0'} - - estraverse@5.3.0: - resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} - engines: {node: '>=4.0'} - - estree-walker@1.0.1: - resolution: {integrity: sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==} - - estree-walker@2.0.2: - resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} - - esutils@2.0.3: - resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} - engines: {node: '>=0.10.0'} - - event-stream@3.3.4: - resolution: {integrity: sha512-QHpkERcGsR0T7Qm3HNJSyXKEEj8AHNxkY3PK8TS2KJvQ7NiSHe3DDpwVKKtoYprL/AreyzFBeIkBIWChAqn60g==} - - evtd@0.2.4: - resolution: {integrity: sha512-qaeGN5bx63s/AXgQo8gj6fBkxge+OoLddLniox5qtLAEY5HSnuSlISXVPxnSae1dWblvTh4/HoMIB+mbMsvZzw==} - - execa@5.1.1: - resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} - engines: {node: '>=10'} - - extend-shallow@2.0.1: - resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} - engines: {node: '>=0.10.0'} - - fast-deep-equal@3.1.3: - resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} - - fast-glob@3.2.12: - resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==} - engines: {node: '>=8.6.0'} - - fast-glob@3.3.1: - resolution: {integrity: sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==} - engines: {node: '>=8.6.0'} - - fast-json-stable-stringify@2.1.0: - resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} - - fast-levenshtein@2.0.6: - resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} - - fast-uri@3.0.3: - resolution: {integrity: sha512-aLrHthzCjH5He4Z2H9YZ+v6Ujb9ocRuW6ZzkJQOrTxleEijANq4v1TsaPaVG1PZcuurEzrLcWRyYBYXD5cEiaw==} - - fastq@1.15.0: - resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} - - fdir@6.4.2: - resolution: {integrity: sha512-KnhMXsKSPZlAhp7+IjUkRZKPb4fUyccpDrdFXbi4QL1qkmFh9kVY09Yox+n4MaOb3lHZ1Tv829C3oaaXoMYPDQ==} - peerDependencies: - picomatch: ^3 || ^4 - peerDependenciesMeta: - picomatch: - optional: true - - fetch-blob@3.2.0: - resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} - engines: {node: ^12.20 || >= 14.13} - - figlet@1.7.0: - resolution: {integrity: sha512-gO8l3wvqo0V7wEFLXPbkX83b7MVjRrk1oRLfYlZXol8nEpb/ON9pcKLI4qpBv5YtOTfrINtqb7b40iYY2FTWFg==} - engines: {node: '>= 0.4.0'} - hasBin: true - - figue@1.2.0: - resolution: {integrity: sha512-CXKr12kiNWjKtUK3X+YHeXKepn80s9Rg6pgZXoLQYEybgwaGJ9uGW4DrBrVK30ZWZf1mcvTbXF56AcovG7gLVw==} - - file-entry-cache@6.0.1: - resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} - engines: {node: ^10.12.0 || >=12.0.0} - - filelist@1.0.4: - resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==} - - fill-range@7.0.1: - resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} - engines: {node: '>=8'} - - fill-range@7.1.1: - resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} - engines: {node: '>=8'} - - find-up@4.1.0: - resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} - engines: {node: '>=8'} - - find-up@5.0.0: - resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} - engines: {node: '>=10'} - - flat-cache@3.0.4: - resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} - engines: {node: ^10.12.0 || >=12.0.0} - - flatted@3.2.7: - resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==} - - flex-js@1.0.5: - resolution: {integrity: sha512-Z5uoLzOGtTB/nzaTVVBbwmxOHBzHovAGJHLXE1TUKsQuN1RRWMOWeA08J9RRKtAl9TH9tkaH6fpjA4sLf0DzQw==} - - for-each@0.3.3: - resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} - - form-data@4.0.0: - resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} - engines: {node: '>= 6'} - - formdata-polyfill@4.0.10: - resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==} - engines: {node: '>=12.20.0'} - - fraction.js@4.2.0: - resolution: {integrity: sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==} - - from@0.1.7: - resolution: {integrity: sha512-twe20eF1OxVxp/ML/kq2p1uc6KvFK/+vs8WjEbeKmV2He22MKm7YF2ANIt+EOqhJ5L3K/SuuPhk0hWQDjOM23g==} - - front-matter@4.0.2: - resolution: {integrity: sha512-I8ZuJ/qG92NWX8i5x1Y8qyj3vizhXS31OxjKDu3LKP+7/qBgfIKValiZIEwoVoJKUHlhWtYrktkxV1XsX+pPlg==} - - fs-extra@10.1.0: - resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} - engines: {node: '>=12'} - - fs-extra@11.1.1: - resolution: {integrity: sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==} - engines: {node: '>=14.14'} - - fs-extra@9.1.0: - resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==} - engines: {node: '>=10'} - - fs.realpath@1.0.0: - resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} - - fsevents@2.3.2: - resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} - engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} - os: [darwin] - - fsevents@2.3.3: - resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} - engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} - os: [darwin] - - function-bind@1.1.2: - resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} - - function.prototype.name@1.1.6: - resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} - engines: {node: '>= 0.4'} - - functions-have-names@1.2.3: - resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} - - fuse.js@6.6.2: - resolution: {integrity: sha512-cJaJkxCCxC8qIIcPBF9yGxY0W/tVZS3uEISDxhYIdtk8OL93pe+6Zj7LjCqVV4dzbqcriOZ+kQ/NE4RXZHsIGA==} - engines: {node: '>=10'} - - gensync@1.0.0-beta.2: - resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} - engines: {node: '>=6.9.0'} - - get-caller-file@2.0.5: - resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} - engines: {node: 6.* || 8.* || >= 10.*} - - get-func-name@2.0.0: - resolution: {integrity: sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==} - - get-intrinsic@1.2.6: - resolution: {integrity: sha512-qxsEs+9A+u85HhllWJJFicJfPDhRmjzoYdl64aMWW9yRIJmSyxdn8IEkuIM530/7T+lv0TIHd8L6Q/ra0tEoeA==} - engines: {node: '>= 0.4'} - - get-own-enumerable-property-symbols@3.0.2: - resolution: {integrity: sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==} - - get-stdin@8.0.0: - resolution: {integrity: sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==} - engines: {node: '>=10'} - - get-stream@6.0.1: - resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} - engines: {node: '>=10'} - - get-symbol-description@1.0.2: - resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==} - engines: {node: '>= 0.4'} - - get-tsconfig@4.8.1: - resolution: {integrity: sha512-k9PN+cFBmaLWtVz29SkUoqU5O0slLuHJXt/2P+tMVFT+phsSGXGkp9t3rQIqdz0e+06EHNGs3oM6ZX1s2zHxRg==} - - glob-parent@5.1.2: - resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} - engines: {node: '>= 6'} - - glob-parent@6.0.2: - resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} - engines: {node: '>=10.13.0'} - - glob@7.2.3: - resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} - - glob@8.1.0: - resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} - engines: {node: '>=12'} - - globals@11.12.0: - resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} - engines: {node: '>=4'} - - globals@13.20.0: - resolution: {integrity: sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==} - engines: {node: '>=8'} - - globals@15.13.0: - resolution: {integrity: sha512-49TewVEz0UxZjr1WYYsWpPrhyC/B/pA8Bq0fUmet2n+eR7yn0IvNzNaoBwnK6mdkzcN+se7Ez9zUgULTz2QH4g==} - engines: {node: '>=18'} - - globalthis@1.0.4: - resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} - engines: {node: '>= 0.4'} - - globalyzer@0.1.0: - resolution: {integrity: sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==} - - globby@11.1.0: - resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} - engines: {node: '>=10'} - - globby@13.1.4: - resolution: {integrity: sha512-iui/IiiW+QrJ1X1hKH5qwlMQyv34wJAYwH1vrf8b9kBA4sNiif3gKsMHa+BrdnOpEudWjpotfa7LrTzB1ERS/g==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - globrex@0.1.2: - resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==} - - gopd@1.2.0: - resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} - engines: {node: '>= 0.4'} - - graceful-fs@4.2.11: - resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - - graphemer@1.4.0: - resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} - - gray-matter@4.0.3: - resolution: {integrity: sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==} - engines: {node: '>=6.0'} - - gzip-size@6.0.0: - resolution: {integrity: sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==} - engines: {node: '>=10'} - - has-bigints@1.0.2: - resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} - - has-flag@3.0.0: - resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} - engines: {node: '>=4'} - - has-flag@4.0.0: - resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} - engines: {node: '>=8'} - - has-property-descriptors@1.0.2: - resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} - - has-proto@1.2.0: - resolution: {integrity: sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==} - engines: {node: '>= 0.4'} - - has-symbols@1.1.0: - resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} - engines: {node: '>= 0.4'} - - has-tostringtag@1.0.2: - resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} - engines: {node: '>= 0.4'} - - has@1.0.3: - resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} - engines: {node: '>= 0.4.0'} - - hasown@2.0.0: - resolution: {integrity: sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==} - engines: {node: '>= 0.4'} - - hasown@2.0.2: - resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} - engines: {node: '>= 0.4'} - - he@1.2.0: - resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} - hasBin: true - - header-case@1.0.1: - resolution: {integrity: sha512-i0q9mkOeSuhXw6bGgiQCCBgY/jlZuV/7dZXyZ9c6LcBrqwvT8eT719E9uxE5LiZftdl+z81Ugbg/VvXV4OJOeQ==} - - header-case@2.0.4: - resolution: {integrity: sha512-H/vuk5TEEVZwrR0lp2zed9OCo1uAILMlx0JEMgC26rzyJJ3N1v6XkwHHXJQdR2doSjcGPM6OKPYoJgf0plJ11Q==} - - highlight.js@11.7.0: - resolution: {integrity: sha512-1rRqesRFhMO/PRF+G86evnyJkCgaZFOI+Z6kdj15TA18funfoqJXvgPCLSf0SWq3SRfg1j3HlDs8o4s3EGq1oQ==} - engines: {node: '>=12.0.0'} - - highlight.js@11.9.0: - resolution: {integrity: sha512-fJ7cW7fQGCYAkgv4CPfwFHrfd/cLS4Hau96JuJ+ZTOWhjnhoeN1ub1tFmALm/+lW5z4WCAuAV9bm05AP0mS6Gw==} - engines: {node: '>=12.0.0'} - - hookable@5.5.3: - resolution: {integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==} - - hosted-git-info@2.8.9: - resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} - - html-encoding-sniffer@3.0.0: - resolution: {integrity: sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==} - engines: {node: '>=12'} - - html-tags@3.3.1: - resolution: {integrity: sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==} - engines: {node: '>=8'} - - htmlparser2@8.0.2: - resolution: {integrity: sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==} - - http-proxy-agent@5.0.0: - resolution: {integrity: sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==} - engines: {node: '>= 6'} - - https-proxy-agent@5.0.1: - resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} - engines: {node: '>= 6'} - - human-signals@2.1.0: - resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} - engines: {node: '>=10.17.0'} - - hygen@6.2.11: - resolution: {integrity: sha512-t6/zLI2XozP5gvV74nnl8LZSbwpVNFUkUs/O9DwuOdiiBbws5k4AQNVwKZ9FGzcKjdJ5EBBYkVzlcUHkLyY0FQ==} - hasBin: true - - iarna-toml-esm@3.0.5: - resolution: {integrity: sha512-CgeDbPohnFG827UoRaCqKxJ8idiIDZDWlcHf5hUReQnZ8jHnNnhN4QJFiY12fKvr0LvuDuKAimqQfrmQnacbtw==} - - ibantools@4.3.3: - resolution: {integrity: sha512-RUTlGuFj3cU/Qfu5YIrsIZjW34/VDgKOz5fDr64Mc4NWP9b2i48vQ39r5xCl1yyFQeyEG/lASstIQHAUX18rRA==} - - iconv-lite@0.6.3: - resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} - engines: {node: '>=0.10.0'} - - idb@7.1.1: - resolution: {integrity: sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==} - - ieee754@1.2.1: - resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} - - ignore-walk@4.0.1: - resolution: {integrity: sha512-rzDQLaW4jQbh2YrOFlJdCtX8qgJTehFRYiUB2r1osqTeDzV/3+Jh8fz1oAPzUThf3iku8Ds4IDqawI5d8mUiQw==} - engines: {node: '>=10'} - - ignore@5.2.4: - resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} - engines: {node: '>= 4'} - - image-size@0.5.5: - resolution: {integrity: sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==} - engines: {node: '>=0.10.0'} - hasBin: true - - import-fresh@3.3.0: - resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} - engines: {node: '>=6'} - - importx@0.4.4: - resolution: {integrity: sha512-Lo1pukzAREqrBnnHC+tj+lreMTAvyxtkKsMxLY8H15M/bvLl54p3YuoTI70Tz7Il0AsgSlD7Lrk/FaApRcBL7w==} - - imurmurhash@0.1.4: - resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} - engines: {node: '>=0.8.19'} - - indent-string@4.0.0: - resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} - engines: {node: '>=8'} - - inflection@1.13.4: - resolution: {integrity: sha512-6I/HUDeYFfuNCVS3td055BaXBwKYuzw7K3ExVMStBowKo9oOAMJIXIHvdyR3iboTCp1b+1i5DSkIZTcwIktuDw==} - engines: {'0': node >= 0.4.0} - - inflight@1.0.6: - resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} - - inherits@2.0.4: - resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} - - ini@1.3.8: - resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} - - internal-slot@1.1.0: - resolution: {integrity: sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==} - engines: {node: '>= 0.4'} - - ip-address@7.1.0: - resolution: {integrity: sha512-V9pWC/VJf2lsXqP7IWJ+pe3P1/HCYGBMZrrnT62niLGjAfCbeiwXMUxaeHvnVlz19O27pvXP4azs+Pj/A0x+SQ==} - engines: {node: '>= 10'} - - ip-cidr@3.1.0: - resolution: {integrity: sha512-HUCn4snshEX1P8cja/IyU3qk8FVDW8T5zZcegDFbu4w7NojmAhk5NcOgj3M8+0fmumo1afJTPDtJlzsxLdOjtg==} - engines: {node: '>=10.0.0'} - - is-alphabetical@1.0.4: - resolution: {integrity: sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==} - - is-alphanumerical@1.0.4: - resolution: {integrity: sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==} - - is-array-buffer@3.0.4: - resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==} - engines: {node: '>= 0.4'} - - is-arrayish@0.2.1: - resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} - - is-async-function@2.0.0: - resolution: {integrity: sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==} - engines: {node: '>= 0.4'} - - is-bigint@1.1.0: - resolution: {integrity: sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==} - engines: {node: '>= 0.4'} - - is-binary-path@2.1.0: - resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} - engines: {node: '>=8'} - - is-boolean-object@1.2.1: - resolution: {integrity: sha512-l9qO6eFlUETHtuihLcYOaLKByJ1f+N4kthcU9YjHy3N+B3hWv0y/2Nd0mu/7lTFnRQHTrSdXF50HQ3bl5fEnng==} - engines: {node: '>= 0.4'} - - is-builtin-module@3.2.1: - resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==} - engines: {node: '>=6'} - - is-callable@1.2.7: - resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} - engines: {node: '>= 0.4'} - - is-core-module@2.13.0: - resolution: {integrity: sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==} - - is-core-module@2.13.1: - resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} - - is-core-module@2.16.0: - resolution: {integrity: sha512-urTSINYfAYgcbLb0yDQ6egFm6h3Mo1DcF9EkyXSRjjzdHbsulg01qhwWuXdOoUBuTkbQ80KDboXa0vFJ+BDH+g==} - engines: {node: '>= 0.4'} - - is-data-view@1.0.2: - resolution: {integrity: sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==} - engines: {node: '>= 0.4'} - - is-date-object@1.1.0: - resolution: {integrity: sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==} - engines: {node: '>= 0.4'} - - is-decimal@1.0.4: - resolution: {integrity: sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==} - - is-docker@2.2.1: - resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} - engines: {node: '>=8'} - hasBin: true - - is-extendable@0.1.1: - resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==} - engines: {node: '>=0.10.0'} - - is-extendable@1.0.1: - resolution: {integrity: sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==} - engines: {node: '>=0.10.0'} - - is-extglob@2.1.1: - resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} - engines: {node: '>=0.10.0'} - - is-finalizationregistry@1.1.0: - resolution: {integrity: sha512-qfMdqbAQEwBw78ZyReKnlA8ezmPdb9BemzIIip/JkjaZUhitfXDkkr+3QTboW0JrSXT1QWyYShpvnNHGZ4c4yA==} - engines: {node: '>= 0.4'} - - is-fullwidth-code-point@3.0.0: - resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} - engines: {node: '>=8'} - - is-generator-function@1.0.10: - resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==} - engines: {node: '>= 0.4'} - - is-glob@4.0.3: - resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} - engines: {node: '>=0.10.0'} - - is-hexadecimal@1.0.4: - resolution: {integrity: sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==} - - is-interactive@1.0.0: - resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} - engines: {node: '>=8'} - - is-lower-case@1.1.3: - resolution: {integrity: sha512-+5A1e/WJpLLXZEDlgz4G//WYSHyQBD32qa4Jd3Lw06qQlv3fJHnp3YIHjTQSGzHMgzmVKz2ZP3rBxTHkPw/lxA==} - - is-map@2.0.3: - resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==} - engines: {node: '>= 0.4'} - - is-module@1.0.0: - resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==} - - is-negative-zero@2.0.3: - resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==} - engines: {node: '>= 0.4'} - - is-number-object@1.1.0: - resolution: {integrity: sha512-KVSZV0Dunv9DTPkhXwcZ3Q+tUc9TsaE1ZwX5J2WMvsSGS6Md8TFPun5uwh0yRdrNerI6vf/tbJxqSx4c1ZI1Lw==} - engines: {node: '>= 0.4'} - - is-number@7.0.0: - resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} - engines: {node: '>=0.12.0'} - - is-obj@1.0.1: - resolution: {integrity: sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==} - engines: {node: '>=0.10.0'} - - is-path-inside@3.0.3: - resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} - engines: {node: '>=8'} - - is-plain-object@2.0.4: - resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==} - engines: {node: '>=0.10.0'} - - is-potential-custom-element-name@1.0.1: - resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} - - is-primitive@3.0.1: - resolution: {integrity: sha512-GljRxhWvlCNRfZyORiH77FwdFwGcMO620o37EOYC0ORWdq+WYNVqW0w2Juzew4M+L81l6/QS3t5gkkihyRqv9w==} - engines: {node: '>=0.10.0'} - - is-regex@1.2.1: - resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==} - engines: {node: '>= 0.4'} - - is-regexp@1.0.0: - resolution: {integrity: sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==} - engines: {node: '>=0.10.0'} - - is-set@2.0.3: - resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==} - engines: {node: '>= 0.4'} - - is-shared-array-buffer@1.0.3: - resolution: {integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==} - engines: {node: '>= 0.4'} - - is-stream@2.0.1: - resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} - engines: {node: '>=8'} - - is-string@1.1.0: - resolution: {integrity: sha512-PlfzajuF9vSo5wErv3MJAKD/nqf9ngAs1NFQYm16nUYFO2IzxJ2hcm+IOCg+EEopdykNNUhVq5cz35cAUxU8+g==} - engines: {node: '>= 0.4'} - - is-symbol@1.1.1: - resolution: {integrity: sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==} - engines: {node: '>= 0.4'} - - is-typed-array@1.1.13: - resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==} - engines: {node: '>= 0.4'} - - is-unicode-supported@0.1.0: - resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} - engines: {node: '>=10'} - - is-upper-case@1.1.2: - resolution: {integrity: sha512-GQYSJMgfeAmVwh9ixyk888l7OIhNAGKtY6QA+IrWlu9MDTCaXmeozOZ2S9Knj7bQwBO/H6J2kb+pbyTUiMNbsw==} - - is-weakmap@2.0.2: - resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==} - engines: {node: '>= 0.4'} - - is-weakref@1.1.0: - resolution: {integrity: sha512-SXM8Nwyys6nT5WP6pltOwKytLV7FqQ4UiibxVmW+EIosHcmCqkkjViTb5SNssDlkCiEYRP1/pdWUKVvZBmsR2Q==} - engines: {node: '>= 0.4'} - - is-weakset@2.0.3: - resolution: {integrity: sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==} - engines: {node: '>= 0.4'} - - is-what@3.14.1: - resolution: {integrity: sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==} - - is-wsl@2.2.0: - resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} - engines: {node: '>=8'} - - isarray@2.0.5: - resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} - - isexe@2.0.0: - resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} - - isobject@3.0.1: - resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} - engines: {node: '>=0.10.0'} - - jake@10.8.7: - resolution: {integrity: sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==} - engines: {node: '>=10'} - hasBin: true - - jake@10.9.2: - resolution: {integrity: sha512-2P4SQ0HrLQ+fw6llpLnOaGAvN2Zu6778SJMrCUwns4fOoG9ayrTiZk3VV8sCPkVZF8ab0zksVpS8FDY5pRCNBA==} - engines: {node: '>=10'} - hasBin: true - - javascript-natural-sort@0.7.1: - resolution: {integrity: sha512-nO6jcEfZWQXDhOiBtG2KvKyEptz7RVbpGP4vTD2hLBdmNQSsCiicO2Ioinv6UI4y9ukqnBpy+XZ9H6uLNgJTlw==} - - jiti@1.21.0: - resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==} - hasBin: true - - jiti@1.21.6: - resolution: {integrity: sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==} - hasBin: true - - jiti@2.0.0-beta.3: - resolution: {integrity: sha512-pmfRbVRs/7khFrSAYnSiJ8C0D5GvzkE4Ey2pAvUcJsw1ly/p+7ut27jbJrjY79BpAJQJ4gXYFtK6d1Aub+9baQ==} - hasBin: true - - js-base64@3.7.7: - resolution: {integrity: sha512-7rCnleh0z2CkXhH67J8K1Ytz0b2Y+yxTPL+/KOJoa20hfnVQ/3/T6W/KflYI4bRHRagNeXeU2bkNGI3v1oS/lw==} - - js-beautify@1.14.6: - resolution: {integrity: sha512-GfofQY5zDp+cuHc+gsEXKPpNw2KbPddreEo35O6jT6i0RVK6LhsoYBhq5TvK4/n74wnA0QbK8gGd+jUZwTMKJw==} - engines: {node: '>=10'} - hasBin: true - - js-sha256@0.9.0: - resolution: {integrity: sha512-sga3MHh9sgQN2+pJ9VYZ+1LPwXOxuBJBA5nrR5/ofPfuiJBE2hnjsaN8se8JznOmGLN2p49Pe5U/ttafcs/apA==} - - js-tokens@4.0.0: - resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - - js-yaml@3.14.1: - resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} - hasBin: true - - js-yaml@4.1.0: - resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} - hasBin: true - - jsbn@1.1.0: - resolution: {integrity: sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==} - - jsdom@22.0.0: - resolution: {integrity: sha512-p5ZTEb5h+O+iU02t0GfEjAnkdYPrQSkfuTSMkMYyIoMvUNEHsbG0bHHbfXIcfTqD2UfvjQX7mmgiFsyRwGscVw==} - engines: {node: '>=16'} - peerDependencies: - canvas: ^2.5.0 - peerDependenciesMeta: - canvas: - optional: true - - jsesc@0.5.0: - resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} - hasBin: true - - jsesc@2.5.2: - resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} - engines: {node: '>=4'} - hasBin: true - - jsesc@3.0.2: - resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==} - engines: {node: '>=6'} - hasBin: true - - jsesc@3.1.0: - resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} - engines: {node: '>=6'} - hasBin: true - - json-parse-even-better-errors@2.3.1: - resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} - - json-schema-traverse@0.4.1: - resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} - - json-schema-traverse@1.0.0: - resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} - - json-schema@0.4.0: - resolution: {integrity: sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==} - - json-stable-stringify-without-jsonify@1.0.1: - resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} - - json5@2.2.3: - resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} - engines: {node: '>=6'} - hasBin: true - - jsonc-eslint-parser@2.3.0: - resolution: {integrity: sha512-9xZPKVYp9DxnM3sd1yAsh/d59iIaswDkai8oTxbursfKYbg/ibjX0IzFt35+VZ8iEW453TVTXztnRvYUQlAfUQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - - jsonc-parser@3.2.0: - resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} - - jsonfile@6.1.0: - resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} - - jsonpointer@5.0.1: - resolution: {integrity: sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==} - engines: {node: '>=0.10.0'} - - jwt-decode@3.1.2: - resolution: {integrity: sha512-UfpWE/VZn0iP50d8cz9NrZLM9lSWhcJ+0Gt/nm4by88UL+J1SiKN8/5dkjMmbEzwL2CAe+67GsegCbIKtbp75A==} - - kind-of@6.0.3: - resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} - engines: {node: '>=0.10.0'} - - kolorist@1.8.0: - resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==} - - less@4.1.3: - resolution: {integrity: sha512-w16Xk/Ta9Hhyei0Gpz9m7VS8F28nieJaL/VyShID7cYvP6IL5oHeL6p4TXSDJqZE/lNv0oJ2pGVjJsRkfwm5FA==} - engines: {node: '>=6'} - hasBin: true - - leven@3.1.0: - resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} - engines: {node: '>=6'} - - levn@0.4.1: - resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} - engines: {node: '>= 0.8.0'} - - libphonenumber-js@1.10.28: - resolution: {integrity: sha512-1eAgjLrZA0+2Wgw4hs+4Q/kEBycxQo8ZLYnmOvZ3AlM8ImAVAJgDPlZtISLEzD1vunc2q8s2Pn7XwB7I8U3Kzw==} - - lines-and-columns@1.2.4: - resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} - - linkify-it@4.0.1: - resolution: {integrity: sha512-C7bfi1UZmoj8+PQx22XyeXCuBlokoyWQL5pWSP+EI6nzRylyThouddufc2c1NDIcP9k5agmN9fLpA7VNJfIiqw==} - - linkify-it@5.0.0: - resolution: {integrity: sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==} - - load-tsconfig@0.2.5: - resolution: {integrity: sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - local-pkg@0.4.3: - resolution: {integrity: sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==} - engines: {node: '>=14'} - - local-pkg@0.5.1: - resolution: {integrity: sha512-9rrA30MRRP3gBD3HTGnC6cDFpaE1kVDWxWgqWJUN0RvDNAo+Nz/9GxB+nHOH0ifbVFy0hSA1V6vFDvnx54lTEQ==} - engines: {node: '>=14'} - - locate-path@5.0.0: - resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} - engines: {node: '>=8'} - - locate-path@6.0.0: - resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} - engines: {node: '>=10'} - - lodash-es@4.17.21: - resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} - - lodash.debounce@4.0.8: - resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} - - lodash.merge@4.6.2: - resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} - - lodash.sortby@4.7.0: - resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} - - lodash@4.17.21: - resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} - - log-symbols@4.1.0: - resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} - engines: {node: '>=10'} - - loupe@2.3.6: - resolution: {integrity: sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==} - - lower-case-first@1.0.2: - resolution: {integrity: sha512-UuxaYakO7XeONbKrZf5FEgkantPf5DUqDayzP5VXZrtRPdH86s4kN47I8B3TW10S4QKiE3ziHNf3kRN//okHjA==} - - lower-case@1.1.4: - resolution: {integrity: sha512-2Fgx1Ycm599x+WGpIYwJOvsjmXFzTSc34IwDWALRA/8AopUKAVPwfJ+h5+f85BCp0PWmmJcWzEpxOpoXycMpdA==} - - lower-case@2.0.2: - resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} - - lru-cache@4.1.5: - resolution: {integrity: sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==} - - lru-cache@5.1.1: - resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} - - lru-cache@6.0.0: - resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} - engines: {node: '>=10'} - - magic-string@0.25.9: - resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==} - - magic-string@0.30.0: - resolution: {integrity: sha512-LA+31JYDJLs82r2ScLrlz1GjSgu66ZV518eyWT+S8VhyQn/JL0u9MeBOvQMGYiPk1DBiSN9DDMOcXvigJZaViQ==} - engines: {node: '>=12'} - - magic-string@0.30.15: - resolution: {integrity: sha512-zXeaYRgZ6ldS1RJJUrMrYgNJ4fdwnyI6tVqoiIhyCyv5IVTK9BU8Ic2l253GGETQHxI4HNUwhJ3fjDhKqEoaAw==} - - magic-string@0.30.2: - resolution: {integrity: sha512-lNZdu7pewtq/ZvWUp9Wpf/x7WzMTsR26TWV03BRZrXFsv+BI6dy8RAiKgm1uM/kyR0rCfUcqvOlXKG66KhIGug==} - engines: {node: '>=12'} - - magic-string@0.30.5: - resolution: {integrity: sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==} - engines: {node: '>=12'} - - make-dir@2.1.0: - resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==} - engines: {node: '>=6'} - - make-error@1.3.6: - resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} - - map-stream@0.1.0: - resolution: {integrity: sha512-CkYQrPYZfWnu/DAmVCpTSX/xHpKZ80eKh2lAkyA6AJTef6bW+6JpbQZN5rofum7da+SyN1bi5ctTm+lTfcCW3g==} - - markdown-it@13.0.2: - resolution: {integrity: sha512-FtwnEuuK+2yVU7goGn/MJ0WBZMM9ZPgU9spqlFs7/A/pDIUNSOQZhUgOqYCficIuR2QaFnrt8LHqBWsbTAoI5w==} - hasBin: true - - markdown-it@14.1.0: - resolution: {integrity: sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==} - hasBin: true - - marked@10.0.0: - resolution: {integrity: sha512-YiGcYcWj50YrwBgNzFoYhQ1hT6GmQbFG8SksnYJX1z4BXTHSOrz1GB5/Jm2yQvMg4nN1FHP4M6r03R10KrVUiA==} - engines: {node: '>= 18'} - hasBin: true - - math-intrinsics@1.0.0: - resolution: {integrity: sha512-4MqMiKP90ybymYvsut0CH2g4XWbfLtmlCkXmtmdcDCxNB+mQcu1w/1+L/VD7vi/PSv7X2JYV7SCcR+jiPXnQtA==} - engines: {node: '>= 0.4'} - - mathjs@11.9.1: - resolution: {integrity: sha512-VdB9ELZ6Dwda13j5d1eCBETmPO8m9qIJETUdfZmTA9cPnXUiIk7UuoAmvxFqtfAe32XYuRugAec2Ndv0/RfRhg==} - engines: {node: '>= 14'} - hasBin: true - - mdast-util-from-markdown@0.8.5: - resolution: {integrity: sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ==} - - mdast-util-to-string@2.0.0: - resolution: {integrity: sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==} - - mdn-data@2.0.28: - resolution: {integrity: sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==} - - mdn-data@2.0.30: - resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==} - - mdn-data@2.12.2: - resolution: {integrity: sha512-IEn+pegP1aManZuckezWCO+XZQDplx1366JoVhTpMpBB1sPey/SbveZQUosKiKiGYjg1wH4pMlNgXbCiYgihQA==} - - mdurl@1.0.1: - resolution: {integrity: sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==} - - mdurl@2.0.0: - resolution: {integrity: sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==} - - merge-stream@2.0.0: - resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} - - merge2@1.4.1: - resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} - engines: {node: '>= 8'} - - micromark@2.11.4: - resolution: {integrity: sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA==} - - micromatch@4.0.5: - resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} - engines: {node: '>=8.6'} - - mime-db@1.52.0: - resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} - engines: {node: '>= 0.6'} - - mime-types@2.1.35: - resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} - engines: {node: '>= 0.6'} - - mime@1.6.0: - resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} - engines: {node: '>=4'} - hasBin: true - - mimic-fn@2.1.0: - resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} - engines: {node: '>=6'} - - min-indent@1.0.1: - resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} - engines: {node: '>=4'} - - minimatch@3.1.2: - resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} - - minimatch@5.1.6: - resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} - engines: {node: '>=10'} - - minimatch@9.0.1: - resolution: {integrity: sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==} - engines: {node: '>=16 || 14 >=14.17'} - - minimist@1.2.8: - resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} - - mlly@1.4.0: - resolution: {integrity: sha512-ua8PAThnTwpprIaU47EPeZ/bPUVp2QYBbWMphUQpVdBI3Lgqzm5KZQ45Agm3YJedHXaIHl6pBGabaLSUPPSptg==} - - mlly@1.4.2: - resolution: {integrity: sha512-i/Ykufi2t1EZ6NaPLdfnZk2AX8cs0d+mTzVKuPfqPKPatxLApaBoxJQ9x1/uckXtrS/U5oisPMDkNs0yQTaBRg==} - - mlly@1.7.3: - resolution: {integrity: sha512-xUsx5n/mN0uQf4V548PKQ+YShA4/IW0KI1dZhrNrPCLG+xizETbHTkOa1f8/xut9JRPp8kQuMnz0oqwkTiLo/A==} - - monaco-editor@0.43.0: - resolution: {integrity: sha512-cnoqwQi/9fml2Szamv1XbSJieGJ1Dc8tENVMD26Kcfl7xGQWp7OBKMjlwKVGYFJ3/AXJjSOGvcqK7Ry/j9BM1Q==} - - moo@0.5.2: - resolution: {integrity: sha512-iSAJLHYKnX41mKcJKjqvnAN9sf0LMDTXDEvFv+ffuRR9a1MIuXLjMNL6EsnDHSkKLTWNqQQ5uo61P4EbU4NU+Q==} - - mrmime@2.0.0: - resolution: {integrity: sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==} - engines: {node: '>=10'} - - ms@2.1.2: - resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} - - ms@2.1.3: - resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - - muggle-string@0.3.1: - resolution: {integrity: sha512-ckmWDJjphvd/FvZawgygcUeQCxzvohjFO5RxTjj4eq8kw359gFF3E1brjfI+viLMxss5JrHTDRHZvu2/tuy0Qg==} - - naive-ui@2.35.0: - resolution: {integrity: sha512-PdnLpOip1LQaKs5+rXLZoPDPQkTq26TnHWeABvUA2eOQjtHxE4+TQvj0Jq/W8clM2On/7jptoGmenLt48G3Bhg==} - peerDependencies: - vue: ^3.0.0 - - nanoid@3.3.6: - resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==} - engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} - hasBin: true - - nanoid@3.3.8: - resolution: {integrity: sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==} - engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} - hasBin: true - - natural-compare@1.4.0: - resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} - - nearley@2.20.1: - resolution: {integrity: sha512-+Mc8UaAebFzgV+KpI5n7DasuuQCHA89dmwm7JXw3TV43ukfNQ9DnBH3Mdb2g/I4Fdxc26pwimBWvjIw0UAILSQ==} - hasBin: true - - needle@3.2.0: - resolution: {integrity: sha512-oUvzXnyLiVyVGoianLijF9O/RecZUf7TkBfimjGrLM4eQhXyeJwM6GeAWccwfQ9aa4gMCZKqhAOuLaMIcQxajQ==} - engines: {node: '>= 4.4.x'} - hasBin: true - - netmask@2.0.2: - resolution: {integrity: sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==} - engines: {node: '>= 0.4.0'} - - no-case@2.3.2: - resolution: {integrity: sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==} - - no-case@3.0.4: - resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} - - node-domexception@1.0.0: - resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} - engines: {node: '>=10.5.0'} - - node-fetch-native@1.6.4: - resolution: {integrity: sha512-IhOigYzAKHd244OC0JIMIUrjzctirCmPkaIfhDeGcEETWof5zKYUW7e7MYvChGWh/4CJeXEgsRyGzuF334rOOQ==} - - node-fetch@3.2.10: - resolution: {integrity: sha512-MhuzNwdURnZ1Cp4XTazr69K0BTizsBroX7Zx3UgDSVcZYKF/6p0CBe4EUb/hLqmzVhl0UpYfgRljQ4yxE+iCxA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - node-forge@1.3.1: - resolution: {integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==} - engines: {node: '>= 6.13.0'} - - node-releases@2.0.12: - resolution: {integrity: sha512-QzsYKWhXTWx8h1kIvqfnC++o0pEmpRQA/aenALsL2F4pqNVr7YzcdMlDij5WBnwftRbJCNJL/O7zdKaxKPHqgQ==} - - node-releases@2.0.13: - resolution: {integrity: sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==} - - node-releases@2.0.19: - resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==} - - nopt@6.0.0: - resolution: {integrity: sha512-ZwLpbTgdhuZUnZzjd7nb1ZV+4DoiC6/sfiVKok72ym/4Tlf+DFdlHYmT2JPmcNNWV6Pi3SDf1kT+A4r9RTuT9g==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - hasBin: true - - normalize-package-data@2.5.0: - resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} - - normalize-path@3.0.0: - resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} - engines: {node: '>=0.10.0'} - - npm-run-path@4.0.1: - resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} - engines: {node: '>=8'} - - nth-check@2.1.1: - resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} - - nwsapi@2.2.7: - resolution: {integrity: sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==} - - object-inspect@1.13.3: - resolution: {integrity: sha512-kDCGIbxkDSXE3euJZZXzc6to7fCrKHNI/hSRQnRuQ+BWjFNzZwiFF8fj/6o2t2G9/jTj8PSIYTfCLelLZEeRpA==} - engines: {node: '>= 0.4'} - - object-keys@1.1.1: - resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} - engines: {node: '>= 0.4'} - - object.assign@4.1.5: - resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==} - engines: {node: '>= 0.4'} - - object.omit@3.0.0: - resolution: {integrity: sha512-EO+BCv6LJfu+gBIF3ggLicFebFLN5zqzz/WWJlMFfkMyGth+oBkhxzDl0wx2W4GkLzuQs/FsSkXZb2IMWQqmBQ==} - engines: {node: '>=0.10.0'} - - object.pick@1.3.0: - resolution: {integrity: sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==} - engines: {node: '>=0.10.0'} - - ofetch@1.4.1: - resolution: {integrity: sha512-QZj2DfGplQAr2oj9KzceK9Hwz6Whxazmn85yYeVuS3u9XTMOGMRx0kO95MQ+vLsj/S/NwBDMMLU5hpxvI6Tklw==} - - once@1.4.0: - resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} - - onetime@5.1.2: - resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} - engines: {node: '>=6'} - - open@8.4.2: - resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} - engines: {node: '>=12'} - - optionator@0.9.3: - resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} - engines: {node: '>= 0.8.0'} - - ora@5.4.1: - resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==} - engines: {node: '>=10'} - - orderedmap@2.1.1: - resolution: {integrity: sha512-TvAWxi0nDe1j/rtMcWcIj94+Ffe6n7zhow33h40SKxmsmozs6dz/e+EajymfoFcHd7sxNn8yHM8839uixMOV6g==} - - oui-data@1.0.10: - resolution: {integrity: sha512-PPrr40z5/MPStTTGJ0QtSD9KtaGHmnexBQWANWLWQOZZwbNMf/VyG/Uh29LwxExd51p3S323oM3kHbjRqmBiLg==} - - p-limit@2.3.0: - resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} - engines: {node: '>=6'} - - p-limit@3.1.0: - resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} - engines: {node: '>=10'} - - p-limit@4.0.0: - resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - p-locate@4.1.0: - resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} - engines: {node: '>=8'} - - p-locate@5.0.0: - resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} - engines: {node: '>=10'} - - p-try@2.2.0: - resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} - engines: {node: '>=6'} - - package-manager-detector@0.2.7: - resolution: {integrity: sha512-g4+387DXDKlZzHkP+9FLt8yKj8+/3tOkPv7DVTJGGRm00RkEWgqbFstX1mXJ4M0VDYhUqsTOiISqNOJnhAu3PQ==} - - param-case@2.1.1: - resolution: {integrity: sha512-eQE845L6ot89sk2N8liD8HAuH4ca6Vvr7VWAWwt7+kvvG5aBcPmmphQ68JsEG2qa9n1TykS2DLeMt363AAH8/w==} - - param-case@3.0.4: - resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==} - - parent-module@1.0.1: - resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} - engines: {node: '>=6'} - - parse-entities@2.0.0: - resolution: {integrity: sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==} - - parse-json@5.2.0: - resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} - engines: {node: '>=8'} - - parse-node-version@1.0.1: - resolution: {integrity: sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==} - engines: {node: '>= 0.10'} - - parse5@7.1.2: - resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==} - - pascal-case@2.0.1: - resolution: {integrity: sha512-qjS4s8rBOJa2Xm0jmxXiyh1+OFf6ekCWOvUaRgAQSktzlTbMotS0nmG9gyYAybCWBcuP4fsBeRCKNwGBnMe2OQ==} - - pascal-case@3.1.2: - resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==} - - path-case@2.1.1: - resolution: {integrity: sha512-Ou0N05MioItesaLr9q8TtHVWmJ6fxWdqKB2RohFmNWVyJ+2zeKIeDNWAN6B/Pe7wpzWChhZX6nONYmOnMeJQ/Q==} - - path-case@3.0.4: - resolution: {integrity: sha512-qO4qCFjXqVTrcbPt/hQfhTQ+VhFsqNKOPtytgNKkKxSoEp3XPUQ8ObFuePylOIok5gjn69ry8XiULxCwot3Wfg==} - - path-exists@4.0.0: - resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} - engines: {node: '>=8'} - - path-is-absolute@1.0.1: - resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} - engines: {node: '>=0.10.0'} - - path-key@3.1.1: - resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} - engines: {node: '>=8'} - - path-parse@1.0.7: - resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - - path-type@4.0.0: - resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} - engines: {node: '>=8'} - - pathe@1.1.1: - resolution: {integrity: sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q==} - - pathe@1.1.2: - resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} - - pathval@1.1.1: - resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} - - pause-stream@0.0.11: - resolution: {integrity: sha512-e3FBlXLmN/D1S+zHzanP4E/4Z60oFAa3O051qt1pxa7DEJWKAyil6upYVXCWadEnuoqa4Pkc9oUx9zsxYeRv8A==} - - pdf-signature-reader@1.4.2: - resolution: {integrity: sha512-qQbmFv6nv4SQt2gmaalaREhHu3x2XyLG2+zL4Gl4D2TL2Zfii1EKxlFhJDsduP8s06t26snDoSwEAQtJOtprmQ==} - - perfect-debounce@1.0.0: - resolution: {integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==} - - picocolors@1.0.0: - resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} - - picocolors@1.1.1: - resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} - - picomatch@2.3.1: - resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} - engines: {node: '>=8.6'} - - picomatch@4.0.2: - resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} - engines: {node: '>=12'} - - pify@4.0.1: - resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} - engines: {node: '>=6'} - - pinia@2.0.34: - resolution: {integrity: sha512-cgOoGUiyqX0SSgX8XelK9+Ri4XA2/YyNtgjogwfzIx1g7iZTaZPxm7/bZYMCLU2qHRiHhxG7SuQO0eBacFNc2Q==} - peerDependencies: - '@vue/composition-api': ^1.4.0 - typescript: '>=4.4.4' - vue: ^2.6.14 || ^3.2.0 - peerDependenciesMeta: - '@vue/composition-api': - optional: true - typescript: - optional: true - - pkg-types@1.0.3: - resolution: {integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==} - - pkg-types@1.2.1: - resolution: {integrity: sha512-sQoqa8alT3nHjGuTjuKgOnvjo4cljkufdtLMnO2LBP/wRwuDlo1tkaEdMxCRhyGRPacv/ztlZgDPm2b7FAmEvw==} - - plausible-tracker@0.3.8: - resolution: {integrity: sha512-lmOWYQ7s9KOUJ1R+YTOR3HrjdbxIS2Z4de0P/Jx2dQPteznJl2eX3tXxKClpvbfyGP59B5bbhW8ftN59HbbFSg==} - engines: {node: '>=10'} - - playwright-core@1.32.3: - resolution: {integrity: sha512-SB+cdrnu74ZIn5Ogh/8278ngEh9NEEV0vR4sJFmK04h2iZpybfbqBY0bX6+BLYWVdV12JLLI+JEFtSnYgR+mWg==} - engines: {node: '>=14'} - hasBin: true - - pluralize@8.0.0: - resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} - engines: {node: '>=4'} - - pngjs@5.0.0: - resolution: {integrity: sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==} - engines: {node: '>=10.13.0'} - - possible-typed-array-names@1.0.0: - resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==} - engines: {node: '>= 0.4'} - - postcss-selector-parser@6.0.13: - resolution: {integrity: sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==} - engines: {node: '>=4'} - - postcss@8.4.21: - resolution: {integrity: sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==} - engines: {node: ^10 || ^12 || >=14} - - postcss@8.4.28: - resolution: {integrity: sha512-Z7V5j0cq8oEKyejIKfpD8b4eBy9cwW2JWPk0+fB1HOAMsfHbnAXLLS+PfVWlzMSLQaWttKDt607I0XHmpE67Vw==} - engines: {node: ^10 || ^12 || >=14} - - postcss@8.4.49: - resolution: {integrity: sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==} - engines: {node: ^10 || ^12 || >=14} - - prelude-ls@1.2.1: - resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} - engines: {node: '>= 0.8.0'} - - prettier@3.0.0: - resolution: {integrity: sha512-zBf5eHpwHOGPC47h0zrPyNn+eAEIdEzfywMoYn2XPi0P44Zp0tSq64rq0xAREh4auw2cJZHo9QUob+NqCQky4g==} - engines: {node: '>=14'} - hasBin: true - - pretty-bytes@5.6.0: - resolution: {integrity: sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==} - engines: {node: '>=6'} - - pretty-bytes@6.1.0: - resolution: {integrity: sha512-Rk753HI8f4uivXi4ZCIYdhmG1V+WKzvRMg/X+M42a6t7D07RcmopXJMDNk6N++7Bl75URRGsb40ruvg7Hcp2wQ==} - engines: {node: ^14.13.1 || >=16.0.0} - - pretty-format@29.6.2: - resolution: {integrity: sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - prosemirror-changeset@2.2.1: - resolution: {integrity: sha512-J7msc6wbxB4ekDFj+n9gTW/jav/p53kdlivvuppHsrZXCaQdVgRghoZbSS3kwrRyAstRVQ4/+u5k7YfLgkkQvQ==} - - prosemirror-collab@1.3.1: - resolution: {integrity: sha512-4SnynYR9TTYaQVXd/ieUvsVV4PDMBzrq2xPUWutHivDuOshZXqQ5rGbZM84HEaXKbLdItse7weMGOUdDVcLKEQ==} - - prosemirror-commands@1.5.2: - resolution: {integrity: sha512-hgLcPaakxH8tu6YvVAaILV2tXYsW3rAdDR8WNkeKGcgeMVQg3/TMhPdVoh7iAmfgVjZGtcOSjKiQaoeKjzd2mQ==} - - prosemirror-dropcursor@1.8.1: - resolution: {integrity: sha512-M30WJdJZLyXHi3N8vxN6Zh5O8ZBbQCz0gURTfPmTIBNQ5pxrdU7A58QkNqfa98YEjSAL1HUyyU34f6Pm5xBSGw==} - - prosemirror-gapcursor@1.3.2: - resolution: {integrity: sha512-wtjswVBd2vaQRrnYZaBCbyDqr232Ed4p2QPtRIUK5FuqHYKGWkEwl08oQM4Tw7DOR0FsasARV5uJFvMZWxdNxQ==} - - prosemirror-history@1.3.2: - resolution: {integrity: sha512-/zm0XoU/N/+u7i5zepjmZAEnpvjDtzoPWW6VmKptcAnPadN/SStsBjMImdCEbb3seiNTpveziPTIrXQbHLtU1g==} - - prosemirror-inputrules@1.2.1: - resolution: {integrity: sha512-3LrWJX1+ULRh5SZvbIQlwZafOXqp1XuV21MGBu/i5xsztd+9VD15x6OtN6mdqSFI7/8Y77gYUbQ6vwwJ4mr6QQ==} - - prosemirror-keymap@1.2.2: - resolution: {integrity: sha512-EAlXoksqC6Vbocqc0GtzCruZEzYgrn+iiGnNjsJsH4mrnIGex4qbLdWWNza3AW5W36ZRrlBID0eM6bdKH4OStQ==} - - prosemirror-markdown@1.11.0: - resolution: {integrity: sha512-yP9mZqPRstjZhhf3yykCQNE3AijxARrHe4e7esV9A+gp4cnGOH4QvrKYPpXLHspNWyvJJ+0URH+iIvV5qP1I2Q==} - - prosemirror-menu@1.2.2: - resolution: {integrity: sha512-437HIWTq4F9cTX+kPfqZWWm+luJm95Aut/mLUy+9OMrOml0bmWDS26ceC6SNfb2/S94et1sZ186vLO7pDHzxSw==} - - prosemirror-model@1.19.2: - resolution: {integrity: sha512-RXl0Waiss4YtJAUY3NzKH0xkJmsZupCIccqcIFoLTIKFlKNbIvFDRl27/kQy1FP8iUAxrjRRfIVvOebnnXJgqQ==} - - prosemirror-schema-basic@1.2.2: - resolution: {integrity: sha512-/dT4JFEGyO7QnNTe9UaKUhjDXbTNkiWTq/N4VpKaF79bBjSExVV2NXmJpcM7z/gD7mbqNjxbmWW5nf1iNSSGnw==} - - prosemirror-schema-list@1.3.0: - resolution: {integrity: sha512-Hz/7gM4skaaYfRPNgr421CU4GSwotmEwBVvJh5ltGiffUJwm7C8GfN/Bc6DR1EKEp5pDKhODmdXXyi9uIsZl5A==} - - prosemirror-state@1.4.3: - resolution: {integrity: sha512-goFKORVbvPuAQaXhpbemJFRKJ2aixr+AZMGiquiqKxaucC6hlpHNZHWgz5R7dS4roHiwq9vDctE//CZ++o0W1Q==} - - prosemirror-tables@1.3.3: - resolution: {integrity: sha512-t10hbu4sNDInic3AQYd8ouPN457zVJIhVDqSdqgsVXNoa1watYXBxqNSVrNQoGOFG4Ivreyp3hQE3KG1f9bSpw==} - - prosemirror-trailing-node@2.0.4: - resolution: {integrity: sha512-0Yl9w7IdHkaCdqR+NE3FOucePME4OmiGcybnF1iasarEILP5U8+4xTnl53yafULjmwcg1SrSG65Hg7Zk2H2v3g==} - peerDependencies: - prosemirror-model: ^1.19.0 - prosemirror-state: ^1.4.2 - prosemirror-view: ^1.30.2 - - prosemirror-transform@1.7.3: - resolution: {integrity: sha512-qDapyx5lqYfxVeUWEw0xTGgeP2S8346QtE7DxkalsXlX89lpzkY6GZfulgfHyk1n4tf74sZ7CcXgcaCcGjsUtA==} - - prosemirror-view@1.31.4: - resolution: {integrity: sha512-nJzH2LpYbonSTYFqQ1BUdEhbd1WPN/rp/K9T9qxBEYpgg3jK3BvEUCR45Ymc9IHpO0m3nBJwPm19RBxZdoBVuw==} - - proto-list@1.2.4: - resolution: {integrity: sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==} - - prr@1.0.1: - resolution: {integrity: sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==} - - ps-tree@1.2.0: - resolution: {integrity: sha512-0VnamPPYHl4uaU/nSFeZZpR21QAWRz+sRv4iW9+v/GS/J5U5iZB5BNN6J0RMoOvdx2gWM2+ZFMIm58q24e4UYA==} - engines: {node: '>= 0.10'} - hasBin: true - - pseudomap@1.0.2: - resolution: {integrity: sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==} - - psl@1.9.0: - resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==} - - punycode.js@2.3.1: - resolution: {integrity: sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==} - engines: {node: '>=6'} - - punycode@2.3.0: - resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} - engines: {node: '>=6'} - - punycode@2.3.1: - resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} - engines: {node: '>=6'} - - qrcode@1.5.1: - resolution: {integrity: sha512-nS8NJ1Z3md8uTjKtP+SGGhfqmTCs5flU/xR623oI0JX+Wepz9R8UrRVCTBTJm3qGw3rH6jJ6MUHjkDx15cxSSg==} - engines: {node: '>=10.13.0'} - hasBin: true - - querystringify@2.2.0: - resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==} - - queue-microtask@1.2.3: - resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - - railroad-diagrams@1.0.0: - resolution: {integrity: sha512-cz93DjNeLY0idrCNOH6PviZGRN9GJhsdm9hpn1YCS879fj4W+x5IFJhhkRZcwVgMmFF7R82UA/7Oh+R8lLZg6A==} - - randexp@0.4.6: - resolution: {integrity: sha512-80WNmd9DA0tmZrw9qQa62GPPWfuXJknrmVmLcxvq4uZBdYqb1wYoKTmnlGUchvVWe0XiLupYkBoXVOxz3C8DYQ==} - engines: {node: '>=0.12'} - - randexp@0.5.3: - resolution: {integrity: sha512-U+5l2KrcMNOUPYvazA3h5ekF80FHTUG+87SEAmHZmolh1M+i/WyTCxVzmi+tidIa1tM4BSe8g2Y/D3loWDjj+w==} - engines: {node: '>=4'} - - randombytes@2.1.0: - resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} - - react-is@18.2.0: - resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} - - read-pkg-up@7.0.1: - resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} - engines: {node: '>=8'} - - read-pkg@5.2.0: - resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} - engines: {node: '>=8'} - - readable-stream@3.6.2: - resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} - engines: {node: '>= 6'} - - readdirp@3.6.0: - resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} - engines: {node: '>=8.10.0'} - - reflect.getprototypeof@1.0.8: - resolution: {integrity: sha512-B5dj6usc5dkk8uFliwjwDHM8To5/QwdKz9JcBZ8Ic4G1f0YmeeJTtE/ZTdgRFPAfxZFiUaPhZ1Jcs4qeagItGQ==} - engines: {node: '>= 0.4'} - - regenerate-unicode-properties@10.2.0: - resolution: {integrity: sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==} - engines: {node: '>=4'} - - regenerate@1.4.2: - resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==} - - regenerator-runtime@0.14.0: - resolution: {integrity: sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==} - - regenerator-runtime@0.14.1: - resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} - - regenerator-transform@0.15.2: - resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==} - - regexp-tree@0.1.27: - resolution: {integrity: sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==} - hasBin: true - - regexp.prototype.flags@1.5.3: - resolution: {integrity: sha512-vqlC04+RQoFalODCbCumG2xIOvapzVMHwsyIGM/SIE8fRhFFsXeH8/QQ+s0T0kDAhKc4k30s73/0ydkHQz6HlQ==} - engines: {node: '>= 0.4'} - - regexpu-core@6.2.0: - resolution: {integrity: sha512-H66BPQMrv+V16t8xtmq+UC0CBpiTBA60V8ibS1QVReIp8T1z8hwFxqcGzm9K6lgsN7sB5edVH8a+ze6Fqm4weA==} - engines: {node: '>=4'} - - regjsgen@0.8.0: - resolution: {integrity: sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==} - - regjsparser@0.10.0: - resolution: {integrity: sha512-qx+xQGZVsy55CH0a1hiVwHmqjLryfh7wQyF5HO07XJ9f7dQMY/gPQHhlyDkIzJKC+x2fUCpCcUODUUUFrm7SHA==} - hasBin: true - - regjsparser@0.12.0: - resolution: {integrity: sha512-cnE+y8bz4NhMjISKbgeVJtqNbtf5QpjZP+Bslo+UqkIt9QPnX9q095eiRRASJG1/tz6dlNr6Z5NsBiWYokp6EQ==} - hasBin: true - - require-directory@2.1.1: - resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} - engines: {node: '>=0.10.0'} - - require-from-string@2.0.2: - resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} - engines: {node: '>=0.10.0'} - - require-main-filename@2.0.0: - resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==} - - requires-port@1.0.0: - resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} - - resolve-from@4.0.0: - resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} - engines: {node: '>=4'} - - resolve-pkg-maps@1.0.0: - resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} - - resolve@1.22.2: - resolution: {integrity: sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==} - hasBin: true - - resolve@1.22.4: - resolution: {integrity: sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==} - hasBin: true - - resolve@1.22.8: - resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} - hasBin: true - - resolve@1.22.9: - resolution: {integrity: sha512-QxrmX1DzraFIi9PxdG5VkRfRwIgjwyud+z/iBwfRRrVmHc+P9Q7u2lSSpQ6bjr2gy5lrqIiU9vb6iAeGf2400A==} - hasBin: true - - restore-cursor@3.1.0: - resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} - engines: {node: '>=8'} - - ret@0.1.15: - resolution: {integrity: sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==} - engines: {node: '>=0.12'} - - ret@0.2.2: - resolution: {integrity: sha512-M0b3YWQs7R3Z917WRQy1HHA7Ba7D8hvZg6UE5mLykJxQVE2ju0IXbGlaHPPlkY+WN7wFP+wUMXmBFA0aV6vYGQ==} - engines: {node: '>=4'} - - reusify@1.0.4: - resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} - engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - - rimraf@3.0.2: - resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} - hasBin: true - - rollup@2.79.2: - resolution: {integrity: sha512-fS6iqSPZDs3dr/y7Od6y5nha8dW1YnbgtsyotCVvoFGKbERG++CVRFv1meyGDE1SNItQA8BrnCw7ScdAhRJ3XQ==} - engines: {node: '>=10.0.0'} - hasBin: true - - rollup@3.28.0: - resolution: {integrity: sha512-d7zhvo1OUY2SXSM6pfNjgD5+d0Nz87CUp4mt8l/GgVP3oBsPwzNvSzyu1me6BSG9JIgWNTVcafIXBIyM8yQ3yw==} - engines: {node: '>=14.18.0', npm: '>=8.0.0'} - hasBin: true - - rope-sequence@1.3.4: - resolution: {integrity: sha512-UT5EDe2cu2E/6O4igUr5PSFs23nvvukicWHx6GnOPlHAiiYbzNuCRQCuiUdHJQcqKalLKlrYJnjY0ySGsXNQXQ==} - - rrweb-cssom@0.6.0: - resolution: {integrity: sha512-APM0Gt1KoXBz0iIkkdB/kfvGOwC4UuJFeG/c+yV7wSc7q96cG/kJ0HiYCnzivD9SB53cLV1MlHFNfOuPaadYSw==} - - run-parallel@1.2.0: - resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} - - safe-array-concat@1.1.3: - resolution: {integrity: sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==} - engines: {node: '>=0.4'} - - safe-buffer@5.2.1: - resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - - safe-regex-test@1.1.0: - resolution: {integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==} - engines: {node: '>= 0.4'} - - safer-buffer@2.1.2: - resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - - sax@1.2.4: - resolution: {integrity: sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==} - - saxes@6.0.0: - resolution: {integrity: sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==} - engines: {node: '>=v12.22.7'} - - scule@1.0.0: - resolution: {integrity: sha512-4AsO/FrViE/iDNEPaAQlb77tf0csuq27EsVpy6ett584EcRTp6pTDLoGWVxCD77y5iU5FauOvhsI4o1APwPoSQ==} - - section-matter@1.0.0: - resolution: {integrity: sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==} - engines: {node: '>=4'} - - seedrandom@3.0.5: - resolution: {integrity: sha512-8OwmbklUNzwezjGInmZ+2clQmExQPvomqjL7LFqOYqtmuxRgQYqOD3mHaU+MvZn5FLUeVxVfQjwLZW/n/JFuqg==} - - seemly@0.3.6: - resolution: {integrity: sha512-lEV5VB8BUKTo/AfktXJcy+JeXns26ylbMkIUco8CYREsQijuz4mrXres2Q+vMLdwkuLxJdIPQ8IlCIxLYm71Yw==} - - semver@5.7.2: - resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} - hasBin: true - - semver@6.3.1: - resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} - hasBin: true - - semver@7.5.1: - resolution: {integrity: sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==} - engines: {node: '>=10'} - hasBin: true - - semver@7.5.4: - resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} - engines: {node: '>=10'} - hasBin: true - - semver@7.6.3: - resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} - engines: {node: '>=10'} - hasBin: true - - sentence-case@2.1.1: - resolution: {integrity: sha512-ENl7cYHaK/Ktwk5OTD+aDbQ3uC8IByu/6Bkg+HDv8Mm+XnBnppVNalcfJTNsp1ibstKh030/JKQQWglDvtKwEQ==} - - sentence-case@3.0.4: - resolution: {integrity: sha512-8LS0JInaQMCRoQ7YUytAo/xUu5W2XnQxV2HI/6uM6U7CITS1RqPElr30V6uIqyMKM9lJGRVFy5/4CuzcixNYSg==} - - serialize-javascript@6.0.2: - resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==} - - set-blocking@2.0.0: - resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} - - set-function-length@1.2.2: - resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} - engines: {node: '>= 0.4'} - - set-function-name@2.0.2: - resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} - engines: {node: '>= 0.4'} - - set-value@4.1.0: - resolution: {integrity: sha512-zTEg4HL0RwVrqcWs3ztF+x1vkxfm0lP+MQQFPiMJTKVceBwEV0A569Ou8l9IYQG8jOZdMVI1hGsc0tmeD2o/Lw==} - engines: {node: '>=11.0'} - - shebang-command@2.0.0: - resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} - engines: {node: '>=8'} - - shebang-regex@3.0.0: - resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} - engines: {node: '>=8'} - - side-channel-list@1.0.0: - resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==} - engines: {node: '>= 0.4'} - - side-channel-map@1.0.1: - resolution: {integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==} - engines: {node: '>= 0.4'} - - side-channel-weakmap@1.0.2: - resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==} - engines: {node: '>= 0.4'} - - side-channel@1.1.0: - resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==} - engines: {node: '>= 0.4'} - - siginfo@2.0.0: - resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} - - sigmund@1.0.1: - resolution: {integrity: sha512-fCvEXfh6NWpm+YSuY2bpXb/VIihqWA6hLsgboC+0nl71Q7N7o2eaCW8mJa/NLvQhs6jpd3VZV4UiUQlV6+lc8g==} - - signal-exit@3.0.7: - resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} - - sirv@2.0.4: - resolution: {integrity: sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==} - engines: {node: '>= 10'} - - slash@3.0.0: - resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} - engines: {node: '>=8'} - - slash@4.0.0: - resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} - engines: {node: '>=12'} - - smob@1.5.0: - resolution: {integrity: sha512-g6T+p7QO8npa+/hNx9ohv1E5pVCmWrVCUzUXJyLdMmftX6ER0oiWY/w9knEonLpnOp6b6FenKnMfR8gqwWdwig==} - - snake-case@2.1.0: - resolution: {integrity: sha512-FMR5YoPFwOLuh4rRz92dywJjyKYZNLpMn1R5ujVpIYkbA9p01fq8RMg0FkO4M+Yobt4MjHeLTJVm5xFFBHSV2Q==} - - snake-case@3.0.4: - resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==} - - sortablejs@1.14.0: - resolution: {integrity: sha512-pBXvQCs5/33fdN1/39pPL0NZF20LeRbLQ5jtnheIPN9JQAaufGjKdWduZn4U7wCtVuzKhmRkI0DFYHYRbB2H1w==} - - source-map-js@1.0.2: - resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} - engines: {node: '>=0.10.0'} - - source-map-js@1.2.1: - resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} - engines: {node: '>=0.10.0'} - - source-map-support@0.5.21: - resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} - - source-map@0.6.1: - resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} - engines: {node: '>=0.10.0'} - - source-map@0.8.0-beta.0: - resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==} - engines: {node: '>= 8'} - - sourcemap-codec@1.4.8: - resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} - - spdx-correct@3.2.0: - resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} - - spdx-exceptions@2.3.0: - resolution: {integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==} - - spdx-expression-parse@3.0.1: - resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} - - spdx-license-ids@3.0.13: - resolution: {integrity: sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==} - - split@0.3.3: - resolution: {integrity: sha512-wD2AeVmxXRBoX44wAycgjVpMhvbwdI2aZjCkvfNcH1YqHQvJVa1duWc73OyVGJUc05fhFaTZeQ/PYsrmyH0JVA==} - - sprintf-js@1.0.3: - resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} - - sprintf-js@1.1.2: - resolution: {integrity: sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==} - - sql-formatter@13.0.0: - resolution: {integrity: sha512-V21cVvge4rhn9Fa7K/fTKcmPM+x1yee6Vhq8ZwgaWh3VPBqApgsaoFB5kLAhiqRo5AmSaRyLU7LIdgnNwH01/w==} - hasBin: true - - stackback@0.0.2: - resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} - - std-env@3.3.3: - resolution: {integrity: sha512-Rz6yejtVyWnVjC1RFvNmYL10kgjC49EOghxWn0RFqlCHGFpQx+Xe7yW3I4ceK1SGrWIGMjD5Kbue8W/udkbMJg==} - - stream-combiner@0.0.4: - resolution: {integrity: sha512-rT00SPnTVyRsaSz5zgSPma/aHSOic5U1prhYdRy5HS2kTZviFpmDgzilbtsJsxiroqACmayynDN/9VzIbX5DOw==} - - stream@0.0.2: - resolution: {integrity: sha512-gCq3NDI2P35B2n6t76YJuOp7d6cN/C7Rt0577l91wllh0sY9ZBuw9KaSGqH/b0hzn3CWWJbpbW0W0WvQ1H/Q7g==} - - string-width@4.2.3: - resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} - engines: {node: '>=8'} - - string.prototype.matchall@4.0.11: - resolution: {integrity: sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==} - engines: {node: '>= 0.4'} - - string.prototype.trim@1.2.10: - resolution: {integrity: sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==} - engines: {node: '>= 0.4'} - - string.prototype.trimend@1.0.9: - resolution: {integrity: sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==} - engines: {node: '>= 0.4'} - - string.prototype.trimstart@1.0.8: - resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} - engines: {node: '>= 0.4'} - - string_decoder@1.3.0: - resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} - - stringify-object@3.3.0: - resolution: {integrity: sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==} - engines: {node: '>=4'} - - strip-ansi@6.0.1: - resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} - engines: {node: '>=8'} - - strip-bom-string@1.0.0: - resolution: {integrity: sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==} - engines: {node: '>=0.10.0'} - - strip-comments@2.0.1: - resolution: {integrity: sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==} - engines: {node: '>=10'} - - strip-final-newline@2.0.0: - resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} - engines: {node: '>=6'} - - strip-indent@3.0.0: - resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} - engines: {node: '>=8'} - - strip-json-comments@3.1.1: - resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} - engines: {node: '>=8'} - - strip-literal@1.0.1: - resolution: {integrity: sha512-QZTsipNpa2Ppr6v1AmJHESqJ3Uz247MUS0OjrnnZjFAvEoWqxuyFuXn2xLgMtRnijJShAa1HL0gtJyUs7u7n3Q==} - - supports-color@5.5.0: - resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} - engines: {node: '>=4'} - - supports-color@7.2.0: - resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} - engines: {node: '>=8'} - - supports-preserve-symlinks-flag@1.0.0: - resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} - engines: {node: '>= 0.4'} - - svg-tags@1.0.0: - resolution: {integrity: sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==} - - svgo@3.0.2: - resolution: {integrity: sha512-Z706C1U2pb1+JGP48fbazf3KxHrWOsLme6Rv7imFBn5EnuanDW1GPaA/P1/dvObE670JDePC3mnj0k0B7P0jjQ==} - engines: {node: '>=14.0.0'} - hasBin: true - - swap-case@1.1.2: - resolution: {integrity: sha512-BAmWG6/bx8syfc6qXPprof3Mn5vQgf5dwdUNJhsNqU9WdPt5P+ES/wQ5bxfijy8zwZgZZHslC3iAsxsuQMCzJQ==} - - symbol-tree@3.2.4: - resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} - - synckit@0.8.5: - resolution: {integrity: sha512-L1dapNV6vu2s/4Sputv8xGsCdAVlb5nRDMFU/E27D44l5U6cw1g0dGd45uLc+OXjNMmF4ntiMdCimzcjFKQI8Q==} - engines: {node: ^14.18.0 || >=16.0.0} - - temp-dir@2.0.0: - resolution: {integrity: sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==} - engines: {node: '>=8'} - - tempy@0.6.0: - resolution: {integrity: sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw==} - engines: {node: '>=10'} - - terser@5.37.0: - resolution: {integrity: sha512-B8wRRkmre4ERucLM/uXx4MOV5cbnOlVAqUst+1+iLKPI0dOgFO28f84ptoQt9HEI537PMzfYa/d+GEPKTRXmYA==} - engines: {node: '>=10'} - hasBin: true - - text-table@0.2.0: - resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} - - throttle-debounce@3.0.1: - resolution: {integrity: sha512-dTEWWNu6JmeVXY0ZYoPuH5cRIwc0MeGbJwah9KUNYSJwommQpCzTySTpEe8Gs1J23aeWEuAobe4Ag7EHVt/LOg==} - engines: {node: '>=10'} - - through@2.3.8: - resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} - - tiny-emitter@2.1.0: - resolution: {integrity: sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==} - - tiny-glob@0.2.9: - resolution: {integrity: sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==} - - tinybench@2.5.0: - resolution: {integrity: sha512-kRwSG8Zx4tjF9ZiyH4bhaebu+EDz1BOx9hOigYHlUW4xxI/wKIUQUqo018UlU4ar6ATPBsaMrdbKZ+tmPdohFA==} - - tinyexec@0.3.1: - resolution: {integrity: sha512-WiCJLEECkO18gwqIp6+hJg0//p23HXp4S+gGtAKu3mI2F2/sXC4FvHvXvB0zJVVaTPhx1/tOwdbRsa1sOBIKqQ==} - - tinyglobby@0.2.10: - resolution: {integrity: sha512-Zc+8eJlFMvgatPZTl6A9L/yht8QqdmUNtURHaKZLmKBE12hNPSrqNkUp2cs3M/UKmNVVAMFQYSjYIVHDjW5zew==} - engines: {node: '>=12.0.0'} - - tinypool@0.7.0: - resolution: {integrity: sha512-zSYNUlYSMhJ6Zdou4cJwo/p7w5nmAH17GRfU/ui3ctvjXFErXXkruT4MWW6poDeXgCaIBlGLrfU6TbTXxyGMww==} - engines: {node: '>=14.0.0'} - - tinyspy@2.1.1: - resolution: {integrity: sha512-XPJL2uSzcOyBMky6OFrusqWlzfFrXtE0hPuMgW8A2HmaqrPo4ZQHRN/V0QXN3FSjKxpsbRrFc5LI7KOwBsT1/w==} - engines: {node: '>=14.0.0'} - - tippy.js@6.3.7: - resolution: {integrity: sha512-E1d3oP2emgJ9dRQZdf3Kkn0qJgI6ZLpyS5z6ZkY1DF3kaQaBsGZsndEpHwx+eC+tYM41HaSNvNtLx8tU57FzTQ==} - - title-case@2.1.1: - resolution: {integrity: sha512-EkJoZ2O3zdCz3zJsYCsxyq2OC5hrxR9mfdd5I+w8h/tmFfeOxJ+vvkxsKxdmN0WtS9zLdHEgfgVOiMVgv+Po4Q==} - - to-fast-properties@2.0.0: - resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} - engines: {node: '>=4'} - - to-regex-range@5.0.1: - resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} - engines: {node: '>=8.0'} - - totalist@3.0.1: - resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} - engines: {node: '>=6'} - - tough-cookie@4.1.2: - resolution: {integrity: sha512-G9fqXWoYFZgTc2z8Q5zaHy/vJMjm+WV0AkAeHxVCQiEB1b+dGvWzFW6QV07cY5jQ5gRkeid2qIkzkxUnmoQZUQ==} - engines: {node: '>=6'} - - tr46@1.0.1: - resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==} - - tr46@4.1.1: - resolution: {integrity: sha512-2lv/66T7e5yNyhAAC4NaKe5nVavzuGJQVVtRYLyQ2OI8tsJ61PMLlelehb0wi2Hx6+hT/OJUWZcw8MjlSRnxvw==} - engines: {node: '>=14'} - - treemate@0.3.11: - resolution: {integrity: sha512-M8RGFoKtZ8dF+iwJfAJTOH/SM4KluKOKRJpjCMhI8bG3qB74zrFoArKZ62ll0Fr3mqkMJiQOmWYkdYgDeITYQg==} - - ts-api-utils@1.0.1: - resolution: {integrity: sha512-lC/RGlPmwdrIBFTX59wwNzqh7aR2otPNPR/5brHZm/XKFYKsfqxihXUe9pU3JI+3vGkl+vyCoNNnPhJn3aLK1A==} - engines: {node: '>=16.13.0'} - peerDependencies: - typescript: '>=4.2.0' - - tslib@1.14.1: - resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} - - tslib@2.5.0: - resolution: {integrity: sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==} - - tsutils@3.21.0: - resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} - engines: {node: '>= 6'} - peerDependencies: - typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' - - tsx@4.19.2: - resolution: {integrity: sha512-pOUl6Vo2LUq/bSa8S5q7b91cgNSjctn9ugq/+Mvow99qW6x/UZYwzxy/3NmqoT66eHYfCVvFvACC58UBPFf28g==} - engines: {node: '>=18.0.0'} - hasBin: true - - type-check@0.4.0: - resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} - engines: {node: '>= 0.8.0'} - - type-detect@4.0.8: - resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} - engines: {node: '>=4'} - - type-fest@0.16.0: - resolution: {integrity: sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==} - engines: {node: '>=10'} - - type-fest@0.20.2: - resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} - engines: {node: '>=10'} - - type-fest@0.6.0: - resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} - engines: {node: '>=8'} - - type-fest@0.8.1: - resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} - engines: {node: '>=8'} - - type-fest@2.19.0: - resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} - engines: {node: '>=12.20'} - - typed-array-buffer@1.0.2: - resolution: {integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==} - engines: {node: '>= 0.4'} - - typed-array-byte-length@1.0.1: - resolution: {integrity: sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==} - engines: {node: '>= 0.4'} - - typed-array-byte-offset@1.0.3: - resolution: {integrity: sha512-GsvTyUHTriq6o/bHcTd0vM7OQ9JEdlvluu9YISaA7+KzDzPaIzEeDFNkTfhdE3MYcNhNi0vq/LlegYgIs5yPAw==} - engines: {node: '>= 0.4'} - - typed-array-length@1.0.7: - resolution: {integrity: sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==} - engines: {node: '>= 0.4'} - - typed-function@4.1.0: - resolution: {integrity: sha512-DGwUl6cioBW5gw2L+6SMupGwH/kZOqivy17E4nsh1JI9fKF87orMmlQx3KISQPmg3sfnOUGlwVkroosvgddrlg==} - engines: {node: '>= 14'} - - typescript@5.2.2: - resolution: {integrity: sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==} - engines: {node: '>=14.17'} - hasBin: true - - typescript@5.5.4: - resolution: {integrity: sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==} - engines: {node: '>=14.17'} - hasBin: true - - ua-parser-js@1.0.35: - resolution: {integrity: sha512-fKnGuqmTBnIE+/KXSzCn4db8RTigUzw1AN0DmdU6hJovUTbYJKyqj+8Mt1c4VfRDnOVJnENmfYkIPZ946UrSAA==} - - uc.micro@1.0.6: - resolution: {integrity: sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==} - - uc.micro@2.1.0: - resolution: {integrity: sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==} - - ufo@1.1.2: - resolution: {integrity: sha512-TrY6DsjTQQgyS3E3dBaOXf0TpPD8u9FVrVYmKVegJuFw51n/YB9XPt+U6ydzFG5ZIN7+DIjPbNmXoBj9esYhgQ==} - - ufo@1.3.1: - resolution: {integrity: sha512-uY/99gMLIOlJPwATcMVYfqDSxUR9//AUcgZMzwfSTJPDKzA1S8mX4VLqa+fiAtveraQUBCz4FFcwVZBGbwBXIw==} - - ufo@1.5.4: - resolution: {integrity: sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ==} - - ulid@2.3.0: - resolution: {integrity: sha512-keqHubrlpvT6G2wH0OEfSW4mquYRcbe/J8NMmveoQOjUqmo+hXtO+ORCpWhdbZ7k72UtY61BL7haGxW6enBnjw==} - hasBin: true - - unbox-primitive@1.0.2: - resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} - - unconfig@0.3.11: - resolution: {integrity: sha512-bV/nqePAKv71v3HdVUn6UefbsDKQWRX+bJIkiSm0+twIds6WiD2bJLWWT3i214+J/B4edufZpG2w7Y63Vbwxow==} - - unconfig@0.5.5: - resolution: {integrity: sha512-VQZ5PT9HDX+qag0XdgQi8tJepPhXiR/yVOkn707gJDKo31lGjRilPREiQJ9Z6zd/Ugpv6ZvO5VxVIcatldYcNQ==} - - unhead@0.5.1: - resolution: {integrity: sha512-5ZZ0wNRWWdY8+YEg3sX4IXr5r2duc1JslUyfHX1rAGBsaJ62IJRxI6DmgZqSEN0yfqYclCZenxNG+rmWjPKFQw==} - - unicode-canonical-property-names-ecmascript@2.0.1: - resolution: {integrity: sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==} - engines: {node: '>=4'} - - unicode-emoji-json@0.4.0: - resolution: {integrity: sha512-lVNOwh2AnmbwqtSrEVjAWKQoVzWgyWmXVqPuPkPfKb0tnA0+uYN/4ILCTdy9IRj/+3drAVhmjwjNJQr2dhCwnA==} - - unicode-match-property-ecmascript@2.0.0: - resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==} - engines: {node: '>=4'} - - unicode-match-property-value-ecmascript@2.2.0: - resolution: {integrity: sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg==} - engines: {node: '>=4'} - - unicode-property-aliases-ecmascript@2.1.0: - resolution: {integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==} - engines: {node: '>=4'} - - unimport@3.0.8: - resolution: {integrity: sha512-AOt6xj3QMwqcTZRPB+NhFkyVEjCKnpTVoPm5x6424zz2NYYtCfym2bpJofzPHIJKPNIh5ko2/t2q46ZIMgdmbw==} - - unique-string@2.0.0: - resolution: {integrity: sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==} - engines: {node: '>=8'} - - unist-util-stringify-position@2.0.3: - resolution: {integrity: sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==} - - universalify@0.2.0: - resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==} - engines: {node: '>= 4.0.0'} - - universalify@2.0.0: - resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} - engines: {node: '>= 10.0.0'} - - universalify@2.0.1: - resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} - engines: {node: '>= 10.0.0'} - - unocss-preset-scrollbar@0.2.1: - resolution: {integrity: sha512-7ubHdOaUwr7xBn1glPpICNNsM2SZGjvWK5uRPNiQYsrZ9YFjsCGHk9x5S2R8pTkuMDQeiaSa/UQbYhjC8Fra5g==} - peerDependencies: - unocss: '>= 0.31.13 < 1' - - unocss@0.65.1: - resolution: {integrity: sha512-WK8EZlduulTcy2i1O4/hVPIYlgcztMbOqsIrxY18Hx1LXSkI5LgTl0FVEyf+xLcwqoUzt4VH2BWEEkzQ13+GAg==} - engines: {node: '>=14'} - peerDependencies: - '@unocss/webpack': 0.65.1 - vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 || ^6.0.0-0 - peerDependenciesMeta: - '@unocss/webpack': - optional: true - vite: - optional: true - - unplugin-auto-import@0.16.4: - resolution: {integrity: sha512-xdgBa9NAS3JG8HjkAZHSbGSMlrjKpaWKXGUzaF6RzEtr980RCl1t0Zsu0skUInNYrEQfqaHc7aGWPv41DLTK/w==} - engines: {node: '>=14'} - peerDependencies: - '@nuxt/kit': ^3.2.2 - '@vueuse/core': '*' - peerDependenciesMeta: - '@nuxt/kit': - optional: true - '@vueuse/core': - optional: true - - unplugin-icons@0.17.0: - resolution: {integrity: sha512-gMv66eY/Hj64heM55XrfDH3LUCWI51mtkBVUPVl9VkpvLgAYhdVe9nRuzu6p+idmCLSQVq7xiPxQcD4aXCgW5A==} - peerDependencies: - '@svgr/core': '>=7.0.0' - '@svgx/core': ^1.0.1 - '@vue/compiler-sfc': ^3.0.2 || ^2.7.0 - vue-template-compiler: ^2.6.12 - vue-template-es2015-compiler: ^1.9.0 - peerDependenciesMeta: - '@svgr/core': - optional: true - '@svgx/core': - optional: true - '@vue/compiler-sfc': - optional: true - vue-template-compiler: - optional: true - vue-template-es2015-compiler: - optional: true - - unplugin-vue-components@0.25.0: - resolution: {integrity: sha512-HxrQ4GMSS1RwVww2av3a42cABo/v5AmTRN9iARv6e/xwkrfTyHhLh84kFwXxKkXK61vxDHxaryn694mQmkiVBg==} - engines: {node: '>=14'} - peerDependencies: - '@babel/parser': ^7.15.8 - '@nuxt/kit': ^3.2.2 - vue: 2 || 3 - peerDependenciesMeta: - '@babel/parser': - optional: true - '@nuxt/kit': - optional: true - - unplugin@1.3.1: - resolution: {integrity: sha512-h4uUTIvFBQRxUKS2Wjys6ivoeofGhxzTe2sRWlooyjHXVttcVfV/JiavNd3d4+jty0SVV0dxGw9AkY9MwiaCEw==} - - unplugin@1.4.0: - resolution: {integrity: sha512-5x4eIEL6WgbzqGtF9UV8VEC/ehKptPXDS6L2b0mv4FRMkJxRtjaJfOWDd6a8+kYbqsjklix7yWP0N3SUepjXcg==} - - upath@1.2.0: - resolution: {integrity: sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==} - engines: {node: '>=4'} - - update-browserslist-db@1.0.11: - resolution: {integrity: sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==} - hasBin: true - peerDependencies: - browserslist: '>= 4.21.0' - - update-browserslist-db@1.0.13: - resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} - hasBin: true - peerDependencies: - browserslist: '>= 4.21.0' - - update-browserslist-db@1.1.1: - resolution: {integrity: sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==} - hasBin: true - peerDependencies: - browserslist: '>= 4.21.0' - - upper-case-first@1.1.2: - resolution: {integrity: sha512-wINKYvI3Db8dtjikdAqoBbZoP6Q+PZUyfMR7pmwHzjC2quzSkUq5DmPrTtPEqHaz8AGtmsB4TqwapMTM1QAQOQ==} - - upper-case-first@2.0.2: - resolution: {integrity: sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg==} - - upper-case@1.1.3: - resolution: {integrity: sha512-WRbjgmYzgXkCV7zNVpy5YgrHgbBv126rMALQQMrmzOVC4GM2waQ9x7xtm8VU+1yF2kWyPzI9zbZ48n4vSxwfSA==} - - upper-case@2.0.2: - resolution: {integrity: sha512-KgdgDGJt2TpuwBUIjgG6lzw2GWFRCW9Qkfkiv0DxqHHLYJHmtmdUIKcZd8rHgFSjopVTlw6ggzCm1b8MFQwikg==} - - uri-js@4.4.1: - resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} - - url-parse@1.5.10: - resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==} - - util-deprecate@1.0.2: - resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} - - uuid@9.0.0: - resolution: {integrity: sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==} - hasBin: true - - validate-npm-package-license@3.0.4: - resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} - - vdirs@0.1.8: - resolution: {integrity: sha512-H9V1zGRLQZg9b+GdMk8MXDN2Lva0zx72MPahDKc30v+DtwKjfyOSXWRIX4t2mhDubM1H09gPhWeth/BJWPHGUw==} - peerDependencies: - vue: ^3.0.11 - - vite-node@0.34.0: - resolution: {integrity: sha512-rGZMvpb052rjUwJA/a17xMfOibzNF7byMdRSTcN2Lw8uxX08s5EfjWW5mBkm3MSFTPctMSVtT2yC+8ShrZbT5g==} - engines: {node: '>=v14.18.0'} - hasBin: true - - vite-plugin-pwa@0.16.0: - resolution: {integrity: sha512-E+AQRzHxqNU4ZhEeR8X37/foZB+ezJEhXauE/mcf1UITY6k2Pa1dtlFl+BQu57fTdiVlWim5S0Qy44Yap93Dkg==} - engines: {node: '>=16.0.0'} - peerDependencies: - vite: ^3.1.0 || ^4.0.0 - workbox-build: ^7.0.0 - workbox-window: ^7.0.0 - - vite-plugin-vue-markdown@0.23.5: - resolution: {integrity: sha512-NXTZ4y+n691gLPWayMBbh4jldQeaqDp9e9WjWUYbn9obsLqS9qU+hr4RAruDq5kP4siTOp7JDV34Sw5eA7WxLg==} - peerDependencies: - vite: ^2.0.0 || ^3.0.0-0 || ^4.0.0 - - vite-svg-loader@4.0.0: - resolution: {integrity: sha512-0MMf1yzzSYlV4MGePsLVAOqXsbF5IVxbn4EEzqRnWxTQl8BJg/cfwIzfQNmNQxZp5XXwd4kyRKF1LytuHZTnqA==} - - vite@4.4.9: - resolution: {integrity: sha512-2mbUn2LlUmNASWwSCNSJ/EG2HuSRTnVNaydp6vMCm5VIqJsjMfbIWtbH2kDuwUVW5mMUKKZvGPX/rqeqVvv1XA==} - engines: {node: ^14.18.0 || >=16.0.0} - hasBin: true - peerDependencies: - '@types/node': '>= 14' - less: '*' - lightningcss: ^1.21.0 - sass: '*' - stylus: '*' - sugarss: '*' - terser: ^5.4.0 - peerDependenciesMeta: - '@types/node': - optional: true - less: - optional: true - lightningcss: - optional: true - sass: - optional: true - stylus: - optional: true - sugarss: - optional: true - terser: - optional: true - - vitest@0.34.0: - resolution: {integrity: sha512-8Pnc1fVt1P6uBncdUZ++hgiJGgxIRKuz4bmS/PQziaEcUj0D1g9cGiR1MbLrcsvFTC6fgrqDhYoTAdBG356WMA==} - engines: {node: '>=v14.18.0'} - hasBin: true - peerDependencies: - '@edge-runtime/vm': '*' - '@vitest/browser': '*' - '@vitest/ui': '*' - happy-dom: '*' - jsdom: '*' - playwright: '*' - safaridriver: '*' - webdriverio: '*' - peerDependenciesMeta: - '@edge-runtime/vm': - optional: true - '@vitest/browser': - optional: true - '@vitest/ui': - optional: true - happy-dom: - optional: true - jsdom: - optional: true - playwright: - optional: true - safaridriver: - optional: true - webdriverio: - optional: true - - vooks@0.2.12: - resolution: {integrity: sha512-iox0I3RZzxtKlcgYaStQYKEzWWGAduMmq+jS7OrNdQo1FgGfPMubGL3uGHOU9n97NIvfFDBGnpSvkWyb/NSn/Q==} - peerDependencies: - vue: ^3.0.0 - - vue-demi@0.13.11: - resolution: {integrity: sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==} - engines: {node: '>=12'} - hasBin: true - peerDependencies: - '@vue/composition-api': ^1.0.0-rc.1 - vue: ^3.0.0-0 || ^2.6.0 - peerDependenciesMeta: - '@vue/composition-api': - optional: true - - vue-demi@0.14.5: - resolution: {integrity: sha512-o9NUVpl/YlsGJ7t+xuqJKx8EBGf1quRhCiT6D/J0pfwmk9zUwYkC7yrF4SZCe6fETvSM3UNL2edcbYrSyc4QHA==} - engines: {node: '>=12'} - hasBin: true - peerDependencies: - '@vue/composition-api': ^1.0.0-rc.1 - vue: ^3.0.0-0 || ^2.6.0 - peerDependenciesMeta: - '@vue/composition-api': - optional: true - - vue-eslint-parser@9.3.1: - resolution: {integrity: sha512-Clr85iD2XFZ3lJ52/ppmUDG/spxQu6+MAeHXjjyI4I1NUYZ9xmenQp4N0oaHJhrA8OOxltCVxMRfANGa70vU0g==} - engines: {node: ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: '>=6.0.0' - - vue-flow-layout@0.1.1: - resolution: {integrity: sha512-JdgRRUVrN0Y2GosA0M68DEbKlXMqJ7FQgsK8CjQD2vxvNSqAU6PZEpi4cfcTVtfM2GVOMjHo7GKKLbXxOBqDqA==} - peerDependencies: - vue: ^3.4.37 - - vue-i18n@9.9.1: - resolution: {integrity: sha512-xyQ4VspLdNSPTKBFBPWa1tvtj+9HuockZwgFeD2OhxxXuC2CWeNvV4seu2o9+vbQOyQbhAM5Ez56oxUrrnTWdw==} - engines: {node: '>= 16'} - peerDependencies: - vue: ^3.0.0 - - vue-router@4.1.6: - resolution: {integrity: sha512-DYWYwsG6xNPmLq/FmZn8Ip+qrhFEzA14EI12MsMgVxvHFDYvlr4NXpVF5hrRH1wVcDP8fGi5F4rxuJSl8/r+EQ==} - peerDependencies: - vue: ^3.2.0 - - vue-shadow-dom@4.2.0: - resolution: {integrity: sha512-lguI064rT2HT/dxqSmXtz860KOvCq+W3nU1jMqroTmX3K1H46q22BMR4emh/Ld3ozy35XJKOaNGcr6mkJ/t/yg==} - - vue-template-compiler@2.7.14: - resolution: {integrity: sha512-zyA5Y3ArvVG0NacJDkkzJuPQDF8RFeRlzV2vLeSnhSpieO6LK2OVbdLPi5MPPs09Ii+gMO8nY4S3iKQxBxDmWQ==} - - vue-template-compiler@2.7.16: - resolution: {integrity: sha512-AYbUWAJHLGGQM7+cNTELw+KsOG9nl2CnSv467WobS5Cv9uk3wFcnr1Etsz2sEIHEZvw1U+o9mRlEO6QbZvUPGQ==} - - vue-tsc@1.8.1: - resolution: {integrity: sha512-GxBQrcb0Qvyrj1uZqnTXQyWbXdNDRY2MTa+r7ESgjhf+WzBSdxZfkS3KD/C3WhKYG+aN8hf44Hp5Gqzb6PehAA==} - hasBin: true - peerDependencies: - typescript: '*' - - vue@3.3.4: - resolution: {integrity: sha512-VTyEYn3yvIeY1Py0WaYGZsXnz3y5UnGi62GjVEqvEGPl6nxbOrCXbVOTQWBEJUqAyTUk2uJ5JLVnYJ6ZzGbrSw==} - - vue@3.5.13: - resolution: {integrity: sha512-wmeiSMxkZCSc+PM2w2VRsOYAZC8GdipNFRTsLSfodVqI9mbejKeXEGr8SckuLnrQPGe3oJN5c3K0vpoU9q/wCQ==} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - - vuedraggable@4.1.0: - resolution: {integrity: sha512-FU5HCWBmsf20GpP3eudURW3WdWTKIbEIQxh9/8GE806hydR9qZqRRxRE3RjqX7PkuLuMQG/A7n3cfj9rCEchww==} - peerDependencies: - vue: ^3.0.1 - - vueuc@0.4.51: - resolution: {integrity: sha512-pLiMChM4f+W8czlIClGvGBYo656lc2Y0/mXFSCydcSmnCR1izlKPGMgiYBGjbY9FDkFG8a2HEVz7t0DNzBWbDw==} - peerDependencies: - vue: ^3.0.11 - - w3c-keyname@2.2.8: - resolution: {integrity: sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==} - - w3c-xmlserializer@4.0.0: - resolution: {integrity: sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==} - engines: {node: '>=14'} - - wcwidth@1.0.1: - resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} - - web-streams-polyfill@3.2.1: - resolution: {integrity: sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==} - engines: {node: '>= 8'} - - webidl-conversions@4.0.2: - resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} - - webidl-conversions@7.0.0: - resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} - engines: {node: '>=12'} - - webpack-sources@3.2.3: - resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} - engines: {node: '>=10.13.0'} - - webpack-virtual-modules@0.5.0: - resolution: {integrity: sha512-kyDivFZ7ZM0BVOUteVbDFhlRt7Ah/CSPwJdi8hBpkK7QLumUqdLtVfm/PX/hkcnrvr0i77fO5+TjZ94Pe+C9iw==} - - webpod@0.0.2: - resolution: {integrity: sha512-cSwwQIeg8v4i3p4ajHhwgR7N6VyxAf+KYSSsY6Pd3aETE+xEU4vbitz7qQkB0I321xnhDdgtxuiSfk5r/FVtjg==} - hasBin: true - - whatwg-encoding@2.0.0: - resolution: {integrity: sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==} - engines: {node: '>=12'} - - whatwg-mimetype@3.0.0: - resolution: {integrity: sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==} - engines: {node: '>=12'} - - whatwg-url@12.0.1: - resolution: {integrity: sha512-Ed/LrqB8EPlGxjS+TrsXcpUond1mhccS3pchLhzSgPCnTimUCKj3IZE75pAs5m6heB2U2TMerKFUXheyHY+VDQ==} - engines: {node: '>=14'} - - whatwg-url@7.1.0: - resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==} - - which-boxed-primitive@1.1.0: - resolution: {integrity: sha512-Ei7Miu/AXe2JJ4iNF5j/UphAgRoma4trE6PtisM09bPygb3egMH3YLW/befsWb1A1AxvNSFidOFTB18XtnIIng==} - engines: {node: '>= 0.4'} - - which-builtin-type@1.2.1: - resolution: {integrity: sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==} - engines: {node: '>= 0.4'} - - which-collection@1.0.2: - resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==} - engines: {node: '>= 0.4'} - - which-module@2.0.0: - resolution: {integrity: sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==} - - which-typed-array@1.1.16: - resolution: {integrity: sha512-g+N+GAWiRj66DngFwHvISJd+ITsyphZvD1vChfVg6cEdnzy53GzB3oy0fUNlvhz7H7+MiqhYr26qxQShCpKTTQ==} - engines: {node: '>= 0.4'} - - which@2.0.2: - resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} - engines: {node: '>= 8'} - hasBin: true - - which@3.0.0: - resolution: {integrity: sha512-nla//68K9NU6yRiwDY/Q8aU6siKlSs64aEC7+IV56QoAuyQT2ovsJcgGYGyqMOmI/CGN1BOR6mM5EN0FBO+zyQ==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - hasBin: true - - why-is-node-running@2.2.2: - resolution: {integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==} - engines: {node: '>=8'} - hasBin: true - - workbox-background-sync@7.3.0: - resolution: {integrity: sha512-PCSk3eK7Mxeuyatb22pcSx9dlgWNv3+M8PqPaYDokks8Y5/FX4soaOqj3yhAZr5k6Q5JWTOMYgaJBpbw11G9Eg==} - - workbox-broadcast-update@7.3.0: - resolution: {integrity: sha512-T9/F5VEdJVhwmrIAE+E/kq5at2OY6+OXXgOWQevnubal6sO92Gjo24v6dCVwQiclAF5NS3hlmsifRrpQzZCdUA==} - - workbox-build@7.3.0: - resolution: {integrity: sha512-JGL6vZTPlxnlqZRhR/K/msqg3wKP+m0wfEUVosK7gsYzSgeIxvZLi1ViJJzVL7CEeI8r7rGFV973RiEqkP3lWQ==} - engines: {node: '>=16.0.0'} - - workbox-cacheable-response@7.3.0: - resolution: {integrity: sha512-eAFERIg6J2LuyELhLlmeRcJFa5e16Mj8kL2yCDbhWE+HUun9skRQrGIFVUagqWj4DMaaPSMWfAolM7XZZxNmxA==} - - workbox-core@7.0.0: - resolution: {integrity: sha512-81JkAAZtfVP8darBpfRTovHg8DGAVrKFgHpOArZbdFd78VqHr5Iw65f2guwjE2NlCFbPFDoez3D3/6ZvhI/rwQ==} - - workbox-core@7.3.0: - resolution: {integrity: sha512-Z+mYrErfh4t3zi7NVTvOuACB0A/jA3bgxUN3PwtAVHvfEsZxV9Iju580VEETug3zYJRc0Dmii/aixI/Uxj8fmw==} - - workbox-expiration@7.3.0: - resolution: {integrity: sha512-lpnSSLp2BM+K6bgFCWc5bS1LR5pAwDWbcKt1iL87/eTSJRdLdAwGQznZE+1czLgn/X05YChsrEegTNxjM067vQ==} - - workbox-google-analytics@7.3.0: - resolution: {integrity: sha512-ii/tSfFdhjLHZ2BrYgFNTrb/yk04pw2hasgbM70jpZfLk0vdJAXgaiMAWsoE+wfJDNWoZmBYY0hMVI0v5wWDbg==} - - workbox-navigation-preload@7.3.0: - resolution: {integrity: sha512-fTJzogmFaTv4bShZ6aA7Bfj4Cewaq5rp30qcxl2iYM45YD79rKIhvzNHiFj1P+u5ZZldroqhASXwwoyusnr2cg==} - - workbox-precaching@7.3.0: - resolution: {integrity: sha512-ckp/3t0msgXclVAYaNndAGeAoWQUv7Rwc4fdhWL69CCAb2UHo3Cef0KIUctqfQj1p8h6aGyz3w8Cy3Ihq9OmIw==} - - workbox-range-requests@7.3.0: - resolution: {integrity: sha512-EyFmM1KpDzzAouNF3+EWa15yDEenwxoeXu9bgxOEYnFfCxns7eAxA9WSSaVd8kujFFt3eIbShNqa4hLQNFvmVQ==} - - workbox-recipes@7.3.0: - resolution: {integrity: sha512-BJro/MpuW35I/zjZQBcoxsctgeB+kyb2JAP5EB3EYzePg8wDGoQuUdyYQS+CheTb+GhqJeWmVs3QxLI8EBP1sg==} - - workbox-routing@7.3.0: - resolution: {integrity: sha512-ZUlysUVn5ZUzMOmQN3bqu+gK98vNfgX/gSTZ127izJg/pMMy4LryAthnYtjuqcjkN4HEAx1mdgxNiKJMZQM76A==} - - workbox-strategies@7.3.0: - resolution: {integrity: sha512-tmZydug+qzDFATwX7QiEL5Hdf7FrkhjaF9db1CbB39sDmEZJg3l9ayDvPxy8Y18C3Y66Nrr9kkN1f/RlkDgllg==} - - workbox-streams@7.3.0: - resolution: {integrity: sha512-SZnXucyg8x2Y61VGtDjKPO5EgPUG5NDn/v86WYHX+9ZqvAsGOytP0Jxp1bl663YUuMoXSAtsGLL+byHzEuMRpw==} - - workbox-sw@7.3.0: - resolution: {integrity: sha512-aCUyoAZU9IZtH05mn0ACUpyHzPs0lMeJimAYkQkBsOWiqaJLgusfDCR+yllkPkFRxWpZKF8vSvgHYeG7LwhlmA==} - - workbox-window@7.0.0: - resolution: {integrity: sha512-j7P/bsAWE/a7sxqTzXo3P2ALb1reTfZdvVp6OJ/uLr/C2kZAMvjeWGm8V4htQhor7DOvYg0sSbFN2+flT5U0qA==} - - workbox-window@7.3.0: - resolution: {integrity: sha512-qW8PDy16OV1UBaUNGlTVcepzrlzyzNW/ZJvFQQs2j2TzGsg6IKjcpZC1RSquqQnTOafl5pCj5bGfAHlCjOOjdA==} - - wrap-ansi@6.2.0: - resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} - engines: {node: '>=8'} - - wrappy@1.0.2: - resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - - ws@8.13.0: - resolution: {integrity: sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==} - engines: {node: '>=10.0.0'} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: '>=5.0.2' - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - - xml-formatter@3.3.2: - resolution: {integrity: sha512-ld34F1b7+2UQGNkfsAV4MN3/b7cdUstyMj3XJhzKFasOPtMToVCkqmrNcmrRuSlPxgH1K9tXPkqr75gAT3ix2g==} - engines: {node: '>= 14'} - - xml-js@1.6.11: - resolution: {integrity: sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g==} - hasBin: true - - xml-name-validator@4.0.0: - resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==} - engines: {node: '>=12'} - - xml-parser-xo@4.0.5: - resolution: {integrity: sha512-UWXOHMQ4ySxpUiU3S/9KzPOhninlL8SN1xFfWgX9WjgoZWoLKtEeJIEz4jhKtdFsoZBCYjg9rDEP3qfnpiHagQ==} - engines: {node: '>= 14'} - - xmlchars@2.2.0: - resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==} - - y18n@4.0.3: - resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==} - - yallist@2.1.2: - resolution: {integrity: sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==} - - yallist@3.1.1: - resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} - - yallist@4.0.0: - resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} - - yaml-eslint-parser@1.2.2: - resolution: {integrity: sha512-pEwzfsKbTrB8G3xc/sN7aw1v6A6c/pKxLAkjclnAyo5g5qOh6eL9WGu0o3cSDQZKrTNk4KL4lQSwZW+nBkANEg==} - engines: {node: ^14.17.0 || >=16.0.0} - - yaml@2.2.1: - resolution: {integrity: sha512-e0WHiYql7+9wr4cWMx3TVQrNwejKaEe7/rHNmQmqRjazfOP5W8PB6Jpebb5o6fIapbz9o9+2ipcaTM2ZwDI6lw==} - engines: {node: '>= 14'} - - yamljs@0.3.0: - resolution: {integrity: sha512-C/FsVVhht4iPQYXOInoxUM/1ELSf9EsgKH34FofQOp6hwCPrW4vG4w5++TED3xRUo8gD7l0P1J1dLlDYzODsTQ==} - hasBin: true - - yargs-parser@18.1.3: - resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==} - engines: {node: '>=6'} - - yargs-parser@21.1.1: - resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} - engines: {node: '>=12'} - - yargs@15.4.1: - resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==} - engines: {node: '>=8'} - - yocto-queue@0.1.0: - resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} - engines: {node: '>=10'} - - yocto-queue@1.0.0: - resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} - engines: {node: '>=12.20'} - - zx@7.2.1: - resolution: {integrity: sha512-TgKwppaMLMNAXHhlhbBh7rMoOSx3/9qqnkv8frmhVlSomEuWkDijh/BCmYntkoS7ZQyemApAUyEi24jIrrS+hA==} - engines: {node: '>= 16.0.0'} - hasBin: true - -snapshots: - - '@aashutoshrathi/word-wrap@1.2.6': {} - - '@ampproject/remapping@2.2.1': - dependencies: - '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.18 - - '@ampproject/remapping@2.3.0': - dependencies: - '@jridgewell/gen-mapping': 0.3.8 - '@jridgewell/trace-mapping': 0.3.25 - - '@antfu/eslint-config-basic@0.41.0(@typescript-eslint/eslint-plugin@6.4.1(@typescript-eslint/parser@6.4.1(eslint@8.47.0)(typescript@5.2.2))(eslint@8.47.0)(typescript@5.2.2))(@typescript-eslint/parser@6.4.1(eslint@8.47.0)(typescript@5.2.2))(eslint@8.47.0)(typescript@5.2.2)': - dependencies: - eslint: 8.47.0 - eslint-plugin-antfu: 0.41.0(eslint@8.47.0)(typescript@5.2.2) - eslint-plugin-eslint-comments: 3.2.0(eslint@8.47.0) - eslint-plugin-html: 7.1.0 - eslint-plugin-import: eslint-plugin-i@2.28.0-2(@typescript-eslint/parser@6.4.1(eslint@8.47.0)(typescript@5.2.2))(eslint@8.47.0) - eslint-plugin-jsonc: 2.9.0(eslint@8.47.0) - eslint-plugin-markdown: 3.0.1(eslint@8.47.0) - eslint-plugin-n: 16.0.2(eslint@8.47.0) - eslint-plugin-no-only-tests: 3.1.0 - eslint-plugin-promise: 6.1.1(eslint@8.47.0) - eslint-plugin-unicorn: 48.0.1(eslint@8.47.0) - eslint-plugin-unused-imports: 3.0.0(@typescript-eslint/eslint-plugin@6.4.1(@typescript-eslint/parser@6.4.1(eslint@8.47.0)(typescript@5.2.2))(eslint@8.47.0)(typescript@5.2.2))(eslint@8.47.0) - eslint-plugin-yml: 1.8.0(eslint@8.47.0) - jsonc-eslint-parser: 2.3.0 - yaml-eslint-parser: 1.2.2 - transitivePeerDependencies: - - '@typescript-eslint/eslint-plugin' - - '@typescript-eslint/parser' - - eslint-import-resolver-typescript - - eslint-import-resolver-webpack - - supports-color - - typescript - - '@antfu/eslint-config-ts@0.41.0(eslint@8.47.0)(typescript@5.2.2)': - dependencies: - '@antfu/eslint-config-basic': 0.41.0(@typescript-eslint/eslint-plugin@6.4.1(@typescript-eslint/parser@6.4.1(eslint@8.47.0)(typescript@5.2.2))(eslint@8.47.0)(typescript@5.2.2))(@typescript-eslint/parser@6.4.1(eslint@8.47.0)(typescript@5.2.2))(eslint@8.47.0)(typescript@5.2.2) - '@typescript-eslint/eslint-plugin': 6.4.1(@typescript-eslint/parser@6.4.1(eslint@8.47.0)(typescript@5.2.2))(eslint@8.47.0)(typescript@5.2.2) - '@typescript-eslint/parser': 6.4.1(eslint@8.47.0)(typescript@5.2.2) - eslint: 8.47.0 - eslint-plugin-jest: 27.2.3(@typescript-eslint/eslint-plugin@6.4.1(@typescript-eslint/parser@6.4.1(eslint@8.47.0)(typescript@5.2.2))(eslint@8.47.0)(typescript@5.2.2))(eslint@8.47.0)(typescript@5.2.2) - typescript: 5.2.2 - transitivePeerDependencies: - - eslint-import-resolver-typescript - - eslint-import-resolver-webpack - - jest - - supports-color - - '@antfu/eslint-config-vue@0.41.0(@typescript-eslint/eslint-plugin@6.4.1(@typescript-eslint/parser@6.4.1(eslint@8.47.0)(typescript@5.2.2))(eslint@8.47.0)(typescript@5.2.2))(@typescript-eslint/parser@6.4.1(eslint@8.47.0)(typescript@5.2.2))(eslint@8.47.0)(typescript@5.2.2)': - dependencies: - '@antfu/eslint-config-basic': 0.41.0(@typescript-eslint/eslint-plugin@6.4.1(@typescript-eslint/parser@6.4.1(eslint@8.47.0)(typescript@5.2.2))(eslint@8.47.0)(typescript@5.2.2))(@typescript-eslint/parser@6.4.1(eslint@8.47.0)(typescript@5.2.2))(eslint@8.47.0)(typescript@5.2.2) - '@antfu/eslint-config-ts': 0.41.0(eslint@8.47.0)(typescript@5.2.2) - eslint: 8.47.0 - eslint-plugin-vue: 9.17.0(eslint@8.47.0) - local-pkg: 0.4.3 - transitivePeerDependencies: - - '@typescript-eslint/eslint-plugin' - - '@typescript-eslint/parser' - - eslint-import-resolver-typescript - - eslint-import-resolver-webpack - - jest - - supports-color - - typescript - - '@antfu/eslint-config@0.41.0(eslint@8.47.0)(typescript@5.2.2)': - dependencies: - '@antfu/eslint-config-vue': 0.41.0(@typescript-eslint/eslint-plugin@6.4.1(@typescript-eslint/parser@6.4.1(eslint@8.47.0)(typescript@5.2.2))(eslint@8.47.0)(typescript@5.2.2))(@typescript-eslint/parser@6.4.1(eslint@8.47.0)(typescript@5.2.2))(eslint@8.47.0)(typescript@5.2.2) - '@typescript-eslint/eslint-plugin': 6.4.1(@typescript-eslint/parser@6.4.1(eslint@8.47.0)(typescript@5.2.2))(eslint@8.47.0)(typescript@5.2.2) - '@typescript-eslint/parser': 6.4.1(eslint@8.47.0)(typescript@5.2.2) - eslint: 8.47.0 - eslint-plugin-eslint-comments: 3.2.0(eslint@8.47.0) - eslint-plugin-html: 7.1.0 - eslint-plugin-import: eslint-plugin-i@2.28.0-2(@typescript-eslint/parser@6.4.1(eslint@8.47.0)(typescript@5.2.2))(eslint@8.47.0) - eslint-plugin-jsonc: 2.9.0(eslint@8.47.0) - eslint-plugin-n: 16.0.2(eslint@8.47.0) - eslint-plugin-promise: 6.1.1(eslint@8.47.0) - eslint-plugin-unicorn: 48.0.1(eslint@8.47.0) - eslint-plugin-vue: 9.17.0(eslint@8.47.0) - eslint-plugin-yml: 1.8.0(eslint@8.47.0) - jsonc-eslint-parser: 2.3.0 - yaml-eslint-parser: 1.2.2 - transitivePeerDependencies: - - eslint-import-resolver-typescript - - eslint-import-resolver-webpack - - jest - - supports-color - - typescript - - '@antfu/install-pkg@0.1.1': - dependencies: - execa: 5.1.1 - find-up: 5.0.0 - - '@antfu/install-pkg@0.4.1': - dependencies: - package-manager-detector: 0.2.7 - tinyexec: 0.3.1 - - '@antfu/utils@0.7.10': {} - - '@antfu/utils@0.7.4': {} - - '@antfu/utils@0.7.6': {} - - '@apideck/better-ajv-errors@0.3.6(ajv@8.17.1)': - dependencies: - ajv: 8.17.1 - json-schema: 0.4.0 - jsonpointer: 5.0.1 - leven: 3.1.0 - - '@babel/code-frame@7.22.10': - dependencies: - '@babel/highlight': 7.22.10 - chalk: 2.4.2 - - '@babel/code-frame@7.22.13': - dependencies: - '@babel/highlight': 7.22.20 - chalk: 2.4.2 - - '@babel/code-frame@7.22.5': - dependencies: - '@babel/highlight': 7.22.5 - - '@babel/code-frame@7.26.2': - dependencies: - '@babel/helper-validator-identifier': 7.25.9 - js-tokens: 4.0.0 - picocolors: 1.1.1 - - '@babel/compat-data@7.22.9': {} - - '@babel/compat-data@7.23.2': {} - - '@babel/compat-data@7.26.3': {} - - '@babel/core@7.22.10': - dependencies: - '@ampproject/remapping': 2.2.1 - '@babel/code-frame': 7.22.10 - '@babel/generator': 7.22.10 - '@babel/helper-compilation-targets': 7.22.10 - '@babel/helper-module-transforms': 7.22.9(@babel/core@7.22.10) - '@babel/helpers': 7.22.10 - '@babel/parser': 7.22.10 - '@babel/template': 7.22.5 - '@babel/traverse': 7.22.10 - '@babel/types': 7.22.10 - convert-source-map: 1.9.0 - debug: 4.3.4 - gensync: 1.0.0-beta.2 - json5: 2.2.3 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - - '@babel/core@7.23.2': - dependencies: - '@ampproject/remapping': 2.2.1 - '@babel/code-frame': 7.22.13 - '@babel/generator': 7.23.0 - '@babel/helper-compilation-targets': 7.22.15 - '@babel/helper-module-transforms': 7.23.0(@babel/core@7.23.2) - '@babel/helpers': 7.23.2 - '@babel/parser': 7.23.0 - '@babel/template': 7.22.15 - '@babel/traverse': 7.23.2 - '@babel/types': 7.23.0 - convert-source-map: 2.0.0 - debug: 4.3.4 - gensync: 1.0.0-beta.2 - json5: 2.2.3 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - - '@babel/core@7.26.0': - dependencies: - '@ampproject/remapping': 2.3.0 - '@babel/code-frame': 7.26.2 - '@babel/generator': 7.26.3 - '@babel/helper-compilation-targets': 7.25.9 - '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0) - '@babel/helpers': 7.26.0 - '@babel/parser': 7.26.3 - '@babel/template': 7.25.9 - '@babel/traverse': 7.26.4 - '@babel/types': 7.26.3 - convert-source-map: 2.0.0 - debug: 4.4.0 - gensync: 1.0.0-beta.2 - json5: 2.2.3 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - - '@babel/generator@7.22.10': - dependencies: - '@babel/types': 7.22.10 - '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.18 - jsesc: 2.5.2 - - '@babel/generator@7.22.5': - dependencies: - '@babel/types': 7.22.5 - '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.18 - jsesc: 2.5.2 - - '@babel/generator@7.23.0': - dependencies: - '@babel/types': 7.23.0 - '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.20 - jsesc: 2.5.2 - - '@babel/generator@7.26.3': - dependencies: - '@babel/parser': 7.26.3 - '@babel/types': 7.26.3 - '@jridgewell/gen-mapping': 0.3.8 - '@jridgewell/trace-mapping': 0.3.25 - jsesc: 3.1.0 - - '@babel/helper-annotate-as-pure@7.22.5': - dependencies: - '@babel/types': 7.22.10 - - '@babel/helper-annotate-as-pure@7.25.9': - dependencies: - '@babel/types': 7.26.3 - - '@babel/helper-compilation-targets@7.22.10': - dependencies: - '@babel/compat-data': 7.22.9 - '@babel/helper-validator-option': 7.22.5 - browserslist: 4.21.9 - lru-cache: 5.1.1 - semver: 6.3.1 - - '@babel/helper-compilation-targets@7.22.15': - dependencies: - '@babel/compat-data': 7.23.2 - '@babel/helper-validator-option': 7.22.15 - browserslist: 4.22.1 - lru-cache: 5.1.1 - semver: 6.3.1 - - '@babel/helper-compilation-targets@7.25.9': - dependencies: - '@babel/compat-data': 7.26.3 - '@babel/helper-validator-option': 7.25.9 - browserslist: 4.24.3 - lru-cache: 5.1.1 - semver: 6.3.1 - - '@babel/helper-create-class-features-plugin@7.22.10(@babel/core@7.22.10)': - dependencies: - '@babel/core': 7.22.10 - '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-environment-visitor': 7.22.5 - '@babel/helper-function-name': 7.22.5 - '@babel/helper-member-expression-to-functions': 7.22.5 - '@babel/helper-optimise-call-expression': 7.22.5 - '@babel/helper-replace-supers': 7.22.9(@babel/core@7.22.10) - '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.6 - semver: 6.3.1 - - '@babel/helper-create-class-features-plugin@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-annotate-as-pure': 7.25.9 - '@babel/helper-member-expression-to-functions': 7.25.9 - '@babel/helper-optimise-call-expression': 7.25.9 - '@babel/helper-replace-supers': 7.25.9(@babel/core@7.26.0) - '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 - '@babel/traverse': 7.26.4 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - - '@babel/helper-create-regexp-features-plugin@7.26.3(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-annotate-as-pure': 7.25.9 - regexpu-core: 6.2.0 - semver: 6.3.1 - - '@babel/helper-define-polyfill-provider@0.6.3(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-compilation-targets': 7.25.9 - '@babel/helper-plugin-utils': 7.25.9 - debug: 4.4.0 - lodash.debounce: 4.0.8 - resolve: 1.22.9 - transitivePeerDependencies: - - supports-color - - '@babel/helper-environment-visitor@7.22.20': {} - - '@babel/helper-environment-visitor@7.22.5': {} - - '@babel/helper-function-name@7.22.5': - dependencies: - '@babel/template': 7.22.5 - '@babel/types': 7.22.5 - - '@babel/helper-function-name@7.23.0': - dependencies: - '@babel/template': 7.22.15 - '@babel/types': 7.23.0 - - '@babel/helper-hoist-variables@7.22.5': - dependencies: - '@babel/types': 7.22.5 - - '@babel/helper-member-expression-to-functions@7.22.5': - dependencies: - '@babel/types': 7.22.10 - - '@babel/helper-member-expression-to-functions@7.25.9': - dependencies: - '@babel/traverse': 7.26.4 - '@babel/types': 7.26.3 - transitivePeerDependencies: - - supports-color - - '@babel/helper-module-imports@7.22.15': - dependencies: - '@babel/types': 7.23.0 - - '@babel/helper-module-imports@7.22.5': - dependencies: - '@babel/types': 7.22.5 - - '@babel/helper-module-imports@7.25.9': - dependencies: - '@babel/traverse': 7.26.4 - '@babel/types': 7.26.3 - transitivePeerDependencies: - - supports-color - - '@babel/helper-module-transforms@7.22.9(@babel/core@7.22.10)': - dependencies: - '@babel/core': 7.22.10 - '@babel/helper-environment-visitor': 7.22.5 - '@babel/helper-module-imports': 7.22.5 - '@babel/helper-simple-access': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.6 - '@babel/helper-validator-identifier': 7.22.5 - - '@babel/helper-module-transforms@7.23.0(@babel/core@7.23.2)': - dependencies: - '@babel/core': 7.23.2 - '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-module-imports': 7.22.15 - '@babel/helper-simple-access': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.6 - '@babel/helper-validator-identifier': 7.22.20 - - '@babel/helper-module-transforms@7.26.0(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-module-imports': 7.25.9 - '@babel/helper-validator-identifier': 7.25.9 - '@babel/traverse': 7.26.4 - transitivePeerDependencies: - - supports-color - - '@babel/helper-optimise-call-expression@7.22.5': - dependencies: - '@babel/types': 7.22.10 - - '@babel/helper-optimise-call-expression@7.25.9': - dependencies: - '@babel/types': 7.26.3 - - '@babel/helper-plugin-utils@7.22.5': {} - - '@babel/helper-plugin-utils@7.25.9': {} - - '@babel/helper-remap-async-to-generator@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-annotate-as-pure': 7.25.9 - '@babel/helper-wrap-function': 7.25.9 - '@babel/traverse': 7.26.4 - transitivePeerDependencies: - - supports-color - - '@babel/helper-replace-supers@7.22.9(@babel/core@7.22.10)': - dependencies: - '@babel/core': 7.22.10 - '@babel/helper-environment-visitor': 7.22.5 - '@babel/helper-member-expression-to-functions': 7.22.5 - '@babel/helper-optimise-call-expression': 7.22.5 - - '@babel/helper-replace-supers@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-member-expression-to-functions': 7.25.9 - '@babel/helper-optimise-call-expression': 7.25.9 - '@babel/traverse': 7.26.4 - transitivePeerDependencies: - - supports-color - - '@babel/helper-simple-access@7.22.5': - dependencies: - '@babel/types': 7.22.5 - - '@babel/helper-skip-transparent-expression-wrappers@7.22.5': - dependencies: - '@babel/types': 7.22.10 - - '@babel/helper-skip-transparent-expression-wrappers@7.25.9': - dependencies: - '@babel/traverse': 7.26.4 - '@babel/types': 7.26.3 - transitivePeerDependencies: - - supports-color - - '@babel/helper-split-export-declaration@7.22.5': - dependencies: - '@babel/types': 7.22.5 - - '@babel/helper-split-export-declaration@7.22.6': - dependencies: - '@babel/types': 7.22.10 - - '@babel/helper-string-parser@7.22.5': {} - - '@babel/helper-string-parser@7.25.9': {} - - '@babel/helper-validator-identifier@7.22.20': {} - - '@babel/helper-validator-identifier@7.22.5': {} - - '@babel/helper-validator-identifier@7.25.9': {} - - '@babel/helper-validator-option@7.22.15': {} - - '@babel/helper-validator-option@7.22.5': {} - - '@babel/helper-validator-option@7.25.9': {} - - '@babel/helper-wrap-function@7.25.9': - dependencies: - '@babel/template': 7.25.9 - '@babel/traverse': 7.26.4 - '@babel/types': 7.26.3 - transitivePeerDependencies: - - supports-color - - '@babel/helpers@7.22.10': - dependencies: - '@babel/template': 7.22.5 - '@babel/traverse': 7.22.10 - '@babel/types': 7.22.10 - transitivePeerDependencies: - - supports-color - - '@babel/helpers@7.23.2': - dependencies: - '@babel/template': 7.22.15 - '@babel/traverse': 7.23.2 - '@babel/types': 7.23.0 - transitivePeerDependencies: - - supports-color - - '@babel/helpers@7.26.0': - dependencies: - '@babel/template': 7.25.9 - '@babel/types': 7.26.3 - - '@babel/highlight@7.22.10': - dependencies: - '@babel/helper-validator-identifier': 7.22.5 - chalk: 2.4.2 - js-tokens: 4.0.0 - - '@babel/highlight@7.22.20': - dependencies: - '@babel/helper-validator-identifier': 7.22.20 - chalk: 2.4.2 - js-tokens: 4.0.0 - - '@babel/highlight@7.22.5': - dependencies: - '@babel/helper-validator-identifier': 7.22.5 - chalk: 2.4.2 - js-tokens: 4.0.0 - - '@babel/parser@7.21.4': - dependencies: - '@babel/types': 7.22.5 - - '@babel/parser@7.22.10': - dependencies: - '@babel/types': 7.22.10 - - '@babel/parser@7.22.5': - dependencies: - '@babel/types': 7.22.5 - - '@babel/parser@7.23.0': - dependencies: - '@babel/types': 7.23.0 - - '@babel/parser@7.26.3': - dependencies: - '@babel/types': 7.26.3 - - '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - '@babel/traverse': 7.26.4 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 - '@babel/plugin-transform-optional-chaining': 7.25.9(@babel/core@7.26.0) - transitivePeerDependencies: - - supports-color - - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - '@babel/traverse': 7.26.4 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-proposal-export-namespace-from@7.18.9(@babel/core@7.23.2)': - dependencies: - '@babel/core': 7.23.2 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.23.2) - - '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - - '@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.23.2)': - dependencies: - '@babel/core': 7.23.2 - '@babel/helper-plugin-utils': 7.22.5 - - '@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.23.2)': - dependencies: - '@babel/core': 7.23.2 - '@babel/helper-plugin-utils': 7.22.5 - - '@babel/plugin-syntax-import-assertions@7.26.0(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-syntax-import-attributes@7.26.0(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-syntax-jsx@7.22.5(@babel/core@7.22.10)': - dependencies: - '@babel/core': 7.22.10 - '@babel/helper-plugin-utils': 7.22.5 - - '@babel/plugin-syntax-typescript@7.22.5(@babel/core@7.22.10)': - dependencies: - '@babel/core': 7.22.10 - '@babel/helper-plugin-utils': 7.22.5 - - '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-arrow-functions@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-async-generator-functions@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - '@babel/helper-remap-async-to-generator': 7.25.9(@babel/core@7.26.0) - '@babel/traverse': 7.26.4 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-async-to-generator@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-module-imports': 7.25.9 - '@babel/helper-plugin-utils': 7.25.9 - '@babel/helper-remap-async-to-generator': 7.25.9(@babel/core@7.26.0) - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-block-scoped-functions@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-block-scoping@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-class-properties@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.25.9 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-class-static-block@7.26.0(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.25.9 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-classes@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-annotate-as-pure': 7.25.9 - '@babel/helper-compilation-targets': 7.25.9 - '@babel/helper-plugin-utils': 7.25.9 - '@babel/helper-replace-supers': 7.25.9(@babel/core@7.26.0) - '@babel/traverse': 7.26.4 - globals: 11.12.0 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-computed-properties@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - '@babel/template': 7.25.9 - - '@babel/plugin-transform-destructuring@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-dotall-regex@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-duplicate-keys@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-dynamic-import@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-exponentiation-operator@7.26.3(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-export-namespace-from@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-for-of@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-function-name@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-compilation-targets': 7.25.9 - '@babel/helper-plugin-utils': 7.25.9 - '@babel/traverse': 7.26.4 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-json-strings@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-literals@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-logical-assignment-operators@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-member-expression-literals@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-modules-amd@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.25.9 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-modules-commonjs@7.23.0(@babel/core@7.23.2)': - dependencies: - '@babel/core': 7.23.2 - '@babel/helper-module-transforms': 7.23.0(@babel/core@7.23.2) - '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-simple-access': 7.22.5 - - '@babel/plugin-transform-modules-commonjs@7.26.3(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.25.9 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-modules-systemjs@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.25.9 - '@babel/helper-validator-identifier': 7.25.9 - '@babel/traverse': 7.26.4 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-modules-umd@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.25.9 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-named-capturing-groups-regex@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-new-target@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-nullish-coalescing-operator@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-numeric-separator@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-object-rest-spread@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-compilation-targets': 7.25.9 - '@babel/helper-plugin-utils': 7.25.9 - '@babel/plugin-transform-parameters': 7.25.9(@babel/core@7.26.0) - - '@babel/plugin-transform-object-super@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - '@babel/helper-replace-supers': 7.25.9(@babel/core@7.26.0) - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-optional-catch-binding@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-optional-chaining@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-parameters@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-private-methods@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.25.9 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-private-property-in-object@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-annotate-as-pure': 7.25.9 - '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.25.9 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-property-literals@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-regenerator@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - regenerator-transform: 0.15.2 - - '@babel/plugin-transform-regexp-modifiers@7.26.0(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-reserved-words@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-shorthand-properties@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-spread@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-sticky-regex@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-template-literals@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-typeof-symbol@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-typescript@7.22.10(@babel/core@7.22.10)': - dependencies: - '@babel/core': 7.22.10 - '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.22.10(@babel/core@7.22.10) - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-typescript': 7.22.5(@babel/core@7.22.10) - - '@babel/plugin-transform-unicode-escapes@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-unicode-property-regex@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-unicode-regex@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/plugin-transform-unicode-sets-regex@7.25.9(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-create-regexp-features-plugin': 7.26.3(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.25.9 - - '@babel/preset-env@7.26.0(@babel/core@7.26.0)': - dependencies: - '@babel/compat-data': 7.26.3 - '@babel/core': 7.26.0 - '@babel/helper-compilation-targets': 7.25.9 - '@babel/helper-plugin-utils': 7.25.9 - '@babel/helper-validator-option': 7.25.9 - '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.26.0) - '@babel/plugin-syntax-import-assertions': 7.26.0(@babel/core@7.26.0) - '@babel/plugin-syntax-import-attributes': 7.26.0(@babel/core@7.26.0) - '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.26.0) - '@babel/plugin-transform-arrow-functions': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-async-generator-functions': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-async-to-generator': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-block-scoped-functions': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-block-scoping': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-class-properties': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-class-static-block': 7.26.0(@babel/core@7.26.0) - '@babel/plugin-transform-classes': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-computed-properties': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-destructuring': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-dotall-regex': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-duplicate-keys': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-duplicate-named-capturing-groups-regex': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-dynamic-import': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-exponentiation-operator': 7.26.3(@babel/core@7.26.0) - '@babel/plugin-transform-export-namespace-from': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-for-of': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-function-name': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-json-strings': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-literals': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-logical-assignment-operators': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-member-expression-literals': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-modules-amd': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-modules-commonjs': 7.26.3(@babel/core@7.26.0) - '@babel/plugin-transform-modules-systemjs': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-modules-umd': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-named-capturing-groups-regex': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-new-target': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-nullish-coalescing-operator': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-numeric-separator': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-object-rest-spread': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-object-super': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-optional-catch-binding': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-optional-chaining': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-parameters': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-private-methods': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-private-property-in-object': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-property-literals': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-regenerator': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-regexp-modifiers': 7.26.0(@babel/core@7.26.0) - '@babel/plugin-transform-reserved-words': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-shorthand-properties': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-spread': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-sticky-regex': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-template-literals': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-typeof-symbol': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-unicode-escapes': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-unicode-property-regex': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-unicode-regex': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-unicode-sets-regex': 7.25.9(@babel/core@7.26.0) - '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.26.0) - babel-plugin-polyfill-corejs2: 0.4.12(@babel/core@7.26.0) - babel-plugin-polyfill-corejs3: 0.10.6(@babel/core@7.26.0) - babel-plugin-polyfill-regenerator: 0.6.3(@babel/core@7.26.0) - core-js-compat: 3.39.0 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - - '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.26.0)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.25.9 - '@babel/types': 7.26.3 - esutils: 2.0.3 - - '@babel/runtime@7.22.10': - dependencies: - regenerator-runtime: 0.14.0 - - '@babel/runtime@7.23.2': - dependencies: - regenerator-runtime: 0.14.0 - - '@babel/runtime@7.26.0': - dependencies: - regenerator-runtime: 0.14.1 - - '@babel/template@7.22.15': - dependencies: - '@babel/code-frame': 7.22.13 - '@babel/parser': 7.23.0 - '@babel/types': 7.23.0 - - '@babel/template@7.22.5': - dependencies: - '@babel/code-frame': 7.22.5 - '@babel/parser': 7.22.5 - '@babel/types': 7.22.5 - - '@babel/template@7.25.9': - dependencies: - '@babel/code-frame': 7.26.2 - '@babel/parser': 7.26.3 - '@babel/types': 7.26.3 - - '@babel/traverse@7.22.10': - dependencies: - '@babel/code-frame': 7.22.10 - '@babel/generator': 7.22.10 - '@babel/helper-environment-visitor': 7.22.5 - '@babel/helper-function-name': 7.22.5 - '@babel/helper-hoist-variables': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.6 - '@babel/parser': 7.22.10 - '@babel/types': 7.22.10 - debug: 4.3.4 - globals: 11.12.0 - transitivePeerDependencies: - - supports-color - - '@babel/traverse@7.22.5': - dependencies: - '@babel/code-frame': 7.22.5 - '@babel/generator': 7.22.5 - '@babel/helper-environment-visitor': 7.22.5 - '@babel/helper-function-name': 7.22.5 - '@babel/helper-hoist-variables': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.5 - '@babel/parser': 7.22.5 - '@babel/types': 7.22.5 - debug: 4.3.4 - globals: 11.12.0 - transitivePeerDependencies: - - supports-color - - '@babel/traverse@7.23.2': - dependencies: - '@babel/code-frame': 7.22.13 - '@babel/generator': 7.23.0 - '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-function-name': 7.23.0 - '@babel/helper-hoist-variables': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.6 - '@babel/parser': 7.23.0 - '@babel/types': 7.23.0 - debug: 4.3.4 - globals: 11.12.0 - transitivePeerDependencies: - - supports-color - - '@babel/traverse@7.26.4': - dependencies: - '@babel/code-frame': 7.26.2 - '@babel/generator': 7.26.3 - '@babel/parser': 7.26.3 - '@babel/template': 7.25.9 - '@babel/types': 7.26.3 - debug: 4.4.0 - globals: 11.12.0 - transitivePeerDependencies: - - supports-color - - '@babel/types@7.22.10': - dependencies: - '@babel/helper-string-parser': 7.22.5 - '@babel/helper-validator-identifier': 7.22.5 - to-fast-properties: 2.0.0 - - '@babel/types@7.22.5': - dependencies: - '@babel/helper-string-parser': 7.22.5 - '@babel/helper-validator-identifier': 7.22.5 - to-fast-properties: 2.0.0 - - '@babel/types@7.23.0': - dependencies: - '@babel/helper-string-parser': 7.22.5 - '@babel/helper-validator-identifier': 7.22.20 - to-fast-properties: 2.0.0 - - '@babel/types@7.26.3': - dependencies: - '@babel/helper-string-parser': 7.25.9 - '@babel/helper-validator-identifier': 7.25.9 - - '@css-render/plugin-bem@0.15.12(css-render@0.15.12)': - dependencies: - css-render: 0.15.12 - - '@css-render/vue3-ssr@0.15.12(vue@3.3.4)': - dependencies: - vue: 3.3.4 - - '@emotion/hash@0.8.0': {} - - '@esbuild/aix-ppc64@0.23.1': - optional: true - - '@esbuild/android-arm64@0.18.20': - optional: true - - '@esbuild/android-arm64@0.23.1': - optional: true - - '@esbuild/android-arm@0.18.20': - optional: true - - '@esbuild/android-arm@0.23.1': - optional: true - - '@esbuild/android-x64@0.18.20': - optional: true - - '@esbuild/android-x64@0.23.1': - optional: true - - '@esbuild/darwin-arm64@0.18.20': - optional: true - - '@esbuild/darwin-arm64@0.23.1': - optional: true - - '@esbuild/darwin-x64@0.18.20': - optional: true - - '@esbuild/darwin-x64@0.23.1': - optional: true - - '@esbuild/freebsd-arm64@0.18.20': - optional: true - - '@esbuild/freebsd-arm64@0.23.1': - optional: true - - '@esbuild/freebsd-x64@0.18.20': - optional: true - - '@esbuild/freebsd-x64@0.23.1': - optional: true - - '@esbuild/linux-arm64@0.18.20': - optional: true - - '@esbuild/linux-arm64@0.23.1': - optional: true - - '@esbuild/linux-arm@0.18.20': - optional: true - - '@esbuild/linux-arm@0.23.1': - optional: true - - '@esbuild/linux-ia32@0.18.20': - optional: true - - '@esbuild/linux-ia32@0.23.1': - optional: true - - '@esbuild/linux-loong64@0.18.20': - optional: true - - '@esbuild/linux-loong64@0.23.1': - optional: true - - '@esbuild/linux-mips64el@0.18.20': - optional: true - - '@esbuild/linux-mips64el@0.23.1': - optional: true - - '@esbuild/linux-ppc64@0.18.20': - optional: true - - '@esbuild/linux-ppc64@0.23.1': - optional: true - - '@esbuild/linux-riscv64@0.18.20': - optional: true - - '@esbuild/linux-riscv64@0.23.1': - optional: true - - '@esbuild/linux-s390x@0.18.20': - optional: true - - '@esbuild/linux-s390x@0.23.1': - optional: true - - '@esbuild/linux-x64@0.18.20': - optional: true - - '@esbuild/linux-x64@0.23.1': - optional: true - - '@esbuild/netbsd-x64@0.18.20': - optional: true - - '@esbuild/netbsd-x64@0.23.1': - optional: true - - '@esbuild/openbsd-arm64@0.23.1': - optional: true - - '@esbuild/openbsd-x64@0.18.20': - optional: true - - '@esbuild/openbsd-x64@0.23.1': - optional: true - - '@esbuild/sunos-x64@0.18.20': - optional: true - - '@esbuild/sunos-x64@0.23.1': - optional: true - - '@esbuild/win32-arm64@0.18.20': - optional: true - - '@esbuild/win32-arm64@0.23.1': - optional: true - - '@esbuild/win32-ia32@0.18.20': - optional: true - - '@esbuild/win32-ia32@0.23.1': - optional: true - - '@esbuild/win32-x64@0.18.20': - optional: true - - '@esbuild/win32-x64@0.23.1': - optional: true - - '@eslint-community/eslint-utils@4.4.0(eslint@8.47.0)': - dependencies: - eslint: 8.47.0 - eslint-visitor-keys: 3.4.3 - - '@eslint-community/regexpp@4.6.2': {} - - '@eslint/eslintrc@2.1.2': - dependencies: - ajv: 6.12.6 - debug: 4.3.4 - espree: 9.6.1 - globals: 13.20.0 - ignore: 5.2.4 - import-fresh: 3.3.0 - js-yaml: 4.1.0 - minimatch: 3.1.2 - strip-json-comments: 3.1.1 - transitivePeerDependencies: - - supports-color - - '@eslint/js@8.47.0': {} - - '@humanwhocodes/config-array@0.11.10': - dependencies: - '@humanwhocodes/object-schema': 1.2.1 - debug: 4.3.4 - minimatch: 3.1.2 - transitivePeerDependencies: - - supports-color - - '@humanwhocodes/module-importer@1.0.1': {} - - '@humanwhocodes/object-schema@1.2.1': {} - - '@iconify-json/mdi@1.1.50': - dependencies: - '@iconify/types': 2.0.0 - - '@iconify/types@2.0.0': {} - - '@iconify/utils@2.1.9': - dependencies: - '@antfu/install-pkg': 0.1.1 - '@antfu/utils': 0.7.6 - '@iconify/types': 2.0.0 - debug: 4.3.4 - kolorist: 1.8.0 - local-pkg: 0.4.3 - transitivePeerDependencies: - - supports-color - - '@iconify/utils@2.2.0': - dependencies: - '@antfu/install-pkg': 0.4.1 - '@antfu/utils': 0.7.10 - '@iconify/types': 2.0.0 - debug: 4.4.0 - globals: 15.13.0 - kolorist: 1.8.0 - local-pkg: 0.5.1 - mlly: 1.7.3 - transitivePeerDependencies: - - supports-color - - '@intlify/bundle-utils@7.5.0(vue-i18n@9.9.1(vue@3.3.4))': - dependencies: - '@intlify/message-compiler': 9.9.1 - '@intlify/shared': 9.9.1 - acorn: 8.11.2 - escodegen: 2.1.0 - estree-walker: 2.0.2 - jsonc-eslint-parser: 2.3.0 - magic-string: 0.30.5 - mlly: 1.4.2 - source-map-js: 1.0.2 - yaml-eslint-parser: 1.2.2 - optionalDependencies: - vue-i18n: 9.9.1(vue@3.3.4) - - '@intlify/core-base@9.9.1': - dependencies: - '@intlify/message-compiler': 9.9.1 - '@intlify/shared': 9.9.1 - - '@intlify/message-compiler@9.9.1': - dependencies: - '@intlify/shared': 9.9.1 - source-map-js: 1.0.2 - - '@intlify/shared@9.9.1': {} - - '@intlify/unplugin-vue-i18n@2.0.0(rollup@2.79.2)(vue-i18n@9.9.1(vue@3.3.4))': - dependencies: - '@intlify/bundle-utils': 7.5.0(vue-i18n@9.9.1(vue@3.3.4)) - '@intlify/shared': 9.9.1 - '@rollup/pluginutils': 5.0.5(rollup@2.79.2) - '@vue/compiler-sfc': 3.3.4 - debug: 4.3.4 - fast-glob: 3.3.1 - js-yaml: 4.1.0 - json5: 2.2.3 - pathe: 1.1.1 - picocolors: 1.0.0 - source-map-js: 1.0.2 - unplugin: 1.4.0 - optionalDependencies: - vue-i18n: 9.9.1(vue@3.3.4) - transitivePeerDependencies: - - rollup - - supports-color - - '@it-tools/bip39@0.0.4': - dependencies: - js-sha256: 0.9.0 - nanoid: 3.3.6 - - '@it-tools/oggen@1.3.0': {} - - '@jest/schemas@29.6.0': - dependencies: - '@sinclair/typebox': 0.27.8 - - '@jridgewell/gen-mapping@0.3.3': - dependencies: - '@jridgewell/set-array': 1.1.2 - '@jridgewell/sourcemap-codec': 1.4.15 - '@jridgewell/trace-mapping': 0.3.18 - - '@jridgewell/gen-mapping@0.3.8': - dependencies: - '@jridgewell/set-array': 1.2.1 - '@jridgewell/sourcemap-codec': 1.5.0 - '@jridgewell/trace-mapping': 0.3.25 - - '@jridgewell/resolve-uri@3.1.0': {} - - '@jridgewell/resolve-uri@3.1.1': {} - - '@jridgewell/resolve-uri@3.1.2': {} - - '@jridgewell/set-array@1.1.2': {} - - '@jridgewell/set-array@1.2.1': {} - - '@jridgewell/source-map@0.3.6': - dependencies: - '@jridgewell/gen-mapping': 0.3.8 - '@jridgewell/trace-mapping': 0.3.25 - - '@jridgewell/sourcemap-codec@1.4.14': {} - - '@jridgewell/sourcemap-codec@1.4.15': {} - - '@jridgewell/sourcemap-codec@1.5.0': {} - - '@jridgewell/trace-mapping@0.3.18': - dependencies: - '@jridgewell/resolve-uri': 3.1.0 - '@jridgewell/sourcemap-codec': 1.4.14 - - '@jridgewell/trace-mapping@0.3.20': - dependencies: - '@jridgewell/resolve-uri': 3.1.1 - '@jridgewell/sourcemap-codec': 1.4.15 - - '@jridgewell/trace-mapping@0.3.25': - dependencies: - '@jridgewell/resolve-uri': 3.1.2 - '@jridgewell/sourcemap-codec': 1.5.0 - - '@juggle/resize-observer@3.4.0': {} - - '@linaria/core@4.2.9': - dependencies: - '@linaria/logger': 4.0.0 - '@linaria/tags': 4.3.5 - '@linaria/utils': 4.3.4 - transitivePeerDependencies: - - supports-color - - '@linaria/logger@4.0.0': - dependencies: - debug: 4.3.4 - picocolors: 1.0.0 - transitivePeerDependencies: - - supports-color - - '@linaria/tags@4.3.5': - dependencies: - '@babel/generator': 7.23.0 - '@linaria/logger': 4.0.0 - '@linaria/utils': 4.3.4 - transitivePeerDependencies: - - supports-color - - '@linaria/utils@4.3.4': - dependencies: - '@babel/core': 7.23.2 - '@babel/plugin-proposal-export-namespace-from': 7.18.9(@babel/core@7.23.2) - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.23.2) - '@babel/plugin-transform-modules-commonjs': 7.23.0(@babel/core@7.23.2) - '@babel/traverse': 7.23.2 - '@babel/types': 7.23.0 - '@linaria/logger': 4.0.0 - babel-merge: 3.0.0(@babel/core@7.23.2) - transitivePeerDependencies: - - supports-color - - '@mdit-vue/plugin-component@0.12.0': - dependencies: - '@types/markdown-it': 12.2.3 - markdown-it: 13.0.2 - - '@mdit-vue/plugin-frontmatter@0.12.0': - dependencies: - '@mdit-vue/types': 0.12.0 - '@types/markdown-it': 12.2.3 - gray-matter: 4.0.3 - markdown-it: 13.0.2 - - '@mdit-vue/types@0.12.0': {} - - '@nodelib/fs.scandir@2.1.5': - dependencies: - '@nodelib/fs.stat': 2.0.5 - run-parallel: 1.2.0 - - '@nodelib/fs.stat@2.0.5': {} - - '@nodelib/fs.walk@1.2.8': - dependencies: - '@nodelib/fs.scandir': 2.1.5 - fastq: 1.15.0 - - '@pkgr/utils@2.3.1': - dependencies: - cross-spawn: 7.0.3 - is-glob: 4.0.3 - open: 8.4.2 - picocolors: 1.0.0 - tiny-glob: 0.2.9 - tslib: 2.5.0 - - '@playwright/test@1.32.3': - dependencies: - '@types/node': 18.15.11 - playwright-core: 1.32.3 - optionalDependencies: - fsevents: 2.3.2 - - '@polka/url@1.0.0-next.28': {} - - '@popperjs/core@2.11.8': {} - - '@regexper/parser@1.0.0': {} - - '@regexper/render@1.0.0': - dependencies: - '@regexper/parser': 1.0.0 - '@svgdotjs/svg.js': 3.2.4 - - '@remirror/core-constants@2.0.1': - dependencies: - '@babel/runtime': 7.23.2 - - '@remirror/core-helpers@2.0.3': - dependencies: - '@babel/runtime': 7.23.2 - '@linaria/core': 4.2.9 - '@remirror/core-constants': 2.0.1 - '@remirror/types': 1.0.1 - '@types/object.omit': 3.0.0 - '@types/object.pick': 1.3.2 - '@types/throttle-debounce': 2.1.0 - case-anything: 2.1.13 - dash-get: 1.0.2 - deepmerge: 4.3.1 - fast-deep-equal: 3.1.3 - make-error: 1.3.6 - object.omit: 3.0.0 - object.pick: 1.3.0 - throttle-debounce: 3.0.1 - transitivePeerDependencies: - - supports-color - - '@remirror/types@1.0.1': - dependencies: - type-fest: 2.19.0 - - '@rollup/plugin-babel@5.3.1(@babel/core@7.26.0)(rollup@2.79.2)': - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-module-imports': 7.25.9 - '@rollup/pluginutils': 3.1.0(rollup@2.79.2) - rollup: 2.79.2 - transitivePeerDependencies: - - supports-color - - '@rollup/plugin-node-resolve@15.3.0(rollup@2.79.2)': - dependencies: - '@rollup/pluginutils': 5.1.3(rollup@2.79.2) - '@types/resolve': 1.20.2 - deepmerge: 4.3.1 - is-module: 1.0.0 - resolve: 1.22.9 - optionalDependencies: - rollup: 2.79.2 - - '@rollup/plugin-replace@2.4.2(rollup@2.79.2)': - dependencies: - '@rollup/pluginutils': 3.1.0(rollup@2.79.2) - magic-string: 0.25.9 - rollup: 2.79.2 - - '@rollup/plugin-terser@0.4.4(rollup@2.79.2)': - dependencies: - serialize-javascript: 6.0.2 - smob: 1.5.0 - terser: 5.37.0 - optionalDependencies: - rollup: 2.79.2 - - '@rollup/pluginutils@3.1.0(rollup@2.79.2)': - dependencies: - '@types/estree': 0.0.39 - estree-walker: 1.0.1 - picomatch: 2.3.1 - rollup: 2.79.2 - - '@rollup/pluginutils@5.0.2(rollup@2.79.2)': - dependencies: - '@types/estree': 1.0.0 - estree-walker: 2.0.2 - picomatch: 2.3.1 - optionalDependencies: - rollup: 2.79.2 - - '@rollup/pluginutils@5.0.5(rollup@2.79.2)': - dependencies: - '@types/estree': 1.0.0 - estree-walker: 2.0.2 - picomatch: 2.3.1 - optionalDependencies: - rollup: 2.79.2 - - '@rollup/pluginutils@5.1.3(rollup@2.79.2)': - dependencies: - '@types/estree': 1.0.6 - estree-walker: 2.0.2 - picomatch: 4.0.2 - optionalDependencies: - rollup: 2.79.2 - - '@rushstack/eslint-patch@1.2.0': {} - - '@sinclair/typebox@0.27.8': {} - - '@sindresorhus/slugify@2.2.1': - dependencies: - '@sindresorhus/transliterate': 1.6.0 - escape-string-regexp: 5.0.0 - - '@sindresorhus/transliterate@1.6.0': - dependencies: - escape-string-regexp: 5.0.0 - - '@surma/rollup-plugin-off-main-thread@2.2.3': - dependencies: - ejs: 3.1.10 - json5: 2.2.3 - magic-string: 0.25.9 - string.prototype.matchall: 4.0.11 - - '@svgdotjs/svg.js@3.2.4': {} - - '@tabler/icons-vue@3.20.0(vue@3.3.4)': - dependencies: - '@tabler/icons': 3.20.0 - vue: 3.3.4 - - '@tabler/icons@3.20.0': {} - - '@tiptap/core@2.1.12(@tiptap/pm@2.1.6)': - dependencies: - '@tiptap/pm': 2.1.6 - - '@tiptap/extension-blockquote@2.1.6(@tiptap/core@2.1.12(@tiptap/pm@2.1.6))': - dependencies: - '@tiptap/core': 2.1.12(@tiptap/pm@2.1.6) - - '@tiptap/extension-bold@2.1.6(@tiptap/core@2.1.12(@tiptap/pm@2.1.6))': - dependencies: - '@tiptap/core': 2.1.12(@tiptap/pm@2.1.6) - - '@tiptap/extension-bubble-menu@2.0.3(@tiptap/core@2.1.12(@tiptap/pm@2.1.6))(@tiptap/pm@2.1.6)': - dependencies: - '@tiptap/core': 2.1.12(@tiptap/pm@2.1.6) - '@tiptap/pm': 2.1.6 - tippy.js: 6.3.7 - - '@tiptap/extension-bullet-list@2.1.6(@tiptap/core@2.1.12(@tiptap/pm@2.1.6))': - dependencies: - '@tiptap/core': 2.1.12(@tiptap/pm@2.1.6) - - '@tiptap/extension-code-block@2.1.6(@tiptap/core@2.1.12(@tiptap/pm@2.1.6))(@tiptap/pm@2.1.6)': - dependencies: - '@tiptap/core': 2.1.12(@tiptap/pm@2.1.6) - '@tiptap/pm': 2.1.6 - - '@tiptap/extension-code@2.1.6(@tiptap/core@2.1.12(@tiptap/pm@2.1.6))': - dependencies: - '@tiptap/core': 2.1.12(@tiptap/pm@2.1.6) - - '@tiptap/extension-document@2.1.6(@tiptap/core@2.1.12(@tiptap/pm@2.1.6))': - dependencies: - '@tiptap/core': 2.1.12(@tiptap/pm@2.1.6) - - '@tiptap/extension-dropcursor@2.1.6(@tiptap/core@2.1.12(@tiptap/pm@2.1.6))(@tiptap/pm@2.1.6)': - dependencies: - '@tiptap/core': 2.1.12(@tiptap/pm@2.1.6) - '@tiptap/pm': 2.1.6 - - '@tiptap/extension-floating-menu@2.0.3(@tiptap/core@2.1.12(@tiptap/pm@2.1.6))(@tiptap/pm@2.1.6)': - dependencies: - '@tiptap/core': 2.1.12(@tiptap/pm@2.1.6) - '@tiptap/pm': 2.1.6 - tippy.js: 6.3.7 - - '@tiptap/extension-gapcursor@2.1.6(@tiptap/core@2.1.12(@tiptap/pm@2.1.6))(@tiptap/pm@2.1.6)': - dependencies: - '@tiptap/core': 2.1.12(@tiptap/pm@2.1.6) - '@tiptap/pm': 2.1.6 - - '@tiptap/extension-hard-break@2.1.6(@tiptap/core@2.1.12(@tiptap/pm@2.1.6))': - dependencies: - '@tiptap/core': 2.1.12(@tiptap/pm@2.1.6) - - '@tiptap/extension-heading@2.1.6(@tiptap/core@2.1.12(@tiptap/pm@2.1.6))': - dependencies: - '@tiptap/core': 2.1.12(@tiptap/pm@2.1.6) - - '@tiptap/extension-history@2.1.6(@tiptap/core@2.1.12(@tiptap/pm@2.1.6))(@tiptap/pm@2.1.6)': - dependencies: - '@tiptap/core': 2.1.12(@tiptap/pm@2.1.6) - '@tiptap/pm': 2.1.6 - - '@tiptap/extension-horizontal-rule@2.1.6(@tiptap/core@2.1.12(@tiptap/pm@2.1.6))(@tiptap/pm@2.1.6)': - dependencies: - '@tiptap/core': 2.1.12(@tiptap/pm@2.1.6) - '@tiptap/pm': 2.1.6 - - '@tiptap/extension-italic@2.1.6(@tiptap/core@2.1.12(@tiptap/pm@2.1.6))': - dependencies: - '@tiptap/core': 2.1.12(@tiptap/pm@2.1.6) - - '@tiptap/extension-list-item@2.1.6(@tiptap/core@2.1.12(@tiptap/pm@2.1.6))': - dependencies: - '@tiptap/core': 2.1.12(@tiptap/pm@2.1.6) - - '@tiptap/extension-ordered-list@2.1.6(@tiptap/core@2.1.12(@tiptap/pm@2.1.6))': - dependencies: - '@tiptap/core': 2.1.12(@tiptap/pm@2.1.6) - - '@tiptap/extension-paragraph@2.1.6(@tiptap/core@2.1.12(@tiptap/pm@2.1.6))': - dependencies: - '@tiptap/core': 2.1.12(@tiptap/pm@2.1.6) - - '@tiptap/extension-strike@2.1.6(@tiptap/core@2.1.12(@tiptap/pm@2.1.6))': - dependencies: - '@tiptap/core': 2.1.12(@tiptap/pm@2.1.6) - - '@tiptap/extension-text@2.1.6(@tiptap/core@2.1.12(@tiptap/pm@2.1.6))': - dependencies: - '@tiptap/core': 2.1.12(@tiptap/pm@2.1.6) - - '@tiptap/pm@2.1.6': - dependencies: - prosemirror-changeset: 2.2.1 - prosemirror-collab: 1.3.1 - prosemirror-commands: 1.5.2 - prosemirror-dropcursor: 1.8.1 - prosemirror-gapcursor: 1.3.2 - prosemirror-history: 1.3.2 - prosemirror-inputrules: 1.2.1 - prosemirror-keymap: 1.2.2 - prosemirror-markdown: 1.11.0 - prosemirror-menu: 1.2.2 - prosemirror-model: 1.19.2 - prosemirror-schema-basic: 1.2.2 - prosemirror-schema-list: 1.3.0 - prosemirror-state: 1.4.3 - prosemirror-tables: 1.3.3 - prosemirror-trailing-node: 2.0.4(prosemirror-model@1.19.2)(prosemirror-state@1.4.3)(prosemirror-view@1.31.4) - prosemirror-transform: 1.7.3 - prosemirror-view: 1.31.4 - transitivePeerDependencies: - - supports-color - - '@tiptap/starter-kit@2.1.6(@tiptap/pm@2.1.6)': - dependencies: - '@tiptap/core': 2.1.12(@tiptap/pm@2.1.6) - '@tiptap/extension-blockquote': 2.1.6(@tiptap/core@2.1.12(@tiptap/pm@2.1.6)) - '@tiptap/extension-bold': 2.1.6(@tiptap/core@2.1.12(@tiptap/pm@2.1.6)) - '@tiptap/extension-bullet-list': 2.1.6(@tiptap/core@2.1.12(@tiptap/pm@2.1.6)) - '@tiptap/extension-code': 2.1.6(@tiptap/core@2.1.12(@tiptap/pm@2.1.6)) - '@tiptap/extension-code-block': 2.1.6(@tiptap/core@2.1.12(@tiptap/pm@2.1.6))(@tiptap/pm@2.1.6) - '@tiptap/extension-document': 2.1.6(@tiptap/core@2.1.12(@tiptap/pm@2.1.6)) - '@tiptap/extension-dropcursor': 2.1.6(@tiptap/core@2.1.12(@tiptap/pm@2.1.6))(@tiptap/pm@2.1.6) - '@tiptap/extension-gapcursor': 2.1.6(@tiptap/core@2.1.12(@tiptap/pm@2.1.6))(@tiptap/pm@2.1.6) - '@tiptap/extension-hard-break': 2.1.6(@tiptap/core@2.1.12(@tiptap/pm@2.1.6)) - '@tiptap/extension-heading': 2.1.6(@tiptap/core@2.1.12(@tiptap/pm@2.1.6)) - '@tiptap/extension-history': 2.1.6(@tiptap/core@2.1.12(@tiptap/pm@2.1.6))(@tiptap/pm@2.1.6) - '@tiptap/extension-horizontal-rule': 2.1.6(@tiptap/core@2.1.12(@tiptap/pm@2.1.6))(@tiptap/pm@2.1.6) - '@tiptap/extension-italic': 2.1.6(@tiptap/core@2.1.12(@tiptap/pm@2.1.6)) - '@tiptap/extension-list-item': 2.1.6(@tiptap/core@2.1.12(@tiptap/pm@2.1.6)) - '@tiptap/extension-ordered-list': 2.1.6(@tiptap/core@2.1.12(@tiptap/pm@2.1.6)) - '@tiptap/extension-paragraph': 2.1.6(@tiptap/core@2.1.12(@tiptap/pm@2.1.6)) - '@tiptap/extension-strike': 2.1.6(@tiptap/core@2.1.12(@tiptap/pm@2.1.6)) - '@tiptap/extension-text': 2.1.6(@tiptap/core@2.1.12(@tiptap/pm@2.1.6)) - transitivePeerDependencies: - - '@tiptap/pm' - - '@tiptap/vue-3@2.0.3(@tiptap/core@2.1.12(@tiptap/pm@2.1.6))(@tiptap/pm@2.1.6)(vue@3.3.4)': - dependencies: - '@tiptap/core': 2.1.12(@tiptap/pm@2.1.6) - '@tiptap/extension-bubble-menu': 2.0.3(@tiptap/core@2.1.12(@tiptap/pm@2.1.6))(@tiptap/pm@2.1.6) - '@tiptap/extension-floating-menu': 2.0.3(@tiptap/core@2.1.12(@tiptap/pm@2.1.6))(@tiptap/pm@2.1.6) - '@tiptap/pm': 2.1.6 - vue: 3.3.4 - - '@tootallnate/once@2.0.0': {} - - '@trysound/sax@0.2.0': {} - - '@tsconfig/node18@18.2.0': {} - - '@types/bcryptjs@2.4.2': {} - - '@types/chai-subset@1.3.3': - dependencies: - '@types/chai': 4.3.5 - - '@types/chai@4.3.5': {} - - '@types/crypto-js@4.1.1': {} - - '@types/dompurify@3.0.5': - dependencies: - '@types/trusted-types': 2.0.3 - - '@types/estree@0.0.39': {} - - '@types/estree@1.0.0': {} - - '@types/estree@1.0.6': {} - - '@types/figlet@1.5.8': {} - - '@types/fs-extra@11.0.1': - dependencies: - '@types/jsonfile': 6.1.1 - '@types/node': 18.15.11 - - '@types/jsdom@21.1.0': - dependencies: - '@types/node': 18.15.11 - '@types/tough-cookie': 4.0.2 - parse5: 7.1.2 - - '@types/json-schema@7.0.12': {} - - '@types/jsonfile@6.1.1': - dependencies: - '@types/node': 18.15.11 - - '@types/katex@0.16.5': {} - - '@types/linkify-it@3.0.2': {} - - '@types/lodash-es@4.17.10': - dependencies: - '@types/lodash': 4.14.192 - - '@types/lodash@4.14.192': {} - - '@types/lodash@4.14.200': {} - - '@types/markdown-it@12.2.3': - dependencies: - '@types/linkify-it': 3.0.2 - '@types/mdurl': 1.0.2 - - '@types/markdown-it@13.0.9': - dependencies: - '@types/linkify-it': 3.0.2 - '@types/mdurl': 1.0.2 - - '@types/mdast@3.0.11': - dependencies: - '@types/unist': 2.0.6 - - '@types/mdurl@1.0.2': {} - - '@types/mime-types@2.1.1': {} - - '@types/minimist@1.2.2': {} - - '@types/netmask@2.0.0': {} - - '@types/node-forge@1.3.2': - dependencies: - '@types/node': 18.15.11 - - '@types/node@17.0.45': {} - - '@types/node@18.15.11': {} - - '@types/normalize-package-data@2.4.1': {} - - '@types/object.omit@3.0.0': {} - - '@types/object.pick@1.3.2': {} - - '@types/ps-tree@1.1.2': {} - - '@types/qrcode@1.5.0': - dependencies: - '@types/node': 18.15.11 - - '@types/resolve@1.20.2': {} - - '@types/semver@7.5.0': {} - - '@types/throttle-debounce@2.1.0': {} - - '@types/tough-cookie@4.0.2': {} - - '@types/trusted-types@2.0.3': {} - - '@types/trusted-types@2.0.7': {} - - '@types/ua-parser-js@0.7.36': {} - - '@types/unist@2.0.6': {} - - '@types/uuid@9.0.0': {} - - '@types/web-bluetooth@0.0.17': {} - - '@types/which@2.0.2': {} - - '@typescript-eslint/eslint-plugin@6.4.1(@typescript-eslint/parser@6.4.1(eslint@8.47.0)(typescript@5.2.2))(eslint@8.47.0)(typescript@5.2.2)': - dependencies: - '@eslint-community/regexpp': 4.6.2 - '@typescript-eslint/parser': 6.4.1(eslint@8.47.0)(typescript@5.2.2) - '@typescript-eslint/scope-manager': 6.4.1 - '@typescript-eslint/type-utils': 6.4.1(eslint@8.47.0)(typescript@5.2.2) - '@typescript-eslint/utils': 6.4.1(eslint@8.47.0)(typescript@5.2.2) - '@typescript-eslint/visitor-keys': 6.4.1 - debug: 4.3.4 - eslint: 8.47.0 - graphemer: 1.4.0 - ignore: 5.2.4 - natural-compare: 1.4.0 - semver: 7.5.4 - ts-api-utils: 1.0.1(typescript@5.2.2) - optionalDependencies: - typescript: 5.2.2 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/parser@6.4.1(eslint@8.47.0)(typescript@5.2.2)': - dependencies: - '@typescript-eslint/scope-manager': 6.4.1 - '@typescript-eslint/types': 6.4.1 - '@typescript-eslint/typescript-estree': 6.4.1(typescript@5.2.2) - '@typescript-eslint/visitor-keys': 6.4.1 - debug: 4.3.4 - eslint: 8.47.0 - optionalDependencies: - typescript: 5.2.2 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/scope-manager@5.60.0': - dependencies: - '@typescript-eslint/types': 5.60.0 - '@typescript-eslint/visitor-keys': 5.60.0 - - '@typescript-eslint/scope-manager@6.4.1': - dependencies: - '@typescript-eslint/types': 6.4.1 - '@typescript-eslint/visitor-keys': 6.4.1 - - '@typescript-eslint/scope-manager@6.9.1': - dependencies: - '@typescript-eslint/types': 6.9.1 - '@typescript-eslint/visitor-keys': 6.9.1 - - '@typescript-eslint/type-utils@6.4.1(eslint@8.47.0)(typescript@5.2.2)': - dependencies: - '@typescript-eslint/typescript-estree': 6.4.1(typescript@5.2.2) - '@typescript-eslint/utils': 6.4.1(eslint@8.47.0)(typescript@5.2.2) - debug: 4.3.4 - eslint: 8.47.0 - ts-api-utils: 1.0.1(typescript@5.2.2) - optionalDependencies: - typescript: 5.2.2 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/types@5.60.0': {} - - '@typescript-eslint/types@6.4.1': {} - - '@typescript-eslint/types@6.9.1': {} - - '@typescript-eslint/typescript-estree@5.60.0(typescript@5.2.2)': - dependencies: - '@typescript-eslint/types': 5.60.0 - '@typescript-eslint/visitor-keys': 5.60.0 - debug: 4.3.4 - globby: 11.1.0 - is-glob: 4.0.3 - semver: 7.5.4 - tsutils: 3.21.0(typescript@5.2.2) - optionalDependencies: - typescript: 5.2.2 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/typescript-estree@6.4.1(typescript@5.2.2)': - dependencies: - '@typescript-eslint/types': 6.4.1 - '@typescript-eslint/visitor-keys': 6.4.1 - debug: 4.3.4 - globby: 11.1.0 - is-glob: 4.0.3 - semver: 7.5.4 - ts-api-utils: 1.0.1(typescript@5.2.2) - optionalDependencies: - typescript: 5.2.2 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/typescript-estree@6.9.1(typescript@5.2.2)': - dependencies: - '@typescript-eslint/types': 6.9.1 - '@typescript-eslint/visitor-keys': 6.9.1 - debug: 4.3.4 - globby: 11.1.0 - is-glob: 4.0.3 - semver: 7.5.4 - ts-api-utils: 1.0.1(typescript@5.2.2) - optionalDependencies: - typescript: 5.2.2 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/utils@5.60.0(eslint@8.47.0)(typescript@5.2.2)': - dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.47.0) - '@types/json-schema': 7.0.12 - '@types/semver': 7.5.0 - '@typescript-eslint/scope-manager': 5.60.0 - '@typescript-eslint/types': 5.60.0 - '@typescript-eslint/typescript-estree': 5.60.0(typescript@5.2.2) - eslint: 8.47.0 - eslint-scope: 5.1.1 - semver: 7.5.4 - transitivePeerDependencies: - - supports-color - - typescript - - '@typescript-eslint/utils@6.4.1(eslint@8.47.0)(typescript@5.2.2)': - dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.47.0) - '@types/json-schema': 7.0.12 - '@types/semver': 7.5.0 - '@typescript-eslint/scope-manager': 6.4.1 - '@typescript-eslint/types': 6.4.1 - '@typescript-eslint/typescript-estree': 6.4.1(typescript@5.2.2) - eslint: 8.47.0 - semver: 7.5.4 - transitivePeerDependencies: - - supports-color - - typescript - - '@typescript-eslint/utils@6.9.1(eslint@8.47.0)(typescript@5.2.2)': - dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.47.0) - '@types/json-schema': 7.0.12 - '@types/semver': 7.5.0 - '@typescript-eslint/scope-manager': 6.9.1 - '@typescript-eslint/types': 6.9.1 - '@typescript-eslint/typescript-estree': 6.9.1(typescript@5.2.2) - eslint: 8.47.0 - semver: 7.5.4 - transitivePeerDependencies: - - supports-color - - typescript - - '@typescript-eslint/visitor-keys@5.60.0': - dependencies: - '@typescript-eslint/types': 5.60.0 - eslint-visitor-keys: 3.4.3 - - '@typescript-eslint/visitor-keys@6.4.1': - dependencies: - '@typescript-eslint/types': 6.4.1 - eslint-visitor-keys: 3.4.3 - - '@typescript-eslint/visitor-keys@6.9.1': - dependencies: - '@typescript-eslint/types': 6.9.1 - eslint-visitor-keys: 3.4.3 - - '@unhead/dom@0.5.1': - dependencies: - '@unhead/schema': 0.5.1 - - '@unhead/schema@0.5.1': - dependencies: - '@zhead/schema': 1.0.0-beta.13 - hookable: 5.5.3 - - '@unhead/ssr@0.5.1': - dependencies: - '@unhead/schema': 0.5.1 - - '@unhead/vue@0.5.1(typescript@5.2.2)(vue@3.3.4)': - dependencies: - '@unhead/dom': 0.5.1 - '@unhead/schema': 0.5.1 - '@vueuse/shared': 12.0.0(typescript@5.2.2) - unhead: 0.5.1 - vue: 3.3.4 - transitivePeerDependencies: - - typescript - - '@unocss/astro@0.65.1(rollup@2.79.2)(vite@4.4.9(@types/node@18.15.11)(less@4.1.3)(terser@5.37.0))(vue@3.3.4)': - dependencies: - '@unocss/core': 0.65.1 - '@unocss/reset': 0.65.1 - '@unocss/vite': 0.65.1(rollup@2.79.2)(vite@4.4.9(@types/node@18.15.11)(less@4.1.3)(terser@5.37.0))(vue@3.3.4) - optionalDependencies: - vite: 4.4.9(@types/node@18.15.11)(less@4.1.3)(terser@5.37.0) - transitivePeerDependencies: - - rollup - - supports-color - - vue - - '@unocss/cli@0.65.1(rollup@2.79.2)': - dependencies: - '@ampproject/remapping': 2.3.0 - '@rollup/pluginutils': 5.1.3(rollup@2.79.2) - '@unocss/config': 0.65.1 - '@unocss/core': 0.65.1 - '@unocss/preset-uno': 0.65.1 - cac: 6.7.14 - chokidar: 3.6.0 - colorette: 2.0.20 - consola: 3.2.3 - magic-string: 0.30.15 - pathe: 1.1.2 - perfect-debounce: 1.0.0 - tinyglobby: 0.2.10 - transitivePeerDependencies: - - rollup - - supports-color - - '@unocss/config@0.57.1': - dependencies: - '@unocss/core': 0.57.1 - unconfig: 0.3.11 - - '@unocss/config@0.65.1': - dependencies: - '@unocss/core': 0.65.1 - unconfig: 0.5.5 - transitivePeerDependencies: - - supports-color - - '@unocss/core@0.31.17': {} - - '@unocss/core@0.57.1': {} - - '@unocss/core@0.65.1': {} - - '@unocss/eslint-config@0.57.1(eslint@8.47.0)(typescript@5.2.2)': - dependencies: - '@unocss/eslint-plugin': 0.57.1(eslint@8.47.0)(typescript@5.2.2) - transitivePeerDependencies: - - eslint - - supports-color - - typescript - - '@unocss/eslint-plugin@0.57.1(eslint@8.47.0)(typescript@5.2.2)': - dependencies: - '@typescript-eslint/utils': 6.9.1(eslint@8.47.0)(typescript@5.2.2) - '@unocss/config': 0.57.1 - '@unocss/core': 0.57.1 - magic-string: 0.30.5 - synckit: 0.8.5 - transitivePeerDependencies: - - eslint - - supports-color - - typescript - - '@unocss/extractor-arbitrary-variants@0.65.1': - dependencies: - '@unocss/core': 0.65.1 - - '@unocss/inspector@0.65.1(vue@3.3.4)': - dependencies: - '@unocss/core': 0.65.1 - '@unocss/rule-utils': 0.65.1 - gzip-size: 6.0.0 - sirv: 2.0.4 - vue-flow-layout: 0.1.1(vue@3.3.4) - transitivePeerDependencies: - - vue - - '@unocss/postcss@0.65.1(postcss@8.4.49)': - dependencies: - '@unocss/config': 0.65.1 - '@unocss/core': 0.65.1 - '@unocss/rule-utils': 0.65.1 - css-tree: 3.1.0 - postcss: 8.4.49 - tinyglobby: 0.2.10 - transitivePeerDependencies: - - supports-color - - '@unocss/preset-attributify@0.65.1': - dependencies: - '@unocss/core': 0.65.1 - - '@unocss/preset-icons@0.65.1': - dependencies: - '@iconify/utils': 2.2.0 - '@unocss/core': 0.65.1 - ofetch: 1.4.1 - transitivePeerDependencies: - - supports-color - - '@unocss/preset-mini@0.31.17': - dependencies: - '@unocss/core': 0.31.17 - - '@unocss/preset-mini@0.65.1': - dependencies: - '@unocss/core': 0.65.1 - '@unocss/extractor-arbitrary-variants': 0.65.1 - '@unocss/rule-utils': 0.65.1 - - '@unocss/preset-tagify@0.65.1': - dependencies: - '@unocss/core': 0.65.1 - - '@unocss/preset-typography@0.65.1': - dependencies: - '@unocss/core': 0.65.1 - '@unocss/preset-mini': 0.65.1 - - '@unocss/preset-uno@0.65.1': - dependencies: - '@unocss/core': 0.65.1 - '@unocss/preset-mini': 0.65.1 - '@unocss/preset-wind': 0.65.1 - '@unocss/rule-utils': 0.65.1 - - '@unocss/preset-web-fonts@0.65.1': - dependencies: - '@unocss/core': 0.65.1 - ofetch: 1.4.1 - - '@unocss/preset-wind@0.65.1': - dependencies: - '@unocss/core': 0.65.1 - '@unocss/preset-mini': 0.65.1 - '@unocss/rule-utils': 0.65.1 - - '@unocss/reset@0.65.1': {} - - '@unocss/rule-utils@0.65.1': - dependencies: - '@unocss/core': 0.65.1 - magic-string: 0.30.15 - - '@unocss/transformer-attributify-jsx@0.65.1': - dependencies: - '@unocss/core': 0.65.1 - - '@unocss/transformer-compile-class@0.65.1': - dependencies: - '@unocss/core': 0.65.1 - - '@unocss/transformer-directives@0.65.1': - dependencies: - '@unocss/core': 0.65.1 - '@unocss/rule-utils': 0.65.1 - css-tree: 3.1.0 - - '@unocss/transformer-variant-group@0.65.1': - dependencies: - '@unocss/core': 0.65.1 - - '@unocss/vite@0.65.1(rollup@2.79.2)(vite@4.4.9(@types/node@18.15.11)(less@4.1.3)(terser@5.37.0))(vue@3.3.4)': - dependencies: - '@ampproject/remapping': 2.3.0 - '@rollup/pluginutils': 5.1.3(rollup@2.79.2) - '@unocss/config': 0.65.1 - '@unocss/core': 0.65.1 - '@unocss/inspector': 0.65.1(vue@3.3.4) - chokidar: 3.6.0 - magic-string: 0.30.15 - tinyglobby: 0.2.10 - vite: 4.4.9(@types/node@18.15.11)(less@4.1.3)(terser@5.37.0) - transitivePeerDependencies: - - rollup - - supports-color - - vue - - '@vicons/material@0.12.0': {} - - '@vicons/tabler@0.12.0': {} - - '@vitejs/plugin-vue-jsx@3.0.2(vite@4.4.9(@types/node@18.15.11)(less@4.1.3)(terser@5.37.0))(vue@3.3.4)': - dependencies: - '@babel/core': 7.22.10 - '@babel/plugin-transform-typescript': 7.22.10(@babel/core@7.22.10) - '@vue/babel-plugin-jsx': 1.1.5(@babel/core@7.22.10) - vite: 4.4.9(@types/node@18.15.11)(less@4.1.3)(terser@5.37.0) - vue: 3.3.4 - transitivePeerDependencies: - - supports-color - - '@vitejs/plugin-vue@4.3.2(vite@4.4.9(@types/node@18.15.11)(less@4.1.3)(terser@5.37.0))(vue@3.3.4)': - dependencies: - vite: 4.4.9(@types/node@18.15.11)(less@4.1.3)(terser@5.37.0) - vue: 3.3.4 - - '@vitest/expect@0.34.0': - dependencies: - '@vitest/spy': 0.34.0 - '@vitest/utils': 0.34.0 - chai: 4.3.7 - - '@vitest/runner@0.34.0': - dependencies: - '@vitest/utils': 0.34.0 - p-limit: 4.0.0 - pathe: 1.1.1 - - '@vitest/snapshot@0.34.0': - dependencies: - magic-string: 0.30.2 - pathe: 1.1.1 - pretty-format: 29.6.2 - - '@vitest/spy@0.34.0': - dependencies: - tinyspy: 2.1.1 - - '@vitest/utils@0.34.0': - dependencies: - diff-sequences: 29.4.3 - loupe: 2.3.6 - pretty-format: 29.6.2 - - '@volar/language-core@1.7.8': - dependencies: - '@volar/source-map': 1.7.8 - - '@volar/source-map@1.7.8': - dependencies: - muggle-string: 0.3.1 - - '@volar/typescript@1.7.8': - dependencies: - '@volar/language-core': 1.7.8 - - '@vue/babel-helper-vue-transform-on@1.1.5': {} - - '@vue/babel-plugin-jsx@1.1.5(@babel/core@7.22.10)': - dependencies: - '@babel/core': 7.22.10 - '@babel/helper-module-imports': 7.22.5 - '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.22.10) - '@babel/template': 7.22.5 - '@babel/traverse': 7.22.5 - '@babel/types': 7.22.5 - '@vue/babel-helper-vue-transform-on': 1.1.5 - camelcase: 6.3.0 - html-tags: 3.3.1 - svg-tags: 1.0.0 - transitivePeerDependencies: - - supports-color - - '@vue/compiler-core@3.2.47': - dependencies: - '@babel/parser': 7.22.5 - '@vue/shared': 3.2.47 - estree-walker: 2.0.2 - source-map: 0.6.1 - - '@vue/compiler-core@3.3.4': - dependencies: - '@babel/parser': 7.22.10 - '@vue/shared': 3.3.4 - estree-walker: 2.0.2 - source-map-js: 1.0.2 - - '@vue/compiler-core@3.3.7': - dependencies: - '@babel/parser': 7.23.0 - '@vue/shared': 3.3.7 - estree-walker: 2.0.2 - source-map-js: 1.0.2 - optional: true - - '@vue/compiler-core@3.5.13': - dependencies: - '@babel/parser': 7.26.3 - '@vue/shared': 3.5.13 - entities: 4.5.0 - estree-walker: 2.0.2 - source-map-js: 1.2.1 - - '@vue/compiler-dom@3.2.47': - dependencies: - '@vue/compiler-core': 3.2.47 - '@vue/shared': 3.2.47 - - '@vue/compiler-dom@3.3.4': - dependencies: - '@vue/compiler-core': 3.3.4 - '@vue/shared': 3.3.4 - - '@vue/compiler-dom@3.3.7': - dependencies: - '@vue/compiler-core': 3.3.7 - '@vue/shared': 3.3.7 - optional: true - - '@vue/compiler-dom@3.5.13': - dependencies: - '@vue/compiler-core': 3.5.13 - '@vue/shared': 3.5.13 - - '@vue/compiler-sfc@3.2.47': - dependencies: - '@babel/parser': 7.21.4 - '@vue/compiler-core': 3.2.47 - '@vue/compiler-dom': 3.2.47 - '@vue/compiler-ssr': 3.2.47 - '@vue/reactivity-transform': 3.2.47 - '@vue/shared': 3.2.47 - estree-walker: 2.0.2 - magic-string: 0.25.9 - postcss: 8.4.21 - source-map: 0.6.1 - - '@vue/compiler-sfc@3.3.4': - dependencies: - '@babel/parser': 7.22.10 - '@vue/compiler-core': 3.3.4 - '@vue/compiler-dom': 3.3.4 - '@vue/compiler-ssr': 3.3.4 - '@vue/reactivity-transform': 3.3.4 - '@vue/shared': 3.3.4 - estree-walker: 2.0.2 - magic-string: 0.30.2 - postcss: 8.4.28 - source-map-js: 1.0.2 - - '@vue/compiler-sfc@3.5.13': - dependencies: - '@babel/parser': 7.26.3 - '@vue/compiler-core': 3.5.13 - '@vue/compiler-dom': 3.5.13 - '@vue/compiler-ssr': 3.5.13 - '@vue/shared': 3.5.13 - estree-walker: 2.0.2 - magic-string: 0.30.15 - postcss: 8.4.49 - source-map-js: 1.2.1 - - '@vue/compiler-ssr@3.2.47': - dependencies: - '@vue/compiler-dom': 3.2.47 - '@vue/shared': 3.2.47 - - '@vue/compiler-ssr@3.3.4': - dependencies: - '@vue/compiler-dom': 3.3.4 - '@vue/shared': 3.3.4 - - '@vue/compiler-ssr@3.3.7': - dependencies: - '@vue/compiler-dom': 3.3.7 - '@vue/shared': 3.3.7 - optional: true - - '@vue/compiler-ssr@3.5.13': - dependencies: - '@vue/compiler-dom': 3.5.13 - '@vue/shared': 3.5.13 - - '@vue/devtools-api@6.5.0': {} - - '@vue/language-core@1.8.1(typescript@5.2.2)': - dependencies: - '@volar/language-core': 1.7.8 - '@volar/source-map': 1.7.8 - '@vue/compiler-dom': 3.3.4 - '@vue/reactivity': 3.3.4 - '@vue/shared': 3.3.4 - minimatch: 9.0.1 - muggle-string: 0.3.1 - vue-template-compiler: 2.7.14 - optionalDependencies: - typescript: 5.2.2 - - '@vue/reactivity-transform@3.2.47': - dependencies: - '@babel/parser': 7.22.5 - '@vue/compiler-core': 3.2.47 - '@vue/shared': 3.2.47 - estree-walker: 2.0.2 - magic-string: 0.25.9 - - '@vue/reactivity-transform@3.3.4': - dependencies: - '@babel/parser': 7.22.10 - '@vue/compiler-core': 3.3.4 - '@vue/shared': 3.3.4 - estree-walker: 2.0.2 - magic-string: 0.30.2 - - '@vue/reactivity@3.3.4': - dependencies: - '@vue/shared': 3.3.4 - - '@vue/reactivity@3.5.13': - dependencies: - '@vue/shared': 3.5.13 - - '@vue/runtime-core@3.3.4': - dependencies: - '@vue/reactivity': 3.3.4 - '@vue/shared': 3.3.4 - - '@vue/runtime-core@3.5.13': - dependencies: - '@vue/reactivity': 3.5.13 - '@vue/shared': 3.5.13 - - '@vue/runtime-dom@3.3.4': - dependencies: - '@vue/runtime-core': 3.3.4 - '@vue/shared': 3.3.4 - csstype: 3.1.2 - - '@vue/runtime-dom@3.5.13': - dependencies: - '@vue/reactivity': 3.5.13 - '@vue/runtime-core': 3.5.13 - '@vue/shared': 3.5.13 - csstype: 3.1.3 - - '@vue/server-renderer@3.3.4(vue@3.3.4)': - dependencies: - '@vue/compiler-ssr': 3.3.4 - '@vue/shared': 3.3.4 - vue: 3.3.4 - - '@vue/server-renderer@3.3.7(vue@3.3.4)': - dependencies: - '@vue/compiler-ssr': 3.3.7 - '@vue/shared': 3.3.7 - vue: 3.3.4 - optional: true - - '@vue/server-renderer@3.5.13(vue@3.5.13(typescript@5.2.2))': - dependencies: - '@vue/compiler-ssr': 3.5.13 - '@vue/shared': 3.5.13 - vue: 3.5.13(typescript@5.2.2) - - '@vue/shared@3.2.47': {} - - '@vue/shared@3.3.4': {} - - '@vue/shared@3.3.7': - optional: true - - '@vue/shared@3.5.13': {} - - '@vue/test-utils@2.3.2(vue@3.3.4)': - dependencies: - js-beautify: 1.14.6 - vue: 3.3.4 - optionalDependencies: - '@vue/compiler-dom': 3.3.7 - '@vue/server-renderer': 3.3.7(vue@3.3.4) - - '@vue/tsconfig@0.4.0': {} - - '@vue/typescript@1.8.1(typescript@5.2.2)': - dependencies: - '@volar/typescript': 1.7.8 - '@vue/language-core': 1.8.1(typescript@5.2.2) - transitivePeerDependencies: - - typescript - - '@vueuse/core@10.3.0(vue@3.3.4)': - dependencies: - '@types/web-bluetooth': 0.0.17 - '@vueuse/metadata': 10.3.0 - '@vueuse/shared': 10.3.0(vue@3.3.4) - vue-demi: 0.14.5(vue@3.3.4) - transitivePeerDependencies: - - '@vue/composition-api' - - vue - - '@vueuse/head@1.0.0(typescript@5.2.2)(vue@3.3.4)': - dependencies: - '@unhead/schema': 0.5.1 - '@unhead/ssr': 0.5.1 - '@unhead/vue': 0.5.1(typescript@5.2.2)(vue@3.3.4) - vue: 3.3.4 - transitivePeerDependencies: - - typescript - - '@vueuse/metadata@10.3.0': {} - - '@vueuse/router@10.0.0(vue-router@4.1.6(vue@3.3.4))(vue@3.3.4)': - dependencies: - '@vueuse/shared': 10.0.0(vue@3.3.4) - vue-demi: 0.14.5(vue@3.3.4) - vue-router: 4.1.6(vue@3.3.4) - transitivePeerDependencies: - - '@vue/composition-api' - - vue - - '@vueuse/shared@10.0.0(vue@3.3.4)': - dependencies: - vue-demi: 0.14.5(vue@3.3.4) - transitivePeerDependencies: - - '@vue/composition-api' - - vue - - '@vueuse/shared@10.3.0(vue@3.3.4)': - dependencies: - vue-demi: 0.14.5(vue@3.3.4) - transitivePeerDependencies: - - '@vue/composition-api' - - vue - - '@vueuse/shared@12.0.0(typescript@5.2.2)': - dependencies: - vue: 3.5.13(typescript@5.2.2) - transitivePeerDependencies: - - typescript - - '@zhead/schema@1.0.0-beta.13': {} - - abab@2.0.6: {} - - abbrev@1.1.1: {} - - acorn-jsx@5.3.2(acorn@8.10.0): - dependencies: - acorn: 8.10.0 - - acorn-walk@8.2.0: {} - - acorn@8.10.0: {} - - acorn@8.11.2: {} - - acorn@8.14.0: {} - - acorn@8.9.0: {} - - agent-base@6.0.2: - dependencies: - debug: 4.3.4 - transitivePeerDependencies: - - supports-color - - ajv@6.12.6: - dependencies: - fast-deep-equal: 3.1.3 - fast-json-stable-stringify: 2.1.0 - json-schema-traverse: 0.4.1 - uri-js: 4.4.1 - - ajv@8.17.1: - dependencies: - fast-deep-equal: 3.1.3 - fast-uri: 3.0.3 - json-schema-traverse: 1.0.0 - require-from-string: 2.0.2 - - ansi-colors@4.1.3: {} - - ansi-regex@5.0.1: {} - - ansi-styles@3.2.1: - dependencies: - color-convert: 1.9.3 - - ansi-styles@4.3.0: - dependencies: - color-convert: 2.0.1 - - ansi-styles@5.2.0: {} - - anymatch@3.1.3: - dependencies: - normalize-path: 3.0.0 - picomatch: 2.3.1 - - argparse@1.0.10: - dependencies: - sprintf-js: 1.0.3 - - argparse@2.0.1: {} - - array-buffer-byte-length@1.0.1: - dependencies: - call-bind: 1.0.8 - is-array-buffer: 3.0.4 - - array-union@2.1.0: {} - - arraybuffer.prototype.slice@1.0.3: - dependencies: - array-buffer-byte-length: 1.0.1 - call-bind: 1.0.8 - define-properties: 1.2.1 - es-abstract: 1.23.5 - es-errors: 1.3.0 - get-intrinsic: 1.2.6 - is-array-buffer: 3.0.4 - is-shared-array-buffer: 1.0.3 - - assertion-error@1.1.0: {} - - async-validator@4.2.5: {} - - async@3.2.4: {} - - async@3.2.6: {} - - asynckit@0.4.0: {} - - at-least-node@1.0.0: {} - - available-typed-arrays@1.0.7: - dependencies: - possible-typed-array-names: 1.0.0 - - babel-merge@3.0.0(@babel/core@7.23.2): - dependencies: - '@babel/core': 7.23.2 - deepmerge: 2.2.1 - object.omit: 3.0.0 - - babel-plugin-polyfill-corejs2@0.4.12(@babel/core@7.26.0): - dependencies: - '@babel/compat-data': 7.26.3 - '@babel/core': 7.26.0 - '@babel/helper-define-polyfill-provider': 0.6.3(@babel/core@7.26.0) - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - - babel-plugin-polyfill-corejs3@0.10.6(@babel/core@7.26.0): - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-define-polyfill-provider': 0.6.3(@babel/core@7.26.0) - core-js-compat: 3.39.0 - transitivePeerDependencies: - - supports-color - - babel-plugin-polyfill-regenerator@0.6.3(@babel/core@7.26.0): - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-define-polyfill-provider': 0.6.3(@babel/core@7.26.0) - transitivePeerDependencies: - - supports-color - - balanced-match@1.0.2: {} - - base64-js@1.5.1: {} - - bcryptjs@2.4.3: {} - - binary-extensions@2.2.0: {} - - bl@4.1.0: - dependencies: - buffer: 5.7.1 - inherits: 2.0.4 - readable-stream: 3.6.2 - - boolbase@1.0.0: {} - - brace-expansion@1.1.11: - dependencies: - balanced-match: 1.0.2 - concat-map: 0.0.1 - - brace-expansion@2.0.1: - dependencies: - balanced-match: 1.0.2 - - braces@3.0.2: - dependencies: - fill-range: 7.0.1 - - braces@3.0.3: - dependencies: - fill-range: 7.1.1 - - browserslist@4.21.9: - dependencies: - caniuse-lite: 1.0.30001504 - electron-to-chromium: 1.4.433 - node-releases: 2.0.12 - update-browserslist-db: 1.0.11(browserslist@4.21.9) - - browserslist@4.22.1: - dependencies: - caniuse-lite: 1.0.30001559 - electron-to-chromium: 1.4.572 - node-releases: 2.0.13 - update-browserslist-db: 1.0.13(browserslist@4.22.1) - - browserslist@4.24.3: - dependencies: - caniuse-lite: 1.0.30001688 - electron-to-chromium: 1.5.73 - node-releases: 2.0.19 - update-browserslist-db: 1.1.1(browserslist@4.24.3) - - buffer-from@1.1.2: {} - - buffer@5.7.1: - dependencies: - base64-js: 1.5.1 - ieee754: 1.2.1 - - builtin-modules@3.3.0: {} - - builtins@5.0.1: - dependencies: - semver: 7.5.4 - - bundle-require@5.0.0(esbuild@0.23.1): - dependencies: - esbuild: 0.23.1 - load-tsconfig: 0.2.5 - - cac@6.7.14: {} - - call-bind-apply-helpers@1.0.1: - dependencies: - es-errors: 1.3.0 - function-bind: 1.1.2 - - call-bind@1.0.8: - dependencies: - call-bind-apply-helpers: 1.0.1 - es-define-property: 1.0.1 - get-intrinsic: 1.2.6 - set-function-length: 1.2.2 - - call-bound@1.0.2: - dependencies: - call-bind: 1.0.8 - get-intrinsic: 1.2.6 - - callsites@3.1.0: {} - - camel-case@3.0.0: - dependencies: - no-case: 2.3.2 - upper-case: 1.1.3 - - camel-case@4.1.2: - dependencies: - pascal-case: 3.1.2 - tslib: 2.5.0 - - camelcase@5.3.1: {} - - camelcase@6.3.0: {} - - caniuse-lite@1.0.30001504: {} - - caniuse-lite@1.0.30001559: {} - - caniuse-lite@1.0.30001688: {} - - capital-case@1.0.4: - dependencies: - no-case: 3.0.4 - tslib: 2.5.0 - upper-case-first: 2.0.2 - - case-anything@2.1.13: {} - - chai@4.3.7: - dependencies: - assertion-error: 1.1.0 - check-error: 1.0.2 - deep-eql: 4.1.3 - get-func-name: 2.0.0 - loupe: 2.3.6 - pathval: 1.1.1 - type-detect: 4.0.8 - - chalk@2.4.2: - dependencies: - ansi-styles: 3.2.1 - escape-string-regexp: 1.0.5 - supports-color: 5.5.0 - - chalk@4.1.2: - dependencies: - ansi-styles: 4.3.0 - supports-color: 7.2.0 - - chalk@5.2.0: {} - - change-case@3.1.0: - dependencies: - camel-case: 3.0.0 - constant-case: 2.0.0 - dot-case: 2.1.1 - header-case: 1.0.1 - is-lower-case: 1.1.3 - is-upper-case: 1.1.2 - lower-case: 1.1.4 - lower-case-first: 1.0.2 - no-case: 2.3.2 - param-case: 2.1.1 - pascal-case: 2.0.1 - path-case: 2.1.1 - sentence-case: 2.1.1 - snake-case: 2.1.0 - swap-case: 1.1.2 - title-case: 2.1.1 - upper-case: 1.1.3 - upper-case-first: 1.1.2 - - change-case@4.1.2: - dependencies: - camel-case: 4.1.2 - capital-case: 1.0.4 - constant-case: 3.0.4 - dot-case: 3.0.4 - header-case: 2.0.4 - no-case: 3.0.4 - param-case: 3.0.4 - pascal-case: 3.1.2 - path-case: 3.0.4 - sentence-case: 3.0.4 - snake-case: 3.0.4 - tslib: 2.5.0 - - character-entities-legacy@1.1.4: {} - - character-entities@1.2.4: {} - - character-reference-invalid@1.1.4: {} - - check-error@1.0.2: {} - - chokidar@3.5.3: - dependencies: - anymatch: 3.1.3 - braces: 3.0.2 - glob-parent: 5.1.2 - is-binary-path: 2.1.0 - is-glob: 4.0.3 - normalize-path: 3.0.0 - readdirp: 3.6.0 - optionalDependencies: - fsevents: 2.3.3 - - chokidar@3.6.0: - dependencies: - anymatch: 3.1.3 - braces: 3.0.3 - glob-parent: 5.1.2 - is-binary-path: 2.1.0 - is-glob: 4.0.3 - normalize-path: 3.0.0 - readdirp: 3.6.0 - optionalDependencies: - fsevents: 2.3.3 - - ci-info@3.8.0: {} - - clean-regexp@1.0.0: - dependencies: - escape-string-regexp: 1.0.5 - - cli-cursor@3.1.0: - dependencies: - restore-cursor: 3.1.0 - - cli-spinners@2.9.1: {} - - cliui@6.0.0: - dependencies: - string-width: 4.2.3 - strip-ansi: 6.0.1 - wrap-ansi: 6.2.0 - - clone@1.0.4: {} - - color-convert@1.9.3: - dependencies: - color-name: 1.1.3 - - color-convert@2.0.1: - dependencies: - color-name: 1.1.4 - - color-name@1.1.3: {} - - color-name@1.1.4: {} - - colord@2.9.3: {} - - colorette@2.0.20: {} - - combined-stream@1.0.8: - dependencies: - delayed-stream: 1.0.0 - - commander@10.0.0: {} - - commander@2.20.3: {} - - commander@7.2.0: {} - - common-tags@1.8.2: {} - - complex.js@2.1.1: {} - - composerize-ts@0.6.2: - dependencies: - commander: 10.0.0 - deepmerge-ts: 5.1.0 - flex-js: 1.0.5 - ip-cidr: 3.1.0 - set-value: 4.1.0 - yamljs: 0.3.0 - - concat-map@0.0.1: {} - - confbox@0.1.8: {} - - config-chain@1.1.13: - dependencies: - ini: 1.3.8 - proto-list: 1.2.4 - - consola@3.0.2: {} - - consola@3.2.3: {} - - constant-case@2.0.0: - dependencies: - snake-case: 2.1.0 - upper-case: 1.1.3 - - constant-case@3.0.4: - dependencies: - no-case: 3.0.4 - tslib: 2.5.0 - upper-case: 2.0.2 - - convert-source-map@1.9.0: {} - - convert-source-map@2.0.0: {} - - copy-anything@2.0.6: - dependencies: - is-what: 3.14.1 - - core-js-compat@3.39.0: - dependencies: - browserslist: 4.24.3 - - country-code-lookup@0.1.0: {} - - crelt@1.0.6: {} - - cron-validator@1.3.1: {} - - cronstrue@2.26.0: {} - - cross-spawn@7.0.3: - dependencies: - path-key: 3.1.1 - shebang-command: 2.0.0 - which: 2.0.2 - - crypto-js@4.1.1: {} - - crypto-random-string@2.0.0: {} - - css-render@0.15.12: - dependencies: - '@emotion/hash': 0.8.0 - csstype: 3.0.11 - - css-select@5.1.0: - dependencies: - boolbase: 1.0.0 - css-what: 6.1.0 - domhandler: 5.0.3 - domutils: 3.1.0 - nth-check: 2.1.1 - - css-tree@2.2.1: - dependencies: - mdn-data: 2.0.28 - source-map-js: 1.0.2 - - css-tree@2.3.1: - dependencies: - mdn-data: 2.0.30 - source-map-js: 1.0.2 - - css-tree@3.1.0: - dependencies: - mdn-data: 2.12.2 - source-map-js: 1.2.1 - - css-what@6.1.0: {} - - cssesc@3.0.0: {} - - csso@5.0.5: - dependencies: - css-tree: 2.2.1 - - cssstyle@3.0.0: - dependencies: - rrweb-cssom: 0.6.0 - - csstype@3.0.11: {} - - csstype@3.1.2: {} - - csstype@3.1.3: {} - - dash-get@1.0.2: {} - - data-uri-to-buffer@4.0.1: {} - - data-urls@4.0.0: - dependencies: - abab: 2.0.6 - whatwg-mimetype: 3.0.0 - whatwg-url: 12.0.1 - - data-view-buffer@1.0.1: - dependencies: - call-bind: 1.0.8 - es-errors: 1.3.0 - is-data-view: 1.0.2 - - data-view-byte-length@1.0.1: - dependencies: - call-bind: 1.0.8 - es-errors: 1.3.0 - is-data-view: 1.0.2 - - data-view-byte-offset@1.0.0: - dependencies: - call-bind: 1.0.8 - es-errors: 1.3.0 - is-data-view: 1.0.2 - - date-fns-tz@2.0.0(date-fns@2.30.0): - dependencies: - date-fns: 2.30.0 - - date-fns@2.29.3: {} - - date-fns@2.30.0: - dependencies: - '@babel/runtime': 7.23.2 - - de-indent@1.0.2: {} - - debug@3.2.7: - dependencies: - ms: 2.1.3 - - debug@4.3.4: - dependencies: - ms: 2.1.2 - - debug@4.4.0: - dependencies: - ms: 2.1.3 - - decamelize@1.2.0: {} - - decimal.js@10.4.3: {} - - deep-eql@4.1.3: - dependencies: - type-detect: 4.0.8 - - deep-is@0.1.4: {} - - deepmerge-ts@5.1.0: {} - - deepmerge@2.2.1: {} - - deepmerge@4.3.1: {} - - defaults@1.0.4: - dependencies: - clone: 1.0.4 - - define-data-property@1.1.4: - dependencies: - es-define-property: 1.0.1 - es-errors: 1.3.0 - gopd: 1.2.0 - - define-lazy-prop@2.0.0: {} - - define-properties@1.2.1: - dependencies: - define-data-property: 1.1.4 - has-property-descriptors: 1.0.2 - object-keys: 1.1.1 - - defu@6.1.2: {} - - defu@6.1.4: {} - - degit@2.8.4: {} - - delayed-stream@1.0.0: {} - - destr@2.0.3: {} - - diff-sequences@29.4.3: {} - - dijkstrajs@1.0.2: {} - - dir-glob@3.0.1: - dependencies: - path-type: 4.0.0 - - discontinuous-range@1.0.0: {} - - doctrine@2.1.0: - dependencies: - esutils: 2.0.3 - - doctrine@3.0.0: - dependencies: - esutils: 2.0.3 - - dom-serializer@2.0.0: - dependencies: - domelementtype: 2.3.0 - domhandler: 5.0.3 - entities: 4.5.0 - - domelementtype@2.3.0: {} - - domexception@4.0.0: - dependencies: - webidl-conversions: 7.0.0 - - domhandler@5.0.3: - dependencies: - domelementtype: 2.3.0 - - dompurify@3.0.6: {} - - domutils@3.1.0: - dependencies: - dom-serializer: 2.0.0 - domelementtype: 2.3.0 - domhandler: 5.0.3 - - dot-case@2.1.1: - dependencies: - no-case: 2.3.2 - - dot-case@3.0.4: - dependencies: - no-case: 3.0.4 - tslib: 2.5.0 - - drange@1.1.1: {} - - dunder-proto@1.0.0: - dependencies: - call-bind-apply-helpers: 1.0.1 - es-errors: 1.3.0 - gopd: 1.2.0 - - duplexer@0.1.2: {} - - editorconfig@0.15.3: - dependencies: - commander: 2.20.3 - lru-cache: 4.1.5 - semver: 5.7.2 - sigmund: 1.0.1 - - ejs@3.1.10: - dependencies: - jake: 10.9.2 - - ejs@3.1.9: - dependencies: - jake: 10.8.7 - - electron-to-chromium@1.4.433: {} - - electron-to-chromium@1.4.572: {} - - electron-to-chromium@1.5.73: {} - - email-normalizer@1.0.0: - dependencies: - typescript: 5.5.4 - - emitter-component@1.1.1: {} - - emoji-regex@8.0.0: {} - - emojilib@3.0.10: {} - - encode-utf8@1.0.3: {} - - enquirer@2.4.1: - dependencies: - ansi-colors: 4.1.3 - strip-ansi: 6.0.1 - - entities@3.0.1: {} - - entities@4.5.0: {} - - errno@0.1.8: - dependencies: - prr: 1.0.1 - optional: true - - error-ex@1.3.2: - dependencies: - is-arrayish: 0.2.1 - - es-abstract@1.23.5: - dependencies: - array-buffer-byte-length: 1.0.1 - arraybuffer.prototype.slice: 1.0.3 - available-typed-arrays: 1.0.7 - call-bind: 1.0.8 - data-view-buffer: 1.0.1 - data-view-byte-length: 1.0.1 - data-view-byte-offset: 1.0.0 - es-define-property: 1.0.1 - es-errors: 1.3.0 - es-object-atoms: 1.0.0 - es-set-tostringtag: 2.0.3 - es-to-primitive: 1.3.0 - function.prototype.name: 1.1.6 - get-intrinsic: 1.2.6 - get-symbol-description: 1.0.2 - globalthis: 1.0.4 - gopd: 1.2.0 - has-property-descriptors: 1.0.2 - has-proto: 1.2.0 - has-symbols: 1.1.0 - hasown: 2.0.2 - internal-slot: 1.1.0 - is-array-buffer: 3.0.4 - is-callable: 1.2.7 - is-data-view: 1.0.2 - is-negative-zero: 2.0.3 - is-regex: 1.2.1 - is-shared-array-buffer: 1.0.3 - is-string: 1.1.0 - is-typed-array: 1.1.13 - is-weakref: 1.1.0 - object-inspect: 1.13.3 - object-keys: 1.1.1 - object.assign: 4.1.5 - regexp.prototype.flags: 1.5.3 - safe-array-concat: 1.1.3 - safe-regex-test: 1.1.0 - string.prototype.trim: 1.2.10 - string.prototype.trimend: 1.0.9 - string.prototype.trimstart: 1.0.8 - typed-array-buffer: 1.0.2 - typed-array-byte-length: 1.0.1 - typed-array-byte-offset: 1.0.3 - typed-array-length: 1.0.7 - unbox-primitive: 1.0.2 - which-typed-array: 1.1.16 - - es-define-property@1.0.1: {} - - es-errors@1.3.0: {} - - es-object-atoms@1.0.0: - dependencies: - es-errors: 1.3.0 - - es-set-tostringtag@2.0.3: - dependencies: - get-intrinsic: 1.2.6 - has-tostringtag: 1.0.2 - hasown: 2.0.2 - - es-to-primitive@1.3.0: - dependencies: - is-callable: 1.2.7 - is-date-object: 1.1.0 - is-symbol: 1.1.1 - - esbuild@0.18.20: - optionalDependencies: - '@esbuild/android-arm': 0.18.20 - '@esbuild/android-arm64': 0.18.20 - '@esbuild/android-x64': 0.18.20 - '@esbuild/darwin-arm64': 0.18.20 - '@esbuild/darwin-x64': 0.18.20 - '@esbuild/freebsd-arm64': 0.18.20 - '@esbuild/freebsd-x64': 0.18.20 - '@esbuild/linux-arm': 0.18.20 - '@esbuild/linux-arm64': 0.18.20 - '@esbuild/linux-ia32': 0.18.20 - '@esbuild/linux-loong64': 0.18.20 - '@esbuild/linux-mips64el': 0.18.20 - '@esbuild/linux-ppc64': 0.18.20 - '@esbuild/linux-riscv64': 0.18.20 - '@esbuild/linux-s390x': 0.18.20 - '@esbuild/linux-x64': 0.18.20 - '@esbuild/netbsd-x64': 0.18.20 - '@esbuild/openbsd-x64': 0.18.20 - '@esbuild/sunos-x64': 0.18.20 - '@esbuild/win32-arm64': 0.18.20 - '@esbuild/win32-ia32': 0.18.20 - '@esbuild/win32-x64': 0.18.20 - - esbuild@0.23.1: - optionalDependencies: - '@esbuild/aix-ppc64': 0.23.1 - '@esbuild/android-arm': 0.23.1 - '@esbuild/android-arm64': 0.23.1 - '@esbuild/android-x64': 0.23.1 - '@esbuild/darwin-arm64': 0.23.1 - '@esbuild/darwin-x64': 0.23.1 - '@esbuild/freebsd-arm64': 0.23.1 - '@esbuild/freebsd-x64': 0.23.1 - '@esbuild/linux-arm': 0.23.1 - '@esbuild/linux-arm64': 0.23.1 - '@esbuild/linux-ia32': 0.23.1 - '@esbuild/linux-loong64': 0.23.1 - '@esbuild/linux-mips64el': 0.23.1 - '@esbuild/linux-ppc64': 0.23.1 - '@esbuild/linux-riscv64': 0.23.1 - '@esbuild/linux-s390x': 0.23.1 - '@esbuild/linux-x64': 0.23.1 - '@esbuild/netbsd-x64': 0.23.1 - '@esbuild/openbsd-arm64': 0.23.1 - '@esbuild/openbsd-x64': 0.23.1 - '@esbuild/sunos-x64': 0.23.1 - '@esbuild/win32-arm64': 0.23.1 - '@esbuild/win32-ia32': 0.23.1 - '@esbuild/win32-x64': 0.23.1 - - escalade@3.1.1: {} - - escalade@3.2.0: {} - - escape-latex@1.2.0: {} - - escape-string-regexp@1.0.5: {} - - escape-string-regexp@4.0.0: {} - - escape-string-regexp@5.0.0: {} - - escodegen@2.1.0: - dependencies: - esprima: 4.0.1 - estraverse: 5.3.0 - esutils: 2.0.3 - optionalDependencies: - source-map: 0.6.1 - - eslint-import-resolver-node@0.3.9: dependencies: + '@typescript-eslint/parser': 5.58.0(eslint@8.38.0)(typescript@4.5.5) debug: 3.2.7 - is-core-module: 2.16.0 - resolve: 1.22.9 + eslint: 8.38.0 + eslint-import-resolver-node: 0.3.7 + eslint-import-resolver-typescript: 3.5.5(@typescript-eslint/parser@5.58.0)(eslint-plugin-import@2.27.5)(eslint@8.38.0) transitivePeerDependencies: - supports-color + dev: true - eslint-module-utils@2.12.0(@typescript-eslint/parser@6.4.1(eslint@8.47.0)(typescript@5.2.2))(eslint-import-resolver-node@0.3.9)(eslint@8.47.0): - dependencies: - debug: 3.2.7 - optionalDependencies: - '@typescript-eslint/parser': 6.4.1(eslint@8.47.0)(typescript@5.2.2) - eslint: 8.47.0 - eslint-import-resolver-node: 0.3.9 - transitivePeerDependencies: - - supports-color - - eslint-plugin-antfu@0.41.0(eslint@8.47.0)(typescript@5.2.2): - dependencies: - '@typescript-eslint/utils': 6.4.1(eslint@8.47.0)(typescript@5.2.2) - transitivePeerDependencies: - - eslint - - supports-color - - typescript - - eslint-plugin-es-x@7.2.0(eslint@8.47.0): - dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.47.0) - '@eslint-community/regexpp': 4.6.2 - eslint: 8.47.0 - - eslint-plugin-eslint-comments@3.2.0(eslint@8.47.0): - dependencies: - escape-string-regexp: 1.0.5 - eslint: 8.47.0 - ignore: 5.2.4 - - eslint-plugin-html@7.1.0: - dependencies: - htmlparser2: 8.0.2 - - eslint-plugin-i@2.28.0-2(@typescript-eslint/parser@6.4.1(eslint@8.47.0)(typescript@5.2.2))(eslint@8.47.0): + /eslint-plugin-import@2.27.5(@typescript-eslint/parser@5.58.0)(eslint-import-resolver-typescript@3.5.5)(eslint@8.38.0): + resolution: {integrity: sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==} + engines: {node: '>=4'} + peerDependencies: + '@typescript-eslint/parser': '*' + eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 + peerDependenciesMeta: + '@typescript-eslint/parser': + optional: true dependencies: + '@typescript-eslint/parser': 5.58.0(eslint@8.38.0)(typescript@4.5.5) + array-includes: 3.1.6 + array.prototype.flat: 1.3.1 + array.prototype.flatmap: 1.3.1 debug: 3.2.7 doctrine: 2.1.0 - eslint: 8.47.0 - eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.12.0(@typescript-eslint/parser@6.4.1(eslint@8.47.0)(typescript@5.2.2))(eslint-import-resolver-node@0.3.9)(eslint@8.47.0) - get-tsconfig: 4.8.1 + eslint: 8.38.0 + eslint-import-resolver-node: 0.3.7 + eslint-module-utils: 2.7.4(@typescript-eslint/parser@5.58.0)(eslint-import-resolver-node@0.3.7)(eslint-import-resolver-typescript@3.5.5)(eslint@8.38.0) + has: 1.0.3 + is-core-module: 2.12.0 is-glob: 4.0.3 minimatch: 3.1.2 - resolve: 1.22.9 - semver: 7.6.3 + object.values: 1.1.6 + resolve: 1.22.2 + semver: 6.3.0 + tsconfig-paths: 3.14.2 transitivePeerDependencies: - - '@typescript-eslint/parser' - eslint-import-resolver-typescript - eslint-import-resolver-webpack - supports-color + dev: true - eslint-plugin-jest@27.2.3(@typescript-eslint/eslint-plugin@6.4.1(@typescript-eslint/parser@6.4.1(eslint@8.47.0)(typescript@5.2.2))(eslint@8.47.0)(typescript@5.2.2))(eslint@8.47.0)(typescript@5.2.2): + /eslint-plugin-prettier@4.2.1(eslint-config-prettier@8.8.0)(eslint@8.38.0)(prettier@2.8.7): + resolution: {integrity: sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==} + engines: {node: '>=12.0.0'} + peerDependencies: + eslint: '>=7.28.0' + eslint-config-prettier: '*' + prettier: '>=2.0.0' + peerDependenciesMeta: + eslint-config-prettier: + optional: true dependencies: - '@typescript-eslint/utils': 5.60.0(eslint@8.47.0)(typescript@5.2.2) - eslint: 8.47.0 - optionalDependencies: - '@typescript-eslint/eslint-plugin': 6.4.1(@typescript-eslint/parser@6.4.1(eslint@8.47.0)(typescript@5.2.2))(eslint@8.47.0)(typescript@5.2.2) - transitivePeerDependencies: - - supports-color - - typescript + eslint: 8.38.0 + eslint-config-prettier: 8.8.0(eslint@8.38.0) + prettier: 2.8.7 + prettier-linter-helpers: 1.0.0 + dev: true - eslint-plugin-jsonc@2.9.0(eslint@8.47.0): + /eslint-plugin-vue@8.7.1(eslint@8.38.0): + resolution: {integrity: sha512-28sbtm4l4cOzoO1LtzQPxfxhQABararUb1JtqusQqObJpWX2e/gmVyeYVfepizPFne0Q5cILkYGiBoV36L12Wg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.47.0) - eslint: 8.47.0 - jsonc-eslint-parser: 2.3.0 - natural-compare: 1.4.0 - - eslint-plugin-markdown@3.0.1(eslint@8.47.0): - dependencies: - eslint: 8.47.0 - mdast-util-from-markdown: 0.8.5 - transitivePeerDependencies: - - supports-color - - eslint-plugin-n@16.0.2(eslint@8.47.0): - dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.47.0) - builtins: 5.0.1 - eslint: 8.47.0 - eslint-plugin-es-x: 7.2.0(eslint@8.47.0) - ignore: 5.2.4 - is-core-module: 2.13.0 - minimatch: 3.1.2 - resolve: 1.22.4 - semver: 7.5.4 - - eslint-plugin-no-only-tests@3.1.0: {} - - eslint-plugin-promise@6.1.1(eslint@8.47.0): - dependencies: - eslint: 8.47.0 - - eslint-plugin-unicorn@48.0.1(eslint@8.47.0): - dependencies: - '@babel/helper-validator-identifier': 7.22.5 - '@eslint-community/eslint-utils': 4.4.0(eslint@8.47.0) - ci-info: 3.8.0 - clean-regexp: 1.0.0 - eslint: 8.47.0 - esquery: 1.5.0 - indent-string: 4.0.0 - is-builtin-module: 3.2.1 - jsesc: 3.0.2 - lodash: 4.17.21 - pluralize: 8.0.0 - read-pkg-up: 7.0.1 - regexp-tree: 0.1.27 - regjsparser: 0.10.0 - semver: 7.5.4 - strip-indent: 3.0.0 - - eslint-plugin-unused-imports@3.0.0(@typescript-eslint/eslint-plugin@6.4.1(@typescript-eslint/parser@6.4.1(eslint@8.47.0)(typescript@5.2.2))(eslint@8.47.0)(typescript@5.2.2))(eslint@8.47.0): - dependencies: - eslint: 8.47.0 - eslint-rule-composer: 0.3.0 - optionalDependencies: - '@typescript-eslint/eslint-plugin': 6.4.1(@typescript-eslint/parser@6.4.1(eslint@8.47.0)(typescript@5.2.2))(eslint@8.47.0)(typescript@5.2.2) - - eslint-plugin-vue@9.17.0(eslint@8.47.0): - dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.47.0) - eslint: 8.47.0 + eslint: 8.38.0 + eslint-utils: 3.0.0(eslint@8.38.0) natural-compare: 1.4.0 nth-check: 2.1.1 - postcss-selector-parser: 6.0.13 - semver: 7.5.4 - vue-eslint-parser: 9.3.1(eslint@8.47.0) - xml-name-validator: 4.0.0 + postcss-selector-parser: 6.0.11 + semver: 7.4.0 + vue-eslint-parser: 8.3.0(eslint@8.38.0) transitivePeerDependencies: - supports-color + dev: true - eslint-plugin-yml@1.8.0(eslint@8.47.0): - dependencies: - debug: 4.3.4 - eslint: 8.47.0 - lodash: 4.17.21 - natural-compare: 1.4.0 - yaml-eslint-parser: 1.2.2 - transitivePeerDependencies: - - supports-color - - eslint-rule-composer@0.3.0: {} - - eslint-scope@5.1.1: + /eslint-scope@5.1.1: + resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} + engines: {node: '>=8.0.0'} dependencies: esrecurse: 4.3.0 estraverse: 4.3.0 + dev: true - eslint-scope@7.2.2: + /eslint-scope@7.1.1: + resolution: {integrity: sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: esrecurse: 4.3.0 estraverse: 5.3.0 + dev: true - eslint-visitor-keys@3.4.3: {} - - eslint@8.47.0: + /eslint-utils@3.0.0(eslint@8.38.0): + resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} + engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} + peerDependencies: + eslint: '>=5' dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.47.0) - '@eslint-community/regexpp': 4.6.2 - '@eslint/eslintrc': 2.1.2 - '@eslint/js': 8.47.0 - '@humanwhocodes/config-array': 0.11.10 + eslint: 8.38.0 + eslint-visitor-keys: 2.1.0 + dev: true + + /eslint-visitor-keys@2.1.0: + resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==} + engines: {node: '>=10'} + dev: true + + /eslint-visitor-keys@3.4.0: + resolution: {integrity: sha512-HPpKPUBQcAsZOsHAFwTtIKcYlCje62XB7SEAcxjtmW6TD1WVpkS6i6/hOVtTZIl4zGj/mBqpFVGvaDneik+VoQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + + /eslint@8.38.0: + resolution: {integrity: sha512-pIdsD2jwlUGf/U38Jv97t8lq6HpaU/G9NKbYmpWpZGw3LdTNhZLbJePqxOXGB5+JEKfOPU/XLxYxFh03nr1KTg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + hasBin: true + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.38.0) + '@eslint-community/regexpp': 4.5.0 + '@eslint/eslintrc': 2.0.2 + '@eslint/js': 8.38.0 + '@humanwhocodes/config-array': 0.11.8 '@humanwhocodes/module-importer': 1.0.1 '@nodelib/fs.walk': 1.2.8 ajv: 6.12.6 @@ -9615,9 +4472,9 @@ snapshots: debug: 4.3.4 doctrine: 3.0.0 escape-string-regexp: 4.0.0 - eslint-scope: 7.2.2 - eslint-visitor-keys: 3.4.3 - espree: 9.6.1 + eslint-scope: 7.1.1 + eslint-visitor-keys: 3.4.0 + espree: 9.5.1 esquery: 1.5.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 @@ -9625,50 +4482,80 @@ snapshots: find-up: 5.0.0 glob-parent: 6.0.2 globals: 13.20.0 - graphemer: 1.4.0 + grapheme-splitter: 1.0.4 ignore: 5.2.4 + import-fresh: 3.3.0 imurmurhash: 0.1.4 is-glob: 4.0.3 is-path-inside: 3.0.3 + js-sdsl: 4.4.0 js-yaml: 4.1.0 json-stable-stringify-without-jsonify: 1.0.1 levn: 0.4.1 lodash.merge: 4.6.2 minimatch: 3.1.2 natural-compare: 1.4.0 - optionator: 0.9.3 + optionator: 0.9.1 strip-ansi: 6.0.1 + strip-json-comments: 3.1.1 text-table: 0.2.0 transitivePeerDependencies: - supports-color + dev: true - espree@9.6.1: + /espree@9.5.1: + resolution: {integrity: sha512-5yxtHSZXRSW5pvv3hAlXM5+/Oswi1AUFqBmbibKb5s6bp3rGIDkyXU6xCoyuuLhijr4SFwPrXRoZjz0AZDN9tg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - acorn: 8.10.0 - acorn-jsx: 5.3.2(acorn@8.10.0) - eslint-visitor-keys: 3.4.3 + acorn: 8.8.2 + acorn-jsx: 5.3.2(acorn@8.8.2) + eslint-visitor-keys: 3.4.0 + dev: true - esprima@4.0.1: {} + /esprima@4.0.1: + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} + hasBin: true + dev: true - esquery@1.5.0: + /esquery@1.5.0: + resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} + engines: {node: '>=0.10'} dependencies: estraverse: 5.3.0 + dev: true - esrecurse@4.3.0: + /esrecurse@4.3.0: + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} dependencies: estraverse: 5.3.0 + dev: true - estraverse@4.3.0: {} + /estraverse@4.3.0: + resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} + engines: {node: '>=4.0'} + dev: true - estraverse@5.3.0: {} + /estraverse@5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} + dev: true - estree-walker@1.0.1: {} + /estree-walker@1.0.1: + resolution: {integrity: sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==} + dev: true - estree-walker@2.0.2: {} + /estree-walker@2.0.2: + resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} - esutils@2.0.3: {} + /esutils@2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} + dev: true - event-stream@3.3.4: + /event-stream@3.3.4: + resolution: {integrity: sha512-QHpkERcGsR0T7Qm3HNJSyXKEEj8AHNxkY3PK8TS2KJvQ7NiSHe3DDpwVKKtoYprL/AreyzFBeIkBIWChAqn60g==} dependencies: duplexer: 0.1.2 from: 0.1.7 @@ -9677,10 +4564,15 @@ snapshots: split: 0.3.3 stream-combiner: 0.0.4 through: 2.3.8 + dev: true - evtd@0.2.4: {} + /evtd@0.2.4: + resolution: {integrity: sha512-qaeGN5bx63s/AXgQo8gj6fBkxge+OoLddLniox5qtLAEY5HSnuSlISXVPxnSae1dWblvTh4/HoMIB+mbMsvZzw==} + dev: false - execa@5.1.1: + /execa@5.1.1: + resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} + engines: {node: '>=10'} dependencies: cross-spawn: 7.0.3 get-stream: 6.0.1 @@ -9691,195 +4583,287 @@ snapshots: onetime: 5.1.2 signal-exit: 3.0.7 strip-final-newline: 2.0.0 + dev: true - extend-shallow@2.0.1: + /extend-shallow@2.0.1: + resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} + engines: {node: '>=0.10.0'} dependencies: is-extendable: 0.1.1 + dev: true - fast-deep-equal@3.1.3: {} + /fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} - fast-glob@3.2.12: + /fast-diff@1.2.0: + resolution: {integrity: sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==} + dev: true + + /fast-glob@3.2.12: + resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==} + engines: {node: '>=8.6.0'} dependencies: '@nodelib/fs.stat': 2.0.5 '@nodelib/fs.walk': 1.2.8 glob-parent: 5.1.2 merge2: 1.4.1 micromatch: 4.0.5 + dev: true - fast-glob@3.3.1: - dependencies: - '@nodelib/fs.stat': 2.0.5 - '@nodelib/fs.walk': 1.2.8 - glob-parent: 5.1.2 - merge2: 1.4.1 - micromatch: 4.0.5 + /fast-json-stable-stringify@2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + dev: true - fast-json-stable-stringify@2.1.0: {} + /fast-levenshtein@2.0.6: + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + dev: true - fast-levenshtein@2.0.6: {} - - fast-uri@3.0.3: {} - - fastq@1.15.0: + /fastq@1.15.0: + resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} dependencies: reusify: 1.0.4 + dev: true - fdir@6.4.2(picomatch@4.0.2): - optionalDependencies: - picomatch: 4.0.2 - - fetch-blob@3.2.0: + /fetch-blob@3.2.0: + resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} + engines: {node: ^12.20 || >= 14.13} dependencies: node-domexception: 1.0.0 web-streams-polyfill: 3.2.1 + dev: true - figlet@1.7.0: {} + /fetch-enhanced@5.0.2: + resolution: {integrity: sha512-g4l1Rm1H72bAwlRNw9gJpvpSRlrIsY17iqcoZnpTV1USaDP9Ye3OJh/2hvk+HLJvWJ3r7SnvJx5YkxSI4cPw8A==} + engines: {node: '>=10'} + dependencies: + agentkeepalive: 4.3.0 + http-proxy-agent: 4.0.1 + https-proxy-agent: 5.0.1 + proxy-from-env: 1.1.0 + quick-lru: 5.1.1 + transitivePeerDependencies: + - supports-color + dev: false - figue@1.2.0: + /figue@1.2.0: + resolution: {integrity: sha512-CXKr12kiNWjKtUK3X+YHeXKepn80s9Rg6pgZXoLQYEybgwaGJ9uGW4DrBrVK30ZWZf1mcvTbXF56AcovG7gLVw==} dependencies: lodash: 4.17.21 + dev: false - file-entry-cache@6.0.1: + /file-entry-cache@6.0.1: + resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} + engines: {node: ^10.12.0 || >=12.0.0} dependencies: flat-cache: 3.0.4 + dev: true - filelist@1.0.4: + /filelist@1.0.4: + resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==} dependencies: minimatch: 5.1.6 + dev: true - fill-range@7.0.1: + /fill-range@7.0.1: + resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + engines: {node: '>=8'} dependencies: to-regex-range: 5.0.1 + dev: true - fill-range@7.1.1: - dependencies: - to-regex-range: 5.0.1 - - find-up@4.1.0: + /find-up@4.1.0: + resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} + engines: {node: '>=8'} dependencies: locate-path: 5.0.0 path-exists: 4.0.0 + dev: false - find-up@5.0.0: + /find-up@5.0.0: + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} dependencies: locate-path: 6.0.0 path-exists: 4.0.0 + dev: true - flat-cache@3.0.4: + /flat-cache@3.0.4: + resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} + engines: {node: ^10.12.0 || >=12.0.0} dependencies: flatted: 3.2.7 rimraf: 3.0.2 + dev: true - flatted@3.2.7: {} + /flatted@3.2.7: + resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==} + dev: true - flex-js@1.0.5: {} + /flex-js@1.0.5: + resolution: {integrity: sha512-Z5uoLzOGtTB/nzaTVVBbwmxOHBzHovAGJHLXE1TUKsQuN1RRWMOWeA08J9RRKtAl9TH9tkaH6fpjA4sLf0DzQw==} + dev: false - for-each@0.3.3: + /follow-redirects@1.15.2(debug@4.3.4): + resolution: {integrity: sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==} + engines: {node: '>=4.0'} + peerDependencies: + debug: '*' + peerDependenciesMeta: + debug: + optional: true + dependencies: + debug: 4.3.4 + dev: true + + /for-each@0.3.3: + resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} dependencies: is-callable: 1.2.7 + dev: true - form-data@4.0.0: + /foreground-child@2.0.0: + resolution: {integrity: sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==} + engines: {node: '>=8.0.0'} + dependencies: + cross-spawn: 7.0.3 + signal-exit: 3.0.7 + dev: true + + /form-data@4.0.0: + resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} + engines: {node: '>= 6'} dependencies: asynckit: 0.4.0 combined-stream: 1.0.8 mime-types: 2.1.35 + dev: true - formdata-polyfill@4.0.10: + /formdata-polyfill@4.0.10: + resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==} + engines: {node: '>=12.20.0'} dependencies: fetch-blob: 3.2.0 + dev: true - fraction.js@4.2.0: {} + /fraction.js@4.2.0: + resolution: {integrity: sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==} + dev: false - from@0.1.7: {} + /from@0.1.7: + resolution: {integrity: sha512-twe20eF1OxVxp/ML/kq2p1uc6KvFK/+vs8WjEbeKmV2He22MKm7YF2ANIt+EOqhJ5L3K/SuuPhk0hWQDjOM23g==} + dev: true - front-matter@4.0.2: - dependencies: - js-yaml: 3.14.1 - - fs-extra@10.1.0: + /fs-extra@11.1.1: + resolution: {integrity: sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==} + engines: {node: '>=14.14'} dependencies: graceful-fs: 4.2.11 jsonfile: 6.1.0 universalify: 2.0.0 + dev: true - fs-extra@11.1.1: - dependencies: - graceful-fs: 4.2.11 - jsonfile: 6.1.0 - universalify: 2.0.0 - - fs-extra@9.1.0: + /fs-extra@9.1.0: + resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==} + engines: {node: '>=10'} dependencies: at-least-node: 1.0.0 graceful-fs: 4.2.11 jsonfile: 6.1.0 - universalify: 2.0.1 + universalify: 2.0.0 + dev: true - fs.realpath@1.0.0: {} + /fs.realpath@1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} - fsevents@2.3.2: + /fsevents@2.3.2: + resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + dev: true optional: true - fsevents@2.3.3: - optional: true + /function-bind@1.1.1: + resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} + dev: true - function-bind@1.1.2: {} - - function.prototype.name@1.1.6: + /function.prototype.name@1.1.5: + resolution: {integrity: sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==} + engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.8 - define-properties: 1.2.1 - es-abstract: 1.23.5 + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.21.2 functions-have-names: 1.2.3 + dev: true - functions-have-names@1.2.3: {} + /functions-have-names@1.2.3: + resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} + dev: true - fuse.js@6.6.2: {} + /fuse.js@6.6.2: + resolution: {integrity: sha512-cJaJkxCCxC8qIIcPBF9yGxY0W/tVZS3uEISDxhYIdtk8OL93pe+6Zj7LjCqVV4dzbqcriOZ+kQ/NE4RXZHsIGA==} + engines: {node: '>=10'} + dev: false - gensync@1.0.0-beta.2: {} + /gensync@1.0.0-beta.2: + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} + dev: true - get-caller-file@2.0.5: {} + /get-caller-file@2.0.5: + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} - get-func-name@2.0.0: {} + /get-func-name@2.0.0: + resolution: {integrity: sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==} + dev: true - get-intrinsic@1.2.6: + /get-intrinsic@1.2.0: + resolution: {integrity: sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==} dependencies: - call-bind-apply-helpers: 1.0.1 - dunder-proto: 1.0.0 - es-define-property: 1.0.1 - es-errors: 1.3.0 - es-object-atoms: 1.0.0 - function-bind: 1.1.2 - gopd: 1.2.0 - has-symbols: 1.1.0 - hasown: 2.0.2 - math-intrinsics: 1.0.0 + function-bind: 1.1.1 + has: 1.0.3 + has-symbols: 1.0.3 + dev: true - get-own-enumerable-property-symbols@3.0.2: {} + /get-own-enumerable-property-symbols@3.0.2: + resolution: {integrity: sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==} + dev: true - get-stdin@8.0.0: {} + /get-stream@6.0.1: + resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} + engines: {node: '>=10'} + dev: true - get-stream@6.0.1: {} - - get-symbol-description@1.0.2: + /get-symbol-description@1.0.0: + resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} + engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.8 - es-errors: 1.3.0 - get-intrinsic: 1.2.6 + call-bind: 1.0.2 + get-intrinsic: 1.2.0 + dev: true - get-tsconfig@4.8.1: - dependencies: - resolve-pkg-maps: 1.0.0 + /get-tsconfig@4.5.0: + resolution: {integrity: sha512-MjhiaIWCJ1sAU4pIQ5i5OfOuHHxVo1oYeNsWTON7jxYkod8pHocXeh+SSbmu5OZZZK73B6cbJ2XADzXehLyovQ==} + dev: true - glob-parent@5.1.2: + /glob-parent@5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} dependencies: is-glob: 4.0.3 + dev: true - glob-parent@6.0.2: + /glob-parent@6.0.2: + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} dependencies: is-glob: 4.0.3 + dev: true - glob@7.2.3: + /glob@7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 @@ -9888,537 +4872,762 @@ snapshots: once: 1.4.0 path-is-absolute: 1.0.1 - glob@8.1.0: + /glob@8.1.0: + resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} + engines: {node: '>=12'} dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 inherits: 2.0.4 minimatch: 5.1.6 once: 1.4.0 + dev: true - globals@11.12.0: {} + /globals@11.12.0: + resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} + engines: {node: '>=4'} + dev: true - globals@13.20.0: + /globals@13.20.0: + resolution: {integrity: sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==} + engines: {node: '>=8'} dependencies: type-fest: 0.20.2 + dev: true - globals@15.13.0: {} - - globalthis@1.0.4: + /globalthis@1.0.3: + resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} + engines: {node: '>= 0.4'} dependencies: - define-properties: 1.2.1 - gopd: 1.2.0 + define-properties: 1.2.0 + dev: true - globalyzer@0.1.0: {} + /globalyzer@0.1.0: + resolution: {integrity: sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==} + dev: true - globby@11.1.0: + /globby@11.1.0: + resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} + engines: {node: '>=10'} dependencies: array-union: 2.1.0 dir-glob: 3.0.1 - fast-glob: 3.3.1 + fast-glob: 3.2.12 ignore: 5.2.4 merge2: 1.4.1 slash: 3.0.0 + dev: true - globby@13.1.4: + /globby@13.1.4: + resolution: {integrity: sha512-iui/IiiW+QrJ1X1hKH5qwlMQyv34wJAYwH1vrf8b9kBA4sNiif3gKsMHa+BrdnOpEudWjpotfa7LrTzB1ERS/g==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: dir-glob: 3.0.1 - fast-glob: 3.3.1 + fast-glob: 3.2.12 ignore: 5.2.4 merge2: 1.4.1 slash: 4.0.0 + dev: true - globrex@0.1.2: {} + /globrex@0.1.2: + resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==} + dev: true - gopd@1.2.0: {} + /gopd@1.0.1: + resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} + dependencies: + get-intrinsic: 1.2.0 + dev: true - graceful-fs@4.2.11: {} + /graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + dev: true - graphemer@1.4.0: {} + /grapheme-splitter@1.0.4: + resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} + dev: true - gray-matter@4.0.3: + /gray-matter@4.0.3: + resolution: {integrity: sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==} + engines: {node: '>=6.0'} dependencies: js-yaml: 3.14.1 kind-of: 6.0.3 section-matter: 1.0.0 strip-bom-string: 1.0.0 + dev: true - gzip-size@6.0.0: + /gzip-size@6.0.0: + resolution: {integrity: sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==} + engines: {node: '>=10'} dependencies: duplexer: 0.1.2 + dev: true - has-bigints@1.0.2: {} + /has-bigints@1.0.2: + resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} + dev: true - has-flag@3.0.0: {} + /has-flag@3.0.0: + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} + dev: true - has-flag@4.0.0: {} + /has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + dev: true - has-property-descriptors@1.0.2: + /has-property-descriptors@1.0.0: + resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==} dependencies: - es-define-property: 1.0.1 + get-intrinsic: 1.2.0 + dev: true - has-proto@1.2.0: + /has-proto@1.0.1: + resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} + engines: {node: '>= 0.4'} + dev: true + + /has-symbols@1.0.3: + resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} + engines: {node: '>= 0.4'} + dev: true + + /has-tostringtag@1.0.0: + resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} + engines: {node: '>= 0.4'} dependencies: - dunder-proto: 1.0.0 + has-symbols: 1.0.3 + dev: true - has-symbols@1.1.0: {} - - has-tostringtag@1.0.2: + /has@1.0.3: + resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} + engines: {node: '>= 0.4.0'} dependencies: - has-symbols: 1.1.0 + function-bind: 1.1.1 + dev: true - has@1.0.3: - dependencies: - function-bind: 1.1.2 + /hash-sum@2.0.0: + resolution: {integrity: sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==} + dev: true - hasown@2.0.0: - dependencies: - function-bind: 1.1.2 - - hasown@2.0.2: - dependencies: - function-bind: 1.1.2 - - he@1.2.0: {} - - header-case@1.0.1: - dependencies: - no-case: 2.3.2 - upper-case: 1.1.3 - - header-case@2.0.4: + /header-case@2.0.4: + resolution: {integrity: sha512-H/vuk5TEEVZwrR0lp2zed9OCo1uAILMlx0JEMgC26rzyJJ3N1v6XkwHHXJQdR2doSjcGPM6OKPYoJgf0plJ11Q==} dependencies: capital-case: 1.0.4 tslib: 2.5.0 + dev: false - highlight.js@11.7.0: {} + /highlight.js@11.7.0: + resolution: {integrity: sha512-1rRqesRFhMO/PRF+G86evnyJkCgaZFOI+Z6kdj15TA18funfoqJXvgPCLSf0SWq3SRfg1j3HlDs8o4s3EGq1oQ==} + engines: {node: '>=12.0.0'} + dev: false - highlight.js@11.9.0: {} - - hookable@5.5.3: {} - - hosted-git-info@2.8.9: {} - - html-encoding-sniffer@3.0.0: + /html-encoding-sniffer@3.0.0: + resolution: {integrity: sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==} + engines: {node: '>=12'} dependencies: whatwg-encoding: 2.0.0 + dev: true - html-tags@3.3.1: {} + /html-escaper@2.0.2: + resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} + dev: true - htmlparser2@8.0.2: + /html-tags@3.3.1: + resolution: {integrity: sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==} + engines: {node: '>=8'} + dev: true + + /htmlparser2@7.2.0: + resolution: {integrity: sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog==} dependencies: domelementtype: 2.3.0 - domhandler: 5.0.3 - domutils: 3.1.0 - entities: 4.5.0 + domhandler: 4.3.1 + domutils: 2.8.0 + entities: 3.0.1 + dev: true - http-proxy-agent@5.0.0: + /http-proxy-agent@4.0.1: + resolution: {integrity: sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==} + engines: {node: '>= 6'} + dependencies: + '@tootallnate/once': 1.1.2 + agent-base: 6.0.2 + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + dev: false + + /http-proxy-agent@5.0.0: + resolution: {integrity: sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==} + engines: {node: '>= 6'} dependencies: '@tootallnate/once': 2.0.0 agent-base: 6.0.2 debug: 4.3.4 transitivePeerDependencies: - supports-color + dev: true - https-proxy-agent@5.0.1: + /https-proxy-agent@5.0.1: + resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} + engines: {node: '>= 6'} dependencies: agent-base: 6.0.2 debug: 4.3.4 transitivePeerDependencies: - supports-color - human-signals@2.1.0: {} + /human-signals@2.1.0: + resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} + engines: {node: '>=10.17.0'} + dev: true - hygen@6.2.11: + /humanize-ms@1.2.1: + resolution: {integrity: sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==} dependencies: - '@types/node': 17.0.45 - chalk: 4.1.2 - change-case: 3.1.0 - debug: 4.3.4 - degit: 2.8.4 - ejs: 3.1.9 - enquirer: 2.4.1 - execa: 5.1.1 - front-matter: 4.0.2 - fs-extra: 10.1.0 - ignore-walk: 4.0.1 - inflection: 1.13.4 - ora: 5.4.1 - yargs-parser: 21.1.1 - transitivePeerDependencies: - - supports-color + ms: 2.1.3 + dev: false - iarna-toml-esm@3.0.5: - dependencies: - stream: 0.0.2 - - ibantools@4.3.3: {} - - iconv-lite@0.6.3: + /iconv-lite@0.6.3: + resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} + engines: {node: '>=0.10.0'} dependencies: safer-buffer: 2.1.2 + dev: true - idb@7.1.1: {} + /idb@7.1.1: + resolution: {integrity: sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==} + dev: true - ieee754@1.2.1: {} + /ignore@5.2.4: + resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} + engines: {node: '>= 4'} + dev: true - ignore-walk@4.0.1: - dependencies: - minimatch: 3.1.2 - - ignore@5.2.4: {} - - image-size@0.5.5: + /image-size@0.5.5: + resolution: {integrity: sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==} + engines: {node: '>=0.10.0'} + hasBin: true + requiresBuild: true + dev: true optional: true - import-fresh@3.3.0: + /import-fresh@3.3.0: + resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} + engines: {node: '>=6'} dependencies: parent-module: 1.0.1 resolve-from: 4.0.0 + dev: true - importx@0.4.4: - dependencies: - bundle-require: 5.0.0(esbuild@0.23.1) - debug: 4.4.0 - esbuild: 0.23.1 - jiti: 2.0.0-beta.3 - jiti-v1: jiti@1.21.6 - pathe: 1.1.2 - tsx: 4.19.2 - transitivePeerDependencies: - - supports-color + /imurmurhash@0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + dev: true - imurmurhash@0.1.4: {} - - indent-string@4.0.0: {} - - inflection@1.13.4: {} - - inflight@1.0.6: + /inflight@1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} dependencies: once: 1.4.0 wrappy: 1.0.2 - inherits@2.0.4: {} + /inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} - ini@1.3.8: {} + /ini@1.3.8: + resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} + dev: true - internal-slot@1.1.0: + /internal-slot@1.0.5: + resolution: {integrity: sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==} + engines: {node: '>= 0.4'} dependencies: - es-errors: 1.3.0 - hasown: 2.0.2 - side-channel: 1.1.0 + get-intrinsic: 1.2.0 + has: 1.0.3 + side-channel: 1.0.4 + dev: true - ip-address@7.1.0: + /ip-address@7.1.0: + resolution: {integrity: sha512-V9pWC/VJf2lsXqP7IWJ+pe3P1/HCYGBMZrrnT62niLGjAfCbeiwXMUxaeHvnVlz19O27pvXP4azs+Pj/A0x+SQ==} + engines: {node: '>= 10'} dependencies: jsbn: 1.1.0 sprintf-js: 1.1.2 + dev: false - ip-cidr@3.1.0: + /ip-cidr@3.1.0: + resolution: {integrity: sha512-HUCn4snshEX1P8cja/IyU3qk8FVDW8T5zZcegDFbu4w7NojmAhk5NcOgj3M8+0fmumo1afJTPDtJlzsxLdOjtg==} + engines: {node: '>=10.0.0'} dependencies: ip-address: 7.1.0 jsbn: 1.1.0 + dev: false - is-alphabetical@1.0.4: {} - - is-alphanumerical@1.0.4: + /is-array-buffer@3.0.2: + resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==} dependencies: - is-alphabetical: 1.0.4 - is-decimal: 1.0.4 + call-bind: 1.0.2 + get-intrinsic: 1.2.0 + is-typed-array: 1.1.10 + dev: true - is-array-buffer@3.0.4: - dependencies: - call-bind: 1.0.8 - get-intrinsic: 1.2.6 - - is-arrayish@0.2.1: {} - - is-async-function@2.0.0: - dependencies: - has-tostringtag: 1.0.2 - - is-bigint@1.1.0: + /is-bigint@1.0.4: + resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} dependencies: has-bigints: 1.0.2 + dev: true - is-binary-path@2.1.0: + /is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} dependencies: binary-extensions: 2.2.0 + dev: true - is-boolean-object@1.2.1: + /is-boolean-object@1.1.2: + resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} + engines: {node: '>= 0.4'} dependencies: - call-bound: 1.0.2 - has-tostringtag: 1.0.2 + call-bind: 1.0.2 + has-tostringtag: 1.0.0 + dev: true - is-builtin-module@3.2.1: - dependencies: - builtin-modules: 3.3.0 + /is-callable@1.2.7: + resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} + engines: {node: '>= 0.4'} + dev: true - is-callable@1.2.7: {} - - is-core-module@2.13.0: + /is-core-module@2.12.0: + resolution: {integrity: sha512-RECHCBCd/viahWmwj6enj19sKbHfJrddi/6cBDsNTKbNq0f7VeaUkBo60BqzvPqo/W54ChS62Z5qyun7cfOMqQ==} dependencies: has: 1.0.3 + dev: true - is-core-module@2.13.1: + /is-date-object@1.0.5: + resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} + engines: {node: '>= 0.4'} dependencies: - hasown: 2.0.0 + has-tostringtag: 1.0.0 + dev: true - is-core-module@2.16.0: + /is-docker@2.2.1: + resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} + engines: {node: '>=8'} + hasBin: true + dev: true + + /is-expression@4.0.0: + resolution: {integrity: sha512-zMIXX63sxzG3XrkHkrAPvm/OVZVSCPNkwMHU8oTX7/U3AL78I0QXCEICXUM13BIa8TYGZ68PiTKfQz3yaTNr4A==} dependencies: - hasown: 2.0.2 + acorn: 7.4.1 + object-assign: 4.1.1 + dev: true - is-data-view@1.0.2: - dependencies: - call-bound: 1.0.2 - get-intrinsic: 1.2.6 - is-typed-array: 1.1.13 + /is-extendable@0.1.1: + resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==} + engines: {node: '>=0.10.0'} + dev: true - is-date-object@1.1.0: - dependencies: - call-bound: 1.0.2 - has-tostringtag: 1.0.2 - - is-decimal@1.0.4: {} - - is-docker@2.2.1: {} - - is-extendable@0.1.1: {} - - is-extendable@1.0.1: + /is-extendable@1.0.1: + resolution: {integrity: sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==} + engines: {node: '>=0.10.0'} dependencies: is-plain-object: 2.0.4 + dev: false - is-extglob@2.1.1: {} + /is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + dev: true - is-finalizationregistry@1.1.0: - dependencies: - call-bind: 1.0.8 + /is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} - is-fullwidth-code-point@3.0.0: {} - - is-generator-function@1.0.10: - dependencies: - has-tostringtag: 1.0.2 - - is-glob@4.0.3: + /is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} dependencies: is-extglob: 2.1.1 + dev: true - is-hexadecimal@1.0.4: {} + /is-module@1.0.0: + resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==} + dev: true - is-interactive@1.0.0: {} + /is-negative-zero@2.0.2: + resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} + engines: {node: '>= 0.4'} + dev: true - is-lower-case@1.1.3: + /is-number-object@1.0.7: + resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} + engines: {node: '>= 0.4'} dependencies: - lower-case: 1.1.4 + has-tostringtag: 1.0.0 + dev: true - is-map@2.0.3: {} + /is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + dev: true - is-module@1.0.0: {} + /is-obj@1.0.1: + resolution: {integrity: sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==} + engines: {node: '>=0.10.0'} + dev: true - is-negative-zero@2.0.3: {} + /is-path-inside@3.0.3: + resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} + engines: {node: '>=8'} + dev: true - is-number-object@1.1.0: - dependencies: - call-bind: 1.0.8 - has-tostringtag: 1.0.2 - - is-number@7.0.0: {} - - is-obj@1.0.1: {} - - is-path-inside@3.0.3: {} - - is-plain-object@2.0.4: + /is-plain-object@2.0.4: + resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==} + engines: {node: '>=0.10.0'} dependencies: isobject: 3.0.1 + dev: false - is-potential-custom-element-name@1.0.1: {} + /is-potential-custom-element-name@1.0.1: + resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} + dev: true - is-primitive@3.0.1: {} + /is-primitive@3.0.1: + resolution: {integrity: sha512-GljRxhWvlCNRfZyORiH77FwdFwGcMO620o37EOYC0ORWdq+WYNVqW0w2Juzew4M+L81l6/QS3t5gkkihyRqv9w==} + engines: {node: '>=0.10.0'} + dev: false - is-regex@1.2.1: + /is-promise@2.2.2: + resolution: {integrity: sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==} + dev: true + + /is-regex@1.1.4: + resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} + engines: {node: '>= 0.4'} dependencies: - call-bound: 1.0.2 - gopd: 1.2.0 - has-tostringtag: 1.0.2 - hasown: 2.0.2 + call-bind: 1.0.2 + has-tostringtag: 1.0.0 + dev: true - is-regexp@1.0.0: {} + /is-regexp@1.0.0: + resolution: {integrity: sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==} + engines: {node: '>=0.10.0'} + dev: true - is-set@2.0.3: {} - - is-shared-array-buffer@1.0.3: + /is-shared-array-buffer@1.0.2: + resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} dependencies: - call-bind: 1.0.8 + call-bind: 1.0.2 + dev: true - is-stream@2.0.1: {} + /is-stream@2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} + dev: true - is-string@1.1.0: + /is-string@1.0.7: + resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} + engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.8 - has-tostringtag: 1.0.2 + has-tostringtag: 1.0.0 + dev: true - is-symbol@1.1.1: + /is-symbol@1.0.4: + resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} + engines: {node: '>= 0.4'} dependencies: - call-bound: 1.0.2 - has-symbols: 1.1.0 - safe-regex-test: 1.1.0 + has-symbols: 1.0.3 + dev: true - is-typed-array@1.1.13: + /is-typed-array@1.1.10: + resolution: {integrity: sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==} + engines: {node: '>= 0.4'} dependencies: - which-typed-array: 1.1.16 + available-typed-arrays: 1.0.5 + call-bind: 1.0.2 + for-each: 0.3.3 + gopd: 1.0.1 + has-tostringtag: 1.0.0 + dev: true - is-unicode-supported@0.1.0: {} - - is-upper-case@1.1.2: + /is-weakref@1.0.2: + resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} dependencies: - upper-case: 1.1.3 + call-bind: 1.0.2 + dev: true - is-weakmap@2.0.2: {} + /is-what@3.14.1: + resolution: {integrity: sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==} + dev: true - is-weakref@1.1.0: - dependencies: - call-bound: 1.0.2 - - is-weakset@2.0.3: - dependencies: - call-bind: 1.0.8 - get-intrinsic: 1.2.6 - - is-what@3.14.1: {} - - is-wsl@2.2.0: + /is-wsl@2.2.0: + resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} + engines: {node: '>=8'} dependencies: is-docker: 2.2.1 + dev: true - isarray@2.0.5: {} + /isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + dev: true - isexe@2.0.0: {} + /isobject@3.0.1: + resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} + engines: {node: '>=0.10.0'} + dev: false - isobject@3.0.1: {} + /istanbul-lib-coverage@3.2.0: + resolution: {integrity: sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==} + engines: {node: '>=8'} + dev: true - jake@10.8.7: + /istanbul-lib-report@3.0.0: + resolution: {integrity: sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==} + engines: {node: '>=8'} + dependencies: + istanbul-lib-coverage: 3.2.0 + make-dir: 3.1.0 + supports-color: 7.2.0 + dev: true + + /istanbul-reports@3.1.5: + resolution: {integrity: sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==} + engines: {node: '>=8'} + dependencies: + html-escaper: 2.0.2 + istanbul-lib-report: 3.0.0 + dev: true + + /jake@10.8.5: + resolution: {integrity: sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw==} + engines: {node: '>=10'} + hasBin: true dependencies: async: 3.2.4 chalk: 4.1.2 filelist: 1.0.4 minimatch: 3.1.2 + dev: true - jake@10.9.2: + /javascript-natural-sort@0.7.1: + resolution: {integrity: sha512-nO6jcEfZWQXDhOiBtG2KvKyEptz7RVbpGP4vTD2hLBdmNQSsCiicO2Ioinv6UI4y9ukqnBpy+XZ9H6uLNgJTlw==} + dev: false + + /jest-worker@26.6.2: + resolution: {integrity: sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==} + engines: {node: '>= 10.13.0'} dependencies: - async: 3.2.6 - chalk: 4.1.2 - filelist: 1.0.4 - minimatch: 3.1.2 + '@types/node': 16.18.23 + merge-stream: 2.0.0 + supports-color: 7.2.0 + dev: true - javascript-natural-sort@0.7.1: {} + /jiti@1.18.2: + resolution: {integrity: sha512-QAdOptna2NYiSSpv0O/BwoHBSmz4YhpzJHyi+fnMRTXFjp7B8i/YG5Z8IfusxB1ufjcD2Sre1F3R+nX3fvy7gg==} + hasBin: true + dev: true - jiti@1.21.0: {} + /joi@17.9.1: + resolution: {integrity: sha512-FariIi9j6QODKATGBrEX7HZcja8Bsh3rfdGYy/Sb65sGlZWK/QWesU1ghk7aJWDj95knjXlQfSmzFSPPkLVsfw==} + dependencies: + '@hapi/hoek': 9.3.0 + '@hapi/topo': 5.1.0 + '@sideway/address': 4.1.4 + '@sideway/formula': 3.0.1 + '@sideway/pinpoint': 2.0.0 + dev: true - jiti@1.21.6: {} - - jiti@2.0.0-beta.3: {} - - js-base64@3.7.7: {} - - js-beautify@1.14.6: + /js-beautify@1.14.6: + resolution: {integrity: sha512-GfofQY5zDp+cuHc+gsEXKPpNw2KbPddreEo35O6jT6i0RVK6LhsoYBhq5TvK4/n74wnA0QbK8gGd+jUZwTMKJw==} + engines: {node: '>=10'} + hasBin: true dependencies: config-chain: 1.1.13 editorconfig: 0.15.3 glob: 8.1.0 nopt: 6.0.0 + dev: true - js-sha256@0.9.0: {} + /js-sdsl@4.4.0: + resolution: {integrity: sha512-FfVSdx6pJ41Oa+CF7RDaFmTnCaFhua+SNYQX74riGOpl96x+2jQCqEfQ2bnXu/5DPCqlRuiqyvTJM0Qjz26IVg==} + dev: true - js-tokens@4.0.0: {} + /js-sha256@0.9.0: + resolution: {integrity: sha512-sga3MHh9sgQN2+pJ9VYZ+1LPwXOxuBJBA5nrR5/ofPfuiJBE2hnjsaN8se8JznOmGLN2p49Pe5U/ttafcs/apA==} + dev: false - js-yaml@3.14.1: + /js-stringify@1.0.2: + resolution: {integrity: sha512-rtS5ATOo2Q5k1G+DADISilDA6lv79zIiwFd6CcjuIxGKLFm5C+RLImRscVap9k55i+MOZwgliw+NejvkLuGD5g==} + dev: true + + /js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + dev: true + + /js-yaml@3.14.1: + resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} + hasBin: true dependencies: argparse: 1.0.10 esprima: 4.0.1 + dev: true - js-yaml@4.1.0: + /js-yaml@4.1.0: + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + hasBin: true dependencies: argparse: 2.0.1 + dev: true - jsbn@1.1.0: {} + /jsbn@1.1.0: + resolution: {integrity: sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==} + dev: false - jsdom@22.0.0: + /jsdom@19.0.0: + resolution: {integrity: sha512-RYAyjCbxy/vri/CfnjUWJQQtZ3LKlLnDqj+9XLNnJPgEGeirZs3hllKR20re8LUZ6o1b1X4Jat+Qd26zmP41+A==} + engines: {node: '>=12'} + peerDependencies: + canvas: ^2.5.0 + peerDependenciesMeta: + canvas: + optional: true dependencies: abab: 2.0.6 - cssstyle: 3.0.0 - data-urls: 4.0.0 + acorn: 8.8.2 + acorn-globals: 6.0.0 + cssom: 0.5.0 + cssstyle: 2.3.0 + data-urls: 3.0.2 decimal.js: 10.4.3 domexception: 4.0.0 + escodegen: 2.0.0 form-data: 4.0.0 html-encoding-sniffer: 3.0.0 http-proxy-agent: 5.0.0 https-proxy-agent: 5.0.1 is-potential-custom-element-name: 1.0.1 - nwsapi: 2.2.7 - parse5: 7.1.2 - rrweb-cssom: 0.6.0 - saxes: 6.0.0 + nwsapi: 2.2.3 + parse5: 6.0.1 + saxes: 5.0.1 symbol-tree: 3.2.4 tough-cookie: 4.1.2 - w3c-xmlserializer: 4.0.0 + w3c-hr-time: 1.0.2 + w3c-xmlserializer: 3.0.0 webidl-conversions: 7.0.0 whatwg-encoding: 2.0.0 whatwg-mimetype: 3.0.0 - whatwg-url: 12.0.1 + whatwg-url: 10.0.0 ws: 8.13.0 xml-name-validator: 4.0.0 transitivePeerDependencies: - bufferutil - supports-color - utf-8-validate + dev: true - jsesc@0.5.0: {} + /jsesc@0.5.0: + resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} + hasBin: true + dev: true - jsesc@2.5.2: {} + /jsesc@2.5.2: + resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} + engines: {node: '>=4'} + hasBin: true + dev: true - jsesc@3.0.2: {} + /json-schema-traverse@0.4.1: + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + dev: true - jsesc@3.1.0: {} + /json-schema-traverse@1.0.0: + resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} + dev: true - json-parse-even-better-errors@2.3.1: {} + /json-schema@0.4.0: + resolution: {integrity: sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==} + dev: true - json-schema-traverse@0.4.1: {} + /json-stable-stringify-without-jsonify@1.0.1: + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + dev: true - json-schema-traverse@1.0.0: {} - - json-schema@0.4.0: {} - - json-stable-stringify-without-jsonify@1.0.1: {} - - json5@2.2.3: {} - - jsonc-eslint-parser@2.3.0: + /json-stable-stringify@1.0.2: + resolution: {integrity: sha512-eunSSaEnxV12z+Z73y/j5N37/In40GK4GmsSy+tEHJMxknvqnA7/djeYtAgW0GsWHUfg+847WJjKaEylk2y09g==} dependencies: - acorn: 8.10.0 - eslint-visitor-keys: 3.4.3 - espree: 9.6.1 - semver: 7.5.4 + jsonify: 0.0.1 + dev: false - jsonc-parser@3.2.0: {} + /json5@1.0.2: + resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} + hasBin: true + dependencies: + minimist: 1.2.8 + dev: true - jsonfile@6.1.0: + /json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + + /jsonc-parser@2.3.1: + resolution: {integrity: sha512-H8jvkz1O50L3dMZCsLqiuB2tA7muqbSg1AtGEkN0leAqGjsUzDJir3Zwr02BhqdcITPg3ei3mZ+HjMocAknhhg==} + dev: true + + /jsonc-parser@3.2.0: + resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} + dev: true + + /jsonfile@6.1.0: + resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} dependencies: universalify: 2.0.0 optionalDependencies: graceful-fs: 4.2.11 + dev: true - jsonpointer@5.0.1: {} + /jsonify@0.0.1: + resolution: {integrity: sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==} + dev: false - jwt-decode@3.1.2: {} + /jsonpointer@5.0.1: + resolution: {integrity: sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==} + engines: {node: '>=0.10.0'} + dev: true - kind-of@6.0.3: {} + /jstransformer@1.0.0: + resolution: {integrity: sha512-C9YK3Rf8q6VAPDCCU9fnqo3mAfOH6vUGnMcP4AQAYIEpWtfGLpwOTmZ+igtdK5y+VvI2n3CyYSzy4Qh34eq24A==} + dependencies: + is-promise: 2.2.2 + promise: 7.3.1 + dev: true - kolorist@1.8.0: {} + /jwt-decode@3.1.2: + resolution: {integrity: sha512-UfpWE/VZn0iP50d8cz9NrZLM9lSWhcJ+0Gt/nm4by88UL+J1SiKN8/5dkjMmbEzwL2CAe+67GsegCbIKtbp75A==} + dev: false - less@4.1.3: + /kind-of@6.0.3: + resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} + engines: {node: '>=0.10.0'} + dev: true + + /kolorist@1.7.0: + resolution: {integrity: sha512-ymToLHqL02udwVdbkowNpzjFd6UzozMtshPQKVi5k1EjKRqKqBrOnE9QbLEb0/pV76SAiIT13hdL8R6suc+f3g==} + dev: true + + /lazy-ass@1.6.0: + resolution: {integrity: sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw==} + engines: {node: '> 0.8'} + dev: true + + /less@4.1.3: + resolution: {integrity: sha512-w16Xk/Ta9Hhyei0Gpz9m7VS8F28nieJaL/VyShID7cYvP6IL5oHeL6p4TXSDJqZE/lNv0oJ2pGVjJsRkfwm5FA==} + engines: {node: '>=6'} + hasBin: true dependencies: copy-anything: 2.0.6 parse-node-version: 1.0.1 @@ -10433,139 +5642,176 @@ snapshots: source-map: 0.6.1 transitivePeerDependencies: - supports-color + dev: true - leven@3.1.0: {} + /leven@3.1.0: + resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} + engines: {node: '>=6'} + dev: true - levn@0.4.1: + /levn@0.3.0: + resolution: {integrity: sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==} + engines: {node: '>= 0.8.0'} + dependencies: + prelude-ls: 1.1.2 + type-check: 0.3.2 + dev: true + + /levn@0.4.1: + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} dependencies: prelude-ls: 1.2.1 type-check: 0.4.0 + dev: true - libphonenumber-js@1.10.28: {} - - lines-and-columns@1.2.4: {} - - linkify-it@4.0.1: + /linkify-it@3.0.3: + resolution: {integrity: sha512-ynTsyrFSdE5oZ/O9GEf00kPngmOfVwazR5GKDq6EYfhlpFug3J2zybX56a2PRRpc9P+FuSoGNAwjlbDs9jJBPQ==} dependencies: uc.micro: 1.0.6 + dev: true - linkify-it@5.0.0: + /linkify-it@4.0.1: + resolution: {integrity: sha512-C7bfi1UZmoj8+PQx22XyeXCuBlokoyWQL5pWSP+EI6nzRylyThouddufc2c1NDIcP9k5agmN9fLpA7VNJfIiqw==} dependencies: - uc.micro: 2.1.0 + uc.micro: 1.0.6 + dev: false - load-tsconfig@0.2.5: {} + /local-pkg@0.4.3: + resolution: {integrity: sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==} + engines: {node: '>=14'} + dev: true - local-pkg@0.4.3: {} - - local-pkg@0.5.1: - dependencies: - mlly: 1.7.3 - pkg-types: 1.2.1 - - locate-path@5.0.0: + /locate-path@5.0.0: + resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} + engines: {node: '>=8'} dependencies: p-locate: 4.1.0 + dev: false - locate-path@6.0.0: + /locate-path@6.0.0: + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} dependencies: p-locate: 5.0.0 + dev: true - lodash-es@4.17.21: {} + /lodash-es@4.17.21: + resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} + dev: false - lodash.debounce@4.0.8: {} + /lodash.debounce@4.0.8: + resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} + dev: true - lodash.merge@4.6.2: {} + /lodash.merge@4.6.2: + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + dev: true - lodash.sortby@4.7.0: {} + /lodash.sortby@4.7.0: + resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} + dev: true - lodash@4.17.21: {} + /lodash@4.17.21: + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} - log-symbols@4.1.0: - dependencies: - chalk: 4.1.2 - is-unicode-supported: 0.1.0 - - loupe@2.3.6: + /loupe@2.3.6: + resolution: {integrity: sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==} dependencies: get-func-name: 2.0.0 + dev: true - lower-case-first@1.0.2: - dependencies: - lower-case: 1.1.4 - - lower-case@1.1.4: {} - - lower-case@2.0.2: + /lower-case@2.0.2: + resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} dependencies: tslib: 2.5.0 + dev: false - lru-cache@4.1.5: + /lru-cache@4.1.5: + resolution: {integrity: sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==} dependencies: pseudomap: 1.0.2 yallist: 2.1.2 + dev: true - lru-cache@5.1.1: + /lru-cache@5.1.1: + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} dependencies: yallist: 3.1.1 + dev: true - lru-cache@6.0.0: + /lru-cache@6.0.0: + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} + engines: {node: '>=10'} dependencies: yallist: 4.0.0 + dev: true - magic-string@0.25.9: + /magic-string@0.25.9: + resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==} dependencies: sourcemap-codec: 1.4.8 - magic-string@0.30.0: + /magic-string@0.30.0: + resolution: {integrity: sha512-LA+31JYDJLs82r2ScLrlz1GjSgu66ZV518eyWT+S8VhyQn/JL0u9MeBOvQMGYiPk1DBiSN9DDMOcXvigJZaViQ==} + engines: {node: '>=12'} dependencies: '@jridgewell/sourcemap-codec': 1.4.15 + dev: true - magic-string@0.30.15: - dependencies: - '@jridgewell/sourcemap-codec': 1.5.0 - - magic-string@0.30.2: - dependencies: - '@jridgewell/sourcemap-codec': 1.4.15 - - magic-string@0.30.5: - dependencies: - '@jridgewell/sourcemap-codec': 1.4.15 - - make-dir@2.1.0: + /make-dir@2.1.0: + resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==} + engines: {node: '>=6'} + requiresBuild: true dependencies: pify: 4.0.1 - semver: 5.7.2 + semver: 5.7.1 + dev: true optional: true - make-error@1.3.6: {} + /make-dir@3.1.0: + resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} + engines: {node: '>=8'} + dependencies: + semver: 6.3.0 + dev: true - map-stream@0.1.0: {} + /make-error@1.3.6: + resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} + dev: false - markdown-it@13.0.2: + /map-stream@0.1.0: + resolution: {integrity: sha512-CkYQrPYZfWnu/DAmVCpTSX/xHpKZ80eKh2lAkyA6AJTef6bW+6JpbQZN5rofum7da+SyN1bi5ctTm+lTfcCW3g==} + dev: true + + /markdown-it@12.3.2: + resolution: {integrity: sha512-TchMembfxfNVpHkbtriWltGWc+m3xszaRD0CZup7GFFhzIgQqxIfn3eGj1yZpfuflzPvfkt611B2Q/Bsk1YnGg==} + hasBin: true + dependencies: + argparse: 2.0.1 + entities: 2.1.0 + linkify-it: 3.0.3 + mdurl: 1.0.1 + uc.micro: 1.0.6 + dev: true + + /markdown-it@13.0.1: + resolution: {integrity: sha512-lTlxriVoy2criHP0JKRhO2VDG9c2ypWCsT237eDiLqi09rmbKoUetyGHq2uOIRoRS//kfoJckS0eUzzkDR+k2Q==} + hasBin: true dependencies: argparse: 2.0.1 entities: 3.0.1 linkify-it: 4.0.1 mdurl: 1.0.1 uc.micro: 1.0.6 + dev: false - markdown-it@14.1.0: + /mathjs@10.6.4: + resolution: {integrity: sha512-omQyvRE1jIy+3k2qsqkWASOcd45aZguXZDckr3HtnTYyXk5+2xpVfC3kATgbO2Srjxlqww3TVdhD0oUdZ/hiFA==} + engines: {node: '>= 14'} + hasBin: true dependencies: - argparse: 2.0.1 - entities: 4.5.0 - linkify-it: 5.0.0 - mdurl: 2.0.0 - punycode.js: 2.3.1 - uc.micro: 2.1.0 - - marked@10.0.0: {} - - math-intrinsics@1.0.0: {} - - mathjs@11.9.1: - dependencies: - '@babel/runtime': 7.22.10 + '@babel/runtime': 7.21.0 complex.js: 2.1.1 decimal.js: 10.4.3 escape-latex: 1.2.0 @@ -10573,1905 +5819,2546 @@ snapshots: javascript-natural-sort: 0.7.1 seedrandom: 3.0.5 tiny-emitter: 2.1.0 - typed-function: 4.1.0 + typed-function: 2.1.0 + dev: false - mdast-util-from-markdown@0.8.5: - dependencies: - '@types/mdast': 3.0.11 - mdast-util-to-string: 2.0.0 - micromark: 2.11.4 - parse-entities: 2.0.0 - unist-util-stringify-position: 2.0.3 - transitivePeerDependencies: - - supports-color + /mdn-data@2.0.14: + resolution: {integrity: sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==} + dev: true - mdast-util-to-string@2.0.0: {} + /mdn-data@2.0.30: + resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==} + dev: true - mdn-data@2.0.28: {} + /mdurl@1.0.1: + resolution: {integrity: sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==} - mdn-data@2.0.30: {} + /merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + dev: true - mdn-data@2.12.2: {} + /merge2@1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + dev: true - mdurl@1.0.1: {} - - mdurl@2.0.0: {} - - merge-stream@2.0.0: {} - - merge2@1.4.1: {} - - micromark@2.11.4: - dependencies: - debug: 4.4.0 - parse-entities: 2.0.0 - transitivePeerDependencies: - - supports-color - - micromatch@4.0.5: + /micromatch@4.0.5: + resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + engines: {node: '>=8.6'} dependencies: braces: 3.0.2 picomatch: 2.3.1 + dev: true - mime-db@1.52.0: {} + /mime-db@1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} - mime-types@2.1.35: + /mime-types@2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} dependencies: mime-db: 1.52.0 - mime@1.6.0: + /mime@1.6.0: + resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} + engines: {node: '>=4'} + hasBin: true + requiresBuild: true + dev: true optional: true - mimic-fn@2.1.0: {} + /mimic-fn@2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + dev: true - min-indent@1.0.1: {} - - minimatch@3.1.2: + /minimatch@3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} dependencies: brace-expansion: 1.1.11 - minimatch@5.1.6: + /minimatch@5.1.6: + resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} + engines: {node: '>=10'} dependencies: brace-expansion: 2.0.1 + dev: true - minimatch@9.0.1: + /minimatch@7.4.6: + resolution: {integrity: sha512-sBz8G/YjVniEz6lKPNpKxXwazJe4c19fEfV2GDMX6AjFz+MX9uDWIZW8XreVhkFW3fkIdTv/gxWr/Kks5FFAVw==} + engines: {node: '>=10'} dependencies: brace-expansion: 2.0.1 + dev: true - minimist@1.2.8: {} + /minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} - mlly@1.4.0: + /mlly@1.2.0: + resolution: {integrity: sha512-+c7A3CV0KGdKcylsI6khWyts/CYrGTrRVo4R/I7u/cUsy0Conxa6LUhiEzVKIw14lc2L5aiO4+SeVe4TeGRKww==} dependencies: - acorn: 8.11.2 - pathe: 1.1.1 - pkg-types: 1.0.3 - ufo: 1.1.2 + acorn: 8.8.2 + pathe: 1.1.0 + pkg-types: 1.0.2 + ufo: 1.1.1 + dev: true - mlly@1.4.2: - dependencies: - acorn: 8.11.2 - pathe: 1.1.1 - pkg-types: 1.0.3 - ufo: 1.3.1 + /mrmime@1.0.1: + resolution: {integrity: sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==} + engines: {node: '>=10'} + dev: true - mlly@1.7.3: - dependencies: - acorn: 8.14.0 - pathe: 1.1.2 - pkg-types: 1.2.1 - ufo: 1.5.4 + /ms@2.1.2: + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} - monaco-editor@0.43.0: {} + /ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - moo@0.5.2: {} - - mrmime@2.0.0: {} - - ms@2.1.2: {} - - ms@2.1.3: {} - - muggle-string@0.3.1: {} - - naive-ui@2.35.0(vue@3.3.4): + /naive-ui@2.34.3(vue@3.2.47): + resolution: {integrity: sha512-fUMr0dzb/iGsOTWgoblPVobY5X5dihQ1eam5dA+H74oyLYAvgX4pL96xQFPBLIYqvyRFBAsN85kHN5pLqdtpxA==} + peerDependencies: + vue: ^3.0.0 dependencies: '@css-render/plugin-bem': 0.15.12(css-render@0.15.12) - '@css-render/vue3-ssr': 0.15.12(vue@3.3.4) - '@types/katex': 0.16.5 - '@types/lodash': 4.14.200 - '@types/lodash-es': 4.17.10 + '@css-render/vue3-ssr': 0.15.12(vue@3.2.47) + '@types/katex': 0.14.0 + '@types/lodash': 4.14.192 + '@types/lodash-es': 4.17.7 async-validator: 4.2.5 css-render: 0.15.12 - date-fns: 2.30.0 - date-fns-tz: 2.0.0(date-fns@2.30.0) + date-fns: 2.29.3 + date-fns-tz: 1.3.8(date-fns@2.29.3) evtd: 0.2.4 - highlight.js: 11.9.0 + highlight.js: 11.7.0 lodash: 4.17.21 lodash-es: 4.17.21 seemly: 0.3.6 treemate: 0.3.11 - vdirs: 0.1.8(vue@3.3.4) - vooks: 0.2.12(vue@3.3.4) - vue: 3.3.4 - vueuc: 0.4.51(vue@3.3.4) + vdirs: 0.1.8(vue@3.2.47) + vooks: 0.2.12(vue@3.2.47) + vue: 3.2.47 + vueuc: 0.4.51(vue@3.2.47) + dev: false - nanoid@3.3.6: {} + /nanoid@3.3.6: + resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true - nanoid@3.3.8: {} + /natural-compare-lite@1.4.0: + resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==} + dev: true - natural-compare@1.4.0: {} + /natural-compare@1.4.0: + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + dev: true - nearley@2.20.1: - dependencies: - commander: 2.20.3 - moo: 0.5.2 - railroad-diagrams: 1.0.0 - randexp: 0.4.6 - - needle@3.2.0: + /needle@3.2.0: + resolution: {integrity: sha512-oUvzXnyLiVyVGoianLijF9O/RecZUf7TkBfimjGrLM4eQhXyeJwM6GeAWccwfQ9aa4gMCZKqhAOuLaMIcQxajQ==} + engines: {node: '>= 4.4.x'} + hasBin: true + requiresBuild: true dependencies: debug: 3.2.7 iconv-lite: 0.6.3 sax: 1.2.4 transitivePeerDependencies: - supports-color + dev: true optional: true - netmask@2.0.2: {} + /netmask@2.0.2: + resolution: {integrity: sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==} + engines: {node: '>= 0.4.0'} + dev: false - no-case@2.3.2: - dependencies: - lower-case: 1.1.4 - - no-case@3.0.4: + /no-case@3.0.4: + resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} dependencies: lower-case: 2.0.2 tslib: 2.5.0 + dev: false - node-domexception@1.0.0: {} + /node-domexception@1.0.0: + resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} + engines: {node: '>=10.5.0'} + dev: true - node-fetch-native@1.6.4: {} + /node-fetch-native@1.1.0: + resolution: {integrity: sha512-nl5goFCig93JZ9FIV8GHT9xpNqXbxQUzkOmKIMKmncsBH9jhg7qKex8hirpymkBFmNQ114chEEG5lS4wgK2I+Q==} + dev: true - node-fetch@3.2.10: + /node-fetch@2.6.9: + resolution: {integrity: sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg==} + engines: {node: 4.x || >=6.0.0} + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + dependencies: + whatwg-url: 5.0.0 + dev: false + + /node-fetch@3.2.10: + resolution: {integrity: sha512-MhuzNwdURnZ1Cp4XTazr69K0BTizsBroX7Zx3UgDSVcZYKF/6p0CBe4EUb/hLqmzVhl0UpYfgRljQ4yxE+iCxA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: data-uri-to-buffer: 4.0.1 fetch-blob: 3.2.0 formdata-polyfill: 4.0.10 + dev: true - node-forge@1.3.1: {} + /node-forge@1.3.1: + resolution: {integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==} + engines: {node: '>= 6.13.0'} + dev: false - node-releases@2.0.12: {} + /node-releases@2.0.10: + resolution: {integrity: sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==} + dev: true - node-releases@2.0.13: {} - - node-releases@2.0.19: {} - - nopt@6.0.0: + /nopt@6.0.0: + resolution: {integrity: sha512-ZwLpbTgdhuZUnZzjd7nb1ZV+4DoiC6/sfiVKok72ym/4Tlf+DFdlHYmT2JPmcNNWV6Pi3SDf1kT+A4r9RTuT9g==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + hasBin: true dependencies: abbrev: 1.1.1 + dev: true - normalize-package-data@2.5.0: - dependencies: - hosted-git-info: 2.8.9 - resolve: 1.22.8 - semver: 5.7.2 - validate-npm-package-license: 3.0.4 + /normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + dev: true - normalize-path@3.0.0: {} - - npm-run-path@4.0.1: + /npm-run-path@4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} dependencies: path-key: 3.1.1 + dev: true - nth-check@2.1.1: + /nth-check@2.1.1: + resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} dependencies: boolbase: 1.0.0 + dev: true - nwsapi@2.2.7: {} + /nwsapi@2.2.3: + resolution: {integrity: sha512-jscxIO4/VKScHlbmFBdV1Z6LXnLO+ZR4VMtypudUdfwtKxUN3TQcNFIHLwKtrUbDyHN4/GycY9+oRGZ2XMXYPw==} + dev: true - object-inspect@1.13.3: {} + /object-assign@4.1.1: + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} + dev: true - object-keys@1.1.1: {} + /object-inspect@1.12.3: + resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==} + dev: true - object.assign@4.1.5: + /object-keys@1.1.1: + resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} + engines: {node: '>= 0.4'} + dev: true + + /object.assign@4.1.4: + resolution: {integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==} + engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.8 - define-properties: 1.2.1 - has-symbols: 1.1.0 + call-bind: 1.0.2 + define-properties: 1.2.0 + has-symbols: 1.0.3 object-keys: 1.1.1 + dev: true - object.omit@3.0.0: + /object.omit@3.0.0: + resolution: {integrity: sha512-EO+BCv6LJfu+gBIF3ggLicFebFLN5zqzz/WWJlMFfkMyGth+oBkhxzDl0wx2W4GkLzuQs/FsSkXZb2IMWQqmBQ==} + engines: {node: '>=0.10.0'} dependencies: is-extendable: 1.0.1 + dev: false - object.pick@1.3.0: + /object.pick@1.3.0: + resolution: {integrity: sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==} + engines: {node: '>=0.10.0'} dependencies: isobject: 3.0.1 + dev: false - ofetch@1.4.1: + /object.values@1.1.6: + resolution: {integrity: sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==} + engines: {node: '>= 0.4'} dependencies: - destr: 2.0.3 - node-fetch-native: 1.6.4 - ufo: 1.5.4 + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.21.2 + dev: true - once@1.4.0: + /ofetch@1.0.1: + resolution: {integrity: sha512-icBz2JYfEpt+wZz1FRoGcrMigjNKjzvufE26m9+yUiacRQRHwnNlGRPiDnW4op7WX/MR6aniwS8xw8jyVelF2g==} + dependencies: + destr: 1.2.2 + node-fetch-native: 1.1.0 + ufo: 1.1.1 + dev: true + + /once@1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} dependencies: wrappy: 1.0.2 - onetime@5.1.2: + /onetime@5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} dependencies: mimic-fn: 2.1.0 + dev: true - open@8.4.2: + /open@8.4.2: + resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} + engines: {node: '>=12'} dependencies: define-lazy-prop: 2.0.0 is-docker: 2.2.1 is-wsl: 2.2.0 + dev: true - optionator@0.9.3: + /optionator@0.8.3: + resolution: {integrity: sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==} + engines: {node: '>= 0.8.0'} + dependencies: + deep-is: 0.1.4 + fast-levenshtein: 2.0.6 + levn: 0.3.0 + prelude-ls: 1.1.2 + type-check: 0.3.2 + word-wrap: 1.2.3 + dev: true + + /optionator@0.9.1: + resolution: {integrity: sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==} + engines: {node: '>= 0.8.0'} dependencies: - '@aashutoshrathi/word-wrap': 1.2.6 deep-is: 0.1.4 fast-levenshtein: 2.0.6 levn: 0.4.1 prelude-ls: 1.2.1 type-check: 0.4.0 + word-wrap: 1.2.3 + dev: true - ora@5.4.1: + /orderedmap@2.1.0: + resolution: {integrity: sha512-/pIFexOm6S70EPdznemIz3BQZoJ4VTFrhqzu0ACBqBgeLsLxq8e6Jim63ImIfwW/zAD1AlXpRMlOv3aghmo4dA==} + dev: false + + /oui@12.0.52: + resolution: {integrity: sha512-LqU1oQeGUpMrJ1ZUi7bQKrADD6CMkEe0wpviX/stOZTw4kzEy+yKXVprtVO5O6G4+S6XiTb6BOx6p8fh2o5vyw==} + hasBin: true dependencies: - bl: 4.1.0 - chalk: 4.1.2 - cli-cursor: 3.1.0 - cli-spinners: 2.9.1 - is-interactive: 1.0.0 - is-unicode-supported: 0.1.0 - log-symbols: 4.1.0 - strip-ansi: 6.0.1 - wcwidth: 1.0.1 + char-spinner: 1.0.1 + country-data: 0.0.31 + fetch-enhanced: 5.0.2 + json-stable-stringify: 1.0.2 + minimatch: 3.1.2 + minimist: 1.2.8 + node-fetch: 2.6.9 + text-table: 0.2.0 + transitivePeerDependencies: + - encoding + - supports-color + dev: false - orderedmap@2.1.1: {} - - oui-data@1.0.10: {} - - p-limit@2.3.0: + /p-limit@2.3.0: + resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} + engines: {node: '>=6'} dependencies: p-try: 2.2.0 + dev: false - p-limit@3.1.0: + /p-limit@3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} dependencies: yocto-queue: 0.1.0 + dev: true - p-limit@4.0.0: - dependencies: - yocto-queue: 1.0.0 - - p-locate@4.1.0: + /p-locate@4.1.0: + resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} + engines: {node: '>=8'} dependencies: p-limit: 2.3.0 + dev: false - p-locate@5.0.0: + /p-locate@5.0.0: + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} dependencies: p-limit: 3.1.0 + dev: true - p-try@2.2.0: {} + /p-try@2.2.0: + resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} + engines: {node: '>=6'} + dev: false - package-manager-detector@0.2.7: {} - - param-case@2.1.1: - dependencies: - no-case: 2.3.2 - - param-case@3.0.4: + /param-case@3.0.4: + resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==} dependencies: dot-case: 3.0.4 tslib: 2.5.0 + dev: false - parent-module@1.0.1: + /parent-module@1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} dependencies: callsites: 3.1.0 + dev: true - parse-entities@2.0.0: - dependencies: - character-entities: 1.2.4 - character-entities-legacy: 1.1.4 - character-reference-invalid: 1.1.4 - is-alphanumerical: 1.0.4 - is-decimal: 1.0.4 - is-hexadecimal: 1.0.4 + /parse-node-version@1.0.1: + resolution: {integrity: sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==} + engines: {node: '>= 0.10'} + dev: true - parse-json@5.2.0: - dependencies: - '@babel/code-frame': 7.22.10 - error-ex: 1.3.2 - json-parse-even-better-errors: 2.3.1 - lines-and-columns: 1.2.4 + /parse5@6.0.1: + resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==} + dev: true - parse-node-version@1.0.1: {} - - parse5@7.1.2: - dependencies: - entities: 4.5.0 - - pascal-case@2.0.1: - dependencies: - camel-case: 3.0.0 - upper-case-first: 1.1.2 - - pascal-case@3.1.2: + /pascal-case@3.1.2: + resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==} dependencies: no-case: 3.0.4 tslib: 2.5.0 + dev: false - path-case@2.1.1: - dependencies: - no-case: 2.3.2 - - path-case@3.0.4: + /path-case@3.0.4: + resolution: {integrity: sha512-qO4qCFjXqVTrcbPt/hQfhTQ+VhFsqNKOPtytgNKkKxSoEp3XPUQ8ObFuePylOIok5gjn69ry8XiULxCwot3Wfg==} dependencies: dot-case: 3.0.4 tslib: 2.5.0 + dev: false - path-exists@4.0.0: {} + /path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} - path-is-absolute@1.0.1: {} + /path-is-absolute@1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} - path-key@3.1.1: {} + /path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + dev: true - path-parse@1.0.7: {} + /path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + dev: true - path-type@4.0.0: {} + /path-type@4.0.0: + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} + engines: {node: '>=8'} + dev: true - pathe@1.1.1: {} + /pathe@1.1.0: + resolution: {integrity: sha512-ODbEPR0KKHqECXW1GoxdDb+AZvULmXjVPy4rt+pGo2+TnjJTIPJQSVS6N63n8T2Ip+syHhbn52OewKicV0373w==} + dev: true - pathe@1.1.2: {} + /pathval@1.1.1: + resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} + dev: true - pathval@1.1.1: {} - - pause-stream@0.0.11: + /pause-stream@0.0.11: + resolution: {integrity: sha512-e3FBlXLmN/D1S+zHzanP4E/4Z60oFAa3O051qt1pxa7DEJWKAyil6upYVXCWadEnuoqa4Pkc9oUx9zsxYeRv8A==} dependencies: through: 2.3.8 + dev: true - pdf-signature-reader@1.4.2: - dependencies: - base64-js: 1.5.1 - ieee754: 1.2.1 - node-forge: 1.3.1 + /perfect-debounce@0.1.3: + resolution: {integrity: sha512-NOT9AcKiDGpnV/HBhI22Str++XWcErO/bALvHCuhv33owZW/CjH8KAFLZDCmu3727sihe0wTxpDhyGc6M8qacQ==} + dev: true - perfect-debounce@1.0.0: {} + /picocolors@1.0.0: + resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} - picocolors@1.0.0: {} + /picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + dev: true - picocolors@1.1.1: {} - - picomatch@2.3.1: {} - - picomatch@4.0.2: {} - - pify@4.0.1: + /pify@4.0.1: + resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} + engines: {node: '>=6'} + dev: true optional: true - pinia@2.0.34(typescript@5.2.2)(vue@3.3.4): + /pinia@2.0.34(typescript@4.5.5)(vue@3.2.47): + resolution: {integrity: sha512-cgOoGUiyqX0SSgX8XelK9+Ri4XA2/YyNtgjogwfzIx1g7iZTaZPxm7/bZYMCLU2qHRiHhxG7SuQO0eBacFNc2Q==} + peerDependencies: + '@vue/composition-api': ^1.4.0 + typescript: '>=4.4.4' + vue: ^2.6.14 || ^3.2.0 + peerDependenciesMeta: + '@vue/composition-api': + optional: true + typescript: + optional: true dependencies: '@vue/devtools-api': 6.5.0 - vue: 3.3.4 - vue-demi: 0.13.11(vue@3.3.4) - optionalDependencies: - typescript: 5.2.2 + typescript: 4.5.5 + vue: 3.2.47 + vue-demi: 0.13.11(vue@3.2.47) + dev: false - pkg-types@1.0.3: + /pkg-types@1.0.2: + resolution: {integrity: sha512-hM58GKXOcj8WTqUXnsQyJYXdeAPbythQgEF3nTcEo+nkD49chjQ9IKm/QJy9xf6JakXptz86h7ecP2024rrLaQ==} dependencies: jsonc-parser: 3.2.0 - mlly: 1.4.2 - pathe: 1.1.1 + mlly: 1.2.0 + pathe: 1.1.0 + dev: true - pkg-types@1.2.1: - dependencies: - confbox: 0.1.8 - mlly: 1.7.3 - pathe: 1.1.2 + /plausible-tracker@0.3.8: + resolution: {integrity: sha512-lmOWYQ7s9KOUJ1R+YTOR3HrjdbxIS2Z4de0P/Jx2dQPteznJl2eX3tXxKClpvbfyGP59B5bbhW8ftN59HbbFSg==} + engines: {node: '>=10'} + dev: false - plausible-tracker@0.3.8: {} + /playwright-core@1.32.3: + resolution: {integrity: sha512-SB+cdrnu74ZIn5Ogh/8278ngEh9NEEV0vR4sJFmK04h2iZpybfbqBY0bX6+BLYWVdV12JLLI+JEFtSnYgR+mWg==} + engines: {node: '>=14'} + hasBin: true + dev: true - playwright-core@1.32.3: {} + /pngjs@5.0.0: + resolution: {integrity: sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==} + engines: {node: '>=10.13.0'} + dev: false - pluralize@8.0.0: {} - - pngjs@5.0.0: {} - - possible-typed-array-names@1.0.0: {} - - postcss-selector-parser@6.0.13: + /postcss-selector-parser@6.0.11: + resolution: {integrity: sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==} + engines: {node: '>=4'} dependencies: cssesc: 3.0.0 util-deprecate: 1.0.2 + dev: true - postcss@8.4.21: + /postcss@8.4.21: + resolution: {integrity: sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==} + engines: {node: ^10 || ^12 || >=14} dependencies: nanoid: 3.3.6 picocolors: 1.0.0 source-map-js: 1.0.2 - postcss@8.4.28: + /prelude-ls@1.1.2: + resolution: {integrity: sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==} + engines: {node: '>= 0.8.0'} + dev: true + + /prelude-ls@1.2.1: + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} + dev: true + + /prettier-linter-helpers@1.0.0: + resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==} + engines: {node: '>=6.0.0'} dependencies: - nanoid: 3.3.6 - picocolors: 1.0.0 - source-map-js: 1.0.2 + fast-diff: 1.2.0 + dev: true - postcss@8.4.49: + /prettier@2.8.7: + resolution: {integrity: sha512-yPngTo3aXUUmyuTjeTUT75txrf+aMh9FiD7q9ZE/i6r0bPb22g4FsE6Y338PQX1bmfy08i9QQCB7/rcUAVntfw==} + engines: {node: '>=10.13.0'} + hasBin: true + dev: true + + /pretty-bytes@5.6.0: + resolution: {integrity: sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==} + engines: {node: '>=6'} + dev: true + + /promise@7.3.1: + resolution: {integrity: sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==} dependencies: - nanoid: 3.3.8 - picocolors: 1.1.1 - source-map-js: 1.2.1 + asap: 2.0.6 + dev: true - prelude-ls@1.2.1: {} - - prettier@3.0.0: {} - - pretty-bytes@5.6.0: {} - - pretty-bytes@6.1.0: {} - - pretty-format@29.6.2: + /prosemirror-changeset@2.2.0: + resolution: {integrity: sha512-QM7ohGtkpVpwVGmFb8wqVhaz9+6IUXcIQBGZ81YNAKYuHiFJ1ShvSzab4pKqTinJhwciZbrtBEk/2WsqSt2PYg==} dependencies: - '@jest/schemas': 29.6.0 - ansi-styles: 5.2.0 - react-is: 18.2.0 + prosemirror-transform: 1.7.1 + dev: false - prosemirror-changeset@2.2.1: + /prosemirror-collab@1.3.0: + resolution: {integrity: sha512-+S/IJ69G2cUu2IM5b3PBekuxs94HO1CxJIWOFrLQXUaUDKL/JfBx+QcH31ldBlBXyDEUl+k3Vltfi1E1MKp2mA==} dependencies: - prosemirror-transform: 1.7.3 + prosemirror-state: 1.4.2 + dev: false - prosemirror-collab@1.3.1: + /prosemirror-commands@1.5.1: + resolution: {integrity: sha512-ga1ga/RkbzxfAvb6iEXYmrEpekn5NCwTb8w1dr/gmhSoaGcQ0VPuCzOn5qDEpC45ql2oDkKoKQbRxLJwKLpMTQ==} dependencies: - prosemirror-state: 1.4.3 + prosemirror-model: 1.19.0 + prosemirror-state: 1.4.2 + prosemirror-transform: 1.7.1 + dev: false - prosemirror-commands@1.5.2: + /prosemirror-dropcursor@1.8.0: + resolution: {integrity: sha512-TZMitR8nlp9Xh42pDYGcWopCoFPmJduoyGJ7FjYM2/7gZKnfD41TIaZN5Q1cQjm6Fm/P5vk/DpVYFhS8kDdigw==} dependencies: - prosemirror-model: 1.19.2 - prosemirror-state: 1.4.3 - prosemirror-transform: 1.7.3 + prosemirror-state: 1.4.2 + prosemirror-transform: 1.7.1 + prosemirror-view: 1.30.2 + dev: false - prosemirror-dropcursor@1.8.1: + /prosemirror-gapcursor@1.3.1: + resolution: {integrity: sha512-GKTeE7ZoMsx5uVfc51/ouwMFPq0o8YrZ7Hx4jTF4EeGbXxBveUV8CGv46mSHuBBeXGmvu50guoV2kSnOeZZnUA==} dependencies: - prosemirror-state: 1.4.3 - prosemirror-transform: 1.7.3 - prosemirror-view: 1.31.4 + prosemirror-keymap: 1.2.1 + prosemirror-model: 1.19.0 + prosemirror-state: 1.4.2 + prosemirror-view: 1.30.2 + dev: false - prosemirror-gapcursor@1.3.2: + /prosemirror-history@1.3.0: + resolution: {integrity: sha512-qo/9Wn4B/Bq89/YD+eNWFbAytu6dmIM85EhID+fz9Jcl9+DfGEo8TTSrRhP15+fFEoaPqpHSxlvSzSEbmlxlUA==} dependencies: - prosemirror-keymap: 1.2.2 - prosemirror-model: 1.19.2 - prosemirror-state: 1.4.3 - prosemirror-view: 1.31.4 + prosemirror-state: 1.4.2 + prosemirror-transform: 1.7.1 + rope-sequence: 1.3.3 + dev: false - prosemirror-history@1.3.2: + /prosemirror-inputrules@1.2.0: + resolution: {integrity: sha512-eAW/M/NTSSzpCOxfR8Abw6OagdG0MiDAiWHQMQveIsZtoKVYzm0AflSPq/ymqJd56/Su1YPbwy9lM13wgHOFmQ==} dependencies: - prosemirror-state: 1.4.3 - prosemirror-transform: 1.7.3 - prosemirror-view: 1.31.4 - rope-sequence: 1.3.4 + prosemirror-state: 1.4.2 + prosemirror-transform: 1.7.1 + dev: false - prosemirror-inputrules@1.2.1: + /prosemirror-keymap@1.2.1: + resolution: {integrity: sha512-kVK6WGC+83LZwuSJnuCb9PsADQnFZllt94qPP3Rx/vLcOUV65+IbBeH2nS5cFggPyEVJhGkGrgYFRrG250WhHQ==} dependencies: - prosemirror-state: 1.4.3 - prosemirror-transform: 1.7.3 + prosemirror-state: 1.4.2 + w3c-keyname: 2.2.6 + dev: false - prosemirror-keymap@1.2.2: + /prosemirror-markdown@1.10.1: + resolution: {integrity: sha512-s7iaTLiX+qO5z8kF2NcMmy2T7mIlxzkS4Sp3vTKSYChPtbMpg6YxFkU0Y06rUg2WtKlvBu7v1bXzlGBkfjUWAA==} dependencies: - prosemirror-state: 1.4.3 - w3c-keyname: 2.2.8 + markdown-it: 13.0.1 + prosemirror-model: 1.19.0 + dev: false - prosemirror-markdown@1.11.0: + /prosemirror-menu@1.2.1: + resolution: {integrity: sha512-sBirXxVfHalZO4f1ZS63WzewINK4182+7dOmoMeBkqYO8wqMBvBS7wQuwVOHnkMWPEh0+N0LJ856KYUN+vFkmQ==} dependencies: - markdown-it: 13.0.2 - prosemirror-model: 1.19.2 + crelt: 1.0.5 + prosemirror-commands: 1.5.1 + prosemirror-history: 1.3.0 + prosemirror-state: 1.4.2 + dev: false - prosemirror-menu@1.2.2: + /prosemirror-model@1.19.0: + resolution: {integrity: sha512-/CvFGJnwc41EJSfDkQLly1cAJJJmBpZwwUJtwZPTjY2RqZJfM8HVbCreOY/jti8wTRbVyjagcylyGoeJH/g/3w==} dependencies: - crelt: 1.0.6 - prosemirror-commands: 1.5.2 - prosemirror-history: 1.3.2 - prosemirror-state: 1.4.3 + orderedmap: 2.1.0 + dev: false - prosemirror-model@1.19.2: + /prosemirror-schema-basic@1.2.1: + resolution: {integrity: sha512-vYBdIHsYKSDIqYmPBC7lnwk9DsKn8PnVqK97pMYP5MLEDFqWIX75JiaJTzndBii4bRuNqhC2UfDOfM3FKhlBHg==} dependencies: - orderedmap: 2.1.1 + prosemirror-model: 1.19.0 + dev: false - prosemirror-schema-basic@1.2.2: + /prosemirror-schema-list@1.2.2: + resolution: {integrity: sha512-rd0pqSDp86p0MUMKG903g3I9VmElFkQpkZ2iOd3EOVg1vo5Cst51rAsoE+5IPy0LPXq64eGcCYlW1+JPNxOj2w==} dependencies: - prosemirror-model: 1.19.2 + prosemirror-model: 1.19.0 + prosemirror-state: 1.4.2 + prosemirror-transform: 1.7.1 + dev: false - prosemirror-schema-list@1.3.0: + /prosemirror-state@1.4.2: + resolution: {integrity: sha512-puuzLD2mz/oTdfgd8msFbe0A42j5eNudKAAPDB0+QJRw8cO1ygjLmhLrg9RvDpf87Dkd6D4t93qdef00KKNacQ==} dependencies: - prosemirror-model: 1.19.2 - prosemirror-state: 1.4.3 - prosemirror-transform: 1.7.3 + prosemirror-model: 1.19.0 + prosemirror-transform: 1.7.1 + prosemirror-view: 1.30.2 + dev: false - prosemirror-state@1.4.3: + /prosemirror-tables@1.3.2: + resolution: {integrity: sha512-/9JTeN6s58Zq66HXaxP6uf8PAmc7XXKZFPlOGVtLvxEd6xBP6WtzaJB9wBjiGUzwbdhdMEy7V62yuHqk/3VrnQ==} dependencies: - prosemirror-model: 1.19.2 - prosemirror-transform: 1.7.3 - prosemirror-view: 1.31.4 + prosemirror-keymap: 1.2.1 + prosemirror-model: 1.19.0 + prosemirror-state: 1.4.2 + prosemirror-transform: 1.7.1 + prosemirror-view: 1.30.2 + dev: false - prosemirror-tables@1.3.3: + /prosemirror-trailing-node@2.0.3(prosemirror-model@1.19.0)(prosemirror-state@1.4.2)(prosemirror-view@1.30.2): + resolution: {integrity: sha512-lGrjMrn97KWkjQSW/FjdvnhJmqFACmQIyr6lKYApvHitDnKsCoZz6XzrHB7RZYHni/0NxQmZ01p/2vyK2SkvaA==} + peerDependencies: + prosemirror-model: ^1 + prosemirror-state: ^1 + prosemirror-view: ^1 dependencies: - prosemirror-keymap: 1.2.2 - prosemirror-model: 1.19.2 - prosemirror-state: 1.4.3 - prosemirror-transform: 1.7.3 - prosemirror-view: 1.31.4 - - prosemirror-trailing-node@2.0.4(prosemirror-model@1.19.2)(prosemirror-state@1.4.3)(prosemirror-view@1.31.4): - dependencies: - '@babel/runtime': 7.23.2 - '@remirror/core-constants': 2.0.1 - '@remirror/core-helpers': 2.0.3 + '@babel/runtime': 7.21.0 + '@remirror/core-constants': 2.0.0 + '@remirror/core-helpers': 2.0.1 escape-string-regexp: 4.0.0 - prosemirror-model: 1.19.2 - prosemirror-state: 1.4.3 - prosemirror-view: 1.31.4 - transitivePeerDependencies: - - supports-color + prosemirror-model: 1.19.0 + prosemirror-state: 1.4.2 + prosemirror-view: 1.30.2 + dev: false - prosemirror-transform@1.7.3: + /prosemirror-transform@1.7.1: + resolution: {integrity: sha512-VteoifAfpt46z0yEt6Fc73A5OID9t/y2QIeR5MgxEwTuitadEunD/V0c9jQW8ziT8pbFM54uTzRLJ/nLuQjMxg==} dependencies: - prosemirror-model: 1.19.2 + prosemirror-model: 1.19.0 + dev: false - prosemirror-view@1.31.4: + /prosemirror-view@1.30.2: + resolution: {integrity: sha512-nTNzZvalQf9kHeEyO407LiV6DoOs/pXsid88UqW9Vvybo4ozJW2PJhkfZUxCUF1hR/9vJLdhxX84wuw9P9HsXA==} dependencies: - prosemirror-model: 1.19.2 - prosemirror-state: 1.4.3 - prosemirror-transform: 1.7.3 + prosemirror-model: 1.19.0 + prosemirror-state: 1.4.2 + prosemirror-transform: 1.7.1 + dev: false - proto-list@1.2.4: {} + /proto-list@1.2.4: + resolution: {integrity: sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==} + dev: true - prr@1.0.1: + /proxy-from-env@1.1.0: + resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} + dev: false + + /prr@1.0.1: + resolution: {integrity: sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==} + dev: true optional: true - ps-tree@1.2.0: + /ps-tree@1.2.0: + resolution: {integrity: sha512-0VnamPPYHl4uaU/nSFeZZpR21QAWRz+sRv4iW9+v/GS/J5U5iZB5BNN6J0RMoOvdx2gWM2+ZFMIm58q24e4UYA==} + engines: {node: '>= 0.10'} + hasBin: true dependencies: event-stream: 3.3.4 + dev: true - pseudomap@1.0.2: {} + /pseudomap@1.0.2: + resolution: {integrity: sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==} + dev: true - psl@1.9.0: {} + /psl@1.9.0: + resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==} + dev: true - punycode.js@2.3.1: {} + /pug-attrs@3.0.0: + resolution: {integrity: sha512-azINV9dUtzPMFQktvTXciNAfAuVh/L/JCl0vtPCwvOA21uZrC08K/UnmrL+SXGEVc1FwzjW62+xw5S/uaLj6cA==} + dependencies: + constantinople: 4.0.1 + js-stringify: 1.0.2 + pug-runtime: 3.0.1 + dev: true - punycode@2.3.0: {} + /pug-code-gen@3.0.2: + resolution: {integrity: sha512-nJMhW16MbiGRiyR4miDTQMRWDgKplnHyeLvioEJYbk1RsPI3FuA3saEP8uwnTb2nTJEKBU90NFVWJBk4OU5qyg==} + dependencies: + constantinople: 4.0.1 + doctypes: 1.1.0 + js-stringify: 1.0.2 + pug-attrs: 3.0.0 + pug-error: 2.0.0 + pug-runtime: 3.0.1 + void-elements: 3.1.0 + with: 7.0.2 + dev: true - punycode@2.3.1: {} + /pug-error@2.0.0: + resolution: {integrity: sha512-sjiUsi9M4RAGHktC1drQfCr5C5eriu24Lfbt4s+7SykztEOwVZtbFk1RRq0tzLxcMxMYTBR+zMQaG07J/btayQ==} + dev: true - qrcode@1.5.1: + /pug-filters@4.0.0: + resolution: {integrity: sha512-yeNFtq5Yxmfz0f9z2rMXGw/8/4i1cCFecw/Q7+D0V2DdtII5UvqE12VaZ2AY7ri6o5RNXiweGH79OCq+2RQU4A==} + dependencies: + constantinople: 4.0.1 + jstransformer: 1.0.0 + pug-error: 2.0.0 + pug-walk: 2.0.0 + resolve: 1.22.2 + dev: true + + /pug-lexer@5.0.1: + resolution: {integrity: sha512-0I6C62+keXlZPZkOJeVam9aBLVP2EnbeDw3An+k0/QlqdwH6rv8284nko14Na7c0TtqtogfWXcRoFE4O4Ff20w==} + dependencies: + character-parser: 2.2.0 + is-expression: 4.0.0 + pug-error: 2.0.0 + dev: true + + /pug-linker@4.0.0: + resolution: {integrity: sha512-gjD1yzp0yxbQqnzBAdlhbgoJL5qIFJw78juN1NpTLt/mfPJ5VgC4BvkoD3G23qKzJtIIXBbcCt6FioLSFLOHdw==} + dependencies: + pug-error: 2.0.0 + pug-walk: 2.0.0 + dev: true + + /pug-load@3.0.0: + resolution: {integrity: sha512-OCjTEnhLWZBvS4zni/WUMjH2YSUosnsmjGBB1An7CsKQarYSWQ0GCVyd4eQPMFJqZ8w9xgs01QdiZXKVjk92EQ==} + dependencies: + object-assign: 4.1.1 + pug-walk: 2.0.0 + dev: true + + /pug-parser@6.0.0: + resolution: {integrity: sha512-ukiYM/9cH6Cml+AOl5kETtM9NR3WulyVP2y4HOU45DyMim1IeP/OOiyEWRr6qk5I5klpsBnbuHpwKmTx6WURnw==} + dependencies: + pug-error: 2.0.0 + token-stream: 1.0.0 + dev: true + + /pug-runtime@3.0.1: + resolution: {integrity: sha512-L50zbvrQ35TkpHwv0G6aLSuueDRwc/97XdY8kL3tOT0FmhgG7UypU3VztfV/LATAvmUfYi4wNxSajhSAeNN+Kg==} + dev: true + + /pug-strip-comments@2.0.0: + resolution: {integrity: sha512-zo8DsDpH7eTkPHCXFeAk1xZXJbyoTfdPlNR0bK7rpOMuhBYb0f5qUVCO1xlsitYd3w5FQTK7zpNVKb3rZoUrrQ==} + dependencies: + pug-error: 2.0.0 + dev: true + + /pug-walk@2.0.0: + resolution: {integrity: sha512-yYELe9Q5q9IQhuvqsZNwA5hfPkMJ8u92bQLIMcsMxf/VADjNtEYptU+inlufAFYcWdHlwNfZOEnOOQrZrcyJCQ==} + dev: true + + /pug@3.0.2: + resolution: {integrity: sha512-bp0I/hiK1D1vChHh6EfDxtndHji55XP/ZJKwsRqrz6lRia6ZC2OZbdAymlxdVFwd1L70ebrVJw4/eZ79skrIaw==} + dependencies: + pug-code-gen: 3.0.2 + pug-filters: 4.0.0 + pug-lexer: 5.0.1 + pug-linker: 4.0.0 + pug-load: 3.0.0 + pug-parser: 6.0.0 + pug-runtime: 3.0.1 + pug-strip-comments: 2.0.0 + dev: true + + /punycode@2.3.0: + resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} + engines: {node: '>=6'} + dev: true + + /qrcode@1.5.1: + resolution: {integrity: sha512-nS8NJ1Z3md8uTjKtP+SGGhfqmTCs5flU/xR623oI0JX+Wepz9R8UrRVCTBTJm3qGw3rH6jJ6MUHjkDx15cxSSg==} + engines: {node: '>=10.13.0'} + hasBin: true dependencies: dijkstrajs: 1.0.2 encode-utf8: 1.0.3 pngjs: 5.0.0 yargs: 15.4.1 + dev: false - querystringify@2.2.0: {} + /querystringify@2.2.0: + resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==} + dev: true - queue-microtask@1.2.3: {} + /queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + dev: true - railroad-diagrams@1.0.0: {} + /quick-lru@5.1.1: + resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} + engines: {node: '>=10'} + dev: false - randexp@0.4.6: - dependencies: - discontinuous-range: 1.0.0 - ret: 0.1.15 - - randexp@0.5.3: - dependencies: - drange: 1.1.1 - ret: 0.2.2 - - randombytes@2.1.0: + /randombytes@2.1.0: + resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} dependencies: safe-buffer: 5.2.1 - react-is@18.2.0: {} - - read-pkg-up@7.0.1: - dependencies: - find-up: 4.1.0 - read-pkg: 5.2.0 - type-fest: 0.8.1 - - read-pkg@5.2.0: - dependencies: - '@types/normalize-package-data': 2.4.1 - normalize-package-data: 2.5.0 - parse-json: 5.2.0 - type-fest: 0.6.0 - - readable-stream@3.6.2: - dependencies: - inherits: 2.0.4 - string_decoder: 1.3.0 - util-deprecate: 1.0.2 - - readdirp@3.6.0: + /readdirp@3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} dependencies: picomatch: 2.3.1 + dev: true - reflect.getprototypeof@1.0.8: - dependencies: - call-bind: 1.0.8 - define-properties: 1.2.1 - dunder-proto: 1.0.0 - es-abstract: 1.23.5 - es-errors: 1.3.0 - get-intrinsic: 1.2.6 - gopd: 1.2.0 - which-builtin-type: 1.2.1 - - regenerate-unicode-properties@10.2.0: + /regenerate-unicode-properties@10.1.0: + resolution: {integrity: sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==} + engines: {node: '>=4'} dependencies: regenerate: 1.4.2 + dev: true - regenerate@1.4.2: {} + /regenerate@1.4.2: + resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==} + dev: true - regenerator-runtime@0.14.0: {} + /regenerator-runtime@0.13.11: + resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==} - regenerator-runtime@0.14.1: {} - - regenerator-transform@0.15.2: + /regenerator-transform@0.15.1: + resolution: {integrity: sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg==} dependencies: - '@babel/runtime': 7.26.0 + '@babel/runtime': 7.21.0 + dev: true - regexp-tree@0.1.27: {} - - regexp.prototype.flags@1.5.3: + /regexp.prototype.flags@1.4.3: + resolution: {integrity: sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==} + engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.8 - define-properties: 1.2.1 - es-errors: 1.3.0 - set-function-name: 2.0.2 + call-bind: 1.0.2 + define-properties: 1.2.0 + functions-have-names: 1.2.3 + dev: true - regexpu-core@6.2.0: + /regexpu-core@5.3.2: + resolution: {integrity: sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==} + engines: {node: '>=4'} dependencies: + '@babel/regjsgen': 0.8.0 regenerate: 1.4.2 - regenerate-unicode-properties: 10.2.0 - regjsgen: 0.8.0 - regjsparser: 0.12.0 + regenerate-unicode-properties: 10.1.0 + regjsparser: 0.9.1 unicode-match-property-ecmascript: 2.0.0 - unicode-match-property-value-ecmascript: 2.2.0 + unicode-match-property-value-ecmascript: 2.1.0 + dev: true - regjsgen@0.8.0: {} - - regjsparser@0.10.0: + /regjsparser@0.9.1: + resolution: {integrity: sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==} + hasBin: true dependencies: jsesc: 0.5.0 + dev: true - regjsparser@0.12.0: + /require-directory@2.1.1: + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} + + /require-from-string@2.0.2: + resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} + engines: {node: '>=0.10.0'} + dev: true + + /require-main-filename@2.0.0: + resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==} + dev: false + + /requires-port@1.0.0: + resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} + dev: true + + /resolve-from@4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} + dev: true + + /resolve@1.22.2: + resolution: {integrity: sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==} + hasBin: true dependencies: - jsesc: 3.0.2 - - require-directory@2.1.1: {} - - require-from-string@2.0.2: {} - - require-main-filename@2.0.0: {} - - requires-port@1.0.0: {} - - resolve-from@4.0.0: {} - - resolve-pkg-maps@1.0.0: {} - - resolve@1.22.2: - dependencies: - is-core-module: 2.13.1 + is-core-module: 2.12.0 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 + dev: true - resolve@1.22.4: - dependencies: - is-core-module: 2.13.1 - path-parse: 1.0.7 - supports-preserve-symlinks-flag: 1.0.0 + /reusify@1.0.4: + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + dev: true - resolve@1.22.8: - dependencies: - is-core-module: 2.13.1 - path-parse: 1.0.7 - supports-preserve-symlinks-flag: 1.0.0 - - resolve@1.22.9: - dependencies: - is-core-module: 2.16.0 - path-parse: 1.0.7 - supports-preserve-symlinks-flag: 1.0.0 - - restore-cursor@3.1.0: - dependencies: - onetime: 5.1.2 - signal-exit: 3.0.7 - - ret@0.1.15: {} - - ret@0.2.2: {} - - reusify@1.0.4: {} - - rimraf@3.0.2: + /rimraf@3.0.2: + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + hasBin: true dependencies: glob: 7.2.3 + dev: true - rollup@2.79.2: + /rollup-plugin-terser@7.0.2(rollup@2.79.1): + resolution: {integrity: sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==} + deprecated: This package has been deprecated and is no longer maintained. Please use @rollup/plugin-terser + peerDependencies: + rollup: ^2.0.0 + dependencies: + '@babel/code-frame': 7.21.4 + jest-worker: 26.6.2 + rollup: 2.79.1 + serialize-javascript: 4.0.0 + terser: 5.16.9 + dev: true + + /rollup@2.77.3: + resolution: {integrity: sha512-/qxNTG7FbmefJWoeeYJFbHehJ2HNWnjkAFRKzWN/45eNBBF/r8lo992CwcJXEzyVxs5FmfId+vTSTQDb+bxA+g==} + engines: {node: '>=10.0.0'} + hasBin: true optionalDependencies: - fsevents: 2.3.3 + fsevents: 2.3.2 + dev: true - rollup@3.28.0: + /rollup@2.79.1: + resolution: {integrity: sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==} + engines: {node: '>=10.0.0'} + hasBin: true optionalDependencies: - fsevents: 2.3.3 + fsevents: 2.3.2 + dev: true - rope-sequence@1.3.4: {} + /rope-sequence@1.3.3: + resolution: {integrity: sha512-85aZYCxweiD5J8yTEbw+E6A27zSnLPNDL0WfPdw3YYodq7WjnTKo0q4dtyQ2gz23iPT8Q9CUyJtAaUNcTxRf5Q==} + dev: false - rrweb-cssom@0.6.0: {} - - run-parallel@1.2.0: + /run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} dependencies: queue-microtask: 1.2.3 + dev: true - safe-array-concat@1.1.3: + /rxjs@7.8.0: + resolution: {integrity: sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg==} dependencies: - call-bind: 1.0.8 - call-bound: 1.0.2 - get-intrinsic: 1.2.6 - has-symbols: 1.1.0 - isarray: 2.0.5 + tslib: 2.5.0 + dev: true - safe-buffer@5.2.1: {} + /safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - safe-regex-test@1.1.0: + /safe-regex-test@1.0.0: + resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==} dependencies: - call-bound: 1.0.2 - es-errors: 1.3.0 - is-regex: 1.2.1 + call-bind: 1.0.2 + get-intrinsic: 1.2.0 + is-regex: 1.1.4 + dev: true - safer-buffer@2.1.2: {} + /safer-buffer@2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + dev: true - sax@1.2.4: {} + /sax@1.2.4: + resolution: {integrity: sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==} + dev: true + optional: true - saxes@6.0.0: + /saxes@5.0.1: + resolution: {integrity: sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==} + engines: {node: '>=10'} dependencies: xmlchars: 2.2.0 + dev: true - scule@1.0.0: {} + /scule@1.0.0: + resolution: {integrity: sha512-4AsO/FrViE/iDNEPaAQlb77tf0csuq27EsVpy6ett584EcRTp6pTDLoGWVxCD77y5iU5FauOvhsI4o1APwPoSQ==} + dev: true - section-matter@1.0.0: + /section-matter@1.0.0: + resolution: {integrity: sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==} + engines: {node: '>=4'} dependencies: extend-shallow: 2.0.1 kind-of: 6.0.3 + dev: true - seedrandom@3.0.5: {} + /seedrandom@3.0.5: + resolution: {integrity: sha512-8OwmbklUNzwezjGInmZ+2clQmExQPvomqjL7LFqOYqtmuxRgQYqOD3mHaU+MvZn5FLUeVxVfQjwLZW/n/JFuqg==} + dev: false - seemly@0.3.6: {} + /seemly@0.3.6: + resolution: {integrity: sha512-lEV5VB8BUKTo/AfktXJcy+JeXns26ylbMkIUco8CYREsQijuz4mrXres2Q+vMLdwkuLxJdIPQ8IlCIxLYm71Yw==} + dev: false - semver@5.7.2: {} + /semver@5.7.1: + resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==} + hasBin: true + dev: true - semver@6.3.1: {} + /semver@6.3.0: + resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} + hasBin: true + dev: true - semver@7.5.1: + /semver@7.4.0: + resolution: {integrity: sha512-RgOxM8Mw+7Zus0+zcLEUn8+JfoLpj/huFTItQy2hsM4khuC1HYRDp0cU482Ewn/Fcy6bCjufD8vAj7voC66KQw==} + engines: {node: '>=10'} + hasBin: true dependencies: lru-cache: 6.0.0 + dev: true - semver@7.5.4: - dependencies: - lru-cache: 6.0.0 - - semver@7.6.3: {} - - sentence-case@2.1.1: - dependencies: - no-case: 2.3.2 - upper-case-first: 1.1.2 - - sentence-case@3.0.4: + /sentence-case@3.0.4: + resolution: {integrity: sha512-8LS0JInaQMCRoQ7YUytAo/xUu5W2XnQxV2HI/6uM6U7CITS1RqPElr30V6uIqyMKM9lJGRVFy5/4CuzcixNYSg==} dependencies: no-case: 3.0.4 tslib: 2.5.0 upper-case-first: 2.0.2 + dev: false - serialize-javascript@6.0.2: + /serialize-javascript@4.0.0: + resolution: {integrity: sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==} dependencies: randombytes: 2.1.0 + dev: true - set-blocking@2.0.0: {} + /set-blocking@2.0.0: + resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} + dev: false - set-function-length@1.2.2: - dependencies: - define-data-property: 1.1.4 - es-errors: 1.3.0 - function-bind: 1.1.2 - get-intrinsic: 1.2.6 - gopd: 1.2.0 - has-property-descriptors: 1.0.2 - - set-function-name@2.0.2: - dependencies: - define-data-property: 1.1.4 - es-errors: 1.3.0 - functions-have-names: 1.2.3 - has-property-descriptors: 1.0.2 - - set-value@4.1.0: + /set-value@4.1.0: + resolution: {integrity: sha512-zTEg4HL0RwVrqcWs3ztF+x1vkxfm0lP+MQQFPiMJTKVceBwEV0A569Ou8l9IYQG8jOZdMVI1hGsc0tmeD2o/Lw==} + engines: {node: '>=11.0'} dependencies: is-plain-object: 2.0.4 is-primitive: 3.0.1 + dev: false - shebang-command@2.0.0: + /shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} dependencies: shebang-regex: 3.0.0 + dev: true - shebang-regex@3.0.0: {} + /shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + dev: true - side-channel-list@1.0.0: + /side-channel@1.0.4: + resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} dependencies: - es-errors: 1.3.0 - object-inspect: 1.13.3 + call-bind: 1.0.2 + get-intrinsic: 1.2.0 + object-inspect: 1.12.3 + dev: true - side-channel-map@1.0.1: + /sigmund@1.0.1: + resolution: {integrity: sha512-fCvEXfh6NWpm+YSuY2bpXb/VIihqWA6hLsgboC+0nl71Q7N7o2eaCW8mJa/NLvQhs6jpd3VZV4UiUQlV6+lc8g==} + dev: true + + /signal-exit@3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + dev: true + + /sirv@2.0.2: + resolution: {integrity: sha512-4Qog6aE29nIjAOKe/wowFTxOdmbEZKb+3tsLljaBRzJwtqto0BChD2zzH0LhgCSXiI+V7X+Y45v14wBZQ1TK3w==} + engines: {node: '>= 10'} dependencies: - call-bound: 1.0.2 - es-errors: 1.3.0 - get-intrinsic: 1.2.6 - object-inspect: 1.13.3 - - side-channel-weakmap@1.0.2: - dependencies: - call-bound: 1.0.2 - es-errors: 1.3.0 - get-intrinsic: 1.2.6 - object-inspect: 1.13.3 - side-channel-map: 1.0.1 - - side-channel@1.1.0: - dependencies: - es-errors: 1.3.0 - object-inspect: 1.13.3 - side-channel-list: 1.0.0 - side-channel-map: 1.0.1 - side-channel-weakmap: 1.0.2 - - siginfo@2.0.0: {} - - sigmund@1.0.1: {} - - signal-exit@3.0.7: {} - - sirv@2.0.4: - dependencies: - '@polka/url': 1.0.0-next.28 - mrmime: 2.0.0 + '@polka/url': 1.0.0-next.21 + mrmime: 1.0.1 totalist: 3.0.1 + dev: true - slash@3.0.0: {} + /slash@3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} + dev: true - slash@4.0.0: {} + /slash@4.0.0: + resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} + engines: {node: '>=12'} + dev: true - smob@1.5.0: {} - - snake-case@2.1.0: - dependencies: - no-case: 2.3.2 - - snake-case@3.0.4: + /snake-case@3.0.4: + resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==} dependencies: dot-case: 3.0.4 tslib: 2.5.0 + dev: false - sortablejs@1.14.0: {} + /source-map-js@1.0.2: + resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} + engines: {node: '>=0.10.0'} - source-map-js@1.0.2: {} - - source-map-js@1.2.1: {} - - source-map-support@0.5.21: + /source-map-support@0.5.21: + resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} dependencies: buffer-from: 1.1.2 source-map: 0.6.1 + dev: true - source-map@0.6.1: {} + /source-map@0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} - source-map@0.8.0-beta.0: + /source-map@0.8.0-beta.0: + resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==} + engines: {node: '>= 8'} dependencies: whatwg-url: 7.1.0 + dev: true - sourcemap-codec@1.4.8: {} + /sourcemap-codec@1.4.8: + resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} + deprecated: Please use @jridgewell/sourcemap-codec instead - spdx-correct@3.2.0: - dependencies: - spdx-expression-parse: 3.0.1 - spdx-license-ids: 3.0.13 - - spdx-exceptions@2.3.0: {} - - spdx-expression-parse@3.0.1: - dependencies: - spdx-exceptions: 2.3.0 - spdx-license-ids: 3.0.13 - - spdx-license-ids@3.0.13: {} - - split@0.3.3: + /split@0.3.3: + resolution: {integrity: sha512-wD2AeVmxXRBoX44wAycgjVpMhvbwdI2aZjCkvfNcH1YqHQvJVa1duWc73OyVGJUc05fhFaTZeQ/PYsrmyH0JVA==} dependencies: through: 2.3.8 + dev: true - sprintf-js@1.0.3: {} + /sprintf-js@1.0.3: + resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} - sprintf-js@1.1.2: {} + /sprintf-js@1.1.2: + resolution: {integrity: sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==} + dev: false - sql-formatter@13.0.0: + /sql-formatter@8.2.0: + resolution: {integrity: sha512-5hQOSOk8jfhPkNgUmpm+9Fn2aaLWcf4vKL/dIvUN5q9rsamKHSyN/gL79xpkETNOyL+Zv5BMQfA7z9Rmz/DJJg==} + hasBin: true dependencies: argparse: 2.0.1 - get-stdin: 8.0.0 - nearley: 2.20.1 + dev: false - stackback@0.0.2: {} + /stable@0.1.8: + resolution: {integrity: sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==} + deprecated: 'Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility' + dev: true - std-env@3.3.3: {} + /start-server-and-test@1.15.4: + resolution: {integrity: sha512-ucQtp5+UCr0m4aHlY+aEV2JSYNTiMZKdSKK/bsIr6AlmwAWDYDnV7uGlWWEtWa7T4XvRI5cPYcPcQgeLqpz+Tg==} + engines: {node: '>=6'} + hasBin: true + dependencies: + arg: 5.0.2 + bluebird: 3.7.2 + check-more-types: 2.24.0 + debug: 4.3.4 + execa: 5.1.1 + lazy-ass: 1.6.0 + ps-tree: 1.2.0 + wait-on: 7.0.1(debug@4.3.4) + transitivePeerDependencies: + - supports-color + dev: true - stream-combiner@0.0.4: + /stream-combiner@0.0.4: + resolution: {integrity: sha512-rT00SPnTVyRsaSz5zgSPma/aHSOic5U1prhYdRy5HS2kTZviFpmDgzilbtsJsxiroqACmayynDN/9VzIbX5DOw==} dependencies: duplexer: 0.1.2 + dev: true - stream@0.0.2: - dependencies: - emitter-component: 1.1.1 - - string-width@4.2.3: + /string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} dependencies: emoji-regex: 8.0.0 is-fullwidth-code-point: 3.0.0 strip-ansi: 6.0.1 - string.prototype.matchall@4.0.11: + /string.prototype.matchall@4.0.8: + resolution: {integrity: sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==} dependencies: - call-bind: 1.0.8 - define-properties: 1.2.1 - es-abstract: 1.23.5 - es-errors: 1.3.0 - es-object-atoms: 1.0.0 - get-intrinsic: 1.2.6 - gopd: 1.2.0 - has-symbols: 1.1.0 - internal-slot: 1.1.0 - regexp.prototype.flags: 1.5.3 - set-function-name: 2.0.2 - side-channel: 1.1.0 + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.21.2 + get-intrinsic: 1.2.0 + has-symbols: 1.0.3 + internal-slot: 1.0.5 + regexp.prototype.flags: 1.4.3 + side-channel: 1.0.4 + dev: true - string.prototype.trim@1.2.10: + /string.prototype.trim@1.2.7: + resolution: {integrity: sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==} + engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.8 - call-bound: 1.0.2 - define-data-property: 1.1.4 - define-properties: 1.2.1 - es-abstract: 1.23.5 - es-object-atoms: 1.0.0 - has-property-descriptors: 1.0.2 + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.21.2 + dev: true - string.prototype.trimend@1.0.9: + /string.prototype.trimend@1.0.6: + resolution: {integrity: sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==} dependencies: - call-bind: 1.0.8 - call-bound: 1.0.2 - define-properties: 1.2.1 - es-object-atoms: 1.0.0 + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.21.2 + dev: true - string.prototype.trimstart@1.0.8: + /string.prototype.trimstart@1.0.6: + resolution: {integrity: sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==} dependencies: - call-bind: 1.0.8 - define-properties: 1.2.1 - es-object-atoms: 1.0.0 + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.21.2 + dev: true - string_decoder@1.3.0: - dependencies: - safe-buffer: 5.2.1 - - stringify-object@3.3.0: + /stringify-object@3.3.0: + resolution: {integrity: sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==} + engines: {node: '>=4'} dependencies: get-own-enumerable-property-symbols: 3.0.2 is-obj: 1.0.1 is-regexp: 1.0.0 + dev: true - strip-ansi@6.0.1: + /strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} dependencies: ansi-regex: 5.0.1 - strip-bom-string@1.0.0: {} + /strip-bom-string@1.0.0: + resolution: {integrity: sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==} + engines: {node: '>=0.10.0'} + dev: true - strip-comments@2.0.1: {} + /strip-bom@3.0.0: + resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} + engines: {node: '>=4'} + dev: true - strip-final-newline@2.0.0: {} + /strip-comments@2.0.1: + resolution: {integrity: sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==} + engines: {node: '>=10'} + dev: true - strip-indent@3.0.0: + /strip-final-newline@2.0.0: + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} + dev: true + + /strip-json-comments@3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + dev: true + + /strip-literal@1.0.1: + resolution: {integrity: sha512-QZTsipNpa2Ppr6v1AmJHESqJ3Uz247MUS0OjrnnZjFAvEoWqxuyFuXn2xLgMtRnijJShAa1HL0gtJyUs7u7n3Q==} dependencies: - min-indent: 1.0.1 + acorn: 8.8.2 + dev: true - strip-json-comments@3.1.1: {} - - strip-literal@1.0.1: - dependencies: - acorn: 8.11.2 - - supports-color@5.5.0: + /supports-color@5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} dependencies: has-flag: 3.0.0 + dev: true - supports-color@7.2.0: + /supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} dependencies: has-flag: 4.0.0 + dev: true - supports-preserve-symlinks-flag@1.0.0: {} + /supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + dev: true - svg-tags@1.0.0: {} + /svg-tags@1.0.0: + resolution: {integrity: sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==} + dev: true - svgo@3.0.2: + /svgo@2.8.0: + resolution: {integrity: sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==} + engines: {node: '>=10.13.0'} + hasBin: true dependencies: '@trysound/sax': 0.2.0 commander: 7.2.0 - css-select: 5.1.0 - css-tree: 2.3.1 - csso: 5.0.5 + css-select: 4.3.0 + css-tree: 1.1.3 + csso: 4.2.0 picocolors: 1.0.0 + stable: 0.1.8 + dev: true - swap-case@1.1.2: - dependencies: - lower-case: 1.1.4 - upper-case: 1.1.3 + /symbol-tree@3.2.4: + resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} + dev: true - symbol-tree@3.2.4: {} - - synckit@0.8.5: + /synckit@0.8.5: + resolution: {integrity: sha512-L1dapNV6vu2s/4Sputv8xGsCdAVlb5nRDMFU/E27D44l5U6cw1g0dGd45uLc+OXjNMmF4ntiMdCimzcjFKQI8Q==} + engines: {node: ^14.18.0 || >=16.0.0} dependencies: '@pkgr/utils': 2.3.1 tslib: 2.5.0 + dev: true - temp-dir@2.0.0: {} + /tapable@2.2.1: + resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} + engines: {node: '>=6'} + dev: true - tempy@0.6.0: + /temp-dir@2.0.0: + resolution: {integrity: sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==} + engines: {node: '>=8'} + dev: true + + /tempy@0.6.0: + resolution: {integrity: sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw==} + engines: {node: '>=10'} dependencies: is-stream: 2.0.1 temp-dir: 2.0.0 type-fest: 0.16.0 unique-string: 2.0.0 + dev: true - terser@5.37.0: + /terser@5.16.9: + resolution: {integrity: sha512-HPa/FdTB9XGI2H1/keLFZHxl6WNvAI4YalHGtDQTlMnJcoqSab1UwL4l1hGEhs6/GmLHBZIg/YgB++jcbzoOEg==} + engines: {node: '>=10'} + hasBin: true dependencies: - '@jridgewell/source-map': 0.3.6 - acorn: 8.14.0 + '@jridgewell/source-map': 0.3.3 + acorn: 8.8.2 commander: 2.20.3 source-map-support: 0.5.21 + dev: true - text-table@0.2.0: {} + /test-exclude@6.0.0: + resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} + engines: {node: '>=8'} + dependencies: + '@istanbuljs/schema': 0.1.3 + glob: 7.2.3 + minimatch: 3.1.2 + dev: true - throttle-debounce@3.0.1: {} + /text-table@0.2.0: + resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} - through@2.3.8: {} + /throttle-debounce@3.0.1: + resolution: {integrity: sha512-dTEWWNu6JmeVXY0ZYoPuH5cRIwc0MeGbJwah9KUNYSJwommQpCzTySTpEe8Gs1J23aeWEuAobe4Ag7EHVt/LOg==} + engines: {node: '>=10'} + dev: false - tiny-emitter@2.1.0: {} + /through@2.3.8: + resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} + dev: true - tiny-glob@0.2.9: + /tiny-emitter@2.1.0: + resolution: {integrity: sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==} + dev: false + + /tiny-glob@0.2.9: + resolution: {integrity: sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==} dependencies: globalyzer: 0.1.0 globrex: 0.1.2 + dev: true - tinybench@2.5.0: {} + /tinypool@0.1.3: + resolution: {integrity: sha512-2IfcQh7CP46XGWGGbdyO4pjcKqsmVqFAPcXfPxcPXmOWt9cYkTP9HcDmGgsfijYoAEc4z9qcpM/BaBz46Y9/CQ==} + engines: {node: '>=14.0.0'} + dev: true - tinyexec@0.3.1: {} + /tinyspy@0.3.3: + resolution: {integrity: sha512-gRiUR8fuhUf0W9lzojPf1N1euJYA30ISebSfgca8z76FOvXtVXqd5ojEIaKLWbDQhAaC3ibxZIjqbyi4ybjcTw==} + engines: {node: '>=14.0.0'} + dev: true - tinyglobby@0.2.10: + /tippy.js@6.3.7: + resolution: {integrity: sha512-E1d3oP2emgJ9dRQZdf3Kkn0qJgI6ZLpyS5z6ZkY1DF3kaQaBsGZsndEpHwx+eC+tYM41HaSNvNtLx8tU57FzTQ==} dependencies: - fdir: 6.4.2(picomatch@4.0.2) - picomatch: 4.0.2 + '@popperjs/core': 2.11.7 + dev: false - tinypool@0.7.0: {} + /to-fast-properties@2.0.0: + resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} + engines: {node: '>=4'} - tinyspy@2.1.1: {} - - tippy.js@6.3.7: - dependencies: - '@popperjs/core': 2.11.8 - - title-case@2.1.1: - dependencies: - no-case: 2.3.2 - upper-case: 1.1.3 - - to-fast-properties@2.0.0: {} - - to-regex-range@5.0.1: + /to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} dependencies: is-number: 7.0.0 + dev: true - totalist@3.0.1: {} + /token-stream@1.0.0: + resolution: {integrity: sha512-VSsyNPPW74RpHwR8Fc21uubwHY7wMDeJLys2IX5zJNih+OnAnaifKHo+1LHT7DAdloQ7apeaaWg8l7qnf/TnEg==} + dev: true - tough-cookie@4.1.2: + /totalist@3.0.1: + resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} + engines: {node: '>=6'} + dev: true + + /tough-cookie@4.1.2: + resolution: {integrity: sha512-G9fqXWoYFZgTc2z8Q5zaHy/vJMjm+WV0AkAeHxVCQiEB1b+dGvWzFW6QV07cY5jQ5gRkeid2qIkzkxUnmoQZUQ==} + engines: {node: '>=6'} dependencies: psl: 1.9.0 punycode: 2.3.0 universalify: 0.2.0 url-parse: 1.5.10 + dev: true - tr46@1.0.1: - dependencies: - punycode: 2.3.1 + /tr46@0.0.3: + resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} + dev: false - tr46@4.1.1: + /tr46@1.0.1: + resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==} dependencies: punycode: 2.3.0 + dev: true - treemate@0.3.11: {} - - ts-api-utils@1.0.1(typescript@5.2.2): + /tr46@3.0.0: + resolution: {integrity: sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==} + engines: {node: '>=12'} dependencies: - typescript: 5.2.2 + punycode: 2.3.0 + dev: true - tslib@1.14.1: {} + /treemate@0.3.11: + resolution: {integrity: sha512-M8RGFoKtZ8dF+iwJfAJTOH/SM4KluKOKRJpjCMhI8bG3qB74zrFoArKZ62ll0Fr3mqkMJiQOmWYkdYgDeITYQg==} + dev: false - tslib@2.5.0: {} + /ts-pattern@4.2.2: + resolution: {integrity: sha512-qzJMo2pbkUJWusRH5o8xR+xogn6RmvViyUgwBFTtRENLse470clCGjHDf6haWGZ1AOmk8XkEohUoBW8Uut6Scg==} + dev: false - tsutils@3.21.0(typescript@5.2.2): + /tsconfig-paths@3.14.2: + resolution: {integrity: sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==} + dependencies: + '@types/json5': 0.0.29 + json5: 1.0.2 + minimist: 1.2.8 + strip-bom: 3.0.0 + dev: true + + /tslib@1.14.1: + resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} + dev: true + + /tslib@2.5.0: + resolution: {integrity: sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==} + + /tsutils@3.21.0(typescript@4.5.5): + resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} + engines: {node: '>= 6'} + peerDependencies: + typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' dependencies: tslib: 1.14.1 - typescript: 5.2.2 + typescript: 4.5.5 + dev: true - tsx@4.19.2: + /type-check@0.3.2: + resolution: {integrity: sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==} + engines: {node: '>= 0.8.0'} dependencies: - esbuild: 0.23.1 - get-tsconfig: 4.8.1 - optionalDependencies: - fsevents: 2.3.3 + prelude-ls: 1.1.2 + dev: true - type-check@0.4.0: + /type-check@0.4.0: + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} + engines: {node: '>= 0.8.0'} dependencies: prelude-ls: 1.2.1 + dev: true - type-detect@4.0.8: {} + /type-detect@4.0.8: + resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} + engines: {node: '>=4'} + dev: true - type-fest@0.16.0: {} + /type-fest@0.16.0: + resolution: {integrity: sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==} + engines: {node: '>=10'} + dev: true - type-fest@0.20.2: {} + /type-fest@0.20.2: + resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} + engines: {node: '>=10'} + dev: true - type-fest@0.6.0: {} + /type-fest@2.19.0: + resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} + engines: {node: '>=12.20'} + dev: false - type-fest@0.8.1: {} - - type-fest@2.19.0: {} - - typed-array-buffer@1.0.2: + /typed-array-length@1.0.4: + resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==} dependencies: - call-bind: 1.0.8 - es-errors: 1.3.0 - is-typed-array: 1.1.13 - - typed-array-byte-length@1.0.1: - dependencies: - call-bind: 1.0.8 + call-bind: 1.0.2 for-each: 0.3.3 - gopd: 1.2.0 - has-proto: 1.2.0 - is-typed-array: 1.1.13 + is-typed-array: 1.1.10 + dev: true - typed-array-byte-offset@1.0.3: + /typed-function@2.1.0: + resolution: {integrity: sha512-bctQIOqx2iVbWGDGPWwIm18QScpu2XRmkC19D8rQGFsjKSgteq/o1hTZvIG/wuDq8fanpBDrLkLq+aEN/6y5XQ==} + engines: {node: '>= 10'} + dev: false + + /typescript@4.5.5: + resolution: {integrity: sha512-TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA==} + engines: {node: '>=4.2.0'} + hasBin: true + + /ua-parser-js@1.0.35: + resolution: {integrity: sha512-fKnGuqmTBnIE+/KXSzCn4db8RTigUzw1AN0DmdU6hJovUTbYJKyqj+8Mt1c4VfRDnOVJnENmfYkIPZ946UrSAA==} + dev: false + + /uc.micro@1.0.6: + resolution: {integrity: sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==} + + /ufo@1.1.1: + resolution: {integrity: sha512-MvlCc4GHrmZdAllBc0iUDowff36Q9Ndw/UzqmEKyrfSzokTd9ZCy1i+IIk5hrYKkjoYVQyNbrw7/F8XJ2rEwTg==} + dev: true + + /unbox-primitive@1.0.2: + resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} dependencies: - available-typed-arrays: 1.0.7 - call-bind: 1.0.8 - for-each: 0.3.3 - gopd: 1.2.0 - has-proto: 1.2.0 - is-typed-array: 1.1.13 - reflect.getprototypeof: 1.0.8 - - typed-array-length@1.0.7: - dependencies: - call-bind: 1.0.8 - for-each: 0.3.3 - gopd: 1.2.0 - is-typed-array: 1.1.13 - possible-typed-array-names: 1.0.0 - reflect.getprototypeof: 1.0.8 - - typed-function@4.1.0: {} - - typescript@5.2.2: {} - - typescript@5.5.4: {} - - ua-parser-js@1.0.35: {} - - uc.micro@1.0.6: {} - - uc.micro@2.1.0: {} - - ufo@1.1.2: {} - - ufo@1.3.1: {} - - ufo@1.5.4: {} - - ulid@2.3.0: {} - - unbox-primitive@1.0.2: - dependencies: - call-bind: 1.0.8 + call-bind: 1.0.2 has-bigints: 1.0.2 - has-symbols: 1.1.0 - which-boxed-primitive: 1.1.0 + has-symbols: 1.0.3 + which-boxed-primitive: 1.0.2 + dev: true - unconfig@0.3.11: + /unconfig@0.3.7: + resolution: {integrity: sha512-1589b7oGa8ILBYpta7TndM5mLHLzHUqBfhszeZxuUBrjO/RoQ52VGVWsS3w0C0GLNxO9RPmqkf6BmIvBApaRdA==} dependencies: - '@antfu/utils': 0.7.6 + '@antfu/utils': 0.5.2 defu: 6.1.2 - jiti: 1.21.0 - mlly: 1.4.2 + jiti: 1.18.2 + dev: true - unconfig@0.5.5: + /underscore@1.13.6: + resolution: {integrity: sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==} + dev: false + + /unicode-canonical-property-names-ecmascript@2.0.0: + resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==} + engines: {node: '>=4'} + dev: true + + /unicode-match-property-ecmascript@2.0.0: + resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==} + engines: {node: '>=4'} dependencies: - '@antfu/utils': 0.7.10 - defu: 6.1.4 - importx: 0.4.4 - transitivePeerDependencies: - - supports-color - - unhead@0.5.1: - dependencies: - '@unhead/dom': 0.5.1 - '@unhead/schema': 0.5.1 - hookable: 5.5.3 - - unicode-canonical-property-names-ecmascript@2.0.1: {} - - unicode-emoji-json@0.4.0: {} - - unicode-match-property-ecmascript@2.0.0: - dependencies: - unicode-canonical-property-names-ecmascript: 2.0.1 + unicode-canonical-property-names-ecmascript: 2.0.0 unicode-property-aliases-ecmascript: 2.1.0 + dev: true - unicode-match-property-value-ecmascript@2.2.0: {} + /unicode-match-property-value-ecmascript@2.1.0: + resolution: {integrity: sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==} + engines: {node: '>=4'} + dev: true - unicode-property-aliases-ecmascript@2.1.0: {} + /unicode-property-aliases-ecmascript@2.1.0: + resolution: {integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==} + engines: {node: '>=4'} + dev: true - unimport@3.0.8(rollup@2.79.2): + /unimport@3.0.6(rollup@2.79.1): + resolution: {integrity: sha512-GYxGJ1Bri1oqx8VFDjdgooGzeK7jBk3bvhXmamTIpu3nONOcUMGwZbX7X0L5RA7OWMXpR4vzpSQP7pXUzJg1/Q==} dependencies: - '@rollup/pluginutils': 5.0.2(rollup@2.79.2) + '@rollup/pluginutils': 5.0.2(rollup@2.79.1) escape-string-regexp: 5.0.0 - fast-glob: 3.3.1 + fast-glob: 3.2.12 local-pkg: 0.4.3 - magic-string: 0.30.2 - mlly: 1.4.0 - pathe: 1.1.1 - pkg-types: 1.0.3 + magic-string: 0.30.0 + mlly: 1.2.0 + pathe: 1.1.0 + pkg-types: 1.0.2 scule: 1.0.0 strip-literal: 1.0.1 - unplugin: 1.4.0 + unplugin: 1.3.1 transitivePeerDependencies: - rollup + dev: true - unique-string@2.0.0: + /unique-string@2.0.0: + resolution: {integrity: sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==} + engines: {node: '>=8'} dependencies: crypto-random-string: 2.0.0 + dev: true - unist-util-stringify-position@2.0.3: + /universalify@0.2.0: + resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==} + engines: {node: '>= 4.0.0'} + dev: true + + /universalify@2.0.0: + resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} + engines: {node: '>= 10.0.0'} + dev: true + + /unocss@0.50.8(postcss@8.4.21)(rollup@2.79.1)(vite@2.9.15): + resolution: {integrity: sha512-3yqKkSm/SKCKxFolXNR12Mi64lr4PW95LSHKZ/a9Yzlf2PT1NirAn8/uJ8KoJJBNR2YWobtkLi4UplFz/8IAYA==} + engines: {node: '>=14'} + peerDependencies: + '@unocss/webpack': 0.50.8 + peerDependenciesMeta: + '@unocss/webpack': + optional: true dependencies: - '@types/unist': 2.0.6 - - universalify@0.2.0: {} - - universalify@2.0.0: {} - - universalify@2.0.1: {} - - unocss-preset-scrollbar@0.2.1(unocss@0.65.1(postcss@8.4.49)(rollup@2.79.2)(vite@4.4.9(@types/node@18.15.11)(less@4.1.3)(terser@5.37.0))(vue@3.3.4)): - dependencies: - '@unocss/preset-mini': 0.31.17 - unocss: 0.65.1(postcss@8.4.49)(rollup@2.79.2)(vite@4.4.9(@types/node@18.15.11)(less@4.1.3)(terser@5.37.0))(vue@3.3.4) - - unocss@0.65.1(postcss@8.4.49)(rollup@2.79.2)(vite@4.4.9(@types/node@18.15.11)(less@4.1.3)(terser@5.37.0))(vue@3.3.4): - dependencies: - '@unocss/astro': 0.65.1(rollup@2.79.2)(vite@4.4.9(@types/node@18.15.11)(less@4.1.3)(terser@5.37.0))(vue@3.3.4) - '@unocss/cli': 0.65.1(rollup@2.79.2) - '@unocss/core': 0.65.1 - '@unocss/postcss': 0.65.1(postcss@8.4.49) - '@unocss/preset-attributify': 0.65.1 - '@unocss/preset-icons': 0.65.1 - '@unocss/preset-mini': 0.65.1 - '@unocss/preset-tagify': 0.65.1 - '@unocss/preset-typography': 0.65.1 - '@unocss/preset-uno': 0.65.1 - '@unocss/preset-web-fonts': 0.65.1 - '@unocss/preset-wind': 0.65.1 - '@unocss/transformer-attributify-jsx': 0.65.1 - '@unocss/transformer-compile-class': 0.65.1 - '@unocss/transformer-directives': 0.65.1 - '@unocss/transformer-variant-group': 0.65.1 - '@unocss/vite': 0.65.1(rollup@2.79.2)(vite@4.4.9(@types/node@18.15.11)(less@4.1.3)(terser@5.37.0))(vue@3.3.4) - optionalDependencies: - vite: 4.4.9(@types/node@18.15.11)(less@4.1.3)(terser@5.37.0) + '@unocss/astro': 0.50.8(rollup@2.79.1)(vite@2.9.15) + '@unocss/cli': 0.50.8(rollup@2.79.1) + '@unocss/core': 0.50.8 + '@unocss/postcss': 0.50.8(postcss@8.4.21) + '@unocss/preset-attributify': 0.50.8 + '@unocss/preset-icons': 0.50.8 + '@unocss/preset-mini': 0.50.8 + '@unocss/preset-tagify': 0.50.8 + '@unocss/preset-typography': 0.50.8 + '@unocss/preset-uno': 0.50.8 + '@unocss/preset-web-fonts': 0.50.8 + '@unocss/preset-wind': 0.50.8 + '@unocss/reset': 0.50.8 + '@unocss/transformer-attributify-jsx': 0.50.8 + '@unocss/transformer-attributify-jsx-babel': 0.50.8 + '@unocss/transformer-compile-class': 0.50.8 + '@unocss/transformer-directives': 0.50.8 + '@unocss/transformer-variant-group': 0.50.8 + '@unocss/vite': 0.50.8(rollup@2.79.1)(vite@2.9.15) transitivePeerDependencies: - postcss - rollup - supports-color - - vue + - vite + dev: true - unplugin-auto-import@0.16.4(@vueuse/core@10.3.0(vue@3.3.4))(rollup@2.79.2): + /unplugin-auto-import@0.15.2(@vueuse/core@8.9.4)(rollup@2.79.1): + resolution: {integrity: sha512-Wivfu+xccgvEZG8QtZcIvt6napfX9wyOFqM//7FHOtev8+k+dp3ykiqsEl6TODgHmqTTBeQX4Ah1JvRgUNjlkg==} + engines: {node: '>=14'} + peerDependencies: + '@nuxt/kit': ^3.2.2 + '@vueuse/core': '*' + peerDependenciesMeta: + '@nuxt/kit': + optional: true + '@vueuse/core': + optional: true dependencies: - '@antfu/utils': 0.7.4 - '@rollup/pluginutils': 5.0.2(rollup@2.79.2) + '@antfu/utils': 0.7.2 + '@rollup/pluginutils': 5.0.2(rollup@2.79.1) + '@vueuse/core': 8.9.4(vue@3.2.47) local-pkg: 0.4.3 magic-string: 0.30.0 - minimatch: 9.0.1 - unimport: 3.0.8(rollup@2.79.2) + minimatch: 7.4.6 + unimport: 3.0.6(rollup@2.79.1) unplugin: 1.3.1 - optionalDependencies: - '@vueuse/core': 10.3.0(vue@3.3.4) transitivePeerDependencies: - rollup + dev: true - unplugin-icons@0.17.0(@vue/compiler-sfc@3.2.47)(vue-template-compiler@2.7.16): + /unplugin-vue-components@0.24.1(rollup@2.79.1)(vue@3.2.47): + resolution: {integrity: sha512-T3A8HkZoIE1Cja95xNqolwza0yD5IVlgZZ1PVAGvVCx8xthmjsv38xWRCtHtwl+rvZyL9uif42SRkDGw9aCfMA==} + engines: {node: '>=14'} + peerDependencies: + '@babel/parser': ^7.15.8 + '@nuxt/kit': ^3.2.2 + vue: 2 || 3 + peerDependenciesMeta: + '@babel/parser': + optional: true + '@nuxt/kit': + optional: true dependencies: - '@antfu/install-pkg': 0.1.1 - '@antfu/utils': 0.7.6 - '@iconify/utils': 2.1.9 - debug: 4.3.4 - kolorist: 1.8.0 - local-pkg: 0.4.3 - unplugin: 1.4.0 - optionalDependencies: - '@vue/compiler-sfc': 3.2.47 - vue-template-compiler: 2.7.16 - transitivePeerDependencies: - - supports-color - - unplugin-vue-components@0.25.0(@babel/parser@7.26.3)(rollup@2.79.2)(vue@3.3.4): - dependencies: - '@antfu/utils': 0.7.4 - '@rollup/pluginutils': 5.0.2(rollup@2.79.2) + '@antfu/utils': 0.7.2 + '@rollup/pluginutils': 5.0.2(rollup@2.79.1) chokidar: 3.5.3 debug: 4.3.4 fast-glob: 3.2.12 local-pkg: 0.4.3 magic-string: 0.30.0 - minimatch: 9.0.1 + minimatch: 7.4.6 resolve: 1.22.2 unplugin: 1.3.1 - vue: 3.3.4 - optionalDependencies: - '@babel/parser': 7.26.3 + vue: 3.2.47 transitivePeerDependencies: - rollup - supports-color + dev: true - unplugin@1.3.1: + /unplugin@1.3.1: + resolution: {integrity: sha512-h4uUTIvFBQRxUKS2Wjys6ivoeofGhxzTe2sRWlooyjHXVttcVfV/JiavNd3d4+jty0SVV0dxGw9AkY9MwiaCEw==} dependencies: - acorn: 8.11.2 + acorn: 8.8.2 chokidar: 3.5.3 webpack-sources: 3.2.3 webpack-virtual-modules: 0.5.0 + dev: true - unplugin@1.4.0: + /upath@1.2.0: + resolution: {integrity: sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==} + engines: {node: '>=4'} + dev: true + + /upath@2.0.1: + resolution: {integrity: sha512-1uEe95xksV1O0CYKXo8vQvN1JEbtJp7lb7C5U9HMsIp6IVwntkH/oNUzyVNQSd4S1sYk2FpSSW44FqMc8qee5w==} + engines: {node: '>=4'} + dev: true + + /update-browserslist-db@1.0.10(browserslist@4.21.5): + resolution: {integrity: sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' dependencies: - acorn: 8.10.0 - chokidar: 3.5.3 - webpack-sources: 3.2.3 - webpack-virtual-modules: 0.5.0 - - upath@1.2.0: {} - - update-browserslist-db@1.0.11(browserslist@4.21.9): - dependencies: - browserslist: 4.21.9 + browserslist: 4.21.5 escalade: 3.1.1 picocolors: 1.0.0 + dev: true - update-browserslist-db@1.0.13(browserslist@4.22.1): - dependencies: - browserslist: 4.22.1 - escalade: 3.1.1 - picocolors: 1.0.0 - - update-browserslist-db@1.1.1(browserslist@4.24.3): - dependencies: - browserslist: 4.24.3 - escalade: 3.2.0 - picocolors: 1.1.1 - - upper-case-first@1.1.2: - dependencies: - upper-case: 1.1.3 - - upper-case-first@2.0.2: + /upper-case-first@2.0.2: + resolution: {integrity: sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg==} dependencies: tslib: 2.5.0 + dev: false - upper-case@1.1.3: {} - - upper-case@2.0.2: + /upper-case@2.0.2: + resolution: {integrity: sha512-KgdgDGJt2TpuwBUIjgG6lzw2GWFRCW9Qkfkiv0DxqHHLYJHmtmdUIKcZd8rHgFSjopVTlw6ggzCm1b8MFQwikg==} dependencies: tslib: 2.5.0 + dev: false - uri-js@4.4.1: + /uri-js@4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} dependencies: punycode: 2.3.0 + dev: true - url-parse@1.5.10: + /url-parse@1.5.10: + resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==} dependencies: querystringify: 2.2.0 requires-port: 1.0.0 + dev: true - util-deprecate@1.0.2: {} + /util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + dev: true - uuid@9.0.0: {} + /uuid@8.3.2: + resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} + hasBin: true + dev: false - validate-npm-package-license@3.0.4: + /v8-to-istanbul@9.1.0: + resolution: {integrity: sha512-6z3GW9x8G1gd+JIIgQQQxXuiJtCXeAjp6RaPEPLv62mH3iPHPxV6W3robxtCzNErRo6ZwTmzWhsbNvjyEBKzKA==} + engines: {node: '>=10.12.0'} dependencies: - spdx-correct: 3.2.0 - spdx-expression-parse: 3.0.1 + '@jridgewell/trace-mapping': 0.3.18 + '@types/istanbul-lib-coverage': 2.0.4 + convert-source-map: 1.9.0 + dev: true - vdirs@0.1.8(vue@3.3.4): + /vdirs@0.1.8(vue@3.2.47): + resolution: {integrity: sha512-H9V1zGRLQZg9b+GdMk8MXDN2Lva0zx72MPahDKc30v+DtwKjfyOSXWRIX4t2mhDubM1H09gPhWeth/BJWPHGUw==} + peerDependencies: + vue: ^3.0.11 dependencies: evtd: 0.2.4 - vue: 3.3.4 + vue: 3.2.47 + dev: false - vite-node@0.34.0(@types/node@18.15.11)(less@4.1.3)(terser@5.37.0): + /vite-plugin-md@0.12.4(vite@2.9.15): + resolution: {integrity: sha512-qtkzpHAvdp/Zo/2ntmCpfph2JD4F0+tOl1vK3QVAZztpWyoO7Yi8Y2Dqu7Urrnh/fPH7PnIWlrrQy1XV/D92Pg==} + peerDependencies: + vite: ^2.0.0 dependencies: - cac: 6.7.14 - debug: 4.3.4 - mlly: 1.4.0 - pathe: 1.1.1 - picocolors: 1.0.0 - vite: 4.4.9(@types/node@18.15.11)(less@4.1.3)(terser@5.37.0) - transitivePeerDependencies: - - '@types/node' - - less - - lightningcss - - sass - - stylus - - sugarss - - supports-color - - terser + '@antfu/utils': 0.5.2 + '@rollup/pluginutils': 4.2.1 + '@types/markdown-it': 12.2.3 + '@vue/runtime-core': 3.2.47 + gray-matter: 4.0.3 + markdown-it: 12.3.2 + vite: 2.9.15(less@4.1.3) + dev: true - vite-plugin-pwa@0.16.0(vite@4.4.9(@types/node@18.15.11)(less@4.1.3)(terser@5.37.0))(workbox-build@7.3.0)(workbox-window@7.0.0): + /vite-plugin-pwa@0.11.13(vite@2.9.15)(workbox-build@6.5.4)(workbox-window@6.5.4): + resolution: {integrity: sha512-Ssj14m3TRVLfkFEAWSMcFE2d1cSdEZyrVTzfY2lSL+umHYvcIFHVDAY143sygtBCb44OPczsAOmWwBTxwOvh7g==} + peerDependencies: + vite: ^2.0.0 + workbox-build: ^6.4.0 + workbox-window: ^6.4.0 dependencies: debug: 4.3.4 fast-glob: 3.2.12 - pretty-bytes: 6.1.0 - vite: 4.4.9(@types/node@18.15.11)(less@4.1.3)(terser@5.37.0) - workbox-build: 7.3.0 - workbox-window: 7.0.0 + pretty-bytes: 5.6.0 + rollup: 2.79.1 + vite: 2.9.15(less@4.1.3) + workbox-build: 6.5.4 + workbox-window: 6.5.4 transitivePeerDependencies: - supports-color + dev: true - vite-plugin-vue-markdown@0.23.5(rollup@2.79.2)(vite@4.4.9(@types/node@18.15.11)(less@4.1.3)(terser@5.37.0)): + /vite-svg-loader@3.6.0: + resolution: {integrity: sha512-bZJffcgCREW57kNkgMhuNqeDznWXyQwJ3wKrRhHLMMzwDnP5jr3vXW3cqsmquRR7VTP5mLdKj1/zzPPooGUuPw==} dependencies: - '@antfu/utils': 0.7.4 - '@mdit-vue/plugin-component': 0.12.0 - '@mdit-vue/plugin-frontmatter': 0.12.0 - '@mdit-vue/types': 0.12.0 - '@rollup/pluginutils': 5.0.2(rollup@2.79.2) - '@types/markdown-it': 12.2.3 - markdown-it: 13.0.2 - vite: 4.4.9(@types/node@18.15.11)(less@4.1.3)(terser@5.37.0) - transitivePeerDependencies: - - rollup + '@vue/compiler-sfc': 3.2.47 + svgo: 2.8.0 + dev: true - vite-svg-loader@4.0.0: + /vite@2.9.15(less@4.1.3): + resolution: {integrity: sha512-fzMt2jK4vQ3yK56te3Kqpkaeq9DkcZfBbzHwYpobasvgYmP2SoAr6Aic05CsB4CzCZbsDv4sujX3pkEGhLabVQ==} + engines: {node: '>=12.2.0'} + hasBin: true + peerDependencies: + less: '*' + sass: '*' + stylus: '*' + peerDependenciesMeta: + less: + optional: true + sass: + optional: true + stylus: + optional: true dependencies: - '@vue/compiler-sfc': 3.3.4 - svgo: 3.0.2 - - vite@4.4.9(@types/node@18.15.11)(less@4.1.3)(terser@5.37.0): - dependencies: - esbuild: 0.18.20 - postcss: 8.4.28 - rollup: 3.28.0 - optionalDependencies: - '@types/node': 18.15.11 - fsevents: 2.3.3 + esbuild: 0.14.54 less: 4.1.3 - terser: 5.37.0 + postcss: 8.4.21 + resolve: 1.22.2 + rollup: 2.77.3 + optionalDependencies: + fsevents: 2.3.2 + dev: true - vitest@0.34.0(jsdom@22.0.0)(less@4.1.3)(terser@5.37.0): + /vitest@0.13.1(c8@7.13.0)(jsdom@19.0.0)(less@4.1.3): + resolution: {integrity: sha512-CfSBf7YFw/i8HumSUQRtZKs0aV91DC9WU8nAgIJAlawKHaFuPHQohDwOTPIFgrxySiuFYUa0Yohf9gDFfBwjxA==} + engines: {node: '>=v14.16.0'} + hasBin: true + peerDependencies: + '@vitest/ui': '*' + c8: '*' + happy-dom: '*' + jsdom: '*' + peerDependenciesMeta: + '@vitest/ui': + optional: true + c8: + optional: true + happy-dom: + optional: true + jsdom: + optional: true dependencies: - '@types/chai': 4.3.5 + '@types/chai': 4.3.4 '@types/chai-subset': 1.3.3 - '@types/node': 18.15.11 - '@vitest/expect': 0.34.0 - '@vitest/runner': 0.34.0 - '@vitest/snapshot': 0.34.0 - '@vitest/spy': 0.34.0 - '@vitest/utils': 0.34.0 - acorn: 8.9.0 - acorn-walk: 8.2.0 - cac: 6.7.14 + c8: 7.13.0 chai: 4.3.7 debug: 4.3.4 + jsdom: 19.0.0 local-pkg: 0.4.3 - magic-string: 0.30.2 - pathe: 1.1.1 - picocolors: 1.0.0 - std-env: 3.3.3 - strip-literal: 1.0.1 - tinybench: 2.5.0 - tinypool: 0.7.0 - vite: 4.4.9(@types/node@18.15.11)(less@4.1.3)(terser@5.37.0) - vite-node: 0.34.0(@types/node@18.15.11)(less@4.1.3)(terser@5.37.0) - why-is-node-running: 2.2.2 - optionalDependencies: - jsdom: 22.0.0 + tinypool: 0.1.3 + tinyspy: 0.3.3 + vite: 2.9.15(less@4.1.3) transitivePeerDependencies: - less - - lightningcss - sass - stylus - - sugarss - supports-color - - terser + dev: true - vooks@0.2.12(vue@3.3.4): + /void-elements@3.1.0: + resolution: {integrity: sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w==} + engines: {node: '>=0.10.0'} + dev: true + + /vooks@0.2.12(vue@3.2.47): + resolution: {integrity: sha512-iox0I3RZzxtKlcgYaStQYKEzWWGAduMmq+jS7OrNdQo1FgGfPMubGL3uGHOU9n97NIvfFDBGnpSvkWyb/NSn/Q==} + peerDependencies: + vue: ^3.0.0 dependencies: evtd: 0.2.4 - vue: 3.3.4 + vue: 3.2.47 + dev: false - vue-demi@0.13.11(vue@3.3.4): + /vscode-css-languageservice@5.4.2: + resolution: {integrity: sha512-DT7+7vfdT2HDNjDoXWtYJ0lVDdeDEdbMNdK4PKqUl2MS8g7PWt7J5G9B6k9lYox8nOfhCEjLnoNC3UKHHCR1lg==} dependencies: - vue: 3.3.4 + vscode-languageserver-textdocument: 1.0.8 + vscode-languageserver-types: 3.17.3 + vscode-nls: 5.2.0 + vscode-uri: 3.0.7 + dev: true - vue-demi@0.14.5(vue@3.3.4): + /vscode-html-languageservice@4.2.5: + resolution: {integrity: sha512-dbr10KHabB9EaK8lI0XZW7SqOsTfrNyT3Nuj0GoPi4LjGKUmMiLtsqzfedIzRTzqY+w0FiLdh0/kQrnQ0tLxrw==} dependencies: - vue: 3.3.4 + vscode-languageserver-textdocument: 1.0.8 + vscode-languageserver-types: 3.17.3 + vscode-nls: 5.2.0 + vscode-uri: 3.0.7 + dev: true - vue-eslint-parser@9.3.1(eslint@8.47.0): + /vscode-json-languageservice@4.2.1: + resolution: {integrity: sha512-xGmv9QIWs2H8obGbWg+sIPI/3/pFgj/5OWBhNzs00BkYQ9UaB2F6JJaGB/2/YOZJ3BvLXQTC4Q7muqU25QgAhA==} + dependencies: + jsonc-parser: 3.2.0 + vscode-languageserver-textdocument: 1.0.8 + vscode-languageserver-types: 3.17.3 + vscode-nls: 5.2.0 + vscode-uri: 3.0.7 + dev: true + + /vscode-jsonrpc@8.1.0: + resolution: {integrity: sha512-6TDy/abTQk+zDGYazgbIPc+4JoXdwC8NHU9Pbn4UJP1fehUyZmM4RHp5IthX7A6L5KS30PRui+j+tbbMMMafdw==} + engines: {node: '>=14.0.0'} + dev: true + + /vscode-languageserver-protocol@3.17.3: + resolution: {integrity: sha512-924/h0AqsMtA5yK22GgMtCYiMdCOtWTSGgUOkgEDX+wk2b0x4sAfLiO4NxBxqbiVtz7K7/1/RgVrVI0NClZwqA==} + dependencies: + vscode-jsonrpc: 8.1.0 + vscode-languageserver-types: 3.17.3 + dev: true + + /vscode-languageserver-textdocument@1.0.8: + resolution: {integrity: sha512-1bonkGqQs5/fxGT5UchTgjGVnfysL0O8v1AYMBjqTbWQTFn721zaPGDYFkOKtfDgFiSgXM3KwaG3FMGfW4Ed9Q==} + dev: true + + /vscode-languageserver-types@3.17.3: + resolution: {integrity: sha512-SYU4z1dL0PyIMd4Vj8YOqFvHu7Hz/enbWtpfnVbJHU4Nd1YNYx8u0ennumc6h48GQNeOLxmwySmnADouT/AuZA==} + dev: true + + /vscode-nls@5.2.0: + resolution: {integrity: sha512-RAaHx7B14ZU04EU31pT+rKz2/zSl7xMsfIZuo8pd+KZO6PXtQmpevpq3vxvWNcrGbdmhM/rr5Uw5Mz+NBfhVng==} + dev: true + + /vscode-pug-languageservice@0.31.4: + resolution: {integrity: sha512-StQWV+v1v+an/pGKNPg4YkODFyKeYpUEzaSAoXIUsIoh7O4Nuv6zjd1M/fPxaMSD6Kk+OH/JGE36hbXsKXOz5A==} + deprecated: 'WARNING: This project has been renamed to @volar/pug-language-service. Install using @volar/pug-language-service instead.' + dependencies: + '@volar/code-gen': 0.31.4 + '@volar/shared': 0.31.4 + '@volar/source-map': 0.31.4 + '@volar/transforms': 0.31.4 + pug-lexer: 5.0.1 + pug-parser: 6.0.0 + vscode-languageserver-textdocument: 1.0.8 + vscode-languageserver-types: 3.17.3 + dev: true + + /vscode-typescript-languageservice@0.31.4: + resolution: {integrity: sha512-nsnRPEfg9t3oDlwzm3WTAv0p83vceqCuxvRo/+N7hXbmtaO7WMGCMvJx0xyIuUDS4NgaEK31oMR9FnX9JNcEQQ==} + deprecated: 'WARNING: This project has been renamed to @volar/typescript-language-service. Install using @volar/typescript-language-service instead.' + dependencies: + '@volar/shared': 0.31.4 + semver: 7.4.0 + upath: 2.0.1 + vscode-languageserver-protocol: 3.17.3 + vscode-languageserver-textdocument: 1.0.8 + vscode-nls: 5.2.0 + dev: true + + /vscode-uri@2.1.2: + resolution: {integrity: sha512-8TEXQxlldWAuIODdukIb+TR5s+9Ds40eSJrw+1iDDA9IFORPjMELarNQE3myz5XIkWWpdprmJjm1/SxMlWOC8A==} + dev: true + + /vscode-uri@3.0.7: + resolution: {integrity: sha512-eOpPHogvorZRobNqJGhapa0JdwaxpjVvyBp0QIUMRMSf8ZAlqOdEquKuRmw9Qwu0qXtJIWqFtMkmvJjUZmMjVA==} + dev: true + + /vscode-vue-languageservice@0.31.4: + resolution: {integrity: sha512-Pyvtj5iokBilGDH8KY6bocJh8NcIGoFmUksPOOZKBb+4usEHTBtWw/uoH4hjxWwLszMRQuStkXLMaSKtBIv3gQ==} + deprecated: 'WARNING: This project has been renamed to @volar/vue-language-service. Install using @volar/vue-language-service instead.' + dependencies: + '@volar/code-gen': 0.31.4 + '@volar/html2pug': 0.31.4 + '@volar/shared': 0.31.4 + '@volar/source-map': 0.31.4 + '@volar/transforms': 0.31.4 + '@volar/vue-code-gen': 0.31.4 + '@vscode/emmet-helper': 2.8.6 + '@vue/reactivity': 3.2.47 + '@vue/shared': 3.2.47 + upath: 2.0.1 + vscode-css-languageservice: 5.4.2 + vscode-html-languageservice: 4.2.5 + vscode-json-languageservice: 4.2.1 + vscode-languageserver-protocol: 3.17.3 + vscode-languageserver-textdocument: 1.0.8 + vscode-pug-languageservice: 0.31.4 + vscode-typescript-languageservice: 0.31.4 + dev: true + + /vue-demi@0.13.11(vue@3.2.47): + resolution: {integrity: sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + peerDependencies: + '@vue/composition-api': ^1.0.0-rc.1 + vue: ^3.0.0-0 || ^2.6.0 + peerDependenciesMeta: + '@vue/composition-api': + optional: true + dependencies: + vue: 3.2.47 + + /vue-eslint-parser@8.3.0(eslint@8.38.0): + resolution: {integrity: sha512-dzHGG3+sYwSf6zFBa0Gi9ZDshD7+ad14DGOdTLjruRVgZXe2J+DcZ9iUhyR48z5g1PqRa20yt3Njna/veLJL/g==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: '>=6.0.0' dependencies: debug: 4.3.4 - eslint: 8.47.0 - eslint-scope: 7.2.2 - eslint-visitor-keys: 3.4.3 - espree: 9.6.1 + eslint: 8.38.0 + eslint-scope: 7.1.1 + eslint-visitor-keys: 3.4.0 + espree: 9.5.1 esquery: 1.5.0 lodash: 4.17.21 - semver: 7.5.4 + semver: 7.4.0 transitivePeerDependencies: - supports-color + dev: true - vue-flow-layout@0.1.1(vue@3.3.4): - dependencies: - vue: 3.3.4 - - vue-i18n@9.9.1(vue@3.3.4): - dependencies: - '@intlify/core-base': 9.9.1 - '@intlify/shared': 9.9.1 - '@vue/devtools-api': 6.5.0 - vue: 3.3.4 - - vue-router@4.1.6(vue@3.3.4): + /vue-router@4.1.6(vue@3.2.47): + resolution: {integrity: sha512-DYWYwsG6xNPmLq/FmZn8Ip+qrhFEzA14EI12MsMgVxvHFDYvlr4NXpVF5hrRH1wVcDP8fGi5F4rxuJSl8/r+EQ==} + peerDependencies: + vue: ^3.2.0 dependencies: '@vue/devtools-api': 6.5.0 - vue: 3.3.4 + vue: 3.2.47 + dev: false - vue-shadow-dom@4.2.0: {} - - vue-template-compiler@2.7.14: + /vue-tsc@0.31.4(typescript@4.5.5): + resolution: {integrity: sha512-8RnKGmQRo/0rbXkyZmKCOdT62fNWyEaMdS/BDAPE+saGNAniUZsjpOSOjAiLwsQc5qgeI9/mY1W3o4tX7H/7MA==} + hasBin: true + peerDependencies: + typescript: '*' dependencies: - de-indent: 1.0.2 - he: 1.2.0 + '@volar/shared': 0.31.4 + typescript: 4.5.5 + vscode-vue-languageservice: 0.31.4 + dev: true - vue-template-compiler@2.7.16: + /vue@3.2.47: + resolution: {integrity: sha512-60188y/9Dc9WVrAZeUVSDxRQOZ+z+y5nO2ts9jWXSTkMvayiWxCWOWtBQoYjLeccfXkiiPZWAHcV+WTPhkqJHQ==} dependencies: - de-indent: 1.0.2 - he: 1.2.0 - optional: true + '@vue/compiler-dom': 3.2.47 + '@vue/compiler-sfc': 3.2.47 + '@vue/runtime-dom': 3.2.47 + '@vue/server-renderer': 3.2.47(vue@3.2.47) + '@vue/shared': 3.2.47 - vue-tsc@1.8.1(typescript@5.2.2): + /vueuc@0.4.51(vue@3.2.47): + resolution: {integrity: sha512-pLiMChM4f+W8czlIClGvGBYo656lc2Y0/mXFSCydcSmnCR1izlKPGMgiYBGjbY9FDkFG8a2HEVz7t0DNzBWbDw==} + peerDependencies: + vue: ^3.0.11 dependencies: - '@vue/language-core': 1.8.1(typescript@5.2.2) - '@vue/typescript': 1.8.1(typescript@5.2.2) - semver: 7.5.1 - typescript: 5.2.2 - - vue@3.3.4: - dependencies: - '@vue/compiler-dom': 3.3.4 - '@vue/compiler-sfc': 3.3.4 - '@vue/runtime-dom': 3.3.4 - '@vue/server-renderer': 3.3.4(vue@3.3.4) - '@vue/shared': 3.3.4 - - vue@3.5.13(typescript@5.2.2): - dependencies: - '@vue/compiler-dom': 3.5.13 - '@vue/compiler-sfc': 3.5.13 - '@vue/runtime-dom': 3.5.13 - '@vue/server-renderer': 3.5.13(vue@3.5.13(typescript@5.2.2)) - '@vue/shared': 3.5.13 - optionalDependencies: - typescript: 5.2.2 - - vuedraggable@4.1.0(vue@3.3.4): - dependencies: - sortablejs: 1.14.0 - vue: 3.3.4 - - vueuc@0.4.51(vue@3.3.4): - dependencies: - '@css-render/vue3-ssr': 0.15.12(vue@3.3.4) + '@css-render/vue3-ssr': 0.15.12(vue@3.2.47) '@juggle/resize-observer': 3.4.0 css-render: 0.15.12 evtd: 0.2.4 seemly: 0.3.6 - vdirs: 0.1.8(vue@3.3.4) - vooks: 0.2.12(vue@3.3.4) - vue: 3.3.4 + vdirs: 0.1.8(vue@3.2.47) + vooks: 0.2.12(vue@3.2.47) + vue: 3.2.47 + dev: false - w3c-keyname@2.2.8: {} + /w3c-hr-time@1.0.2: + resolution: {integrity: sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==} + deprecated: Use your platform's native performance.now() and performance.timeOrigin. + dependencies: + browser-process-hrtime: 1.0.0 + dev: true - w3c-xmlserializer@4.0.0: + /w3c-keyname@2.2.6: + resolution: {integrity: sha512-f+fciywl1SJEniZHD6H+kUO8gOnwIr7f4ijKA6+ZvJFjeGi1r4PDLl53Ayud9O/rk64RqgoQine0feoeOU0kXg==} + dev: false + + /w3c-xmlserializer@3.0.0: + resolution: {integrity: sha512-3WFqGEgSXIyGhOmAFtlicJNMjEps8b1MG31NCA0/vOF9+nKMUW1ckhi9cnNHmf88Rzw5V+dwIwsm2C7X8k9aQg==} + engines: {node: '>=12'} dependencies: xml-name-validator: 4.0.0 + dev: true - wcwidth@1.0.1: + /wait-on@7.0.1(debug@4.3.4): + resolution: {integrity: sha512-9AnJE9qTjRQOlTZIldAaf/da2eW0eSRSgcqq85mXQja/DW3MriHxkpODDSUEg+Gri/rKEcXUZHe+cevvYItaog==} + engines: {node: '>=12.0.0'} + hasBin: true dependencies: - defaults: 1.0.4 + axios: 0.27.2(debug@4.3.4) + joi: 17.9.1 + lodash: 4.17.21 + minimist: 1.2.8 + rxjs: 7.8.0 + transitivePeerDependencies: + - debug + dev: true - web-streams-polyfill@3.2.1: {} + /web-streams-polyfill@3.2.1: + resolution: {integrity: sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==} + engines: {node: '>= 8'} + dev: true - webidl-conversions@4.0.2: {} + /webidl-conversions@3.0.1: + resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} + dev: false - webidl-conversions@7.0.0: {} + /webidl-conversions@4.0.2: + resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} + dev: true - webpack-sources@3.2.3: {} + /webidl-conversions@7.0.0: + resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} + engines: {node: '>=12'} + dev: true - webpack-virtual-modules@0.5.0: {} + /webpack-sources@3.2.3: + resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} + engines: {node: '>=10.13.0'} + dev: true - webpod@0.0.2: {} + /webpack-virtual-modules@0.5.0: + resolution: {integrity: sha512-kyDivFZ7ZM0BVOUteVbDFhlRt7Ah/CSPwJdi8hBpkK7QLumUqdLtVfm/PX/hkcnrvr0i77fO5+TjZ94Pe+C9iw==} + dev: true - whatwg-encoding@2.0.0: + /webpod@0.0.2: + resolution: {integrity: sha512-cSwwQIeg8v4i3p4ajHhwgR7N6VyxAf+KYSSsY6Pd3aETE+xEU4vbitz7qQkB0I321xnhDdgtxuiSfk5r/FVtjg==} + hasBin: true + dev: true + + /whatwg-encoding@2.0.0: + resolution: {integrity: sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==} + engines: {node: '>=12'} dependencies: iconv-lite: 0.6.3 + dev: true - whatwg-mimetype@3.0.0: {} + /whatwg-mimetype@3.0.0: + resolution: {integrity: sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==} + engines: {node: '>=12'} + dev: true - whatwg-url@12.0.1: + /whatwg-url@10.0.0: + resolution: {integrity: sha512-CLxxCmdUby142H5FZzn4D8ikO1cmypvXVQktsgosNy4a4BHrDHeciBBGZhb0bNoR5/MltoCatso+vFjjGx8t0w==} + engines: {node: '>=12'} dependencies: - tr46: 4.1.1 + tr46: 3.0.0 webidl-conversions: 7.0.0 + dev: true - whatwg-url@7.1.0: + /whatwg-url@11.0.0: + resolution: {integrity: sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==} + engines: {node: '>=12'} + dependencies: + tr46: 3.0.0 + webidl-conversions: 7.0.0 + dev: true + + /whatwg-url@5.0.0: + resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} + dependencies: + tr46: 0.0.3 + webidl-conversions: 3.0.1 + dev: false + + /whatwg-url@7.1.0: + resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==} dependencies: lodash.sortby: 4.7.0 tr46: 1.0.1 webidl-conversions: 4.0.2 + dev: true - which-boxed-primitive@1.1.0: + /which-boxed-primitive@1.0.2: + resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} dependencies: - is-bigint: 1.1.0 - is-boolean-object: 1.2.1 - is-number-object: 1.1.0 - is-string: 1.1.0 - is-symbol: 1.1.1 + is-bigint: 1.0.4 + is-boolean-object: 1.1.2 + is-number-object: 1.0.7 + is-string: 1.0.7 + is-symbol: 1.0.4 + dev: true - which-builtin-type@1.2.1: + /which-module@2.0.0: + resolution: {integrity: sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==} + dev: false + + /which-typed-array@1.1.9: + resolution: {integrity: sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==} + engines: {node: '>= 0.4'} dependencies: - call-bound: 1.0.2 - function.prototype.name: 1.1.6 - has-tostringtag: 1.0.2 - is-async-function: 2.0.0 - is-date-object: 1.1.0 - is-finalizationregistry: 1.1.0 - is-generator-function: 1.0.10 - is-regex: 1.2.1 - is-weakref: 1.1.0 - isarray: 2.0.5 - which-boxed-primitive: 1.1.0 - which-collection: 1.0.2 - which-typed-array: 1.1.16 - - which-collection@1.0.2: - dependencies: - is-map: 2.0.3 - is-set: 2.0.3 - is-weakmap: 2.0.2 - is-weakset: 2.0.3 - - which-module@2.0.0: {} - - which-typed-array@1.1.16: - dependencies: - available-typed-arrays: 1.0.7 - call-bind: 1.0.8 + available-typed-arrays: 1.0.5 + call-bind: 1.0.2 for-each: 0.3.3 - gopd: 1.2.0 - has-tostringtag: 1.0.2 + gopd: 1.0.1 + has-tostringtag: 1.0.0 + is-typed-array: 1.1.10 + dev: true - which@2.0.2: + /which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true dependencies: isexe: 2.0.0 + dev: true - which@3.0.0: + /which@3.0.0: + resolution: {integrity: sha512-nla//68K9NU6yRiwDY/Q8aU6siKlSs64aEC7+IV56QoAuyQT2ovsJcgGYGyqMOmI/CGN1BOR6mM5EN0FBO+zyQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + hasBin: true dependencies: isexe: 2.0.0 + dev: true - why-is-node-running@2.2.2: + /with@7.0.2: + resolution: {integrity: sha512-RNGKj82nUPg3g5ygxkQl0R937xLyho1J24ItRCBTr/m1YnZkzJy1hUiHUJrc/VlsDQzsCnInEGSg3bci0Lmd4w==} + engines: {node: '>= 10.0.0'} dependencies: - siginfo: 2.0.0 - stackback: 0.0.2 + '@babel/parser': 7.21.4 + '@babel/types': 7.21.4 + assert-never: 1.2.1 + babel-walk: 3.0.0-canary-5 + dev: true - workbox-background-sync@7.3.0: + /word-wrap@1.2.3: + resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==} + engines: {node: '>=0.10.0'} + dev: true + + /workbox-background-sync@6.5.4: + resolution: {integrity: sha512-0r4INQZMyPky/lj4Ou98qxcThrETucOde+7mRGJl13MPJugQNKeZQOdIJe/1AchOP23cTqHcN/YVpD6r8E6I8g==} dependencies: idb: 7.1.1 - workbox-core: 7.3.0 + workbox-core: 6.5.4 + dev: true - workbox-broadcast-update@7.3.0: + /workbox-broadcast-update@6.5.4: + resolution: {integrity: sha512-I/lBERoH1u3zyBosnpPEtcAVe5lwykx9Yg1k6f8/BGEPGaMMgZrwVrqL1uA9QZ1NGGFoyE6t9i7lBjOlDhFEEw==} dependencies: - workbox-core: 7.3.0 + workbox-core: 6.5.4 + dev: true - workbox-build@7.3.0: + /workbox-build@6.5.4: + resolution: {integrity: sha512-kgRevLXEYvUW9WS4XoziYqZ8Q9j/2ziJYEtTrjdz5/L/cTUa2XfyMP2i7c3p34lgqJ03+mTiz13SdFef2POwbA==} + engines: {node: '>=10.0.0'} dependencies: - '@apideck/better-ajv-errors': 0.3.6(ajv@8.17.1) - '@babel/core': 7.26.0 - '@babel/preset-env': 7.26.0(@babel/core@7.26.0) - '@babel/runtime': 7.26.0 - '@rollup/plugin-babel': 5.3.1(@babel/core@7.26.0)(rollup@2.79.2) - '@rollup/plugin-node-resolve': 15.3.0(rollup@2.79.2) - '@rollup/plugin-replace': 2.4.2(rollup@2.79.2) - '@rollup/plugin-terser': 0.4.4(rollup@2.79.2) + '@apideck/better-ajv-errors': 0.3.6(ajv@8.12.0) + '@babel/core': 7.21.4 + '@babel/preset-env': 7.21.4(@babel/core@7.21.4) + '@babel/runtime': 7.21.0 + '@rollup/plugin-babel': 5.3.1(@babel/core@7.21.4)(rollup@2.79.1) + '@rollup/plugin-node-resolve': 11.2.1(rollup@2.79.1) + '@rollup/plugin-replace': 2.4.2(rollup@2.79.1) '@surma/rollup-plugin-off-main-thread': 2.2.3 - ajv: 8.17.1 + ajv: 8.12.0 common-tags: 1.8.2 fast-json-stable-stringify: 2.1.0 fs-extra: 9.1.0 glob: 7.2.3 lodash: 4.17.21 pretty-bytes: 5.6.0 - rollup: 2.79.2 + rollup: 2.79.1 + rollup-plugin-terser: 7.0.2(rollup@2.79.1) source-map: 0.8.0-beta.0 stringify-object: 3.3.0 strip-comments: 2.0.1 tempy: 0.6.0 upath: 1.2.0 - workbox-background-sync: 7.3.0 - workbox-broadcast-update: 7.3.0 - workbox-cacheable-response: 7.3.0 - workbox-core: 7.3.0 - workbox-expiration: 7.3.0 - workbox-google-analytics: 7.3.0 - workbox-navigation-preload: 7.3.0 - workbox-precaching: 7.3.0 - workbox-range-requests: 7.3.0 - workbox-recipes: 7.3.0 - workbox-routing: 7.3.0 - workbox-strategies: 7.3.0 - workbox-streams: 7.3.0 - workbox-sw: 7.3.0 - workbox-window: 7.3.0 + workbox-background-sync: 6.5.4 + workbox-broadcast-update: 6.5.4 + workbox-cacheable-response: 6.5.4 + workbox-core: 6.5.4 + workbox-expiration: 6.5.4 + workbox-google-analytics: 6.5.4 + workbox-navigation-preload: 6.5.4 + workbox-precaching: 6.5.4 + workbox-range-requests: 6.5.4 + workbox-recipes: 6.5.4 + workbox-routing: 6.5.4 + workbox-strategies: 6.5.4 + workbox-streams: 6.5.4 + workbox-sw: 6.5.4 + workbox-window: 6.5.4 transitivePeerDependencies: - '@types/babel__core' - supports-color + dev: true - workbox-cacheable-response@7.3.0: + /workbox-cacheable-response@6.5.4: + resolution: {integrity: sha512-DCR9uD0Fqj8oB2TSWQEm1hbFs/85hXXoayVwFKLVuIuxwJaihBsLsp4y7J9bvZbqtPJ1KlCkmYVGQKrBU4KAug==} dependencies: - workbox-core: 7.3.0 + workbox-core: 6.5.4 + dev: true - workbox-core@7.0.0: {} + /workbox-core@6.5.4: + resolution: {integrity: sha512-OXYb+m9wZm8GrORlV2vBbE5EC1FKu71GGp0H4rjmxmF4/HLbMCoTFws87M3dFwgpmg0v00K++PImpNQ6J5NQ6Q==} + dev: true - workbox-core@7.3.0: {} - - workbox-expiration@7.3.0: + /workbox-expiration@6.5.4: + resolution: {integrity: sha512-jUP5qPOpH1nXtjGGh1fRBa1wJL2QlIb5mGpct3NzepjGG2uFFBn4iiEBiI9GUmfAFR2ApuRhDydjcRmYXddiEQ==} dependencies: idb: 7.1.1 - workbox-core: 7.3.0 + workbox-core: 6.5.4 + dev: true - workbox-google-analytics@7.3.0: + /workbox-google-analytics@6.5.4: + resolution: {integrity: sha512-8AU1WuaXsD49249Wq0B2zn4a/vvFfHkpcFfqAFHNHwln3jK9QUYmzdkKXGIZl9wyKNP+RRX30vcgcyWMcZ9VAg==} dependencies: - workbox-background-sync: 7.3.0 - workbox-core: 7.3.0 - workbox-routing: 7.3.0 - workbox-strategies: 7.3.0 + workbox-background-sync: 6.5.4 + workbox-core: 6.5.4 + workbox-routing: 6.5.4 + workbox-strategies: 6.5.4 + dev: true - workbox-navigation-preload@7.3.0: + /workbox-navigation-preload@6.5.4: + resolution: {integrity: sha512-IIwf80eO3cr8h6XSQJF+Hxj26rg2RPFVUmJLUlM0+A2GzB4HFbQyKkrgD5y2d84g2IbJzP4B4j5dPBRzamHrng==} dependencies: - workbox-core: 7.3.0 + workbox-core: 6.5.4 + dev: true - workbox-precaching@7.3.0: + /workbox-precaching@6.5.4: + resolution: {integrity: sha512-hSMezMsW6btKnxHB4bFy2Qfwey/8SYdGWvVIKFaUm8vJ4E53JAY+U2JwLTRD8wbLWoP6OVUdFlXsTdKu9yoLTg==} dependencies: - workbox-core: 7.3.0 - workbox-routing: 7.3.0 - workbox-strategies: 7.3.0 + workbox-core: 6.5.4 + workbox-routing: 6.5.4 + workbox-strategies: 6.5.4 + dev: true - workbox-range-requests@7.3.0: + /workbox-range-requests@6.5.4: + resolution: {integrity: sha512-Je2qR1NXCFC8xVJ/Lux6saH6IrQGhMpDrPXWZWWS8n/RD+WZfKa6dSZwU+/QksfEadJEr/NfY+aP/CXFFK5JFg==} dependencies: - workbox-core: 7.3.0 + workbox-core: 6.5.4 + dev: true - workbox-recipes@7.3.0: + /workbox-recipes@6.5.4: + resolution: {integrity: sha512-QZNO8Ez708NNwzLNEXTG4QYSKQ1ochzEtRLGaq+mr2PyoEIC1xFW7MrWxrONUxBFOByksds9Z4//lKAX8tHyUA==} dependencies: - workbox-cacheable-response: 7.3.0 - workbox-core: 7.3.0 - workbox-expiration: 7.3.0 - workbox-precaching: 7.3.0 - workbox-routing: 7.3.0 - workbox-strategies: 7.3.0 + workbox-cacheable-response: 6.5.4 + workbox-core: 6.5.4 + workbox-expiration: 6.5.4 + workbox-precaching: 6.5.4 + workbox-routing: 6.5.4 + workbox-strategies: 6.5.4 + dev: true - workbox-routing@7.3.0: + /workbox-routing@6.5.4: + resolution: {integrity: sha512-apQswLsbrrOsBUWtr9Lf80F+P1sHnQdYodRo32SjiByYi36IDyL2r7BH1lJtFX8fwNHDa1QOVY74WKLLS6o5Pg==} dependencies: - workbox-core: 7.3.0 + workbox-core: 6.5.4 + dev: true - workbox-strategies@7.3.0: + /workbox-strategies@6.5.4: + resolution: {integrity: sha512-DEtsxhx0LIYWkJBTQolRxG4EI0setTJkqR4m7r4YpBdxtWJH1Mbg01Cj8ZjNOO8etqfA3IZaOPHUxCs8cBsKLw==} dependencies: - workbox-core: 7.3.0 + workbox-core: 6.5.4 + dev: true - workbox-streams@7.3.0: + /workbox-streams@6.5.4: + resolution: {integrity: sha512-FXKVh87d2RFXkliAIheBojBELIPnWbQdyDvsH3t74Cwhg0fDheL1T8BqSM86hZvC0ZESLsznSYWw+Va+KVbUzg==} dependencies: - workbox-core: 7.3.0 - workbox-routing: 7.3.0 + workbox-core: 6.5.4 + workbox-routing: 6.5.4 + dev: true - workbox-sw@7.3.0: {} + /workbox-sw@6.5.4: + resolution: {integrity: sha512-vo2RQo7DILVRoH5LjGqw3nphavEjK4Qk+FenXeUsknKn14eCNedHOXWbmnvP4ipKhlE35pvJ4yl4YYf6YsJArA==} + dev: true - workbox-window@7.0.0: + /workbox-window@6.5.4: + resolution: {integrity: sha512-HnLZJDwYBE+hpG25AQBO8RUWBJRaCsI9ksQJEp3aCOFCaG5kqaToAYXFRAHxzRluM2cQbGzdQF5rjKPWPA1fug==} dependencies: '@types/trusted-types': 2.0.3 - workbox-core: 7.0.0 + workbox-core: 6.5.4 + dev: true - workbox-window@7.3.0: - dependencies: - '@types/trusted-types': 2.0.7 - workbox-core: 7.3.0 - - wrap-ansi@6.2.0: + /wrap-ansi@6.2.0: + resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} + engines: {node: '>=8'} dependencies: ansi-styles: 4.3.0 string-width: 4.2.3 strip-ansi: 6.0.1 + dev: false - wrappy@1.0.2: {} - - ws@8.13.0: {} - - xml-formatter@3.3.2: + /wrap-ansi@7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} dependencies: - xml-parser-xo: 4.0.5 + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + dev: true - xml-js@1.6.11: - dependencies: - sax: 1.2.4 + /wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - xml-name-validator@4.0.0: {} + /ws@8.13.0: + resolution: {integrity: sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + dev: true - xml-parser-xo@4.0.5: {} + /xml-name-validator@4.0.0: + resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==} + engines: {node: '>=12'} + dev: true - xmlchars@2.2.0: {} + /xmlchars@2.2.0: + resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==} + dev: true - y18n@4.0.3: {} + /y18n@4.0.3: + resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==} + dev: false - yallist@2.1.2: {} + /y18n@5.0.8: + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} + dev: true - yallist@3.1.1: {} + /yallist@2.1.2: + resolution: {integrity: sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==} + dev: true - yallist@4.0.0: {} + /yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + dev: true - yaml-eslint-parser@1.2.2: - dependencies: - eslint-visitor-keys: 3.4.3 - lodash: 4.17.21 - yaml: 2.2.1 + /yallist@4.0.0: + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + dev: true - yaml@2.2.1: {} + /yaml@2.2.1: + resolution: {integrity: sha512-e0WHiYql7+9wr4cWMx3TVQrNwejKaEe7/rHNmQmqRjazfOP5W8PB6Jpebb5o6fIapbz9o9+2ipcaTM2ZwDI6lw==} + engines: {node: '>= 14'} - yamljs@0.3.0: + /yamljs@0.3.0: + resolution: {integrity: sha512-C/FsVVhht4iPQYXOInoxUM/1ELSf9EsgKH34FofQOp6hwCPrW4vG4w5++TED3xRUo8gD7l0P1J1dLlDYzODsTQ==} + hasBin: true dependencies: argparse: 1.0.10 glob: 7.2.3 + dev: false - yargs-parser@18.1.3: + /yargs-parser@18.1.3: + resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==} + engines: {node: '>=6'} dependencies: camelcase: 5.3.1 decamelize: 1.2.0 + dev: false - yargs-parser@21.1.1: {} + /yargs-parser@20.2.9: + resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} + engines: {node: '>=10'} + dev: true - yargs@15.4.1: + /yargs@15.4.1: + resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==} + engines: {node: '>=8'} dependencies: cliui: 6.0.0 decamelize: 1.2.0 @@ -12484,12 +8371,30 @@ snapshots: which-module: 2.0.0 y18n: 4.0.3 yargs-parser: 18.1.3 + dev: false - yocto-queue@0.1.0: {} + /yargs@16.2.0: + resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==} + engines: {node: '>=10'} + dependencies: + cliui: 7.0.4 + escalade: 3.1.1 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + string-width: 4.2.3 + y18n: 5.0.8 + yargs-parser: 20.2.9 + dev: true - yocto-queue@1.0.0: {} + /yocto-queue@0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + dev: true - zx@7.2.1: + /zx@7.2.1: + resolution: {integrity: sha512-TgKwppaMLMNAXHhlhbBh7rMoOSx3/9qqnkv8frmhVlSomEuWkDijh/BCmYntkoS7ZQyemApAUyEi24jIrrS+hA==} + engines: {node: '>= 16.0.0'} + hasBin: true dependencies: '@types/fs-extra': 11.0.1 '@types/minimist': 1.2.2 @@ -12505,3 +8410,4 @@ snapshots: webpod: 0.0.2 which: 3.0.0 yaml: 2.2.1 + dev: true diff --git a/renovate.json b/renovate.json deleted file mode 100644 index 39a2b6e9..00000000 --- a/renovate.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "$schema": "https://docs.renovatebot.com/renovate-schema.json", - "extends": [ - "config:base" - ] -} diff --git a/scripts/build-locales-files.mjs b/scripts/build-locales-files.mjs deleted file mode 100644 index db1483de..00000000 --- a/scripts/build-locales-files.mjs +++ /dev/null @@ -1,61 +0,0 @@ -import { existsSync, writeFileSync } from 'node:fs'; -import { Glob } from 'bun'; -import _ from 'lodash'; - -async function getPathsFromGlobs({ patterns, onlyFiles = true }) { - const filePaths = []; - - for (const pattern of patterns) { - const glob = new Glob(pattern); - - for await (const filePath of glob.scan({ onlyFiles, cwd: '.' })) { - filePaths.push(filePath); - } - } - - return { filePaths }; -} - -function getLocaleKey({ filePath }) { - const fileName = filePath.split('/').pop(); - return fileName.replace(/\.yml$/, ''); -} - -async function createMissingLocaleFile({ localeKey }) { - const fileName = `${localeKey}.yml`; - - const { filePaths: localesDirs } = await getPathsFromGlobs({ - patterns: [ - 'locales', - 'src/tools/*/locales', - ], - onlyFiles: false, - }); - - for (const localesDir of localesDirs) { - const filePath = `${localesDir}/${fileName}`; - - if (existsSync(filePath)) { - console.log(`Locale file already exists: ${filePath}`); - continue; - } - - console.log(`Creating missing locale file: ${filePath}`); - writeFileSync(filePath, '', 'utf8'); - } -} - -const { filePaths } = await getPathsFromGlobs({ - patterns: [ - 'locales/*.yml', - 'src/tools/*/locales/*.yml', - ], -}); - -await Promise.all( - _.chain(filePaths) - .map(filePath => getLocaleKey({ filePath })) - .uniq() - .map(localeKey => createMissingLocaleFile({ localeKey })) - .value(), -); diff --git a/src/App.vue b/src/App.vue index 8e65335d..98199afb 100644 --- a/src/App.vue +++ b/src/App.vue @@ -1,6 +1,7 @@ diff --git a/src/components/CollapsibleToolMenu.vue b/src/components/CollapsibleToolMenu.vue index 9a73ddd6..b7662554 100644 --- a/src/components/CollapsibleToolMenu.vue +++ b/src/components/CollapsibleToolMenu.vue @@ -1,9 +1,39 @@ + + - - diff --git a/src/components/InputCopyable.vue b/src/components/InputCopyable.vue index a69a039a..eaf29c81 100644 --- a/src/components/InputCopyable.vue +++ b/src/components/InputCopyable.vue @@ -1,23 +1,43 @@ + + - + diff --git a/src/components/MenuIconItem.vue b/src/components/MenuIconItem.vue index d816f8c6..a08fe241 100644 --- a/src/components/MenuIconItem.vue +++ b/src/components/MenuIconItem.vue @@ -1,6 +1,14 @@ + + - - diff --git a/src/components/SpanCopyable.vue b/src/components/SpanCopyable.vue index 5643cff9..caac35d0 100644 --- a/src/components/SpanCopyable.vue +++ b/src/components/SpanCopyable.vue @@ -1,17 +1,35 @@ + + - + diff --git a/src/components/TextareaCopyable.vue b/src/components/TextareaCopyable.vue index 9585177d..38288d4a 100644 --- a/src/components/TextareaCopyable.vue +++ b/src/components/TextareaCopyable.vue @@ -1,48 +1,6 @@ - - + + diff --git a/src/components/ToolCard.vue b/src/components/ToolCard.vue index 4ba4564c..c0f85819 100644 --- a/src/components/ToolCard.vue +++ b/src/components/ToolCard.vue @@ -1,41 +1,78 @@ - - + + + + diff --git a/src/composable/computed/catchedComputed.ts b/src/composable/computed/catchedComputed.ts deleted file mode 100644 index fd00a128..00000000 --- a/src/composable/computed/catchedComputed.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { type Ref, ref, watchEffect } from 'vue'; - -export { computedCatch }; - -function computedCatch(getter: () => T, { defaultValue }: { defaultValue: D; defaultErrorMessage?: string }): [Ref, Ref]; -function computedCatch(getter: () => T, { defaultValue, defaultErrorMessage = 'Unknown error' }: { defaultValue?: D; defaultErrorMessage?: string } = {}) { - const error = ref(); - const value = ref(); - - watchEffect(() => { - try { - error.value = undefined; - value.value = getter(); - } - catch (err) { - error.value = err instanceof Error ? err.message : err?.toString() ?? defaultErrorMessage; - value.value = defaultValue; - } - }); - - return [value, error] as const; -} diff --git a/src/composable/computedRefreshable.ts b/src/composable/computedRefreshable.ts index 8680d06f..89ab7348 100644 --- a/src/composable/computedRefreshable.ts +++ b/src/composable/computedRefreshable.ts @@ -11,8 +11,7 @@ function computedRefreshable(getter: () => T, { throttle }: { throttle?: numb if (throttle) { watchThrottled(getter, update, { throttle }); - } - else { + } else { watch(getter, update); } diff --git a/src/composable/copy.ts b/src/composable/copy.ts index 5f853bac..af4921bc 100644 --- a/src/composable/copy.ts +++ b/src/composable/copy.ts @@ -1,30 +1,14 @@ -// eslint-disable-next-line no-restricted-imports -import { useClipboard } from '@vueuse/core'; +import { useClipboard, type MaybeRef, get } from '@vueuse/core'; import { useMessage } from 'naive-ui'; -import type { MaybeRefOrGetter } from 'vue'; - -export function useCopy({ source, text = 'Copied to the clipboard', createToast = true }: { source?: MaybeRefOrGetter; text?: string; createToast?: boolean } = {}) { - const { copy, copied, ...rest } = useClipboard({ - source, - legacy: true, - }); +export function useCopy({ source, text = 'Copied to the clipboard' }: { source: MaybeRef; text?: string }) { + const { copy } = useClipboard({ source: computed(() => String(get(source))) }); const message = useMessage(); return { - ...rest, - isJustCopied: copied, - async copy(content?: string, { notificationMessage }: { notificationMessage?: string } = {}) { - if (source) { - await copy(); - } - else { - await copy(content); - } - - if (createToast) { - message.success(notificationMessage ?? text); - } + async copy() { + await copy(); + message.success(text); }, }; } diff --git a/src/composable/debouncedref.ts b/src/composable/debouncedref.ts deleted file mode 100644 index 09dd10e9..00000000 --- a/src/composable/debouncedref.ts +++ /dev/null @@ -1,21 +0,0 @@ -import _ from 'lodash'; - -function useDebouncedRef(initialValue: T, delay: number, immediate: boolean = false) { - const state = ref(initialValue); - const debouncedRef = customRef((track, trigger) => ({ - get() { - track(); - return state.value; - }, - set: _.debounce( - (value) => { - state.value = value; - trigger(); - }, - delay, - { leading: immediate }, - ), - })); - return debouncedRef; -} -export default useDebouncedRef; diff --git a/src/composable/downloadBase64.test.ts b/src/composable/downloadBase64.test.ts deleted file mode 100644 index 3f2e3f7e..00000000 --- a/src/composable/downloadBase64.test.ts +++ /dev/null @@ -1,32 +0,0 @@ -import { describe, expect, it } from 'vitest'; -import { getMimeTypeFromBase64 } from './downloadBase64'; - -describe('downloadBase64', () => { - describe('getMimeTypeFromBase64', () => { - it('when the base64 string has a data URI, it returns the mime type', () => { - expect(getMimeTypeFromBase64({ base64String: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUA' })).to.deep.equal({ mimeType: 'image/png' }); - expect(getMimeTypeFromBase64({ base64String: 'data:image/jpg;base64,iVBORw0KGgoAAAANSUhEUgAAAAUA' })).to.deep.equal({ mimeType: 'image/jpg' }); - }); - - it('when the base64 string has no data URI, it try to infer the mime type from the signature', () => { - // https://en.wikipedia.org/wiki/List_of_file_signatures - - // PNG - expect(getMimeTypeFromBase64({ base64String: 'iVBORw0KGgoAAAANSUhEUgAAAAUA' })).to.deep.equal({ mimeType: 'image/png' }); - - // GIF - expect(getMimeTypeFromBase64({ base64String: 'R0lGODdh' })).to.deep.equal({ mimeType: 'image/gif' }); - expect(getMimeTypeFromBase64({ base64String: 'R0lGODlh' })).to.deep.equal({ mimeType: 'image/gif' }); - - // JPG - expect(getMimeTypeFromBase64({ base64String: '/9j/' })).to.deep.equal({ mimeType: 'image/jpg' }); - - // PDF - expect(getMimeTypeFromBase64({ base64String: 'JVBERi0' })).to.deep.equal({ mimeType: 'application/pdf' }); - }); - - it('when the base64 string has no data URI and no signature, it returns an undefined mimeType', () => { - expect(getMimeTypeFromBase64({ base64String: 'JVBERi' })).to.deep.equal({ mimeType: undefined }); - }); - }); -}); diff --git a/src/composable/downloadBase64.ts b/src/composable/downloadBase64.ts index 3bc20226..93483632 100644 --- a/src/composable/downloadBase64.ts +++ b/src/composable/downloadBase64.ts @@ -1,118 +1,37 @@ -import { extension as getExtensionFromMimeType, extension as getMimeTypeFromExtension } from 'mime-types'; +import { extension as getExtensionFromMime } from 'mime-types'; import type { Ref } from 'vue'; -import _ from 'lodash'; -export { - getMimeTypeFromBase64, - getMimeTypeFromExtension, getExtensionFromMimeType, - useDownloadFileFromBase64, useDownloadFileFromBase64Refs, - previewImageFromBase64, -}; - -const commonMimeTypesSignatures = { - 'JVBERi0': 'application/pdf', - 'R0lGODdh': 'image/gif', - 'R0lGODlh': 'image/gif', - 'iVBORw0KGgo': 'image/png', - '/9j/': 'image/jpg', -}; - -function getMimeTypeFromBase64({ base64String }: { base64String: string }) { - const [,mimeTypeFromBase64] = base64String.match(/data:(.*?);base64/i) ?? []; - - if (mimeTypeFromBase64) { - return { mimeType: mimeTypeFromBase64 }; - } - - const inferredMimeType = _.find(commonMimeTypesSignatures, (_mimeType, signature) => base64String.startsWith(signature)); - - if (inferredMimeType) { - return { mimeType: inferredMimeType }; - } - - return { mimeType: undefined }; -} - -function getFileExtensionFromMimeType({ - mimeType, +function getFileExtensionFromBase64({ + base64String, defaultExtension = 'txt', }: { - mimeType: string | undefined - defaultExtension?: string + base64String: string; + defaultExtension?: string; }) { - if (mimeType) { - return getExtensionFromMimeType(mimeType) ?? defaultExtension; + const hasMimeType = base64String.match(/data:(.*?);base64/i); + + if (hasMimeType) { + return getExtensionFromMime(hasMimeType[1]) || defaultExtension; } return defaultExtension; } -function downloadFromBase64({ sourceValue, filename, extension, fileMimeType }: -{ sourceValue: string; filename?: string; extension?: string; fileMimeType?: string }) { - if (sourceValue === '') { - throw new Error('Base64 string is empty'); - } - - const defaultExtension = extension ?? 'txt'; - const { mimeType } = getMimeTypeFromBase64({ base64String: sourceValue }); - let base64String = sourceValue; - if (!mimeType) { - const targetMimeType = fileMimeType ?? getMimeTypeFromExtension(defaultExtension); - base64String = `data:${targetMimeType};base64,${sourceValue}`; - } - - const cleanExtension = extension ?? getFileExtensionFromMimeType( - { mimeType, defaultExtension }); - let cleanFileName = filename ?? `file.${cleanExtension}`; - if (extension && !cleanFileName.endsWith(`.${extension}`)) { - cleanFileName = `${cleanFileName}.${cleanExtension}`; - } - - const a = document.createElement('a'); - a.href = base64String; - a.download = cleanFileName; - a.click(); -} - -function useDownloadFileFromBase64( - { source, filename, extension, fileMimeType }: - { source: Ref; filename?: string; extension?: string; fileMimeType?: string }) { +export function useDownloadFileFromBase64({ source, filename }: { source: Ref; filename?: string }) { return { download() { - downloadFromBase64({ sourceValue: source.value, filename, extension, fileMimeType }); + const base64String = source.value; + + if (base64String === '') { + throw new Error('Base64 string is empty'); + } + + const cleanFileName = filename ?? `file.${getFileExtensionFromBase64({ base64String })}`; + + const a = document.createElement('a'); + a.href = base64String; + a.download = cleanFileName; + a.click(); }, }; } - -function useDownloadFileFromBase64Refs( - { source, filename, extension }: - { source: Ref; filename?: Ref; extension?: Ref }) { - return { - download() { - downloadFromBase64({ sourceValue: source.value, filename: filename?.value, extension: extension?.value }); - }, - }; -} - -function previewImageFromBase64(base64String: string): HTMLImageElement { - if (base64String === '') { - throw new Error('Base64 string is empty'); - } - - const img = document.createElement('img'); - img.src = base64String; - - const container = document.createElement('div'); - container.appendChild(img); - - const previewContainer = document.getElementById('previewContainer'); - if (previewContainer) { - previewContainer.innerHTML = ''; - previewContainer.appendChild(container); - } - else { - throw new Error('Preview container element not found'); - } - - return img; -} diff --git a/src/composable/fuzzySearch.ts b/src/composable/fuzzySearch.ts index 00794fd8..b46f9de6 100644 --- a/src/composable/fuzzySearch.ts +++ b/src/composable/fuzzySearch.ts @@ -1,4 +1,4 @@ -import { type MaybeRef, get } from '@vueuse/core'; +import { get, type MaybeRef } from '@vueuse/core'; import Fuse from 'fuse.js'; import { computed } from 'vue'; @@ -9,21 +9,14 @@ function useFuzzySearch({ data, options = {}, }: { - search: MaybeRef - data: Data[] - options?: Fuse.IFuseOptions & { filterEmpty?: boolean } + search: MaybeRef; + data: Data[]; + options?: Fuse.IFuseOptions; }) { const fuse = new Fuse(data, options); - const filterEmpty = options.filterEmpty ?? true; - const searchResult = computed(() => { - const query = get(search); - - if (!filterEmpty && query === '') { - return data; - } - - return fuse.search(query).map(({ item }) => item); + const searchResult = computed(() => { + return fuse.search(get(search)).map(({ item }) => item); }); return { searchResult }; diff --git a/src/composable/queryParams.ts b/src/composable/queryParams.ts index 7cc8cc0d..9699abbc 100644 --- a/src/composable/queryParams.ts +++ b/src/composable/queryParams.ts @@ -1,8 +1,7 @@ import { useRouteQuery } from '@vueuse/router'; import { computed } from 'vue'; -import { useStorage } from '@vueuse/core'; -export { useQueryParam, useQueryParamOrStorage }; +export { useQueryParam }; const transformers = { number: { @@ -17,12 +16,6 @@ const transformers = { fromQuery: (value: string) => value.toLowerCase() === 'true', toQuery: (value: boolean) => (value ? 'true' : 'false'), }, - object: { - fromQuery: (value: string) => { - return JSON.parse(value); - }, - toQuery: (value: object) => JSON.stringify(value), - }, }; function useQueryParam({ name, defaultValue }: { name: string; defaultValue: T }) { @@ -40,27 +33,3 @@ function useQueryParam({ name, defaultValue }: { name: string; defaultValue: }, }); } - -function useQueryParamOrStorage({ name, storageName, defaultValue }: { name: string; storageName: string; defaultValue: T }) { - const type = typeof defaultValue; - const transformer = transformers[type as keyof typeof transformers] ?? transformers.string; - - const storageRef = useStorage(storageName, defaultValue); - const proxyDefaultValue = transformer.toQuery(defaultValue as never); - const proxy = useRouteQuery(name, proxyDefaultValue); - - const r = ref(defaultValue); - - watch(r, - (value) => { - proxy.value = transformer.toQuery(value as never); - storageRef.value = value as never; - }, - { deep: true }); - - r.value = (proxy.value && proxy.value !== proxyDefaultValue - ? transformer.fromQuery(proxy.value) as unknown as T - : storageRef.value as T) as never; - - return r; -} diff --git a/src/composable/validation.test.ts b/src/composable/validation.test.ts index 4464bea5..0bcb51f6 100644 --- a/src/composable/validation.test.ts +++ b/src/composable/validation.test.ts @@ -1,3 +1,4 @@ +/* eslint-disable @typescript-eslint/no-empty-function */ import { describe, expect, it } from 'vitest'; import { isFalsyOrHasThrown } from './validation'; @@ -10,7 +11,7 @@ describe('useValidation', () => { expect(isFalsyOrHasThrown(() => {})).toBe(true); expect( isFalsyOrHasThrown(() => { - throw new Error('message'); + throw new Error(); }), ).toBe(true); }); diff --git a/src/composable/validation.ts b/src/composable/validation.ts index 33a6a7b2..4858110c 100644 --- a/src/composable/validation.ts +++ b/src/composable/validation.ts @@ -1,59 +1,44 @@ -import { type MaybeRef, get } from '@vueuse/core'; import _ from 'lodash'; -import { type Ref, reactive, watch } from 'vue'; +import { reactive, watch, type Ref } from 'vue'; type ValidatorReturnType = unknown; -type GetErrorMessageReturnType = string; export interface UseValidationRule { - validator: (value: T) => ValidatorReturnType - getErrorMessage?: (value: T) => GetErrorMessageReturnType - message: string + validator: (value: T) => ValidatorReturnType; + message: string; } export function isFalsyOrHasThrown(cb: () => ValidatorReturnType): boolean { try { const returnValue = cb(); - if (_.isNil(returnValue)) { - return true; - } + if (_.isNil(returnValue)) return true; return returnValue === false; - } - catch (_) { + } catch (_) { return true; } } -export function getErrorMessageOrThrown(cb: () => GetErrorMessageReturnType): string { - try { - return cb() || ''; - } - catch (e: any) { - return e.toString(); - } -} - -export interface ValidationAttrs { - feedback: string - validationStatus: string | undefined -} +export type ValidationAttrs = { + feedback: string; + validationStatus: string | undefined; +}; export function useValidation({ source, rules, watch: watchRefs = [], }: { - source: Ref - rules: MaybeRef[]> - watch?: Ref[] + source: Ref; + rules: UseValidationRule[]; + watch?: Ref[]; }) { const state = reactive<{ - message: string - status: undefined | 'error' - isValid: boolean - attrs: ValidationAttrs + message: string; + status: undefined | 'error'; + isValid: boolean; + attrs: ValidationAttrs; }>({ message: '', status: undefined, @@ -70,15 +55,9 @@ export function useValidation({ state.message = ''; state.status = undefined; - for (const rule of get(rules)) { + for (const rule of rules) { if (isFalsyOrHasThrown(() => rule.validator(source.value))) { - if (rule.getErrorMessage) { - const getErrorMessage = rule.getErrorMessage; - state.message = rule.message.replace('{0}', getErrorMessageOrThrown(() => getErrorMessage(source.value))); - } - else { - state.message = rule.message; - } + state.message = rule.message; state.status = 'error'; } } diff --git a/src/config.ts b/src/config.ts index fa2421ef..2558d038 100644 --- a/src/config.ts +++ b/src/config.ts @@ -59,12 +59,6 @@ export const config = figue({ default: false, env: 'VITE_SHOW_BANNER', }, - showSponsorBanner: { - doc: 'Show the sponsor banner', - format: 'boolean', - default: false, - env: 'VITE_SHOW_SPONSOR_BANNER', - }, }) .loadEnv({ ...import.meta.env, diff --git a/src/layouts/base.layout.vue b/src/layouts/base.layout.vue index ef534209..631f547c 100644 --- a/src/layouts/base.layout.vue +++ b/src/layouts/base.layout.vue @@ -1,19 +1,19 @@ diff --git a/src/layouts/tool.layout.vue b/src/layouts/tool.layout.vue index ad34c4a0..6cccbb05 100644 --- a/src/layouts/tool.layout.vue +++ b/src/layouts/tool.layout.vue @@ -2,10 +2,10 @@ import { useRoute } from 'vue-router'; import { useHead } from '@vueuse/head'; import type { HeadObject } from '@vueuse/head'; - -import BaseLayout from './base.layout.vue'; +import { computed } from 'vue'; import FavoriteButton from '@/components/FavoriteButton.vue'; import type { Tool } from '@/tools/tools.types'; +import BaseLayout from './base.layout.vue'; const route = useRoute(); @@ -23,31 +23,26 @@ const head = computed(() => ({ ], })); useHead(head); -const { t } = useI18n(); - -const i18nKey = computed(() => route.path.trim().replace('/', '')); -const toolTitle = computed(() => t(`tools.${i18nKey.value}.title`, String(route.meta.name))); -const toolDescription = computed(() => t(`tools.${i18nKey.value}.description`, String(route.meta.description))); diff --git a/src/modules/command-palette/components/command-palette-option.vue b/src/modules/command-palette/components/command-palette-option.vue deleted file mode 100644 index 9192bc04..00000000 --- a/src/modules/command-palette/components/command-palette-option.vue +++ /dev/null @@ -1,36 +0,0 @@ - - - diff --git a/src/modules/i18n/components/locale-selector.vue b/src/modules/i18n/components/locale-selector.vue deleted file mode 100644 index 3fef72ab..00000000 --- a/src/modules/i18n/components/locale-selector.vue +++ /dev/null @@ -1,32 +0,0 @@ - - - diff --git a/src/modules/shared/date.models.ts b/src/modules/shared/date.models.ts deleted file mode 100644 index 37cdbade..00000000 --- a/src/modules/shared/date.models.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { format } from 'date-fns'; - -export { getUrlFriendlyDateTime }; - -function getUrlFriendlyDateTime({ date = new Date() }: { date?: Date } = {}) { - return format(date, 'yyyy-MM-dd-HH-mm-ss'); -} diff --git a/src/modules/shared/number.models.ts b/src/modules/shared/number.models.ts deleted file mode 100644 index 45f7509b..00000000 --- a/src/modules/shared/number.models.ts +++ /dev/null @@ -1,5 +0,0 @@ -function clamp({ value, min = 0, max = 100 }: { value: number; min?: number; max?: number }) { - return Math.min(Math.max(value, min), max); -} - -export { clamp }; diff --git a/src/modules/tracker/tracker.services.ts b/src/modules/tracker/tracker.services.ts index 266a11f1..bd3c0ec1 100644 --- a/src/modules/tracker/tracker.services.ts +++ b/src/modules/tracker/tracker.services.ts @@ -16,7 +16,7 @@ function useTracker() { const plausible: ReturnType | undefined = inject('plausible'); if (_.isNil(plausible)) { - throw new TypeError('Plausible must be instantiated'); + throw new Error('Plausible must be instantiated'); } const tracker = createTrackerService({ plausible }); diff --git a/src/pages/404.page.vue b/src/pages/404.page.vue index 20f61c41..fb879aa8 100644 --- a/src/pages/404.page.vue +++ b/src/pages/404.page.vue @@ -1,4 +1,5 @@ + + diff --git a/src/pages/Home.page.vue b/src/pages/Home.page.vue index 601f6744..cd77e0cc 100644 --- a/src/pages/Home.page.vue +++ b/src/pages/Home.page.vue @@ -1,92 +1,88 @@ diff --git a/src/plugins/i18n.plugin.ts b/src/plugins/i18n.plugin.ts deleted file mode 100644 index f3e8f0e5..00000000 --- a/src/plugins/i18n.plugin.ts +++ /dev/null @@ -1,21 +0,0 @@ -import messages from '@intlify/unplugin-vue-i18n/messages'; -import { get } from '@vueuse/core'; -import type { Plugin } from 'vue'; -import { createI18n } from 'vue-i18n'; - -const i18n = createI18n({ - legacy: false, - locale: 'en', - messages, -}); - -export const i18nPlugin: Plugin = { - install: (app) => { - app.use(i18n); - }, -}; - -export const translate = function (localeKey: string) { - const hasKey = i18n.global.te(localeKey, get(i18n.global.locale)); - return hasKey ? i18n.global.t(localeKey) : localeKey; -}; diff --git a/src/plugins/plausible.plugin.ts b/src/plugins/plausible.plugin.ts index cc8998e4..50a694db 100644 --- a/src/plugins/plausible.plugin.ts +++ b/src/plugins/plausible.plugin.ts @@ -1,8 +1,8 @@ +import { config } from '@/config'; import { noop } from 'lodash'; import Plausible from 'plausible-tracker'; import type { App } from 'vue'; -import { config } from '@/config'; function createFakePlausibleInstance(): Pick, 'trackEvent' | 'enableAutoPageviews'> { return { @@ -15,11 +15,11 @@ function createPlausibleInstance({ config, }: { config: { - isTrackerEnabled: boolean - domain: string - apiHost: string - trackLocalhost: boolean - } + isTrackerEnabled: boolean; + domain: string; + apiHost: string; + trackLocalhost: boolean; + }; }) { if (config.isTrackerEnabled) { return Plausible(config); diff --git a/src/router.ts b/src/router.ts index da0c4f1e..00c20c74 100644 --- a/src/router.ts +++ b/src/router.ts @@ -15,7 +15,7 @@ const toolsRoutes = tools.map(({ path, name, component, ...config }) => ({ const toolsRedirectRoutes = tools .filter(({ redirectFrom }) => redirectFrom && redirectFrom.length > 0) .flatMap( - ({ path, redirectFrom }) => redirectFrom?.map(redirectSource => ({ path: redirectSource, redirect: path })) ?? [], + ({ path, redirectFrom }) => redirectFrom?.map((redirectSource) => ({ path: redirectSource, redirect: path })) ?? [], ); const router = createRouter({ diff --git a/src/shims.d.ts b/src/shims.d.ts index ef2e2f39..f8798e57 100644 --- a/src/shims.d.ts +++ b/src/shims.d.ts @@ -1,41 +1,10 @@ declare module '*.vue' { - import type { ComponentOptions } from 'vue'; + import type { ComponentOptions, ComponentOptions } from 'vue'; const Component: ComponentOptions; export default Component; } declare module '*.md' { - import type { ComponentOptions } from 'vue'; const Component: ComponentOptions; export default Component; } - -declare module 'iarna-toml-esm' { - export const parse: (toml: string) => any; - export const stringify: (obj: any) => string; -} - -declare module 'emojilib' { - const lib: Record; - export default lib; -} - -declare module 'unicode-emoji-json' { - const emoji: Record; - - export default emoji; -} - -declare module 'pdf-signature-reader' { - const verifySignature: (pdf: ArrayBuffer) => ({signatures: SignatureInfo[]}); - - export default verifySignature; -} \ No newline at end of file diff --git a/src/stores/style.store.ts b/src/stores/style.store.ts index 8342a880..bd6559a7 100644 --- a/src/stores/style.store.ts +++ b/src/stores/style.store.ts @@ -1,19 +1,17 @@ -import { useDark, useMediaQuery, useStorage, useToggle } from '@vueuse/core'; +import { useMediaQuery, useStorage } from '@vueuse/core'; import { defineStore } from 'pinia'; -import { type Ref, watch } from 'vue'; +import { watch, type Ref } from 'vue'; export const useStyleStore = defineStore('style', { state: () => { - const isDarkTheme = useDark(); - const toggleDark = useToggle(isDarkTheme); + const isDarkTheme = useStorage('isDarkTheme', true) as Ref; const isSmallScreen = useMediaQuery('(max-width: 700px)'); const isMenuCollapsed = useStorage('isMenuCollapsed', isSmallScreen.value) as Ref; - watch(isSmallScreen, v => (isMenuCollapsed.value = v)); + watch(isSmallScreen, (v) => (isMenuCollapsed.value = v)); return { isDarkTheme, - toggleDark, isMenuCollapsed, isSmallScreen, }; diff --git a/src/tools/ascii-text-drawer/ascii-text-drawer.vue b/src/tools/ascii-text-drawer/ascii-text-drawer.vue deleted file mode 100644 index 9a6520a4..00000000 --- a/src/tools/ascii-text-drawer/ascii-text-drawer.vue +++ /dev/null @@ -1,93 +0,0 @@ - - - diff --git a/src/tools/ascii-text-drawer/index.ts b/src/tools/ascii-text-drawer/index.ts deleted file mode 100644 index cc1ba86c..00000000 --- a/src/tools/ascii-text-drawer/index.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { Artboard } from '@vicons/tabler'; -import { defineTool } from '../tool'; - -export const tool = defineTool({ - name: 'ASCII Art Text Generator', - path: '/ascii-text-drawer', - description: 'Create ASCII art text with many fonts and styles.', - keywords: ['ascii', 'asciiart', 'text', 'drawer'], - component: () => import('./ascii-text-drawer.vue'), - icon: Artboard, - createdAt: new Date('2024-03-03'), -}); diff --git a/src/tools/base64-file-converter/base64-file-converter.vue b/src/tools/base64-file-converter/base64-file-converter.vue index a489f9a1..55241096 100644 --- a/src/tools/base64-file-converter/base64-file-converter.vue +++ b/src/tools/base64-file-converter/base64-file-converter.vue @@ -1,139 +1,87 @@ + + - - diff --git a/src/tools/benchmark-builder/dynamic-values.vue b/src/tools/benchmark-builder/dynamic-values.vue index e048ef99..189be9ea 100644 --- a/src/tools/benchmark-builder/dynamic-values.vue +++ b/src/tools/benchmark-builder/dynamic-values.vue @@ -1,15 +1,41 @@ + + - + diff --git a/src/tools/benchmark-builder/index.ts b/src/tools/benchmark-builder/index.ts index 426d287a..51eb8058 100644 --- a/src/tools/benchmark-builder/index.ts +++ b/src/tools/benchmark-builder/index.ts @@ -1,11 +1,10 @@ import { SpeedFilled } from '@vicons/material'; import { defineTool } from '../tool'; -import { translate } from '@/plugins/i18n.plugin'; export const tool = defineTool({ - name: translate('tools.benchmark-builder.title'), + name: 'Benchmark builder', path: '/benchmark-builder', - description: translate('tools.benchmark-builder.description'), + description: 'Easily compare execution time of tasks with this very simple online benchmark builder.', keywords: ['benchmark', 'builder', 'execution', 'duration', 'mean', 'variance'], component: () => import('./benchmark-builder.vue'), icon: SpeedFilled, diff --git a/src/tools/bip39-generator/bip39-generator.vue b/src/tools/bip39-generator/bip39-generator.vue index a07941b2..418ae0e9 100644 --- a/src/tools/bip39-generator/bip39-generator.vue +++ b/src/tools/bip39-generator/bip39-generator.vue @@ -1,4 +1,65 @@ + + - - diff --git a/src/tools/bip39-generator/index.ts b/src/tools/bip39-generator/index.ts index 40582da4..f649e188 100644 --- a/src/tools/bip39-generator/index.ts +++ b/src/tools/bip39-generator/index.ts @@ -1,11 +1,10 @@ import { AlignJustified } from '@vicons/tabler'; import { defineTool } from '../tool'; -import { translate } from '@/plugins/i18n.plugin'; export const tool = defineTool({ - name: translate('tools.bip39-generator.title'), + name: 'BIP39 passphrase generator', path: '/bip39-generator', - description: translate('tools.bip39-generator.description'), + description: 'Generate BIP39 passphrase from existing or random mnemonic, or get the mnemonic from the passphrase.', keywords: ['BIP39', 'passphrase', 'generator', 'mnemonic', 'entropy'], component: () => import('./bip39-generator.vue'), icon: AlignJustified, diff --git a/src/tools/camera-recorder/camera-recorder.vue b/src/tools/camera-recorder/camera-recorder.vue deleted file mode 100644 index 23fedd8c..00000000 --- a/src/tools/camera-recorder/camera-recorder.vue +++ /dev/null @@ -1,217 +0,0 @@ - - - diff --git a/src/tools/camera-recorder/index.ts b/src/tools/camera-recorder/index.ts deleted file mode 100644 index 5cda41f3..00000000 --- a/src/tools/camera-recorder/index.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { Camera } from '@vicons/tabler'; -import { defineTool } from '../tool'; -import { translate } from '@/plugins/i18n.plugin'; - -export const tool = defineTool({ - name: translate('tools.camera-recorder.title'), - path: '/camera-recorder', - description: translate('tools.camera-recorder.description'), - keywords: ['camera', 'recoder'], - component: () => import('./camera-recorder.vue'), - icon: Camera, - createdAt: new Date('2023-05-15'), -}); diff --git a/src/tools/camera-recorder/useMediaRecorder.ts b/src/tools/camera-recorder/useMediaRecorder.ts deleted file mode 100644 index a21328c2..00000000 --- a/src/tools/camera-recorder/useMediaRecorder.ts +++ /dev/null @@ -1,114 +0,0 @@ -import { type Ref, computed, ref } from 'vue'; - -export { useMediaRecorder }; - -function useMediaRecorder({ stream }: { stream: Ref }): { - isRecordingSupported: Ref - recordingState: Ref<'stopped' | 'recording' | 'paused'> - startRecording: () => void - stopRecording: () => void - pauseRecording: () => void - resumeRecording: () => void - onRecordAvailable: (cb: (url: string) => void) => void -} { - const isRecordingSupported = computed(() => MediaRecorder.isTypeSupported('video/webm')); - const mediaRecorder = ref(null); - const recordedChunks = ref([]); - const recordAvailable = createEventHook(); - const recordingState = ref<'stopped' | 'recording' | 'paused'>('stopped'); - - const createVideo = () => { - const blob = new Blob(recordedChunks.value, { type: 'video/webm' }); - const url = URL.createObjectURL(blob); - recordedChunks.value = []; - return url; - }; - - const startRecording = () => { - if (!isRecordingSupported.value) { - return; - } - if (!stream.value) { - return; - } - if (recordingState.value !== 'stopped') { - return; - } - - mediaRecorder.value = new MediaRecorder(stream.value, { mimeType: 'video/webm' }); - - mediaRecorder.value.ondataavailable = (e) => { - if (e.data.size > 0) { - recordedChunks.value.push(e.data); - } - }; - - mediaRecorder.value.onstop = () => { - recordAvailable.trigger(createVideo()); - }; - - if (mediaRecorder.value.state !== 'inactive') { - return; - } - - mediaRecorder.value.start(); - recordingState.value = 'recording'; - }; - - const stopRecording = () => { - if (!isRecordingSupported.value) { - return; - } - if (!mediaRecorder.value) { - return; - } - if (recordingState.value === 'stopped') { - return; - } - - mediaRecorder.value.stop(); - recordingState.value = 'stopped'; - }; - - const pauseRecording = () => { - if (!isRecordingSupported.value) { - return; - } - if (!mediaRecorder.value) { - return; - } - if (recordingState.value !== 'recording') { - return; - } - - mediaRecorder.value.pause(); - recordingState.value = 'paused'; - }; - - const resumeRecording = () => { - if (!isRecordingSupported.value) { - return; - } - if (!mediaRecorder.value) { - return; - } - - if (recordingState.value !== 'paused') { - return; - } - - mediaRecorder.value.resume(); - recordingState.value = 'recording'; - }; - - return { - isRecordingSupported, - startRecording, - stopRecording, - pauseRecording, - resumeRecording, - recordingState, - - onRecordAvailable: recordAvailable.on, - }; -} diff --git a/src/tools/case-converter/case-converter.vue b/src/tools/case-converter/case-converter.vue index f9343ef1..854eb919 100644 --- a/src/tools/case-converter/case-converter.vue +++ b/src/tools/case-converter/case-converter.vue @@ -1,4 +1,51 @@ + + - + diff --git a/src/tools/case-converter/index.ts b/src/tools/case-converter/index.ts index 14d7ec12..710a03f2 100644 --- a/src/tools/case-converter/index.ts +++ b/src/tools/case-converter/index.ts @@ -1,11 +1,10 @@ import { LetterCaseToggle } from '@vicons/tabler'; import { defineTool } from '../tool'; -import { translate } from '@/plugins/i18n.plugin'; export const tool = defineTool({ - name: translate('tools.case-converter.title'), + name: 'Case converter', path: '/case-converter', - description: translate('tools.case-converter.description'), + description: 'Change the case of a string and chose between different formats', keywords: [ 'case', 'converter', diff --git a/src/tools/chmod-calculator/chmod-calculator.service.test.ts b/src/tools/chmod-calculator/chmod-calculator.service.test.ts index 426c4a56..fafb393f 100644 --- a/src/tools/chmod-calculator/chmod-calculator.service.test.ts +++ b/src/tools/chmod-calculator/chmod-calculator.service.test.ts @@ -1,5 +1,5 @@ -import { describe, expect, it } from 'vitest'; -import { computeChmodOctalRepresentation, computeChmodSymbolicRepresentation } from './chmod-calculator.service'; +import { expect, describe, it } from 'vitest'; +import { computeChmodOctalRepresentation } from './chmod-calculator.service'; describe('chmod-calculator', () => { describe('computeChmodOctalRepresentation', () => { @@ -64,67 +64,5 @@ describe('chmod-calculator', () => { }), ).to.eql('222'); }); - - it('get the symbolic representation from permissions', () => { - expect( - computeChmodSymbolicRepresentation({ - permissions: { - owner: { read: true, write: true, execute: true }, - group: { read: true, write: true, execute: true }, - public: { read: true, write: true, execute: true }, - }, - }), - ).to.eql('rwxrwxrwx'); - - expect( - computeChmodSymbolicRepresentation({ - permissions: { - owner: { read: false, write: false, execute: false }, - group: { read: false, write: false, execute: false }, - public: { read: false, write: false, execute: false }, - }, - }), - ).to.eql('---------'); - - expect( - computeChmodSymbolicRepresentation({ - permissions: { - owner: { read: false, write: true, execute: false }, - group: { read: false, write: true, execute: true }, - public: { read: true, write: false, execute: true }, - }, - }), - ).to.eql('-w--wxr-x'); - - expect( - computeChmodSymbolicRepresentation({ - permissions: { - owner: { read: true, write: false, execute: false }, - group: { read: false, write: true, execute: false }, - public: { read: false, write: false, execute: true }, - }, - }), - ).to.eql('r---w---x'); - - expect( - computeChmodSymbolicRepresentation({ - permissions: { - owner: { read: false, write: false, execute: true }, - group: { read: false, write: true, execute: false }, - public: { read: true, write: false, execute: false }, - }, - }), - ).to.eql('--x-w-r--'); - - expect( - computeChmodSymbolicRepresentation({ - permissions: { - owner: { read: false, write: true, execute: false }, - group: { read: false, write: true, execute: false }, - public: { read: false, write: true, execute: false }, - }, - }), - ).to.eql('-w--w--w-'); - }); }); }); diff --git a/src/tools/chmod-calculator/chmod-calculator.service.ts b/src/tools/chmod-calculator/chmod-calculator.service.ts index e0046717..89535519 100644 --- a/src/tools/chmod-calculator/chmod-calculator.service.ts +++ b/src/tools/chmod-calculator/chmod-calculator.service.ts @@ -1,7 +1,7 @@ import _ from 'lodash'; import type { GroupPermissions, Permissions } from './chmod-calculator.types'; -export { computeChmodOctalRepresentation, computeChmodSymbolicRepresentation }; +export { computeChmodOctalRepresentation }; function computeChmodOctalRepresentation({ permissions }: { permissions: Permissions }): string { const permissionValue = { read: 4, write: 2, execute: 1 }; @@ -15,16 +15,3 @@ function computeChmodOctalRepresentation({ permissions }: { permissions: Permiss getGroupPermissionValue(permissions.public), ].join(''); } - -function computeChmodSymbolicRepresentation({ permissions }: { permissions: Permissions }): string { - const permissionValue = { read: 'r', write: 'w', execute: 'x' }; - - const getGroupPermissionValue = (permission: GroupPermissions) => - _.reduce(permission, (acc, isPermSet, key) => acc + (isPermSet ? _.get(permissionValue, key, '') : '-'), ''); - - return [ - getGroupPermissionValue(permissions.owner), - getGroupPermissionValue(permissions.group), - getGroupPermissionValue(permissions.public), - ].join(''); -} diff --git a/src/tools/chmod-calculator/chmod-calculator.vue b/src/tools/chmod-calculator/chmod-calculator.vue index ba6f4498..d37f95f1 100644 --- a/src/tools/chmod-calculator/chmod-calculator.vue +++ b/src/tools/chmod-calculator/chmod-calculator.vue @@ -1,8 +1,38 @@ + + - - diff --git a/src/tools/html-wysiwyg-editor/editor/menu-bar.vue b/src/tools/html-wysiwyg-editor/editor/menu-bar.vue index 9069673c..ff21b695 100644 --- a/src/tools/html-wysiwyg-editor/editor/menu-bar.vue +++ b/src/tools/html-wysiwyg-editor/editor/menu-bar.vue @@ -1,3 +1,12 @@ + + - + diff --git a/src/tools/html-wysiwyg-editor/html-wysiwyg-editor.vue b/src/tools/html-wysiwyg-editor/html-wysiwyg-editor.vue index e6187c9b..7cd12566 100644 --- a/src/tools/html-wysiwyg-editor/html-wysiwyg-editor.vue +++ b/src/tools/html-wysiwyg-editor/html-wysiwyg-editor.vue @@ -1,16 +1,16 @@ + + - + diff --git a/src/tools/html-wysiwyg-editor/index.ts b/src/tools/html-wysiwyg-editor/index.ts index 3a2ab007..461ad235 100644 --- a/src/tools/html-wysiwyg-editor/index.ts +++ b/src/tools/html-wysiwyg-editor/index.ts @@ -1,11 +1,10 @@ import { Edit } from '@vicons/tabler'; import { defineTool } from '../tool'; -import { translate } from '@/plugins/i18n.plugin'; export const tool = defineTool({ - name: translate('tools.html-wysiwyg-editor.title'), + name: 'HTML WYSIWYG editor', path: '/html-wysiwyg-editor', - description: translate('tools.html-wysiwyg-editor.description'), + description: 'Online HTML editor with feature-rich WYSIWYG editor, get the source code of the content immediately.', keywords: ['html', 'wysiwyg', 'editor', 'p', 'ul', 'ol', 'converter', 'live'], component: () => import('./html-wysiwyg-editor.vue'), icon: Edit, diff --git a/src/tools/http-status-codes/http-status-codes.constants.ts b/src/tools/http-status-codes/http-status-codes.constants.ts index 279cd7ce..c64bda06 100644 --- a/src/tools/http-status-codes/http-status-codes.constants.ts +++ b/src/tools/http-status-codes/http-status-codes.constants.ts @@ -1,11 +1,11 @@ export const codesByCategories: { - category: string + category: string; codes: { - code: number - name: string - description: string - type: 'HTTP' | 'WebDav' - }[] + code: number; + name: string; + description: string; + type: 'HTTP' | 'WebDav'; + }[]; }[] = [ { category: '1xx informational response', @@ -286,7 +286,7 @@ export const codesByCategories: { }, { code: 418, - name: 'I\'m a teapot', + name: "I'm a teapot", description: 'The server refuses the attempt to brew coffee with a teapot.', type: 'HTTP', }, diff --git a/src/tools/http-status-codes/http-status-codes.e2e.spec.ts b/src/tools/http-status-codes/http-status-codes.e2e.spec.ts index cf6eae9d..59979cd2 100644 --- a/src/tools/http-status-codes/http-status-codes.e2e.spec.ts +++ b/src/tools/http-status-codes/http-status-codes.e2e.spec.ts @@ -1,4 +1,4 @@ -import { expect, test } from '@playwright/test'; +import { test, expect } from '@playwright/test'; test.describe('Tool - Http status codes', () => { test.beforeEach(async ({ page }) => { diff --git a/src/tools/http-status-codes/http-status-codes.vue b/src/tools/http-status-codes/http-status-codes.vue index 84ab3137..992fbc1e 100644 --- a/src/tools/http-status-codes/http-status-codes.vue +++ b/src/tools/http-status-codes/http-status-codes.vue @@ -1,12 +1,45 @@ + + - + diff --git a/src/tools/http-status-codes/index.ts b/src/tools/http-status-codes/index.ts index b3138943..43afae83 100644 --- a/src/tools/http-status-codes/index.ts +++ b/src/tools/http-status-codes/index.ts @@ -2,12 +2,11 @@ import { HttpRound } from '@vicons/material'; import { defineTool } from '../tool'; import { codesByCategories } from './http-status-codes.constants'; -import { translate } from '@/plugins/i18n.plugin'; export const tool = defineTool({ - name: translate('tools.http-status-codes.title'), + name: 'HTTP status codes', path: '/http-status-codes', - description: translate('tools.http-status-codes.description'), + description: 'The list of all HTTP status codes their name and their meaning.', keywords: [ 'http', 'status', diff --git a/src/tools/iban-validator-and-parser/iban-validator-and-parser.e2e.spec.ts b/src/tools/iban-validator-and-parser/iban-validator-and-parser.e2e.spec.ts deleted file mode 100644 index c4a99860..00000000 --- a/src/tools/iban-validator-and-parser/iban-validator-and-parser.e2e.spec.ts +++ /dev/null @@ -1,52 +0,0 @@ -import { type Page, expect, test } from '@playwright/test'; - -async function extractIbanInfo({ page }: { page: Page }) { - const itemsLines = await page - .locator('.c-key-value-list__item').all(); - - return await Promise.all( - itemsLines.map(async item => [ - (await item.locator('.c-key-value-list__key').textContent() ?? '').trim(), - (await item.locator('.c-key-value-list__value').textContent() ?? '').trim(), - ]), - ); -} - -test.describe('Tool - Iban validator and parser', () => { - test.beforeEach(async ({ page }) => { - await page.goto('/iban-validator-and-parser'); - }); - - test('Has correct title', async ({ page }) => { - await expect(page).toHaveTitle('IBAN validator and parser - IT Tools'); - }); - - test('iban info are extracted from a valid iban', async ({ page }) => { - await page.getByTestId('iban-input').fill('DE89370400440532013000'); - - const ibanInfo = await extractIbanInfo({ page }); - - expect(ibanInfo).toEqual([ - ['Is IBAN valid ?', 'Yes'], - ['Is IBAN a QR-IBAN ?', 'No'], - ['Country code', 'DE'], - ['BBAN', '370400440532013000'], - ['IBAN friendly format', 'DE89 3704 0044 0532 0130 00'], - ]); - }); - - test('invalid iban errors are displayed', async ({ page }) => { - await page.getByTestId('iban-input').fill('FR7630006060011234567890189'); - - const ibanInfo = await extractIbanInfo({ page }); - - expect(ibanInfo).toEqual([ - ['Is IBAN valid ?', 'No'], - ['IBAN errors', 'Wrong account bank branch checksum Wrong IBAN checksum'], - ['Is IBAN a QR-IBAN ?', 'No'], - ['Country code', 'N/A'], - ['BBAN', 'N/A'], - ['IBAN friendly format', 'FR76 3000 6060 0112 3456 7890 189'], - ]); - }); -}); diff --git a/src/tools/iban-validator-and-parser/iban-validator-and-parser.service.ts b/src/tools/iban-validator-and-parser/iban-validator-and-parser.service.ts deleted file mode 100644 index bde71dba..00000000 --- a/src/tools/iban-validator-and-parser/iban-validator-and-parser.service.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { ValidationErrorsIBAN } from 'ibantools'; - -export { getFriendlyErrors }; - -const ibanErrorToMessage = { - [ValidationErrorsIBAN.NoIBANProvided]: 'No IBAN provided', - [ValidationErrorsIBAN.NoIBANCountry]: 'No IBAN country', - [ValidationErrorsIBAN.WrongBBANLength]: 'Wrong BBAN length', - [ValidationErrorsIBAN.WrongBBANFormat]: 'Wrong BBAN format', - [ValidationErrorsIBAN.ChecksumNotNumber]: 'Checksum is not a number', - [ValidationErrorsIBAN.WrongIBANChecksum]: 'Wrong IBAN checksum', - [ValidationErrorsIBAN.WrongAccountBankBranchChecksum]: 'Wrong account bank branch checksum', - [ValidationErrorsIBAN.QRIBANNotAllowed]: 'QR-IBAN not allowed', -}; - -function getFriendlyErrors(errorCodes: ValidationErrorsIBAN[]) { - return errorCodes.map(errorCode => ibanErrorToMessage[errorCode]).filter(Boolean); -} diff --git a/src/tools/iban-validator-and-parser/iban-validator-and-parser.vue b/src/tools/iban-validator-and-parser/iban-validator-and-parser.vue deleted file mode 100644 index 6844dc5a..00000000 --- a/src/tools/iban-validator-and-parser/iban-validator-and-parser.vue +++ /dev/null @@ -1,73 +0,0 @@ - - - diff --git a/src/tools/iban-validator-and-parser/index.ts b/src/tools/iban-validator-and-parser/index.ts deleted file mode 100644 index ff7ff135..00000000 --- a/src/tools/iban-validator-and-parser/index.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { defineTool } from '../tool'; -import { translate } from '@/plugins/i18n.plugin'; -import Bank from '~icons/mdi/bank'; - -export const tool = defineTool({ - name: translate('tools.iban-validator-and-parser.title'), - path: '/iban-validator-and-parser', - description: translate('tools.iban-validator-and-parser.description'), - keywords: ['iban', 'validator', 'and', 'parser', 'bic', 'bank'], - component: () => import('./iban-validator-and-parser.vue'), - icon: Bank, - createdAt: new Date('2023-08-26'), -}); diff --git a/src/tools/index.ts b/src/tools/index.ts index 388cfaf4..73f08348 100644 --- a/src/tools/index.ts +++ b/src/tools/index.ts @@ -1,35 +1,6 @@ import { tool as base64FileConverter } from './base64-file-converter'; import { tool as base64StringConverter } from './base64-string-converter'; import { tool as basicAuthGenerator } from './basic-auth-generator'; -import { tool as emailNormalizer } from './email-normalizer'; - -import { tool as asciiTextDrawer } from './ascii-text-drawer'; - -import { tool as textToUnicode } from './text-to-unicode'; -import { tool as safelinkDecoder } from './safelink-decoder'; -import { tool as xmlToJson } from './xml-to-json'; -import { tool as jsonToXml } from './json-to-xml'; -import { tool as regexTester } from './regex-tester'; -import { tool as regexMemo } from './regex-memo'; -import { tool as markdownToHtml } from './markdown-to-html'; -import { tool as pdfSignatureChecker } from './pdf-signature-checker'; -import { tool as numeronymGenerator } from './numeronym-generator'; -import { tool as macAddressGenerator } from './mac-address-generator'; -import { tool as textToBinary } from './text-to-binary'; -import { tool as ulidGenerator } from './ulid-generator'; -import { tool as ibanValidatorAndParser } from './iban-validator-and-parser'; -import { tool as stringObfuscator } from './string-obfuscator'; -import { tool as textDiff } from './text-diff'; -import { tool as emojiPicker } from './emoji-picker'; -import { tool as passwordStrengthAnalyser } from './password-strength-analyser'; -import { tool as yamlToToml } from './yaml-to-toml'; -import { tool as jsonToToml } from './json-to-toml'; -import { tool as tomlToYaml } from './toml-to-yaml'; -import { tool as tomlToJson } from './toml-to-json'; -import { tool as jsonToCsv } from './json-to-csv'; -import { tool as cameraRecorder } from './camera-recorder'; -import { tool as listConverter } from './list-converter'; -import { tool as phoneParserAndFormatter } from './phone-parser-and-formatter'; import { tool as jsonDiff } from './json-diff'; import { tool as ipv4RangeExpander } from './ipv4-range-expander'; import { tool as httpStatusCodes } from './http-status-codes'; @@ -58,7 +29,6 @@ import { tool as dateTimeConverter } from './date-time-converter'; import { tool as deviceInformation } from './device-information'; import { tool as cypher } from './encryption'; import { tool as etaCalculator } from './eta-calculator'; -import { tool as percentageCalculator } from './percentage-calculator'; import { tool as gitMemo } from './git-memo'; import { tool as hashText } from './hash-text'; import { tool as hmacGenerator } from './hmac-generator'; @@ -72,7 +42,6 @@ import { tool as metaTagGenerator } from './meta-tag-generator'; import { tool as mimeTypes } from './mime-types'; import { tool as otpCodeGeneratorAndValidator } from './otp-code-generator-and-validator'; import { tool as qrCodeGenerator } from './qr-code-generator'; -import { tool as wifiQrCodeGenerator } from './wifi-qr-code-generator'; import { tool as randomPortGenerator } from './random-port-generator'; import { tool as romanNumeralConverter } from './roman-numeral-converter'; import { tool as sqlPrettify } from './sql-prettify'; @@ -85,13 +54,11 @@ import { tool as urlEncoder } from './url-encoder'; import { tool as urlParser } from './url-parser'; import { tool as uuidGenerator } from './uuid-generator'; import { tool as macAddressLookup } from './mac-address-lookup'; -import { tool as xmlFormatter } from './xml-formatter'; -import { tool as yamlViewer } from './yaml-viewer'; export const toolsByCategory: ToolCategory[] = [ { name: 'Crypto', - components: [tokenGenerator, hashText, bcrypt, uuidGenerator, ulidGenerator, cypher, bip39, hmacGenerator, rsaKeyPairGenerator, passwordStrengthAnalyser, pdfSignatureChecker], + components: [tokenGenerator, hashText, bcrypt, uuidGenerator, cypher, bip39, hmacGenerator, rsaKeyPairGenerator], }, { name: 'Converter', @@ -104,18 +71,8 @@ export const toolsByCategory: ToolCategory[] = [ colorConverter, caseConverter, textToNatoAlphabet, - textToBinary, - textToUnicode, yamlToJson, - yamlToToml, jsonToYaml, - jsonToToml, - listConverter, - tomlToJson, - tomlToYaml, - xmlToJson, - jsonToXml, - markdownToHtml, ], }, { @@ -136,12 +93,11 @@ export const toolsByCategory: ToolCategory[] = [ userAgentParser, httpStatusCodes, jsonDiff, - safelinkDecoder, ], }, { - name: 'Images and videos', - components: [qrCodeGenerator, wifiQrCodeGenerator, svgPlaceholderGenerator, cameraRecorder], + name: 'Images', + components: [qrCodeGenerator, svgPlaceholderGenerator], }, { name: 'Development', @@ -151,24 +107,18 @@ export const toolsByCategory: ToolCategory[] = [ crontabGenerator, jsonViewer, jsonMinify, - jsonToCsv, sqlPrettify, chmodCalculator, dockerRunToDockerComposeConverter, - xmlFormatter, - yamlViewer, - emailNormalizer, - regexTester, - regexMemo, ], }, { name: 'Network', - components: [ipv4SubnetCalculator, ipv4AddressConverter, ipv4RangeExpander, macAddressLookup, macAddressGenerator, ipv6UlaGenerator], + components: [ipv4SubnetCalculator, ipv4AddressConverter, ipv4RangeExpander, macAddressLookup, ipv6UlaGenerator], }, { name: 'Math', - components: [mathEvaluator, etaCalculator, percentageCalculator], + components: [mathEvaluator, etaCalculator], }, { name: 'Measurement', @@ -176,23 +126,11 @@ export const toolsByCategory: ToolCategory[] = [ }, { name: 'Text', - components: [ - loremIpsumGenerator, - textStatistics, - emojiPicker, - stringObfuscator, - textDiff, - numeronymGenerator, - asciiTextDrawer, - ], - }, - { - name: 'Data', - components: [phoneParserAndFormatter, ibanValidatorAndParser], + components: [loremIpsumGenerator, textStatistics], }, ]; export const tools = toolsByCategory.flatMap(({ components }) => components); export const toolsWithCategory = toolsByCategory.flatMap(({ components, name }) => - components.map(tool => ({ category: name, ...tool })), + components.map((tool) => ({ category: name, ...tool })), ); diff --git a/src/tools/integer-base-converter/index.ts b/src/tools/integer-base-converter/index.ts index f60d996d..0008568c 100644 --- a/src/tools/integer-base-converter/index.ts +++ b/src/tools/integer-base-converter/index.ts @@ -1,11 +1,10 @@ import { ArrowsLeftRight } from '@vicons/tabler'; import { defineTool } from '../tool'; -import { translate } from '@/plugins/i18n.plugin'; export const tool = defineTool({ - name: translate('tools.base-converter.title'), + name: 'Integer base converter', path: '/base-converter', - description: translate('tools.base-converter.description'), + description: 'Convert number between different bases (decimal, hexadecimal, binary, octal, base64, ...)', keywords: ['integer', 'number', 'base', 'conversion', 'decimal', 'hexadecimal', 'binary', 'octal', 'base64'], component: () => import('./integer-base-converter.vue'), icon: ArrowsLeftRight, diff --git a/src/tools/integer-base-converter/integer-base-converter.model.test.ts b/src/tools/integer-base-converter/integer-base-converter.model.test.ts index c7d7db79..e9d91f6f 100644 --- a/src/tools/integer-base-converter/integer-base-converter.model.test.ts +++ b/src/tools/integer-base-converter/integer-base-converter.model.test.ts @@ -1,4 +1,4 @@ -import { describe, expect, it } from 'vitest'; +import { expect, describe, it } from 'vitest'; import { convertBase } from './integer-base-converter.model'; describe('integer-base-converter', () => { @@ -11,9 +11,6 @@ describe('integer-base-converter', () => { expect(convertBase({ value: '10100101', fromBase: 2, toBase: 16 })).toEqual('a5'); expect(convertBase({ value: '192654', fromBase: 10, toBase: 8 })).toEqual('570216'); expect(convertBase({ value: 'zz', fromBase: 64, toBase: 10 })).toEqual('2275'); - expect(convertBase({ value: '42540766411283223938465490632011909384', fromBase: 10, toBase: 10 })).toEqual('42540766411283223938465490632011909384'); - expect(convertBase({ value: '42540766411283223938465490632011909384', fromBase: 10, toBase: 16 })).toEqual('20010db8000085a300000000ac1f8908'); - expect(convertBase({ value: '20010db8000085a300000000ac1f8908', fromBase: 16, toBase: 10 })).toEqual('42540766411283223938465490632011909384'); }); }); }); diff --git a/src/tools/integer-base-converter/integer-base-converter.model.ts b/src/tools/integer-base-converter/integer-base-converter.model.ts index da0fe77f..cfe15bd1 100644 --- a/src/tools/integer-base-converter/integer-base-converter.model.ts +++ b/src/tools/integer-base-converter/integer-base-converter.model.ts @@ -5,16 +5,16 @@ export function convertBase({ value, fromBase, toBase }: { value: string; fromBa let decValue = value .split('') .reverse() - .reduce((carry: bigint, digit: string, index: number) => { + .reduce((carry: number, digit: string, index: number) => { if (!fromRange.includes(digit)) { - throw new Error(`Invalid digit "${digit}" for base ${fromBase}.`); + throw new Error('Invalid digit "' + digit + '" for base ' + fromBase + '.'); } - return (carry += BigInt(fromRange.indexOf(digit)) * BigInt(fromBase) ** BigInt(index)); - }, 0n); + return (carry += fromRange.indexOf(digit) * Math.pow(fromBase, index)); + }, 0); let newValue = ''; while (decValue > 0) { - newValue = toRange[Number(decValue % BigInt(toBase))] + newValue; - decValue = (decValue - (decValue % BigInt(toBase))) / BigInt(toBase); + newValue = toRange[decValue % toBase] + newValue; + decValue = (decValue - (decValue % toBase)) / toBase; } return newValue || '0'; } diff --git a/src/tools/integer-base-converter/integer-base-converter.vue b/src/tools/integer-base-converter/integer-base-converter.vue index 2445baa5..c480f4ab 100644 --- a/src/tools/integer-base-converter/integer-base-converter.vue +++ b/src/tools/integer-base-converter/integer-base-converter.vue @@ -1,15 +1,92 @@ - - - diff --git a/src/tools/ipv4-range-expander/index.ts b/src/tools/ipv4-range-expander/index.ts index 49dfae95..233f7cc4 100644 --- a/src/tools/ipv4-range-expander/index.ts +++ b/src/tools/ipv4-range-expander/index.ts @@ -1,11 +1,11 @@ import { UnfoldMoreOutlined } from '@vicons/material'; import { defineTool } from '../tool'; -import { translate } from '@/plugins/i18n.plugin'; export const tool = defineTool({ - name: translate('tools.ipv4-range-expander.title'), + name: 'IPv4 range expander', path: '/ipv4-range-expander', - description: translate('tools.ipv4-range-expander.description'), + description: + 'Given a start and an end IPv4 address this tool calculates a valid IPv4 network with its CIDR notation.', keywords: ['ipv4', 'range', 'expander', 'subnet', 'creator', 'cidr'], component: () => import('./ipv4-range-expander.vue'), icon: UnfoldMoreOutlined, diff --git a/src/tools/ipv4-range-expander/ipv4-range-expander.e2e.spec.ts b/src/tools/ipv4-range-expander/ipv4-range-expander.e2e.spec.ts index 7d9a4a8f..ae5188e5 100644 --- a/src/tools/ipv4-range-expander/ipv4-range-expander.e2e.spec.ts +++ b/src/tools/ipv4-range-expander/ipv4-range-expander.e2e.spec.ts @@ -1,4 +1,4 @@ -import { expect, test } from '@playwright/test'; +import { test, expect } from '@playwright/test'; test.describe('Tool - IPv4 range expander', () => { test.beforeEach(async ({ page }) => { @@ -23,20 +23,6 @@ test.describe('Tool - IPv4 range expander', () => { expect(await page.getByTestId('cidr.new').textContent()).toEqual('192.168.0.0/21'); }); - test('Calculates correct for valid input, where first octet is lower than 128', async ({ page }) => { - await page.getByPlaceholder('Start IPv4 address...').fill('10.0.0.1'); - await page.getByPlaceholder('End IPv4 address...').fill('10.0.0.17'); - - expect(await page.getByTestId('start-address.old').textContent()).toEqual('10.0.0.1'); - expect(await page.getByTestId('start-address.new').textContent()).toEqual('10.0.0.0'); - expect(await page.getByTestId('end-address.old').textContent()).toEqual('10.0.0.17'); - expect(await page.getByTestId('end-address.new').textContent()).toEqual('10.0.0.31'); - expect(await page.getByTestId('addresses-in-range.old').textContent()).toEqual('17'); - expect(await page.getByTestId('addresses-in-range.new').textContent()).toEqual('32'); - expect(await page.getByTestId('cidr.old').textContent()).toEqual(''); - expect(await page.getByTestId('cidr.new').textContent()).toEqual('10.0.0.0/27'); - }); - test('Hides result for invalid input', async ({ page }) => { await page.getByPlaceholder('Start IPv4 address...').fill('192.168.1.1'); await page.getByPlaceholder('End IPv4 address...').fill('192.168.0.255'); diff --git a/src/tools/ipv4-range-expander/ipv4-range-expander.service.test.ts b/src/tools/ipv4-range-expander/ipv4-range-expander.service.test.ts index 51046232..66a9137a 100644 --- a/src/tools/ipv4-range-expander/ipv4-range-expander.service.test.ts +++ b/src/tools/ipv4-range-expander/ipv4-range-expander.service.test.ts @@ -1,4 +1,4 @@ -import { describe, expect, it } from 'vitest'; +import { expect, describe, it } from 'vitest'; import { calculateCidr } from './ipv4-range-expander.service'; describe('ipv4RangeExpander', () => { @@ -14,17 +14,6 @@ describe('ipv4RangeExpander', () => { expect(result?.newCidr).toEqual('192.168.0.0/21'); }); - it('should calculate valid cidr for given addresses, where first octet is lower than 128', () => { - const result = calculateCidr({ startIp: '10.0.0.1', endIp: '10.0.0.17' }); - - expect(result).toBeDefined(); - expect(result?.oldSize).toEqual(17); - expect(result?.newSize).toEqual(32); - expect(result?.newStart).toEqual('10.0.0.0'); - expect(result?.newEnd).toEqual('10.0.0.31'); - expect(result?.newCidr).toEqual('10.0.0.0/27'); - }); - it('should return empty result for invalid input', () => { expect(calculateCidr({ startIp: '192.168.7.1', endIp: '192.168.6.255' })).not.toBeDefined(); }); diff --git a/src/tools/ipv4-range-expander/ipv4-range-expander.service.ts b/src/tools/ipv4-range-expander/ipv4-range-expander.service.ts index 14761f59..893b1d32 100644 --- a/src/tools/ipv4-range-expander/ipv4-range-expander.service.ts +++ b/src/tools/ipv4-range-expander/ipv4-range-expander.service.ts @@ -1,25 +1,20 @@ +import type { Ipv4RangeExpanderResult } from './ipv4-range-expander.types'; import { convertBase } from '../integer-base-converter/integer-base-converter.model'; import { ipv4ToInt } from '../ipv4-address-converter/ipv4-address-converter.service'; -import type { Ipv4RangeExpanderResult } from './ipv4-range-expander.types'; - export { calculateCidr }; function bits2ip(ipInt: number) { - return `${ipInt >>> 24}.${(ipInt >> 16) & 255}.${(ipInt >> 8) & 255}.${ipInt & 255}`; + return (ipInt >>> 24) + '.' + ((ipInt >> 16) & 255) + '.' + ((ipInt >> 8) & 255) + '.' + (ipInt & 255); } function getRangesize(start: string, end: string) { - if (start == null || end == null) { - return -1; - } + if (start == null || end == null) return -1; - return 1 + Number.parseInt(end, 2) - Number.parseInt(start, 2); + return 1 + parseInt(end, 2) - parseInt(start, 2); } function getCidr(start: string, end: string) { - if (start == null || end == null) { - return null; - } + if (start == null || end == null) return null; const range = getRangesize(start, end); if (range < 1) { @@ -37,7 +32,7 @@ function getCidr(start: string, end: string) { const newStart = start.substring(0, mask) + '0'.repeat(32 - mask); const newEnd = end.substring(0, mask) + '1'.repeat(32 - mask); - return { start: newStart, end: newEnd, mask }; + return { start: newStart, end: newEnd, mask: mask }; } function calculateCidr({ startIp, endIp }: { startIp: string; endIp: string }) { @@ -45,19 +40,19 @@ function calculateCidr({ startIp, endIp }: { startIp: string; endIp: string }) { value: ipv4ToInt({ ip: startIp }).toString(), fromBase: 10, toBase: 2, - }).padStart(32, '0'); + }); const end = convertBase({ value: ipv4ToInt({ ip: endIp }).toString(), fromBase: 10, toBase: 2, - }).padStart(32, '0'); + }); const cidr = getCidr(start, end); if (cidr != null) { const result: Ipv4RangeExpanderResult = {}; - result.newEnd = bits2ip(Number.parseInt(cidr.end, 2)); - result.newStart = bits2ip(Number.parseInt(cidr.start, 2)); - result.newCidr = `${result.newStart}/${cidr.mask}`; + result.newEnd = bits2ip(parseInt(cidr.end, 2)); + result.newStart = bits2ip(parseInt(cidr.start, 2)); + result.newCidr = result.newStart + '/' + cidr.mask; result.newSize = getRangesize(cidr.start, cidr.end); result.oldSize = getRangesize(start, end); diff --git a/src/tools/ipv4-range-expander/ipv4-range-expander.types.ts b/src/tools/ipv4-range-expander/ipv4-range-expander.types.ts index d5d2b45e..9172fed0 100644 --- a/src/tools/ipv4-range-expander/ipv4-range-expander.types.ts +++ b/src/tools/ipv4-range-expander/ipv4-range-expander.types.ts @@ -1,7 +1,7 @@ -export interface Ipv4RangeExpanderResult { - oldSize?: number - newStart?: string - newEnd?: string - newCidr?: string - newSize?: number -} +export type Ipv4RangeExpanderResult = { + oldSize?: number; + newStart?: string; + newEnd?: string; + newCidr?: string; + newSize?: number; +}; diff --git a/src/tools/ipv4-range-expander/ipv4-range-expander.vue b/src/tools/ipv4-range-expander/ipv4-range-expander.vue index 6eb3c922..05b15b29 100644 --- a/src/tools/ipv4-range-expander/ipv4-range-expander.vue +++ b/src/tools/ipv4-range-expander/ipv4-range-expander.vue @@ -1,10 +1,62 @@ + + - + diff --git a/src/tools/ipv4-range-expander/result-row.vue b/src/tools/ipv4-range-expander/result-row.vue index 565fb177..b1782fea 100644 --- a/src/tools/ipv4-range-expander/result-row.vue +++ b/src/tools/ipv4-range-expander/result-row.vue @@ -1,6 +1,18 @@ + + - + diff --git a/src/tools/ipv4-subnet-calculator/index.ts b/src/tools/ipv4-subnet-calculator/index.ts index 1bae7282..fb4bfb43 100644 --- a/src/tools/ipv4-subnet-calculator/index.ts +++ b/src/tools/ipv4-subnet-calculator/index.ts @@ -1,11 +1,10 @@ import { RouterOutlined } from '@vicons/material'; import { defineTool } from '../tool'; -import { translate } from '@/plugins/i18n.plugin'; export const tool = defineTool({ - name: translate('tools.ipv4-subnet-calculator.title'), + name: 'IPv4 subnet calculator', path: '/ipv4-subnet-calculator', - description: translate('tools.ipv4-subnet-calculator.description'), + description: 'Parse your IPv4 CIDR blocks and get all the info you need about your sub network.', keywords: ['ipv4', 'subnet', 'calculator', 'mask', 'network', 'cidr', 'netmask', 'bitmask', 'broadcast', 'address'], component: () => import('./ipv4-subnet-calculator.vue'), icon: RouterOutlined, diff --git a/src/tools/ipv4-subnet-calculator/ipv4-subnet-calculator.vue b/src/tools/ipv4-subnet-calculator/ipv4-subnet-calculator.vue index 3e2f4378..6e3d2eb6 100644 --- a/src/tools/ipv4-subnet-calculator/ipv4-subnet-calculator.vue +++ b/src/tools/ipv4-subnet-calculator/ipv4-subnet-calculator.vue @@ -1,11 +1,48 @@ + + - + diff --git a/src/tools/ipv6-ula-generator/index.ts b/src/tools/ipv6-ula-generator/index.ts index 51bfd6fc..24efaeba 100644 --- a/src/tools/ipv6-ula-generator/index.ts +++ b/src/tools/ipv6-ula-generator/index.ts @@ -1,11 +1,10 @@ import { BuildingFactory } from '@vicons/tabler'; import { defineTool } from '../tool'; -import { translate } from '@/plugins/i18n.plugin'; export const tool = defineTool({ - name: translate('tools.ipv6-ula-generator.title'), + name: 'IPv6 ULA generator', path: '/ipv6-ula-generator', - description: translate('tools.ipv6-ula-generator.description'), + description: 'Generate your own local, non-routable IP addresses on your network according to RFC4193.', keywords: ['ipv6', 'ula', 'generator', 'rfc4193', 'network', 'private'], component: () => import('./ipv6-ula-generator.vue'), icon: BuildingFactory, diff --git a/src/tools/ipv6-ula-generator/ipv6-ula-generator.vue b/src/tools/ipv6-ula-generator/ipv6-ula-generator.vue index 66c69c6c..ee74d4cc 100644 --- a/src/tools/ipv6-ula-generator/ipv6-ula-generator.vue +++ b/src/tools/ipv6-ula-generator/ipv6-ula-generator.vue @@ -1,3 +1,34 @@ + + - + diff --git a/src/tools/json-diff/diff-viewer/diff-viewer.models.tsx b/src/tools/json-diff/diff-viewer/diff-viewer.models.tsx index 1d340edc..5a19febf 100644 --- a/src/tools/json-diff/diff-viewer/diff-viewer.models.tsx +++ b/src/tools/json-diff/diff-viewer/diff-viewer.models.tsx @@ -1,16 +1,16 @@ import _ from 'lodash'; -import type { ArrayDifference, Difference, ObjectDifference } from '../json-diff.types'; import { useCopy } from '@/composable/copy'; +import type { Difference, ArrayDifference, ObjectDifference } from '../json-diff.types'; -export function DiffRootViewer({ diff }: { diff: Difference }) { +export const DiffRootViewer = ({ diff }: { diff: Difference }) => { return (
    {DiffViewer({ diff, showKeys: false })}
); -} +}; -function DiffViewer({ diff, showKeys = true }: { diff: Difference; showKeys?: boolean }) { +const DiffViewer = ({ diff, showKeys = true }: { diff: Difference; showKeys?: boolean }) => { const { type, status } = diff; if (status === 'updated') { @@ -26,9 +26,9 @@ function DiffViewer({ diff, showKeys = true }: { diff: Difference; showKeys?: bo } return LineDiffViewer({ diff, showKeys }); -} +}; -function LineDiffViewer({ diff, showKeys }: { diff: Difference; showKeys?: boolean }) { +const LineDiffViewer = ({ diff, showKeys }: { diff: Difference; showKeys?: boolean }) => { const { value, key, status, oldValue } = diff; const valueToDisplay = status === 'removed' ? oldValue : value; @@ -46,9 +46,9 @@ function LineDiffViewer({ diff, showKeys }: { diff: Difference; showKeys?: boole , ); -} +}; -function ComparisonViewer({ diff, showKeys }: { diff: Difference; showKeys?: boolean }) { +const ComparisonViewer = ({ diff, showKeys }: { diff: Difference; showKeys?: boolean }) => { const { value, key, oldValue } = diff; return ( @@ -63,21 +63,21 @@ function ComparisonViewer({ diff, showKeys }: { diff: Difference; showKeys?: boo {Value({ value, status: 'added' })}, ); -} +}; -function ChildrenViewer({ +const ChildrenViewer = ({ diff, openTag, closeTag, showKeys, showChildrenKeys = true, }: { - diff: ArrayDifference | ObjectDifference - showKeys: boolean - showChildrenKeys?: boolean - openTag: string - closeTag: string -}) { + diff: ArrayDifference | ObjectDifference; + showKeys: boolean; + showChildrenKeys?: boolean; + openTag: string; + closeTag: string; +}) => { const { children, key, status, type } = diff; return ( @@ -91,12 +91,12 @@ function ChildrenViewer({ )} {openTag} - {children.length > 0 &&
    {children.map(diff => DiffViewer({ diff, showKeys: showChildrenKeys }))}
} - {`${closeTag},`} + {children.length > 0 &&
    {children.map((diff) => DiffViewer({ diff, showKeys: showChildrenKeys }))}
} + {closeTag + ','} ); -} +}; function formatValue(value: unknown) { if (_.isNull(value)) { @@ -106,14 +106,14 @@ function formatValue(value: unknown) { return JSON.stringify(value); } -function Value({ value, status }: { value: unknown; status: string }) { +const Value = ({ value, status }: { value: unknown; status: string }) => { const formatedValue = formatValue(value); const { copy } = useCopy({ source: formatedValue }); return ( - copy()}> + {formatedValue} ); -} +}; diff --git a/src/tools/json-diff/diff-viewer/diff-viewer.vue b/src/tools/json-diff/diff-viewer/diff-viewer.vue index 1c585df7..c77d4073 100644 --- a/src/tools/json-diff/diff-viewer/diff-viewer.vue +++ b/src/tools/json-diff/diff-viewer/diff-viewer.vue @@ -1,11 +1,26 @@ - - - diff --git a/src/tools/json-viewer/index.ts b/src/tools/json-viewer/index.ts index bc488245..6b5b8812 100644 --- a/src/tools/json-viewer/index.ts +++ b/src/tools/json-viewer/index.ts @@ -1,11 +1,10 @@ import { Braces } from '@vicons/tabler'; import { defineTool } from '../tool'; -import { translate } from '@/plugins/i18n.plugin'; export const tool = defineTool({ - name: translate('tools.json-prettify.title'), + name: 'JSON prettify and format', path: '/json-prettify', - description: translate('tools.json-prettify.description'), + description: 'Prettify your JSON string to a human friendly readable format.', keywords: ['json', 'viewer', 'prettify', 'format'], component: () => import('./json-viewer.vue'), icon: Braces, diff --git a/src/tools/json-viewer/json-viewer.vue b/src/tools/json-viewer/json-viewer.vue index 3928a44f..60ae66c2 100644 --- a/src/tools/json-viewer/json-viewer.vue +++ b/src/tools/json-viewer/json-viewer.vue @@ -1,10 +1,45 @@ + + - - diff --git a/src/tools/list-converter/index.ts b/src/tools/list-converter/index.ts deleted file mode 100644 index 9ae7c512..00000000 --- a/src/tools/list-converter/index.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { List } from '@vicons/tabler'; -import { defineTool } from '../tool'; -import { translate } from '@/plugins/i18n.plugin'; - -export const tool = defineTool({ - name: translate('tools.list-converter.title'), - path: '/list-converter', - description: translate('tools.list-converter.description'), - keywords: ['list', 'converter', 'sort', 'reverse', 'prefix', 'suffix', 'lowercase', 'truncate'], - component: () => import('./list-converter.vue'), - icon: List, - createdAt: new Date('2023-05-07'), -}); diff --git a/src/tools/list-converter/list-converter.e2e.spec.ts b/src/tools/list-converter/list-converter.e2e.spec.ts deleted file mode 100644 index 4accbf06..00000000 --- a/src/tools/list-converter/list-converter.e2e.spec.ts +++ /dev/null @@ -1,39 +0,0 @@ -import { expect, test } from '@playwright/test'; - -test.describe('Tool - List converter', () => { - test.beforeEach(async ({ page }) => { - await page.goto('/list-converter'); - }); - - test('Has correct title', async ({ page }) => { - await expect(page).toHaveTitle('List converter - IT Tools'); - }); - - test('Simple list should be converted with default settings', async ({ page }) => { - await page.getByTestId('input').fill(`1 - 2 - 3 - 4 - 5`); - - const result = await page.getByTestId('area-content').innerText(); - - expect(result.trim()).toEqual('1, 2, 3, 4, 5'); - }); - - test('Duplicates should be removed, list should be sorted and prefix and suffix list items', async ({ page }) => { - await page.getByTestId('input').fill(`1 - 2 - 2 - 4 - 4 - 3 - 5`); - await page.getByTestId('removeDuplicates').check(); - await page.getByTestId('itemPrefix').fill('\''); - await page.getByTestId('itemSuffix').fill('\''); - - const result = await page.getByTestId('area-content').innerText(); - expect(result.trim()).toEqual('\'1\', \'2\', \'4\', \'3\', \'5\''); - }); -}); diff --git a/src/tools/list-converter/list-converter.models.test.ts b/src/tools/list-converter/list-converter.models.test.ts deleted file mode 100644 index abbc43c2..00000000 --- a/src/tools/list-converter/list-converter.models.test.ts +++ /dev/null @@ -1,76 +0,0 @@ -import { describe, expect, it } from 'vitest'; -import { convert } from './list-converter.models'; -import type { ConvertOptions } from './list-converter.types'; - -describe('list-converter', () => { - describe('convert', () => { - it('should convert a given list', () => { - const options: ConvertOptions = { - separator: ', ', - trimItems: true, - removeDuplicates: true, - itemPrefix: '"', - itemSuffix: '"', - listPrefix: '', - listSuffix: '', - reverseList: false, - sortList: null, - lowerCase: false, - keepLineBreaks: false, - }; - const input = ` - 1 - 2 - - 3 - 3 - 4 - `; - expect(convert(input, options)).toEqual('"1", "2", "3", "4"'); - }); - - it('should return an empty value for an empty input', () => { - const options: ConvertOptions = { - separator: ', ', - trimItems: true, - removeDuplicates: true, - itemPrefix: '', - itemSuffix: '', - listPrefix: '', - listSuffix: '', - reverseList: false, - sortList: null, - lowerCase: false, - keepLineBreaks: false, - }; - expect(convert('', options)).toEqual(''); - }); - - it('should keep line breaks', () => { - const options: ConvertOptions = { - separator: '', - trimItems: true, - itemPrefix: '
  • ', - itemSuffix: '
  • ', - listPrefix: '
      ', - listSuffix: '
    ', - keepLineBreaks: true, - lowerCase: false, - removeDuplicates: false, - reverseList: false, - sortList: null, - }; - const input = ` - 1 - 2 - 3 - `; - const expected = `
      -
    • 1
    • -
    • 2
    • -
    • 3
    • -
    `; - expect(convert(input, options)).toEqual(expected); - }); - }); -}); diff --git a/src/tools/list-converter/list-converter.models.ts b/src/tools/list-converter/list-converter.models.ts deleted file mode 100644 index 548baa28..00000000 --- a/src/tools/list-converter/list-converter.models.ts +++ /dev/null @@ -1,27 +0,0 @@ -import _ from 'lodash'; -import type { ConvertOptions } from './list-converter.types'; -import { byOrder } from '@/utils/array'; - -export { convert }; - -function whenever(condition: boolean, fn: (value: T) => R) { - return (value: T) => - condition ? fn(value) : value; -} - -function convert(list: string, options: ConvertOptions): string { - const lineBreak = options.keepLineBreaks ? '\n' : ''; - - return _.chain(list) - .thru(whenever(options.lowerCase, text => text.toLowerCase())) - .split('\n') - .thru(whenever(options.removeDuplicates, _.uniq)) - .thru(whenever(options.reverseList, _.reverse)) - .thru(whenever(!_.isNull(options.sortList), parts => parts.sort(byOrder({ order: options.sortList })))) - .map(whenever(options.trimItems, _.trim)) - .without('') - .map(p => options.itemPrefix + p + options.itemSuffix) - .join(options.separator + lineBreak) - .thru(text => [options.listPrefix, text, options.listSuffix].join(lineBreak)) - .value(); -} diff --git a/src/tools/list-converter/list-converter.types.ts b/src/tools/list-converter/list-converter.types.ts deleted file mode 100644 index 3f9ea3f8..00000000 --- a/src/tools/list-converter/list-converter.types.ts +++ /dev/null @@ -1,15 +0,0 @@ -export type SortOrder = 'asc' | 'desc' | null; - -export interface ConvertOptions { - lowerCase: boolean - trimItems: boolean - itemPrefix: string - itemSuffix: string - listPrefix: string - listSuffix: string - reverseList: boolean - sortList: SortOrder - removeDuplicates: boolean - separator: string - keepLineBreaks: boolean -} diff --git a/src/tools/list-converter/list-converter.vue b/src/tools/list-converter/list-converter.vue deleted file mode 100644 index 19dd30e5..00000000 --- a/src/tools/list-converter/list-converter.vue +++ /dev/null @@ -1,123 +0,0 @@ - - - diff --git a/src/tools/lorem-ipsum-generator/index.ts b/src/tools/lorem-ipsum-generator/index.ts index 2634d9e0..1767d85d 100644 --- a/src/tools/lorem-ipsum-generator/index.ts +++ b/src/tools/lorem-ipsum-generator/index.ts @@ -1,11 +1,11 @@ import { AlignJustified } from '@vicons/tabler'; import { defineTool } from '../tool'; -import { translate } from '@/plugins/i18n.plugin'; export const tool = defineTool({ - name: translate('tools.lorem-ipsum-generator.title'), + name: 'Lorem ipsum generator', path: '/lorem-ipsum-generator', - description: translate('tools.lorem-ipsum-generator.description'), + description: + 'Lorem ipsum is a placeholder text commonly used to demonstrate the visual form of a document or a typeface without relying on meaningful content', keywords: ['lorem', 'ipsum', 'dolor', 'sit', 'amet', 'placeholder', 'text', 'filler', 'random', 'generator'], component: () => import('./lorem-ipsum-generator.vue'), icon: AlignJustified, diff --git a/src/tools/lorem-ipsum-generator/lorem-ipsum-generator.service.ts b/src/tools/lorem-ipsum-generator/lorem-ipsum-generator.service.ts index b21a302b..4122a7bb 100644 --- a/src/tools/lorem-ipsum-generator/lorem-ipsum-generator.service.ts +++ b/src/tools/lorem-ipsum-generator/lorem-ipsum-generator.service.ts @@ -179,13 +179,13 @@ const vocabulary = [ ]; const firstSentence = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.'; -function generateSentence(length: number) { +const generateSentence = (length: number) => { const sentence = Array.from({ length }) .map(() => randFromArray(vocabulary)) .join(' '); - return `${sentence.charAt(0).toUpperCase() + sentence.slice(1)}.`; -} + return sentence.charAt(0).toUpperCase() + sentence.slice(1) + '.'; +}; export function generateLoremIpsum({ paragraphCount = 1, @@ -194,11 +194,11 @@ export function generateLoremIpsum({ startWithLoremIpsum = true, asHTML = false, }: { - paragraphCount?: number - sentencePerParagraph?: number - wordCount?: number - startWithLoremIpsum?: boolean - asHTML?: boolean + paragraphCount?: number; + sentencePerParagraph?: number; + wordCount?: number; + startWithLoremIpsum?: boolean; + asHTML?: boolean; }) { const paragraphs = Array.from({ length: paragraphCount }).map(() => Array.from({ length: sentencePerParagraph }).map(() => generateSentence(wordCount)), @@ -209,8 +209,8 @@ export function generateLoremIpsum({ } if (asHTML) { - return `

    ${paragraphs.map(s => s.join(' ')).join('

    \n\n

    ')}

    `; + return `

    ${paragraphs.map((s) => s.join(' ')).join('

    \n\n

    ')}

    `; } - return paragraphs.map(s => s.join(' ')).join('\n\n'); + return paragraphs.map((s) => s.join(' ')).join('\n\n'); } diff --git a/src/tools/lorem-ipsum-generator/lorem-ipsum-generator.vue b/src/tools/lorem-ipsum-generator/lorem-ipsum-generator.vue index ccd8b519..bb2e7370 100644 --- a/src/tools/lorem-ipsum-generator/lorem-ipsum-generator.vue +++ b/src/tools/lorem-ipsum-generator/lorem-ipsum-generator.vue @@ -1,28 +1,3 @@ - - + + diff --git a/src/tools/mac-address-generator/index.ts b/src/tools/mac-address-generator/index.ts deleted file mode 100644 index 3106bcec..00000000 --- a/src/tools/mac-address-generator/index.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { Devices } from '@vicons/tabler'; -import { defineTool } from '../tool'; -import { translate } from '@/plugins/i18n.plugin'; - -export const tool = defineTool({ - name: translate('tools.mac-address-generator.title'), - path: '/mac-address-generator', - description: translate('tools.mac-address-generator.description'), - keywords: ['mac', 'address', 'generator', 'random', 'prefix'], - component: () => import('./mac-address-generator.vue'), - icon: Devices, - createdAt: new Date('2023-11-31'), -}); diff --git a/src/tools/mac-address-generator/mac-address-generator.e2e.spec.ts b/src/tools/mac-address-generator/mac-address-generator.e2e.spec.ts deleted file mode 100644 index 1d99ccd7..00000000 --- a/src/tools/mac-address-generator/mac-address-generator.e2e.spec.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { expect, test } from '@playwright/test'; - -test.describe('Tool - MAC address generator', () => { - test.beforeEach(async ({ page }) => { - await page.goto('/mac-address-generator'); - }); - - test('Has correct title', async ({ page }) => { - await expect(page).toHaveTitle('MAC address generator - IT Tools'); - }); -}); diff --git a/src/tools/mac-address-generator/mac-address-generator.vue b/src/tools/mac-address-generator/mac-address-generator.vue deleted file mode 100644 index 725070d3..00000000 --- a/src/tools/mac-address-generator/mac-address-generator.vue +++ /dev/null @@ -1,103 +0,0 @@ - - - diff --git a/src/tools/mac-address-generator/mac-adress-generator.models.test.ts b/src/tools/mac-address-generator/mac-adress-generator.models.test.ts deleted file mode 100644 index 5b660250..00000000 --- a/src/tools/mac-address-generator/mac-adress-generator.models.test.ts +++ /dev/null @@ -1,43 +0,0 @@ -import { describe, expect, it } from 'vitest'; -import { generateRandomMacAddress, splitPrefix } from './mac-adress-generator.models'; - -describe('mac-adress-generator models', () => { - describe('splitPrefix', () => { - it('a mac address prefix is splitted around non hex characters', () => { - expect(splitPrefix('')).toEqual([]); - expect(splitPrefix('01')).toEqual(['01']); - expect(splitPrefix('01:')).toEqual(['01']); - expect(splitPrefix('01:23')).toEqual(['01', '23']); - expect(splitPrefix('01-23')).toEqual(['01', '23']); - }); - - it('when a prefix contains only hex characters, they are grouped by 2', () => { - expect(splitPrefix('0123')).toEqual(['01', '23']); - expect(splitPrefix('012345')).toEqual(['01', '23', '45']); - expect(splitPrefix('0123456')).toEqual(['01', '23', '45', '06']); - }); - }); - - describe('generateRandomMacAddress', () => { - const createRandomByteGenerator = () => { - let i = 0; - return () => (i++).toString(16).padStart(2, '0'); - }; - - it('generates a random mac address', () => { - expect(generateRandomMacAddress({ getRandomByte: createRandomByteGenerator() })).toBe('00:01:02:03:04:05'); - }); - - it('generates a random mac address with a prefix', () => { - expect(generateRandomMacAddress({ prefix: 'ff:ee:aa', getRandomByte: createRandomByteGenerator() })).toBe('ff:ee:aa:00:01:02'); - expect(generateRandomMacAddress({ prefix: 'ff:ee:a', getRandomByte: createRandomByteGenerator() })).toBe('ff:ee:0a:00:01:02'); - }); - - it('generates a random mac address with a prefix and a different separator', () => { - expect(generateRandomMacAddress({ prefix: 'ff-ee-aa', separator: '-', getRandomByte: createRandomByteGenerator() })).toBe('ff-ee-aa-00-01-02'); - expect(generateRandomMacAddress({ prefix: 'ff:ee:aa', separator: '-', getRandomByte: createRandomByteGenerator() })).toBe('ff-ee-aa-00-01-02'); - expect(generateRandomMacAddress({ prefix: 'ff-ee:aa', separator: '-', getRandomByte: createRandomByteGenerator() })).toBe('ff-ee-aa-00-01-02'); - expect(generateRandomMacAddress({ prefix: 'ff ee:aa', separator: '-', getRandomByte: createRandomByteGenerator() })).toBe('ff-ee-aa-00-01-02'); - }); - }); -}); diff --git a/src/tools/mac-address-generator/mac-adress-generator.models.ts b/src/tools/mac-address-generator/mac-adress-generator.models.ts deleted file mode 100644 index 45e434eb..00000000 --- a/src/tools/mac-address-generator/mac-adress-generator.models.ts +++ /dev/null @@ -1,18 +0,0 @@ -import _ from 'lodash'; - -export { splitPrefix, generateRandomMacAddress }; - -function splitPrefix(prefix: string): string[] { - const base = prefix.match(/[^0-9a-f]/i) === null ? prefix.match(/.{1,2}/g) ?? [] : prefix.split(/[^0-9a-f]/i); - - return base.filter(Boolean).map(byte => byte.padStart(2, '0')); -} - -function generateRandomMacAddress({ prefix: rawPrefix = '', separator = ':', getRandomByte = () => _.random(0, 255).toString(16).padStart(2, '0') }: { prefix?: string; separator?: string; getRandomByte?: () => string } = {}) { - const prefix = splitPrefix(rawPrefix); - - const randomBytes = _.times(6 - prefix.length, getRandomByte); - const bytes = [...prefix, ...randomBytes]; - - return bytes.join(separator); -} diff --git a/src/tools/mac-address-lookup/index.ts b/src/tools/mac-address-lookup/index.ts index 367bcebb..4108bc33 100644 --- a/src/tools/mac-address-lookup/index.ts +++ b/src/tools/mac-address-lookup/index.ts @@ -1,11 +1,10 @@ import { Devices } from '@vicons/tabler'; import { defineTool } from '../tool'; -import { translate } from '@/plugins/i18n.plugin'; export const tool = defineTool({ - name: translate('tools.mac-address-lookup.title'), + name: 'MAC address lookup', path: '/mac-address-lookup', - description: translate('tools.mac-address-lookup.description'), + description: 'Find the vendor and manufacturer of a device by its MAC address.', keywords: ['mac', 'address', 'lookup', 'vendor', 'parser', 'manufacturer'], component: () => import('./mac-address-lookup.vue'), icon: Devices, diff --git a/src/tools/mac-address-lookup/mac-address-lookup.vue b/src/tools/mac-address-lookup/mac-address-lookup.vue index ad1e3e94..c157dda7 100644 --- a/src/tools/mac-address-lookup/mac-address-lookup.vue +++ b/src/tools/mac-address-lookup/mac-address-lookup.vue @@ -1,51 +1,47 @@ + + - + diff --git a/src/tools/mac-address-lookup/oui.d.ts b/src/tools/mac-address-lookup/oui.d.ts new file mode 100644 index 00000000..cb8003c8 --- /dev/null +++ b/src/tools/mac-address-lookup/oui.d.ts @@ -0,0 +1,4 @@ +declare module 'oui/oui.json' { + const db: Record; + export default db; +} diff --git a/src/tools/markdown-to-html/index.ts b/src/tools/markdown-to-html/index.ts deleted file mode 100644 index 73a6cfb3..00000000 --- a/src/tools/markdown-to-html/index.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { Markdown } from '@vicons/tabler'; -import { defineTool } from '../tool'; - -export const tool = defineTool({ - name: 'Markdown to HTML', - path: '/markdown-to-html', - description: 'Convert Markdown to Html and allow to print (as PDF)', - keywords: ['markdown', 'html', 'converter', 'pdf'], - component: () => import('./markdown-to-html.vue'), - icon: Markdown, - createdAt: new Date('2024-08-25'), -}); diff --git a/src/tools/markdown-to-html/markdown-to-html.vue b/src/tools/markdown-to-html/markdown-to-html.vue deleted file mode 100644 index c84d44ec..00000000 --- a/src/tools/markdown-to-html/markdown-to-html.vue +++ /dev/null @@ -1,44 +0,0 @@ - - - diff --git a/src/tools/math-evaluator/index.ts b/src/tools/math-evaluator/index.ts index eb4290ba..ad783d25 100644 --- a/src/tools/math-evaluator/index.ts +++ b/src/tools/math-evaluator/index.ts @@ -1,17 +1,13 @@ import { Math } from '@vicons/tabler'; import { defineTool } from '../tool'; -import { translate } from '@/plugins/i18n.plugin'; export const tool = defineTool({ - name: translate('tools.math-evaluator.title'), + name: 'Math evaluator', path: '/math-evaluator', - description: translate('tools.math-evaluator.description'), + description: `Evaluate math expression, like a calculator on steroid (you can use function like sqrt, cos, sin, abs, ...)`, keywords: [ 'math', 'evaluator', - 'calculator', - 'expression', - 'abs', 'acos', 'acosh', 'acot', @@ -35,7 +31,6 @@ export const tool = defineTool({ 'sech', 'sin', 'sinh', - 'sqrt', 'tan', 'tanh', ], diff --git a/src/tools/math-evaluator/math-evaluator.vue b/src/tools/math-evaluator/math-evaluator.vue index d31ed252..a8b359b4 100644 --- a/src/tools/math-evaluator/math-evaluator.vue +++ b/src/tools/math-evaluator/math-evaluator.vue @@ -1,24 +1,15 @@ - - + + diff --git a/src/tools/meta-tag-generator/OGSchemaType.type.ts b/src/tools/meta-tag-generator/OGSchemaType.type.ts index 64387b8c..8d09013b 100644 --- a/src/tools/meta-tag-generator/OGSchemaType.type.ts +++ b/src/tools/meta-tag-generator/OGSchemaType.type.ts @@ -3,25 +3,25 @@ import type { SelectGroupOption, SelectOption } from 'naive-ui'; export type { OGSchemaType, OGSchemaTypeElementInput, OGSchemaTypeElementSelect, OGSchemaTypeElementInputMultiple }; interface OGSchemaTypeElementBase { - key: string - label: string - placeholder: string + key: string; + label: string; + placeholder: string; } interface OGSchemaTypeElementInput extends OGSchemaTypeElementBase { - type: 'input' + type: 'input'; } interface OGSchemaTypeElementInputMultiple extends OGSchemaTypeElementBase { - type: 'input-multiple' + type: 'input-multiple'; } interface OGSchemaTypeElementSelect extends OGSchemaTypeElementBase { - type: 'select' - options: Array + type: 'select'; + options: Array; } interface OGSchemaType { - name: string - elements: (OGSchemaTypeElementSelect | OGSchemaTypeElementInput | OGSchemaTypeElementInputMultiple)[] + name: string; + elements: (OGSchemaTypeElementSelect | OGSchemaTypeElementInput | OGSchemaTypeElementInputMultiple)[]; } diff --git a/src/tools/meta-tag-generator/index.ts b/src/tools/meta-tag-generator/index.ts index c6224410..c79b19f3 100644 --- a/src/tools/meta-tag-generator/index.ts +++ b/src/tools/meta-tag-generator/index.ts @@ -1,11 +1,10 @@ import { Tags } from '@vicons/tabler'; import { defineTool } from '../tool'; -import { translate } from '@/plugins/i18n.plugin'; export const tool = defineTool({ - name: translate('tools.og-meta-generator.title'), + name: 'Open graph meta generator', path: '/og-meta-generator', - description: translate('tools.og-meta-generator.description'), + description: 'Generate open-graph and socials html meta tags for your website.', keywords: [ 'meta', 'tag', diff --git a/src/tools/meta-tag-generator/meta-tag-generator.vue b/src/tools/meta-tag-generator/meta-tag-generator.vue index aafa7799..ee5d8e77 100644 --- a/src/tools/meta-tag-generator/meta-tag-generator.vue +++ b/src/tools/meta-tag-generator/meta-tag-generator.vue @@ -1,14 +1,48 @@ + + - - diff --git a/src/tools/password-strength-analyser/index.ts b/src/tools/password-strength-analyser/index.ts deleted file mode 100644 index f2e89ef9..00000000 --- a/src/tools/password-strength-analyser/index.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { defineTool } from '../tool'; -import { translate } from '@/plugins/i18n.plugin'; -import PasswordIcon from '~icons/mdi/form-textbox-password'; - -export const tool = defineTool({ - name: translate('tools.password-strength-analyser.title'), - path: '/password-strength-analyser', - description: translate('tools.password-strength-analyser.description'), - keywords: ['password', 'strength', 'analyser', 'and', 'crack', 'time', 'estimation', 'brute', 'force', 'attack', 'entropy', 'cracking', 'hash', 'hashing', 'algorithm', 'algorithms', 'md5', 'sha1', 'sha256', 'sha512', 'bcrypt', 'scrypt', 'argon2', 'argon2id', 'argon2i', 'argon2d'], - component: () => import('./password-strength-analyser.vue'), - icon: PasswordIcon, - createdAt: new Date('2023-06-24'), -}); diff --git a/src/tools/password-strength-analyser/password-strength-analyser.e2e.spec.ts b/src/tools/password-strength-analyser/password-strength-analyser.e2e.spec.ts deleted file mode 100644 index 9a3c9319..00000000 --- a/src/tools/password-strength-analyser/password-strength-analyser.e2e.spec.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { expect, test } from '@playwright/test'; - -test.describe('Tool - Password strength analyser', () => { - test.beforeEach(async ({ page }) => { - await page.goto('/password-strength-analyser'); - }); - - test('Has correct title', async ({ page }) => { - await expect(page).toHaveTitle('Password strength analyser - IT Tools'); - }); - - test('Computes the brute force attack time of a password', async ({ page }) => { - await page.getByTestId('password-input').fill('ABCabc123!@#'); - - const crackDuration = await page.getByTestId('crack-duration').textContent(); - - expect(crackDuration).toEqual('15,091 millennia, 3 centuries'); - }); -}); diff --git a/src/tools/password-strength-analyser/password-strength-analyser.service.test.ts b/src/tools/password-strength-analyser/password-strength-analyser.service.test.ts deleted file mode 100644 index cdcecbe0..00000000 --- a/src/tools/password-strength-analyser/password-strength-analyser.service.test.ts +++ /dev/null @@ -1,31 +0,0 @@ -import { describe, expect, it } from 'vitest'; -import { getCharsetLength } from './password-strength-analyser.service'; - -describe('password-strength-analyser-and-crack-time-estimation', () => { - describe('getCharsetLength', () => { - describe('computes the charset length of a given password', () => { - it('the charset length is 26 when the password is only lowercase characters', () => { - expect(getCharsetLength({ password: 'abcdefghijklmnopqrstuvwxyz' })).toBe(26); - }); - it('the charset length is 26 when the password is only uppercase characters', () => { - expect(getCharsetLength({ password: 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' })).toBe(26); - }); - it('the charset length is 10 when the password is only digits', () => { - expect(getCharsetLength({ password: '0123456789' })).toBe(10); - }); - it('the charset length is 32 when the password is only special characters', () => { - expect(getCharsetLength({ password: '-_(' })).toBe(32); - }); - it('the charset length is 0 when the password is empty', () => { - expect(getCharsetLength({ password: '' })).toBe(0); - }); - - it('the charset length is 36 when the password is lowercase characters and digits', () => { - expect(getCharsetLength({ password: 'abcdefghijklmnopqrstuvwxyz0123456789' })).toBe(36); - }); - it('the charset length is 95 when the password is lowercase characters, uppercase characters, digits and special characters', () => { - expect(getCharsetLength({ password: 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_(' })).toBe(94); - }); - }); - }); -}); diff --git a/src/tools/password-strength-analyser/password-strength-analyser.service.ts b/src/tools/password-strength-analyser/password-strength-analyser.service.ts deleted file mode 100644 index aa281848..00000000 --- a/src/tools/password-strength-analyser/password-strength-analyser.service.ts +++ /dev/null @@ -1,96 +0,0 @@ -import _ from 'lodash'; - -export { getPasswordCrackTimeEstimation, getCharsetLength }; - -function prettifyExponentialNotation(exponentialNotation: number) { - const [base, exponent] = exponentialNotation.toString().split('e'); - const baseAsNumber = Number.parseFloat(base); - const prettyBase = baseAsNumber % 1 === 0 ? baseAsNumber.toLocaleString() : baseAsNumber.toFixed(2); - return exponent ? `${prettyBase}e${exponent}` : prettyBase; -} - -function getHumanFriendlyDuration({ seconds }: { seconds: number }) { - if (seconds <= 0.001) { - return 'Instantly'; - } - - if (seconds <= 1) { - return 'Less than a second'; - } - - const timeUnits = [ - { unit: 'millenium', secondsInUnit: 31536000000, format: prettifyExponentialNotation, plural: 'millennia' }, - { unit: 'century', secondsInUnit: 3153600000, plural: 'centuries' }, - { unit: 'decade', secondsInUnit: 315360000, plural: 'decades' }, - { unit: 'year', secondsInUnit: 31536000, plural: 'years' }, - { unit: 'month', secondsInUnit: 2592000, plural: 'months' }, - { unit: 'week', secondsInUnit: 604800, plural: 'weeks' }, - { unit: 'day', secondsInUnit: 86400, plural: 'days' }, - { unit: 'hour', secondsInUnit: 3600, plural: 'hours' }, - { unit: 'minute', secondsInUnit: 60, plural: 'minutes' }, - { unit: 'second', secondsInUnit: 1, plural: 'seconds' }, - ]; - - return _.chain(timeUnits) - .map(({ unit, secondsInUnit, plural, format = _.identity }) => { - const quantity = Math.floor(seconds / secondsInUnit); - seconds %= secondsInUnit; - - if (quantity <= 0) { - return undefined; - } - - const formattedQuantity = format(quantity); - return `${formattedQuantity} ${quantity > 1 ? plural : unit}`; - }) - .compact() - .take(2) - .join(', ') - .value(); -} - -function getPasswordCrackTimeEstimation({ password, guessesPerSecond = 1e9 }: { password: string; guessesPerSecond?: number }) { - const charsetLength = getCharsetLength({ password }); - const passwordLength = password.length; - - const entropy = password === '' ? 0 : Math.log2(charsetLength) * passwordLength; - - const secondsToCrack = 2 ** entropy / guessesPerSecond; - - const crackDurationFormatted = getHumanFriendlyDuration({ seconds: secondsToCrack }); - - const score = Math.min(entropy / 128, 1); - - return { - entropy, - charsetLength, - passwordLength, - crackDurationFormatted, - secondsToCrack, - score, - }; -} - -function getCharsetLength({ password }: { password: string }) { - const hasLowercase = /[a-z]/.test(password); - const hasUppercase = /[A-Z]/.test(password); - const hasDigits = /\d/.test(password); - const hasSpecialChars = /\W|_/.test(password); - - let charsetLength = 0; - - if (hasLowercase) { - charsetLength += 26; - } - if (hasUppercase) { - charsetLength += 26; - } - if (hasDigits) { - charsetLength += 10; - } - if (hasSpecialChars) { - charsetLength += 32; - } - - return charsetLength; -} diff --git a/src/tools/password-strength-analyser/password-strength-analyser.vue b/src/tools/password-strength-analyser/password-strength-analyser.vue deleted file mode 100644 index 7064ad0c..00000000 --- a/src/tools/password-strength-analyser/password-strength-analyser.vue +++ /dev/null @@ -1,62 +0,0 @@ - - - diff --git a/src/tools/pdf-signature-checker/components/pdf-signature-details.vue b/src/tools/pdf-signature-checker/components/pdf-signature-details.vue deleted file mode 100644 index c39f6168..00000000 --- a/src/tools/pdf-signature-checker/components/pdf-signature-details.vue +++ /dev/null @@ -1,99 +0,0 @@ - - - diff --git a/src/tools/pdf-signature-checker/index.ts b/src/tools/pdf-signature-checker/index.ts deleted file mode 100644 index 8b5d356b..00000000 --- a/src/tools/pdf-signature-checker/index.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { defineTool } from '../tool'; -import { translate } from '@/plugins/i18n.plugin'; -import FileCertIcon from '~icons/mdi/file-certificate-outline'; - -export const tool = defineTool({ - name: translate('tools.pdf-signature-checker.title'), - path: '/pdf-signature-checker', - description: translate('tools.pdf-signature-checker.description'), - keywords: ['pdf', 'signature', 'checker', 'verify', 'validate', 'sign'], - component: () => import('./pdf-signature-checker.vue'), - icon: FileCertIcon, - createdAt: new Date('2023-12-09'), -}); diff --git a/src/tools/pdf-signature-checker/pdf-signature-checker.e2e.spec.ts b/src/tools/pdf-signature-checker/pdf-signature-checker.e2e.spec.ts deleted file mode 100644 index 8e9a2870..00000000 --- a/src/tools/pdf-signature-checker/pdf-signature-checker.e2e.spec.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { expect, test } from '@playwright/test'; - -test.describe('Tool - Pdf signature checker', () => { - test.beforeEach(async ({ page }) => { - await page.goto('/pdf-signature-checker'); - }); - - test('Has correct title', async ({ page }) => { - await expect(page).toHaveTitle('PDF signature checker - IT Tools'); - }); -}); diff --git a/src/tools/pdf-signature-checker/pdf-signature-checker.types.ts b/src/tools/pdf-signature-checker/pdf-signature-checker.types.ts deleted file mode 100644 index 6932509c..00000000 --- a/src/tools/pdf-signature-checker/pdf-signature-checker.types.ts +++ /dev/null @@ -1,39 +0,0 @@ -export interface SignatureInfo { - verified: boolean - authenticity: boolean - integrity: boolean - expired: boolean - meta: { - certs: { - clientCertificate?: boolean - issuedBy: { - commonName: string - organizationalUnitName?: string - organizationName: string - countryName?: string - localityName?: string - stateOrProvinceName?: string - } - issuedTo: { - commonName: string - serialNumber?: string - organizationalUnitName?: string - organizationName: string - countryName?: string - localityName?: string - stateOrProvinceName?: string - } - validityPeriod: { - notBefore: string - notAfter: string - } - pemCertificate: string - }[] - signatureMeta: { - reason: string - contactInfo: string | null - location: string - name: string | null - } - } -} diff --git a/src/tools/pdf-signature-checker/pdf-signature-checker.vue b/src/tools/pdf-signature-checker/pdf-signature-checker.vue deleted file mode 100644 index 02206164..00000000 --- a/src/tools/pdf-signature-checker/pdf-signature-checker.vue +++ /dev/null @@ -1,59 +0,0 @@ - - - diff --git a/src/tools/percentage-calculator/index.ts b/src/tools/percentage-calculator/index.ts deleted file mode 100644 index 33c5b2f1..00000000 --- a/src/tools/percentage-calculator/index.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { Percentage } from '@vicons/tabler'; -import { defineTool } from '../tool'; -import { translate } from '@/plugins/i18n.plugin'; - -export const tool = defineTool({ - name: translate('tools.percentage-calculator.title'), - path: '/percentage-calculator', - description: translate('tools.percentage-calculator.description'), - keywords: ['percentage', 'calculator', 'calculate', 'value', 'number', '%'], - component: () => import('./percentage-calculator.vue'), - icon: Percentage, - createdAt: new Date('2023-06-18'), -}); diff --git a/src/tools/percentage-calculator/percentage-calculator.e2e.spec.ts b/src/tools/percentage-calculator/percentage-calculator.e2e.spec.ts deleted file mode 100644 index a8ef2d48..00000000 --- a/src/tools/percentage-calculator/percentage-calculator.e2e.spec.ts +++ /dev/null @@ -1,36 +0,0 @@ -import { expect, test } from '@playwright/test'; - -test.describe('Tool - Percentage calculator', () => { - test.beforeEach(async ({ page }) => { - await page.goto('/percentage-calculator'); - }); - - test('Has correct title', async ({ page }) => { - await expect(page).toHaveTitle('Percentage calculator - IT Tools'); - }); - - test('Correctly works out percentages', async ({ page }) => { - await page.getByTestId('percentageX').locator('input').fill('123'); - await page.getByTestId('percentageY').locator('input').fill('456'); - await expect(page.getByTestId('percentageResult').locator('input')).toHaveValue('560.88'); - - await page.getByTestId('numberX').locator('input').fill('123'); - await page.getByTestId('numberY').locator('input').fill('456'); - await expect(page.getByTestId('numberResult').locator('input')).toHaveValue('26.973684210526315'); - - await page.getByTestId('numberFrom').locator('input').fill('123'); - await page.getByTestId('numberTo').locator('input').fill('456'); - await expect(page.getByTestId('percentageIncreaseDecrease').locator('input')).toHaveValue('270.7317073170732'); - }); - - test('Displays empty results for incomplete input', async ({ page }) => { - await page.getByTestId('percentageX').locator('input').fill('123'); - await expect(page.getByTestId('percentageResult').locator('input')).toHaveValue(''); - - await page.getByTestId('numberY').locator('input').fill('456'); - await expect(page.getByTestId('numberResult').locator('input')).toHaveValue(''); - - await page.getByTestId('numberFrom').locator('input').fill('123'); - await expect(page.getByTestId('percentageIncreaseDecrease').locator('input')).toHaveValue(''); - }); -}); diff --git a/src/tools/percentage-calculator/percentage-calculator.vue b/src/tools/percentage-calculator/percentage-calculator.vue deleted file mode 100644 index c0362d20..00000000 --- a/src/tools/percentage-calculator/percentage-calculator.vue +++ /dev/null @@ -1,78 +0,0 @@ - - - diff --git a/src/tools/phone-parser-and-formatter/index.ts b/src/tools/phone-parser-and-formatter/index.ts deleted file mode 100644 index 094b21e8..00000000 --- a/src/tools/phone-parser-and-formatter/index.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { Phone } from '@vicons/tabler'; -import { defineTool } from '../tool'; -import { translate } from '@/plugins/i18n.plugin'; - -export const tool = defineTool({ - name: translate('tools.phone-parser-and-formatter.title'), - path: '/phone-parser-and-formatter', - description: translate('tools.phone-parser-and-formatter.description'), - keywords: [ - 'phone', - 'parser', - 'formatter', - 'validate', - 'format', - 'number', - 'telephone', - 'mobile', - 'cell', - 'international', - 'national', - ], - component: () => import('./phone-parser-and-formatter.vue'), - icon: Phone, - createdAt: new Date('2023-05-01'), -}); diff --git a/src/tools/phone-parser-and-formatter/phone-parser-and-formatter.e2e.spec.ts b/src/tools/phone-parser-and-formatter/phone-parser-and-formatter.e2e.spec.ts deleted file mode 100644 index 68a2334b..00000000 --- a/src/tools/phone-parser-and-formatter/phone-parser-and-formatter.e2e.spec.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { expect, test } from '@playwright/test'; - -test.describe('Tool - Phone parser and formatter', () => { - test.beforeEach(async ({ page }) => { - await page.goto('/phone-parser-and-formatter'); - }); - - test('Has correct title', async ({ page }) => { - await expect(page).toHaveTitle('Phone parser and formatter - IT Tools'); - }); -}); diff --git a/src/tools/phone-parser-and-formatter/phone-parser-and-formatter.models.ts b/src/tools/phone-parser-and-formatter/phone-parser-and-formatter.models.ts deleted file mode 100644 index 0a0fb63e..00000000 --- a/src/tools/phone-parser-and-formatter/phone-parser-and-formatter.models.ts +++ /dev/null @@ -1,47 +0,0 @@ -import type { CountryCode, NumberType } from 'libphonenumber-js/types'; -import lookup from 'country-code-lookup'; - -export { formatTypeToHumanReadable, getFullCountryName, getDefaultCountryCode }; - -const typeToLabel: Record, string> = { - MOBILE: 'Mobile', - FIXED_LINE: 'Fixed line', - FIXED_LINE_OR_MOBILE: 'Fixed line or mobile', - PERSONAL_NUMBER: 'Personal number', - PREMIUM_RATE: 'Premium rate', - SHARED_COST: 'Shared cost', - TOLL_FREE: 'Toll free', - UAN: 'Universal access number', - VOICEMAIL: 'Voicemail', - VOIP: 'VoIP', - PAGER: 'Pager', -}; - -function formatTypeToHumanReadable(type: NumberType): string | undefined { - if (!type) { - return undefined; - } - - return typeToLabel[type]; -} - -function getFullCountryName(countryCode: string | undefined) { - if (!countryCode) { - return undefined; - } - - return lookup.byIso(countryCode)?.country; -} - -function getDefaultCountryCode({ - locale = window.navigator.language, - defaultCode = 'FR', -}: { locale?: string; defaultCode?: CountryCode } = {}): CountryCode { - const countryCode = locale.split('-')[1]?.toUpperCase(); - - if (!countryCode) { - return defaultCode; - } - - return (lookup.byIso(countryCode)?.iso2 ?? defaultCode) as CountryCode; -} diff --git a/src/tools/phone-parser-and-formatter/phone-parser-and-formatter.vue b/src/tools/phone-parser-and-formatter/phone-parser-and-formatter.vue deleted file mode 100644 index 5bc67780..00000000 --- a/src/tools/phone-parser-and-formatter/phone-parser-and-formatter.vue +++ /dev/null @@ -1,114 +0,0 @@ - - - diff --git a/src/tools/qr-code-generator/index.ts b/src/tools/qr-code-generator/index.ts index b97b4cbc..4c2f86bb 100644 --- a/src/tools/qr-code-generator/index.ts +++ b/src/tools/qr-code-generator/index.ts @@ -1,11 +1,11 @@ import { Qrcode } from '@vicons/tabler'; import { defineTool } from '../tool'; -import { translate } from '@/plugins/i18n.plugin'; export const tool = defineTool({ - name: translate('tools.qrcode-generator.title'), + name: 'QR Code generator', path: '/qrcode-generator', - description: translate('tools.qrcode-generator.description'), + description: + 'Generate and download QR-code for an url or just a text and customize the background and foreground colors.', keywords: ['qr', 'code', 'generator', 'square', 'color', 'link', 'low', 'medium', 'quartile', 'high', 'transparent'], component: () => import('./qr-code-generator.vue'), icon: Qrcode, diff --git a/src/tools/qr-code-generator/qr-code-generator.vue b/src/tools/qr-code-generator/qr-code-generator.vue index 8bc9f740..427b96b7 100644 --- a/src/tools/qr-code-generator/qr-code-generator.vue +++ b/src/tools/qr-code-generator/qr-code-generator.vue @@ -1,7 +1,45 @@ + + - - diff --git a/src/tools/qr-code-generator/useQRCode.ts b/src/tools/qr-code-generator/useQRCode.ts index 5aa54500..64ee90a1 100644 --- a/src/tools/qr-code-generator/useQRCode.ts +++ b/src/tools/qr-code-generator/useQRCode.ts @@ -1,6 +1,6 @@ -import { type MaybeRef, get } from '@vueuse/core'; +import { get, type MaybeRef } from '@vueuse/core'; import QRCode, { type QRCodeErrorCorrectionLevel, type QRCodeToDataURLOptions } from 'qrcode'; -import { isRef, ref, watch } from 'vue'; +import { ref, watch, isRef } from 'vue'; export function useQRCode({ text, @@ -8,17 +8,17 @@ export function useQRCode({ errorCorrectionLevel, options, }: { - text: MaybeRef - color: { foreground: MaybeRef; background: MaybeRef } - errorCorrectionLevel?: MaybeRef - options?: QRCodeToDataURLOptions + text: MaybeRef; + color: { foreground: MaybeRef; background: MaybeRef }; + errorCorrectionLevel?: MaybeRef; + options?: QRCodeToDataURLOptions; }) { const qrcode = ref(''); watch( [text, background, foreground, errorCorrectionLevel].filter(isRef), async () => { - if (get(text)) { + if (get(text)) qrcode.value = await QRCode.toDataURL(get(text).trim(), { color: { dark: get(foreground), @@ -28,7 +28,6 @@ export function useQRCode({ errorCorrectionLevel: get(errorCorrectionLevel) ?? 'M', ...options, }); - } }, { immediate: true }, ); diff --git a/src/tools/random-port-generator/index.ts b/src/tools/random-port-generator/index.ts index e300b8f0..febdc2a4 100644 --- a/src/tools/random-port-generator/index.ts +++ b/src/tools/random-port-generator/index.ts @@ -1,11 +1,10 @@ import { Server } from '@vicons/tabler'; import { defineTool } from '../tool'; -import { translate } from '@/plugins/i18n.plugin'; export const tool = defineTool({ - name: translate('tools.random-port-generator.title'), + name: 'Random port generator', path: '/random-port-generator', - description: translate('tools.random-port-generator.description'), + description: 'Generate random port numbers outside of the range of "known" ports (0-1023).', keywords: ['system', 'port', 'lan', 'generator', 'random', 'development', 'computer'], component: () => import('./random-port-generator.vue'), icon: Server, diff --git a/src/tools/random-port-generator/random-port-generator.vue b/src/tools/random-port-generator/random-port-generator.vue index 89ab2172..77df439c 100644 --- a/src/tools/random-port-generator/random-port-generator.vue +++ b/src/tools/random-port-generator/random-port-generator.vue @@ -1,29 +1,25 @@ - - + + diff --git a/src/tools/regex-tester/index.ts b/src/tools/regex-tester/index.ts deleted file mode 100644 index 62a5e234..00000000 --- a/src/tools/regex-tester/index.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { Language } from '@vicons/tabler'; -import { defineTool } from '../tool'; - -export const tool = defineTool({ - name: 'Regex Tester', - path: '/regex-tester', - description: 'Test your regular expressions with sample text.', - keywords: ['regex', 'tester', 'sample', 'expression'], - component: () => import('./regex-tester.vue'), - icon: Language, - createdAt: new Date('2024-09-20'), -}); diff --git a/src/tools/regex-tester/regex-tester.service.test.ts b/src/tools/regex-tester/regex-tester.service.test.ts deleted file mode 100644 index bd4efbbc..00000000 --- a/src/tools/regex-tester/regex-tester.service.test.ts +++ /dev/null @@ -1,106 +0,0 @@ -import { describe, expect, it } from 'vitest'; -import { matchRegex } from './regex-tester.service'; - -const regexesData = [ - { - regex: '', - text: '', - flags: '', - result: [], - }, - { - regex: '.*', - text: '', - flags: '', - result: [], - }, - { - regex: '', - text: 'aaa', - flags: '', - result: [], - }, - { - regex: 'a', - text: 'baaa', - flags: '', - result: [ - { - captures: [], - groups: [], - index: 1, - value: 'a', - }, - ], - }, - { - regex: '(.)(?r)', - text: 'azertyr', - flags: 'g', - result: [ - { - captures: [ - { - end: 3, - name: '1', - start: 2, - value: 'e', - }, - { - end: 4, - name: '2', - start: 3, - value: 'r', - }, - ], - groups: [ - { - end: 4, - name: 'g', - start: 3, - value: 'r', - }, - ], - index: 2, - value: 'er', - }, - { - captures: [ - { - end: 6, - name: '1', - start: 5, - value: 'y', - }, - { - end: 7, - name: '2', - start: 6, - value: 'r', - }, - ], - groups: [ - { - end: 7, - name: 'g', - start: 6, - value: 'r', - }, - ], - index: 5, - value: 'yr', - }, - ], - }, -]; - -describe('regex-tester', () => { - for (const reg of regexesData) { - const { regex, text, flags, result: expected_result } = reg; - it(`Should matchRegex("${regex}","${text}","${flags}") return correct result`, async () => { - const result = matchRegex(regex, text, `${flags}d`); - - expect(result).to.deep.equal(expected_result); - }); - } -}); diff --git a/src/tools/regex-tester/regex-tester.service.ts b/src/tools/regex-tester/regex-tester.service.ts deleted file mode 100644 index ec8682c5..00000000 --- a/src/tools/regex-tester/regex-tester.service.ts +++ /dev/null @@ -1,61 +0,0 @@ -interface RegExpGroupIndices { - [name: string]: [number, number] -} -interface RegExpIndices extends Array<[number, number]> { - groups: RegExpGroupIndices -} -interface RegExpExecArrayWithIndices extends RegExpExecArray { - indices: RegExpIndices -} -interface GroupCapture { - name: string - value: string - start: number - end: number -}; - -export function matchRegex(regex: string, text: string, flags: string) { - // if (regex === '' || text === '') { - // return []; - // } - - let lastIndex = -1; - const re = new RegExp(regex, flags); - const results = []; - let match = re.exec(text) as RegExpExecArrayWithIndices; - while (match !== null) { - if (re.lastIndex === lastIndex || match[0] === '') { - break; - } - const indices = match.indices; - const captures: Array = []; - Object.entries(match).forEach(([captureName, captureValue]) => { - if (captureName !== '0' && captureName.match(/\d+/)) { - captures.push({ - name: captureName, - value: captureValue, - start: indices[Number(captureName)][0], - end: indices[Number(captureName)][1], - }); - } - }); - const groups: Array = []; - Object.entries(match.groups || {}).forEach(([groupName, groupValue]) => { - groups.push({ - name: groupName, - value: groupValue, - start: indices.groups[groupName][0], - end: indices.groups[groupName][1], - }); - }); - results.push({ - index: match.index, - value: match[0], - captures, - groups, - }); - lastIndex = re.lastIndex; - match = re.exec(text) as RegExpExecArrayWithIndices; - } - return results; -} diff --git a/src/tools/regex-tester/regex-tester.vue b/src/tools/regex-tester/regex-tester.vue deleted file mode 100644 index a1fa7958..00000000 --- a/src/tools/regex-tester/regex-tester.vue +++ /dev/null @@ -1,193 +0,0 @@ - - - diff --git a/src/tools/roman-numeral-converter/index.ts b/src/tools/roman-numeral-converter/index.ts index 6929747f..f2dbdc0a 100644 --- a/src/tools/roman-numeral-converter/index.ts +++ b/src/tools/roman-numeral-converter/index.ts @@ -1,11 +1,10 @@ import { LetterX } from '@vicons/tabler'; import { defineTool } from '../tool'; -import { translate } from '@/plugins/i18n.plugin'; export const tool = defineTool({ - name: translate('tools.roman-numeral-converter.title'), + name: 'Roman numeral converter', path: '/roman-numeral-converter', - description: translate('tools.roman-numeral-converter.description'), + description: 'Convert Roman numerals to numbers and convert numbers to Roman numerals.', keywords: ['roman', 'arabic', 'converter', 'X', 'I', 'V', 'L', 'C', 'D', 'M'], component: () => import('./roman-numeral-converter.vue'), icon: LetterX, diff --git a/src/tools/roman-numeral-converter/roman-numeral-converter.service.test.ts b/src/tools/roman-numeral-converter/roman-numeral-converter.service.test.ts index 86dccc92..5ec9dd47 100644 --- a/src/tools/roman-numeral-converter/roman-numeral-converter.service.test.ts +++ b/src/tools/roman-numeral-converter/roman-numeral-converter.service.test.ts @@ -1,4 +1,4 @@ -import { describe, expect, it } from 'vitest'; +import { expect, describe, it } from 'vitest'; import { arabicToRoman } from './roman-numeral-converter.service'; describe('roman-numeral-converter', () => { diff --git a/src/tools/roman-numeral-converter/roman-numeral-converter.service.ts b/src/tools/roman-numeral-converter/roman-numeral-converter.service.ts index 30493919..98afec67 100644 --- a/src/tools/roman-numeral-converter/roman-numeral-converter.service.ts +++ b/src/tools/roman-numeral-converter/roman-numeral-converter.service.ts @@ -1,9 +1,7 @@ export const MIN_ARABIC_TO_ROMAN = 1; export const MAX_ARABIC_TO_ROMAN = 3999; export function arabicToRoman(num: number) { - if (num < MIN_ARABIC_TO_ROMAN || num > MAX_ARABIC_TO_ROMAN) { - return ''; - } + if (num < MIN_ARABIC_TO_ROMAN || num > MAX_ARABIC_TO_ROMAN) return ''; const lookup: { [key: string]: number } = { M: 1000, @@ -30,7 +28,7 @@ export function arabicToRoman(num: number) { return roman; } -const ROMAN_NUMBER_REGEX = /^M{0,3}(CM|CD|D?C{0,3})(XC|XL|L?X{0,3})(IX|IV|V?I{0,3})$/; +const ROMAN_NUMBER_REGEX = new RegExp(/^M{0,3}(CM|CD|D?C{0,3})(XC|XL|L?X{0,3})(IX|IV|V?I{0,3})$/); export function isValidRomanNumber(romanNumber: string) { return ROMAN_NUMBER_REGEX.test(romanNumber); diff --git a/src/tools/roman-numeral-converter/roman-numeral-converter.vue b/src/tools/roman-numeral-converter/roman-numeral-converter.vue index 498c340c..d21728e0 100644 --- a/src/tools/roman-numeral-converter/roman-numeral-converter.vue +++ b/src/tools/roman-numeral-converter/roman-numeral-converter.vue @@ -1,13 +1,43 @@ + + - - diff --git a/src/tools/safelink-decoder/index.ts b/src/tools/safelink-decoder/index.ts deleted file mode 100644 index ef865108..00000000 --- a/src/tools/safelink-decoder/index.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { Mailbox } from '@vicons/tabler'; -import { defineTool } from '../tool'; - -export const tool = defineTool({ - name: 'Outlook Safelink decoder', - path: '/safelink-decoder', - description: 'Decode Outlook SafeLink links', - keywords: ['outlook', 'safelink', 'decoder'], - component: () => import('./safelink-decoder.vue'), - icon: Mailbox, - createdAt: new Date('2024-03-11'), -}); diff --git a/src/tools/safelink-decoder/safelink-decoder.service.test.ts b/src/tools/safelink-decoder/safelink-decoder.service.test.ts deleted file mode 100644 index b601f01e..00000000 --- a/src/tools/safelink-decoder/safelink-decoder.service.test.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { describe, expect, it } from 'vitest'; -import { decodeSafeLinksURL } from './safelink-decoder.service'; - -describe('safelink-decoder', () => { - describe('decodeSafeLinksURL', () => { - describe('decode outlook safelink urls', () => { - it('should decode basic safelink urls', () => { - expect(decodeSafeLinksURL('https://aus01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.google.com%2Fsearch%3Fq%3Dsafelink%26rlz%3D1&data=05%7C02%7C%7C1ed07253975b46da1d1508dc3443752a%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C638442711583216725%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=%2BQY0HBnnxfI7pzZoxzlhZdDvYu80LwQB0zUUjrffVnk%3D&reserved=0')) - .toBe('https://www.google.com/search?q=safelink&rlz=1'); - }); - it('should decode encoded safelink urls', () => { - expect(decodeSafeLinksURL('https://aus01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.google.com%2Fsearch%3Fq%3Dsafelink%26rlz%3D1&data=05%7C02%7C%7C1ed07253975b46da1d1508dc3443752a%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C638442711583216725%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=%2BQY0HBnnxfI7pzZoxzlhZdDvYu80LwQB0zUUjrffVnk%3D&reserved=0')) - .toBe('https://www.google.com/search?q=safelink&rlz=1'); - }); - it('throw on not outlook safelink urls', () => { - expect(() => decodeSafeLinksURL('https://google.com')) - .toThrow('Invalid SafeLinks URL provided'); - }); - }); - }); -}); diff --git a/src/tools/safelink-decoder/safelink-decoder.service.ts b/src/tools/safelink-decoder/safelink-decoder.service.ts deleted file mode 100644 index 96be00ab..00000000 --- a/src/tools/safelink-decoder/safelink-decoder.service.ts +++ /dev/null @@ -1,7 +0,0 @@ -export function decodeSafeLinksURL(safeLinksUrl: string) { - if (!safeLinksUrl.match(/\.safelinks\.protection\.outlook\.com/)) { - throw new Error('Invalid SafeLinks URL provided'); - } - - return new URL(safeLinksUrl).searchParams.get('url'); -} diff --git a/src/tools/safelink-decoder/safelink-decoder.vue b/src/tools/safelink-decoder/safelink-decoder.vue deleted file mode 100644 index 01337eb2..00000000 --- a/src/tools/safelink-decoder/safelink-decoder.vue +++ /dev/null @@ -1,32 +0,0 @@ - - - diff --git a/src/tools/slugify-string/index.ts b/src/tools/slugify-string/index.ts index 1f1bfcf3..8dabcdb1 100644 --- a/src/tools/slugify-string/index.ts +++ b/src/tools/slugify-string/index.ts @@ -1,11 +1,10 @@ import { AbcRound } from '@vicons/material'; import { defineTool } from '../tool'; -import { translate } from '@/plugins/i18n.plugin'; export const tool = defineTool({ - name: translate('tools.slugify-string.title'), + name: 'Slugify string', path: '/slugify-string', - description: translate('tools.slugify-string.description'), + description: 'Make a string url, filename and id safe.', keywords: ['slugify', 'string', 'escape', 'emoji', 'special', 'character', 'space', 'trim'], component: () => import('./slugify-string.vue'), icon: AbcRound, diff --git a/src/tools/slugify-string/slugify-string.vue b/src/tools/slugify-string/slugify-string.vue index f7666e30..c4c3bd12 100644 --- a/src/tools/slugify-string/slugify-string.vue +++ b/src/tools/slugify-string/slugify-string.vue @@ -1,4 +1,26 @@ + + - + diff --git a/src/tools/sql-prettify/index.ts b/src/tools/sql-prettify/index.ts index 96bff0fe..426845fb 100644 --- a/src/tools/sql-prettify/index.ts +++ b/src/tools/sql-prettify/index.ts @@ -1,11 +1,10 @@ import { Database } from '@vicons/tabler'; import { defineTool } from '../tool'; -import { translate } from '@/plugins/i18n.plugin'; export const tool = defineTool({ - name: translate('tools.sql-prettify.title'), + name: 'SQL prettify and format', path: '/sql-prettify', - description: translate('tools.sql-prettify.description'), + description: 'Format and prettify your SQL queries online (it supports various SQL dialects).', keywords: [ 'sql', 'prettify', diff --git a/src/tools/sql-prettify/sql-prettify.vue b/src/tools/sql-prettify/sql-prettify.vue index 503cd15f..9f1e4fe9 100644 --- a/src/tools/sql-prettify/sql-prettify.vue +++ b/src/tools/sql-prettify/sql-prettify.vue @@ -1,11 +1,76 @@ + + - - diff --git a/src/tools/text-diff/index.ts b/src/tools/text-diff/index.ts deleted file mode 100644 index de124ee6..00000000 --- a/src/tools/text-diff/index.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { FileDiff } from '@vicons/tabler'; -import { defineTool } from '../tool'; -import { translate } from '@/plugins/i18n.plugin'; - -export const tool = defineTool({ - name: translate('tools.text-diff.title'), - path: '/text-diff', - description: translate('tools.text-diff.description'), - keywords: ['text', 'diff', 'compare', 'string', 'text diff', 'code'], - component: () => import('./text-diff.vue'), - icon: FileDiff, - createdAt: new Date('2023-08-16'), -}); diff --git a/src/tools/text-diff/text-diff.vue b/src/tools/text-diff/text-diff.vue deleted file mode 100644 index 990f05b1..00000000 --- a/src/tools/text-diff/text-diff.vue +++ /dev/null @@ -1,5 +0,0 @@ - diff --git a/src/tools/text-statistics/index.ts b/src/tools/text-statistics/index.ts index 23937839..def0b6d6 100644 --- a/src/tools/text-statistics/index.ts +++ b/src/tools/text-statistics/index.ts @@ -1,11 +1,10 @@ import { FileText } from '@vicons/tabler'; import { defineTool } from '../tool'; -import { translate } from '@/plugins/i18n.plugin'; export const tool = defineTool({ - name: translate('tools.text-statistics.title'), + name: 'Text statistics', path: '/text-statistics', - description: translate('tools.text-statistics.description'), + description: "Get information about a text, the amount of characters, the amount of words, it's size, ...", keywords: ['text', 'statistics', 'length', 'characters', 'count', 'size', 'bytes'], component: () => import('./text-statistics.vue'), icon: FileText, diff --git a/src/tools/text-statistics/text-statistics.service.test.ts b/src/tools/text-statistics/text-statistics.service.test.ts index 18ffc399..52606834 100644 --- a/src/tools/text-statistics/text-statistics.service.test.ts +++ b/src/tools/text-statistics/text-statistics.service.test.ts @@ -1,4 +1,4 @@ -import { describe, expect, it } from 'vitest'; +import { expect, describe, it } from 'vitest'; import { getStringSizeInBytes } from './text-statistics.service'; describe('text-statistics', () => { diff --git a/src/tools/text-statistics/text-statistics.vue b/src/tools/text-statistics/text-statistics.vue index 6aa29d4d..aa4d6840 100644 --- a/src/tools/text-statistics/text-statistics.vue +++ b/src/tools/text-statistics/text-statistics.vue @@ -1,19 +1,20 @@ + + - - diff --git a/src/tools/text-to-binary/index.ts b/src/tools/text-to-binary/index.ts deleted file mode 100644 index ce0f87ea..00000000 --- a/src/tools/text-to-binary/index.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { Binary } from '@vicons/tabler'; -import { defineTool } from '../tool'; -import { translate } from '@/plugins/i18n.plugin'; - -export const tool = defineTool({ - name: translate('tools.text-to-binary.title'), - path: '/text-to-binary', - description: translate('tools.text-to-binary.description'), - keywords: ['text', 'to', 'binary', 'converter', 'encode', 'decode', 'ascii'], - component: () => import('./text-to-binary.vue'), - icon: Binary, - createdAt: new Date('2023-10-15'), -}); diff --git a/src/tools/text-to-binary/text-to-binary.e2e.spec.ts b/src/tools/text-to-binary/text-to-binary.e2e.spec.ts deleted file mode 100644 index 2b4e4313..00000000 --- a/src/tools/text-to-binary/text-to-binary.e2e.spec.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { expect, test } from '@playwright/test'; - -test.describe('Tool - Text to ASCII binary', () => { - test.beforeEach(async ({ page }) => { - await page.goto('/text-to-binary'); - }); - - test('Has correct title', async ({ page }) => { - await expect(page).toHaveTitle('Text to ASCII binary - IT Tools'); - }); - - test('Text to binary conversion', async ({ page }) => { - await page.getByTestId('text-to-binary-input').fill('it-tools'); - const binary = await page.getByTestId('text-to-binary-output').inputValue(); - - expect(binary).toEqual('01101001 01110100 00101101 01110100 01101111 01101111 01101100 01110011'); - }); - - test('Binary to text conversion', async ({ page }) => { - await page.getByTestId('binary-to-text-input').fill('01101001 01110100 00101101 01110100 01101111 01101111 01101100 01110011'); - const text = await page.getByTestId('binary-to-text-output').inputValue(); - - expect(text).toEqual('it-tools'); - }); -}); diff --git a/src/tools/text-to-binary/text-to-binary.models.test.ts b/src/tools/text-to-binary/text-to-binary.models.test.ts deleted file mode 100644 index e4269b50..00000000 --- a/src/tools/text-to-binary/text-to-binary.models.test.ts +++ /dev/null @@ -1,32 +0,0 @@ -import { describe, expect, it } from 'vitest'; -import { convertAsciiBinaryToText, convertTextToAsciiBinary } from './text-to-binary.models'; - -describe('text-to-binary', () => { - describe('convertTextToAsciiBinary', () => { - it('a text string is converted to its ascii binary representation', () => { - expect(convertTextToAsciiBinary('A')).toBe('01000001'); - expect(convertTextToAsciiBinary('hello')).toBe('01101000 01100101 01101100 01101100 01101111'); - expect(convertTextToAsciiBinary('')).toBe(''); - }); - it('the separator between octets can be changed', () => { - expect(convertTextToAsciiBinary('hello', { separator: '' })).toBe('0110100001100101011011000110110001101111'); - }); - }); - - describe('convertAsciiBinaryToText', () => { - it('an ascii binary string is converted to its text representation', () => { - expect(convertAsciiBinaryToText('01101000 01100101 01101100 01101100 01101111')).toBe('hello'); - expect(convertAsciiBinaryToText('01000001')).toBe('A'); - expect(convertTextToAsciiBinary('')).toBe(''); - }); - - it('the given binary string is cleaned before conversion', () => { - expect(convertAsciiBinaryToText(' 01000 001garbage')).toBe('A'); - }); - - it('throws an error if the given binary string as no complete octet', () => { - expect(() => convertAsciiBinaryToText('010000011')).toThrow('Invalid binary string'); - expect(() => convertAsciiBinaryToText('1')).toThrow('Invalid binary string'); - }); - }); -}); diff --git a/src/tools/text-to-binary/text-to-binary.models.ts b/src/tools/text-to-binary/text-to-binary.models.ts deleted file mode 100644 index ad9699af..00000000 --- a/src/tools/text-to-binary/text-to-binary.models.ts +++ /dev/null @@ -1,22 +0,0 @@ -export { convertTextToAsciiBinary, convertAsciiBinaryToText }; - -function convertTextToAsciiBinary(text: string, { separator = ' ' }: { separator?: string } = {}): string { - return text - .split('') - .map(char => char.charCodeAt(0).toString(2).padStart(8, '0')) - .join(separator); -} - -function convertAsciiBinaryToText(binary: string): string { - const cleanBinary = binary.replace(/[^01]/g, ''); - - if (cleanBinary.length % 8) { - throw new Error('Invalid binary string'); - } - - return cleanBinary - .split(/(\d{8})/) - .filter(Boolean) - .map(binary => String.fromCharCode(Number.parseInt(binary, 2))) - .join(''); -} diff --git a/src/tools/text-to-binary/text-to-binary.vue b/src/tools/text-to-binary/text-to-binary.vue deleted file mode 100644 index 37aa9bea..00000000 --- a/src/tools/text-to-binary/text-to-binary.vue +++ /dev/null @@ -1,42 +0,0 @@ - - - diff --git a/src/tools/text-to-nato-alphabet/index.ts b/src/tools/text-to-nato-alphabet/index.ts index 43b72fb4..100476a0 100644 --- a/src/tools/text-to-nato-alphabet/index.ts +++ b/src/tools/text-to-nato-alphabet/index.ts @@ -1,11 +1,10 @@ import { Speakerphone } from '@vicons/tabler'; import { defineTool } from '../tool'; -import { translate } from '@/plugins/i18n.plugin'; export const tool = defineTool({ - name: translate('tools.text-to-nato-alphabet.title'), + name: 'Text to NATO alphabet', path: '/text-to-nato-alphabet', - description: translate('tools.text-to-nato-alphabet.description'), + description: 'Transform text into NATO phonetic alphabet for oral transmission.', keywords: ['string', 'nato', 'alphabet', 'phonetic', 'oral', 'transmission'], component: () => import('./text-to-nato-alphabet.vue'), icon: Speakerphone, diff --git a/src/tools/text-to-nato-alphabet/text-to-nato-alphabet.vue b/src/tools/text-to-nato-alphabet/text-to-nato-alphabet.vue index 76abbc49..aa551f5c 100644 --- a/src/tools/text-to-nato-alphabet/text-to-nato-alphabet.vue +++ b/src/tools/text-to-nato-alphabet/text-to-nato-alphabet.vue @@ -1,35 +1,30 @@ + + - + diff --git a/src/tools/text-to-unicode/index.ts b/src/tools/text-to-unicode/index.ts deleted file mode 100644 index 80396026..00000000 --- a/src/tools/text-to-unicode/index.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { TextWrap } from '@vicons/tabler'; -import { defineTool } from '../tool'; -import { translate } from '@/plugins/i18n.plugin'; - -export const tool = defineTool({ - name: translate('tools.text-to-unicode.title'), - path: '/text-to-unicode', - description: translate('tools.text-to-unicode.description'), - keywords: ['text', 'to', 'unicode'], - component: () => import('./text-to-unicode.vue'), - icon: TextWrap, - createdAt: new Date('2024-01-31'), -}); diff --git a/src/tools/text-to-unicode/text-to-unicode.e2e.spec.ts b/src/tools/text-to-unicode/text-to-unicode.e2e.spec.ts deleted file mode 100644 index 761828fd..00000000 --- a/src/tools/text-to-unicode/text-to-unicode.e2e.spec.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { expect, test } from '@playwright/test'; - -test.describe('Tool - Text to Unicode', () => { - test.beforeEach(async ({ page }) => { - await page.goto('/text-to-unicode'); - }); - - test('Has correct title', async ({ page }) => { - await expect(page).toHaveTitle('Text to Unicode - IT Tools'); - }); - - test('Text to unicode conversion', async ({ page }) => { - await page.getByTestId('text-to-unicode-input').fill('it-tools'); - const unicode = await page.getByTestId('text-to-unicode-output').inputValue(); - - expect(unicode).toEqual('it-tools'); - }); - - test('Unicode to text conversion', async ({ page }) => { - await page.getByTestId('unicode-to-text-input').fill('it-tools'); - const text = await page.getByTestId('unicode-to-text-output').inputValue(); - - expect(text).toEqual('it-tools'); - }); -}); diff --git a/src/tools/text-to-unicode/text-to-unicode.service.test.ts b/src/tools/text-to-unicode/text-to-unicode.service.test.ts deleted file mode 100644 index bda4fa7a..00000000 --- a/src/tools/text-to-unicode/text-to-unicode.service.test.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { describe, expect, it } from 'vitest'; -import { convertTextToUnicode, convertUnicodeToText } from './text-to-unicode.service'; - -describe('text-to-unicode', () => { - describe('convertTextToUnicode', () => { - it('a text string is converted to unicode representation', () => { - expect(convertTextToUnicode('A')).toBe('A'); - expect(convertTextToUnicode('linke the string convert to unicode')).toBe('linke the string convert to unicode'); - expect(convertTextToUnicode('')).toBe(''); - }); - }); - - describe('convertUnicodeToText', () => { - it('an unicode string is converted to its text representation', () => { - expect(convertUnicodeToText('A')).toBe('A'); - expect(convertUnicodeToText('linke the string convert to unicode')).toBe('linke the string convert to unicode'); - expect(convertUnicodeToText('')).toBe(''); - }); - }); -}); diff --git a/src/tools/text-to-unicode/text-to-unicode.service.ts b/src/tools/text-to-unicode/text-to-unicode.service.ts deleted file mode 100644 index e7772cf8..00000000 --- a/src/tools/text-to-unicode/text-to-unicode.service.ts +++ /dev/null @@ -1,9 +0,0 @@ -function convertTextToUnicode(text: string): string { - return text.split('').map(value => `&#${value.charCodeAt(0)};`).join(''); -} - -function convertUnicodeToText(unicodeStr: string): string { - return unicodeStr.replace(/&#(\d+);/g, (match, dec) => String.fromCharCode(dec)); -} - -export { convertTextToUnicode, convertUnicodeToText }; diff --git a/src/tools/text-to-unicode/text-to-unicode.vue b/src/tools/text-to-unicode/text-to-unicode.vue deleted file mode 100644 index be9bed86..00000000 --- a/src/tools/text-to-unicode/text-to-unicode.vue +++ /dev/null @@ -1,34 +0,0 @@ - - - diff --git a/src/tools/token-generator/index.ts b/src/tools/token-generator/index.ts index 44923e79..bed5f009 100644 --- a/src/tools/token-generator/index.ts +++ b/src/tools/token-generator/index.ts @@ -1,12 +1,12 @@ import { ArrowsShuffle } from '@vicons/tabler'; import { defineTool } from '../tool'; -import { translate } from '@/plugins/i18n.plugin'; export const tool = defineTool({ - name: translate('tools.token-generator.title'), + name: 'Token generator', path: '/token-generator', - description: translate('tools.token-generator.description'), - keywords: ['token', 'random', 'string', 'alphanumeric', 'symbols', 'number', 'letters', 'lowercase', 'uppercase', 'password'], + description: + 'Generate random string with the chars you want: uppercase or lowercase letters, numbers and/or symbols.', + keywords: ['token', 'random', 'string', 'alphanumeric', 'symbols', 'number', 'letters', 'lowercase', 'uppercase'], component: () => import('./token-generator.tool.vue'), icon: ArrowsShuffle, }); diff --git a/src/tools/token-generator/token-generator.e2e.spec.ts b/src/tools/token-generator/token-generator.e2e.spec.ts index 444c5384..905a81cc 100644 --- a/src/tools/token-generator/token-generator.e2e.spec.ts +++ b/src/tools/token-generator/token-generator.e2e.spec.ts @@ -1,4 +1,4 @@ -import { expect, test } from '@playwright/test'; +import { test, expect } from '@playwright/test'; test.describe('Tool - Token generator', () => { test.beforeEach(async ({ page }) => { diff --git a/src/tools/token-generator/token-generator.service.test.ts b/src/tools/token-generator/token-generator.service.test.ts index 604f5a89..ed9dab31 100644 --- a/src/tools/token-generator/token-generator.service.test.ts +++ b/src/tools/token-generator/token-generator.service.test.ts @@ -1,4 +1,4 @@ -import { describe, expect, it } from 'vitest'; +import { expect, describe, it } from 'vitest'; import { createToken } from './token-generator.service'; describe('token-generator', () => { diff --git a/src/tools/token-generator/token-generator.service.ts b/src/tools/token-generator/token-generator.service.ts index f928a415..f48a4deb 100644 --- a/src/tools/token-generator/token-generator.service.ts +++ b/src/tools/token-generator/token-generator.service.ts @@ -8,19 +8,21 @@ export function createToken({ length = 64, alphabet, }: { - withUppercase?: boolean - withLowercase?: boolean - withNumbers?: boolean - withSymbols?: boolean - length?: number - alphabet?: string + withUppercase?: boolean; + withLowercase?: boolean; + withNumbers?: boolean; + withSymbols?: boolean; + length?: number; + alphabet?: string; }) { - const allAlphabet = alphabet ?? [ - withUppercase ? 'ABCDEFGHIJKLMOPQRSTUVWXYZ' : '', - withLowercase ? 'abcdefghijklmopqrstuvwxyz' : '', - withNumbers ? '0123456789' : '', - withSymbols ? '.,;:!?./-"\'#{([-|\\@)]=}*+' : '', - ].join(''); + const allAlphabet = + alphabet ?? + [ + ...(withUppercase ? 'ABCDEFGHIJKLMOPQRSTUVWXYZ' : ''), + ...(withLowercase ? 'abcdefghijklmopqrstuvwxyz' : ''), + ...(withNumbers ? '0123456789' : ''), + ...(withSymbols ? '.,;:!?./-"\'#{([-|\\@)]=}*+' : ''), + ].join(''); return shuffleString(allAlphabet.repeat(length)).substring(0, length); } diff --git a/src/tools/token-generator/token-generator.tool.vue b/src/tools/token-generator/token-generator.tool.vue index fe53edcd..79f30652 100644 --- a/src/tools/token-generator/token-generator.tool.vue +++ b/src/tools/token-generator/token-generator.tool.vue @@ -1,15 +1,66 @@ + + - - - - diff --git a/src/tools/toml-to-json/index.ts b/src/tools/toml-to-json/index.ts deleted file mode 100644 index 77a1b26e..00000000 --- a/src/tools/toml-to-json/index.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { defineTool } from '../tool'; -import { translate } from '@/plugins/i18n.plugin'; - -import BracketIcon from '~icons/mdi/code-brackets'; - -export const tool = defineTool({ - name: translate('tools.toml-to-json.title'), - path: '/toml-to-json', - description: translate('tools.toml-to-json.description'), - keywords: ['toml', 'json', 'convert', 'online', 'transform', 'parser'], - component: () => import('./toml-to-json.vue'), - icon: BracketIcon, - createdAt: new Date('2023-06-23'), -}); diff --git a/src/tools/toml-to-json/toml-to-json.e2e.spec.ts b/src/tools/toml-to-json/toml-to-json.e2e.spec.ts deleted file mode 100644 index 5925c188..00000000 --- a/src/tools/toml-to-json/toml-to-json.e2e.spec.ts +++ /dev/null @@ -1,40 +0,0 @@ -import { expect, test } from '@playwright/test'; - -test.describe('Tool - TOML to JSON', () => { - test.beforeEach(async ({ page }) => { - await page.goto('/toml-to-json'); - }); - - test('Has correct title', async ({ page }) => { - await expect(page).toHaveTitle('TOML to JSON - IT Tools'); - }); - - test('TOML is parsed and outputs clean JSON', async ({ page }) => { - await page.getByTestId('input').fill(` -foo = "bar" - -# This is a comment - -[list] - name = "item" -[list.another] - key = "value" - `.trim()); - - const generatedJson = await page.getByTestId('area-content').innerText(); - - expect(generatedJson.trim()).toEqual( - ` -{ - "foo": "bar", - "list": { - "name": "item", - "another": { - "key": "value" - } - } -} - `.trim(), - ); - }); -}); diff --git a/src/tools/toml-to-json/toml-to-json.vue b/src/tools/toml-to-json/toml-to-json.vue deleted file mode 100644 index 8c6dbfe2..00000000 --- a/src/tools/toml-to-json/toml-to-json.vue +++ /dev/null @@ -1,26 +0,0 @@ - - - diff --git a/src/tools/toml-to-json/toml.services.ts b/src/tools/toml-to-json/toml.services.ts deleted file mode 100644 index 476fda74..00000000 --- a/src/tools/toml-to-json/toml.services.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { parse as parseToml } from 'iarna-toml-esm'; -import { isNotThrowing } from '../../utils/boolean'; - -export { isValidToml }; - -function isValidToml(toml: string): boolean { - return isNotThrowing(() => parseToml(toml)); -} diff --git a/src/tools/toml-to-yaml/index.ts b/src/tools/toml-to-yaml/index.ts deleted file mode 100644 index 2ee0958b..00000000 --- a/src/tools/toml-to-yaml/index.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { defineTool } from '../tool'; -import { translate } from '@/plugins/i18n.plugin'; -import BracketIcon from '~icons/mdi/code-brackets'; - -export const tool = defineTool({ - name: translate('tools.toml-to-yaml.title'), - path: '/toml-to-yaml', - description: translate('tools.toml-to-yaml.description'), - keywords: ['toml', 'yaml', 'convert', 'online', 'transform', 'parse'], - component: () => import('./toml-to-yaml.vue'), - icon: BracketIcon, - createdAt: new Date('2023-06-23'), -}); diff --git a/src/tools/toml-to-yaml/toml-to-yaml.e2e.spec.ts b/src/tools/toml-to-yaml/toml-to-yaml.e2e.spec.ts deleted file mode 100644 index 87fd20a9..00000000 --- a/src/tools/toml-to-yaml/toml-to-yaml.e2e.spec.ts +++ /dev/null @@ -1,36 +0,0 @@ -import { expect, test } from '@playwright/test'; - -test.describe('Tool - TOML to YAML', () => { - test.beforeEach(async ({ page }) => { - await page.goto('/toml-to-yaml'); - }); - - test('Has correct title', async ({ page }) => { - await expect(page).toHaveTitle('TOML to YAML - IT Tools'); - }); - - test('TOML is parsed and outputs clean YAML', async ({ page }) => { - await page.getByTestId('input').fill(` -foo = "bar" - -# This is a comment - -[list] - name = "item" -[list.another] - key = "value" - `.trim()); - - const generatedJson = await page.getByTestId('area-content').innerText(); - - expect(generatedJson.trim()).toEqual( - ` -foo: bar -list: - name: item - another: - key: value - `.trim(), - ); - }); -}); diff --git a/src/tools/toml-to-yaml/toml-to-yaml.vue b/src/tools/toml-to-yaml/toml-to-yaml.vue deleted file mode 100644 index ec4e0158..00000000 --- a/src/tools/toml-to-yaml/toml-to-yaml.vue +++ /dev/null @@ -1,27 +0,0 @@ - - - diff --git a/src/tools/tools.store.ts b/src/tools/tools.store.ts index fb12450d..2b0826c1 100644 --- a/src/tools/tools.store.ts +++ b/src/tools/tools.store.ts @@ -1,67 +1,44 @@ -import { type MaybeRef, get, useStorage } from '@vueuse/core'; +import { get, useStorage, type MaybeRef } from '@vueuse/core'; import { defineStore } from 'pinia'; import type { Ref } from 'vue'; -import _ from 'lodash'; -import type { Tool, ToolCategory, ToolWithCategory } from './tools.types'; import { toolsWithCategory } from './index'; +import type { Tool, ToolWithCategory } from './tools.types'; -export const useToolStore = defineStore('tools', () => { - const favoriteToolsName = useStorage('favoriteToolsName', []) as Ref; - const { t } = useI18n(); +export const useToolStore = defineStore('tools', { + state: () => ({ + favoriteToolsName: useStorage('favoriteToolsName', []) as Ref, + }), + getters: { + favoriteTools(state) { + return state.favoriteToolsName + .map((favoriteName) => toolsWithCategory.find(({ name }) => name === favoriteName)) + .filter(Boolean) as ToolWithCategory[]; // cast because .filter(Boolean) does not remove undefined from type + }, - const tools = computed(() => toolsWithCategory.map((tool) => { - const toolI18nKey = tool.path.replace(/\//g, ''); + notFavoriteTools(state): ToolWithCategory[] { + return toolsWithCategory.filter((tool) => !state.favoriteToolsName.includes(tool.name)); + }, - return ({ - ...tool, - path: tool.path, - name: t(`tools.${toolI18nKey}.title`, tool.name), - description: t(`tools.${toolI18nKey}.description`, tool.description), - category: t(`tools.categories.${tool.category.toLowerCase()}`, tool.category), - }); - })); + tools(): ToolWithCategory[] { + return toolsWithCategory; + }, - const toolsByCategory = computed(() => { - return _.chain(tools.value) - .groupBy('category') - .map((components, name, path) => ({ - name, - path, - components, - })) - .value(); - }); - - const favoriteTools = computed(() => { - return favoriteToolsName.value - .map(favoriteName => tools.value.find(({ name, path }) => name === favoriteName || path === favoriteName)) - .filter(Boolean) as ToolWithCategory[]; // cast because .filter(Boolean) does not remove undefined from type - }); - - return { - tools, - favoriteTools, - toolsByCategory, - newTools: computed(() => tools.value.filter(({ isNew }) => isNew)), + newTools(): ToolWithCategory[] { + return this.tools.filter(({ isNew }) => isNew); + }, + }, + actions: { addToolToFavorites({ tool }: { tool: MaybeRef }) { - const toolPath = get(tool).path; - if (toolPath) { - favoriteToolsName.value.push(toolPath); - } + this.favoriteToolsName.push(get(tool).name); }, removeToolFromFavorites({ tool }: { tool: MaybeRef }) { - favoriteToolsName.value = favoriteToolsName.value.filter(name => get(tool).name !== name && get(tool).path !== name); + this.favoriteToolsName = this.favoriteToolsName.filter((name) => get(tool).name !== name); }, isToolFavorite({ tool }: { tool: MaybeRef }) { - return favoriteToolsName.value.includes(get(tool).name) - || favoriteToolsName.value.includes(get(tool).path); + return this.favoriteToolsName.includes(get(tool).name); }, - - updateFavoriteTools(newOrder: ToolWithCategory[]) { - favoriteToolsName.value = newOrder.map(tool => tool.path); - }, - }; + }, }); diff --git a/src/tools/tools.types.ts b/src/tools/tools.types.ts index dcef8543..48f60629 100644 --- a/src/tools/tools.types.ts +++ b/src/tools/tools.types.ts @@ -1,20 +1,20 @@ import type { Component } from 'vue'; -export interface Tool { - name: string - path: string - description: string - keywords: string[] - component: () => Promise - icon: Component - redirectFrom?: string[] - isNew: boolean - createdAt?: Date -} +export type Tool = { + name: string; + path: string; + description: string; + keywords: string[]; + component: () => Promise; + icon: Component; + redirectFrom?: string[]; + isNew: boolean; + createdAt?: Date; +}; -export interface ToolCategory { - name: string - components: Tool[] -} +export type ToolCategory = { + name: string; + components: Tool[]; +}; export type ToolWithCategory = Tool & { category: string }; diff --git a/src/tools/ulid-generator/index.ts b/src/tools/ulid-generator/index.ts deleted file mode 100644 index c12679a7..00000000 --- a/src/tools/ulid-generator/index.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { SortDescendingNumbers } from '@vicons/tabler'; -import { defineTool } from '../tool'; -import { translate } from '@/plugins/i18n.plugin'; - -export const tool = defineTool({ - name: translate('tools.ulid-generator.title'), - path: '/ulid-generator', - description: translate('tools.ulid-generator.description'), - keywords: ['ulid', 'generator', 'random', 'id', 'alphanumeric', 'identity', 'token', 'string', 'identifier', 'unique'], - component: () => import('./ulid-generator.vue'), - icon: SortDescendingNumbers, - createdAt: new Date('2023-09-11'), -}); diff --git a/src/tools/ulid-generator/ulid-generator.e2e.spec.ts b/src/tools/ulid-generator/ulid-generator.e2e.spec.ts deleted file mode 100644 index 34473376..00000000 --- a/src/tools/ulid-generator/ulid-generator.e2e.spec.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { expect, test } from '@playwright/test'; - -const ULID_REGEX = /[0-9A-Z]{26}/; - -test.describe('Tool - ULID generator', () => { - test.beforeEach(async ({ page }) => { - await page.goto('/ulid-generator'); - }); - - test('Has correct title', async ({ page }) => { - await expect(page).toHaveTitle('ULID generator - IT Tools'); - }); - - test('the refresh button generates a new ulid', async ({ page }) => { - const ulid = await page.getByTestId('ulids').textContent(); - expect(ulid?.trim()).toMatch(ULID_REGEX); - - await page.getByTestId('refresh').click(); - const newUlid = await page.getByTestId('ulids').textContent(); - expect(ulid?.trim()).not.toBe(newUlid?.trim()); - expect(newUlid?.trim()).toMatch(ULID_REGEX); - }); -}); diff --git a/src/tools/ulid-generator/ulid-generator.vue b/src/tools/ulid-generator/ulid-generator.vue deleted file mode 100644 index 06e695ef..00000000 --- a/src/tools/ulid-generator/ulid-generator.vue +++ /dev/null @@ -1,46 +0,0 @@ - - - diff --git a/src/tools/url-encoder/index.ts b/src/tools/url-encoder/index.ts index ab85118c..bd19b890 100644 --- a/src/tools/url-encoder/index.ts +++ b/src/tools/url-encoder/index.ts @@ -1,11 +1,10 @@ import { Link } from '@vicons/tabler'; import { defineTool } from '../tool'; -import { translate } from '@/plugins/i18n.plugin'; export const tool = defineTool({ - name: translate('tools.url-encoder.title'), + name: 'Encode/decode url formatted strings', path: '/url-encoder', - description: translate('tools.url-encoder.description'), + description: 'Encode to url-encoded format (also known as "percent-encoded") or decode from it.', keywords: ['url', 'encode', 'decode', 'percent', '%20', 'format'], component: () => import('./url-encoder.vue'), icon: Link, diff --git a/src/tools/url-encoder/url-encoder.vue b/src/tools/url-encoder/url-encoder.vue index 19025190..33e5ee57 100644 --- a/src/tools/url-encoder/url-encoder.vue +++ b/src/tools/url-encoder/url-encoder.vue @@ -1,8 +1,68 @@ + + - - diff --git a/src/tools/url-parser/index.ts b/src/tools/url-parser/index.ts index 77976a24..d1c8dfe8 100644 --- a/src/tools/url-parser/index.ts +++ b/src/tools/url-parser/index.ts @@ -1,11 +1,11 @@ import { Unlink } from '@vicons/tabler'; import { defineTool } from '../tool'; -import { translate } from '@/plugins/i18n.plugin'; export const tool = defineTool({ - name: translate('tools.url-parser.title'), + name: 'Url parser', path: '/url-parser', - description: translate('tools.url-parser.description'), + description: + 'Parse an url string to get all the different parts (protocol, origin, params, port, username-password, ...)', keywords: ['url', 'parser', 'protocol', 'origin', 'params', 'port', 'username', 'password', 'href'], component: () => import('./url-parser.vue'), icon: Unlink, diff --git a/src/tools/url-parser/url-parser.vue b/src/tools/url-parser/url-parser.vue index 0799682f..ac80f61e 100644 --- a/src/tools/url-parser/url-parser.vue +++ b/src/tools/url-parser/url-parser.vue @@ -1,17 +1,51 @@ + + - - diff --git a/src/tools/user-agent-parser/user-agent-result-cards.vue b/src/tools/user-agent-parser/user-agent-result-cards.vue index 77502df0..ba309252 100644 --- a/src/tools/user-agent-parser/user-agent-result-cards.vue +++ b/src/tools/user-agent-parser/user-agent-result-cards.vue @@ -1,40 +1,48 @@ - - + + diff --git a/src/tools/uuid-generator/index.ts b/src/tools/uuid-generator/index.ts index 54ec479f..2b4b3d34 100644 --- a/src/tools/uuid-generator/index.ts +++ b/src/tools/uuid-generator/index.ts @@ -1,12 +1,12 @@ import { Fingerprint } from '@vicons/tabler'; import { defineTool } from '../tool'; -import { translate } from '@/plugins/i18n.plugin'; export const tool = defineTool({ - name: translate('tools.uuid-generator.title'), + name: 'UUIDs v4 generator', path: '/uuid-generator', - description: translate('tools.uuid-generator.description'), - keywords: ['uuid', 'v4', 'random', 'id', 'alphanumeric', 'identity', 'token', 'string', 'identifier', 'unique', 'v1', 'v3', 'v5', 'nil'], + description: + 'A universally unique identifier (UUID) is a 128-bit number used to identify information in computer systems. The number of possible UUIDs is 16^32, which is 2^128 or about 3.4x10^38 (which is a lot !).', + keywords: ['uuid', 'v4', 'random', 'id', 'alphanumeric', 'identity', 'token', 'string', 'identifier', 'unique'], component: () => import('./uuid-generator.vue'), icon: Fingerprint, }); diff --git a/src/tools/uuid-generator/uuid-generator.vue b/src/tools/uuid-generator/uuid-generator.vue index 22b32ba3..b2c74134 100644 --- a/src/tools/uuid-generator/uuid-generator.vue +++ b/src/tools/uuid-generator/uuid-generator.vue @@ -1,125 +1,40 @@ + + - - - - diff --git a/src/tools/wifi-qr-code-generator/index.ts b/src/tools/wifi-qr-code-generator/index.ts deleted file mode 100644 index b59b95df..00000000 --- a/src/tools/wifi-qr-code-generator/index.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { Qrcode } from '@vicons/tabler'; -import { defineTool } from '../tool'; -import { translate } from '@/plugins/i18n.plugin'; - -export const tool = defineTool({ - name: translate('tools.wifi-qrcode-generator.title'), - path: '/wifi-qrcode-generator', - description: translate('tools.wifi-qrcode-generator.description'), - keywords: ['qr', 'code', 'generator', 'square', 'color', 'link', 'low', 'medium', 'quartile', 'high', 'transparent', 'wifi'], - component: () => import('./wifi-qr-code-generator.vue'), - icon: Qrcode, - createdAt: new Date('2023-09-06'), -}); diff --git a/src/tools/wifi-qr-code-generator/useQRCode.ts b/src/tools/wifi-qr-code-generator/useQRCode.ts deleted file mode 100644 index c8a7215c..00000000 --- a/src/tools/wifi-qr-code-generator/useQRCode.ts +++ /dev/null @@ -1,146 +0,0 @@ -import { type MaybeRef, get } from '@vueuse/core'; -import QRCode, { type QRCodeToDataURLOptions } from 'qrcode'; -import { isRef, ref, watch } from 'vue'; - -export const wifiEncryptions = ['WEP', 'WPA', 'nopass', 'WPA2-EAP'] as const; -export type WifiEncryption = typeof wifiEncryptions[number]; - -// @see https://en.wikipedia.org/wiki/Extensible_Authentication_Protocol -// for a list of available EAP methods. There are a lot (40!) of them. -export const EAPMethods = [ - 'MD5', - 'POTP', - 'GTC', - 'TLS', - 'IKEv2', - 'SIM', - 'AKA', - 'AKA\'', - 'TTLS', - 'PWD', - 'LEAP', - 'PSK', - 'FAST', - 'TEAP', - 'EKE', - 'NOOB', - 'PEAP', -] as const; -export type EAPMethod = typeof EAPMethods[number]; - -export const EAPPhase2Methods = [ - 'None', - 'MSCHAPV2', -] as const; -export type EAPPhase2Method = typeof EAPPhase2Methods[number]; - -interface IWifiQRCodeOptions { - ssid: MaybeRef - password: MaybeRef - eapMethod: MaybeRef - isHiddenSSID: MaybeRef - eapAnonymous: MaybeRef - eapIdentity: MaybeRef - eapPhase2Method: MaybeRef - color: { foreground: MaybeRef; background: MaybeRef } - options?: QRCodeToDataURLOptions -} - -interface GetQrCodeTextOptions { - ssid: string - password: string - encryption: WifiEncryption - eapMethod: EAPMethod - isHiddenSSID: boolean - eapAnonymous: boolean - eapIdentity: string - eapPhase2Method: EAPPhase2Method -} - -function escapeString(str: string) { - // replaces \, ;, ,, " and : with the same character preceded by a backslash - return str.replace(/([\\;,:"])/g, '\\$1'); -} - -function getQrCodeText(options: GetQrCodeTextOptions): string | null { - const { ssid, password, encryption, eapMethod, isHiddenSSID, eapAnonymous, eapIdentity, eapPhase2Method } = options; - if (!ssid) { - return null; - } - if (encryption === 'nopass') { - return `WIFI:S:${escapeString(ssid)};;`; // type can be omitted in that case, and password is not needed, makes the QR Code smaller - } - if (encryption !== 'WPA2-EAP' && password) { - // EAP has a lot of options, so we'll handle it separately - // WPA and WEP are pretty simple though. - return `WIFI:S:${escapeString(ssid)};T:${encryption};P:${escapeString(password)};${isHiddenSSID ? 'H:true' : ''};`; - } - if (encryption === 'WPA2-EAP' && password && eapMethod) { - // WPA2-EAP string is a lot more complex, first off, we drop the text if there is no identity, and it's not anonymous. - if (!eapIdentity && !eapAnonymous) { - return null; - } - // From reading, I could only find that a phase 2 is required for the PEAP method, I may be wrong though, I didn't read the whole spec. - if (eapMethod === 'PEAP' && !eapPhase2Method) { - return null; - } - // The string is built in the following order: - // 1. SSID - // 2. Authentication type - // 3. Password - // 4. EAP method - // 5. EAP phase 2 method - // 6. Identity or anonymous if checked - // 7. Hidden SSID if checked - const identity = eapAnonymous ? 'A:anon' : `I:${escapeString(eapIdentity)}`; - const phase2 = eapPhase2Method !== 'None' ? `PH2:${eapPhase2Method};` : ''; - return `WIFI:S:${escapeString(ssid)};T:WPA2-EAP;P:${escapeString(password)};E:${eapMethod};${phase2}${identity};${isHiddenSSID ? 'H:true' : ''};`; - } - return null; -} - -export function useWifiQRCode({ - ssid, - password, - eapMethod, - isHiddenSSID, - eapAnonymous, - eapIdentity, - eapPhase2Method, - color: { background, foreground }, - options, -}: IWifiQRCodeOptions) { - const qrcode = ref(''); - const encryption = ref('WPA'); - - watch( - [ssid, password, encryption, eapMethod, isHiddenSSID, eapAnonymous, eapIdentity, eapPhase2Method, background, foreground].filter(isRef), - async () => { - // @see https://github.com/zxing/zxing/wiki/Barcode-Contents#wi-fi-network-config-android-ios-11 - // This is the full spec, there's quite a bit of logic to generate the string embeddedin the QR code. - const text = getQrCodeText({ - ssid: get(ssid), - password: get(password), - encryption: get(encryption), - eapMethod: get(eapMethod), - isHiddenSSID: get(isHiddenSSID), - eapAnonymous: get(eapAnonymous), - eapIdentity: get(eapIdentity), - eapPhase2Method: get(eapPhase2Method), - }); - if (text) { - qrcode.value = await QRCode.toDataURL(get(text).trim(), { - color: { - dark: get(foreground), - light: get(background), - ...options?.color, - }, - errorCorrectionLevel: 'M', - ...options, - }); - } - }, - { immediate: true }, - ); - return { qrcode, encryption }; -} diff --git a/src/tools/wifi-qr-code-generator/wifi-qr-code-generator.vue b/src/tools/wifi-qr-code-generator/wifi-qr-code-generator.vue deleted file mode 100644 index e6320d3e..00000000 --- a/src/tools/wifi-qr-code-generator/wifi-qr-code-generator.vue +++ /dev/null @@ -1,153 +0,0 @@ - - - diff --git a/src/tools/xml-formatter/index.ts b/src/tools/xml-formatter/index.ts deleted file mode 100644 index 7aa096da..00000000 --- a/src/tools/xml-formatter/index.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { Code } from '@vicons/tabler'; -import { defineTool } from '../tool'; -import { translate } from '@/plugins/i18n.plugin'; - -export const tool = defineTool({ - name: translate('tools.xml-formatter.title'), - path: '/xml-formatter', - description: translate('tools.xml-formatter.description'), - keywords: ['xml', 'prettify', 'format'], - component: () => import('./xml-formatter.vue'), - icon: Code, - createdAt: new Date('2023-06-17'), -}); diff --git a/src/tools/xml-formatter/xml-formatter.e2e.spec.ts b/src/tools/xml-formatter/xml-formatter.e2e.spec.ts deleted file mode 100644 index 11fbbd8e..00000000 --- a/src/tools/xml-formatter/xml-formatter.e2e.spec.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { expect, test } from '@playwright/test'; - -test.describe('Tool - XML formatter', () => { - test.beforeEach(async ({ page }) => { - await page.goto('/xml-formatter'); - }); - - test('Has correct title', async ({ page }) => { - await expect(page).toHaveTitle('XML formatter - IT Tools'); - }); - - test('XML is converted into a human readable format', async ({ page }) => { - await page.getByTestId('input').fill('bazbaz'); - - const formattedXml = await page.getByTestId('area-content').innerText(); - - expect(formattedXml.trim()).toEqual(` - - baz - baz -`.trim()); - }); -}); diff --git a/src/tools/xml-formatter/xml-formatter.service.test.ts b/src/tools/xml-formatter/xml-formatter.service.test.ts deleted file mode 100644 index 2b14558c..00000000 --- a/src/tools/xml-formatter/xml-formatter.service.test.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { describe, expect, it } from 'vitest'; -import { formatXml } from './xml-formatter.service'; - -describe('xml-formatter service', () => { - describe('formatXml', () => { - it('converts XML into a human readable format', () => { - const initString = 'foobar'; - - expect(formatXml(initString)).toMatchInlineSnapshot(` - " - - foo - - - bar - - " - `); - }); - - it('returns an empty string if the input is not valid XML', () => { - const initString = 'hello world'; - - expect(formatXml(initString)).toEqual(''); - }); - }); -}); diff --git a/src/tools/xml-formatter/xml-formatter.service.ts b/src/tools/xml-formatter/xml-formatter.service.ts deleted file mode 100644 index 3441f0bb..00000000 --- a/src/tools/xml-formatter/xml-formatter.service.ts +++ /dev/null @@ -1,28 +0,0 @@ -import xmlFormat, { type XMLFormatterOptions } from 'xml-formatter'; -import { withDefaultOnError } from '@/utils/defaults'; - -export { formatXml, isValidXML }; - -function cleanRawXml(rawXml: string): string { - return rawXml.trim(); -} - -function formatXml(rawXml: string, options?: XMLFormatterOptions): string { - return withDefaultOnError(() => xmlFormat(cleanRawXml(rawXml), options) ?? '', ''); -} - -function isValidXML(rawXml: string): boolean { - const cleanedRawXml = cleanRawXml(rawXml); - - if (cleanedRawXml === '') { - return true; - } - - try { - xmlFormat(cleanedRawXml); - return true; - } - catch (e) { - return false; - } -} diff --git a/src/tools/xml-formatter/xml-formatter.vue b/src/tools/xml-formatter/xml-formatter.vue deleted file mode 100644 index d59cf8c7..00000000 --- a/src/tools/xml-formatter/xml-formatter.vue +++ /dev/null @@ -1,46 +0,0 @@ - - - diff --git a/src/tools/xml-to-json/index.ts b/src/tools/xml-to-json/index.ts deleted file mode 100644 index 8d83f4fe..00000000 --- a/src/tools/xml-to-json/index.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { Braces } from '@vicons/tabler'; -import { defineTool } from '../tool'; - -export const tool = defineTool({ - name: 'XML to JSON', - path: '/xml-to-json', - description: 'Convert XML to JSON', - keywords: ['xml', 'json'], - component: () => import('./xml-to-json.vue'), - icon: Braces, - createdAt: new Date('2024-08-09'), -}); diff --git a/src/tools/xml-to-json/xml-to-json.vue b/src/tools/xml-to-json/xml-to-json.vue deleted file mode 100644 index e1e5a477..00000000 --- a/src/tools/xml-to-json/xml-to-json.vue +++ /dev/null @@ -1,32 +0,0 @@ - - - diff --git a/src/tools/yaml-to-json-converter/index.ts b/src/tools/yaml-to-json-converter/index.ts index 60110f09..724ecdb7 100644 --- a/src/tools/yaml-to-json-converter/index.ts +++ b/src/tools/yaml-to-json-converter/index.ts @@ -1,11 +1,10 @@ import { AlignJustified } from '@vicons/tabler'; import { defineTool } from '../tool'; -import { translate } from '@/plugins/i18n.plugin'; export const tool = defineTool({ - name: translate('tools.yaml-to-json-converter.title'), + name: 'YAML to JSON converter', path: '/yaml-to-json-converter', - description: translate('tools.yaml-to-json-converter.description'), + description: 'Simply convert YAML to JSON with this live online converter.', keywords: ['yaml', 'to', 'json'], component: () => import('./yaml-to-json.vue'), icon: AlignJustified, diff --git a/src/tools/yaml-to-json-converter/yaml-to-json.e2e.spec.ts b/src/tools/yaml-to-json-converter/yaml-to-json.e2e.spec.ts index d6ed84c3..10db4495 100644 --- a/src/tools/yaml-to-json-converter/yaml-to-json.e2e.spec.ts +++ b/src/tools/yaml-to-json-converter/yaml-to-json.e2e.spec.ts @@ -1,4 +1,4 @@ -import { expect, test } from '@playwright/test'; +import { test, expect } from '@playwright/test'; test.describe('Tool - Yaml to json', () => { test.beforeEach(async ({ page }) => { @@ -28,53 +28,4 @@ test.describe('Tool - Yaml to json', () => { `.trim(), ); }); - - test('Yaml is parsed with merge key and output correct json', async ({ page }) => { - await page.getByTestId('input').fill(` - default: &default - name: '' - age: 0 - - person: - *default - - persons: - - <<: *default - age: 1 - - <<: *default - name: John - - { age: 3, <<: *default } - - `); - - const generatedJson = await page.getByTestId('area-content').innerText(); - - expect(generatedJson.trim()).toEqual( - ` -{ - "default": { - "name": "", - "age": 0 - }, - "person": { - "name": "", - "age": 0 - }, - "persons": [ - { - "name": "", - "age": 1 - }, - { - "name": "John", - "age": 0 - }, - { - "age": 3, - "name": "" - } - ] -}`.trim(), - ); - }); }); diff --git a/src/tools/yaml-to-json-converter/yaml-to-json.vue b/src/tools/yaml-to-json-converter/yaml-to-json.vue index 72608add..c066bdd5 100644 --- a/src/tools/yaml-to-json-converter/yaml-to-json.vue +++ b/src/tools/yaml-to-json-converter/yaml-to-json.vue @@ -1,24 +1,3 @@ - - + + + + diff --git a/src/tools/yaml-to-toml/index.ts b/src/tools/yaml-to-toml/index.ts deleted file mode 100644 index d788887e..00000000 --- a/src/tools/yaml-to-toml/index.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { AlignJustified } from '@vicons/tabler'; -import { defineTool } from '../tool'; -import { translate } from '@/plugins/i18n.plugin'; - -export const tool = defineTool({ - name: translate('tools.yaml-to-toml.title'), - path: '/yaml-to-toml', - description: translate('tools.yaml-to-toml.description'), - keywords: ['yaml', 'to', 'toml', 'convert', 'transform'], - component: () => import('./yaml-to-toml.vue'), - icon: AlignJustified, - createdAt: new Date('2023-06-23'), -}); diff --git a/src/tools/yaml-to-toml/yaml-to-toml.e2e.spec.ts b/src/tools/yaml-to-toml/yaml-to-toml.e2e.spec.ts deleted file mode 100644 index 5140678c..00000000 --- a/src/tools/yaml-to-toml/yaml-to-toml.e2e.spec.ts +++ /dev/null @@ -1,37 +0,0 @@ -import { expect, test } from '@playwright/test'; - -test.describe('Tool - YAML to TOML', () => { - test.beforeEach(async ({ page }) => { - await page.goto('/yaml-to-toml'); - }); - - test('Has correct title', async ({ page }) => { - await expect(page).toHaveTitle('YAML to TOML - IT Tools'); - }); - - test('JSON is parsed and outputs clean TOML', async ({ page }) => { - await page.getByTestId('input').fill(` -foo: bar -list: - name: item - another: - key: value - number: 1 - `.trim()); - - const generatedJson = await page.getByTestId('area-content').innerText(); - - expect(generatedJson.trim()).toEqual( - ` -foo = "bar" - -[list] -name = "item" - - [list.another] - key = "value" - number = 1 - `.trim(), - ); - }); -}); diff --git a/src/tools/yaml-to-toml/yaml-to-toml.vue b/src/tools/yaml-to-toml/yaml-to-toml.vue deleted file mode 100644 index cad72e6b..00000000 --- a/src/tools/yaml-to-toml/yaml-to-toml.vue +++ /dev/null @@ -1,28 +0,0 @@ - - - diff --git a/src/tools/yaml-viewer/index.ts b/src/tools/yaml-viewer/index.ts deleted file mode 100644 index f3043270..00000000 --- a/src/tools/yaml-viewer/index.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { AlignJustified } from '@vicons/tabler'; -import { defineTool } from '../tool'; -import { translate } from '@/plugins/i18n.plugin'; - -export const tool = defineTool({ - name: translate('tools.yaml-prettify.title'), - path: '/yaml-prettify', - description: translate('tools.yaml-prettify.description'), - keywords: ['yaml', 'viewer', 'prettify', 'format'], - component: () => import('./yaml-viewer.vue'), - icon: AlignJustified, - createdAt: new Date('2024-01-31'), -}); diff --git a/src/tools/yaml-viewer/yaml-models.ts b/src/tools/yaml-viewer/yaml-models.ts deleted file mode 100644 index 54569db8..00000000 --- a/src/tools/yaml-viewer/yaml-models.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { type MaybeRef, get } from '@vueuse/core'; - -import yaml from 'yaml'; - -export { formatYaml }; - -function formatYaml({ - rawYaml, - sortKeys = false, - indentSize = 2, -}: { - rawYaml: MaybeRef - sortKeys?: MaybeRef - indentSize?: MaybeRef -}) { - const parsedYaml = yaml.parse(get(rawYaml)); - - const formattedYAML = yaml.stringify(parsedYaml, { - sortMapEntries: get(sortKeys), - indent: get(indentSize), - }); - - return formattedYAML; -} diff --git a/src/tools/yaml-viewer/yaml-viewer.vue b/src/tools/yaml-viewer/yaml-viewer.vue deleted file mode 100644 index 3385eee2..00000000 --- a/src/tools/yaml-viewer/yaml-viewer.vue +++ /dev/null @@ -1,72 +0,0 @@ - - - - - diff --git a/src/ui/c-alert/c-alert.demo.vue b/src/ui/c-alert/c-alert.demo.vue deleted file mode 100644 index 69f3ea46..00000000 --- a/src/ui/c-alert/c-alert.demo.vue +++ /dev/null @@ -1,19 +0,0 @@ - - - diff --git a/src/ui/c-alert/c-alert.theme.ts b/src/ui/c-alert/c-alert.theme.ts deleted file mode 100644 index 2176a102..00000000 --- a/src/ui/c-alert/c-alert.theme.ts +++ /dev/null @@ -1,37 +0,0 @@ -import { darken } from '../color/color.models'; -import { defineThemes } from '../theme/theme.models'; -import { appThemes } from '../theme/themes'; - -import WarningIcon from '~icons/mdi/alert-circle-outline'; -import ErrorIcon from '~icons/mdi/close-circle-outline'; - -export const { useTheme } = defineThemes({ - dark: { - warning: { - backgroundColor: appThemes.dark.warning.colorFaded, - borderColor: appThemes.dark.warning.color, - textColor: appThemes.dark.warning.color, - icon: WarningIcon, - }, - error: { - backgroundColor: appThemes.dark.error.colorFaded, - borderColor: appThemes.dark.error.color, - textColor: appThemes.dark.error.color, - icon: ErrorIcon, - }, - }, - light: { - warning: { - backgroundColor: appThemes.light.warning.colorFaded, - borderColor: appThemes.light.warning.color, - textColor: darken(appThemes.light.warning.color, 40), - icon: WarningIcon, - }, - error: { - backgroundColor: appThemes.light.error.colorFaded, - borderColor: appThemes.light.error.color, - textColor: darken(appThemes.light.error.color, 40), - icon: ErrorIcon, - }, - }, -}); diff --git a/src/ui/c-alert/c-alert.vue b/src/ui/c-alert/c-alert.vue deleted file mode 100644 index 8a3b55e8..00000000 --- a/src/ui/c-alert/c-alert.vue +++ /dev/null @@ -1,35 +0,0 @@ - - - - - diff --git a/src/ui/c-button/c-button.demo.vue b/src/ui/c-button/c-button.demo.vue index b9d011a3..988659f5 100644 --- a/src/ui/c-button/c-button.demo.vue +++ b/src/ui/c-button/c-button.demo.vue @@ -1,50 +1,29 @@ - - + + + + diff --git a/src/ui/c-button/c-button.theme.ts b/src/ui/c-button/c-button.theme.ts index 926cd110..87ad89f3 100644 --- a/src/ui/c-button/c-button.theme.ts +++ b/src/ui/c-button/c-button.theme.ts @@ -2,7 +2,7 @@ import { darken, lighten } from '../color/color.models'; import { defineThemes } from '../theme/theme.models'; import { appThemes } from '../theme/themes'; -function createState({ +const createState = ({ textColor, backgroundColor, hoverBackground, @@ -10,40 +10,23 @@ function createState({ pressedBackground, pressedTextColor = textColor, }: { - textColor: string - backgroundColor: string - hoverBackground: string - hoveredTextColor?: string - pressedBackground: string - pressedTextColor?: string -}) { - return { - textColor, - backgroundColor, - hover: { textColor: hoveredTextColor, backgroundColor: hoverBackground }, - pressed: { textColor: pressedTextColor, backgroundColor: pressedBackground }, - }; -} + textColor: string; + backgroundColor: string; + hoverBackground: string; + hoveredTextColor?: string; + pressedBackground: string; + pressedTextColor?: string; +}) => ({ + textColor, + backgroundColor, + hover: { textColor: hoveredTextColor, backgroundColor: hoverBackground }, + pressed: { textColor: pressedTextColor, backgroundColor: pressedBackground }, +}); -function createTheme({ style }: { style: 'light' | 'dark' }) { +const createTheme = ({ style }: { style: 'light' | 'dark' }) => { const theme = appThemes[style]; return { - size: { - small: { - width: '28px', - fontSize: '12px', - }, - medium: { - width: '34px', - fontSize: '14px', - }, - large: { - width: '40px', - fontSize: '16px', - }, - }, - basic: { default: createState({ textColor: theme.text.baseColor, @@ -58,16 +41,10 @@ function createTheme({ style }: { style: 'light' | 'dark' }) { pressedBackground: darken(theme.primary.colorFaded, 30), }), warning: createState({ - textColor: theme.warning.color, - backgroundColor: theme.warning.colorFaded, - hoverBackground: lighten(theme.warning.colorFaded, 30), - pressedBackground: darken(theme.warning.colorFaded, 30), - }), - error: createState({ - textColor: theme.error.color, - backgroundColor: theme.error.colorFaded, - hoverBackground: lighten(theme.error.colorFaded, 30), - pressedBackground: darken(theme.error.colorFaded, 30), + textColor: theme.text.baseColor, + backgroundColor: theme.warning.color, + hoverBackground: theme.warning.colorHover, + pressedBackground: theme.warning.colorPressed, }), }, text: { @@ -84,20 +61,14 @@ function createTheme({ style }: { style: 'light' | 'dark' }) { pressedBackground: darken(theme.primary.colorFaded, 30), }), warning: createState({ - textColor: darken(theme.warning.color, 20), - backgroundColor: 'transparent', - hoverBackground: theme.warning.colorFaded, - pressedBackground: darken(theme.warning.colorFaded, 30), - }), - error: createState({ - textColor: darken(theme.error.color, 20), - backgroundColor: 'transparent', - hoverBackground: theme.error.colorFaded, - pressedBackground: darken(theme.error.colorFaded, 30), + textColor: theme.text.baseColor, + backgroundColor: theme.warning.color, + hoverBackground: theme.warning.colorHover, + pressedBackground: theme.warning.colorPressed, }), }, }; -} +}; export const { useTheme } = defineThemes({ dark: createTheme({ style: 'dark' }), diff --git a/src/ui/c-button/c-button.vue b/src/ui/c-button/c-button.vue index 06a4786d..2cbc4fd4 100644 --- a/src/ui/c-button/c-button.vue +++ b/src/ui/c-button/c-button.vue @@ -1,18 +1,30 @@ + + - - diff --git a/src/ui/c-key-value-list/c-key-value-list-item.vue b/src/ui/c-key-value-list/c-key-value-list-item.vue deleted file mode 100644 index d21ef5d1..00000000 --- a/src/ui/c-key-value-list/c-key-value-list-item.vue +++ /dev/null @@ -1,27 +0,0 @@ - - - diff --git a/src/ui/c-key-value-list/c-key-value-list.types.ts b/src/ui/c-key-value-list/c-key-value-list.types.ts deleted file mode 100644 index 40cc4ba4..00000000 --- a/src/ui/c-key-value-list/c-key-value-list.types.ts +++ /dev/null @@ -1,9 +0,0 @@ -export interface CKeyValueListItem { - label: string - value: string | string[] | number | boolean | undefined | null - hideOnNil?: boolean - placeholder?: string - showCopyButton?: boolean -} - -export type CKeyValueListItems = CKeyValueListItem[]; diff --git a/src/ui/c-key-value-list/c-key-value-list.vue b/src/ui/c-key-value-list/c-key-value-list.vue deleted file mode 100644 index d863bd50..00000000 --- a/src/ui/c-key-value-list/c-key-value-list.vue +++ /dev/null @@ -1,21 +0,0 @@ - - - diff --git a/src/ui/c-label/c-label.types.ts b/src/ui/c-label/c-label.types.ts deleted file mode 100644 index f82ba0f3..00000000 --- a/src/ui/c-label/c-label.types.ts +++ /dev/null @@ -1,7 +0,0 @@ -export interface CLabelProps { - label?: string - labelFor?: string - labelPosition?: 'top' | 'left' - labelWidth?: string - labelAlign?: 'left' | 'right' | 'center' -} diff --git a/src/ui/c-label/c-label.vue b/src/ui/c-label/c-label.vue deleted file mode 100644 index 3e0f64dc..00000000 --- a/src/ui/c-label/c-label.vue +++ /dev/null @@ -1,32 +0,0 @@ - - - diff --git a/src/ui/c-link/c-link.demo.vue b/src/ui/c-link/c-link.demo.vue index 2573e9f0..a655f11f 100644 --- a/src/ui/c-link/c-link.demo.vue +++ b/src/ui/c-link/c-link.demo.vue @@ -1,12 +1,12 @@ + + - + diff --git a/src/ui/c-link/c-link.vue b/src/ui/c-link/c-link.vue index 828d56f1..a7d1b831 100644 --- a/src/ui/c-link/c-link.vue +++ b/src/ui/c-link/c-link.vue @@ -1,10 +1,16 @@ + + - - diff --git a/src/ui/c-select/c-select.demo.vue b/src/ui/c-select/c-select.demo.vue deleted file mode 100644 index f656c01d..00000000 --- a/src/ui/c-select/c-select.demo.vue +++ /dev/null @@ -1,51 +0,0 @@ - - - diff --git a/src/ui/c-select/c-select.theme.ts b/src/ui/c-select/c-select.theme.ts deleted file mode 100644 index d7996710..00000000 --- a/src/ui/c-select/c-select.theme.ts +++ /dev/null @@ -1,60 +0,0 @@ -import { defineThemes } from '../theme/theme.models'; -import { appThemes } from '../theme/themes'; - -const sizes = { - small: { - height: '28px', - fontSize: '12px', - }, - medium: { - height: '34px', - fontSize: '14px', - }, - large: { - height: '40px', - fontSize: '16px', - }, -}; - -export const { useTheme } = defineThemes({ - dark: { - sizes, - - backgroundColor: '#333333', - borderColor: '#333333', - dropdownShadow: 'rgba(0, 0, 0, 0.2) 0px 8px 24px', - - option: { - hover: { - backgroundColor: '#444444', - }, - active: { - textColor: appThemes.dark.primary.color, - }, - }, - - focus: { - backgroundColor: '#1ea54c1a', - }, - }, - light: { - sizes, - - backgroundColor: '#ffffff', - borderColor: '#e0e0e69e', - dropdownShadow: 'rgba(149, 157, 165, 0.2) 0px 8px 24px', - - option: { - hover: { - backgroundColor: '#eee', - }, - active: { - textColor: appThemes.light.primary.color, - }, - }, - - focus: { - backgroundColor: '#ffffff', - }, - }, -}); diff --git a/src/ui/c-select/c-select.types.ts b/src/ui/c-select/c-select.types.ts deleted file mode 100644 index 6736b84a..00000000 --- a/src/ui/c-select/c-select.types.ts +++ /dev/null @@ -1,4 +0,0 @@ -export interface CSelectOption { - label: string - value: Value -} diff --git a/src/ui/c-select/c-select.vue b/src/ui/c-select/c-select.vue deleted file mode 100644 index 7b3607c9..00000000 --- a/src/ui/c-select/c-select.vue +++ /dev/null @@ -1,264 +0,0 @@ - - - - - diff --git a/src/ui/c-table/c-table.demo.vue b/src/ui/c-table/c-table.demo.vue deleted file mode 100644 index b2cf8a77..00000000 --- a/src/ui/c-table/c-table.demo.vue +++ /dev/null @@ -1,20 +0,0 @@ - - - diff --git a/src/ui/c-table/c-table.types.ts b/src/ui/c-table/c-table.types.ts deleted file mode 100644 index 6c658f34..00000000 --- a/src/ui/c-table/c-table.types.ts +++ /dev/null @@ -1,4 +0,0 @@ -export type HeaderConfiguration = (string | { - key: string - label?: string -})[] | Record; diff --git a/src/ui/c-table/c-table.vue b/src/ui/c-table/c-table.vue deleted file mode 100644 index ef569890..00000000 --- a/src/ui/c-table/c-table.vue +++ /dev/null @@ -1,65 +0,0 @@ - - - diff --git a/src/ui/c-text-copyable/c-text-copyable.demo.vue b/src/ui/c-text-copyable/c-text-copyable.demo.vue deleted file mode 100644 index e2aeb1da..00000000 --- a/src/ui/c-text-copyable/c-text-copyable.demo.vue +++ /dev/null @@ -1,3 +0,0 @@ - diff --git a/src/ui/c-text-copyable/c-text-copyable.vue b/src/ui/c-text-copyable/c-text-copyable.vue deleted file mode 100644 index b78e4cda..00000000 --- a/src/ui/c-text-copyable/c-text-copyable.vue +++ /dev/null @@ -1,17 +0,0 @@ - - - diff --git a/src/ui/c-tooltip/c-tooltip.demo.vue b/src/ui/c-tooltip/c-tooltip.demo.vue deleted file mode 100644 index edd1364a..00000000 --- a/src/ui/c-tooltip/c-tooltip.demo.vue +++ /dev/null @@ -1,35 +0,0 @@ - - - diff --git a/src/ui/c-tooltip/c-tooltip.vue b/src/ui/c-tooltip/c-tooltip.vue deleted file mode 100644 index 0f47e711..00000000 --- a/src/ui/c-tooltip/c-tooltip.vue +++ /dev/null @@ -1,38 +0,0 @@ - - - diff --git a/src/ui/color/color.models.test.ts b/src/ui/color/color.models.test.ts index 256c1005..dc59fa87 100644 --- a/src/ui/color/color.models.test.ts +++ b/src/ui/color/color.models.test.ts @@ -1,4 +1,4 @@ -import { describe, expect, test } from 'vitest'; +import { describe, test, expect } from 'vitest'; import { darken, lighten, setOpacity } from './color.models'; describe('color models', () => { diff --git a/src/ui/color/color.models.ts b/src/ui/color/color.models.ts index 0ae38a48..5b4c79b5 100644 --- a/src/ui/color/color.models.ts +++ b/src/ui/color/color.models.ts @@ -4,7 +4,7 @@ const clampHex = (value: number) => Math.max(0, Math.min(255, Math.round(value)) function lighten(color: string, amount: number): string { const alpha = color.length === 9 ? color.slice(7) : ''; - const num = Number.parseInt(color.slice(1, 7), 16); + const num = parseInt(color.slice(1, 7), 16); const r = clampHex(((num >> 16) & 255) + amount); const g = clampHex(((num >> 8) & 255) + amount); diff --git a/src/ui/demo/demo-home.page.vue b/src/ui/demo/demo-home.page.vue deleted file mode 100644 index 29dd2ddf..00000000 --- a/src/ui/demo/demo-home.page.vue +++ /dev/null @@ -1,11 +0,0 @@ - - - diff --git a/src/ui/demo/demo-wrapper.vue b/src/ui/demo/demo-wrapper.vue index 838fffd0..cc16a00f 100644 --- a/src/ui/demo/demo-wrapper.vue +++ b/src/ui/demo/demo-wrapper.vue @@ -1,18 +1,9 @@ - - + + + + diff --git a/src/ui/demo/demo.routes.ts b/src/ui/demo/demo.routes.ts index 125ed24d..0e9a9e4e 100644 --- a/src/ui/demo/demo.routes.ts +++ b/src/ui/demo/demo.routes.ts @@ -1,16 +1,17 @@ import type { RouteRecordRaw } from 'vue-router'; -import DemoHome from './demo-home.page.vue'; -const demoPages = import.meta.glob('../*/*.demo.vue', { eager: true }); +const demoPages = import.meta.glob('../*/*.demo.vue'); -export const demoRoutes = Object.keys(demoPages).map((demoComponentPath) => { - const [, , fileName] = demoComponentPath.split('/'); - const demoComponentName = fileName.split('.').shift(); +export const demoRoutes = Object.keys(demoPages).map((path) => { + const [, , fileName] = path.split('/'); + const name = fileName.split('.').shift(); + + console.log(path); return { - path: demoComponentName, - name: demoComponentName, - component: () => import(/* @vite-ignore */ demoComponentPath), + path: name, + name, + component: () => import(/* @vite-ignore */ path), } as RouteRecordRaw; }); @@ -18,14 +19,7 @@ export const routes = [ { path: '/c-lib', name: 'c-lib', - children: [ - { - path: '', - name: 'c-lib-index', - component: DemoHome, - }, - ...demoRoutes, - ], + children: demoRoutes, component: () => import('./demo-wrapper.vue'), }, ]; diff --git a/src/ui/theme/theme.models.ts b/src/ui/theme/theme.models.ts index 5ab78d79..850afe95 100644 --- a/src/ui/theme/theme.models.ts +++ b/src/ui/theme/theme.models.ts @@ -1,4 +1,4 @@ -import { useStyleStore } from '@/stores/style.store'; +import { useThemeStore } from './theme.store'; export { defineThemes }; @@ -6,8 +6,8 @@ function defineThemes(themes: { light: Theme; dark: Theme }) { return { themes, useTheme() { - const styleStore = useStyleStore(); - return computed(() => themes[styleStore.isDarkTheme ? 'dark' : 'light']); + const themeStore = useThemeStore(); + return computed(() => themes[themeStore.themeType]); }, }; } diff --git a/src/ui/theme/theme.store.ts b/src/ui/theme/theme.store.ts new file mode 100644 index 00000000..e2457fca --- /dev/null +++ b/src/ui/theme/theme.store.ts @@ -0,0 +1,20 @@ +import { defineStore } from 'pinia'; + +export const useThemeStore = defineStore('ui-theme', { + state: () => ({ + themeType: useStorage<'dark' | 'light'>('ui-store:theme-type', 'dark') as Ref<'dark' | 'light'>, + }), + getters: { + isDarkTheme(): boolean { + return this.themeType === 'dark'; + }, + isLightTheme(): boolean { + return this.themeType === 'light'; + }, + }, + actions: { + toggleTheme() { + this.themeType = this.isDarkTheme ? 'light' : 'dark'; + }, + }, +}); diff --git a/src/ui/theme/themes.ts b/src/ui/theme/themes.ts index 2c330b03..18b2c8d0 100644 --- a/src/ui/theme/themes.ts +++ b/src/ui/theme/themes.ts @@ -2,7 +2,6 @@ import { defineThemes } from './theme.models'; export const { themes: appThemes, useTheme: useAppTheme } = defineThemes({ light: { - background: '#ffffff', text: { baseColor: '#333639', mutedColor: '#767c82', @@ -22,7 +21,6 @@ export const { themes: appThemes, useTheme: useAppTheme } = defineThemes({ color: '#f59e0b', colorHover: '#f59e0b', colorPressed: '#f59e0b', - colorFaded: '#f59e0b2f', }, success: { color: '#18a058', @@ -38,7 +36,6 @@ export const { themes: appThemes, useTheme: useAppTheme } = defineThemes({ }, }, dark: { - background: '#1e1e1e', text: { baseColor: '#ffffffd1', mutedColor: '#ffffff80', @@ -58,7 +55,6 @@ export const { themes: appThemes, useTheme: useAppTheme } = defineThemes({ color: '#f59e0b', colorHover: '#f59e0b', colorPressed: '#f59e0b', - colorFaded: '#f59e0b2f', }, success: { color: '#18a058', diff --git a/src/utils/array.ts b/src/utils/array.ts deleted file mode 100644 index 15b3506d..00000000 --- a/src/utils/array.ts +++ /dev/null @@ -1,7 +0,0 @@ -export { byOrder }; - -function byOrder({ order }: { order: 'asc' | 'desc' | null | undefined }) { - return (a: string, b: string) => { - return order === 'asc' ? a.localeCompare(b) : b.localeCompare(a); - }; -} diff --git a/src/utils/base64.test.ts b/src/utils/base64.test.ts index 51d15239..0496b797 100644 --- a/src/utils/base64.test.ts +++ b/src/utils/base64.test.ts @@ -8,38 +8,21 @@ describe('base64 utils', () => { expect(textToBase64('a')).to.eql('YQ=='); expect(textToBase64('lorem ipsum')).to.eql('bG9yZW0gaXBzdW0='); expect(textToBase64('-1')).to.eql('LTE='); - expect(textToBase64('<<>>', { makeUrlSafe: false })).to.eql('PDw8Pz8/Pz8/Pz8+Pj4='); - }); - it('should convert string into url safe base64', () => { - expect(textToBase64('', { makeUrlSafe: true })).to.eql(''); - expect(textToBase64('a', { makeUrlSafe: true })).to.eql('YQ'); - expect(textToBase64('lorem ipsum', { makeUrlSafe: true })).to.eql('bG9yZW0gaXBzdW0'); - expect(textToBase64('<<>>', { makeUrlSafe: true })).to.eql('PDw8Pz8_Pz8_Pz8-Pj4'); }); }); describe('base64ToText', () => { it('should convert base64 into text', () => { expect(base64ToText('')).to.eql(''); - expect(base64ToText('YQ==', { makeUrlSafe: false })).to.eql('a'); + expect(base64ToText('YQ==')).to.eql('a'); expect(base64ToText('bG9yZW0gaXBzdW0=')).to.eql('lorem ipsum'); expect(base64ToText('data:text/plain;base64,bG9yZW0gaXBzdW0=')).to.eql('lorem ipsum'); expect(base64ToText('LTE=')).to.eql('-1'); }); - it('should convert url safe base64 into text', () => { - expect(base64ToText('', { makeUrlSafe: true })).to.eql(''); - expect(base64ToText('YQ', { makeUrlSafe: true })).to.eql('a'); - expect(base64ToText('bG9yZW0gaXBzdW0', { makeUrlSafe: true })).to.eql('lorem ipsum'); - expect(base64ToText('data:text/plain;base64,bG9yZW0gaXBzdW0', { makeUrlSafe: true })).to.eql('lorem ipsum'); - expect(base64ToText('LTE', { makeUrlSafe: true })).to.eql('-1'); - expect(base64ToText('PDw8Pz8_Pz8_Pz8-Pj4', { makeUrlSafe: true })).to.eql('<<>>'); - }); - it('should throw for incorrect base64 string', () => { expect(() => base64ToText('a')).to.throw('Incorrect base64 string'); - // should not really be false because trimming of space is now implied - // expect(() => base64ToText(' ')).to.throw('Incorrect base64 string'); + expect(() => base64ToText(' ')).to.throw('Incorrect base64 string'); expect(() => base64ToText('é')).to.throw('Incorrect base64 string'); // missing final '=' expect(() => base64ToText('bG9yZW0gaXBzdW0')).to.throw('Incorrect base64 string'); @@ -57,17 +40,17 @@ describe('base64 utils', () => { it('should return false for incorrect base64 string', () => { expect(isValidBase64('a')).to.eql(false); + expect(isValidBase64(' ')).to.eql(false); expect(isValidBase64('é')).to.eql(false); expect(isValidBase64('data:text/plain;notbase64,YQ==')).to.eql(false); // missing final '=' expect(isValidBase64('bG9yZW0gaXBzdW0')).to.eql(false); }); - it('should return true for untrimmed correct base64 string', () => { - expect(isValidBase64('bG9yZW0gaXBzdW0= ')).to.eql(true); - expect(isValidBase64(' LTE=')).to.eql(true); - expect(isValidBase64(' YQ== ')).to.eql(true); - expect(isValidBase64(' ')).to.eql(true); + it('should return false for untrimmed correct base64 string', () => { + expect(isValidBase64('bG9yZW0gaXBzdW0= ')).to.eql(false); + expect(isValidBase64(' LTE=')).to.eql(false); + expect(isValidBase64(' YQ== ')).to.eql(false); }); }); diff --git a/src/utils/base64.ts b/src/utils/base64.ts index 44e59f41..c0ef96aa 100644 --- a/src/utils/base64.ts +++ b/src/utils/base64.ts @@ -1,26 +1,19 @@ -import { Base64 } from 'js-base64'; - export { textToBase64, base64ToText, isValidBase64, removePotentialDataAndMimePrefix }; -function textToBase64(str: string, { makeUrlSafe = false }: { makeUrlSafe?: boolean } = {}) { - const encoded = Base64.encode(str); - return makeUrlSafe ? makeUriSafe(encoded) : encoded; +function textToBase64(str: string) { + return window.btoa(str); } -function base64ToText(str: string, { makeUrlSafe = false }: { makeUrlSafe?: boolean } = {}) { - if (!isValidBase64(str, { makeUrlSafe })) { +function base64ToText(str: string) { + if (!isValidBase64(str)) { throw new Error('Incorrect base64 string'); } - let cleanStr = removePotentialDataAndMimePrefix(str); - if (makeUrlSafe) { - cleanStr = unURI(cleanStr); - } + const cleanStr = removePotentialDataAndMimePrefix(str); try { - return Base64.decode(cleanStr); - } - catch (_) { + return window.atob(cleanStr); + } catch (_) { throw new Error('Incorrect base64 string'); } } @@ -29,35 +22,12 @@ function removePotentialDataAndMimePrefix(str: string) { return str.replace(/^data:.*?;base64,/, ''); } -function isValidBase64(str: string, { makeUrlSafe = false }: { makeUrlSafe?: boolean } = {}) { - let cleanStr = removePotentialDataAndMimePrefix(str); - if (makeUrlSafe) { - cleanStr = unURI(cleanStr); - } +function isValidBase64(str: string) { + const cleanStr = removePotentialDataAndMimePrefix(str); try { - const reEncodedBase64 = Base64.fromUint8Array(Base64.toUint8Array(cleanStr)); - if (makeUrlSafe) { - return removePotentialPadding(reEncodedBase64) === cleanStr; - } - return reEncodedBase64 === cleanStr.replace(/\s/g, ''); - } - catch (err) { + return window.btoa(window.atob(cleanStr)) === cleanStr; + } catch (err) { return false; } } - -function makeUriSafe(encoded: string) { - return encoded.replace(/=/g, '').replace(/\+/g, '-').replace(/\//g, '_'); -} - -function unURI(encoded: string): string { - return encoded - .replace(/-/g, '+') - .replace(/_/g, '/') - .replace(/[^A-Za-z0-9+/]/g, ''); -} - -function removePotentialPadding(str: string) { - return str.replace(/=/g, ''); -} diff --git a/src/utils/boolean.test.ts b/src/utils/boolean.test.ts index 07daa056..57ca10a4 100644 --- a/src/utils/boolean.test.ts +++ b/src/utils/boolean.test.ts @@ -1,6 +1,6 @@ import _ from 'lodash'; import { describe, expect, it } from 'vitest'; -import { booleanToHumanReadable, isNotThrowing } from './boolean'; +import { isNotThrowing } from './boolean'; describe('boolean utils', () => { describe('isNotThrowing', () => { @@ -8,16 +8,9 @@ describe('boolean utils', () => { expect(isNotThrowing(_.noop)).to.eql(true); expect( isNotThrowing(() => { - throw new Error('message'); + throw new Error(); }), ).to.eql(false); }); }); - - describe('booleanToHumanReadable', () => { - it('should return "Yes" if the value is true and "No" otherwise', () => { - expect(booleanToHumanReadable(true)).to.eql('Yes'); - expect(booleanToHumanReadable(false)).to.eql('No'); - }); - }); }); diff --git a/src/utils/boolean.ts b/src/utils/boolean.ts index 8dca5e9b..9e842ea8 100644 --- a/src/utils/boolean.ts +++ b/src/utils/boolean.ts @@ -1,15 +1,10 @@ -export { isNotThrowing, booleanToHumanReadable }; +export { isNotThrowing }; function isNotThrowing(cb: () => unknown): boolean { try { cb(); return true; - } - catch (_) { + } catch (_) { return false; } } - -function booleanToHumanReadable(value: boolean): string { - return value ? 'Yes' : 'No'; -} diff --git a/src/utils/convert.ts b/src/utils/convert.ts index 9eac1921..c8c325fe 100644 --- a/src/utils/convert.ts +++ b/src/utils/convert.ts @@ -7,5 +7,5 @@ export function formatBytes(bytes: number, decimals = 2) { const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB']; const i = Math.floor(Math.log(bytes) / Math.log(k)); - return `${Number.parseFloat((bytes / k ** i).toFixed(decimals))} ${sizes[i]}`; + return parseFloat((bytes / Math.pow(k, i)).toFixed(decimals)) + ' ' + sizes[i]; } diff --git a/src/utils/defaults.test.ts b/src/utils/defaults.test.ts index 50017980..b322968c 100644 --- a/src/utils/defaults.test.ts +++ b/src/utils/defaults.test.ts @@ -9,7 +9,7 @@ describe('defaults util', () => { expect( withDefaultOnError(() => { - throw new Error('message'); + throw ''; }, 'default'), ).to.eql('default'); }); diff --git a/src/utils/defaults.ts b/src/utils/defaults.ts index c988af58..1e52b495 100644 --- a/src/utils/defaults.ts +++ b/src/utils/defaults.ts @@ -3,8 +3,7 @@ export { withDefaultOnError, withDefaultOnErrorAsync }; function withDefaultOnError(cb: () => A, defaultValue: B): A | B { try { return cb(); - } - catch (_) { + } catch (_) { return defaultValue; } } @@ -12,8 +11,7 @@ function withDefaultOnError(cb: () => A, defaultValue: B): A | B { async function withDefaultOnErrorAsync(cb: () => A, defaultValue: B): Promise | B> { try { return await cb(); - } - catch (_) { + } catch (_) { return defaultValue; } } diff --git a/src/utils/error.test.ts b/src/utils/error.test.ts index 62bf272e..02728049 100644 --- a/src/utils/error.test.ts +++ b/src/utils/error.test.ts @@ -6,7 +6,6 @@ describe('error util', () => { it('get an error message if the callback throws, undefined instead', () => { expect( getErrorMessageIfThrows(() => { - // eslint-disable-next-line no-throw-literal throw 'message'; }), ).to.equal('message'); @@ -19,11 +18,11 @@ describe('error util', () => { expect( getErrorMessageIfThrows(() => { - // eslint-disable-next-line no-throw-literal throw { message: 'message' }; }), ).to.equal('message'); + // eslint-disable-next-line @typescript-eslint/no-empty-function expect(getErrorMessageIfThrows(() => {})).to.equal(undefined); }); }); diff --git a/src/utils/error.ts b/src/utils/error.ts index 297edd98..681db912 100644 --- a/src/utils/error.ts +++ b/src/utils/error.ts @@ -6,8 +6,7 @@ function getErrorMessageIfThrows(cb: () => unknown) { try { cb(); return undefined; - } - catch (err) { + } catch (err) { if (_.isString(err)) { return err; } diff --git a/src/utils/macAddress.ts b/src/utils/macAddress.ts index f55c334d..ff6000cb 100644 --- a/src/utils/macAddress.ts +++ b/src/utils/macAddress.ts @@ -1,32 +1,16 @@ -import type { Ref } from 'vue'; import { useValidation } from '@/composable/validation'; - -const macAddressValidationRules = [ - { - message: 'Invalid MAC address', - validator: (value: string) => value.trim().match(/^([0-9A-Fa-f]{2}[:-]){2,5}([0-9A-Fa-f]{2})$/), - }, -]; +import type { Ref } from 'vue'; function macAddressValidation(value: Ref) { return useValidation({ source: value, - rules: macAddressValidationRules, + rules: [ + { + message: 'Invalid MAC address', + validator: (value) => value.trim().match(/^([0-9A-Fa-f]{2}[:-]){2,5}([0-9A-Fa-f]{2})$/), + }, + ], }); } -const partialMacAddressValidationRules = [ - { - message: 'Invalid partial MAC address', - validator: (value: string) => value.trim().match(/^([0-9a-f]{2}[:\-. ]){0,5}([0-9a-f]{0,2})$/i), - }, -]; - -function usePartialMacAddressValidation(value: Ref) { - return useValidation({ - source: value, - rules: partialMacAddressValidationRules, - }); -} - -export { macAddressValidation, macAddressValidationRules, usePartialMacAddressValidation, partialMacAddressValidationRules }; +export { macAddressValidation }; diff --git a/src/utils/random.ts b/src/utils/random.ts index 02df9479..6df941db 100644 --- a/src/utils/random.ts +++ b/src/utils/random.ts @@ -5,27 +5,17 @@ const randFromArray = (array: unknown[]) => array[Math.floor(random() * array.le const randIntFromInterval = (min: number, max: number) => Math.floor(random() * (max - min) + min); // Durstenfeld shuffle -function shuffleArrayMutate(array: T[]): T[] { +const shuffleArrayMutate = (array: T[]): T[] => { for (let i = array.length - 1; i > 0; i--) { const j = Math.floor(Math.random() * (i + 1)); [array[i], array[j]] = [array[j], array[i]]; } return array; -} +}; const shuffleArray = (array: T[]): T[] => shuffleArrayMutate([...array]); const shuffleString = (str: string, delimiter = ''): string => shuffleArrayMutate(str.split(delimiter)).join(delimiter); -const generateRandomId = () => `id-${random().toString(36).substring(2, 12)}`; - -export { - randFromArray, - randIntFromInterval, - random, - shuffleArray, - shuffleArrayMutate, - shuffleString, - generateRandomId, -}; +export { randFromArray, randIntFromInterval, random, shuffleArray, shuffleArrayMutate, shuffleString }; diff --git a/tsconfig.app.json b/tsconfig.app.json index 181ee9ae..45ddfca0 100644 --- a/tsconfig.app.json +++ b/tsconfig.app.json @@ -1,20 +1,14 @@ { - "extends": "@vue/tsconfig/tsconfig.json", + "extends": "@vue/tsconfig/tsconfig.web.json", "include": ["env.d.ts", "src/**/*", "src/**/*.vue", "**/*.d.ts", "node_modules/vite-plugin-pwa/client.d.ts"], "exclude": ["src/**/__tests__/*"], "compilerOptions": { - "lib": ["ES2022"], - "target": "es2022", - "module": "es2022", - "moduleResolution": "Node", + "lib": ["ES2021"], "composite": true, "baseUrl": ".", "paths": { "@/*": ["./src/*"] }, - "types": ["naive-ui/volar", "@intlify/unplugin-vue-i18n/messages", "unplugin-icons/types/vue"], - "esModuleInterop": true, - "jsx": "preserve", - "skipLibCheck": true + "types": ["naive-ui/volar"] } } diff --git a/tsconfig.vite-config.json b/tsconfig.vite-config.json index b941809e..d20d8726 100644 --- a/tsconfig.vite-config.json +++ b/tsconfig.vite-config.json @@ -1,5 +1,5 @@ { - "extends": "@tsconfig/node18/tsconfig.json", + "extends": "@vue/tsconfig/tsconfig.node.json", "include": ["vite.config.*"], "compilerOptions": { "composite": true, diff --git a/tsconfig.vitest.json b/tsconfig.vitest.json index 0d7369ad..d080d611 100644 --- a/tsconfig.vitest.json +++ b/tsconfig.vitest.json @@ -4,6 +4,6 @@ "compilerOptions": { "composite": true, "lib": [], - "types": ["node", "jsdom", "unplugin-icons/types/vue"] + "types": ["node", "jsdom"] } } diff --git a/unocss.config.ts b/unocss.config.ts index 14ee6940..3890ad15 100644 --- a/unocss.config.ts +++ b/unocss.config.ts @@ -7,21 +7,8 @@ import { transformerVariantGroup, } from 'unocss'; -import { presetScrollbar } from 'unocss-preset-scrollbar'; - export default defineConfig({ - presets: [presetUno(), presetAttributify({ ignoreAttributes: ['size'] }), presetTypography(), presetScrollbar()], + presets: [presetUno(), presetAttributify(), presetTypography()], transformers: [transformerDirectives(), transformerVariantGroup()], - theme: { - colors: { - primary: '#1ea54c', - - }, - }, - shortcuts: { - 'pretty-scrollbar': 'scrollbar scrollbar-rounded scrollbar-thumb-color-gray-300 scrollbar-track-color-gray-100 dark:scrollbar-thumb-color-#424242 dark:scrollbar-track-color-#686868', - 'divider': 'h-1px bg-current op-10', - 'bg-surface': 'bg-#ffffff dark:bg-#232323', - 'bg-background': 'bg-#f1f5f9 dark:bg-#1c1c1c', - }, + safelist: 'prose prose-sm m-auto text-left'.split(' '), }); diff --git a/vite.config.ts b/vite.config.ts index 42a2cb29..0112ebd2 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -1,42 +1,24 @@ -import { resolve } from 'node:path'; -import { URL, fileURLToPath } from 'node:url'; +import { fileURLToPath, URL } from 'url'; -import VueI18n from '@intlify/unplugin-vue-i18n/vite'; +import { defineConfig } from 'vite'; import vue from '@vitejs/plugin-vue'; import vueJsx from '@vitejs/plugin-vue-jsx'; -import Unocss from 'unocss/vite'; -import AutoImport from 'unplugin-auto-import/vite'; -import IconsResolver from 'unplugin-icons/resolver'; -import Icons from 'unplugin-icons/vite'; -import { NaiveUiResolver } from 'unplugin-vue-components/resolvers'; -import Components from 'unplugin-vue-components/vite'; -import { defineConfig } from 'vite'; -import { VitePWA } from 'vite-plugin-pwa'; -import markdown from 'vite-plugin-vue-markdown'; +import markdown from 'vite-plugin-md'; import svgLoader from 'vite-svg-loader'; -import { configDefaults } from 'vitest/config'; - -const baseUrl = process.env.BASE_URL ?? '/'; +import { VitePWA } from 'vite-plugin-pwa'; +import AutoImport from 'unplugin-auto-import/vite'; +import Components from 'unplugin-vue-components/vite'; +import { NaiveUiResolver } from 'unplugin-vue-components/resolvers'; +import Unocss from 'unocss/vite'; // https://vitejs.dev/config/ export default defineConfig({ plugins: [ - VueI18n({ - runtimeOnly: true, - jitCompilation: true, - compositionOnly: true, - fullInstall: true, - strictMessage: false, - include: [ - resolve(__dirname, 'locales/**'), - ], - }), AutoImport({ imports: [ 'vue', 'vue-router', '@vueuse/core', - 'vue-i18n', { 'naive-ui': ['useDialog', 'useMessage', 'useNotification', 'useLoadingBar'], }, @@ -46,7 +28,7 @@ export default defineConfig({ enabled: true, }, }), - Icons({ compiler: 'vue3' }), + vue({ include: [/\.vue$/, /\.md$/], }), @@ -61,7 +43,7 @@ export default defineConfig({ description: 'Aggregated set of useful tools for developers.', display: 'standalone', lang: 'fr-FR', - start_url: `${baseUrl}?utm_source=pwa&utm_medium=pwa`, + start_url: '/?utm_source=pwa&utm_medium=pwa', orientation: 'any', theme_color: '#18a058', background_color: '#f1f5f9', @@ -94,11 +76,10 @@ export default defineConfig({ dirs: ['src/'], extensions: ['vue', 'md'], include: [/\.vue$/, /\.vue\?vue/, /\.md$/], - resolvers: [NaiveUiResolver(), IconsResolver({ prefix: 'icon' })], + resolvers: [NaiveUiResolver()], }), Unocss(), ], - base: baseUrl, resolve: { alias: { '@': fileURLToPath(new URL('./src', import.meta.url)), @@ -107,10 +88,4 @@ export default defineConfig({ define: { 'import.meta.env.PACKAGE_VERSION': JSON.stringify(process.env.npm_package_version), }, - test: { - exclude: [...configDefaults.exclude, '**/*.e2e.spec.ts'], - }, - build: { - target: 'esnext', - }, }); diff --git a/vitest.config.ts b/vitest.config.ts new file mode 100644 index 00000000..1c0d1e52 --- /dev/null +++ b/vitest.config.ts @@ -0,0 +1,13 @@ +import { configDefaults, defineConfig } from 'vitest/config'; +import path from 'path'; + +export default defineConfig({ + resolve: { + alias: { + '@': path.resolve(__dirname, './src'), + }, + }, + test: { + exclude: [...configDefaults.exclude, '**/*.e2e.spec.ts'], + }, +});