From 3b5ad1953cc1e90fda1bb83189b6f986287d157e Mon Sep 17 00:00:00 2001 From: jackiexiao <707610215@qq.com> Date: Thu, 9 May 2024 23:20:58 +0800 Subject: [PATCH] init --- .editorconfig | 9 + .eslintignore | 1 + .gitattributes | 4 + .github/FUNDING.yml | 13 + .github/workflows/preview-docs-build.yaml | 77 + .../workflows/preview-docs-deployment.yaml | 151 + ...production-deployment-to-github-pages.yaml | 67 + .github/workflows/production-deployment.yaml | 68 + .gitignore | 50 + .markdownlint.jsonc | 36 + .markdownlintignore | 2 + .vitepress/config.ts | 245 + .vitepress/creators.ts | 54 + .vitepress/docsTagsAlias.json | 1 + .vitepress/styles/kbd.css | 115 + .vitepress/styles/main.css | 277 + .vitepress/styles/vars.css | 120 + .vitepress/theme/components/AppContainer.vue | 35 + .vitepress/theme/components/DocFooter.vue | 16 + .vitepress/theme/components/HomePage.vue | 22 + .vitepress/theme/components/Share.vue | 127 + .vitepress/theme/components/TocList.vue | 47 + .vitepress/theme/index.ts | 146 + .vscode/settings.json | 41 + LICENSE | 21 + LICENSE-CC-BY-NC-SA | 437 + README.md | 22 + eslint.config.js | 10 + index.md | 41 + metadata/index.ts | 17 + netlify.toml | 4 + netlify/functions/to.ts | 86 + package.json | 79 + pnpm-lock.yaml | 8151 +++++++++++++++++ public/_redirects | 9 + public/android-chrome-192x192.png | Bin 0 -> 9445 bytes public/android-chrome-512x512.png | Bin 0 -> 27569 bytes public/apple-touch-icon.png | Bin 0 -> 7187 bytes public/browserconfig.xml | 9 + public/favicon-16x16.png | Bin 0 -> 1011 bytes public/favicon-32x32.png | Bin 0 -> 1747 bytes public/favicon.ico | Bin 0 -> 15086 bytes public/logo.svg | 1 + public/mstile-144x144.png | Bin 0 -> 7113 bytes public/mstile-150x150.png | Bin 0 -> 7093 bytes public/mstile-310x150.png | Bin 0 -> 7651 bytes public/mstile-310x310.png | Bin 0 -> 14713 bytes public/mstile-70x70.png | Bin 0 -> 4995 bytes public/obsidian-logo.svg | 1 + public/og.png | Bin 0 -> 120560 bytes public/safari-pinned-tab.svg | 36 + public/site.webmanifest | 19 + public/tengwar-annatar-glaemscrafu-bold.woff2 | Bin 0 -> 41960 bytes public/tengwar-annatar-glaemscrafu.woff2 | Bin 0 -> 41536 bytes scripts/types/metadata.d.ts | 40 + scripts/update.ts | 369 + toc.md | 7 + tsconfig.json | 34 + uno.config.ts | 23 + vite.config.ts | 62 + "\347\254\224\350\256\260/index.md" | 298 + ...37\346\210\277\346\265\201\347\250\213.md" | 62 + ...07\346\241\243\347\263\273\347\273\237.md" | 14 + ...76\350\241\250\347\273\230\345\210\266.md" | 27 + ...20\347\232\204\351\241\265\351\235\242.md" | 14 + ...76\347\232\204\351\241\265\351\235\242.md" | 15 + ...22\344\273\266\345\210\227\350\241\250.md" | 63 + 67 files changed, 11695 insertions(+) create mode 100644 .editorconfig create mode 100644 .eslintignore create mode 100644 .gitattributes create mode 100644 .github/FUNDING.yml create mode 100644 .github/workflows/preview-docs-build.yaml create mode 100644 .github/workflows/preview-docs-deployment.yaml create mode 100644 .github/workflows/production-deployment-to-github-pages.yaml create mode 100644 .github/workflows/production-deployment.yaml create mode 100644 .gitignore create mode 100644 .markdownlint.jsonc create mode 100644 .markdownlintignore create mode 100644 .vitepress/config.ts create mode 100644 .vitepress/creators.ts create mode 100644 .vitepress/docsTagsAlias.json create mode 100644 .vitepress/styles/kbd.css create mode 100644 .vitepress/styles/main.css create mode 100644 .vitepress/styles/vars.css create mode 100644 .vitepress/theme/components/AppContainer.vue create mode 100644 .vitepress/theme/components/DocFooter.vue create mode 100644 .vitepress/theme/components/HomePage.vue create mode 100644 .vitepress/theme/components/Share.vue create mode 100644 .vitepress/theme/components/TocList.vue create mode 100644 .vitepress/theme/index.ts create mode 100644 .vscode/settings.json create mode 100644 LICENSE create mode 100644 LICENSE-CC-BY-NC-SA create mode 100644 README.md create mode 100644 eslint.config.js create mode 100644 index.md create mode 100644 metadata/index.ts create mode 100644 netlify.toml create mode 100644 netlify/functions/to.ts create mode 100644 package.json create mode 100644 pnpm-lock.yaml create mode 100644 public/_redirects create mode 100644 public/android-chrome-192x192.png create mode 100644 public/android-chrome-512x512.png create mode 100644 public/apple-touch-icon.png create mode 100644 public/browserconfig.xml create mode 100644 public/favicon-16x16.png create mode 100644 public/favicon-32x32.png create mode 100644 public/favicon.ico create mode 100644 public/logo.svg create mode 100644 public/mstile-144x144.png create mode 100644 public/mstile-150x150.png create mode 100644 public/mstile-310x150.png create mode 100644 public/mstile-310x310.png create mode 100644 public/mstile-70x70.png create mode 100644 public/obsidian-logo.svg create mode 100644 public/og.png create mode 100644 public/safari-pinned-tab.svg create mode 100644 public/site.webmanifest create mode 100644 public/tengwar-annatar-glaemscrafu-bold.woff2 create mode 100644 public/tengwar-annatar-glaemscrafu.woff2 create mode 100644 scripts/types/metadata.d.ts create mode 100755 scripts/update.ts create mode 100644 toc.md create mode 100644 tsconfig.json create mode 100644 uno.config.ts create mode 100644 vite.config.ts create mode 100644 "\347\254\224\350\256\260/index.md" create mode 100644 "\347\254\224\350\256\260/\342\230\200\357\270\217 \347\224\237\346\264\273/\360\237\217\240 \347\247\237\346\210\277/\347\247\237\346\210\277\346\265\201\347\250\213.md" create mode 100644 "\347\254\224\350\256\260/\342\234\215\357\270\217 \346\226\207\346\241\243\345\267\245\347\250\213/API \346\226\207\346\241\243\347\263\273\347\273\237.md" create mode 100644 "\347\254\224\350\256\260/\342\234\215\357\270\217 \346\226\207\346\241\243\345\267\245\347\250\213/\345\233\276\350\241\250\345\215\263\344\273\243\347\240\201\357\274\210CaC\357\274\211\345\233\276\350\241\250\347\273\230\345\210\266.md" create mode 100644 "\350\247\206\345\233\276/\345\260\232\346\234\252\347\274\226\345\206\231\345\256\214\346\210\220\347\232\204\351\241\265\351\235\242.md" create mode 100644 "\350\247\206\345\233\276/\346\234\252\346\267\273\345\212\240\346\240\207\347\255\276\347\232\204\351\241\265\351\235\242.md" create mode 100644 "\360\237\224\214 \347\237\245\350\257\206\345\272\223\346\217\222\344\273\266\345\210\227\350\241\250.md" diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 00000000..9d08a1a8 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,9 @@ +root = true + +[*] +charset = utf-8 +indent_style = space +indent_size = 2 +end_of_line = lf +insert_final_newline = true +trim_trailing_whitespace = true diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 00000000..de056073 --- /dev/null +++ b/.eslintignore @@ -0,0 +1 @@ +**/*.md diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 00000000..ff374d76 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,4 @@ +*.md linguist-vendored=false +*.md linguist-generated=false +*.md linguist-documentation=false +*.md linguist-detectable=true diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml new file mode 100644 index 00000000..3fbdb280 --- /dev/null +++ b/.github/FUNDING.yml @@ -0,0 +1,13 @@ +# These are supported funding model platforms + +github: [LittleSound,nekomeowww] +# patreon: # Replace with a single Patreon username +# open_collective: # Replace with a single Open Collective username +# ko_fi: # Replace with a single Ko-fi username +# tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel +# community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry +# liberapay: # Replace with a single Liberapay username +# issuehunt: # Replace with a single IssueHunt username +# otechie: # Replace with a single Otechie username +# lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry +# custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] diff --git a/.github/workflows/preview-docs-build.yaml b/.github/workflows/preview-docs-build.yaml new file mode 100644 index 00000000..c2ad5bbe --- /dev/null +++ b/.github/workflows/preview-docs-build.yaml @@ -0,0 +1,77 @@ +name: 构建预览 + +on: + pull_request: + branches: + - main + workflow_dispatch: + +env: + STORE_PATH: '' + +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number }} + cancel-in-progress: true + +jobs: + build: + name: 构建 + + runs-on: ubuntu-latest + steps: + # This is quite weird. + # Eventhough this is the *intended* solution introduces in official blog post here + # https://securitylab.github.com/research/github-actions-preventing-pwn-requests/. + # But still, as https://github.com/orgs/community/discussions/25220#discussioncomment-7856118 stated, + # this is vulnerable since there is no source of truth about which PR in the triggered workflow. + - name: 保留 PR 信息 + run: | + echo "${{ github.event.number }}" > pr_num + + - name: 上传 PR 信息 + uses: actions/upload-artifact@v2 + with: + name: pr-num + path: ./pr_num + + - name: 签出代码 + uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - name: 安装 Node.js 20.x + uses: actions/setup-node@v3 + with: + node-version: 20.x + + - name: 安装 pnpm + uses: pnpm/action-setup@v2 + with: + run_install: false + version: 8 + + - name: 获取 pnpm store 目录 + shell: bash + run: | + echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV + + - name: 配置 pnpm 缓存 + uses: actions/cache@v3 + with: + path: ${{ env.STORE_PATH }} + key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} + restore-keys: | + ${{ runner.os }}-pnpm-store- + + - name: 安装依赖 + run: pnpm install --frozen-lockfile + + - name: 构建 + run: | + pnpm docs:build + + - name: 上传构建产物 + uses: actions/upload-artifact@v4 + with: + name: docs-build + path: .vitepress/dist diff --git a/.github/workflows/preview-docs-deployment.yaml b/.github/workflows/preview-docs-deployment.yaml new file mode 100644 index 00000000..043b31df --- /dev/null +++ b/.github/workflows/preview-docs-deployment.yaml @@ -0,0 +1,151 @@ +name: 部署预览到 Netlify + +on: + workflow_run: + workflows: + - 构建预览 + types: + - completed + workflow_dispatch: + +env: + PR_NUM: 0 + STORE_PATH: '' + NETLIFY_JSON_OUTPUT: '' + NETLIFY_URL: '' + +jobs: + on-success: + name: 部署预览到 Netlify + runs-on: ubuntu-latest + environment: + name: 预览 Preview + url: ${{ env.NETLIFY_URL }} + permissions: + pull-requests: write + if: ${{ github.event.workflow_run.conclusion == 'success' }} + steps: + - name: 下载 PR 信息 + uses: dawidd6/action-download-artifact@v3 + with: + workflow_conclusion: success + run_id: ${{ github.event.workflow_run.id }} + name: pr-num + path: pr-num + allow_forks: true + + - name: 获取 PR 信息 + id: pr-num + run: | + echo "PR_NUM=$(cat pr-num/pr_num)" >> $GITHUB_ENV + + - name: 下载构建产物 + uses: dawidd6/action-download-artifact@v3 + with: + workflow_conclusion: success + run_id: ${{ github.event.workflow_run.id }} + name: docs-build + path: docs-build + allow_forks: true + + - name: 安装 Node.js 20.x + uses: actions/setup-node@v3 + with: + node-version: 20.x + + - name: 安装 pnpm + uses: pnpm/action-setup@v2 + with: + run_install: false + version: 8 + + - name: 获取 pnpm store 目录 + shell: bash + run: | + echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV + + - name: 配置 pnpm 缓存 + uses: actions/cache@v3 + with: + path: ${{ env.STORE_PATH }} + key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} + restore-keys: | + ${{ runner.os }}-pnpm-store- + + - name: 安装 Netlify CLI + run: pnpm install -g netlify-cli + + - name: 推送到 Netlify + run: | + NETLIFY_JSON_OUTPUT=$(netlify deploy --dir docs-build --json) + echo $NETLIFY_JSON_OUTPUT + + echo "NETLIFY_JSON_OUTPUT=$(echo $NETLIFY_JSON_OUTPUT)" >> $GITHUB_ENV + echo "NETLIFY_URL=$(echo $NETLIFY_JSON_OUTPUT | jq -r .deploy_url)" >> $GITHUB_ENV + env: + NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }} + NETLIFY_SITE_ID: ${{ secrets.NETLIFY_SITE_ID }} + + - name: 搜索评论 ID + uses: peter-evans/find-comment@v2 + id: fc + with: + issue-number: ${{ env.PR_NUM }} + comment-author: 'github-actions[bot]' + body-includes: 到 Netlify + + - name: 创建或更新评论 + uses: peter-evans/create-or-update-comment@v3 + with: + comment-id: ${{ steps.fc.outputs.comment-id }} + issue-number: ${{ env.PR_NUM }} + body: | + ## ✅ 成功部署到 Netlify + + | 系统 | 状态 | 预览链接 | + |:---------|:------------|:----------------------------------| + | Ubuntu | 成功 | ${{ env.NETLIFY_URL }} | + edit-mode: replace + + on-failure: + name: 无法部署预览到 Netlify + runs-on: ubuntu-latest + permissions: + pull-requests: write + + if: ${{ github.event.workflow_run.conclusion == 'failure' }} + steps: + - name: 下载 PR 信息 + uses: dawidd6/action-download-artifact@v3 + with: + workflow_conclusion: success + run_id: ${{ github.event.workflow_run.id }} + name: pr-num + path: pr-num + allow_forks: true + + - name: 获取 PR 信息 + id: pr-num + run: | + echo "PR_NUM=$(cat pr-num/pr_num)" >> $GITHUB_ENV + + - name: 搜索评论 ID + uses: peter-evans/find-comment@v2 + id: fc + with: + issue-number: ${{ env.PR_NUM }} + comment-author: 'github-actions[bot]' + body-includes: 到 Netlify + + - name: 创建或更新评论 + uses: peter-evans/create-or-update-comment@v3 + with: + comment-id: ${{ steps.fc.outputs.comment-id }} + issue-number: ${{ env.PR_NUM }} + body: | + ## ❌ 无法部署到 Netlify + + | 系统 | 状态 | 预览链接 | + |:---------|:------------|:----------------------------------| + | Ubuntu | 失败 | 请检查工作流程运行的状态和日志。 | + edit-mode: replace diff --git a/.github/workflows/production-deployment-to-github-pages.yaml b/.github/workflows/production-deployment-to-github-pages.yaml new file mode 100644 index 00000000..c9d17b08 --- /dev/null +++ b/.github/workflows/production-deployment-to-github-pages.yaml @@ -0,0 +1,67 @@ +name: 构建并部署到 Github Pages + +on: + workflow_dispatch: + # push: + # branches: + # - 'main' + + +env: + STORE_PATH: '' + +concurrency: + group: ${{ github.ref }} + cancel-in-progress: true + +jobs: + build: + name: Ubuntu 构建和推送 + runs-on: ubuntu-latest + environment: + name: 正式 Production - GitHub Pages + url: https://nolebase.github.io/nolebase + steps: + - name: 签出代码 + uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - name: 安装 Node.js 20.x + uses: actions/setup-node@v3 + with: + node-version: 20.x + + - name: 安装 pnpm + uses: pnpm/action-setup@v2 + with: + run_install: false + version: 8 + + - name: 获取 pnpm store 目录 + shell: bash + run: | + echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV + + - name: 配置 pnpm 缓存 + uses: actions/cache@v3 + with: + path: ${{ env.STORE_PATH }} + key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} + restore-keys: | + ${{ runner.os }}-pnpm-store- + + - name: 安装依赖 + run: pnpm install --frozen-lockfile + + - name: 构建 + run: pnpm docs:build + + - name: 推送到 gh-pages 分支 + timeout-minutes: 10 + with: + token: ${{ secrets.ACCESS_TOKEN }} + BRANCH: gh-pages + FOLDER: .vitepress/dist + uses: JamesIves/github-pages-deploy-action@v4 + diff --git a/.github/workflows/production-deployment.yaml b/.github/workflows/production-deployment.yaml new file mode 100644 index 00000000..47312d5f --- /dev/null +++ b/.github/workflows/production-deployment.yaml @@ -0,0 +1,68 @@ +name: 构建并部署到 Netlify + +on: + push: + branches: + - 'main' + workflow_dispatch: + +env: + STORE_PATH: '' + +concurrency: + group: ${{ github.ref }} + cancel-in-progress: true + +jobs: + build: + name: Ubuntu 构建和推送 + runs-on: ubuntu-latest + environment: + name: 正式 Production + url: https://nolebase.ayaka.io + steps: + - name: 签出代码 + uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - name: 安装 Node.js 20.x + uses: actions/setup-node@v3 + with: + node-version: 20.x + + - name: 安装 pnpm + uses: pnpm/action-setup@v2 + with: + run_install: false + version: 8 + + - name: 获取 pnpm store 目录 + shell: bash + run: | + echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV + + - name: 配置 pnpm 缓存 + uses: actions/cache@v3 + with: + path: ${{ env.STORE_PATH }} + key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} + restore-keys: | + ${{ runner.os }}-pnpm-store- + + - name: 安装依赖 + run: pnpm install --frozen-lockfile + + - name: 构建 + run: pnpm docs:build + + - name: 安装 Netlify CLI + run: pnpm install -g netlify-cli + + - name: 推送到 Netlify + timeout-minutes: 10 + run: netlify deploy --dir .vitepress/dist --prod + env: + NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }} + NETLIFY_SITE_ID: ${{ secrets.NETLIFY_SITE_ID }} + diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..dd2ef7f9 --- /dev/null +++ b/.gitignore @@ -0,0 +1,50 @@ +.obsidian/ +.Trash/ +.trash/ +.DS_Store + +# IDE related + +.idea + +# Obsidian + +**/.obsidian/* +!**/.obsidian/workspace* +!**/.obsidian/graph* +!**/.obsidian/snippets/ + +# Temporary files + +.temp + +# Nuxt + +.nuxt + +# Node.js + +node_modules +.npmrc + +# VitePress + +**/.vitepress/dist +**/.vitepress/docsMetadata.json +**/.vitepress/cache/ + +# Netlify + +.netlify/functions-serve/* + +# Generated files + +components.d.ts + +# Local env files + +*.local + +# Logs + +*.log diff --git a/.markdownlint.jsonc b/.markdownlint.jsonc new file mode 100644 index 00000000..4843ce55 --- /dev/null +++ b/.markdownlint.jsonc @@ -0,0 +1,36 @@ +{ + // Example markdownlint JSON(C) configuration with all properties set to their default value + // Default state for all rules + "default": true, + + // Path to configuration file to extend + "extends": null, + + // MD001/heading-increment/header-increment - Heading levels should only increment by one level at a time + "MD001": false, + + // MD013/line-length - Line length + "MD013": false, + + "MD024": false, + + // MD041/first-line-heading/first-line-h1 - First line in a file should be a top-level heading + "MD041": false, + + // MD033/no-inline-html - Inline HTML + "MD033": false, + + // MD045/no-bare-urls - Images should have alternate text (alt text) + "MD045": false, + + // MD010/no-hard-tabs - Hard tabs + "MD010": false, + + // MD029/ol-prefix - Ordered list item prefix + "MD029": false, + + // MD007/ul-indent - Unordered list indentation + "MD007": false, + + "MD028": false +} diff --git a/.markdownlintignore b/.markdownlintignore new file mode 100644 index 00000000..6ed5b5b6 --- /dev/null +++ b/.markdownlintignore @@ -0,0 +1,2 @@ +CHANGELOG.md +node_modules diff --git a/.vitepress/config.ts b/.vitepress/config.ts new file mode 100644 index 00000000..3aeacff7 --- /dev/null +++ b/.vitepress/config.ts @@ -0,0 +1,245 @@ +import process from 'node:process' +import { defineConfig } from 'vitepress' +import MarkdownItFootnote from 'markdown-it-footnote' +import MarkdownItMathjax3 from 'markdown-it-mathjax3' + +import { BiDirectionalLinks } from '@nolebase/markdown-it-bi-directional-links' +import { InlineLinkPreviewElementTransform } from '@nolebase/vitepress-plugin-inline-link-preview/markdown-it' +import { buildEndGenerateOpenGraphImages } from '@nolebase/vitepress-plugin-og-image/vitepress' +import { UnlazyImages } from '@nolebase/markdown-it-unlazy-img' + +import { discordLink, githubRepoLink, siteDescription, siteName, targetDomain } from '../metadata' +import { creatorNames, creatorUsernames } from './creators' +import { sidebar } from './docsMetadata.json' + +export default defineConfig({ + vue: { + template: { + transformAssetUrls: { + video: ['src', 'poster'], + source: ['src'], + img: ['src'], + image: ['xlink:href', 'href'], + use: ['xlink:href', 'href'], + NolebaseUnlazyImg: ['src'], + }, + }, + }, + lang: 'zh-CN', + title: siteName, + description: siteDescription, + ignoreDeadLinks: true, + head: [ + ['meta', { + name: 'theme-color', + content: '#ffffff', + }], + [ + 'link', + { + rel: 'apple-touch-icon', + href: '/apple-touch-icon.png', + sizes: '180x180', + }, + ], + ['link', { + rel: 'icon', + href: '/logo.svg', + type: 'image/svg+xml', + }], + [ + 'link', + { + rel: 'alternate icon', + href: '/favicon.ico', + type: 'image/png', + sizes: '16x16', + }, + ], + ['meta', { + name: 'author', + content: creatorNames.join(', '), + }], + [ + 'meta', + { + name: 'keywords', + content: + ['markdown', 'knowledge-base', '知识库', 'vitepress', 'obsidian', 'notebook', 'notes', ...creatorUsernames].join(', '), + }, + ], + + ['meta', { + property: 'og:title', + content: siteName, + }], + [ + 'meta', + { + property: 'og:image', + content: `${targetDomain}/og.png`, + }, + ], + ['meta', { + property: 'og:description', + content: siteDescription, + }], + ['meta', { + property: 'og:site_name', + content: siteName, + }], + + ['meta', { + name: 'twitter:card', + content: 'summary_large_image', + }], + ['meta', { + name: 'twitter:creator', + content: creatorUsernames.join(', '), + }], + [ + 'meta', + { + name: 'twitter:image', + content: `${targetDomain}/og.png`, + }, + ], + + [ + 'link', + { + rel: 'mask-icon', + href: '/safari-pinned-tab.svg', + color: '#927baf', + }, + ], + ['link', { + rel: 'manifest', + href: '/site.webmanifest', + }], + ['meta', { + name: 'msapplication-TileColor', + content: '#603cba', + }], + // Proxying Plausible through Netlify | Plausible docs + // https://plausible.io/docs/proxy/guides/netlify + ['script', { 'defer': 'true', 'data-domain': 'nolebase.ayaka.io', 'data-api': '/api/v1/page-external-data/submit', 'src': '/assets/page-external-data/js/script.js' }], + ], + themeConfig: { + outline: { label: '页面大纲', level: 'deep' }, + darkModeSwitchLabel: '切换主题', + editLink: { + pattern: `${githubRepoLink}/tree/main/:path`, + text: '编辑本页面', + }, + socialLinks: [ + { icon: 'github', link: githubRepoLink }, + { icon: 'discord', link: discordLink }, + ], + footer: { + message: '用 撰写', + copyright: + 'CC BY-SA 4.0 © 2022-PRESENT Nólëbase 的创作者们', + }, + search: { + provider: 'local', + options: { + locales: { + root: { + translations: { + button: { + buttonText: '搜索文档', + buttonAriaLabel: '搜索文档', + }, + modal: { + noResultsText: '无法找到相关结果', + resetButtonTitle: '清除查询条件', + footer: { + selectText: '选择', + navigateText: '切换', + }, + }, + }, + }, + }, + + // Add title ang tags field in frontmatter to search + // You can exclude a page from search by adding search: false to the page's frontmatter. + _render(src, env, md) { + // without `md.render(src, env)`, the some information will be missing from the env. + let html = md.render(src, env) + let tagsPart = '' + let headingPart = '' + let contentPart = '' + let fullContent = '' + const sortContent = () => [headingPart, tagsPart, contentPart] as const + let { frontmatter, content } = env + + if (!frontmatter) + return html + + if (frontmatter.search === false) + return '' + + contentPart = content ||= src + + const headingMatch = content.match(/^#{1} .*/m) + const hasHeading = !!(headingMatch && headingMatch[0] && headingMatch.index !== undefined) + + if (hasHeading) { + const headingEnd = headingMatch.index! + headingMatch[0].length + headingPart = content.slice(0, headingEnd) + contentPart = content.slice(headingEnd) + } + else if (frontmatter.title) { + headingPart = `# ${frontmatter.title}` + } + + const tags = frontmatter.tags + if (tags && Array.isArray(tags) && tags.length) + tagsPart = `Tags: #${tags.join(', #')}` + + fullContent = sortContent().filter(Boolean).join('\n\n') + + html = md.render(fullContent, env) + + return html + }, + }, + }, + nav: [ + { text: '主页', link: '/' }, + { text: '笔记', link: '/笔记/' }, + { text: '最近更新', link: '/toc' }, + ], + sidebar, + }, + markdown: { + theme: { + light: 'github-light', + dark: 'one-dark-pro', + }, + math: true, + config: (md) => { + md.use(MarkdownItFootnote) + md.use(MarkdownItMathjax3) + md.use(BiDirectionalLinks({ + dir: process.cwd(), + })) + md.use(UnlazyImages(), { + imgElementTag: 'NolebaseUnlazyImg', + }) + md.use(InlineLinkPreviewElementTransform, { + tag: 'VPNolebaseInlineLinkPreview', + }) + }, + }, + async buildEnd(siteConfig) { + await buildEndGenerateOpenGraphImages({ + baseUrl: targetDomain, + category: { + byLevel: 2, + }, + })(siteConfig) + }, +}) diff --git a/.vitepress/creators.ts b/.vitepress/creators.ts new file mode 100644 index 00000000..89c69f7c --- /dev/null +++ b/.vitepress/creators.ts @@ -0,0 +1,54 @@ +export interface SocialEntry { + type: 'github' | 'twitter' | 'email' + icon: string + link: string +} + +export interface Creator { + avatar: string + name: string + username?: string + title?: string + org?: string + desc?: string + links?: SocialEntry[] + nameAliases?: string[] + emailAliases?: string[] +} + +const getAvatarUrl = (name: string) => `https://github.com/${name}.png` + +export const creators: Creator[] = [ + { + name: '絢香猫', + avatar: '', + username: 'nekomeowww', + title: 'Nólëbase 原始创作者', + desc: '开发者,专注于基础设施维护,数据分析,后端、DevOps 开发', + links: [ + { type: 'github', icon: 'github', link: 'https://github.com/nekomeowww' }, + { type: 'twitter', icon: 'twitter', link: 'https://twitter.com/ayakaneko' }, + ], + nameAliases: ['nekomeowww', '绚香猫', '絢香猫', 'Neko Ayaka', 'Ayaka Neko'], + emailAliases: ['neko@ayaka.moe'], + }, + { + name: '絢香音', + avatar: '', + username: 'LittleSound', + title: 'Nólëbase 原始创作者', + desc: '开源开发者,专注于前端,以及前端相关工具库和工具链开发', + links: [ + { type: 'github', icon: 'github', link: 'https://github.com/LittleSound' }, + { type: 'twitter', icon: 'twitter', link: 'https://twitter.com/OikawaRizumu' }, + ], + nameAliases: ['LittleSound', '绚香音', '絢香音', 'Rizumu Oikawa', 'Rizumu Ayaka', 'Ayaka Rizumu', 'Rizumu'], + emailAliases: ['rizumu@ayaka.moe', 'rizumu@oqo.moe'], + }, +].map((c) => { + c.avatar = c.avatar || getAvatarUrl(c.username) + return c as Creator +}) + +export const creatorNames = creators.map(c => c.name) +export const creatorUsernames = creators.map(c => c.username || '') diff --git a/.vitepress/docsTagsAlias.json b/.vitepress/docsTagsAlias.json new file mode 100644 index 00000000..fe51488c --- /dev/null +++ b/.vitepress/docsTagsAlias.json @@ -0,0 +1 @@ +[] diff --git a/.vitepress/styles/kbd.css b/.vitepress/styles/kbd.css new file mode 100644 index 00000000..7eac77a4 --- /dev/null +++ b/.vitepress/styles/kbd.css @@ -0,0 +1,115 @@ +/* 键盘按键样式 */ +.VPDoc kbd { + padding: 4px 8px; + font-size: 0.8rem; + cursor: pointer; + user-select: none; + position: relative; + bottom: 2px; + font-family: -apple-system,BlinkMacSystemFont,"Segoe UI Adjusted","Segoe UI","Liberation Sans",sans-serif; + font-weight: 600; +} + +.VPDoc kbd::after { + display: inline; + content: ''; + position: absolute; + left: 0; + top: 0; + height: 100%; + width: 100%; + background: hsl(0 0% 94% / 1); + box-shadow: 0px 2px 0 2px hsl(0 0% 88% / 1); + border-radius: 6px; + font-size: 0.8rem; + cursor: pointer; + user-select: none; + z-index: -1; +} + +/* 夜间模式的键盘按键样式 */ +.dark .VPDoc kbd::after { + background: #3c3c3c; + box-shadow: 0 2px 0 2px #292929; +} + +/** +图标可以在这里复制得到 +https://apple.stackexchange.com/a/123577 +*/ + +/* macOS command 图标 */ +.VPDoc kbd[data-macos-keyboard-key="command"]::before { + content: "⌘"; + vertical-align: top; + margin-right: 4px; +} + +/* macOS Option 图标 */ +.VPDoc kbd[data-macos-keyboard-key="option"]::before { + content: "⌥"; + vertical-align: top; + margin-right: 4px; +} + +.VPDoc kbd[data-windows-keyboard-key="windows"]::before { + content: "⊞"; + vertical-align: top; + margin-right: 4px; + font-size: 1.4em; +} + +.VPDoc kbd[data-keyboard-key="shift"]::before { + content: "⇧"; + vertical-align: top; + margin-right: 4px; +} + +.VPDoc kbd[data-keyboard-key="return"]::before { + content: "⏎"; + vertical-align: top; + margin-right: 4px; +} + +.VPDoc kbd[data-keyboard-key="control"]::before { + content: "⌃"; + vertical-align: top; + margin-right: 4px; +} + +.VPDoc kbd[data-keyboard-key="enter"]::before { + content: "⏎"; + vertical-align: top; + margin-right: 4px; +} + +.VPDoc kbd[data-keyboard-key="space"]::before { + content: "␣"; + vertical-align: top; + margin-right: 4px; + font-weight: bold; +} + +.VPDoc kbd[data-keyboard-key="up-arrow"]::before { + content: "↑"; + vertical-align: top; + margin-right: 4px; +} + +.VPDoc kbd[data-keyboard-key="down-arrow"]::before { + content: "↓"; + vertical-align: top; + margin-right: 4px; +} + +.VPDoc kbd[data-keyboard-key="left-arrow"]::before { + content: "←"; + vertical-align: top; + margin-right: 4px; +} + +.VPDoc kbd[data-keyboard-key="right-arrow"]::before { + content: "→"; + vertical-align: top; + margin-right: 4px; +} diff --git a/.vitepress/styles/main.css b/.vitepress/styles/main.css new file mode 100644 index 00000000..ae98db9d --- /dev/null +++ b/.vitepress/styles/main.css @@ -0,0 +1,277 @@ +@import 'kbd.css'; + +html, body { + -webkit-tap-highlight-color: transparent; /* 避免触屏下的点击高亮颜色 */ +} + +/* 参考 Vitest */ +/* fix height ~ 2 lines of text: 3 or more cards per row */ +.VPTeamMembersItem.small .profile .data .affiliation { + min-height: 3rem; +} + +.VPTeamMembersItem.small .profile .data .desc { + min-height: 3rem; +} + +/* fix height ~ 3 lines of text: 4 cards per row */ +@media (min-width: 1064px) and (max-width: 1143px) { + .VPTeamMembersItem.small .profile .data .affiliation { + min-height: 4rem; + } + + .VPTeamMembersItem.small .profile .data .desc { + min-height: 4rem; + } +} + +/* fix height ~ 3 lines of text: 3 cards per row */ +@media (min-width: 815px) and (max-width: 875px) { + .VPTeamMembersItem.small .profile .data .affiliation { + min-height: 4rem; + } + + .VPTeamMembersItem.small .profile .data .desc { + min-height: 4rem; + } +} + +/* fix height ~ 3 lines of text: 2 cards per row */ +@media (max-width: 612px) { + .VPTeamMembersItem.small .profile .data .affiliation { + min-height: 4rem; + } + + .VPTeamMembersItem.small .profile .data .desc { + min-height: 4rem; + } +} + +/* fix height: one card per row */ +@media (max-width: 568px) { + .VPTeamMembersItem.small .profile .data .affiliation { + min-height: unset; + } + + .VPTeamMembersItem.small .profile .data .desc { + min-height: unset; + } +} + +/* 覆盖 VPTeamMembers 组件内部处理的子元素包含特定 max-width 样式致使元素宽度与正文不一致的问题 */ +.vp-doc .VPTeamMembers.small.count-2 .container, +.vp-doc .VPTeamMembers.small.count-3 .container { + max-width: 1152px !important; +} + +.VPTeamMembers.medium.count-2 .container { + max-width: unset; +} + +.VPTeamMembers.small.count-2 .container { + max-width: unset; +} + +/* 标题所需要的字体 */ +@font-face { + font-family: tengwarannatar; + src: url(/tengwar-annatar-glaemscrafu.woff2) format('woff2'); + font-weight: 400; + font-style: normal; + font-display: block; +} + +/* 标题所需要的字体 */ +@font-face { + font-family: tengwarannatar-bold; + src: url(/tengwar-annatar-glaemscrafu-bold.woff2) format('woff2'); + font-weight: 400; + font-style: normal; + font-display: block; +} + +/* 首页标题样式 */ +.VPHomeHero > .container > .main > h1 { + font-size: 5rem; + font-family: 'tengwarannatar-bold'; +} + +/* 首页子标题样式 */ +.VPHomeHero > .container > .main > .text { + padding-top: 45px; + font-size: 4rem; +} + +/* 首页介绍样式 */ +.VPHomeHero > .container > .main > .tagline { + padding-top: 24px; +} + +/* 自适应样式 */ +@media (max-width: 1024px) { + /* 首页标题样式 */ + .VPHomeHero > .container > .main > h1 { + font-size: 3.5rem; + } + + /* 首页子标题样式 */ + .VPHomeHero > .container > .main > .text { + padding-top: 30px; + font-size: 3rem; + } + + /* 首页介绍样式 */ + .VPHomeHero > .container > .main > .tagline { + padding-top: 20px; + } +} + +/* 自适应样式 */ +@media (max-width: 640px) { + /* 首页标题样式 */ + .VPHomeHero > .container > .main > h1 { + font-size: 2.5rem; + } + + /* 首页子标题样式 */ + .VPHomeHero > .container > .main > .text { + padding-top: 20px; + font-size: 2rem; + } + + /* 首页介绍样式 */ + .VPHomeHero > .container > .main > .tagline { + padding-top: 20px; + } +} + +/* 主页下方的页脚透明度 */ +.VPFooter { + opacity: 0.8; +} + +/* 正文结尾的 CC 协议链接基本样式 */ +.footer-cc-link { + color: var(--vp-c-text-2); + transition: all 0.3s ease; + text-decoration: underline; + text-decoration-color: rgb(114, 114, 114); +} + +/* 正文结尾的 CC 协议链接鼠标 hover 样式 */ +.footer-cc-link:hover { + color: var(--vp-c-text-1); +} + +/* 正文结尾的 CC 协议链接暗色模式下鼠标 hover 样式 */ +.dark .footer-cc-link:hover { + color: var(--vp-c-text-1); +} + +/* 调整文档页面页脚到正文结尾的间隔距离 */ +.VPDoc .VPDocFooter { + margin-top: 32px; +} + +/* 脚注 */ +.footnotes > .footnotes-list { + margin-top: 32px; + opacity: 0.9; + font-size: 12px; + /* 确保脚注上的返回链接符号 ↩ 不会被 body 的 Emoji 字体覆盖渲染为 ↩️ */ + font-family: sans-serif; +} + +.footnotes > .footnotes-list > .footnote-item > p { + line-height: 18px; +} + +/* 覆盖正文的 h1 标题样式 */ +.vp-doc > div > h1 { + margin-bottom: 16px; +} + +.vp-doc a { + text-decoration: none; + transition: all 0.3s ease; +} + +.vp-doc a:hover { + text-decoration: underline; +} + +/** + Discord 链接按钮样式 +*/ + +.VPHero.VPHomeHero .actions a[href="https://discord.gg/XuNFDcDZGj"] { + color: white; + background-color: #404eed; +} + +.VPHero.VPHomeHero .actions a[href="https://discord.gg/XuNFDcDZGj"]:hover { + color: white; + background-color: #6975f2; +} + +.VPHero.VPHomeHero .actions a[href="https://discord.gg/XuNFDcDZGj"]:active { + color: white; + background-color: #404eed; +} + +/** + 暗色模式下 Discord 链接按钮样式 +*/ + +.dark .VPHero.VPHomeHero .actions a[href="https://discord.gg/XuNFDcDZGj"] { + color: white; + background-color: #444c9e; +} + +.dark .VPHero.VPHomeHero .actions a[href="https://discord.gg/XuNFDcDZGj"]:hover { + color: white; + background-color: #404eed; +} + +.dark .VPHero.VPHomeHero .actions a[href="https://discord.gg/XuNFDcDZGj"]:active { + color: white; + background-color: #444c9e; +} + +/** + GitHub 链接按钮样式 +*/ + +.VPHero.VPHomeHero .actions a[href="https://github.com/nolebase/integrations"] { + color: white; + background-color: #000; +} + +.VPHero.VPHomeHero .actions a[href="https://github.com/nolebase/integrations"]:hover { + color: white; + background-color: #4b4b4b; +} + +.VPHero.VPHomeHero .actions a[href="https://github.com/nolebase/integrations"]:active { + color: white; + background-color: #000; +} + +/** + 暗色模式下 GitHub 链接按钮样式 +*/ + +.dark .VPHero.VPHomeHero .actions a[href="https://github.com/nolebase/integrations"] { + color: white; + background-color: #4b4b4b; +} + +.dark .VPHero.VPHomeHero .actions a[href="https://github.com/nolebase/integrations"]:hover { + color: white; + background-color: #252525; +} + +.dark .VPHero.VPHomeHero .actions a[href="https://github.com/nolebase/integrations"]:active { + color: white; + background-color: #4b4b4b; +} diff --git a/.vitepress/styles/vars.css b/.vitepress/styles/vars.css new file mode 100644 index 00000000..297311a3 --- /dev/null +++ b/.vitepress/styles/vars.css @@ -0,0 +1,120 @@ +/** + * Colors: Palette + * + * The primitive colors used for accent colors. These colors are referenced + * by functional colors such as "Text", "Background", or "Brand". + * + * Each colors have exact same color scale system with 3 levels of solid + * colors with different brightness, and 1 soft color. + * + * - `XXX-1`: The most solid color used mainly for colored text. It must + * satisfy the contrast ratio against when used on top of `XXX-soft`. + * + * - `XXX-2`: The color used mainly for hover state of the button. + * + * - `XXX-3`: The color for solid background, such as bg color of the button. + * It must satisfy the contrast ratio with pure white (#ffffff) text on + * top of it. + * + * - `XXX-soft`: The color used for subtle background such as custom container + * or badges. It must satisfy the contrast ratio when putting `XXX-1` colors + * on top of it. + * + * The soft color must be semi transparent alpha channel. This is crucial + * because it allows adding multiple "soft" colors on top of each other + * to create a accent, such as when having inline code block inside + * custom containers. + * -------------------------------------------------------------------------- */ + +:root { + --vp-c-sky-1: #3c96ca; + --vp-c-sky-2: #49a1d4; + --vp-c-sky-3: #49a1d4; + --vp-c-sky-soft: rgba(73, 161, 212, 0.84); +} + +.dark { + --vp-c-sky-1: #49a3d7; + --vp-c-sky-2: #58b1e5; + --vp-c-sky-3: #58b1e5; + --vp-c-sky-soft: #58b1e5; +} + +/** + * Colors: Function + * + * - `default`: The color used purely for subtle indication without any + * special meanings attched to it such as bg color for menu hover state. + * + * - `brand`: Used for primary brand colors, such as link text, button with + * brand theme, etc. + * + * - `tip`: Used to indicate useful information. The default theme uses the + * brand color for this by default. + * + * - `warning`: Used to indicate warning to the users. Used in custom + * container, badges, etc. + * + * - `danger`: Used to show error, or dangerous message to the users. Used + * in custom container, badges, etc. + * + * To understand the scaling system, refer to "Colors: Palette" section. + * -------------------------------------------------------------------------- */ + +:root { + /* 主色 */ + --vp-c-brand-1: var(--vp-c-sky-1); + --vp-c-brand-2: var(--vp-c-sky-2); + --vp-c-brand-3: var(--vp-c-sky-3); + --vp-c-brand-soft: var(--vp-c-sky-soft); +} + +/** + * Component: Home + * -------------------------------------------------------------------------- */ + +:root { + --vp-home-hero-name-color: transparent; + --vp-home-hero-name-background: -webkit-linear-gradient( + 120deg, + #8d6fc7 40%, + #4fc4d8 + ); + --vp-home-hero-image-background-image: linear-gradient( + -45deg, + #8d73bf90 30%, + #d6c0e890 + ); + --vp-home-hero-image-filter: blur(30px); +} + +@media (min-width: 640px) { + :root { + --vp-home-hero-image-filter: blur(56px); + } +} + +@media (min-width: 960px) { + :root { + --vp-home-hero-image-filter: blur(72px); + } +} + +/** + * Component: Badge + * -------------------------------------------------------------------------- */ +:root { + /* 配置一下 tips 的自定义块的颜色为非默认的产品色,避免与文字不兼容导致可读性下降 */ + --vp-custom-block-tip-bg: #def4f4; + --vp-custom-block-tip-code-bg: #cbd9dd7d; +} + +.dark:root { + /* 配置一下在暗色模式下 tips 的自定义块的颜色为非默认的产品色,避免与文字不兼容导致可读性下降 */ + --vp-custom-block-tip-bg: #02474e; + --vp-custom-block-tip-code-bg: #0d1e1e9c; +} + +:root { + --vp-nolebase-highlight-targeted-heading-bg: rgba(253, 216, 95, 0.31); +} diff --git a/.vitepress/theme/components/AppContainer.vue b/.vitepress/theme/components/AppContainer.vue new file mode 100644 index 00000000..e40e9607 --- /dev/null +++ b/.vitepress/theme/components/AppContainer.vue @@ -0,0 +1,35 @@ + + + diff --git a/.vitepress/theme/components/DocFooter.vue b/.vitepress/theme/components/DocFooter.vue new file mode 100644 index 00000000..714c06ff --- /dev/null +++ b/.vitepress/theme/components/DocFooter.vue @@ -0,0 +1,16 @@ + + + + + diff --git a/.vitepress/theme/components/HomePage.vue b/.vitepress/theme/components/HomePage.vue new file mode 100644 index 00000000..8fd585e1 --- /dev/null +++ b/.vitepress/theme/components/HomePage.vue @@ -0,0 +1,22 @@ + + + diff --git a/.vitepress/theme/components/Share.vue b/.vitepress/theme/components/Share.vue new file mode 100644 index 00000000..b6bf72c4 --- /dev/null +++ b/.vitepress/theme/components/Share.vue @@ -0,0 +1,127 @@ + + + diff --git a/.vitepress/theme/components/TocList.vue b/.vitepress/theme/components/TocList.vue new file mode 100644 index 00000000..27cd8450 --- /dev/null +++ b/.vitepress/theme/components/TocList.vue @@ -0,0 +1,47 @@ + + + + diff --git a/.vitepress/theme/index.ts b/.vitepress/theme/index.ts new file mode 100644 index 00000000..8f0c27be --- /dev/null +++ b/.vitepress/theme/index.ts @@ -0,0 +1,146 @@ +import type { Theme } from 'vitepress' +import DefaultTheme from 'vitepress/theme' +import { h } from 'vue' + +import { + InjectionKey as NolebaseEnhancedReadabilitiesInjectionKey, + LayoutMode as NolebaseEnhancedReadabilitiesLayoutMode, + NolebaseEnhancedReadabilitiesMenu, + NolebaseEnhancedReadabilitiesScreenMenu, +} from '@nolebase/vitepress-plugin-enhanced-readabilities/client' + +import { + NolebaseInlineLinkPreviewPlugin, +} from '@nolebase/vitepress-plugin-inline-link-preview/client' + +import { + NolebaseHighlightTargetedHeading, +} from '@nolebase/vitepress-plugin-highlight-targeted-heading/client' + +import { + InjectionKey as NolebaseGitChangelogInjectionKey, + NolebaseGitChangelogPlugin, +} from '@nolebase/vitepress-plugin-git-changelog/client' + +import { + NolebasePagePropertiesPlugin, +} from '@nolebase/vitepress-plugin-page-properties/client' + +import { + NolebaseUnlazyImg, +} from '@nolebase/vitepress-plugin-thumbnail-hash/client' + +import { creators } from '../creators' + +import AppContainer from './components/AppContainer.vue' +import DocFooter from './components/DocFooter.vue' +import HomePage from './components/HomePage.vue' +import Share from './components/Share.vue' +import TocList from './components/TocList.vue' + +import '@nolebase/vitepress-plugin-enhanced-readabilities/client/style.css' +import '@nolebase/vitepress-plugin-highlight-targeted-heading/client/style.css' +import '@nolebase/vitepress-plugin-inline-link-preview/client/style.css' +import '@nolebase/vitepress-plugin-git-changelog/client/style.css' +import '@nolebase/vitepress-plugin-page-properties/client/style.css' +import '@nolebase/vitepress-plugin-thumbnail-hash/client/style.css' +import '@nolebase/vitepress-plugin-enhanced-mark/client/style.css' + +import 'virtual:uno.css' + +import '../styles/main.css' +import '../styles/vars.css' + +import('@nolebase/vitepress-plugin-inline-link-preview/client') + +const ExtendedTheme: Theme = { + extends: DefaultTheme, + Layout: () => { + return h(DefaultTheme.Layout, null, { + // https://vitepress.dev/guide/extending-default-theme#layout-slots + 'doc-top': () => [ + h(NolebaseHighlightTargetedHeading), + ], + 'doc-footer-before': () => [ + h(DocFooter), + ], + 'nav-bar-content-after': () => [ + h(NolebaseEnhancedReadabilitiesMenu), + h(Share), + ], + 'nav-screen-content-after': () => [ + h(NolebaseEnhancedReadabilitiesScreenMenu), + ], + }) + }, + enhanceApp({ app }) { + /** + * Have to manually import and register the essential components that needed during build globally. + * + * Learn more at: Warn `Hydration completed but contains mismatches.` and Custom components are not rendered · Issue #1918 · vuejs/vitepress + * https://github.com/vuejs/vitepress/issues/1918 + */ + + app.component('HomePage', HomePage) + app.component('DocFooter', DocFooter) + app.component('Share', Share) + app.component('TocList', TocList) + app.component('AppContainer', AppContainer) + app.component('NolebaseUnlazyImg', NolebaseUnlazyImg) + + app.provide(NolebaseEnhancedReadabilitiesInjectionKey, { + layoutSwitch: { + defaultMode: NolebaseEnhancedReadabilitiesLayoutMode.SidebarWidthAdjustableOnly, + }, + spotlight: { + defaultToggle: true, + hoverBlockColor: 'rgb(240 197 52 / 7%)', + }, + }) + + app.provide(NolebaseGitChangelogInjectionKey, { + mapContributors: creators, + }) + + app.use(NolebaseInlineLinkPreviewPlugin) + app.use(NolebaseGitChangelogPlugin) + app.use(NolebasePagePropertiesPlugin<{ + tags: string[] + progress: number + }>(), { + properties: { + 'zh-CN': [ + { + key: 'tags', + type: 'tags', + title: '标签', + }, + { + key: 'progress', + type: 'progress', + title: '完成进度', + }, + { + key: 'wordCount', + type: 'dynamic', + title: '字数', + options: { + type: 'wordsCount', + }, + }, + { + key: 'readingTime', + type: 'dynamic', + title: '阅读时间', + options: { + type: 'readingTime', + dateFnsLocaleName: 'zhCN', + }, + }, + ], + }, + }) + }, +} + +export default ExtendedTheme diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 00000000..4c9633a2 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,41 @@ +{ + "cSpell.words": [ + "antfu", + "Attributify", + "headlessui", + "iconify", + "mathjax", + "nolebase", + "unlazy", + "vitepress", + "vuedraggable" + ], + "prettier.enable": false, + "editor.formatOnSave": false, + "editor.codeActionsOnSave": { + "source.fixAll.eslint": "explicit", + "source.organizeImports": "never" + }, + // Enable the ESlint flat config support + "eslint.experimental.useFlatConfig": true, + // The following is optional. + // It's better to put under project setting `.vscode/settings.json` + // to avoid conflicts with working with different eslint configs + // that does not support all formats. + "eslint.validate": [ + "javascript", + "javascriptreact", + "typescript", + "typescriptreact", + "vue", + "html", + "markdown", + "json", + "jsonc", + "yaml" + ], + "unocss.root": [ + "." + ], + "typescript.tsdk": "node_modules/typescript/lib" +} diff --git a/LICENSE b/LICENSE new file mode 100644 index 00000000..c88e0cf2 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2022 Ayaka Rizumu + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/LICENSE-CC-BY-NC-SA b/LICENSE-CC-BY-NC-SA new file mode 100644 index 00000000..bfef380b --- /dev/null +++ b/LICENSE-CC-BY-NC-SA @@ -0,0 +1,437 @@ +Attribution-NonCommercial-ShareAlike 4.0 International + +======================================================================= + +Creative Commons Corporation ("Creative Commons") is not a law firm and +does not provide legal services or legal advice. Distribution of +Creative Commons public licenses does not create a lawyer-client or +other relationship. Creative Commons makes its licenses and related +information available on an "as-is" basis. Creative Commons gives no +warranties regarding its licenses, any material licensed under their +terms and conditions, or any related information. Creative Commons +disclaims all liability for damages resulting from their use to the +fullest extent possible. + +Using Creative Commons Public Licenses + +Creative Commons public licenses provide a standard set of terms and +conditions that creators and other rights holders may use to share +original works of authorship and other material subject to copyright +and certain other rights specified in the public license below. The +following considerations are for informational purposes only, are not +exhaustive, and do not form part of our licenses. + + Considerations for licensors: Our public licenses are + intended for use by those authorized to give the public + permission to use material in ways otherwise restricted by + copyright and certain other rights. Our licenses are + irrevocable. Licensors should read and understand the terms + and conditions of the license they choose before applying it. + Licensors should also secure all rights necessary before + applying our licenses so that the public can reuse the + material as expected. Licensors should clearly mark any + material not subject to the license. This includes other CC- + licensed material, or material used under an exception or + limitation to copyright. More considerations for licensors: + wiki.creativecommons.org/Considerations_for_licensors + + Considerations for the public: By using one of our public + licenses, a licensor grants the public permission to use the + licensed material under specified terms and conditions. If + the licensor's permission is not necessary for any reason--for + example, because of any applicable exception or limitation to + copyright--then that use is not regulated by the license. Our + licenses grant only permissions under copyright and certain + other rights that a licensor has authority to grant. Use of + the licensed material may still be restricted for other + reasons, including because others have copyright or other + rights in the material. A licensor may make special requests, + such as asking that all changes be marked or described. + Although not required by our licenses, you are encouraged to + respect those requests where reasonable. More considerations + for the public: + wiki.creativecommons.org/Considerations_for_licensees + +======================================================================= + +Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International +Public License + +By exercising the Licensed Rights (defined below), You accept and agree +to be bound by the terms and conditions of this Creative Commons +Attribution-NonCommercial-ShareAlike 4.0 International Public License +("Public License"). To the extent this Public License may be +interpreted as a contract, You are granted the Licensed Rights in +consideration of Your acceptance of these terms and conditions, and the +Licensor grants You such rights in consideration of benefits the +Licensor receives from making the Licensed Material available under +these terms and conditions. + + +Section 1 -- Definitions. + + a. Adapted Material means material subject to Copyright and Similar + Rights that is derived from or based upon the Licensed Material + and in which the Licensed Material is translated, altered, + arranged, transformed, or otherwise modified in a manner requiring + permission under the Copyright and Similar Rights held by the + Licensor. For purposes of this Public License, where the Licensed + Material is a musical work, performance, or sound recording, + Adapted Material is always produced where the Licensed Material is + synched in timed relation with a moving image. + + b. Adapter's License means the license You apply to Your Copyright + and Similar Rights in Your contributions to Adapted Material in + accordance with the terms and conditions of this Public License. + + c. BY-NC-SA Compatible License means a license listed at + creativecommons.org/compatiblelicenses, approved by Creative + Commons as essentially the equivalent of this Public License. + + d. Copyright and Similar Rights means copyright and/or similar rights + closely related to copyright including, without limitation, + performance, broadcast, sound recording, and Sui Generis Database + Rights, without regard to how the rights are labeled or + categorized. For purposes of this Public License, the rights + specified in Section 2(b)(1)-(2) are not Copyright and Similar + Rights. + + e. Effective Technological Measures means those measures that, in the + absence of proper authority, may not be circumvented under laws + fulfilling obligations under Article 11 of the WIPO Copyright + Treaty adopted on December 20, 1996, and/or similar international + agreements. + + f. Exceptions and Limitations means fair use, fair dealing, and/or + any other exception or limitation to Copyright and Similar Rights + that applies to Your use of the Licensed Material. + + g. License Elements means the license attributes listed in the name + of a Creative Commons Public License. The License Elements of this + Public License are Attribution, NonCommercial, and ShareAlike. + + h. Licensed Material means the artistic or literary work, database, + or other material to which the Licensor applied this Public + License. + + i. Licensed Rights means the rights granted to You subject to the + terms and conditions of this Public License, which are limited to + all Copyright and Similar Rights that apply to Your use of the + Licensed Material and that the Licensor has authority to license. + + j. Licensor means the individual(s) or entity(ies) granting rights + under this Public License. + + k. NonCommercial means not primarily intended for or directed towards + commercial advantage or monetary compensation. For purposes of + this Public License, the exchange of the Licensed Material for + other material subject to Copyright and Similar Rights by digital + file-sharing or similar means is NonCommercial provided there is + no payment of monetary compensation in connection with the + exchange. + + l. Share means to provide material to the public by any means or + process that requires permission under the Licensed Rights, such + as reproduction, public display, public performance, distribution, + dissemination, communication, or importation, and to make material + available to the public including in ways that members of the + public may access the material from a place and at a time + individually chosen by them. + + m. Sui Generis Database Rights means rights other than copyright + resulting from Directive 96/9/EC of the European Parliament and of + the Council of 11 March 1996 on the legal protection of databases, + as amended and/or succeeded, as well as other essentially + equivalent rights anywhere in the world. + + n. You means the individual or entity exercising the Licensed Rights + under this Public License. Your has a corresponding meaning. + + +Section 2 -- Scope. + + a. License grant. + + 1. Subject to the terms and conditions of this Public License, + the Licensor hereby grants You a worldwide, royalty-free, + non-sublicensable, non-exclusive, irrevocable license to + exercise the Licensed Rights in the Licensed Material to: + + a. reproduce and Share the Licensed Material, in whole or + in part, for NonCommercial purposes only; and + + b. produce, reproduce, and Share Adapted Material for + NonCommercial purposes only. + + 2. Exceptions and Limitations. For the avoidance of doubt, where + Exceptions and Limitations apply to Your use, this Public + License does not apply, and You do not need to comply with + its terms and conditions. + + 3. Term. The term of this Public License is specified in Section + 6(a). + + 4. Media and formats; technical modifications allowed. The + Licensor authorizes You to exercise the Licensed Rights in + all media and formats whether now known or hereafter created, + and to make technical modifications necessary to do so. The + Licensor waives and/or agrees not to assert any right or + authority to forbid You from making technical modifications + necessary to exercise the Licensed Rights, including + technical modifications necessary to circumvent Effective + Technological Measures. For purposes of this Public License, + simply making modifications authorized by this Section 2(a) + (4) never produces Adapted Material. + + 5. Downstream recipients. + + a. Offer from the Licensor -- Licensed Material. Every + recipient of the Licensed Material automatically + receives an offer from the Licensor to exercise the + Licensed Rights under the terms and conditions of this + Public License. + + b. Additional offer from the Licensor -- Adapted Material. + Every recipient of Adapted Material from You + automatically receives an offer from the Licensor to + exercise the Licensed Rights in the Adapted Material + under the conditions of the Adapter's License You apply. + + c. No downstream restrictions. You may not offer or impose + any additional or different terms or conditions on, or + apply any Effective Technological Measures to, the + Licensed Material if doing so restricts exercise of the + Licensed Rights by any recipient of the Licensed + Material. + + 6. No endorsement. Nothing in this Public License constitutes or + may be construed as permission to assert or imply that You + are, or that Your use of the Licensed Material is, connected + with, or sponsored, endorsed, or granted official status by, + the Licensor or others designated to receive attribution as + provided in Section 3(a)(1)(A)(i). + + b. Other rights. + + 1. Moral rights, such as the right of integrity, are not + licensed under this Public License, nor are publicity, + privacy, and/or other similar personality rights; however, to + the extent possible, the Licensor waives and/or agrees not to + assert any such rights held by the Licensor to the limited + extent necessary to allow You to exercise the Licensed + Rights, but not otherwise. + + 2. Patent and trademark rights are not licensed under this + Public License. + + 3. To the extent possible, the Licensor waives any right to + collect royalties from You for the exercise of the Licensed + Rights, whether directly or through a collecting society + under any voluntary or waivable statutory or compulsory + licensing scheme. In all other cases the Licensor expressly + reserves any right to collect such royalties, including when + the Licensed Material is used other than for NonCommercial + purposes. + + +Section 3 -- License Conditions. + +Your exercise of the Licensed Rights is expressly made subject to the +following conditions. + + a. Attribution. + + 1. If You Share the Licensed Material (including in modified + form), You must: + + a. retain the following if it is supplied by the Licensor + with the Licensed Material: + + i. identification of the creator(s) of the Licensed + Material and any others designated to receive + attribution, in any reasonable manner requested by + the Licensor (including by pseudonym if + designated); + + ii. a copyright notice; + + iii. a notice that refers to this Public License; + + iv. a notice that refers to the disclaimer of + warranties; + + v. a URI or hyperlink to the Licensed Material to the + extent reasonably practicable; + + b. indicate if You modified the Licensed Material and + retain an indication of any previous modifications; and + + c. indicate the Licensed Material is licensed under this + Public License, and include the text of, or the URI or + hyperlink to, this Public License. + + 2. You may satisfy the conditions in Section 3(a)(1) in any + reasonable manner based on the medium, means, and context in + which You Share the Licensed Material. For example, it may be + reasonable to satisfy the conditions by providing a URI or + hyperlink to a resource that includes the required + information. + 3. If requested by the Licensor, You must remove any of the + information required by Section 3(a)(1)(A) to the extent + reasonably practicable. + + b. ShareAlike. + + In addition to the conditions in Section 3(a), if You Share + Adapted Material You produce, the following conditions also apply. + + 1. The Adapter's License You apply must be a Creative Commons + license with the same License Elements, this version or + later, or a BY-NC-SA Compatible License. + + 2. You must include the text of, or the URI or hyperlink to, the + Adapter's License You apply. You may satisfy this condition + in any reasonable manner based on the medium, means, and + context in which You Share Adapted Material. + + 3. You may not offer or impose any additional or different terms + or conditions on, or apply any Effective Technological + Measures to, Adapted Material that restrict exercise of the + rights granted under the Adapter's License You apply. + + +Section 4 -- Sui Generis Database Rights. + +Where the Licensed Rights include Sui Generis Database Rights that +apply to Your use of the Licensed Material: + + a. for the avoidance of doubt, Section 2(a)(1) grants You the right + to extract, reuse, reproduce, and Share all or a substantial + portion of the contents of the database for NonCommercial purposes + only; + + b. if You include all or a substantial portion of the database + contents in a database in which You have Sui Generis Database + Rights, then the database in which You have Sui Generis Database + Rights (but not its individual contents) is Adapted Material, + including for purposes of Section 3(b); and + + c. You must comply with the conditions in Section 3(a) if You Share + all or a substantial portion of the contents of the database. + +For the avoidance of doubt, this Section 4 supplements and does not +replace Your obligations under this Public License where the Licensed +Rights include other Copyright and Similar Rights. + + +Section 5 -- Disclaimer of Warranties and Limitation of Liability. + + a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE + EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS + AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF + ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS, + IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION, + WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR + PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS, + ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT + KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT + ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU. + + b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE + TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION, + NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT, + INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES, + COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR + USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN + ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR + DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR + IN PART, THIS LIMITATION MAY NOT APPLY TO YOU. + + c. The disclaimer of warranties and limitation of liability provided + above shall be interpreted in a manner that, to the extent + possible, most closely approximates an absolute disclaimer and + waiver of all liability. + + +Section 6 -- Term and Termination. + + a. This Public License applies for the term of the Copyright and + Similar Rights licensed here. However, if You fail to comply with + this Public License, then Your rights under this Public License + terminate automatically. + + b. Where Your right to use the Licensed Material has terminated under + Section 6(a), it reinstates: + + 1. automatically as of the date the violation is cured, provided + it is cured within 30 days of Your discovery of the + violation; or + + 2. upon express reinstatement by the Licensor. + + For the avoidance of doubt, this Section 6(b) does not affect any + right the Licensor may have to seek remedies for Your violations + of this Public License. + + c. For the avoidance of doubt, the Licensor may also offer the + Licensed Material under separate terms or conditions or stop + distributing the Licensed Material at any time; however, doing so + will not terminate this Public License. + + d. Sections 1, 5, 6, 7, and 8 survive termination of this Public + License. + + +Section 7 -- Other Terms and Conditions. + + a. The Licensor shall not be bound by any additional or different + terms or conditions communicated by You unless expressly agreed. + + b. Any arrangements, understandings, or agreements regarding the + Licensed Material not stated herein are separate from and + independent of the terms and conditions of this Public License. + + +Section 8 -- Interpretation. + + a. For the avoidance of doubt, this Public License does not, and + shall not be interpreted to, reduce, limit, restrict, or impose + conditions on any use of the Licensed Material that could lawfully + be made without permission under this Public License. + + b. To the extent possible, if any provision of this Public License is + deemed unenforceable, it shall be automatically reformed to the + minimum extent necessary to make it enforceable. If the provision + cannot be reformed, it shall be severed from this Public License + without affecting the enforceability of the remaining terms and + conditions. + + c. No term or condition of this Public License will be waived and no + failure to comply consented to unless expressly agreed to by the + Licensor. + + d. Nothing in this Public License constitutes or may be interpreted + as a limitation upon, or waiver of, any privileges and immunities + that apply to the Licensor or You, including from the legal + processes of any jurisdiction or authority. + +======================================================================= + +Creative Commons is not a party to its public +licenses. Notwithstanding, Creative Commons may elect to apply one of +its public licenses to material it publishes and in those instances +will be considered the “Licensor.” The text of the Creative Commons +public licenses is dedicated to the public domain under the CC0 Public +Domain Dedication. Except for the limited purpose of indicating that +material is shared under a Creative Commons public license or as +otherwise permitted by the Creative Commons policies published at +creativecommons.org/policies, Creative Commons does not authorize the +use of the trademark "Creative Commons" or any other trademark or logo +of Creative Commons without its prior written consent including, +without limitation, in connection with any unauthorized modifications +to any of its public licenses or any other arrangements, +understandings, or agreements concerning use of licensed material. For +the avoidance of doubt, this paragraph does not form part of the +public licenses. + +Creative Commons may be contacted at creativecommons.org. \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 00000000..2fdc69eb --- /dev/null +++ b/README.md @@ -0,0 +1,22 @@ +# nolebase-template + +一个简约的博客/笔记网站模板,基于 markdown + obsidian + vitepress + +本仓库从[nolebase](https://github.com/nolebase/nolebase/) 精简而来,方便做为最小的 template + +做了如下改动 +- LICENSE 从 CC-BY-SA 改为 CC-BY-NC-SA,增加了非商用使用 +- 删除了原始的笔记,较大的文件,思源宋体文件, `.obsidian/`文件夹 + + +## 使用 +需要 Nodejs / pnpm + +```bash +pnpm install +pnpm docs:dev +pnpm docs:build +``` + +你可以修改 metadata/index.ts 配置一下自己的网站信息 +再修改一下 index.md 配置一下首页 \ No newline at end of file diff --git a/eslint.config.js b/eslint.config.js new file mode 100644 index 00000000..e77239f6 --- /dev/null +++ b/eslint.config.js @@ -0,0 +1,10 @@ +import antfu from '@antfu/eslint-config' + +export default antfu({ + unocss: true, + ignores: [ + '**/*.md', + '**/*.yaml', + '**/*.yml', + ], +}) diff --git a/index.md b/index.md new file mode 100644 index 00000000..e1d06afa --- /dev/null +++ b/index.md @@ -0,0 +1,41 @@ +--- +layout: home +sidebar: false + +title: Nólëbase +titleTemplate: 记录回忆,知识和畅想的地方 + +hero: + name: g~Nj$3J2^ + text: 记录回忆,知识和畅想的地方 + tagline: 以 Nólëbase 为名,读作 nole-base,取自意为「知识」的昆雅语 nólë 和意为「基础」的英文 base,即「知识库」 + image: + src: /logo.svg + alt: Vitest + actions: + - theme: brand + text: 开始阅读 + link: /笔记/index + - theme: alt + text: 加入 Discord 服务器 + link: https://discord.gg/XuNFDcDZGj + - theme: alt + text: GitHub 上浏览 + link: https://github.com/nolebase/nolebase + +features: + - title: 多样的主题和内容 + details: 本知识库和所生成的页面均由创作者们维护,涉及到生活中各方面知识和内容,也不乏我们的回忆和畅想。 + icon: 🌈 + - title: 皆为 Markdown + details: 使用 Markdown 和 Markdown 拓展语法编写和记录笔记,每一个页面都是 Markdown 文件。 + icon: 📃 + - title: 由 VitePress 驱动 + details: 基于 Vite 的强大静态文档页面生成器,它生成了我们知识库的页面,提供了简单易用的主题和工具。 + icon: 🚀 + - title: 由 Obsidian 驱动 + details: 强大的知识库管理工具,支持花样繁多的插件和拓展,让知识管理变得更加简单。 + icon: 🗃 +--- + + diff --git a/metadata/index.ts b/metadata/index.ts new file mode 100644 index 00000000..81f07817 --- /dev/null +++ b/metadata/index.ts @@ -0,0 +1,17 @@ +/** 文本 */ +export const siteName = 'Nólëbase' +export const siteShortName = 'Nólëbase' +export const siteDescription = '记录回忆,知识和畅想的地方' + +/** 文档所在目录 */ +export const include = ['笔记', '生活'] + +/** Repo */ +export const githubRepoLink = 'https://github.com/nolebase/nolebase' +/** Discord */ +export const discordLink = 'https://discord.gg/XuNFDcDZGj' + +/** 无协议前缀域名 */ +export const plainTargetDomain = 'nolebase.ayaka.io' +/** 完整域名 */ +export const targetDomain = `https://${plainTargetDomain}` diff --git a/netlify.toml b/netlify.toml new file mode 100644 index 00000000..b87b8d3d --- /dev/null +++ b/netlify.toml @@ -0,0 +1,4 @@ +[[redirects]] + from = "/*" + to = "/index.html" + status = 200 diff --git a/netlify/functions/to.ts b/netlify/functions/to.ts new file mode 100644 index 00000000..6fd9c126 --- /dev/null +++ b/netlify/functions/to.ts @@ -0,0 +1,86 @@ +import type { Handler, HandlerEvent } from '@netlify/functions' +import fetch from 'node-fetch' +import { plainTargetDomain } from '../../metadata' + +const TargetDomain = plainTargetDomain +const FunctionEndpoint = '/.netlify/functions/to' +const HyphenQueryShortURLEndpoint = 'https://api.ayaka.io/hyphen/api/v1/url/short' + +interface HyphenResponse { + data: T +} + +interface HyphenQueryShortURLResponse { + url: string +} + +const handler: Handler = async (event: HandlerEvent) => { + try { + // 获取短链接 + const shortUrl = event.path + .replace(FunctionEndpoint, '') // 去除函数路径 + .replace(/^\//, '') // 去除开头的斜杠 + + // 获取短链接对应的长链接 + const requestUri = `${HyphenQueryShortURLEndpoint}?url=${shortUrl}` + const res = await fetch(requestUri) + // 如果返回了 404 则跳转到 404 页面 + if (res.status === 404) { + console.warn(`404: ${shortUrl}`) + return { + statusCode: 301, + headers: { + location: `${TargetDomain}/404`, + }, + } + } + + // 获取 JSON + const resJson + = (await res.json()) as HyphenResponse + // 如果 data.url 为空则跳转到 404 页面 + if (resJson.data.url === '') { + console.warn(`url is empty: ${resJson.data.url}`) + return { + statusCode: 301, + headers: { + location: `${TargetDomain}/404`, + }, + } + } + + // 转换为 URL 对象 + const url = new URL(resJson.data.url) + // 如果 host 不是目标域名则跳转到 404 页面 + if (url.host !== TargetDomain) { + console.warn('target domain mismatch, expect: ', TargetDomain, 'got: ', url.host) + return { + statusCode: 301, + headers: { + location: `${TargetDomain}/404`, + }, + } + } + + // 跳转到目标链接 + return { + statusCode: 301, + headers: { + location: resJson.data.url, + }, + } + } + catch (err) { + console.error(err) + // 如果出现错误则返回 502 + return { + statusCode: 502, + body: JSON.stringify({ + code: 502, + message: 'message' in (err as any) ? (err as any).message : String(err), + }), + } + } +} + +export { handler } diff --git a/package.json b/package.json new file mode 100644 index 00000000..432ce2b6 --- /dev/null +++ b/package.json @@ -0,0 +1,79 @@ +{ + "name": "nolebase", + "type": "module", + "version": "1.0.0", + "author": { + "name": "Nólëbase", + "email": "nolebase@ayaka.moe", + "url": "https://github.com/nolebase" + }, + "license": "MIT", + "keywords": [ + "vitepress", + "nolebase", + "markdown", + "nolebase-integration", + "obsidian", + "knowledge-base", + "vitepress-doc" + ], + "scripts": { + "dev": "pnpm run docs:dev", + "build": "pnpm run docs:build", + "serve": "pnpm run docs:serve", + "docs:dev": "pnpm run update && vitepress dev", + "docs:build": "pnpm run update && vitepress build", + "docs:serve": "vitepress serve", + "update": "tsx scripts/update.ts", + "test": "echo \"Error: no test specified\" && exit 1" + }, + "devDependencies": { + "@antfu/eslint-config": "^2.12.2", + "@iconify-json/eos-icons": "^1.1.10", + "@iconify-json/ic": "^1.1.17", + "@iconify-json/octicon": "^1.1.53", + "@iconify-json/svg-spinners": "^1.1.2", + "@netlify/functions": "^1.6.0", + "@nolebase/markdown-it-bi-directional-links": "2.0.0-rc11", + "@nolebase/markdown-it-unlazy-img": "2.0.0-rc11", + "@nolebase/vitepress-plugin-enhanced-mark": "2.0.0-rc11", + "@nolebase/vitepress-plugin-enhanced-readabilities": "2.0.0-rc11", + "@nolebase/vitepress-plugin-git-changelog": "2.0.0-rc11", + "@nolebase/vitepress-plugin-highlight-targeted-heading": "2.0.0-rc11", + "@nolebase/vitepress-plugin-inline-link-preview": "2.0.0-rc11", + "@nolebase/vitepress-plugin-og-image": "2.0.0-rc11", + "@nolebase/vitepress-plugin-page-properties": "2.0.0-rc11", + "@nolebase/vitepress-plugin-thumbnail-hash": "2.0.0-rc11", + "@types/fs-extra": "^11.0.4", + "@types/lodash": "^4.17.0", + "@types/markdown-it": "^12.2.3", + "@types/markdown-it-footnote": "^3.0.4", + "@types/node-fetch": "^2.6.11", + "@unocss/eslint-config": "^0.58.9", + "@unocss/reset": "^0.58.9", + "@vueuse/core": "^10.9.0", + "@vueuse/shared": "^10.9.0", + "emoji-regex": "^10.3.0", + "eslint": "^8.57.0", + "fast-glob": "^3.3.2", + "fs-extra": "^11.2.0", + "gray-matter": "^4.0.3", + "less": "^4.2.0", + "lodash": "^4.17.21", + "markdown-it": "^13.0.2", + "markdown-it-footnote": "^3.0.3", + "markdown-it-mathjax3": "^4.3.2", + "node-fetch": "^3.3.2", + "sharp": "^0.32.6", + "simple-git": "^3.24.0", + "tsx": "^4.7.2", + "typescript": "^5.4.4", + "unocss": "^0.58.9", + "unplugin-vue-components": "^0.26.0", + "uuid": "^9.0.1", + "vite": "^5.2.8", + "vite-plugin-inspect": "^0.8.3", + "vitepress": "^1.0.2", + "vue": "^3.4.21" + } +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml new file mode 100644 index 00000000..8f6158e8 --- /dev/null +++ b/pnpm-lock.yaml @@ -0,0 +1,8151 @@ +lockfileVersion: '9.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +importers: + + .: + devDependencies: + '@antfu/eslint-config': + specifier: ^2.12.2 + version: 2.12.2(@unocss/eslint-plugin@0.59.4(eslint@8.57.0)(typescript@5.4.4))(@vue/compiler-sfc@3.4.26)(eslint@8.57.0)(typescript@5.4.4) + '@iconify-json/eos-icons': + specifier: ^1.1.10 + version: 1.1.10 + '@iconify-json/ic': + specifier: ^1.1.17 + version: 1.1.17 + '@iconify-json/octicon': + specifier: ^1.1.53 + version: 1.1.53 + '@iconify-json/svg-spinners': + specifier: ^1.1.2 + version: 1.1.2 + '@netlify/functions': + specifier: ^1.6.0 + version: 1.6.0 + '@nolebase/markdown-it-bi-directional-links': + specifier: 2.0.0-rc11 + version: 2.0.0-rc11(markdown-it@13.0.2) + '@nolebase/markdown-it-unlazy-img': + specifier: 2.0.0-rc11 + version: 2.0.0-rc11(@types/node@20.12.8)(less@4.2.0)(markdown-it@13.0.2) + '@nolebase/vitepress-plugin-enhanced-mark': + specifier: 2.0.0-rc11 + version: 2.0.0-rc11(vitepress@1.0.2(@algolia/client-search@4.23.3)(@types/node@20.12.8)(less@4.2.0)(markdown-it-mathjax3@4.3.2)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.4)) + '@nolebase/vitepress-plugin-enhanced-readabilities': + specifier: 2.0.0-rc11 + version: 2.0.0-rc11(vitepress@1.0.2(@algolia/client-search@4.23.3)(@types/node@20.12.8)(less@4.2.0)(markdown-it-mathjax3@4.3.2)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.4))(vue@3.4.21(typescript@5.4.4)) + '@nolebase/vitepress-plugin-git-changelog': + specifier: 2.0.0-rc11 + version: 2.0.0-rc11(vitepress@1.0.2(@algolia/client-search@4.23.3)(@types/node@20.12.8)(less@4.2.0)(markdown-it-mathjax3@4.3.2)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.4))(vue@3.4.21(typescript@5.4.4)) + '@nolebase/vitepress-plugin-highlight-targeted-heading': + specifier: 2.0.0-rc11 + version: 2.0.0-rc11(vitepress@1.0.2(@algolia/client-search@4.23.3)(@types/node@20.12.8)(less@4.2.0)(markdown-it-mathjax3@4.3.2)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.4)) + '@nolebase/vitepress-plugin-inline-link-preview': + specifier: 2.0.0-rc11 + version: 2.0.0-rc11(vitepress@1.0.2(@algolia/client-search@4.23.3)(@types/node@20.12.8)(less@4.2.0)(markdown-it-mathjax3@4.3.2)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.4))(vue@3.4.21(typescript@5.4.4)) + '@nolebase/vitepress-plugin-og-image': + specifier: 2.0.0-rc11 + version: 2.0.0-rc11(vitepress@1.0.2(@algolia/client-search@4.23.3)(@types/node@20.12.8)(less@4.2.0)(markdown-it-mathjax3@4.3.2)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.4)) + '@nolebase/vitepress-plugin-page-properties': + specifier: 2.0.0-rc11 + version: 2.0.0-rc11(vitepress@1.0.2(@algolia/client-search@4.23.3)(@types/node@20.12.8)(less@4.2.0)(markdown-it-mathjax3@4.3.2)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.4))(vue@3.4.21(typescript@5.4.4)) + '@nolebase/vitepress-plugin-thumbnail-hash': + specifier: 2.0.0-rc11 + version: 2.0.0-rc11(vitepress@1.0.2(@algolia/client-search@4.23.3)(@types/node@20.12.8)(less@4.2.0)(markdown-it-mathjax3@4.3.2)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.4)) + '@types/fs-extra': + specifier: ^11.0.4 + version: 11.0.4 + '@types/lodash': + specifier: ^4.17.0 + version: 4.17.0 + '@types/markdown-it': + specifier: ^12.2.3 + version: 12.2.3 + '@types/markdown-it-footnote': + specifier: ^3.0.4 + version: 3.0.4 + '@types/node-fetch': + specifier: ^2.6.11 + version: 2.6.11 + '@unocss/eslint-config': + specifier: ^0.58.9 + version: 0.58.9(eslint@8.57.0)(typescript@5.4.4) + '@unocss/reset': + specifier: ^0.58.9 + version: 0.58.9 + '@vueuse/core': + specifier: ^10.9.0 + version: 10.9.0(vue@3.4.21(typescript@5.4.4)) + '@vueuse/shared': + specifier: ^10.9.0 + version: 10.9.0(vue@3.4.21(typescript@5.4.4)) + emoji-regex: + specifier: ^10.3.0 + version: 10.3.0 + eslint: + specifier: ^8.57.0 + version: 8.57.0 + fast-glob: + specifier: ^3.3.2 + version: 3.3.2 + fs-extra: + specifier: ^11.2.0 + version: 11.2.0 + gray-matter: + specifier: ^4.0.3 + version: 4.0.3 + less: + specifier: ^4.2.0 + version: 4.2.0 + lodash: + specifier: ^4.17.21 + version: 4.17.21 + markdown-it: + specifier: ^13.0.2 + version: 13.0.2 + markdown-it-footnote: + specifier: ^3.0.3 + version: 3.0.3 + markdown-it-mathjax3: + specifier: ^4.3.2 + version: 4.3.2 + node-fetch: + specifier: ^3.3.2 + version: 3.3.2 + sharp: + specifier: ^0.32.6 + version: 0.32.6 + simple-git: + specifier: ^3.24.0 + version: 3.24.0 + tsx: + specifier: ^4.7.2 + version: 4.7.2 + typescript: + specifier: ^5.4.4 + version: 5.4.4 + unocss: + specifier: ^0.58.9 + version: 0.58.9(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.8(@types/node@20.12.8)(less@4.2.0)) + unplugin-vue-components: + specifier: ^0.26.0 + version: 0.26.0(@babel/parser@7.24.5)(rollup@4.17.2)(vue@3.4.21(typescript@5.4.4)) + uuid: + specifier: ^9.0.1 + version: 9.0.1 + vite: + specifier: ^5.2.8 + version: 5.2.8(@types/node@20.12.8)(less@4.2.0) + vite-plugin-inspect: + specifier: ^0.8.3 + version: 0.8.3(rollup@4.17.2)(vite@5.2.8(@types/node@20.12.8)(less@4.2.0)) + vitepress: + specifier: ^1.0.2 + version: 1.0.2(@algolia/client-search@4.23.3)(@types/node@20.12.8)(less@4.2.0)(markdown-it-mathjax3@4.3.2)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.4) + vue: + specifier: ^3.4.21 + version: 3.4.21(typescript@5.4.4) + +packages: + + '@aashutoshrathi/word-wrap@1.2.6': + resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} + engines: {node: '>=0.10.0'} + + '@algolia/autocomplete-core@1.9.3': + resolution: {integrity: sha512-009HdfugtGCdC4JdXUbVJClA0q0zh24yyePn+KUGk3rP7j8FEe/m5Yo/z65gn6nP/cM39PxpzqKrL7A6fP6PPw==} + + '@algolia/autocomplete-plugin-algolia-insights@1.9.3': + resolution: {integrity: sha512-a/yTUkcO/Vyy+JffmAnTWbr4/90cLzw+CC3bRbhnULr/EM0fGNvM13oQQ14f2moLMcVDyAx/leczLlAOovhSZg==} + peerDependencies: + search-insights: '>= 1 < 3' + + '@algolia/autocomplete-preset-algolia@1.9.3': + resolution: {integrity: sha512-d4qlt6YmrLMYy95n5TB52wtNDr6EgAIPH81dvvvW8UmuWRgxEtY0NJiPwl/h95JtG2vmRM804M0DSwMCNZlzRA==} + peerDependencies: + '@algolia/client-search': '>= 4.9.1 < 6' + algoliasearch: '>= 4.9.1 < 6' + + '@algolia/autocomplete-shared@1.9.3': + resolution: {integrity: sha512-Wnm9E4Ye6Rl6sTTqjoymD+l8DjSTHsHboVRYrKgEt8Q7UHm9nYbqhN/i0fhUYA3OAEH7WA8x3jfpnmJm3rKvaQ==} + peerDependencies: + '@algolia/client-search': '>= 4.9.1 < 6' + algoliasearch: '>= 4.9.1 < 6' + + '@algolia/cache-browser-local-storage@4.23.2': + resolution: {integrity: sha512-PvRQdCmtiU22dw9ZcTJkrVKgNBVAxKgD0/cfiqyxhA5+PHzA2WDt6jOmZ9QASkeM2BpyzClJb/Wr1yt2/t78Kw==} + + '@algolia/cache-common@4.23.2': + resolution: {integrity: sha512-OUK/6mqr6CQWxzl/QY0/mwhlGvS6fMtvEPyn/7AHUx96NjqDA4X4+Ju7aXFQKh+m3jW9VPB0B9xvEQgyAnRPNw==} + + '@algolia/cache-common@4.23.3': + resolution: {integrity: sha512-h9XcNI6lxYStaw32pHpB1TMm0RuxphF+Ik4o7tcQiodEdpKK+wKufY6QXtba7t3k8eseirEMVB83uFFF3Nu54A==} + + '@algolia/cache-in-memory@4.23.2': + resolution: {integrity: sha512-rfbi/SnhEa3MmlqQvgYz/9NNJ156NkU6xFxjbxBtLWnHbpj+qnlMoKd+amoiacHRITpajg6zYbLM9dnaD3Bczw==} + + '@algolia/client-account@4.23.2': + resolution: {integrity: sha512-VbrOCLIN/5I7iIdskSoSw3uOUPF516k4SjDD4Qz3BFwa3of7D9A0lzBMAvQEJJEPHWdVraBJlGgdJq/ttmquJQ==} + + '@algolia/client-analytics@4.23.2': + resolution: {integrity: sha512-lLj7irsAztGhMoEx/SwKd1cwLY6Daf1Q5f2AOsZacpppSvuFvuBrmkzT7pap1OD/OePjLKxicJS8wNA0+zKtuw==} + + '@algolia/client-common@4.23.2': + resolution: {integrity: sha512-Q2K1FRJBern8kIfZ0EqPvUr3V29ICxCm/q42zInV+VJRjldAD9oTsMGwqUQ26GFMdFYmqkEfCbY4VGAiQhh22g==} + + '@algolia/client-common@4.23.3': + resolution: {integrity: sha512-l6EiPxdAlg8CYhroqS5ybfIczsGUIAC47slLPOMDeKSVXYG1n0qGiz4RjAHLw2aD0xzh2EXZ7aRguPfz7UKDKw==} + + '@algolia/client-personalization@4.23.2': + resolution: {integrity: sha512-vwPsgnCGhUcHhhQG5IM27z8q7dWrN9itjdvgA6uKf2e9r7vB+WXt4OocK0CeoYQt3OGEAExryzsB8DWqdMK5wg==} + + '@algolia/client-search@4.23.2': + resolution: {integrity: sha512-CxSB29OVGSE7l/iyoHvamMonzq7Ev8lnk/OkzleODZ1iBcCs3JC/XgTIKzN/4RSTrJ9QybsnlrN/bYCGufo7qw==} + + '@algolia/client-search@4.23.3': + resolution: {integrity: sha512-P4VAKFHqU0wx9O+q29Q8YVuaowaZ5EM77rxfmGnkHUJggh28useXQdopokgwMeYw2XUht49WX5RcTQ40rZIabw==} + + '@algolia/logger-common@4.23.2': + resolution: {integrity: sha512-jGM49Q7626cXZ7qRAWXn0jDlzvoA1FvN4rKTi1g0hxKsTTSReyYk0i1ADWjChDPl3Q+nSDhJuosM2bBUAay7xw==} + + '@algolia/logger-common@4.23.3': + resolution: {integrity: sha512-y9kBtmJwiZ9ZZ+1Ek66P0M68mHQzKRxkW5kAAXYN/rdzgDN0d2COsViEFufxJ0pb45K4FRcfC7+33YB4BLrZ+g==} + + '@algolia/logger-console@4.23.2': + resolution: {integrity: sha512-oo+lnxxEmlhTBTFZ3fGz1O8PJ+G+8FiAoMY2Qo3Q4w23xocQev6KqDTA1JQAGPDxAewNA2VBwWOsVXeXFjrI/Q==} + + '@algolia/recommend@4.23.2': + resolution: {integrity: sha512-Q75CjnzRCDzgIlgWfPnkLtrfF4t82JCirhalXkSSwe/c1GH5pWh4xUyDOR3KTMo+YxxX3zTlrL/FjHmUJEWEcg==} + + '@algolia/requester-browser-xhr@4.23.2': + resolution: {integrity: sha512-TO9wLlp8+rvW9LnIfyHsu8mNAMYrqNdQ0oLF6eTWFxXfxG3k8F/Bh7nFYGk2rFAYty4Fw4XUtrv/YjeNDtM5og==} + + '@algolia/requester-common@4.23.2': + resolution: {integrity: sha512-3EfpBS0Hri0lGDB5H/BocLt7Vkop0bTTLVUBB844HH6tVycwShmsV6bDR7yXbQvFP1uNpgePRD3cdBCjeHmk6Q==} + + '@algolia/requester-common@4.23.3': + resolution: {integrity: sha512-xloIdr/bedtYEGcXCiF2muajyvRhwop4cMZo+K2qzNht0CMzlRkm8YsDdj5IaBhshqfgmBb3rTg4sL4/PpvLYw==} + + '@algolia/requester-node-http@4.23.2': + resolution: {integrity: sha512-SVzgkZM/malo+2SB0NWDXpnT7nO5IZwuDTaaH6SjLeOHcya1o56LSWXk+3F3rNLz2GVH+I/rpYKiqmHhSOjerw==} + + '@algolia/transporter@4.23.2': + resolution: {integrity: sha512-GY3aGKBy+8AK4vZh8sfkatDciDVKad5rTY2S10Aefyjh7e7UGBP4zigf42qVXwU8VOPwi7l/L7OACGMOFcjB0Q==} + + '@algolia/transporter@4.23.3': + resolution: {integrity: sha512-Wjl5gttqnf/gQKJA+dafnD0Y6Yw97yvfY8R9h0dQltX1GXTgNs1zWgvtWW0tHl1EgMdhAyw189uWiZMnL3QebQ==} + + '@ampproject/remapping@2.3.0': + resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} + engines: {node: '>=6.0.0'} + + '@antfu/eslint-config@2.12.2': + resolution: {integrity: sha512-PfxkKKyFaXGyn9Z4OmuEUgrwM0oOAOjoP50SLNJ7EEE044O4WrblLre2HGROoc/y+Ljdu0E1ZEnBmR9d2UmhYA==} + hasBin: true + peerDependencies: + '@unocss/eslint-plugin': '>=0.50.0' + astro-eslint-parser: ^0.16.3 + eslint: '>=8.40.0' + eslint-plugin-astro: ^0.31.4 + eslint-plugin-format: '>=0.1.0' + eslint-plugin-react: ^7.33.2 + eslint-plugin-react-hooks: ^4.6.0 + eslint-plugin-react-refresh: ^0.4.4 + eslint-plugin-svelte: '>=2.35.1' + prettier-plugin-astro: ^0.13.0 + prettier-plugin-slidev: ^1.0.5 + svelte-eslint-parser: ^0.33.1 + peerDependenciesMeta: + '@unocss/eslint-plugin': + optional: true + astro-eslint-parser: + optional: true + eslint-plugin-astro: + optional: true + eslint-plugin-format: + optional: true + eslint-plugin-react: + optional: true + eslint-plugin-react-hooks: + optional: true + eslint-plugin-react-refresh: + optional: true + eslint-plugin-svelte: + optional: true + prettier-plugin-astro: + optional: true + prettier-plugin-slidev: + optional: true + svelte-eslint-parser: + optional: true + + '@antfu/install-pkg@0.1.1': + resolution: {integrity: sha512-LyB/8+bSfa0DFGC06zpCEfs89/XoWZwws5ygEa5D+Xsm3OfI+aXQ86VgVG7Acyef+rSZ5HE7J8rrxzrQeM3PjQ==} + + '@antfu/install-pkg@0.3.2': + resolution: {integrity: sha512-FFYqME8+UHlPnRlX/vn+8cTD4Wo/nG/lzRxpABs3XANBmdJdNImVz3QvjNAE/W3PSCNbG387FOz8o5WelnWOlg==} + + '@antfu/utils@0.7.7': + resolution: {integrity: sha512-gFPqTG7otEJ8uP6wrhDv6mqwGWYZKNvAcCq6u9hOj0c+IKCEsY4L1oC9trPq2SaWIzAfHvqfBDxF591JkMf+kg==} + + '@babel/code-frame@7.24.2': + resolution: {integrity: sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==} + engines: {node: '>=6.9.0'} + + '@babel/compat-data@7.23.5': + resolution: {integrity: sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==} + engines: {node: '>=6.9.0'} + + '@babel/core@7.24.3': + resolution: {integrity: sha512-5FcvN1JHw2sHJChotgx8Ek0lyuh4kCKelgMTTqhYJJtloNvUfpAFMeNQUtdlIaktwrSV9LtCdqwk48wL2wBacQ==} + engines: {node: '>=6.9.0'} + + '@babel/generator@7.24.1': + resolution: {integrity: sha512-DfCRfZsBcrPEHUfuBMgbJ1Ut01Y/itOs+hY2nFLgqsqXd52/iSiVq5TITtUasIUgm+IIKdY2/1I7auiQOEeC9A==} + 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-compilation-targets@7.23.6': + resolution: {integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==} + engines: {node: '>=6.9.0'} + + '@babel/helper-create-class-features-plugin@7.24.4': + resolution: {integrity: sha512-lG75yeuUSVu0pIcbhiYMXBXANHrpUPaOfu7ryAzskCgKUHuAxRQI5ssrtmF0X9UXldPlvT0XM/A4F44OXRt6iQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-environment-visitor@7.22.20': + resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-function-name@7.23.0': + resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-hoist-variables@7.22.5': + resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-member-expression-to-functions@7.23.0': + resolution: {integrity: sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-imports@7.22.15': + resolution: {integrity: sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-transforms@7.23.3': + resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-optimise-call-expression@7.22.5': + resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-plugin-utils@7.24.0': + resolution: {integrity: sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==} + engines: {node: '>=6.9.0'} + + '@babel/helper-replace-supers@7.24.1': + resolution: {integrity: sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ==} + 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-split-export-declaration@7.22.6': + resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} + engines: {node: '>=6.9.0'} + + '@babel/helper-string-parser@7.23.4': + resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==} + engines: {node: '>=6.9.0'} + + '@babel/helper-string-parser@7.24.1': + resolution: {integrity: sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==} + 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.24.5': + resolution: {integrity: sha512-3q93SSKX2TWCG30M2G2kwaKeTYgEUp5Snjuj8qm729SObL6nbtUldAi37qbxkD5gg3xnBio+f9nqpSepGZMvxA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-option@7.23.5': + resolution: {integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==} + engines: {node: '>=6.9.0'} + + '@babel/helpers@7.24.1': + resolution: {integrity: sha512-BpU09QqEe6ZCHuIHFphEFgvNSrubve1FtyMton26ekZ85gRGi6LrTF7zArARp2YvyFxloeiRmtSCq5sjh1WqIg==} + engines: {node: '>=6.9.0'} + + '@babel/highlight@7.24.2': + resolution: {integrity: sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==} + engines: {node: '>=6.9.0'} + + '@babel/parser@7.23.9': + resolution: {integrity: sha512-9tcKgqKbs3xGJ+NtKF2ndOBBLVwPjl1SHxPQkd36r3Dlirw3xWUeGaTbqr7uGZcTaxkVNwc+03SVP7aCdWrTlA==} + engines: {node: '>=6.0.0'} + hasBin: true + + '@babel/parser@7.24.1': + resolution: {integrity: sha512-Zo9c7N3xdOIQrNip7Lc9wvRPzlRtovHVE4lkz8WEDr7uYh/GMQhSiIgFxGIArRHYdJE5kxtZjAf8rT0xhdLCzg==} + engines: {node: '>=6.0.0'} + hasBin: true + + '@babel/parser@7.24.5': + resolution: {integrity: sha512-EOv5IK8arwh3LI47dz1b0tKUb/1uhHAnHJOrjgtQMIpu1uXd9mlFrJg9IUgGUgZ41Ch0K8REPTYpO7B76b4vJg==} + engines: {node: '>=6.0.0'} + hasBin: true + + '@babel/plugin-syntax-jsx@7.24.1': + resolution: {integrity: sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-typescript@7.24.1': + resolution: {integrity: sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-modules-commonjs@7.24.1': + resolution: {integrity: sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-typescript@7.24.4': + resolution: {integrity: sha512-79t3CQ8+oBGk/80SQ8MN3Bs3obf83zJ0YZjDmDaEZN8MqhMI760apl5z6a20kFeMXBwJX99VpKT8CKxEBp5H1g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/preset-typescript@7.24.1': + resolution: {integrity: sha512-1DBaMmRDpuYQBPWD8Pf/WEwCrtgRHxsZnP4mIy9G/X+hFfbI47Q2G4t1Paakld84+qsk2fSsUPMKg71jkoOOaQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/template@7.24.0': + resolution: {integrity: sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==} + engines: {node: '>=6.9.0'} + + '@babel/traverse@7.24.1': + resolution: {integrity: sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ==} + engines: {node: '>=6.9.0'} + + '@babel/types@7.23.9': + resolution: {integrity: sha512-dQjSq/7HaSjRM43FFGnv5keM2HsxpmyV1PfaSVm0nzzjwwTmjOe6J4bC8e3+pTEIgHaHj+1ZlLThRJ2auc/w1Q==} + engines: {node: '>=6.9.0'} + + '@babel/types@7.24.0': + resolution: {integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==} + engines: {node: '>=6.9.0'} + + '@babel/types@7.24.5': + resolution: {integrity: sha512-6mQNsaLeXTw0nxYUYu+NSa4Hx4BlF1x1x8/PMFbiR+GBSr+2DkECc69b8hgy2frEodNcvPffeH8YfWd3LI6jhQ==} + engines: {node: '>=6.9.0'} + + '@clack/core@0.3.4': + resolution: {integrity: sha512-H4hxZDXgHtWTwV3RAVenqcC4VbJZNegbBjlPvzOzCouXtS2y3sDvlO3IsbrPNWuLWPPlYVYPghQdSF64683Ldw==} + + '@clack/prompts@0.7.0': + resolution: {integrity: sha512-0MhX9/B4iL6Re04jPrttDm+BsP8y6mS7byuv0BvXgdXhbV5PdlsHt55dvNsuBCPZ7xq1oTAOOuotR9NFbQyMSA==} + bundledDependencies: + - is-unicode-supported + + '@docsearch/css@3.6.0': + resolution: {integrity: sha512-+sbxb71sWre+PwDK7X2T8+bhS6clcVMLwBPznX45Qu6opJcgRjAp7gYSDzVFp187J+feSj5dNBN1mJoi6ckkUQ==} + + '@docsearch/js@3.6.0': + resolution: {integrity: sha512-QujhqINEElrkIfKwyyyTfbsfMAYCkylInLYMRqHy7PHc8xTBQCow73tlo/Kc7oIwBrCLf0P3YhjlOeV4v8hevQ==} + + '@docsearch/react@3.6.0': + resolution: {integrity: sha512-HUFut4ztcVNmqy9gp/wxNbC7pTOHhgVVkHVGCACTuLhUKUhKAF9KYHJtMiLUJxEqiFLQiuri1fWF8zqwM/cu1w==} + peerDependencies: + '@types/react': '>= 16.8.0 < 19.0.0' + react: '>= 16.8.0 < 19.0.0' + react-dom: '>= 16.8.0 < 19.0.0' + search-insights: '>= 1 < 3' + peerDependenciesMeta: + '@types/react': + optional: true + react: + optional: true + react-dom: + optional: true + search-insights: + optional: true + + '@es-joy/jsdoccomment@0.42.0': + resolution: {integrity: sha512-R1w57YlVA6+YE01wch3GPYn6bCsrOV3YW/5oGGE2tmX6JcL9Nr+b5IikrjMPF+v9CV3ay+obImEdsDhovhJrzw==} + engines: {node: '>=16'} + + '@esbuild/aix-ppc64@0.19.11': + resolution: {integrity: sha512-FnzU0LyE3ySQk7UntJO4+qIiQgI7KoODnZg5xzXIrFJlKd2P2gwHsHY4927xj9y5PJmJSzULiUCWmv7iWnNa7g==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [aix] + + '@esbuild/aix-ppc64@0.20.2': + resolution: {integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [aix] + + '@esbuild/android-arm64@0.19.11': + resolution: {integrity: sha512-aiu7K/5JnLj//KOnOfEZ0D90obUkRzDMyqd/wNAUQ34m4YUPVhRZpnqKV9uqDGxT7cToSDnIHsGooyIczu9T+Q==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + + '@esbuild/android-arm64@0.20.2': + resolution: {integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + + '@esbuild/android-arm@0.19.11': + resolution: {integrity: sha512-5OVapq0ClabvKvQ58Bws8+wkLCV+Rxg7tUVbo9xu034Nm536QTII4YzhaFriQ7rMrorfnFKUsArD2lqKbFY4vw==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + + '@esbuild/android-arm@0.20.2': + resolution: {integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + + '@esbuild/android-x64@0.19.11': + resolution: {integrity: sha512-eccxjlfGw43WYoY9QgB82SgGgDbibcqyDTlk3l3C0jOVHKxrjdc9CTwDUQd0vkvYg5um0OH+GpxYvp39r+IPOg==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + + '@esbuild/android-x64@0.20.2': + resolution: {integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + + '@esbuild/darwin-arm64@0.19.11': + resolution: {integrity: sha512-ETp87DRWuSt9KdDVkqSoKoLFHYTrkyz2+65fj9nfXsaV3bMhTCjtQfw3y+um88vGRKRiF7erPrh/ZuIdLUIVxQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + + '@esbuild/darwin-arm64@0.20.2': + resolution: {integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + + '@esbuild/darwin-x64@0.19.11': + resolution: {integrity: sha512-fkFUiS6IUK9WYUO/+22omwetaSNl5/A8giXvQlcinLIjVkxwTLSktbF5f/kJMftM2MJp9+fXqZ5ezS7+SALp4g==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + + '@esbuild/darwin-x64@0.20.2': + resolution: {integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + + '@esbuild/freebsd-arm64@0.19.11': + resolution: {integrity: sha512-lhoSp5K6bxKRNdXUtHoNc5HhbXVCS8V0iZmDvyWvYq9S5WSfTIHU2UGjcGt7UeS6iEYp9eeymIl5mJBn0yiuxA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + + '@esbuild/freebsd-arm64@0.20.2': + resolution: {integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + + '@esbuild/freebsd-x64@0.19.11': + resolution: {integrity: sha512-JkUqn44AffGXitVI6/AbQdoYAq0TEullFdqcMY/PCUZ36xJ9ZJRtQabzMA+Vi7r78+25ZIBosLTOKnUXBSi1Kw==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + + '@esbuild/freebsd-x64@0.20.2': + resolution: {integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + + '@esbuild/linux-arm64@0.19.11': + resolution: {integrity: sha512-LneLg3ypEeveBSMuoa0kwMpCGmpu8XQUh+mL8XXwoYZ6Be2qBnVtcDI5azSvh7vioMDhoJFZzp9GWp9IWpYoUg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + + '@esbuild/linux-arm64@0.20.2': + resolution: {integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + + '@esbuild/linux-arm@0.19.11': + resolution: {integrity: sha512-3CRkr9+vCV2XJbjwgzjPtO8T0SZUmRZla+UL1jw+XqHZPkPgZiyWvbDvl9rqAN8Zl7qJF0O/9ycMtjU67HN9/Q==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + + '@esbuild/linux-arm@0.20.2': + resolution: {integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + + '@esbuild/linux-ia32@0.19.11': + resolution: {integrity: sha512-caHy++CsD8Bgq2V5CodbJjFPEiDPq8JJmBdeyZ8GWVQMjRD0sU548nNdwPNvKjVpamYYVL40AORekgfIubwHoA==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + + '@esbuild/linux-ia32@0.20.2': + resolution: {integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + + '@esbuild/linux-loong64@0.19.11': + resolution: {integrity: sha512-ppZSSLVpPrwHccvC6nQVZaSHlFsvCQyjnvirnVjbKSHuE5N24Yl8F3UwYUUR1UEPaFObGD2tSvVKbvR+uT1Nrg==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + + '@esbuild/linux-loong64@0.20.2': + resolution: {integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + + '@esbuild/linux-mips64el@0.19.11': + resolution: {integrity: sha512-B5x9j0OgjG+v1dF2DkH34lr+7Gmv0kzX6/V0afF41FkPMMqaQ77pH7CrhWeR22aEeHKaeZVtZ6yFwlxOKPVFyg==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + + '@esbuild/linux-mips64el@0.20.2': + resolution: {integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + + '@esbuild/linux-ppc64@0.19.11': + resolution: {integrity: sha512-MHrZYLeCG8vXblMetWyttkdVRjQlQUb/oMgBNurVEnhj4YWOr4G5lmBfZjHYQHHN0g6yDmCAQRR8MUHldvvRDA==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + + '@esbuild/linux-ppc64@0.20.2': + resolution: {integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + + '@esbuild/linux-riscv64@0.19.11': + resolution: {integrity: sha512-f3DY++t94uVg141dozDu4CCUkYW+09rWtaWfnb3bqe4w5NqmZd6nPVBm+qbz7WaHZCoqXqHz5p6CM6qv3qnSSQ==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + + '@esbuild/linux-riscv64@0.20.2': + resolution: {integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + + '@esbuild/linux-s390x@0.19.11': + resolution: {integrity: sha512-A5xdUoyWJHMMlcSMcPGVLzYzpcY8QP1RtYzX5/bS4dvjBGVxdhuiYyFwp7z74ocV7WDc0n1harxmpq2ePOjI0Q==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + + '@esbuild/linux-s390x@0.20.2': + resolution: {integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + + '@esbuild/linux-x64@0.19.11': + resolution: {integrity: sha512-grbyMlVCvJSfxFQUndw5mCtWs5LO1gUlwP4CDi4iJBbVpZcqLVT29FxgGuBJGSzyOxotFG4LoO5X+M1350zmPA==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + + '@esbuild/linux-x64@0.20.2': + resolution: {integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + + '@esbuild/netbsd-x64@0.19.11': + resolution: {integrity: sha512-13jvrQZJc3P230OhU8xgwUnDeuC/9egsjTkXN49b3GcS5BKvJqZn86aGM8W9pd14Kd+u7HuFBMVtrNGhh6fHEQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + + '@esbuild/netbsd-x64@0.20.2': + resolution: {integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + + '@esbuild/openbsd-x64@0.19.11': + resolution: {integrity: sha512-ysyOGZuTp6SNKPE11INDUeFVVQFrhcNDVUgSQVDzqsqX38DjhPEPATpid04LCoUr2WXhQTEZ8ct/EgJCUDpyNw==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + + '@esbuild/openbsd-x64@0.20.2': + resolution: {integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + + '@esbuild/sunos-x64@0.19.11': + resolution: {integrity: sha512-Hf+Sad9nVwvtxy4DXCZQqLpgmRTQqyFyhT3bZ4F2XlJCjxGmRFF0Shwn9rzhOYRB61w9VMXUkxlBy56dk9JJiQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + + '@esbuild/sunos-x64@0.20.2': + resolution: {integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + + '@esbuild/win32-arm64@0.19.11': + resolution: {integrity: sha512-0P58Sbi0LctOMOQbpEOvOL44Ne0sqbS0XWHMvvrg6NE5jQ1xguCSSw9jQeUk2lfrXYsKDdOe6K+oZiwKPilYPQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + + '@esbuild/win32-arm64@0.20.2': + resolution: {integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + + '@esbuild/win32-ia32@0.19.11': + resolution: {integrity: sha512-6YOrWS+sDJDmshdBIQU+Uoyh7pQKrdykdefC1avn76ss5c+RN6gut3LZA4E2cH5xUEp5/cA0+YxRaVtRAb0xBg==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + + '@esbuild/win32-ia32@0.20.2': + resolution: {integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + + '@esbuild/win32-x64@0.19.11': + resolution: {integrity: sha512-vfkhltrjCAb603XaFhqhAF4LGDi2M4OrCRrFusyQ+iTLQ/o60QQXxc9cZC/FFpihBI9N1Grn6SMKVJ4KP7Fuiw==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + + '@esbuild/win32-x64@0.20.2': + resolution: {integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + + '@eslint-community/eslint-utils@4.4.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 + + '@eslint-community/regexpp@4.10.0': + resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + + '@eslint/eslintrc@2.1.4': + resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + '@eslint/js@8.57.0': + resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + '@humanwhocodes/config-array@0.11.14': + resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} + engines: {node: '>=10.10.0'} + + '@humanwhocodes/module-importer@1.0.1': + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} + engines: {node: '>=12.22'} + + '@humanwhocodes/object-schema@2.0.2': + resolution: {integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==} + + '@iconify-json/carbon@1.1.32': + resolution: {integrity: sha512-9X8wVI7AmcnjTyOdDoCgyNwcFL9lb++nacDS2yLANTc27F4y9Q8pJIfUVsakR4KcGqSSBCyXwEmBDeopeTZFqA==} + + '@iconify-json/eos-icons@1.1.10': + resolution: {integrity: sha512-sLkaMSrzHgATDFpVYs3/ymeNxR8CtkZCh1Ds9fYxjfhNmXArofbWhHwANqM4Sw9XNbMJq/Z5yxJ5BPTYqjhRcA==} + + '@iconify-json/ic@1.1.17': + resolution: {integrity: sha512-EvAjZzVESmN36zlyefylePUNaU2BQ3eRKVZ6KQSQ2bG01ppoZaiFZRri74VTyvp5Mlv2yn68ux1fgCoT+etGmA==} + + '@iconify-json/icon-park-outline@1.1.15': + resolution: {integrity: sha512-jQbk/ETARyYPjX6HolkdjSLJHsNCfSBfYUqcUQLXYK/1tfuVnQsUdWG2IM2a7VBpxJtrK7r4n1iwPOFaZ5T46g==} + + '@iconify-json/octicon@1.1.53': + resolution: {integrity: sha512-QaVwZsO7v4F5J1oj3uhxLXYA4fCzrvWFlruyMXOhUDZtrKTc6Vb5nIO1b7A4NOwzlTW638XZzHW70PnE0V0F8g==} + + '@iconify-json/svg-spinners@1.1.2': + resolution: {integrity: sha512-Aab6SqkORaTJ1W+ooufn6C8BsBitrn3uk8iRQLPA6pjhyvQAhkKCGMctyXIL5ZjrycnoFVsZ4mx7KnwEMra8qg==} + + '@iconify/types@2.0.0': + resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} + + '@iconify/utils@2.1.22': + resolution: {integrity: sha512-6UHVzTVXmvO8uS6xFF+L/QTSpTzA/JZxtgU+KYGFyDYMEObZ1bu/b5l+zNJjHy+0leWjHI+C0pXlzGvv3oXZMA==} + + '@isaacs/cliui@8.0.2': + resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} + engines: {node: '>=12'} + + '@jridgewell/gen-mapping@0.3.5': + resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} + engines: {node: '>=6.0.0'} + + '@jridgewell/resolve-uri@3.1.1': + resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==} + engines: {node: '>=6.0.0'} + + '@jridgewell/set-array@1.2.1': + resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} + engines: {node: '>=6.0.0'} + + '@jridgewell/sourcemap-codec@1.4.15': + resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} + + '@jridgewell/trace-mapping@0.3.25': + resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} + + '@kwsites/file-exists@1.1.1': + resolution: {integrity: sha512-m9/5YGR18lIwxSFDwfE3oA7bWuq9kdau6ugN4H2rJeyhFQZcG9AgSHkQtSD15a8WvTgfz9aikZMrKPHvbpqFiw==} + + '@kwsites/promise-deferred@1.1.1': + resolution: {integrity: sha512-GaHYm+c0O9MjZRu0ongGBRbinu8gVAMd2UZjji6jVmqKtZluZnptXGWhz1E8j8D2HJ3f/yMxKAUC0b+57wncIw==} + + '@napi-rs/canvas-android-arm64@0.1.52': + resolution: {integrity: sha512-x/K471KbASPVh5mfBUxokza66J0FNIlOgMNANWAf5C8HiATb487KecEhSkUQvvTS3WLYC9uSqIPHFgwF+tir3w==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [android] + + '@napi-rs/canvas-darwin-arm64@0.1.52': + resolution: {integrity: sha512-4OgVRD7TW02q5Q7lWLLjT+pYJ9ZHkQUTBOuXbPQ5wB0Wnh3RIq/aMY6thoXDZDzdR5vV3a5TUtbZUJ0aqLq3NA==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + + '@napi-rs/canvas-darwin-x64@0.1.52': + resolution: {integrity: sha512-3fgeGJ3j2X6Mtmn0QYf3iA+A6y1ePnsayakc2emEokzf03ErrPczONw3vjnTQo53JLPMzEnfPGAffdktU/ssPA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + + '@napi-rs/canvas-linux-arm-gnueabihf@0.1.52': + resolution: {integrity: sha512-aaDEEK5XwHUrPt0q4SR8l7Va0vtn50KmSs+itxP+o7RNk3Nuch8fINHOXyhMyhwNYgv1tfiJVyHsJhD0E6lXGA==} + engines: {node: '>= 10'} + cpu: [arm] + os: [linux] + + '@napi-rs/canvas-linux-arm64-gnu@0.1.52': + resolution: {integrity: sha512-tzuwM7Amt5mkrp4csQjYWkFzwFdiCm7RNdJ5usX8syzKSXmozqWzLHjzo/2ozdSQNUy6wyzRrxkG4Rh6g0OpOA==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + + '@napi-rs/canvas-linux-arm64-musl@0.1.52': + resolution: {integrity: sha512-HQCtJlDT0dFp3uUZVzZOZ1VLMO7lbLRc548MjMxPpojit2ZdGopFzJ8jDSr4iszHrTO1SM1AxPaCM3pRvCAtjw==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + + '@napi-rs/canvas-linux-x64-gnu@0.1.52': + resolution: {integrity: sha512-z5sBEw0PVWPH/MIQL8hOR8C3YYVlu8lqtRUcYajigMfXAhbMiNqDWTjuIWGMz3nIydDjZmn8KTxw/D4a0HFPqQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@napi-rs/canvas-linux-x64-musl@0.1.52': + resolution: {integrity: sha512-G1+JdWFhHLyHhULJS51xTEhB7EL0ZiAUQwQaRi4/w75OOYDQ91O+o4miaxDHiV0hZuxBhHtZU6ftV2Zl3RMguw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@napi-rs/canvas-win32-x64-msvc@0.1.52': + resolution: {integrity: sha512-hMI626VsCC/wv29qHF78N7TSG+auatOp08DHln0Zdif5y1NJ14NU/rNUhzlTW8Zc6ssw+AMDJ3KKYYWYYg1aoA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + + '@napi-rs/canvas@0.1.52': + resolution: {integrity: sha512-xeW9EghZLDPZuqWJ4l1+eG3ld0i9J7SpV2zlgi34MPt/FE9K2XWGCfnLr0gHGOBkcI3YOVhI13I0HqRAkMPdVw==} + engines: {node: '>= 10'} + + '@netlify/functions@1.6.0': + resolution: {integrity: sha512-6G92AlcpFrQG72XU8YH8pg94eDnq7+Q0YJhb8x4qNpdGsvuzvrfHWBmqFGp/Yshmv4wex9lpsTRZOocdrA2erQ==} + engines: {node: '>=14.0.0'} + + '@nodelib/fs.scandir@2.1.5': + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + + '@nodelib/fs.stat@2.0.5': + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + + '@nodelib/fs.walk@1.2.8': + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + + '@nolebase/markdown-it-bi-directional-links@2.0.0-rc11': + resolution: {integrity: sha512-c0UUZ0L42GyY3uXVlHMOD1hdlsyUIWJ+PDxra0yzOHFu3gsmvAE6MAE137eTKTO7TMHRJIRNW8fPFkfc1K/tfQ==} + peerDependencies: + markdown-it: '>=13.0.1' + + '@nolebase/markdown-it-element-transform@2.0.0-rc11': + resolution: {integrity: sha512-UDtjZW2c3dQHlNJaYTS2oR0TYStLG84Lju0AKnDOT7CpQvaoBawvACtk1aZb8IgQO/LvPqsAjzSGfjNj+M/UPg==} + peerDependencies: + markdown-it: '>=13.0.1' + + '@nolebase/markdown-it-unlazy-img@2.0.0-rc11': + resolution: {integrity: sha512-R0o3TIkV8OqJJTkf9wkEAjIkePVz0MUPyuWPUKo2SLyi2ukzTJVyu8/gGW9FU3Nf7U/QwaofGUk5Lb16EqAsaw==} + peerDependencies: + markdown-it: '>=13.0.1' + + '@nolebase/ui@2.0.0-rc11': + resolution: {integrity: sha512-z3km5HYpLFyHX9wke9ZZZzbNtxOTD7t3u/wd4juG2Ig3dH64DqQS+lLcLLEMzB+gpHVzIK8YrJbh3R6uL7sSqg==} + peerDependencies: + '@rive-app/canvas': ^2.11.1 + asciinema-player: ^3.7.1 + vitepress: ^1.0.0 + vue: ^3.2.0 + peerDependenciesMeta: + '@rive-app/canvas': + optional: true + asciinema-player: + optional: true + vitepress: + optional: true + + '@nolebase/vitepress-plugin-enhanced-mark@2.0.0-rc11': + resolution: {integrity: sha512-ZczfgcIv3igHURlXnOxY660wgOeAAK44sA5GsVj3AJSNqBfEsOOc1ktJARJHuyO2ThaEfeGtIg3r7LeIPJUXTQ==} + peerDependencies: + vitepress: ^1.0.0 + + '@nolebase/vitepress-plugin-enhanced-readabilities@2.0.0-rc11': + resolution: {integrity: sha512-bhdHJ2JdQIbXrkg1siXnOuHpVTqSsiRUA7ddeOge/R0w2BSph/kT/40Ft5TvXzC0Pf9l/TX8G2XVLmPH2T1HWw==} + peerDependencies: + vitepress: ^1.0.0 + + '@nolebase/vitepress-plugin-git-changelog@2.0.0-rc11': + resolution: {integrity: sha512-2scOxG+6IHWJUEukHHCluB4kAq0qbeCmtVJxLmrVW9oIL6iTOkM6g7ngcui4uGQtyc4Y08edSTLdlSu8s/hK6A==} + peerDependencies: + vitepress: ^1.0.0 + + '@nolebase/vitepress-plugin-highlight-targeted-heading@2.0.0-rc11': + resolution: {integrity: sha512-d6LUhIKL6adHVX1vy5HLYmJpjxqQhINX0GiRYuPn5gk8t/+euXY4E+UgC69O7VBi/w4LALWqQRKnc4SnGyclIQ==} + peerDependencies: + vitepress: ^1.0.0 + + '@nolebase/vitepress-plugin-inline-link-preview@2.0.0-rc11': + resolution: {integrity: sha512-vPydswL8gZ+RHSxjZoGPxneXmv3wKC3J137qZz3nfnMhADoP0xcZO3B7uAMFhRVFqO/P+7TyR0n/0MMB3TQSHA==} + peerDependencies: + vitepress: ^1.0.0 + + '@nolebase/vitepress-plugin-og-image@2.0.0-rc11': + resolution: {integrity: sha512-TToaCwE9pxvXuAlpJkqF18teEyUZ2kzva4FktLs/Ki5XAL4oMxCILrYiElNOK9fwceliE0HlANoF7eU+TenkNQ==} + peerDependencies: + vitepress: ^1.0.0 + + '@nolebase/vitepress-plugin-page-properties@2.0.0-rc11': + resolution: {integrity: sha512-m1yApHua3btpY2IkShxxXpBZ/aCErv7m6jq73yetX2M+TnJbQ8+QxSEBKBInvXW5mRPxMtTozPVLL+u8a0IPOw==} + peerDependencies: + vitepress: ^1.0.0 + + '@nolebase/vitepress-plugin-thumbnail-hash@2.0.0-rc11': + resolution: {integrity: sha512-N77wk13LzlBa4pIi0NMhoOh/eVe1qszki23GD5gjPawGWuht+KOTlUCDTVko+GofD8f3VQtFW9suK3nEsGqUQA==} + peerDependencies: + vitepress: ^1.0.0 + + '@pkgjs/parseargs@0.11.0': + resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} + engines: {node: '>=14'} + + '@pkgr/core@0.1.1': + resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==} + engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} + + '@polka/url@1.0.0-next.24': + resolution: {integrity: sha512-2LuNTFBIO0m7kKIQvvPHN6UE63VjpmL9rnEEaOOaiSPbZK+zUOYIzBAWcED+3XYzhYsd/0mD57VdxAEqqV52CQ==} + + '@resvg/resvg-js-android-arm-eabi@2.6.2': + resolution: {integrity: sha512-FrJibrAk6v29eabIPgcTUMPXiEz8ssrAk7TXxsiZzww9UTQ1Z5KAbFJs+Z0Ez+VZTYgnE5IQJqBcoSiMebtPHA==} + engines: {node: '>= 10'} + cpu: [arm] + os: [android] + + '@resvg/resvg-js-android-arm64@2.6.2': + resolution: {integrity: sha512-VcOKezEhm2VqzXpcIJoITuvUS/fcjIw5NA/w3tjzWyzmvoCdd+QXIqy3FBGulWdClvp4g+IfUemigrkLThSjAQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [android] + + '@resvg/resvg-js-darwin-arm64@2.6.2': + resolution: {integrity: sha512-nmok2LnAd6nLUKI16aEB9ydMC6Lidiiq2m1nEBDR1LaaP7FGs4AJ90qDraxX+CWlVuRlvNjyYJTNv8qFjtL9+A==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + + '@resvg/resvg-js-darwin-x64@2.6.2': + resolution: {integrity: sha512-GInyZLjgWDfsVT6+SHxQVRwNzV0AuA1uqGsOAW+0th56J7Nh6bHHKXHBWzUrihxMetcFDmQMAX1tZ1fZDYSRsw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + + '@resvg/resvg-js-linux-arm-gnueabihf@2.6.2': + resolution: {integrity: sha512-YIV3u/R9zJbpqTTNwTZM5/ocWetDKGsro0SWp70eGEM9eV2MerWyBRZnQIgzU3YBnSBQ1RcxRZvY/UxwESfZIw==} + engines: {node: '>= 10'} + cpu: [arm] + os: [linux] + + '@resvg/resvg-js-linux-arm64-gnu@2.6.2': + resolution: {integrity: sha512-zc2BlJSim7YR4FZDQ8OUoJg5holYzdiYMeobb9pJuGDidGL9KZUv7SbiD4E8oZogtYY42UZEap7dqkkYuA91pg==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + + '@resvg/resvg-js-linux-arm64-musl@2.6.2': + resolution: {integrity: sha512-3h3dLPWNgSsD4lQBJPb4f+kvdOSJHa5PjTYVsWHxLUzH4IFTJUAnmuWpw4KqyQ3NA5QCyhw4TWgxk3jRkQxEKg==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + + '@resvg/resvg-js-linux-x64-gnu@2.6.2': + resolution: {integrity: sha512-IVUe+ckIerA7xMZ50duAZzwf1U7khQe2E0QpUxu5MBJNao5RqC0zwV/Zm965vw6D3gGFUl7j4m+oJjubBVoftw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@resvg/resvg-js-linux-x64-musl@2.6.2': + resolution: {integrity: sha512-UOf83vqTzoYQO9SZ0fPl2ZIFtNIz/Rr/y+7X8XRX1ZnBYsQ/tTb+cj9TE+KHOdmlTFBxhYzVkP2lRByCzqi4jQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@resvg/resvg-js-win32-arm64-msvc@2.6.2': + resolution: {integrity: sha512-7C/RSgCa+7vqZ7qAbItfiaAWhyRSoD4l4BQAbVDqRRsRgY+S+hgS3in0Rxr7IorKUpGE69X48q6/nOAuTJQxeQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] + + '@resvg/resvg-js-win32-ia32-msvc@2.6.2': + resolution: {integrity: sha512-har4aPAlvjnLcil40AC77YDIk6loMawuJwFINEM7n0pZviwMkMvjb2W5ZirsNOZY4aDbo5tLx0wNMREp5Brk+w==} + engines: {node: '>= 10'} + cpu: [ia32] + os: [win32] + + '@resvg/resvg-js-win32-x64-msvc@2.6.2': + resolution: {integrity: sha512-ZXtYhtUr5SSaBrUDq7DiyjOFJqBVL/dOBN7N/qmi/pO0IgiWW/f/ue3nbvu9joWE5aAKDoIzy/CxsY0suwGosQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + + '@resvg/resvg-js@2.6.2': + resolution: {integrity: sha512-xBaJish5OeGmniDj9cW5PRa/PtmuVU3ziqrbr5xJj901ZDN4TosrVaNZpEiLZAxdfnhAe7uQ7QFWfjPe9d9K2Q==} + engines: {node: '>= 10'} + + '@rollup/pluginutils@5.1.0': + resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + + '@rollup/rollup-android-arm-eabi@4.13.0': + resolution: {integrity: sha512-5ZYPOuaAqEH/W3gYsRkxQATBW3Ii1MfaT4EQstTnLKViLi2gLSQmlmtTpGucNP3sXEpOiI5tdGhjdE111ekyEg==} + cpu: [arm] + os: [android] + + '@rollup/rollup-android-arm-eabi@4.17.2': + resolution: {integrity: sha512-NM0jFxY8bB8QLkoKxIQeObCaDlJKewVlIEkuyYKm5An1tdVZ966w2+MPQ2l8LBZLjR+SgyV+nRkTIunzOYBMLQ==} + cpu: [arm] + os: [android] + + '@rollup/rollup-android-arm64@4.13.0': + resolution: {integrity: sha512-BSbaCmn8ZadK3UAQdlauSvtaJjhlDEjS5hEVVIN3A4bbl3X+otyf/kOJV08bYiRxfejP3DXFzO2jz3G20107+Q==} + cpu: [arm64] + os: [android] + + '@rollup/rollup-android-arm64@4.17.2': + resolution: {integrity: sha512-yeX/Usk7daNIVwkq2uGoq2BYJKZY1JfyLTaHO/jaiSwi/lsf8fTFoQW/n6IdAsx5tx+iotu2zCJwz8MxI6D/Bw==} + cpu: [arm64] + os: [android] + + '@rollup/rollup-darwin-arm64@4.13.0': + resolution: {integrity: sha512-Ovf2evVaP6sW5Ut0GHyUSOqA6tVKfrTHddtmxGQc1CTQa1Cw3/KMCDEEICZBbyppcwnhMwcDce9ZRxdWRpVd6g==} + cpu: [arm64] + os: [darwin] + + '@rollup/rollup-darwin-arm64@4.17.2': + resolution: {integrity: sha512-kcMLpE6uCwls023+kknm71ug7MZOrtXo+y5p/tsg6jltpDtgQY1Eq5sGfHcQfb+lfuKwhBmEURDga9N0ol4YPw==} + cpu: [arm64] + os: [darwin] + + '@rollup/rollup-darwin-x64@4.13.0': + resolution: {integrity: sha512-U+Jcxm89UTK592vZ2J9st9ajRv/hrwHdnvyuJpa5A2ngGSVHypigidkQJP+YiGL6JODiUeMzkqQzbCG3At81Gg==} + cpu: [x64] + os: [darwin] + + '@rollup/rollup-darwin-x64@4.17.2': + resolution: {integrity: sha512-AtKwD0VEx0zWkL0ZjixEkp5tbNLzX+FCqGG1SvOu993HnSz4qDI6S4kGzubrEJAljpVkhRSlg5bzpV//E6ysTQ==} + cpu: [x64] + os: [darwin] + + '@rollup/rollup-linux-arm-gnueabihf@4.13.0': + resolution: {integrity: sha512-8wZidaUJUTIR5T4vRS22VkSMOVooG0F4N+JSwQXWSRiC6yfEsFMLTYRFHvby5mFFuExHa/yAp9juSphQQJAijQ==} + cpu: [arm] + os: [linux] + + '@rollup/rollup-linux-arm-gnueabihf@4.17.2': + resolution: {integrity: sha512-3reX2fUHqN7sffBNqmEyMQVj/CKhIHZd4y631duy0hZqI8Qoqf6lTtmAKvJFYa6bhU95B1D0WgzHkmTg33In0A==} + cpu: [arm] + os: [linux] + + '@rollup/rollup-linux-arm-musleabihf@4.17.2': + resolution: {integrity: sha512-uSqpsp91mheRgw96xtyAGP9FW5ChctTFEoXP0r5FAzj/3ZRv3Uxjtc7taRQSaQM/q85KEKjKsZuiZM3GyUivRg==} + cpu: [arm] + os: [linux] + + '@rollup/rollup-linux-arm64-gnu@4.13.0': + resolution: {integrity: sha512-Iu0Kno1vrD7zHQDxOmvweqLkAzjxEVqNhUIXBsZ8hu8Oak7/5VTPrxOEZXYC1nmrBVJp0ZcL2E7lSuuOVaE3+w==} + cpu: [arm64] + os: [linux] + + '@rollup/rollup-linux-arm64-gnu@4.17.2': + resolution: {integrity: sha512-EMMPHkiCRtE8Wdk3Qhtciq6BndLtstqZIroHiiGzB3C5LDJmIZcSzVtLRbwuXuUft1Cnv+9fxuDtDxz3k3EW2A==} + cpu: [arm64] + os: [linux] + + '@rollup/rollup-linux-arm64-musl@4.13.0': + resolution: {integrity: sha512-C31QrW47llgVyrRjIwiOwsHFcaIwmkKi3PCroQY5aVq4H0A5v/vVVAtFsI1nfBngtoRpeREvZOkIhmRwUKkAdw==} + cpu: [arm64] + os: [linux] + + '@rollup/rollup-linux-arm64-musl@4.17.2': + resolution: {integrity: sha512-NMPylUUZ1i0z/xJUIx6VUhISZDRT+uTWpBcjdv0/zkp7b/bQDF+NfnfdzuTiB1G6HTodgoFa93hp0O1xl+/UbA==} + cpu: [arm64] + os: [linux] + + '@rollup/rollup-linux-powerpc64le-gnu@4.17.2': + resolution: {integrity: sha512-T19My13y8uYXPw/L/k0JYaX1fJKFT/PWdXiHr8mTbXWxjVF1t+8Xl31DgBBvEKclw+1b00Chg0hxE2O7bTG7GQ==} + cpu: [ppc64] + os: [linux] + + '@rollup/rollup-linux-riscv64-gnu@4.13.0': + resolution: {integrity: sha512-Oq90dtMHvthFOPMl7pt7KmxzX7E71AfyIhh+cPhLY9oko97Zf2C9tt/XJD4RgxhaGeAraAXDtqxvKE1y/j35lA==} + cpu: [riscv64] + os: [linux] + + '@rollup/rollup-linux-riscv64-gnu@4.17.2': + resolution: {integrity: sha512-BOaNfthf3X3fOWAB+IJ9kxTgPmMqPPH5f5k2DcCsRrBIbWnaJCgX2ll77dV1TdSy9SaXTR5iDXRL8n7AnoP5cg==} + cpu: [riscv64] + os: [linux] + + '@rollup/rollup-linux-s390x-gnu@4.17.2': + resolution: {integrity: sha512-W0UP/x7bnn3xN2eYMql2T/+wpASLE5SjObXILTMPUBDB/Fg/FxC+gX4nvCfPBCbNhz51C+HcqQp2qQ4u25ok6g==} + cpu: [s390x] + os: [linux] + + '@rollup/rollup-linux-x64-gnu@4.13.0': + resolution: {integrity: sha512-yUD/8wMffnTKuiIsl6xU+4IA8UNhQ/f1sAnQebmE/lyQ8abjsVyDkyRkWop0kdMhKMprpNIhPmYlCxgHrPoXoA==} + cpu: [x64] + os: [linux] + + '@rollup/rollup-linux-x64-gnu@4.17.2': + resolution: {integrity: sha512-Hy7pLwByUOuyaFC6mAr7m+oMC+V7qyifzs/nW2OJfC8H4hbCzOX07Ov0VFk/zP3kBsELWNFi7rJtgbKYsav9QQ==} + cpu: [x64] + os: [linux] + + '@rollup/rollup-linux-x64-musl@4.13.0': + resolution: {integrity: sha512-9RyNqoFNdF0vu/qqX63fKotBh43fJQeYC98hCaf89DYQpv+xu0D8QFSOS0biA7cGuqJFOc1bJ+m2rhhsKcw1hw==} + cpu: [x64] + os: [linux] + + '@rollup/rollup-linux-x64-musl@4.17.2': + resolution: {integrity: sha512-h1+yTWeYbRdAyJ/jMiVw0l6fOOm/0D1vNLui9iPuqgRGnXA0u21gAqOyB5iHjlM9MMfNOm9RHCQ7zLIzT0x11Q==} + cpu: [x64] + os: [linux] + + '@rollup/rollup-win32-arm64-msvc@4.13.0': + resolution: {integrity: sha512-46ue8ymtm/5PUU6pCvjlic0z82qWkxv54GTJZgHrQUuZnVH+tvvSP0LsozIDsCBFO4VjJ13N68wqrKSeScUKdA==} + cpu: [arm64] + os: [win32] + + '@rollup/rollup-win32-arm64-msvc@4.17.2': + resolution: {integrity: sha512-tmdtXMfKAjy5+IQsVtDiCfqbynAQE/TQRpWdVataHmhMb9DCoJxp9vLcCBjEQWMiUYxO1QprH/HbY9ragCEFLA==} + cpu: [arm64] + os: [win32] + + '@rollup/rollup-win32-ia32-msvc@4.13.0': + resolution: {integrity: sha512-P5/MqLdLSlqxbeuJ3YDeX37srC8mCflSyTrUsgbU1c/U9j6l2g2GiIdYaGD9QjdMQPMSgYm7hgg0551wHyIluw==} + cpu: [ia32] + os: [win32] + + '@rollup/rollup-win32-ia32-msvc@4.17.2': + resolution: {integrity: sha512-7II/QCSTAHuE5vdZaQEwJq2ZACkBpQDOmQsE6D6XUbnBHW8IAhm4eTufL6msLJorzrHDFv3CF8oCA/hSIRuZeQ==} + cpu: [ia32] + os: [win32] + + '@rollup/rollup-win32-x64-msvc@4.13.0': + resolution: {integrity: sha512-UKXUQNbO3DOhzLRwHSpa0HnhhCgNODvfoPWv2FCXme8N/ANFfhIPMGuOT+QuKd16+B5yxZ0HdpNlqPvTMS1qfw==} + cpu: [x64] + os: [win32] + + '@rollup/rollup-win32-x64-msvc@4.17.2': + resolution: {integrity: sha512-TGGO7v7qOq4CYmSBVEYpI1Y5xDuCEnbVC5Vth8mOsW0gDSzxNrVERPc790IGHsrT2dQSimgMr9Ub3Y1Jci5/8w==} + cpu: [x64] + os: [win32] + + '@shikijs/core@1.2.4': + resolution: {integrity: sha512-ClaUWpt8oTzjcF0MM1P81AeWyzc1sNSJlAjMG80CbwqbFqXSNz+NpQVUC0icobt3sZn43Sn27M4pHD/Jmp3zHw==} + + '@shikijs/transformers@1.2.4': + resolution: {integrity: sha512-ysGkpsHxRxLmz8nGKeFdV+gKj1NXt+88sM/34kfKVWTWIXg5gsFOJxJBbG7k+fUR5JlD6sNh65W9qPXrbVE1wQ==} + + '@sindresorhus/merge-streams@2.3.0': + resolution: {integrity: sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==} + engines: {node: '>=18'} + + '@stylistic/eslint-plugin-js@1.7.0': + resolution: {integrity: sha512-PN6On/+or63FGnhhMKSQfYcWutRlzOiYlVdLM6yN7lquoBTqUJHYnl4TA4MHwiAt46X5gRxDr1+xPZ1lOLcL+Q==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: '>=8.40.0' + + '@stylistic/eslint-plugin-jsx@1.7.0': + resolution: {integrity: sha512-BACdBwXakQvjYIST5N2WWhRbvhRsIxa/F59BiZol+0IH4FSmDXhie7v/yaxDIIA9CbfElzOmIA5nWNYTVXcnwQ==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: '>=8.40.0' + + '@stylistic/eslint-plugin-plus@1.7.0': + resolution: {integrity: sha512-AabDw8sXsc70Ydx3qnbeTlRHZnIwY6UKEenBPURPhY3bfYWX+/pDpZH40HkOu94v8D0DUrocPkeeEUxl4e0JDg==} + peerDependencies: + eslint: '*' + + '@stylistic/eslint-plugin-ts@1.7.0': + resolution: {integrity: sha512-QsHv98mmW1xaucVYQTyLDgEpybPJ/6jPPxVBrIchntWWwj74xCWKUiw79hu+TpYj/Pbhd9rkqJYLNq3pQGYuyA==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: '>=8.40.0' + + '@stylistic/eslint-plugin@1.7.0': + resolution: {integrity: sha512-ThMUjGIi/jeWYNvOdjZkoLw1EOVs0tEuKXDgWvTn8uWaEz55HuPlajKxjKLpv19C+qRDbKczJfzUODfCdME53A==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: '>=8.40.0' + + '@types/eslint@8.56.5': + resolution: {integrity: sha512-u5/YPJHo1tvkSF2CE0USEkxon82Z5DBy2xR+qfyYNszpX9qcs4sT6uq2kBbj4BXY1+DBGDPnrhMZV3pKWGNukw==} + + '@types/eslint@8.56.7': + resolution: {integrity: sha512-SjDvI/x3zsZnOkYZ3lCt9lOZWZLB2jIlNKz+LBgCtDurK0JZcwucxYHn1w2BJkD34dgX9Tjnak0txtq4WTggEA==} + + '@types/estree@1.0.5': + resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} + + '@types/fs-extra@11.0.4': + resolution: {integrity: sha512-yTbItCNreRooED33qjunPthRcSjERP1r4MqCZc7wv0u2sUkzTFp45tgUfS5+r7FrZPdmCCNflLhVSP/o+SemsQ==} + + '@types/hast@3.0.4': + resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==} + + '@types/json-schema@7.0.15': + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + + '@types/jsonfile@6.1.4': + resolution: {integrity: sha512-D5qGUYwjvnNNextdU59/+fI+spnwtTFmyQP0h+PfIOSkNfpU6AOICUOkm4i0OnSk+NyjdPJrxCDro0sJsWlRpQ==} + + '@types/linkify-it@3.0.5': + resolution: {integrity: sha512-yg6E+u0/+Zjva+buc3EIb+29XEg4wltq7cSmd4Uc2EE/1nUVmxyzpX6gUXD0V8jIrG0r7YeOGVIbYRkxeooCtw==} + + '@types/lodash@4.17.0': + resolution: {integrity: sha512-t7dhREVv6dbNj0q17X12j7yDG4bD/DHYX7o5/DbDxobP0HnGPgpRz2Ej77aL7TZT3DSw13fqUTj8J4mMnqa7WA==} + + '@types/markdown-it-footnote@3.0.4': + resolution: {integrity: sha512-XJ6n+v+2u+2gmYLSHcxyoNT/YrgrKvHuDJQlykFjuxCQCr86P2/fx1V6/0lcKxv5cSIlCaJ6sUcNS3zDI7I+LA==} + + '@types/markdown-it@12.2.3': + resolution: {integrity: sha512-GKMHFfv3458yYy+v/N8gjufHO6MSZKCOXpZc5GXIWWy8uldwfmPn98vp81gZ5f9SVw8YYBctgfJ22a2d7AOMeQ==} + + '@types/markdown-it@13.0.7': + resolution: {integrity: sha512-U/CBi2YUUcTHBt5tjO2r5QV/x0Po6nsYwQU4Y04fBS6vfoImaiZ6f8bi3CjTCxBPQSO1LMyUqkByzi8AidyxfA==} + + '@types/mdast@3.0.15': + resolution: {integrity: sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==} + + '@types/mdast@4.0.3': + resolution: {integrity: sha512-LsjtqsyF+d2/yFOYaN22dHZI1Cpwkrj+g06G8+qtUKlhovPW89YhqSnfKtMbkgmEtYpH2gydRNULd6y8mciAFg==} + + '@types/mdurl@1.0.5': + resolution: {integrity: sha512-6L6VymKTzYSrEf4Nev4Xa1LCHKrlTlYCBMTlQKFuddo1CvQcE52I0mwfOJayueUC7MJuXOeHTcIU683lzd0cUA==} + + '@types/node-fetch@2.6.11': + resolution: {integrity: sha512-24xFj9R5+rfQJLRyM56qh+wnVSYhyXC2tkoBndtY0U+vubqNsYXGjufB2nn8Q6gt0LrARwL6UBtMCSVCwl4B1g==} + + '@types/node@20.10.6': + resolution: {integrity: sha512-Vac8H+NlRNNlAmDfGUP7b5h/KA+AtWIzuXy0E6OyP8f1tCLYAtPvKRRDJjAPqhpCb0t6U2j7/xqAuLEebW2kiw==} + + '@types/node@20.12.8': + resolution: {integrity: sha512-NU0rJLJnshZWdE/097cdCBbyW1h4hEg0xpovcoAQYHl8dnEyp/NAOiE45pvc+Bd1Dt+2r94v2eGFpQJ4R7g+2w==} + + '@types/normalize-package-data@2.4.4': + resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} + + '@types/semver@7.5.6': + resolution: {integrity: sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==} + + '@types/semver@7.5.8': + resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} + + '@types/unist@2.0.10': + resolution: {integrity: sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==} + + '@types/unist@3.0.2': + resolution: {integrity: sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==} + + '@types/web-bluetooth@0.0.20': + resolution: {integrity: sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==} + + '@typescript-eslint/eslint-plugin@7.5.0': + resolution: {integrity: sha512-HpqNTH8Du34nLxbKgVMGljZMG0rJd2O9ecvr2QLYp+7512ty1j42KnsFwspPXg1Vh8an9YImf6CokUBltisZFQ==} + engines: {node: ^18.18.0 || >=20.0.0} + peerDependencies: + '@typescript-eslint/parser': ^7.0.0 + eslint: ^8.56.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@typescript-eslint/parser@7.5.0': + resolution: {integrity: sha512-cj+XGhNujfD2/wzR1tabNsidnYRaFfEkcULdcIyVBYcXjBvBKOes+mpMBP7hMpOyk+gBcfXsrg4NBGAStQyxjQ==} + engines: {node: ^18.18.0 || >=20.0.0} + peerDependencies: + eslint: ^8.56.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@typescript-eslint/scope-manager@6.21.0': + resolution: {integrity: sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==} + engines: {node: ^16.0.0 || >=18.0.0} + + '@typescript-eslint/scope-manager@7.5.0': + resolution: {integrity: sha512-Z1r7uJY0MDeUlql9XJ6kRVgk/sP11sr3HKXn268HZyqL7i4cEfrdFuSSY/0tUqT37l5zT0tJOsuDP16kio85iA==} + engines: {node: ^18.18.0 || >=20.0.0} + + '@typescript-eslint/scope-manager@7.8.0': + resolution: {integrity: sha512-viEmZ1LmwsGcnr85gIq+FCYI7nO90DVbE37/ll51hjv9aG+YZMb4WDE2fyWpUR4O/UrhGRpYXK/XajcGTk2B8g==} + engines: {node: ^18.18.0 || >=20.0.0} + + '@typescript-eslint/type-utils@7.5.0': + resolution: {integrity: sha512-A021Rj33+G8mx2Dqh0nMO9GyjjIBK3MqgVgZ2qlKf6CJy51wY/lkkFqq3TqqnH34XyAHUkq27IjlUkWlQRpLHw==} + engines: {node: ^18.18.0 || >=20.0.0} + peerDependencies: + eslint: ^8.56.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@typescript-eslint/types@6.21.0': + resolution: {integrity: sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==} + engines: {node: ^16.0.0 || >=18.0.0} + + '@typescript-eslint/types@7.5.0': + resolution: {integrity: sha512-tv5B4IHeAdhR7uS4+bf8Ov3k793VEVHd45viRRkehIUZxm0WF82VPiLgHzA/Xl4TGPg1ZD49vfxBKFPecD5/mg==} + engines: {node: ^18.18.0 || >=20.0.0} + + '@typescript-eslint/types@7.8.0': + resolution: {integrity: sha512-wf0peJ+ZGlcH+2ZS23aJbOv+ztjeeP8uQ9GgwMJGVLx/Nj9CJt17GWgWWoSmoRVKAX2X+7fzEnAjxdvK2gqCLw==} + engines: {node: ^18.18.0 || >=20.0.0} + + '@typescript-eslint/typescript-estree@6.21.0': + resolution: {integrity: sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@typescript-eslint/typescript-estree@7.5.0': + resolution: {integrity: sha512-YklQQfe0Rv2PZEueLTUffiQGKQneiIEKKnfIqPIOxgM9lKSZFCjT5Ad4VqRKj/U4+kQE3fa8YQpskViL7WjdPQ==} + engines: {node: ^18.18.0 || >=20.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@typescript-eslint/typescript-estree@7.8.0': + resolution: {integrity: sha512-5pfUCOwK5yjPaJQNy44prjCwtr981dO8Qo9J9PwYXZ0MosgAbfEMB008dJ5sNo3+/BN6ytBPuSvXUg9SAqB0dg==} + engines: {node: ^18.18.0 || >=20.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@typescript-eslint/utils@6.21.0': + resolution: {integrity: sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + + '@typescript-eslint/utils@7.5.0': + resolution: {integrity: sha512-3vZl9u0R+/FLQcpy2EHyRGNqAS/ofJ3Ji8aebilfJe+fobK8+LbIFmrHciLVDxjDoONmufDcnVSF38KwMEOjzw==} + engines: {node: ^18.18.0 || >=20.0.0} + peerDependencies: + eslint: ^8.56.0 + + '@typescript-eslint/utils@7.8.0': + resolution: {integrity: sha512-L0yFqOCflVqXxiZyXrDr80lnahQfSOfc9ELAAZ75sqicqp2i36kEZZGuUymHNFoYOqxRT05up760b4iGsl02nQ==} + engines: {node: ^18.18.0 || >=20.0.0} + peerDependencies: + eslint: ^8.56.0 + + '@typescript-eslint/visitor-keys@6.21.0': + resolution: {integrity: sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==} + engines: {node: ^16.0.0 || >=18.0.0} + + '@typescript-eslint/visitor-keys@7.5.0': + resolution: {integrity: sha512-mcuHM/QircmA6O7fy6nn2w/3ditQkj+SgtOc8DW3uQ10Yfj42amm2i+6F2K4YAOPNNTmE6iM1ynM6lrSwdendA==} + engines: {node: ^18.18.0 || >=20.0.0} + + '@typescript-eslint/visitor-keys@7.8.0': + resolution: {integrity: sha512-q4/gibTNBQNA0lGyYQCmWRS5D15n8rXh4QjK3KV+MBPlTYHpfBUT3D3PaPR/HeNiI9W6R7FvlkcGhNyAoP+caA==} + engines: {node: ^18.18.0 || >=20.0.0} + + '@ungap/structured-clone@1.2.0': + resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} + + '@unlazy/core@0.11.3': + resolution: {integrity: sha512-y/d2UkDjp6Eftp01To8FYXR5V9XxJu2vebHkYUx200d9gsOQ7qd9U+IEgc/9TqVPL7cqRrLqttj0HFb2CEtAjw==} + + '@unlazy/vue@0.11.3': + resolution: {integrity: sha512-h3KQgsDxYbwXrLSNYirlczIvoAdFZnZHsmmTpQtmHG4uzr5II08jURem3HZtpmQJ67VZkLhBLkRKYlyFsF4gUg==} + + '@unocss/astro@0.58.9': + resolution: {integrity: sha512-VWfHNC0EfawFxLfb3uI+QcMGBN+ju+BYtutzeZTjilLKj31X2UpqIh8fepixL6ljgZzB3fweqg2xtUMC0gMnoQ==} + peerDependencies: + vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 + peerDependenciesMeta: + vite: + optional: true + + '@unocss/cli@0.58.9': + resolution: {integrity: sha512-q7qlwX3V6UaqljWUQ5gMj36yTA9eLuuRywahdQWt1ioy4aPF/MEEfnMBZf/ntrqf5tIT5TO8fE11nvCco2Q/sA==} + engines: {node: '>=14'} + hasBin: true + + '@unocss/config@0.58.9': + resolution: {integrity: sha512-90wRXIyGNI8UenWxvHUcH4l4rgq813MsTzYWsf6ZKyLLvkFjV2b2EfGXI27GPvZ7fVE1OAqx+wJNTw8CyQxwag==} + engines: {node: '>=14'} + + '@unocss/config@0.59.4': + resolution: {integrity: sha512-h3yhj+D5Ygn5R7gbK4wMrtXZX6FF5DF6YD517sSSb0XB3lxHD9PhhT4HaV1hpHknvu0cMFU3460M45+TN1TI0Q==} + engines: {node: '>=14'} + + '@unocss/core@0.58.9': + resolution: {integrity: sha512-wYpPIPPsOIbIoMIDuH8ihehJk5pAZmyFKXIYO/Kro98GEOFhz6lJoLsy6/PZuitlgp2/TSlubUuWGjHWvp5osw==} + + '@unocss/core@0.59.4': + resolution: {integrity: sha512-bBZ1sgcAtezQVZ1BST9IS3jqcsTLyqKNjiIf7FTnX3DHpfpYuMDFzSOtmkZDzBleOLO/CtcRWjT0HwTSQAmV0A==} + + '@unocss/eslint-config@0.58.9': + resolution: {integrity: sha512-7Cf9NVPQqdhd6rbe2JDlqY9bBwuFfxvZOmeEUcKaI10QNNrDNvnMKd8rToxCdm5RToSjNeuj66V/scl8Kv8rfQ==} + engines: {node: '>=14'} + + '@unocss/eslint-plugin@0.58.9': + resolution: {integrity: sha512-StlHO850jow2w/PTA01opkGAD6WO+iu65fxel062gp/aeoO/cRwVlQntVX7Z8QHDGXnftjW83RjvX9LqW8+iLw==} + engines: {node: '>=14'} + + '@unocss/eslint-plugin@0.59.4': + resolution: {integrity: sha512-bWxr0ax0X8F97/JcQ8V34Zl4ZSPklMkYAExj+svfanng7i6ymBCmMDfSVcNjb7VJFP1ealNuEnJ9PJcV0N0aQQ==} + engines: {node: '>=14'} + + '@unocss/extractor-arbitrary-variants@0.58.9': + resolution: {integrity: sha512-M/BvPdbEEMdhcFQh/z2Bf9gylO1Ky/ZnpIvKWS1YJPLt4KA7UWXSUf+ZNTFxX+X58Is5qAb5hNh/XBQmL3gbXg==} + + '@unocss/inspector@0.58.9': + resolution: {integrity: sha512-uRzqkCNeBmEvFePXcfIFcQPMlCXd9/bLwa5OkBthiOILwQdH1uRIW3GWAa2SWspu+kZLP0Ly3SjZ9Wqi+5ZtTw==} + + '@unocss/postcss@0.58.9': + resolution: {integrity: sha512-PnKmH6Qhimw35yO6u6yx9SHaX2NmvbRNPDvMDHA/1xr3M8L0o8U88tgKbWfm65NEGF3R1zJ9A8rjtZn/LPkgPA==} + engines: {node: '>=14'} + peerDependencies: + postcss: ^8.4.21 + + '@unocss/preset-attributify@0.58.9': + resolution: {integrity: sha512-ucP+kXRFcwmBmHohUVv31bE/SejMAMo7Hjb0QcKVLyHlzRWUJsfNR+jTAIGIUSYxN7Q8MeigYsongGo3nIeJnQ==} + + '@unocss/preset-icons@0.58.9': + resolution: {integrity: sha512-9dS48+yAunsbS0ylOW2Wisozwpn3nGY1CqTiidkUnrMnrZK3al579A7srUX9NyPWWDjprO7eU/JkWbdDQSmFFA==} + + '@unocss/preset-mini@0.58.9': + resolution: {integrity: sha512-m4aDGYtueP8QGsU3FsyML63T/w5Mtr4htme2jXy6m50+tzC1PPHaIBstMTMQfLc6h8UOregPJyGHB5iYQZGEvQ==} + + '@unocss/preset-tagify@0.58.9': + resolution: {integrity: sha512-obh75XrRmxYwrQMflzvhQUMeHwd/R9bEDhTWUW9aBTolBy4eNypmQwOhHCKh5Xi4Dg6o0xj6GWC/jcCj1SPLog==} + + '@unocss/preset-typography@0.58.9': + resolution: {integrity: sha512-hrsaqKlcZni3Vh4fwXC+lP9e92FQYbqtmlZw2jpxlVwwH5aLzwk4d4MiFQGyhCfzuSDYm0Zd52putFVV02J7bA==} + + '@unocss/preset-uno@0.58.9': + resolution: {integrity: sha512-Fze+X2Z/EegCkRdDRgwwvFBmXBenNR1AG8KxAyz8iPeWbhOBaRra2sn2ScryrfH6SbJHpw26ZyJXycAdS0Fq3A==} + + '@unocss/preset-web-fonts@0.58.9': + resolution: {integrity: sha512-XtiO+Z+RYnNYomNkS2XxaQiY++CrQZKOfNGw5htgIrb32QtYVQSkyYQ3jDw7JmMiCWlZ4E72cV/zUb++WrZLxg==} + + '@unocss/preset-wind@0.58.9': + resolution: {integrity: sha512-7l+7Vx5UoN80BmJKiqDXaJJ6EUqrnUQYv8NxCThFi5lYuHzxsYWZPLU3k3XlWRUQt8XL+6rYx7mMBmD7EUSHyw==} + + '@unocss/reset@0.58.9': + resolution: {integrity: sha512-nA2pg3tnwlquq+FDOHyKwZvs20A6iBsKPU7Yjb48JrNnzoaXqE+O9oN6782IG2yKVW4AcnsAnAnM4cxXhGzy1w==} + + '@unocss/rule-utils@0.58.9': + resolution: {integrity: sha512-45bDa+elmlFLthhJmKr2ltKMAB0yoXnDMQ6Zp5j3OiRB7dDMBkwYRPvHLvIe+34Ey7tDt/kvvDPtWMpPl2quUQ==} + engines: {node: '>=14'} + + '@unocss/scope@0.58.9': + resolution: {integrity: sha512-BIwcpx0R3bE0rYa9JVDJTk0GX32EBvnbvufBpNkWfC5tb7g+B7nMkVq9ichanksYCCxrIQQo0mrIz5PNzu9sGA==} + + '@unocss/transformer-attributify-jsx-babel@0.58.9': + resolution: {integrity: sha512-UGaQoGZg+3QrsPtnGHPECmsGn4EQb2KSdZ4eGEn2YssjKv+CcQhzRvpEUgnuF/F+jGPkCkS/G/YEQBHRWBY54Q==} + + '@unocss/transformer-attributify-jsx@0.58.9': + resolution: {integrity: sha512-jpL3PRwf8t43v1agUdQn2EHGgfdWfvzsMxFtoybO88xzOikzAJaaouteNtojc/fQat2T9iBduDxVj5egdKmhdQ==} + + '@unocss/transformer-compile-class@0.58.9': + resolution: {integrity: sha512-l2VpCqelJ6Tgc1kfSODxBtg7fCGPVRr2EUzTg1LrGYKa2McbKuc/wV/2DWKHGxL6+voWi7a2C9XflqGDXXutuQ==} + + '@unocss/transformer-directives@0.58.9': + resolution: {integrity: sha512-pLOUsdoY2ugVntJXg0xuGjO9XZ2xCiMxTPRtpZ4TsEzUtdEzMswR06Y8VWvNciTB/Zqxcz9ta8rD0DKePOfSuw==} + + '@unocss/transformer-variant-group@0.58.9': + resolution: {integrity: sha512-3A6voHSnFcyw6xpcZT6oxE+KN4SHRnG4z862tdtWvRGcN+jGyNr20ylEZtnbk4xj0VNMeGHHQRZ0WLvmrAwvOQ==} + + '@unocss/vite@0.58.9': + resolution: {integrity: sha512-mmppBuulAHCal+sC0Qz36Y99t0HicAmznpj70Kzwl7g/yvXwm58/DW2OnpCWw+uA8/JBft/+z3zE+XvrI+T1HA==} + peerDependencies: + vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 + + '@vitejs/plugin-vue@5.0.4': + resolution: {integrity: sha512-WS3hevEszI6CEVEx28F8RjTX97k3KsrcY6kvTg7+Whm5y3oYvcqzVeGCU3hxSAn4uY2CLCkeokkGKpoctccilQ==} + engines: {node: ^18.0.0 || >=20.0.0} + peerDependencies: + vite: ^5.0.0 + vue: ^3.2.25 + + '@vue/compiler-core@3.4.21': + resolution: {integrity: sha512-MjXawxZf2SbZszLPYxaFCjxfibYrzr3eYbKxwpLR9EQN+oaziSu3qKVbwBERj1IFIB8OLUewxB5m/BFzi613og==} + + '@vue/compiler-core@3.4.26': + resolution: {integrity: sha512-N9Vil6Hvw7NaiyFUFBPXrAyETIGlQ8KcFMkyk6hW1Cl6NvoqvP+Y8p1Eqvx+UdqsnrnI9+HMUEJegzia3mhXmQ==} + + '@vue/compiler-dom@3.4.21': + resolution: {integrity: sha512-IZC6FKowtT1sl0CR5DpXSiEB5ayw75oT2bma1BEhV7RRR1+cfwLrxc2Z8Zq/RGFzJ8w5r9QtCOvTjQgdn0IKmA==} + + '@vue/compiler-dom@3.4.26': + resolution: {integrity: sha512-4CWbR5vR9fMg23YqFOhr6t6WB1Fjt62d6xdFPyj8pxrYub7d+OgZaObMsoxaF9yBUHPMiPFK303v61PwAuGvZA==} + + '@vue/compiler-sfc@3.4.21': + resolution: {integrity: sha512-me7epoTxYlY+2CUM7hy9PCDdpMPfIwrOvAXud2Upk10g4YLv9UBW7kL798TvMeDhPthkZ0CONNrK2GoeI1ODiQ==} + + '@vue/compiler-sfc@3.4.26': + resolution: {integrity: sha512-It1dp+FAOCgluYSVYlDn5DtZBxk1NCiJJfu2mlQqa/b+k8GL6NG/3/zRbJnHdhV2VhxFghaDq5L4K+1dakW6cw==} + + '@vue/compiler-ssr@3.4.21': + resolution: {integrity: sha512-M5+9nI2lPpAsgXOGQobnIueVqc9sisBFexh5yMIMRAPYLa7+5wEJs8iqOZc1WAa9WQbx9GR2twgznU8LTIiZ4Q==} + + '@vue/compiler-ssr@3.4.26': + resolution: {integrity: sha512-FNwLfk7LlEPRY/g+nw2VqiDKcnDTVdCfBREekF8X74cPLiWHUX6oldktf/Vx28yh4STNy7t+/yuLoMBBF7YDiQ==} + + '@vue/devtools-api@7.0.25': + resolution: {integrity: sha512-fL6DlRp4MSXCLYcqYvKU7QhQZWE3Hfu7X8pC25BS74coJi7uJeSWs4tmrITcwFihNmC9S5GPiffkMdckkeWjzg==} + + '@vue/devtools-kit@7.0.25': + resolution: {integrity: sha512-wbLkSnOTsKHPb1mB9koFHUoSAF8Dp6Ii/ocR2+DeXFY4oKqIjCeJb/4Lihk4rgqEhCy1WwxLfTgNDo83VvDYkQ==} + peerDependencies: + vue: ^3.0.0 + + '@vue/devtools-shared@7.0.25': + resolution: {integrity: sha512-5+XYhcHSXuJSguYnNwL6/e6VTmXwCfryWQOkffh9ZU2zMByybqqqBrMWqvBkqTmMFCjPdzulo66xXbVbwLaElQ==} + + '@vue/reactivity@3.4.21': + resolution: {integrity: sha512-UhenImdc0L0/4ahGCyEzc/pZNwVgcglGy9HVzJ1Bq2Mm9qXOpP8RyNTjookw/gOCUlXSEtuZ2fUg5nrHcoqJcw==} + + '@vue/runtime-core@3.4.21': + resolution: {integrity: sha512-pQthsuYzE1XcGZznTKn73G0s14eCJcjaLvp3/DKeYWoFacD9glJoqlNBxt3W2c5S40t6CCcpPf+jG01N3ULyrA==} + + '@vue/runtime-dom@3.4.21': + resolution: {integrity: sha512-gvf+C9cFpevsQxbkRBS1NpU8CqxKw0ebqMvLwcGQrNpx6gqRDodqKqA+A2VZZpQ9RpK2f9yfg8VbW/EpdFUOJw==} + + '@vue/server-renderer@3.4.21': + resolution: {integrity: sha512-aV1gXyKSN6Rz+6kZ6kr5+Ll14YzmIbeuWe7ryJl5muJ4uwSwY/aStXTixx76TwkZFJLm1aAlA/HSWEJ4EyiMkg==} + peerDependencies: + vue: 3.4.21 + + '@vue/shared@3.4.21': + resolution: {integrity: sha512-PuJe7vDIi6VYSinuEbUIQgMIRZGgM8e4R+G+/dQTk0X1NEdvgvvgv7m+rfmDH1gZzyA1OjjoWskvHlfRNfQf3g==} + + '@vue/shared@3.4.26': + resolution: {integrity: sha512-Fg4zwR0GNnjzodMt3KRy2AWGMKQXByl56+4HjN87soxLNU9P5xcJkstAlIeEF3cU6UYOzmJl1tV0dVPGIljCnQ==} + + '@vueuse/core@10.9.0': + resolution: {integrity: sha512-/1vjTol8SXnx6xewDEKfS0Ra//ncg4Hb0DaZiwKf7drgfMsKFExQ+FnnENcN6efPen+1kIzhLQoGSy0eDUVOMg==} + + '@vueuse/integrations@10.9.0': + resolution: {integrity: sha512-acK+A01AYdWSvL4BZmCoJAcyHJ6EqhmkQEXbQLwev1MY7NBnS+hcEMx/BzVoR9zKI+UqEPMD9u6PsyAuiTRT4Q==} + peerDependencies: + async-validator: '*' + axios: '*' + change-case: '*' + drauu: '*' + focus-trap: '*' + fuse.js: '*' + idb-keyval: '*' + jwt-decode: '*' + nprogress: '*' + qrcode: '*' + sortablejs: '*' + universal-cookie: '*' + peerDependenciesMeta: + async-validator: + optional: true + axios: + optional: true + change-case: + optional: true + drauu: + optional: true + focus-trap: + optional: true + fuse.js: + optional: true + idb-keyval: + optional: true + jwt-decode: + optional: true + nprogress: + optional: true + qrcode: + optional: true + sortablejs: + optional: true + universal-cookie: + optional: true + + '@vueuse/metadata@10.9.0': + resolution: {integrity: sha512-iddNbg3yZM0X7qFY2sAotomgdHK7YJ6sKUvQqbvwnf7TmaVPxS4EJydcNsVejNdS8iWCtDk+fYXr7E32nyTnGA==} + + '@vueuse/shared@10.9.0': + resolution: {integrity: sha512-Uud2IWncmAfJvRaFYzv5OHDli+FbOzxiVEQdLCKQKLyhz94PIyFC3CHcH7EDMwIn8NPtD06+PNbC/PiO0LGLtw==} + + acorn-jsx@5.3.2: + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + + acorn@8.11.3: + resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} + engines: {node: '>=0.4.0'} + hasBin: true + + ajv@6.12.6: + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + + algoliasearch@4.23.2: + resolution: {integrity: sha512-8aCl055IsokLuPU8BzLjwzXjb7ty9TPcUFFOk0pYOwsE5DMVhE3kwCMFtsCFKcnoPZK7oObm+H5mbnSO/9ioxQ==} + + ansi-colors@4.1.3: + resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} + engines: {node: '>=6'} + + ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + + ansi-regex@6.0.1: + resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} + engines: {node: '>=12'} + + ansi-styles@3.2.1: + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} + + ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + + ansi-styles@6.2.1: + resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} + engines: {node: '>=12'} + + anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + + are-docs-informative@0.0.2: + resolution: {integrity: sha512-ixiS0nLNNG5jNQzgZJNoUpBKdo9yTYZMGJ+QgT2jmjR7G7+QHRCc4v6LQ3NgE7EBJq+o0ams3waJwkrlBom8Ig==} + engines: {node: '>=14'} + + argparse@1.0.10: + resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} + + argparse@2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + + array-union@2.1.0: + resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} + engines: {node: '>=8'} + + asynckit@0.4.0: + resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} + + b4a@1.6.4: + resolution: {integrity: sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw==} + + bail@2.0.2: + resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==} + + balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + + base64-js@1.5.1: + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + + bcp-47-match@2.0.3: + resolution: {integrity: sha512-JtTezzbAibu8G0R9op9zb3vcWZd9JF6M0xOYGPn0fNCd7wOpRB1mU2mH9T8gaBGbAAyIIVgB2G7xG0GP98zMAQ==} + + binary-extensions@2.2.0: + resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} + engines: {node: '>=8'} + + bl@4.1.0: + resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} + + boolbase@1.0.0: + resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} + + brace-expansion@1.1.11: + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + + brace-expansion@2.0.1: + resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + + braces@3.0.2: + resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + engines: {node: '>=8'} + + browserslist@4.22.3: + resolution: {integrity: sha512-UAp55yfwNv0klWNapjs/ktHoguxuQNGnOzxYmfnXIS+8AsRDZkSDxg7R1AX3GKzn078SBI5dzwzj/Yx0Or0e3A==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + + buffer@5.7.1: + resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} + + builtin-modules@3.3.0: + resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} + engines: {node: '>=6'} + + builtins@5.0.1: + resolution: {integrity: sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==} + + bundle-name@4.1.0: + resolution: {integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==} + engines: {node: '>=18'} + + cac@6.7.14: + resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} + engines: {node: '>=8'} + + callsites@3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + + caniuse-lite@1.0.30001585: + resolution: {integrity: sha512-yr2BWR1yLXQ8fMpdS/4ZZXpseBgE7o4g41x3a6AJOqZuOi+iE/WdJYAuZ6Y95i4Ohd2Y+9MzIWRR+uGABH4s3Q==} + + ccount@2.0.1: + resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} + + chalk@2.4.2: + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} + engines: {node: '>=4'} + + chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + + chalk@5.3.0: + resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + + character-entities-html4@2.1.0: + resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==} + + character-entities-legacy@1.1.4: + resolution: {integrity: sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==} + + character-entities-legacy@3.0.0: + resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==} + + character-entities@1.2.4: + resolution: {integrity: sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==} + + character-reference-invalid@1.1.4: + resolution: {integrity: sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==} + + cheerio-select@1.6.0: + resolution: {integrity: sha512-eq0GdBvxVFbqWgmCm7M3XGs1I8oLy/nExUnh6oLqmBditPO9AqQJrkslDpMun/hZ0yyTs8L0m85OHp4ho6Qm9g==} + + cheerio@1.0.0-rc.10: + resolution: {integrity: sha512-g0J0q/O6mW8z5zxQ3A8E8J1hUgp4SMOvEoW/x84OwyHKe/Zccz83PVT4y5Crcr530FV6NgmKI1qvGTKVl9XXVw==} + engines: {node: '>= 6'} + + chokidar@3.5.3: + resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} + engines: {node: '>= 8.10.0'} + + chokidar@3.6.0: + resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} + engines: {node: '>= 8.10.0'} + + chownr@1.1.4: + resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} + + ci-info@4.0.0: + resolution: {integrity: sha512-TdHqgGf9odd8SXNuxtUBVx8Nv+qZOejE6qyqiy5NtbYYQOeFa6zmHkxlPzmaLxWWHsU6nJmB7AETdVPi+2NBUg==} + engines: {node: '>=8'} + + clean-regexp@1.0.0: + resolution: {integrity: sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==} + engines: {node: '>=4'} + + cli-cursor@4.0.0: + resolution: {integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + cli-spinners@2.9.2: + resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} + engines: {node: '>=6'} + + cliui@8.0.1: + resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} + engines: {node: '>=12'} + + color-convert@1.9.3: + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + + color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + + color-name@1.1.3: + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + + color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + + color-string@1.9.1: + resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==} + + color@4.2.3: + resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==} + engines: {node: '>=12.5.0'} + + colorette@2.0.20: + resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} + + combined-stream@1.0.8: + resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} + engines: {node: '>= 0.8'} + + comma-separated-tokens@2.0.3: + resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} + + commander@6.2.1: + resolution: {integrity: sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==} + engines: {node: '>= 6'} + + commander@9.2.0: + resolution: {integrity: sha512-e2i4wANQiSXgnrBlIatyHtP1odfUp0BbV5Y5nEGbxtIrStkEOAAzCUirvLBNXHLr7kwLvJl6V+4V3XV9x7Wd9w==} + engines: {node: ^12.20.0 || >=14} + + comment-parser@1.4.1: + resolution: {integrity: sha512-buhp5kePrmda3vhc5B9t7pUQXAb2Tnd0qgpkIhPhkHXxJpiPJ11H0ZEU0oBpJ2QztSbzG/ZxMj/CHsYJqRHmyg==} + engines: {node: '>= 12.0.0'} + + concat-map@0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + + consola@3.2.3: + resolution: {integrity: sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==} + engines: {node: ^14.18.0 || >=16.10.0} + + convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + + copy-anything@2.0.6: + resolution: {integrity: sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==} + + core-js-compat@3.35.1: + resolution: {integrity: sha512-sftHa5qUJY3rs9Zht1WEnmkvXputCyDBczPnr7QDgL8n3qrF3CMXY4VPSYtOLLiOUJcah2WNXREd48iOl6mQIw==} + + cross-spawn@7.0.3: + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} + + css-select@4.3.0: + resolution: {integrity: sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==} + + css-selector-parser@2.3.2: + resolution: {integrity: sha512-JjnG6/pdLJh3iqipq7kteNVtbIczsU2A1cNxb+VAiniSuNmrB/NI3us4rSCfArvlwRXYly+jZhUUfEoInSH9Qg==} + + css-selector-parser@3.0.5: + resolution: {integrity: sha512-3itoDFbKUNx1eKmVpYMFyqKX04Ww9osZ+dLgrk6GEv6KMVeXUhUnp4I5X+evw+u3ZxVU6RFXSSRxlTeMh8bA+g==} + + 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} + + css-what@6.1.0: + resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==} + engines: {node: '>= 6'} + + cssesc@3.0.0: + resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} + engines: {node: '>=4'} + hasBin: true + + csstype@3.1.3: + resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} + + data-uri-to-buffer@4.0.1: + resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==} + engines: {node: '>= 12'} + + date-fns@3.6.0: + resolution: {integrity: sha512-fRHTG8g/Gif+kSh50gaGEdToemgfj74aRX3swtiouboip5JDLAyDE9F11nHMIcvOaXeOC6D7SpNhi7uFyB7Uww==} + + debug@3.2.7: + resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + debug@4.3.4: + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + decompress-response@6.0.0: + resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} + engines: {node: '>=10'} + + deep-extend@0.6.0: + resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} + engines: {node: '>=4.0.0'} + + deep-is@0.1.4: + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + + default-browser-id@5.0.0: + resolution: {integrity: sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA==} + engines: {node: '>=18'} + + default-browser@5.2.1: + resolution: {integrity: sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg==} + engines: {node: '>=18'} + + define-lazy-prop@3.0.0: + resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==} + engines: {node: '>=12'} + + defu@6.1.4: + resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==} + + delayed-stream@1.0.0: + resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} + engines: {node: '>=0.4.0'} + + dequal@2.0.3: + resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} + engines: {node: '>=6'} + + destr@2.0.3: + resolution: {integrity: sha512-2N3BOUU4gYMpTP24s5rF5iP7BDr7uNTCs4ozw3kf/eKfvWSIu93GEBi5m427YoyJoeOzQ5smuu4nNAPGb8idSQ==} + + detect-libc@2.0.2: + resolution: {integrity: sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==} + engines: {node: '>=8'} + + devlop@1.1.0: + resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} + + dir-glob@3.0.1: + resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} + engines: {node: '>=8'} + + direction@2.0.1: + resolution: {integrity: sha512-9S6m9Sukh1cZNknO1CWAr2QAWsbKLafQiyM5gZ7VgXHeuaoUwffKN4q6NC4A/Mf9iiPlOXQEKW/Mv/mh9/3YFA==} + hasBin: true + + doctrine@3.0.0: + resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} + engines: {node: '>=6.0.0'} + + dom-serializer@1.4.1: + resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==} + + domelementtype@2.3.0: + resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} + + domhandler@3.3.0: + resolution: {integrity: sha512-J1C5rIANUbuYK+FuFL98650rihynUOEzRLxW+90bKZRWB6A1X1Tf82GxR1qAWLyfNPRvjqfip3Q5tdYlmAa9lA==} + engines: {node: '>= 4'} + + domhandler@4.3.1: + resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==} + engines: {node: '>= 4'} + + domutils@2.8.0: + resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==} + + duplexer@0.1.2: + resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} + + eastasianwidth@0.2.0: + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + + electron-to-chromium@1.4.664: + resolution: {integrity: sha512-k9VKKSkOSNPvSckZgDDl/IQx45E1quMjX8QfLzUsAs/zve8AyFDK+ByRynSP/OfEfryiKHpQeMf00z0leLCc3A==} + + emoji-regex@10.3.0: + resolution: {integrity: sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==} + + emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + + emoji-regex@9.2.2: + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + + end-of-stream@1.4.4: + resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} + + entities@2.2.0: + resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} + + 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: + resolution: {integrity: sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==} + hasBin: true + + error-ex@1.3.2: + resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} + + error-stack-parser-es@0.1.1: + resolution: {integrity: sha512-g/9rfnvnagiNf+DRMHEVGuGuIBlCIMDFoTA616HaP2l9PlCjGjVhD98PNbVSJvmK4TttqT5mV5tInMhoFgi+aA==} + + esbuild@0.19.11: + resolution: {integrity: sha512-HJ96Hev2hX/6i5cDVwcqiJBBtuo9+FeIJOtZ9W1kA5M6AMJRHUZlpYZ1/SbEwtO0ioNAW8rUooVpC/WehY2SfA==} + engines: {node: '>=12'} + hasBin: true + + esbuild@0.20.2: + resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==} + engines: {node: '>=12'} + hasBin: true + + escalade@3.1.1: + resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} + engines: {node: '>=6'} + + escape-goat@3.0.0: + resolution: {integrity: sha512-w3PwNZJwRxlp47QGzhuEBldEqVHHhh8/tIPcl6ecf2Bou99cdAt0knihBV0Ecc7CGxYduXVBDheH1K2oADRlvw==} + engines: {node: '>=10'} + + escape-string-regexp@1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + + escape-string-regexp@4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} + + eslint-compat-utils@0.1.2: + resolution: {integrity: sha512-Jia4JDldWnFNIru1Ehx1H5s9/yxiRHY/TimCuUc0jNexew3cF1gI6CYZil1ociakfWO3rRqFjl1mskBblB3RYg==} + engines: {node: '>=12'} + peerDependencies: + eslint: '>=6.0.0' + + eslint-compat-utils@0.5.0: + resolution: {integrity: sha512-dc6Y8tzEcSYZMHa+CMPLi/hyo1FzNeonbhJL7Ol0ccuKQkwopJcJBA9YL/xmMTLU1eKigXo9vj9nALElWYSowg==} + engines: {node: '>=12'} + peerDependencies: + eslint: '>=6.0.0' + + eslint-config-flat-gitignore@0.1.5: + resolution: {integrity: sha512-hEZLwuZjDBGDERA49c2q7vxc8sCGv8EdBp6PQYzGOMcHIgrfG9YOM6s/4jx24zhD+wnK9AI8mgN5RxSss5nClQ==} + + eslint-flat-config-utils@0.2.1: + resolution: {integrity: sha512-SKnSr4YdPD7xxynNpaad/IlJYfeDmtWvZ0UEmHEA0+eTOcZFPt1075KO87LIWN30jXGCREG2qcCqdAnRoCiAWQ==} + + eslint-import-resolver-node@0.3.9: + resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} + + eslint-merge-processors@0.1.0: + resolution: {integrity: sha512-IvRXXtEajLeyssvW4wJcZ2etxkR9mUf4zpNwgI+m/Uac9RfXHskuJefkHUcawVzePnd6xp24enp5jfgdHzjRdQ==} + peerDependencies: + eslint: '*' + + eslint-plugin-antfu@2.1.2: + resolution: {integrity: sha512-s7ZTOM3uq0iqpp6gF0UEotnvup7f2PHBUftCytLZX0+6C9j9KadKZQh6bVVngAyFgsmeD9+gcBopOYLClb2oDg==} + peerDependencies: + eslint: '*' + + eslint-plugin-es-x@7.5.0: + resolution: {integrity: sha512-ODswlDSO0HJDzXU0XvgZ3lF3lS3XAZEossh15Q2UHjwrJggWeBoKqqEsLTZLXl+dh5eOAozG0zRcYtuE35oTuQ==} + 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-import-x@0.5.0: + resolution: {integrity: sha512-C7R8Z4IzxmsoOPMtSzwuOBW5FH6iRlxHR6iTks+MzVlrk3r3TUxokkWTx3ypdj9nGOEP+CG/5e6ebZzHbxgbbQ==} + engines: {node: '>=16'} + peerDependencies: + eslint: ^8.56.0 || ^9.0.0-0 + + eslint-plugin-jsdoc@48.2.3: + resolution: {integrity: sha512-r9DMAmFs66VNvNqRLLjHejdnJtILrt3xGi+Qx0op0oRfFGVpOR1Hb3BC++MacseHx93d8SKYPhyrC9BS7Os2QA==} + engines: {node: '>=18'} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 || ^9.0.0 + + eslint-plugin-jsonc@2.15.0: + resolution: {integrity: sha512-wAphMVgTQPAKAYV8d/QEkEYDg8uer9nMQ85N17IUiJcAWLxJs83/Exe59dEH9yKUpvpLf46H+wR7/U7lZ3/NpQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: '>=6.0.0' + + eslint-plugin-markdown@4.0.1: + resolution: {integrity: sha512-5/MnGvYU0i8MbHH5cg8S+Vl3DL+bqRNYshk1xUO86DilNBaxtTkhH+5FD0/yO03AmlI6+lfNFdk2yOw72EPzpA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: '>=8' + + eslint-plugin-n@16.6.2: + resolution: {integrity: sha512-6TyDmZ1HXoFQXnhCTUjVFULReoBPOAjpuiKELMkeP40yffI/1ZRO+d9ug/VC6fqISo2WkuIBk3cvuRPALaWlOQ==} + 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-perfectionist@2.8.0: + resolution: {integrity: sha512-XBjQ4ctU1rOzQ4bFJoUowe8XdsIIz42JqNrouFlae1TO78HjoyYBaRP8+gAHDDQCSdHY10pbChyzlJeBA6D51w==} + peerDependencies: + astro-eslint-parser: ^0.16.0 + eslint: '>=8.0.0' + svelte: '>=3.0.0' + svelte-eslint-parser: ^0.33.0 + vue-eslint-parser: '>=9.0.0' + peerDependenciesMeta: + astro-eslint-parser: + optional: true + svelte: + optional: true + svelte-eslint-parser: + optional: true + vue-eslint-parser: + optional: true + + eslint-plugin-toml@0.11.0: + resolution: {integrity: sha512-sau+YvPU4fWTjB+qtBt3n8WS87aoDCs+BVbSUAemGaIsRNbvR9uEk+Tt892iLHTGvp/DPWYoCX4/8DoyAbB+sQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: '>=6.0.0' + + eslint-plugin-unicorn@52.0.0: + resolution: {integrity: sha512-1Yzm7/m+0R4djH0tjDjfVei/ju2w3AzUGjG6q8JnuNIL5xIwsflyCooW5sfBvQp2pMYQFSWWCFONsjCax1EHng==} + engines: {node: '>=16'} + peerDependencies: + eslint: '>=8.56.0' + + eslint-plugin-unused-imports@3.1.0: + resolution: {integrity: sha512-9l1YFCzXKkw1qtAru1RWUtG2EVDZY0a0eChKXcL+EZ5jitG7qxdctu4RnvhOJHv4xfmUf7h+JJPINlVpGhZMrw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + '@typescript-eslint/eslint-plugin': 6 - 7 + eslint: '8' + peerDependenciesMeta: + '@typescript-eslint/eslint-plugin': + optional: true + + eslint-plugin-vitest@0.4.1: + resolution: {integrity: sha512-+PnZ2u/BS+f5FiuHXz4zKsHPcMKHie+K+1Uvu/x91ovkCMEOJqEI8E9Tw1Wzx2QRz4MHOBHYf1ypO8N1K0aNAA==} + engines: {node: ^18.0.0 || >= 20.0.0} + peerDependencies: + '@typescript-eslint/eslint-plugin': '*' + eslint: '>=8.0.0' + vitest: '*' + peerDependenciesMeta: + '@typescript-eslint/eslint-plugin': + optional: true + vitest: + optional: true + + eslint-plugin-vue@9.24.0: + resolution: {integrity: sha512-9SkJMvF8NGMT9aQCwFc5rj8Wo1XWSMSHk36i7ZwdI614BU7sIOR28ZjuFPKp8YGymZN12BSEbiSwa7qikp+PBw==} + engines: {node: ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 + + eslint-plugin-yml@1.14.0: + resolution: {integrity: sha512-ESUpgYPOcAYQO9czugcX5OqRvn/ydDVwGCPXY4YjPqc09rHaUVUA6IE6HLQys4rXk/S+qx3EwTd1wHCwam/OWQ==} + engines: {node: ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: '>=6.0.0' + + eslint-processor-vue-blocks@0.1.1: + resolution: {integrity: sha512-9+dU5lU881log570oBwpelaJmOfOzSniben7IWEDRYQPPWwlvaV7NhOtsTuUWDqpYT+dtKKWPsgz4OkOi+aZnA==} + peerDependencies: + '@vue/compiler-sfc': ^3.3.0 + eslint: ^8.50.0 + + eslint-rule-composer@0.3.0: + resolution: {integrity: sha512-bt+Sh8CtDmn2OajxvNO+BX7Wn4CIWMpTRm3MaiKPCQcnnlm0CS2mhui6QaoeQugs+3Kj2ESKEEGJUdVafwhiCg==} + engines: {node: '>=4.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.57.0: + resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + hasBin: true + + esm@3.2.25: + resolution: {integrity: sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==} + engines: {node: '>=6'} + + 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@5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} + + 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'} + + execa@5.1.1: + resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} + engines: {node: '>=10'} + + execa@8.0.1: + resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} + engines: {node: '>=16.17'} + + expand-template@2.0.3: + resolution: {integrity: sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==} + engines: {node: '>=6'} + + extend-shallow@2.0.1: + resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} + engines: {node: '>=0.10.0'} + + extend@3.0.2: + resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} + + fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + + fast-fifo@1.3.2: + resolution: {integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==} + + fast-glob@3.3.2: + resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} + 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==} + + fastq@1.16.0: + resolution: {integrity: sha512-ifCoaXsDrsdkWTtiNJX5uzHDsrck5TzfKKDcuFFTIrrc/BS076qgEIfoIy1VeZqViznfKiysPYTh/QeHtnIsYA==} + + fetch-blob@3.2.0: + resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} + engines: {node: ^12.20 || >= 14.13} + + file-entry-cache@6.0.1: + resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} + engines: {node: ^10.12.0 || >=12.0.0} + + fill-range@7.0.1: + resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + 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'} + + find-up@7.0.0: + resolution: {integrity: sha512-YyZM99iHrqLKjmt4LJDj58KI+fYyufRLBSYcqycxf//KpBk9FoewoGX0450m9nB44qrZnovzC2oeP5hUibxc/g==} + engines: {node: '>=18'} + + flat-cache@3.2.0: + resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} + engines: {node: ^10.12.0 || >=12.0.0} + + flatted@3.2.9: + resolution: {integrity: sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==} + + focus-trap@7.5.4: + resolution: {integrity: sha512-N7kHdlgsO/v+iD/dMoJKtsSqs5Dz/dXZVebRgJw23LDk+jMi/974zyiOYDziY2JPp8xivq9BmUGwIJMiuSBi7w==} + + foreground-child@3.1.1: + resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==} + engines: {node: '>=14'} + + 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'} + + fs-constants@1.0.0: + resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} + + fs-extra@11.2.0: + resolution: {integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==} + engines: {node: '>=14.14'} + + fs.realpath@1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + + 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==} + + 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-east-asian-width@1.2.0: + resolution: {integrity: sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA==} + engines: {node: '>=18'} + + get-stream@6.0.1: + resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} + engines: {node: '>=10'} + + get-stream@8.0.1: + resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} + engines: {node: '>=16'} + + get-tsconfig@4.7.3: + resolution: {integrity: sha512-ZvkrzoUA0PQZM6fy6+/Hce561s+faD1rsNwhnO5FelNjyy7EMGJ3Rz1AQ8GYDWjhRs/7dBLOEJvhK8MiEJOAFg==} + + github-from-package@0.0.0: + resolution: {integrity: sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==} + + 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@10.3.12: + resolution: {integrity: sha512-TCNv8vJ+xz4QiqTpfOJA7HvYv+tNIRHKfUWw/q+v2jdgN4ebz+KY9tGx5J4rHP0o84mNP+ApH66HRX8us3Khqg==} + engines: {node: '>=16 || 14 >=14.17'} + hasBin: true + + glob@7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + + globals@11.12.0: + resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} + engines: {node: '>=4'} + + globals@13.24.0: + resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} + engines: {node: '>=8'} + + globals@15.0.0: + resolution: {integrity: sha512-m/C/yR4mjO6pXDTm9/R/SpYTAIyaUB4EOzcaaMEl7mds7Mshct9GfejiJNQGjHHbdMPey13Kpu4TMbYi9ex1pw==} + engines: {node: '>=18'} + + globby@11.1.0: + resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} + engines: {node: '>=10'} + + globby@14.0.1: + resolution: {integrity: sha512-jOMLD2Z7MAhyG8aJpNOpmziMOP4rPLcc95oQPKXBazW82z+CEgPFBQvEpRUa1KeIMUJo4Wsm+q6uzO/Q/4BksQ==} + engines: {node: '>=18'} + + 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-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'} + + hasown@2.0.0: + resolution: {integrity: sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==} + engines: {node: '>= 0.4'} + + hast-util-from-html@2.0.1: + resolution: {integrity: sha512-RXQBLMl9kjKVNkJTIO6bZyb2n+cUH8LFaSSzo82jiLT6Tfc+Pt7VQCS+/h3YwG4jaNE2TA2sdJisGWR+aJrp0g==} + + hast-util-from-parse5@8.0.1: + resolution: {integrity: sha512-Er/Iixbc7IEa7r/XLtuG52zoqn/b3Xng/w6aZQ0xGVxzhw5xUFxcRqdPzP6yFi/4HBYRaifaI5fQ1RH8n0ZeOQ==} + + hast-util-from-selector@3.0.0: + resolution: {integrity: sha512-NBgM9vHLJkBXLDrajYgsKF77DH1qM2NS33ojBmzOy9HBk2Op4iY+558o1I7FCf4UWvtY+yZTu2h8ePPxzJm6yQ==} + + hast-util-has-property@3.0.0: + resolution: {integrity: sha512-MNilsvEKLFpV604hwfhVStK0usFY/QmM5zX16bo7EjnAEGofr5YyI37kzopBlZJkHD4t887i+q/C8/tr5Q94cA==} + + hast-util-parse-selector@4.0.0: + resolution: {integrity: sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==} + + hast-util-raw@9.0.2: + resolution: {integrity: sha512-PldBy71wO9Uq1kyaMch9AHIghtQvIwxBUkv823pKmkTM3oV1JxtsTNYdevMxvUHqcnOAuO65JKU2+0NOxc2ksA==} + + hast-util-select@6.0.2: + resolution: {integrity: sha512-hT/SD/d/Meu+iobvgkffo1QecV8WeKWxwsNMzcTJsKw1cKTQKSR/7ArJeURLNJF9HDjp9nVoORyNNJxrvBye8Q==} + + hast-util-to-html@9.0.1: + resolution: {integrity: sha512-hZOofyZANbyWo+9RP75xIDV/gq+OUKx+T46IlwERnKmfpwp81XBFbT9mi26ws+SJchA4RVUQwIBJpqEOBhMzEQ==} + + hast-util-to-parse5@8.0.0: + resolution: {integrity: sha512-3KKrV5ZVI8if87DVSi1vDeByYrkGzg4mEfeu4alwgmmIeARiBLKCZS2uw5Gb6nU9x9Yufyj3iudm6i7nl52PFw==} + + hast-util-to-string@3.0.0: + resolution: {integrity: sha512-OGkAxX1Ua3cbcW6EJ5pT/tslVb90uViVkcJ4ZZIMW/R33DX/AkcJcRrPebPwJkHYwlDHXz4aIwvAAaAdtrACFA==} + + hast-util-whitespace@3.0.0: + resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==} + + hastscript@8.0.0: + resolution: {integrity: sha512-dMOtzCEd3ABUeSIISmrETiKuyydk1w0pa+gE/uormcTpSYuaNJPbX1NU3JLyscSLjwAQM8bWMhhIlnCqnRvDTw==} + + hookable@5.5.3: + resolution: {integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==} + + hosted-git-info@2.8.9: + resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} + + html-void-elements@3.0.0: + resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==} + + htmlparser2@5.0.1: + resolution: {integrity: sha512-vKZZra6CSe9qsJzh0BjBGXo8dvzNsq/oGvsjfRdOrrryfeD9UOBEEQdeoqCRmKZchF5h2zOBMQ6YuQ0uRUmdbQ==} + + htmlparser2@6.1.0: + resolution: {integrity: sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==} + + human-signals@2.1.0: + resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} + engines: {node: '>=10.17.0'} + + human-signals@5.0.0: + resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} + engines: {node: '>=16.17.0'} + + iconv-lite@0.6.3: + resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} + engines: {node: '>=0.10.0'} + + ieee754@1.2.1: + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} + + ignore@5.3.1: + resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} + 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'} + + 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'} + + 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==} + + is-alphabetical@1.0.4: + resolution: {integrity: sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==} + + is-alphanumerical@1.0.4: + resolution: {integrity: sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==} + + is-arrayish@0.2.1: + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + + is-arrayish@0.3.2: + resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} + + is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + + is-builtin-module@3.2.1: + resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==} + engines: {node: '>=6'} + + is-core-module@2.13.1: + resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} + + is-decimal@1.0.4: + resolution: {integrity: sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==} + + is-docker@3.0.0: + resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + hasBin: true + + is-extendable@0.1.1: + resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==} + engines: {node: '>=0.10.0'} + + is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + + is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + + 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-inside-container@1.0.0: + resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==} + engines: {node: '>=14.16'} + hasBin: true + + is-interactive@2.0.0: + resolution: {integrity: sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==} + engines: {node: '>=12'} + + is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + + is-path-inside@3.0.3: + resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} + engines: {node: '>=8'} + + is-plain-obj@4.1.0: + resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} + engines: {node: '>=12'} + + is-promise@4.0.0: + resolution: {integrity: sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==} + + is-stream@2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} + + is-stream@3.0.0: + resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + is-unicode-supported@1.3.0: + resolution: {integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==} + engines: {node: '>=12'} + + is-unicode-supported@2.0.0: + resolution: {integrity: sha512-FRdAyx5lusK1iHG0TWpVtk9+1i+GjrzRffhDg4ovQ7mcidMQ6mj+MhKPmvh7Xwyv5gIS06ns49CA7Sqg7lC22Q==} + engines: {node: '>=18'} + + is-what@3.14.1: + resolution: {integrity: sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==} + + is-wsl@3.1.0: + resolution: {integrity: sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==} + engines: {node: '>=16'} + + isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + + jackspeak@2.3.6: + resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==} + engines: {node: '>=14'} + + jiti@1.21.0: + resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==} + hasBin: true + + 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 + + jsdoc-type-pratt-parser@4.0.0: + resolution: {integrity: sha512-YtOli5Cmzy3q4dP26GraSOeAhqecewG04hoO8DY56CH4KJ9Fvv5qKWUCCo3HZob7esJQHCv6/+bnTy72xZZaVQ==} + engines: {node: '>=12.0.0'} + + 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 + + json-buffer@3.0.1: + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + + 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-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.4.0: + resolution: {integrity: sha512-WYDyuc/uFcGp6YtM2H0uKmUwieOuzeE/5YocFJLnLfclZ4inf3mRn8ZVy1s7Hxji7Jxm6Ss8gqpexD/GlKoGgg==} + 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==} + + juice@8.1.0: + resolution: {integrity: sha512-FLzurJrx5Iv1e7CfBSZH68dC04EEvXvvVvPYB7Vx1WAuhCp1ZPIMtqxc+WTWxVkpTIC2Ach/GAv0rQbtGf6YMA==} + engines: {node: '>=10.0.0'} + hasBin: true + + keyv@4.5.4: + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + + 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.2.0: + resolution: {integrity: sha512-P3b3HJDBtSzsXUl0im2L7gTO5Ubg8mEN6G8qoTS77iXxXX4Hvu4Qj540PZDvQ8V6DmX6iXo98k7Md0Cm1PrLaA==} + engines: {node: '>=6'} + hasBin: true + + levn@0.4.1: + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} + + lines-and-columns@1.2.4: + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + + linkify-it@4.0.1: + resolution: {integrity: sha512-C7bfi1UZmoj8+PQx22XyeXCuBlokoyWQL5pWSP+EI6nzRylyThouddufc2c1NDIcP9k5agmN9fLpA7VNJfIiqw==} + + local-pkg@0.4.3: + resolution: {integrity: sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==} + engines: {node: '>=14'} + + local-pkg@0.5.0: + resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==} + 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'} + + locate-path@7.2.0: + resolution: {integrity: sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + lodash.merge@4.6.2: + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + + lodash@4.17.21: + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + + log-symbols@6.0.0: + resolution: {integrity: sha512-i24m8rpwhmPIS4zscNzK6MSEhk0DUWa/8iYQWxhffV8jkI4Phvs3F+quL5xvS0gdQR0FyTCMMH33Y78dDTzzIw==} + engines: {node: '>=18'} + + lru-cache@10.2.2: + resolution: {integrity: sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==} + engines: {node: 14 || >=16.14} + + 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.30.10: + resolution: {integrity: sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==} + + magic-string@0.30.5: + resolution: {integrity: sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==} + engines: {node: '>=12'} + + magic-string@0.30.7: + resolution: {integrity: sha512-8vBuFF/I/+OSLRmdf2wwFCJCz+nSn0m6DPvGH1fS/KiQoSaR+sETbov0eIk9KhEKy8CYqIkIAnbohxT/4H0kuA==} + engines: {node: '>=12'} + + magic-string@0.30.8: + resolution: {integrity: sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ==} + engines: {node: '>=12'} + + make-dir@2.1.0: + resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==} + engines: {node: '>=6'} + + mark.js@8.11.1: + resolution: {integrity: sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ==} + + markdown-it-attrs@4.1.6: + resolution: {integrity: sha512-O7PDKZlN8RFMyDX13JnctQompwrrILuz2y43pW2GagcwpIIElkAdfeek+erHfxUOlXWPsjFeWmZ8ch1xtRLWpA==} + engines: {node: '>=6'} + peerDependencies: + markdown-it: '>= 9.0.0' + + markdown-it-footnote@3.0.3: + resolution: {integrity: sha512-YZMSuCGVZAjzKMn+xqIco9d1cLGxbELHZ9do/TSYVzraooV8ypsppKNmUJ0fVH5ljkCInQAtFpm8Rb3eXSrt5w==} + + markdown-it-mathjax3@4.3.2: + resolution: {integrity: sha512-TX3GW5NjmupgFtMJGRauioMbbkGsOXAAt1DZ/rzzYmTHqzkO1rNAdiMD4NiruurToPApn2kYy76x02QN26qr2w==} + + markdown-it@13.0.2: + resolution: {integrity: sha512-FtwnEuuK+2yVU7goGn/MJ0WBZMM9ZPgU9spqlFs7/A/pDIUNSOQZhUgOqYCficIuR2QaFnrt8LHqBWsbTAoI5w==} + hasBin: true + + mathjax-full@3.2.2: + resolution: {integrity: sha512-+LfG9Fik+OuI8SLwsiR02IVdjcnRCy5MufYLi0C3TdMT56L/pjB0alMVGgoWJF8pN9Rc7FESycZB9BMNWIid5w==} + + mdast-util-from-markdown@0.8.5: + resolution: {integrity: sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ==} + + mdast-util-to-hast@13.1.0: + resolution: {integrity: sha512-/e2l/6+OdGp/FB+ctrJ9Avz71AN/GRH3oi/3KAx/kMnoUsD6q0woXlDT8lLEeViVKE7oZxE7RXzvO3T8kF2/sA==} + + mdast-util-to-string@2.0.0: + resolution: {integrity: sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==} + + mdn-data@2.0.30: + resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==} + + mdurl@1.0.1: + resolution: {integrity: sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==} + + mensch@0.3.4: + resolution: {integrity: sha512-IAeFvcOnV9V0Yk+bFhYR07O3yNina9ANIN5MoXBKYJ/RLYPurd2d0yw14MDhpr9/momp0WofT1bPUh3hkzdi/g==} + + 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'} + + mhchemparser@4.2.1: + resolution: {integrity: sha512-kYmyrCirqJf3zZ9t/0wGgRZ4/ZJw//VwaRVGA75C4nhE60vtnIzhl9J9ndkX/h6hxSN7pjg/cE0VxbnNM+bnDQ==} + + micromark-util-character@2.1.0: + resolution: {integrity: sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==} + + micromark-util-encode@2.0.0: + resolution: {integrity: sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==} + + micromark-util-sanitize-uri@2.0.0: + resolution: {integrity: sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==} + + micromark-util-symbol@2.0.0: + resolution: {integrity: sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==} + + micromark-util-types@2.0.0: + resolution: {integrity: sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==} + + 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 + + mime@2.6.0: + resolution: {integrity: sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==} + engines: {node: '>=4.0.0'} + hasBin: true + + mimic-fn@2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + + mimic-fn@4.0.0: + resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} + engines: {node: '>=12'} + + mimic-response@3.1.0: + resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} + engines: {node: '>=10'} + + 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@9.0.3: + resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} + engines: {node: '>=16 || 14 >=14.17'} + + minimatch@9.0.4: + resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==} + engines: {node: '>=16 || 14 >=14.17'} + + minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + + minipass@7.1.0: + resolution: {integrity: sha512-oGZRv2OT1lO2UF1zUcwdTb3wqUwI0kBGTgt/T7OdSj6M6N5m3o5uPf0AIW6lVxGGoiWUR7e2AwTE+xiwK8WQig==} + engines: {node: '>=16 || 14 >=14.17'} + + minisearch@6.3.0: + resolution: {integrity: sha512-ihFnidEeU8iXzcVHy74dhkxh/dn8Dc08ERl0xwoMMGqp4+LvRSCgicb+zGqWthVokQKvCSxITlh3P08OzdTYCQ==} + + mitt@3.0.1: + resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==} + + mj-context-menu@0.6.1: + resolution: {integrity: sha512-7NO5s6n10TIV96d4g2uDpG7ZDpIhMh0QNfGdJw/W47JswFcosz457wqz/b5sAKvl12sxINGFCn80NZHKwxQEXA==} + + mkdirp-classic@0.5.3: + resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==} + + mlly@1.5.0: + resolution: {integrity: sha512-NPVQvAY1xr1QoVeG0cy8yUYC7FQcOx6evl/RjT1wL5FvzPnzOysoqB/jmx/DhssT2dYa8nxECLAaFI/+gVLhDQ==} + + 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==} + + nanoid@3.3.7: + resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + + napi-build-utils@1.0.2: + resolution: {integrity: sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==} + + natural-compare-lite@1.4.0: + resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==} + + natural-compare@1.4.0: + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + + needle@3.3.1: + resolution: {integrity: sha512-6k0YULvhpw+RoLNiQCRKOl09Rv1dPLr8hHnVjHqdolKwDrdNyk+Hmrthi4lIGPPz3r39dLx0hsF5s40sZ3Us4Q==} + engines: {node: '>= 4.4.x'} + hasBin: true + + node-abi@3.52.0: + resolution: {integrity: sha512-JJ98b02z16ILv7859irtXn4oUaFWADtvkzy2c0IAatNVX2Mc9Yoh8z6hZInn3QwvMEYhHuQloYi+TTQy67SIdQ==} + engines: {node: '>=10'} + + node-addon-api@6.1.0: + resolution: {integrity: sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==} + + 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@2.7.0: + resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} + engines: {node: 4.x || >=6.0.0} + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + + node-fetch@3.3.2: + resolution: {integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + node-releases@2.0.14: + resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} + + 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'} + + not@0.1.0: + resolution: {integrity: sha512-5PDmaAsVfnWUgTUbJ3ERwn7u79Z0dYxN9ErxCpVJJqe2RK0PJ3z+iFUxuqjwtlDDegXvtWoxD/3Fzxox7tFGWA==} + + npm-run-path@4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} + + npm-run-path@5.3.0: + resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + nth-check@2.1.1: + resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} + + ofetch@1.3.4: + resolution: {integrity: sha512-KLIET85ik3vhEfS+3fDlc/BAZiAp+43QEC/yCo5zkNoY2YaKvNkOaFr/6wCFgFH1kuYQM5pMNi0Tg8koiIemtw==} + + 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'} + + onetime@6.0.0: + resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} + engines: {node: '>=12'} + + open@10.1.0: + resolution: {integrity: sha512-mnkeQ1qP5Ue2wd+aivTD3NHd/lZ96Lu0jgf0pwktLPtx6cTZiH7tyeGRRHs0zX0rbrahXPnXlUnbeXyaBBuIaw==} + engines: {node: '>=18'} + + optionator@0.9.3: + resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} + engines: {node: '>= 0.8.0'} + + ora@8.0.1: + resolution: {integrity: sha512-ANIvzobt1rls2BDny5fWZ3ZVKyD6nscLvfFRpQgfWsythlcsVUC9kL0zq6j2Z5z9wwp1kd7wpsD/T9qNPVLCaQ==} + engines: {node: '>=18'} + + 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-locate@6.0.0: + resolution: {integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + p-try@2.2.0: + resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} + engines: {node: '>=6'} + + 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-gitignore@2.0.0: + resolution: {integrity: sha512-RmVuCHWsfu0QPNW+mraxh/xjQVw/lhUCUru8Zni3Ctq3AoMhpDTq0OVdKS6iesd6Kqb7viCV3isAL43dciOSog==} + engines: {node: '>=14'} + + 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-htmlparser2-tree-adapter@6.0.1: + resolution: {integrity: sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==} + + parse5@6.0.1: + resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==} + + parse5@7.1.2: + resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==} + + path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + + path-exists@5.0.0: + resolution: {integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + 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-key@4.0.0: + resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} + engines: {node: '>=12'} + + path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + + path-scurry@1.10.2: + resolution: {integrity: sha512-7xTavNy5RQXnsjANvVvMkEjvloOinkAjv/Z6Ildz9v2RinZ4SBKTWFOVRbaF8p0vpHnyjV/UwNDdKuUv6M5qcA==} + engines: {node: '>=16 || 14 >=14.17'} + + path-type@4.0.0: + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} + engines: {node: '>=8'} + + path-type@5.0.0: + resolution: {integrity: sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==} + engines: {node: '>=12'} + + pathe@1.1.2: + resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} + + perfect-debounce@1.0.0: + resolution: {integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==} + + picocolors@1.0.0: + resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + + picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + + picomatch@4.0.1: + resolution: {integrity: sha512-xUXwsxNjwTQ8K3GnT4pCJm+xq3RUPQbmkYJTP5aFIfNIvbcc/4MUxgBaaRSZJ6yGJZiGSyYlM6MzwTsRk8SYCg==} + engines: {node: '>=12'} + + pify@4.0.1: + resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} + engines: {node: '>=6'} + + pkg-types@1.0.3: + resolution: {integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==} + + pluralize@8.0.0: + resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} + engines: {node: '>=4'} + + postcss-selector-parser@6.0.15: + resolution: {integrity: sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw==} + engines: {node: '>=4'} + + postcss@8.4.35: + resolution: {integrity: sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==} + engines: {node: ^10 || ^12 || >=14} + + postcss@8.4.38: + resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} + engines: {node: ^10 || ^12 || >=14} + + preact@10.20.1: + resolution: {integrity: sha512-JIFjgFg9B2qnOoGiYMVBtrcFxHqn+dNXbq76bVmcaHYJFYR4lW67AOcXgAYQQTDYXDOg/kTZrKPNCdRgJ2UJmw==} + + prebuild-install@7.1.1: + resolution: {integrity: sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw==} + engines: {node: '>=10'} + hasBin: true + + prelude-ls@1.2.1: + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} + + property-information@6.5.0: + resolution: {integrity: sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==} + + prr@1.0.1: + resolution: {integrity: sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==} + + pump@3.0.0: + resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} + + punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + engines: {node: '>=6'} + + queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + + queue-tick@1.0.1: + resolution: {integrity: sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==} + + rc@1.2.8: + resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} + hasBin: true + + 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'} + + regexp-tree@0.1.27: + resolution: {integrity: sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==} + hasBin: true + + regjsparser@0.10.0: + resolution: {integrity: sha512-qx+xQGZVsy55CH0a1hiVwHmqjLryfh7wQyF5HO07XJ9f7dQMY/gPQHhlyDkIzJKC+x2fUCpCcUODUUUFrm7SHA==} + hasBin: true + + rehype-meta@4.0.0: + resolution: {integrity: sha512-sjq2RyKCStdJ5qxLWSHqTvx/zcJXm6QcdGdBbovNRLaC1+p69JTZG+sWKNhCE2cUZ6OVNIm3+HdIFJJfKBirUg==} + + rehype-parse@9.0.0: + resolution: {integrity: sha512-WG7nfvmWWkCR++KEkZevZb/uw41E8TsH4DsY9UxsTbIXCVGbAs4S+r8FrQ+OtH5EEQAs+5UxKC42VinkmpA1Yw==} + + rehype-stringify@10.0.0: + resolution: {integrity: sha512-1TX1i048LooI9QoecrXy7nGFFbFSufxVRAfc6Y9YMRAi56l+oB0zP51mLSV312uRuvVLPV1opSlJmslozR1XHQ==} + + rehype@13.0.1: + resolution: {integrity: sha512-AcSLS2mItY+0fYu9xKxOu1LhUZeBZZBx8//5HKzF+0XP+eP8+6a5MXn2+DW2kfXR6Dtp1FEXMVrjyKAcvcU8vg==} + + require-directory@2.1.1: + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} + + 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.8: + resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} + hasBin: true + + restore-cursor@4.0.0: + resolution: {integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + reusify@1.0.4: + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + + rfdc@1.3.1: + resolution: {integrity: sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==} + + rimraf@3.0.2: + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + hasBin: true + + rollup@4.13.0: + resolution: {integrity: sha512-3YegKemjoQnYKmsBlOHfMLVPPA5xLkQ8MHLLSw/fBrFaVkEayL51DilPpNNLq1exr98F2B1TzrV0FUlN3gWRPg==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true + + rollup@4.17.2: + resolution: {integrity: sha512-/9ClTJPByC0U4zNLowV1tMBe8yMEAxewtR3cUNX5BoEpGH3dQEWpJLr6CLp0fPdYRF/fzVOgvDb1zXuakwF5kQ==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true + + run-applescript@7.0.0: + resolution: {integrity: sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A==} + engines: {node: '>=18'} + + run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + + safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + + safer-buffer@2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + + sax@1.3.0: + resolution: {integrity: sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==} + + search-insights@2.13.0: + resolution: {integrity: sha512-Orrsjf9trHHxFRuo9/rzm0KIWmgzE8RMlZMzuhZOJ01Rnz3D0YBAe+V6473t6/H6c7irs6Lt48brULAiRWb3Vw==} + + section-matter@1.0.0: + resolution: {integrity: sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==} + engines: {node: '>=4'} + + 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.4: + resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} + engines: {node: '>=10'} + hasBin: true + + semver@7.6.0: + resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} + engines: {node: '>=10'} + hasBin: true + + sharp@0.32.6: + resolution: {integrity: sha512-KyLTWwgcR9Oe4d9HwCwNM2l7+J0dUQwn/yf7S0EnTtb0eVS4RxO0eUSvxPtzT4F3SY+C4K6fqdv/DO27sJ/v/w==} + engines: {node: '>=14.15.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'} + + shiki@1.2.4: + resolution: {integrity: sha512-Q9n9jKiOjJCRPztA9POn3/uZXNySHDNKAsPNpmtHDcFyi6ZQhx5vQKZW3Nhrwn8TWW3RudSRk66zqY603EZDeg==} + + signal-exit@3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + + signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} + + simple-concat@1.0.1: + resolution: {integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==} + + simple-get@4.0.1: + resolution: {integrity: sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==} + + simple-git@3.24.0: + resolution: {integrity: sha512-QqAKee9Twv+3k8IFOFfPB2hnk6as6Y6ACUpwCtQvRYBAes23Wv3SZlHVobAzqcE8gfsisCvPw3HGW3HYM+VYYw==} + + simple-swizzle@0.2.2: + resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==} + + sirv@2.0.4: + resolution: {integrity: sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==} + engines: {node: '>= 10'} + + sisteransi@1.0.5: + resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} + + slash@3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} + + slash@5.1.0: + resolution: {integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==} + engines: {node: '>=14.16'} + + slick@1.12.2: + resolution: {integrity: sha512-4qdtOGcBjral6YIBCWJ0ljFSKNLz9KkhbWtuGvUyRowl1kxfuE1x/Z/aJcaiilpb3do9bl5K7/1h9XC5wWpY/A==} + + source-map-js@1.0.2: + resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} + engines: {node: '>=0.10.0'} + + source-map-js@1.2.0: + resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} + engines: {node: '>=0.10.0'} + + source-map@0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + + space-separated-tokens@2.0.2: + resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} + + spdx-correct@3.2.0: + resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} + + spdx-exceptions@2.4.0: + resolution: {integrity: sha512-hcjppoJ68fhxA/cjbN4T8N6uCUejN8yFw69ttpqtBeCbF3u13n7mb31NB9jKwGTTWWnt9IbRA/mf1FprYS8wfw==} + + spdx-expression-parse@3.0.1: + resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} + + spdx-expression-parse@4.0.0: + resolution: {integrity: sha512-Clya5JIij/7C6bRR22+tnGXbc4VKlibKSVj2iHvVeX5iMW7s1SIQlqu699JkODJJIhh/pUu8L0/VLh8xflD+LQ==} + + spdx-license-ids@3.0.16: + resolution: {integrity: sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw==} + + speakingurl@14.0.1: + resolution: {integrity: sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==} + engines: {node: '>=0.10.0'} + + speech-rule-engine@4.0.7: + resolution: {integrity: sha512-sJrL3/wHzNwJRLBdf6CjJWIlxC04iYKkyXvYSVsWVOiC2DSkHmxsqOhEeMsBA9XK+CHuNcsdkbFDnoUfAsmp9g==} + hasBin: true + + sprintf-js@1.0.3: + resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} + + stdin-discarder@0.2.2: + resolution: {integrity: sha512-UhDfHmA92YAlNnCfhmq0VeNL5bDbiZGg7sZ2IvPsXubGkiNa9EC+tUTsjBRsYUAz87btI6/1wf4XoVvQ3uRnmQ==} + engines: {node: '>=18'} + + streamx@2.15.6: + resolution: {integrity: sha512-q+vQL4AAz+FdfT137VF69Cc/APqUbxy+MDOImRrMvchJpigHj9GksgDU2LYbO9rx7RX6osWgxJB2WxhYv4SZAw==} + + string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + + string-width@5.1.2: + resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} + engines: {node: '>=12'} + + string-width@7.1.0: + resolution: {integrity: sha512-SEIJCWiX7Kg4c129n48aDRwLbFb2LJmXXFrWBG4NGaRtMQ3myKPKbwrD1BKqQn74oCoNMBVrfDEr5M9YxCsrkw==} + engines: {node: '>=18'} + + string_decoder@1.3.0: + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + + stringify-entities@4.0.4: + resolution: {integrity: sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==} + + strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + + strip-ansi@7.1.0: + resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} + engines: {node: '>=12'} + + strip-bom-string@1.0.0: + resolution: {integrity: sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==} + engines: {node: '>=0.10.0'} + + strip-final-newline@2.0.0: + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} + + strip-final-newline@3.0.0: + resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} + engines: {node: '>=12'} + + strip-indent@3.0.0: + resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} + engines: {node: '>=8'} + + strip-json-comments@2.0.1: + resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} + engines: {node: '>=0.10.0'} + + strip-json-comments@3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + + 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'} + + synckit@0.6.2: + resolution: {integrity: sha512-Vhf+bUa//YSTYKseDiiEuQmhGCoIF3CVBhunm3r/DQnYiGT4JssmnKQc44BIyOZRK2pKjXXAgbhfmbeoC9CJpA==} + engines: {node: '>=12.20'} + + synckit@0.9.0: + resolution: {integrity: sha512-7RnqIMq572L8PeEzKeBINYEJDDxpcH8JEgLwUqBd3TkofhFRbkq4QLR0u+36avGAhCRbk2nnmjcW9SE531hPDg==} + engines: {node: ^14.18.0 || >=16.0.0} + + tabbable@6.2.0: + resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==} + + tar-fs@2.1.1: + resolution: {integrity: sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==} + + tar-fs@3.0.4: + resolution: {integrity: sha512-5AFQU8b9qLfZCX9zp2duONhPmZv0hGYiBPJsyUdqMjzq/mqVpy/rEUSeHk1+YitmxugaptgBh5oDGU3VsAJq4w==} + + tar-stream@2.2.0: + resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} + engines: {node: '>=6'} + + tar-stream@3.1.6: + resolution: {integrity: sha512-B/UyjYwPpMBv+PaFSWAmtYjwdrlEaZQEhMIBFNC5oEG8lpiW8XjcSdmEaClj28ArfKScKHs2nshz3k2le6crsg==} + + text-table@0.2.0: + resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} + + thumbhash@0.1.1: + resolution: {integrity: sha512-kH5pKeIIBPQXAOni2AiY/Cu/NKdkFREdpH+TLdM0g6WA7RriCv0kPLgP731ady67MhTAqrVG/4mnEeibVuCJcg==} + + 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'} + + toml-eslint-parser@0.9.3: + resolution: {integrity: sha512-moYoCvkNUAPCxSW9jmHmRElhm4tVJpHL8ItC/+uYD0EpPSFXbck7yREz9tNdJVTSpHVod8+HoipcpbQ0oE6gsw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + totalist@3.0.1: + resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} + engines: {node: '>=6'} + + tr46@0.0.3: + resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} + + trim-lines@3.0.1: + resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} + + trough@2.2.0: + resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==} + + ts-api-utils@1.2.1: + resolution: {integrity: sha512-RIYA36cJn2WiH9Hy77hdF9r7oEwxAtB/TS9/S4Qd90Ap4z5FSiin5zEiTL44OII1Y3IIlEvxwxFUVgrHSZ/UpA==} + engines: {node: '>=16'} + peerDependencies: + typescript: '>=4.2.0' + + ts-api-utils@1.3.0: + resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==} + engines: {node: '>=16'} + peerDependencies: + typescript: '>=4.2.0' + + tslib@2.6.2: + resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} + + tsx@4.7.2: + resolution: {integrity: sha512-BCNd4kz6fz12fyrgCTEdZHGJ9fWTGeUzXmQysh0RVocDY3h4frk05ZNCXSy4kIenF7y/QnrdiVpTsyNRn6vlAw==} + engines: {node: '>=18.0.0'} + hasBin: true + + tunnel-agent@0.6.0: + resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} + + type-check@0.4.0: + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} + engines: {node: '>= 0.8.0'} + + 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'} + + typescript@5.4.4: + resolution: {integrity: sha512-dGE2Vv8cpVvw28v8HCPqyb08EzbBURxDpuhJvTrusShUfGnhHBafDsLdS1EhhxyL6BJQE+2cT3dDPAv+MQ6oLw==} + engines: {node: '>=14.17'} + hasBin: true + + uc.micro@1.0.6: + resolution: {integrity: sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==} + + ufo@1.4.0: + resolution: {integrity: sha512-Hhy+BhRBleFjpJ2vchUNN40qgkh0366FWJGqVLYBHev0vpHTrXSA0ryT+74UiW6KWsldNurQMKGqCm1M2zBciQ==} + + ufo@1.5.3: + resolution: {integrity: sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==} + + unconfig@0.3.11: + resolution: {integrity: sha512-bV/nqePAKv71v3HdVUn6UefbsDKQWRX+bJIkiSm0+twIds6WiD2bJLWWT3i214+J/B4edufZpG2w7Y63Vbwxow==} + + unconfig@0.3.13: + resolution: {integrity: sha512-N9Ph5NC4+sqtcOjPfHrRcHekBCadCXWTBzp2VYYbySOHW0PfD9XLCeXshTXjkPYwLrBr9AtSeU0CZmkYECJhng==} + + uncrypto@0.1.3: + resolution: {integrity: sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==} + + undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + + unicorn-magic@0.1.0: + resolution: {integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==} + engines: {node: '>=18'} + + unified@11.0.4: + resolution: {integrity: sha512-apMPnyLjAX+ty4OrNap7yumyVAMlKx5IWU2wlzzUdYJO9A8f1p9m/gywF/GM2ZDFcjQPrx59Mc90KwmxsoklxQ==} + + unist-util-is@6.0.0: + resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==} + + unist-util-position@5.0.0: + resolution: {integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==} + + unist-util-stringify-position@2.0.3: + resolution: {integrity: sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==} + + unist-util-stringify-position@4.0.0: + resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==} + + unist-util-visit-parents@6.0.1: + resolution: {integrity: sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==} + + unist-util-visit@5.0.0: + resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==} + + universalify@2.0.1: + resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} + engines: {node: '>= 10.0.0'} + + unlazy@0.11.3: + resolution: {integrity: sha512-GyNHIU+sMdKQGO/OLJw7Jb4L1/xBHHvjoSL9lOwFxRGv5N7COmXCc6n6hzTE7YTNs4SB1ff1pyO20WtSMkTKBg==} + + unocss@0.58.9: + resolution: {integrity: sha512-aqANXXP0RrtN4kSaTLn/7I6wh8o45LUdVgPzGu7Fan2DfH2+wpIs6frlnlHlOymnb+52dp6kXluQinddaUKW1A==} + engines: {node: '>=14'} + peerDependencies: + '@unocss/webpack': 0.58.9 + vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 + peerDependenciesMeta: + '@unocss/webpack': + optional: true + vite: + optional: true + + unplugin-vue-components@0.26.0: + resolution: {integrity: sha512-s7IdPDlnOvPamjunVxw8kNgKNK8A5KM1YpK5j/p97jEKTjlPNrA0nZBiSfAKKlK1gWZuyWXlKL5dk3EDw874LQ==} + 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.6.0: + resolution: {integrity: sha512-BfJEpWBu3aE/AyHx8VaNE/WgouoQxgH9baAiH82JjX8cqVyi3uJQstqwD5J+SZxIK326SZIhsSZlALXVBCknTQ==} + + update-browserslist-db@1.0.13: + resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + + uri-js@4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + + util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + + uuid@9.0.1: + resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} + hasBin: true + + valid-data-url@3.0.1: + resolution: {integrity: sha512-jOWVmzVceKlVVdwjNSenT4PbGghU0SBIizAev8ofZVgivk/TVHXSbNL8LP6M3spZvkR9/QolkyJavGSX5Cs0UA==} + engines: {node: '>=10'} + + validate-npm-package-license@3.0.4: + resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} + + vfile-location@5.0.2: + resolution: {integrity: sha512-NXPYyxyBSH7zB5U6+3uDdd6Nybz6o6/od9rk8bp9H8GR3L+cm/fC0uUTbqBmUTnMCUDslAGBOIKNfvvb+gGlDg==} + + vfile-message@4.0.2: + resolution: {integrity: sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==} + + vfile@6.0.1: + resolution: {integrity: sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw==} + + vite-plugin-inspect@0.8.3: + resolution: {integrity: sha512-SBVzOIdP/kwe6hjkt7LSW4D0+REqqe58AumcnCfRNw4Kt3mbS9pEBkch+nupu2PBxv2tQi69EQHQ1ZA1vgB/Og==} + engines: {node: '>=14'} + peerDependencies: + '@nuxt/kit': '*' + vite: ^3.1.0 || ^4.0.0 || ^5.0.0-0 + peerDependenciesMeta: + '@nuxt/kit': + optional: true + + vite@5.2.8: + resolution: {integrity: sha512-OyZR+c1CE8yeHw5V5t59aXsUPPVTHMDjEZz8MgguLL/Q7NblxhZUlTu9xSPqlsUO/y+X7dlU05jdhvyycD55DA==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@types/node': ^18.0.0 || >=20.0.0 + 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 + + vitepress@1.0.2: + resolution: {integrity: sha512-bEj9yTEdWyewJFOhEREZF+mXuAgOq27etuJZT6DZSp+J3XpQstXMJc5piSVwhZBtuj8OfA0iXy+jdP1c71KMYQ==} + hasBin: true + peerDependencies: + markdown-it-mathjax3: ^4 + postcss: ^8 + peerDependenciesMeta: + markdown-it-mathjax3: + optional: true + postcss: + optional: true + + vue-demi@0.14.7: + resolution: {integrity: sha512-EOG8KXDQNwkJILkx/gPcoL/7vH+hORoBaKgGe+6W7VFMvCYJfmF2dGbvgDroVnI8LU7/kTu8mbjRZGBU1z9NTA==} + 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.4.2: + resolution: {integrity: sha512-Ry9oiGmCAK91HrKMtCrKFWmSFWvYkpGglCeFAIqDdr9zdXmMMpJOmUJS7WWsW7fX81h6mwHmUZCQQ1E0PkSwYQ==} + engines: {node: ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: '>=6.0.0' + + vue@3.4.21: + resolution: {integrity: sha512-5hjyV/jLEIKD/jYl4cavMcnzKwjMKohureP8ejn3hhEjwhWIhWeuzL2kJAjzl/WyVsgPY56Sy4Z40C3lVshxXA==} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + web-namespaces@2.0.1: + resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==} + + web-resource-inliner@6.0.1: + resolution: {integrity: sha512-kfqDxt5dTB1JhqsCUQVFDj0rmY+4HLwGQIsLPbyrsN9y9WV/1oFDSx3BQ4GfCv9X+jVeQ7rouTqwK53rA/7t8A==} + engines: {node: '>=10.0.0'} + + web-streams-polyfill@3.2.1: + resolution: {integrity: sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==} + engines: {node: '>= 8'} + + webidl-conversions@3.0.1: + resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} + + webpack-sources@3.2.3: + resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} + engines: {node: '>=10.13.0'} + + webpack-virtual-modules@0.6.1: + resolution: {integrity: sha512-poXpCylU7ExuvZK8z+On3kX+S8o/2dQ/SVYueKA0D4WEMXROXgY8Ez50/bQEUmvoSMMrWcrJqCHuhAbsiwg7Dg==} + + whatwg-url@5.0.0: + resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} + + which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + + wicked-good-xpath@1.3.0: + resolution: {integrity: sha512-Gd9+TUn5nXdwj/hFsPVx5cuHHiF5Bwuc30jZ4+ronF1qHK5O7HD0sgmXWSEgwKquT3ClLoKPVbO6qGwVwLzvAw==} + + wrap-ansi@7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + + wrap-ansi@8.1.0: + resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} + engines: {node: '>=12'} + + wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + + xml-name-validator@4.0.0: + resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==} + engines: {node: '>=12'} + + xmldom-sre@0.1.31: + resolution: {integrity: sha512-f9s+fUkX04BxQf+7mMWAp5zk61pciie+fFLC9hX9UVvCeJQfNHRHXpeo5MPcR0EUf57PYLdt+ZO4f3Ipk2oZUw==} + engines: {node: '>=0.1'} + + y18n@5.0.8: + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} + + 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.3.4: + resolution: {integrity: sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==} + engines: {node: '>= 14'} + + yargs-parser@21.1.1: + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} + + yargs@17.7.2: + resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} + engines: {node: '>=12'} + + 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'} + + zwitch@2.0.4: + resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} + +snapshots: + + '@aashutoshrathi/word-wrap@1.2.6': {} + + '@algolia/autocomplete-core@1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.2)(search-insights@2.13.0)': + dependencies: + '@algolia/autocomplete-plugin-algolia-insights': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.2)(search-insights@2.13.0) + '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.2) + transitivePeerDependencies: + - '@algolia/client-search' + - algoliasearch + - search-insights + + '@algolia/autocomplete-plugin-algolia-insights@1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.2)(search-insights@2.13.0)': + dependencies: + '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.2) + search-insights: 2.13.0 + transitivePeerDependencies: + - '@algolia/client-search' + - algoliasearch + + '@algolia/autocomplete-preset-algolia@1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.2)': + dependencies: + '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.2) + '@algolia/client-search': 4.23.3 + algoliasearch: 4.23.2 + + '@algolia/autocomplete-shared@1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.2)': + dependencies: + '@algolia/client-search': 4.23.3 + algoliasearch: 4.23.2 + + '@algolia/cache-browser-local-storage@4.23.2': + dependencies: + '@algolia/cache-common': 4.23.2 + + '@algolia/cache-common@4.23.2': {} + + '@algolia/cache-common@4.23.3': {} + + '@algolia/cache-in-memory@4.23.2': + dependencies: + '@algolia/cache-common': 4.23.2 + + '@algolia/client-account@4.23.2': + dependencies: + '@algolia/client-common': 4.23.2 + '@algolia/client-search': 4.23.2 + '@algolia/transporter': 4.23.2 + + '@algolia/client-analytics@4.23.2': + dependencies: + '@algolia/client-common': 4.23.2 + '@algolia/client-search': 4.23.2 + '@algolia/requester-common': 4.23.2 + '@algolia/transporter': 4.23.2 + + '@algolia/client-common@4.23.2': + dependencies: + '@algolia/requester-common': 4.23.2 + '@algolia/transporter': 4.23.2 + + '@algolia/client-common@4.23.3': + dependencies: + '@algolia/requester-common': 4.23.3 + '@algolia/transporter': 4.23.3 + + '@algolia/client-personalization@4.23.2': + dependencies: + '@algolia/client-common': 4.23.2 + '@algolia/requester-common': 4.23.2 + '@algolia/transporter': 4.23.2 + + '@algolia/client-search@4.23.2': + dependencies: + '@algolia/client-common': 4.23.2 + '@algolia/requester-common': 4.23.2 + '@algolia/transporter': 4.23.2 + + '@algolia/client-search@4.23.3': + dependencies: + '@algolia/client-common': 4.23.3 + '@algolia/requester-common': 4.23.3 + '@algolia/transporter': 4.23.3 + + '@algolia/logger-common@4.23.2': {} + + '@algolia/logger-common@4.23.3': {} + + '@algolia/logger-console@4.23.2': + dependencies: + '@algolia/logger-common': 4.23.2 + + '@algolia/recommend@4.23.2': + dependencies: + '@algolia/cache-browser-local-storage': 4.23.2 + '@algolia/cache-common': 4.23.2 + '@algolia/cache-in-memory': 4.23.2 + '@algolia/client-common': 4.23.2 + '@algolia/client-search': 4.23.2 + '@algolia/logger-common': 4.23.2 + '@algolia/logger-console': 4.23.2 + '@algolia/requester-browser-xhr': 4.23.2 + '@algolia/requester-common': 4.23.2 + '@algolia/requester-node-http': 4.23.2 + '@algolia/transporter': 4.23.2 + + '@algolia/requester-browser-xhr@4.23.2': + dependencies: + '@algolia/requester-common': 4.23.2 + + '@algolia/requester-common@4.23.2': {} + + '@algolia/requester-common@4.23.3': {} + + '@algolia/requester-node-http@4.23.2': + dependencies: + '@algolia/requester-common': 4.23.2 + + '@algolia/transporter@4.23.2': + dependencies: + '@algolia/cache-common': 4.23.2 + '@algolia/logger-common': 4.23.2 + '@algolia/requester-common': 4.23.2 + + '@algolia/transporter@4.23.3': + dependencies: + '@algolia/cache-common': 4.23.3 + '@algolia/logger-common': 4.23.3 + '@algolia/requester-common': 4.23.3 + + '@ampproject/remapping@2.3.0': + dependencies: + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + + '@antfu/eslint-config@2.12.2(@unocss/eslint-plugin@0.59.4(eslint@8.57.0)(typescript@5.4.4))(@vue/compiler-sfc@3.4.26)(eslint@8.57.0)(typescript@5.4.4)': + dependencies: + '@antfu/install-pkg': 0.3.2 + '@clack/prompts': 0.7.0 + '@stylistic/eslint-plugin': 1.7.0(eslint@8.57.0)(typescript@5.4.4) + '@typescript-eslint/eslint-plugin': 7.5.0(@typescript-eslint/parser@7.5.0(eslint@8.57.0)(typescript@5.4.4))(eslint@8.57.0)(typescript@5.4.4) + '@typescript-eslint/parser': 7.5.0(eslint@8.57.0)(typescript@5.4.4) + eslint: 8.57.0 + eslint-config-flat-gitignore: 0.1.5 + eslint-flat-config-utils: 0.2.1 + eslint-merge-processors: 0.1.0(eslint@8.57.0) + eslint-plugin-antfu: 2.1.2(eslint@8.57.0) + eslint-plugin-eslint-comments: 3.2.0(eslint@8.57.0) + eslint-plugin-import-x: 0.5.0(eslint@8.57.0)(typescript@5.4.4) + eslint-plugin-jsdoc: 48.2.3(eslint@8.57.0) + eslint-plugin-jsonc: 2.15.0(eslint@8.57.0) + eslint-plugin-markdown: 4.0.1(eslint@8.57.0) + eslint-plugin-n: 16.6.2(eslint@8.57.0) + eslint-plugin-no-only-tests: 3.1.0 + eslint-plugin-perfectionist: 2.8.0(eslint@8.57.0)(typescript@5.4.4)(vue-eslint-parser@9.4.2(eslint@8.57.0)) + eslint-plugin-toml: 0.11.0(eslint@8.57.0) + eslint-plugin-unicorn: 52.0.0(eslint@8.57.0) + eslint-plugin-unused-imports: 3.1.0(@typescript-eslint/eslint-plugin@7.5.0(@typescript-eslint/parser@7.5.0(eslint@8.57.0)(typescript@5.4.4))(eslint@8.57.0)(typescript@5.4.4))(eslint@8.57.0) + eslint-plugin-vitest: 0.4.1(@typescript-eslint/eslint-plugin@7.5.0(@typescript-eslint/parser@7.5.0(eslint@8.57.0)(typescript@5.4.4))(eslint@8.57.0)(typescript@5.4.4))(eslint@8.57.0)(typescript@5.4.4) + eslint-plugin-vue: 9.24.0(eslint@8.57.0) + eslint-plugin-yml: 1.14.0(eslint@8.57.0) + eslint-processor-vue-blocks: 0.1.1(@vue/compiler-sfc@3.4.26)(eslint@8.57.0) + globals: 15.0.0 + jsonc-eslint-parser: 2.4.0 + local-pkg: 0.5.0 + parse-gitignore: 2.0.0 + picocolors: 1.0.0 + toml-eslint-parser: 0.9.3 + vue-eslint-parser: 9.4.2(eslint@8.57.0) + yaml-eslint-parser: 1.2.2 + yargs: 17.7.2 + optionalDependencies: + '@unocss/eslint-plugin': 0.59.4(eslint@8.57.0)(typescript@5.4.4) + transitivePeerDependencies: + - '@vue/compiler-sfc' + - supports-color + - svelte + - typescript + - vitest + + '@antfu/install-pkg@0.1.1': + dependencies: + execa: 5.1.1 + find-up: 5.0.0 + + '@antfu/install-pkg@0.3.2': + dependencies: + execa: 8.0.1 + + '@antfu/utils@0.7.7': {} + + '@babel/code-frame@7.24.2': + dependencies: + '@babel/highlight': 7.24.2 + picocolors: 1.0.0 + + '@babel/compat-data@7.23.5': {} + + '@babel/core@7.24.3': + dependencies: + '@ampproject/remapping': 2.3.0 + '@babel/code-frame': 7.24.2 + '@babel/generator': 7.24.1 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.3) + '@babel/helpers': 7.24.1 + '@babel/parser': 7.24.1 + '@babel/template': 7.24.0 + '@babel/traverse': 7.24.1 + '@babel/types': 7.24.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/generator@7.24.1': + dependencies: + '@babel/types': 7.24.0 + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + jsesc: 2.5.2 + + '@babel/helper-annotate-as-pure@7.22.5': + dependencies: + '@babel/types': 7.24.0 + + '@babel/helper-compilation-targets@7.23.6': + dependencies: + '@babel/compat-data': 7.23.5 + '@babel/helper-validator-option': 7.23.5 + browserslist: 4.22.3 + lru-cache: 5.1.1 + semver: 6.3.1 + + '@babel/helper-create-class-features-plugin@7.24.4(@babel/core@7.24.3)': + dependencies: + '@babel/core': 7.24.3 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-member-expression-to-functions': 7.23.0 + '@babel/helper-optimise-call-expression': 7.22.5 + '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.3) + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + semver: 6.3.1 + + '@babel/helper-environment-visitor@7.22.20': {} + + '@babel/helper-function-name@7.23.0': + dependencies: + '@babel/template': 7.24.0 + '@babel/types': 7.24.0 + + '@babel/helper-hoist-variables@7.22.5': + dependencies: + '@babel/types': 7.24.0 + + '@babel/helper-member-expression-to-functions@7.23.0': + dependencies: + '@babel/types': 7.24.0 + + '@babel/helper-module-imports@7.22.15': + dependencies: + '@babel/types': 7.24.0 + + '@babel/helper-module-transforms@7.23.3(@babel/core@7.24.3)': + dependencies: + '@babel/core': 7.24.3 + '@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-optimise-call-expression@7.22.5': + dependencies: + '@babel/types': 7.24.0 + + '@babel/helper-plugin-utils@7.24.0': {} + + '@babel/helper-replace-supers@7.24.1(@babel/core@7.24.3)': + dependencies: + '@babel/core': 7.24.3 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-member-expression-to-functions': 7.23.0 + '@babel/helper-optimise-call-expression': 7.22.5 + + '@babel/helper-simple-access@7.22.5': + dependencies: + '@babel/types': 7.24.0 + + '@babel/helper-skip-transparent-expression-wrappers@7.22.5': + dependencies: + '@babel/types': 7.24.0 + + '@babel/helper-split-export-declaration@7.22.6': + dependencies: + '@babel/types': 7.24.0 + + '@babel/helper-string-parser@7.23.4': {} + + '@babel/helper-string-parser@7.24.1': {} + + '@babel/helper-validator-identifier@7.22.20': {} + + '@babel/helper-validator-identifier@7.24.5': {} + + '@babel/helper-validator-option@7.23.5': {} + + '@babel/helpers@7.24.1': + dependencies: + '@babel/template': 7.24.0 + '@babel/traverse': 7.24.1 + '@babel/types': 7.24.0 + transitivePeerDependencies: + - supports-color + + '@babel/highlight@7.24.2': + dependencies: + '@babel/helper-validator-identifier': 7.22.20 + chalk: 2.4.2 + js-tokens: 4.0.0 + picocolors: 1.0.0 + + '@babel/parser@7.23.9': + dependencies: + '@babel/types': 7.23.9 + + '@babel/parser@7.24.1': + dependencies: + '@babel/types': 7.24.0 + + '@babel/parser@7.24.5': + dependencies: + '@babel/types': 7.24.5 + + '@babel/plugin-syntax-jsx@7.24.1(@babel/core@7.24.3)': + dependencies: + '@babel/core': 7.24.3 + '@babel/helper-plugin-utils': 7.24.0 + + '@babel/plugin-syntax-typescript@7.24.1(@babel/core@7.24.3)': + dependencies: + '@babel/core': 7.24.3 + '@babel/helper-plugin-utils': 7.24.0 + + '@babel/plugin-transform-modules-commonjs@7.24.1(@babel/core@7.24.3)': + dependencies: + '@babel/core': 7.24.3 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.3) + '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-simple-access': 7.22.5 + + '@babel/plugin-transform-typescript@7.24.4(@babel/core@7.24.3)': + dependencies: + '@babel/core': 7.24.3 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-create-class-features-plugin': 7.24.4(@babel/core@7.24.3) + '@babel/helper-plugin-utils': 7.24.0 + '@babel/plugin-syntax-typescript': 7.24.1(@babel/core@7.24.3) + + '@babel/preset-typescript@7.24.1(@babel/core@7.24.3)': + dependencies: + '@babel/core': 7.24.3 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-validator-option': 7.23.5 + '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-modules-commonjs': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-typescript': 7.24.4(@babel/core@7.24.3) + + '@babel/template@7.24.0': + dependencies: + '@babel/code-frame': 7.24.2 + '@babel/parser': 7.24.1 + '@babel/types': 7.24.0 + + '@babel/traverse@7.24.1': + dependencies: + '@babel/code-frame': 7.24.2 + '@babel/generator': 7.24.1 + '@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.24.1 + '@babel/types': 7.24.0 + debug: 4.3.4 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + + '@babel/types@7.23.9': + dependencies: + '@babel/helper-string-parser': 7.23.4 + '@babel/helper-validator-identifier': 7.22.20 + to-fast-properties: 2.0.0 + + '@babel/types@7.24.0': + dependencies: + '@babel/helper-string-parser': 7.23.4 + '@babel/helper-validator-identifier': 7.22.20 + to-fast-properties: 2.0.0 + + '@babel/types@7.24.5': + dependencies: + '@babel/helper-string-parser': 7.24.1 + '@babel/helper-validator-identifier': 7.24.5 + to-fast-properties: 2.0.0 + + '@clack/core@0.3.4': + dependencies: + picocolors: 1.0.0 + sisteransi: 1.0.5 + + '@clack/prompts@0.7.0': + dependencies: + '@clack/core': 0.3.4 + picocolors: 1.0.0 + sisteransi: 1.0.5 + + '@docsearch/css@3.6.0': {} + + '@docsearch/js@3.6.0(@algolia/client-search@4.23.3)(search-insights@2.13.0)': + dependencies: + '@docsearch/react': 3.6.0(@algolia/client-search@4.23.3)(search-insights@2.13.0) + preact: 10.20.1 + transitivePeerDependencies: + - '@algolia/client-search' + - '@types/react' + - react + - react-dom + - search-insights + + '@docsearch/react@3.6.0(@algolia/client-search@4.23.3)(search-insights@2.13.0)': + dependencies: + '@algolia/autocomplete-core': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.2)(search-insights@2.13.0) + '@algolia/autocomplete-preset-algolia': 1.9.3(@algolia/client-search@4.23.3)(algoliasearch@4.23.2) + '@docsearch/css': 3.6.0 + algoliasearch: 4.23.2 + optionalDependencies: + search-insights: 2.13.0 + transitivePeerDependencies: + - '@algolia/client-search' + + '@es-joy/jsdoccomment@0.42.0': + dependencies: + comment-parser: 1.4.1 + esquery: 1.5.0 + jsdoc-type-pratt-parser: 4.0.0 + + '@esbuild/aix-ppc64@0.19.11': + optional: true + + '@esbuild/aix-ppc64@0.20.2': + optional: true + + '@esbuild/android-arm64@0.19.11': + optional: true + + '@esbuild/android-arm64@0.20.2': + optional: true + + '@esbuild/android-arm@0.19.11': + optional: true + + '@esbuild/android-arm@0.20.2': + optional: true + + '@esbuild/android-x64@0.19.11': + optional: true + + '@esbuild/android-x64@0.20.2': + optional: true + + '@esbuild/darwin-arm64@0.19.11': + optional: true + + '@esbuild/darwin-arm64@0.20.2': + optional: true + + '@esbuild/darwin-x64@0.19.11': + optional: true + + '@esbuild/darwin-x64@0.20.2': + optional: true + + '@esbuild/freebsd-arm64@0.19.11': + optional: true + + '@esbuild/freebsd-arm64@0.20.2': + optional: true + + '@esbuild/freebsd-x64@0.19.11': + optional: true + + '@esbuild/freebsd-x64@0.20.2': + optional: true + + '@esbuild/linux-arm64@0.19.11': + optional: true + + '@esbuild/linux-arm64@0.20.2': + optional: true + + '@esbuild/linux-arm@0.19.11': + optional: true + + '@esbuild/linux-arm@0.20.2': + optional: true + + '@esbuild/linux-ia32@0.19.11': + optional: true + + '@esbuild/linux-ia32@0.20.2': + optional: true + + '@esbuild/linux-loong64@0.19.11': + optional: true + + '@esbuild/linux-loong64@0.20.2': + optional: true + + '@esbuild/linux-mips64el@0.19.11': + optional: true + + '@esbuild/linux-mips64el@0.20.2': + optional: true + + '@esbuild/linux-ppc64@0.19.11': + optional: true + + '@esbuild/linux-ppc64@0.20.2': + optional: true + + '@esbuild/linux-riscv64@0.19.11': + optional: true + + '@esbuild/linux-riscv64@0.20.2': + optional: true + + '@esbuild/linux-s390x@0.19.11': + optional: true + + '@esbuild/linux-s390x@0.20.2': + optional: true + + '@esbuild/linux-x64@0.19.11': + optional: true + + '@esbuild/linux-x64@0.20.2': + optional: true + + '@esbuild/netbsd-x64@0.19.11': + optional: true + + '@esbuild/netbsd-x64@0.20.2': + optional: true + + '@esbuild/openbsd-x64@0.19.11': + optional: true + + '@esbuild/openbsd-x64@0.20.2': + optional: true + + '@esbuild/sunos-x64@0.19.11': + optional: true + + '@esbuild/sunos-x64@0.20.2': + optional: true + + '@esbuild/win32-arm64@0.19.11': + optional: true + + '@esbuild/win32-arm64@0.20.2': + optional: true + + '@esbuild/win32-ia32@0.19.11': + optional: true + + '@esbuild/win32-ia32@0.20.2': + optional: true + + '@esbuild/win32-x64@0.19.11': + optional: true + + '@esbuild/win32-x64@0.20.2': + optional: true + + '@eslint-community/eslint-utils@4.4.0(eslint@8.57.0)': + dependencies: + eslint: 8.57.0 + eslint-visitor-keys: 3.4.3 + + '@eslint-community/regexpp@4.10.0': {} + + '@eslint/eslintrc@2.1.4': + dependencies: + ajv: 6.12.6 + debug: 4.3.4 + espree: 9.6.1 + globals: 13.24.0 + ignore: 5.3.1 + 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.57.0': {} + + '@humanwhocodes/config-array@0.11.14': + dependencies: + '@humanwhocodes/object-schema': 2.0.2 + debug: 4.3.4 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + + '@humanwhocodes/module-importer@1.0.1': {} + + '@humanwhocodes/object-schema@2.0.2': {} + + '@iconify-json/carbon@1.1.32': + dependencies: + '@iconify/types': 2.0.0 + + '@iconify-json/eos-icons@1.1.10': + dependencies: + '@iconify/types': 2.0.0 + + '@iconify-json/ic@1.1.17': + dependencies: + '@iconify/types': 2.0.0 + + '@iconify-json/icon-park-outline@1.1.15': + dependencies: + '@iconify/types': 2.0.0 + + '@iconify-json/octicon@1.1.53': + dependencies: + '@iconify/types': 2.0.0 + + '@iconify-json/svg-spinners@1.1.2': + dependencies: + '@iconify/types': 2.0.0 + + '@iconify/types@2.0.0': {} + + '@iconify/utils@2.1.22': + dependencies: + '@antfu/install-pkg': 0.1.1 + '@antfu/utils': 0.7.7 + '@iconify/types': 2.0.0 + debug: 4.3.4 + kolorist: 1.8.0 + local-pkg: 0.5.0 + mlly: 1.5.0 + transitivePeerDependencies: + - supports-color + + '@isaacs/cliui@8.0.2': + dependencies: + string-width: 5.1.2 + string-width-cjs: string-width@4.2.3 + strip-ansi: 7.1.0 + strip-ansi-cjs: strip-ansi@6.0.1 + wrap-ansi: 8.1.0 + wrap-ansi-cjs: wrap-ansi@7.0.0 + + '@jridgewell/gen-mapping@0.3.5': + dependencies: + '@jridgewell/set-array': 1.2.1 + '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/trace-mapping': 0.3.25 + + '@jridgewell/resolve-uri@3.1.1': {} + + '@jridgewell/set-array@1.2.1': {} + + '@jridgewell/sourcemap-codec@1.4.15': {} + + '@jridgewell/trace-mapping@0.3.25': + dependencies: + '@jridgewell/resolve-uri': 3.1.1 + '@jridgewell/sourcemap-codec': 1.4.15 + + '@kwsites/file-exists@1.1.1': + dependencies: + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + + '@kwsites/promise-deferred@1.1.1': {} + + '@napi-rs/canvas-android-arm64@0.1.52': + optional: true + + '@napi-rs/canvas-darwin-arm64@0.1.52': + optional: true + + '@napi-rs/canvas-darwin-x64@0.1.52': + optional: true + + '@napi-rs/canvas-linux-arm-gnueabihf@0.1.52': + optional: true + + '@napi-rs/canvas-linux-arm64-gnu@0.1.52': + optional: true + + '@napi-rs/canvas-linux-arm64-musl@0.1.52': + optional: true + + '@napi-rs/canvas-linux-x64-gnu@0.1.52': + optional: true + + '@napi-rs/canvas-linux-x64-musl@0.1.52': + optional: true + + '@napi-rs/canvas-win32-x64-msvc@0.1.52': + optional: true + + '@napi-rs/canvas@0.1.52': + optionalDependencies: + '@napi-rs/canvas-android-arm64': 0.1.52 + '@napi-rs/canvas-darwin-arm64': 0.1.52 + '@napi-rs/canvas-darwin-x64': 0.1.52 + '@napi-rs/canvas-linux-arm-gnueabihf': 0.1.52 + '@napi-rs/canvas-linux-arm64-gnu': 0.1.52 + '@napi-rs/canvas-linux-arm64-musl': 0.1.52 + '@napi-rs/canvas-linux-x64-gnu': 0.1.52 + '@napi-rs/canvas-linux-x64-musl': 0.1.52 + '@napi-rs/canvas-win32-x64-msvc': 0.1.52 + + '@netlify/functions@1.6.0': + dependencies: + is-promise: 4.0.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.16.0 + + '@nolebase/markdown-it-bi-directional-links@2.0.0-rc11(markdown-it@13.0.2)': + dependencies: + colorette: 2.0.20 + glob: 10.3.12 + markdown-it: 13.0.2 + + '@nolebase/markdown-it-element-transform@2.0.0-rc11(markdown-it@13.0.2)': + dependencies: + markdown-it: 13.0.2 + + '@nolebase/markdown-it-unlazy-img@2.0.0-rc11(@types/node@20.12.8)(less@4.2.0)(markdown-it@13.0.2)': + dependencies: + colorette: 2.0.20 + glob: 10.3.12 + markdown-it: 13.0.2 + vite: 5.2.8(@types/node@20.12.8)(less@4.2.0) + transitivePeerDependencies: + - '@types/node' + - less + - lightningcss + - sass + - stylus + - sugarss + - terser + + '@nolebase/ui@2.0.0-rc11(vitepress@1.0.2(@algolia/client-search@4.23.3)(@types/node@20.12.8)(less@4.2.0)(markdown-it-mathjax3@4.3.2)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.4))(vue@3.4.21(typescript@5.4.4))': + dependencies: + '@iconify-json/octicon': 1.1.53 + less: 4.2.0 + vue: 3.4.21(typescript@5.4.4) + optionalDependencies: + vitepress: 1.0.2(@algolia/client-search@4.23.3)(@types/node@20.12.8)(less@4.2.0)(markdown-it-mathjax3@4.3.2)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.4) + + '@nolebase/vitepress-plugin-enhanced-mark@2.0.0-rc11(vitepress@1.0.2(@algolia/client-search@4.23.3)(@types/node@20.12.8)(less@4.2.0)(markdown-it-mathjax3@4.3.2)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.4))': + dependencies: + less: 4.2.0 + vitepress: 1.0.2(@algolia/client-search@4.23.3)(@types/node@20.12.8)(less@4.2.0)(markdown-it-mathjax3@4.3.2)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.4) + + '@nolebase/vitepress-plugin-enhanced-readabilities@2.0.0-rc11(vitepress@1.0.2(@algolia/client-search@4.23.3)(@types/node@20.12.8)(less@4.2.0)(markdown-it-mathjax3@4.3.2)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.4))(vue@3.4.21(typescript@5.4.4))': + dependencies: + '@iconify-json/carbon': 1.1.32 + '@iconify-json/icon-park-outline': 1.1.15 + '@nolebase/ui': 2.0.0-rc11(vitepress@1.0.2(@algolia/client-search@4.23.3)(@types/node@20.12.8)(less@4.2.0)(markdown-it-mathjax3@4.3.2)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.4))(vue@3.4.21(typescript@5.4.4)) + less: 4.2.0 + vitepress: 1.0.2(@algolia/client-search@4.23.3)(@types/node@20.12.8)(less@4.2.0)(markdown-it-mathjax3@4.3.2)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.4) + transitivePeerDependencies: + - '@rive-app/canvas' + - asciinema-player + - vue + + '@nolebase/vitepress-plugin-git-changelog@2.0.0-rc11(vitepress@1.0.2(@algolia/client-search@4.23.3)(@types/node@20.12.8)(less@4.2.0)(markdown-it-mathjax3@4.3.2)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.4))(vue@3.4.21(typescript@5.4.4))': + dependencies: + '@iconify-json/octicon': 1.1.53 + '@nolebase/ui': 2.0.0-rc11(vitepress@1.0.2(@algolia/client-search@4.23.3)(@types/node@20.12.8)(less@4.2.0)(markdown-it-mathjax3@4.3.2)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.4))(vue@3.4.21(typescript@5.4.4)) + colorette: 2.0.20 + date-fns: 3.6.0 + execa: 8.0.1 + globby: 14.0.1 + gray-matter: 4.0.3 + less: 4.2.0 + ora: 8.0.1 + uncrypto: 0.1.3 + vitepress: 1.0.2(@algolia/client-search@4.23.3)(@types/node@20.12.8)(less@4.2.0)(markdown-it-mathjax3@4.3.2)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.4) + transitivePeerDependencies: + - '@rive-app/canvas' + - asciinema-player + - vue + + '@nolebase/vitepress-plugin-highlight-targeted-heading@2.0.0-rc11(vitepress@1.0.2(@algolia/client-search@4.23.3)(@types/node@20.12.8)(less@4.2.0)(markdown-it-mathjax3@4.3.2)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.4))': + dependencies: + less: 4.2.0 + vitepress: 1.0.2(@algolia/client-search@4.23.3)(@types/node@20.12.8)(less@4.2.0)(markdown-it-mathjax3@4.3.2)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.4) + + '@nolebase/vitepress-plugin-inline-link-preview@2.0.0-rc11(vitepress@1.0.2(@algolia/client-search@4.23.3)(@types/node@20.12.8)(less@4.2.0)(markdown-it-mathjax3@4.3.2)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.4))(vue@3.4.21(typescript@5.4.4))': + dependencies: + '@iconify-json/icon-park-outline': 1.1.15 + '@iconify-json/octicon': 1.1.53 + '@iconify-json/svg-spinners': 1.1.2 + '@nolebase/markdown-it-element-transform': 2.0.0-rc11(markdown-it@13.0.2) + '@nolebase/ui': 2.0.0-rc11(vitepress@1.0.2(@algolia/client-search@4.23.3)(@types/node@20.12.8)(less@4.2.0)(markdown-it-mathjax3@4.3.2)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.4))(vue@3.4.21(typescript@5.4.4)) + less: 4.2.0 + markdown-it: 13.0.2 + markdown-it-attrs: 4.1.6(markdown-it@13.0.2) + vitepress: 1.0.2(@algolia/client-search@4.23.3)(@types/node@20.12.8)(less@4.2.0)(markdown-it-mathjax3@4.3.2)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.4) + transitivePeerDependencies: + - '@rive-app/canvas' + - asciinema-player + - vue + + '@nolebase/vitepress-plugin-og-image@2.0.0-rc11(vitepress@1.0.2(@algolia/client-search@4.23.3)(@types/node@20.12.8)(less@4.2.0)(markdown-it-mathjax3@4.3.2)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.4))': + dependencies: + '@resvg/resvg-js': 2.6.2 + colorette: 2.0.20 + emoji-regex: 10.3.0 + fs-extra: 11.2.0 + glob: 10.3.12 + gray-matter: 4.0.3 + ora: 8.0.1 + rehype: 13.0.1 + rehype-meta: 4.0.0 + rehype-parse: 9.0.0 + rehype-stringify: 10.0.0 + unified: 11.0.4 + vitepress: 1.0.2(@algolia/client-search@4.23.3)(@types/node@20.12.8)(less@4.2.0)(markdown-it-mathjax3@4.3.2)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.4) + + '@nolebase/vitepress-plugin-page-properties@2.0.0-rc11(vitepress@1.0.2(@algolia/client-search@4.23.3)(@types/node@20.12.8)(less@4.2.0)(markdown-it-mathjax3@4.3.2)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.4))(vue@3.4.21(typescript@5.4.4))': + dependencies: + '@iconify-json/icon-park-outline': 1.1.15 + '@iconify-json/octicon': 1.1.53 + '@nolebase/ui': 2.0.0-rc11(vitepress@1.0.2(@algolia/client-search@4.23.3)(@types/node@20.12.8)(less@4.2.0)(markdown-it-mathjax3@4.3.2)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.4))(vue@3.4.21(typescript@5.4.4)) + date-fns: 3.6.0 + gray-matter: 4.0.3 + less: 4.2.0 + markdown-it: 13.0.2 + uuid: 9.0.1 + vitepress: 1.0.2(@algolia/client-search@4.23.3)(@types/node@20.12.8)(less@4.2.0)(markdown-it-mathjax3@4.3.2)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.4) + transitivePeerDependencies: + - '@rive-app/canvas' + - asciinema-player + - vue + + '@nolebase/vitepress-plugin-thumbnail-hash@2.0.0-rc11(vitepress@1.0.2(@algolia/client-search@4.23.3)(@types/node@20.12.8)(less@4.2.0)(markdown-it-mathjax3@4.3.2)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.4))': + dependencies: + '@napi-rs/canvas': 0.1.52 + '@unlazy/vue': 0.11.3 + colorette: 2.0.20 + glob: 10.3.12 + less: 4.2.0 + ora: 8.0.1 + thumbhash: 0.1.1 + uncrypto: 0.1.3 + unlazy: 0.11.3 + vitepress: 1.0.2(@algolia/client-search@4.23.3)(@types/node@20.12.8)(less@4.2.0)(markdown-it-mathjax3@4.3.2)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.4) + + '@pkgjs/parseargs@0.11.0': + optional: true + + '@pkgr/core@0.1.1': {} + + '@polka/url@1.0.0-next.24': {} + + '@resvg/resvg-js-android-arm-eabi@2.6.2': + optional: true + + '@resvg/resvg-js-android-arm64@2.6.2': + optional: true + + '@resvg/resvg-js-darwin-arm64@2.6.2': + optional: true + + '@resvg/resvg-js-darwin-x64@2.6.2': + optional: true + + '@resvg/resvg-js-linux-arm-gnueabihf@2.6.2': + optional: true + + '@resvg/resvg-js-linux-arm64-gnu@2.6.2': + optional: true + + '@resvg/resvg-js-linux-arm64-musl@2.6.2': + optional: true + + '@resvg/resvg-js-linux-x64-gnu@2.6.2': + optional: true + + '@resvg/resvg-js-linux-x64-musl@2.6.2': + optional: true + + '@resvg/resvg-js-win32-arm64-msvc@2.6.2': + optional: true + + '@resvg/resvg-js-win32-ia32-msvc@2.6.2': + optional: true + + '@resvg/resvg-js-win32-x64-msvc@2.6.2': + optional: true + + '@resvg/resvg-js@2.6.2': + optionalDependencies: + '@resvg/resvg-js-android-arm-eabi': 2.6.2 + '@resvg/resvg-js-android-arm64': 2.6.2 + '@resvg/resvg-js-darwin-arm64': 2.6.2 + '@resvg/resvg-js-darwin-x64': 2.6.2 + '@resvg/resvg-js-linux-arm-gnueabihf': 2.6.2 + '@resvg/resvg-js-linux-arm64-gnu': 2.6.2 + '@resvg/resvg-js-linux-arm64-musl': 2.6.2 + '@resvg/resvg-js-linux-x64-gnu': 2.6.2 + '@resvg/resvg-js-linux-x64-musl': 2.6.2 + '@resvg/resvg-js-win32-arm64-msvc': 2.6.2 + '@resvg/resvg-js-win32-ia32-msvc': 2.6.2 + '@resvg/resvg-js-win32-x64-msvc': 2.6.2 + + '@rollup/pluginutils@5.1.0(rollup@4.17.2)': + dependencies: + '@types/estree': 1.0.5 + estree-walker: 2.0.2 + picomatch: 2.3.1 + optionalDependencies: + rollup: 4.17.2 + + '@rollup/rollup-android-arm-eabi@4.13.0': + optional: true + + '@rollup/rollup-android-arm-eabi@4.17.2': + optional: true + + '@rollup/rollup-android-arm64@4.13.0': + optional: true + + '@rollup/rollup-android-arm64@4.17.2': + optional: true + + '@rollup/rollup-darwin-arm64@4.13.0': + optional: true + + '@rollup/rollup-darwin-arm64@4.17.2': + optional: true + + '@rollup/rollup-darwin-x64@4.13.0': + optional: true + + '@rollup/rollup-darwin-x64@4.17.2': + optional: true + + '@rollup/rollup-linux-arm-gnueabihf@4.13.0': + optional: true + + '@rollup/rollup-linux-arm-gnueabihf@4.17.2': + optional: true + + '@rollup/rollup-linux-arm-musleabihf@4.17.2': + optional: true + + '@rollup/rollup-linux-arm64-gnu@4.13.0': + optional: true + + '@rollup/rollup-linux-arm64-gnu@4.17.2': + optional: true + + '@rollup/rollup-linux-arm64-musl@4.13.0': + optional: true + + '@rollup/rollup-linux-arm64-musl@4.17.2': + optional: true + + '@rollup/rollup-linux-powerpc64le-gnu@4.17.2': + optional: true + + '@rollup/rollup-linux-riscv64-gnu@4.13.0': + optional: true + + '@rollup/rollup-linux-riscv64-gnu@4.17.2': + optional: true + + '@rollup/rollup-linux-s390x-gnu@4.17.2': + optional: true + + '@rollup/rollup-linux-x64-gnu@4.13.0': + optional: true + + '@rollup/rollup-linux-x64-gnu@4.17.2': + optional: true + + '@rollup/rollup-linux-x64-musl@4.13.0': + optional: true + + '@rollup/rollup-linux-x64-musl@4.17.2': + optional: true + + '@rollup/rollup-win32-arm64-msvc@4.13.0': + optional: true + + '@rollup/rollup-win32-arm64-msvc@4.17.2': + optional: true + + '@rollup/rollup-win32-ia32-msvc@4.13.0': + optional: true + + '@rollup/rollup-win32-ia32-msvc@4.17.2': + optional: true + + '@rollup/rollup-win32-x64-msvc@4.13.0': + optional: true + + '@rollup/rollup-win32-x64-msvc@4.17.2': + optional: true + + '@shikijs/core@1.2.4': {} + + '@shikijs/transformers@1.2.4': + dependencies: + shiki: 1.2.4 + + '@sindresorhus/merge-streams@2.3.0': {} + + '@stylistic/eslint-plugin-js@1.7.0(eslint@8.57.0)': + dependencies: + '@types/eslint': 8.56.5 + acorn: 8.11.3 + escape-string-regexp: 4.0.0 + eslint: 8.57.0 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + + '@stylistic/eslint-plugin-jsx@1.7.0(eslint@8.57.0)': + dependencies: + '@stylistic/eslint-plugin-js': 1.7.0(eslint@8.57.0) + '@types/eslint': 8.56.5 + eslint: 8.57.0 + estraverse: 5.3.0 + picomatch: 4.0.1 + + '@stylistic/eslint-plugin-plus@1.7.0(eslint@8.57.0)(typescript@5.4.4)': + dependencies: + '@types/eslint': 8.56.5 + '@typescript-eslint/utils': 6.21.0(eslint@8.57.0)(typescript@5.4.4) + eslint: 8.57.0 + transitivePeerDependencies: + - supports-color + - typescript + + '@stylistic/eslint-plugin-ts@1.7.0(eslint@8.57.0)(typescript@5.4.4)': + dependencies: + '@stylistic/eslint-plugin-js': 1.7.0(eslint@8.57.0) + '@types/eslint': 8.56.5 + '@typescript-eslint/utils': 6.21.0(eslint@8.57.0)(typescript@5.4.4) + eslint: 8.57.0 + transitivePeerDependencies: + - supports-color + - typescript + + '@stylistic/eslint-plugin@1.7.0(eslint@8.57.0)(typescript@5.4.4)': + dependencies: + '@stylistic/eslint-plugin-js': 1.7.0(eslint@8.57.0) + '@stylistic/eslint-plugin-jsx': 1.7.0(eslint@8.57.0) + '@stylistic/eslint-plugin-plus': 1.7.0(eslint@8.57.0)(typescript@5.4.4) + '@stylistic/eslint-plugin-ts': 1.7.0(eslint@8.57.0)(typescript@5.4.4) + '@types/eslint': 8.56.5 + eslint: 8.57.0 + transitivePeerDependencies: + - supports-color + - typescript + + '@types/eslint@8.56.5': + dependencies: + '@types/estree': 1.0.5 + '@types/json-schema': 7.0.15 + + '@types/eslint@8.56.7': + dependencies: + '@types/estree': 1.0.5 + '@types/json-schema': 7.0.15 + + '@types/estree@1.0.5': {} + + '@types/fs-extra@11.0.4': + dependencies: + '@types/jsonfile': 6.1.4 + '@types/node': 20.10.6 + + '@types/hast@3.0.4': + dependencies: + '@types/unist': 3.0.2 + + '@types/json-schema@7.0.15': {} + + '@types/jsonfile@6.1.4': + dependencies: + '@types/node': 20.10.6 + + '@types/linkify-it@3.0.5': {} + + '@types/lodash@4.17.0': {} + + '@types/markdown-it-footnote@3.0.4': + dependencies: + '@types/markdown-it': 12.2.3 + + '@types/markdown-it@12.2.3': + dependencies: + '@types/linkify-it': 3.0.5 + '@types/mdurl': 1.0.5 + + '@types/markdown-it@13.0.7': + dependencies: + '@types/linkify-it': 3.0.5 + '@types/mdurl': 1.0.5 + + '@types/mdast@3.0.15': + dependencies: + '@types/unist': 2.0.10 + + '@types/mdast@4.0.3': + dependencies: + '@types/unist': 3.0.2 + + '@types/mdurl@1.0.5': {} + + '@types/node-fetch@2.6.11': + dependencies: + '@types/node': 20.10.6 + form-data: 4.0.0 + + '@types/node@20.10.6': + dependencies: + undici-types: 5.26.5 + + '@types/node@20.12.8': + dependencies: + undici-types: 5.26.5 + optional: true + + '@types/normalize-package-data@2.4.4': {} + + '@types/semver@7.5.6': {} + + '@types/semver@7.5.8': + optional: true + + '@types/unist@2.0.10': {} + + '@types/unist@3.0.2': {} + + '@types/web-bluetooth@0.0.20': {} + + '@typescript-eslint/eslint-plugin@7.5.0(@typescript-eslint/parser@7.5.0(eslint@8.57.0)(typescript@5.4.4))(eslint@8.57.0)(typescript@5.4.4)': + dependencies: + '@eslint-community/regexpp': 4.10.0 + '@typescript-eslint/parser': 7.5.0(eslint@8.57.0)(typescript@5.4.4) + '@typescript-eslint/scope-manager': 7.5.0 + '@typescript-eslint/type-utils': 7.5.0(eslint@8.57.0)(typescript@5.4.4) + '@typescript-eslint/utils': 7.5.0(eslint@8.57.0)(typescript@5.4.4) + '@typescript-eslint/visitor-keys': 7.5.0 + debug: 4.3.4 + eslint: 8.57.0 + graphemer: 1.4.0 + ignore: 5.3.1 + natural-compare: 1.4.0 + semver: 7.6.0 + ts-api-utils: 1.2.1(typescript@5.4.4) + optionalDependencies: + typescript: 5.4.4 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/parser@7.5.0(eslint@8.57.0)(typescript@5.4.4)': + dependencies: + '@typescript-eslint/scope-manager': 7.5.0 + '@typescript-eslint/types': 7.5.0 + '@typescript-eslint/typescript-estree': 7.5.0(typescript@5.4.4) + '@typescript-eslint/visitor-keys': 7.5.0 + debug: 4.3.4 + eslint: 8.57.0 + optionalDependencies: + typescript: 5.4.4 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/scope-manager@6.21.0': + dependencies: + '@typescript-eslint/types': 6.21.0 + '@typescript-eslint/visitor-keys': 6.21.0 + + '@typescript-eslint/scope-manager@7.5.0': + dependencies: + '@typescript-eslint/types': 7.5.0 + '@typescript-eslint/visitor-keys': 7.5.0 + + '@typescript-eslint/scope-manager@7.8.0': + dependencies: + '@typescript-eslint/types': 7.8.0 + '@typescript-eslint/visitor-keys': 7.8.0 + optional: true + + '@typescript-eslint/type-utils@7.5.0(eslint@8.57.0)(typescript@5.4.4)': + dependencies: + '@typescript-eslint/typescript-estree': 7.5.0(typescript@5.4.4) + '@typescript-eslint/utils': 7.5.0(eslint@8.57.0)(typescript@5.4.4) + debug: 4.3.4 + eslint: 8.57.0 + ts-api-utils: 1.2.1(typescript@5.4.4) + optionalDependencies: + typescript: 5.4.4 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/types@6.21.0': {} + + '@typescript-eslint/types@7.5.0': {} + + '@typescript-eslint/types@7.8.0': + optional: true + + '@typescript-eslint/typescript-estree@6.21.0(typescript@5.4.4)': + dependencies: + '@typescript-eslint/types': 6.21.0 + '@typescript-eslint/visitor-keys': 6.21.0 + debug: 4.3.4 + globby: 11.1.0 + is-glob: 4.0.3 + minimatch: 9.0.3 + semver: 7.6.0 + ts-api-utils: 1.2.1(typescript@5.4.4) + optionalDependencies: + typescript: 5.4.4 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/typescript-estree@7.5.0(typescript@5.4.4)': + dependencies: + '@typescript-eslint/types': 7.5.0 + '@typescript-eslint/visitor-keys': 7.5.0 + debug: 4.3.4 + globby: 11.1.0 + is-glob: 4.0.3 + minimatch: 9.0.3 + semver: 7.6.0 + ts-api-utils: 1.2.1(typescript@5.4.4) + optionalDependencies: + typescript: 5.4.4 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/typescript-estree@7.8.0(typescript@5.4.4)': + dependencies: + '@typescript-eslint/types': 7.8.0 + '@typescript-eslint/visitor-keys': 7.8.0 + debug: 4.3.4 + globby: 11.1.0 + is-glob: 4.0.3 + minimatch: 9.0.4 + semver: 7.6.0 + ts-api-utils: 1.3.0(typescript@5.4.4) + optionalDependencies: + typescript: 5.4.4 + transitivePeerDependencies: + - supports-color + optional: true + + '@typescript-eslint/utils@6.21.0(eslint@8.57.0)(typescript@5.4.4)': + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@types/json-schema': 7.0.15 + '@types/semver': 7.5.6 + '@typescript-eslint/scope-manager': 6.21.0 + '@typescript-eslint/types': 6.21.0 + '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.4.4) + eslint: 8.57.0 + semver: 7.6.0 + transitivePeerDependencies: + - supports-color + - typescript + + '@typescript-eslint/utils@7.5.0(eslint@8.57.0)(typescript@5.4.4)': + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@types/json-schema': 7.0.15 + '@types/semver': 7.5.6 + '@typescript-eslint/scope-manager': 7.5.0 + '@typescript-eslint/types': 7.5.0 + '@typescript-eslint/typescript-estree': 7.5.0(typescript@5.4.4) + eslint: 8.57.0 + semver: 7.6.0 + transitivePeerDependencies: + - supports-color + - typescript + + '@typescript-eslint/utils@7.8.0(eslint@8.57.0)(typescript@5.4.4)': + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@types/json-schema': 7.0.15 + '@types/semver': 7.5.8 + '@typescript-eslint/scope-manager': 7.8.0 + '@typescript-eslint/types': 7.8.0 + '@typescript-eslint/typescript-estree': 7.8.0(typescript@5.4.4) + eslint: 8.57.0 + semver: 7.6.0 + transitivePeerDependencies: + - supports-color + - typescript + optional: true + + '@typescript-eslint/visitor-keys@6.21.0': + dependencies: + '@typescript-eslint/types': 6.21.0 + eslint-visitor-keys: 3.4.3 + + '@typescript-eslint/visitor-keys@7.5.0': + dependencies: + '@typescript-eslint/types': 7.5.0 + eslint-visitor-keys: 3.4.3 + + '@typescript-eslint/visitor-keys@7.8.0': + dependencies: + '@typescript-eslint/types': 7.8.0 + eslint-visitor-keys: 3.4.3 + optional: true + + '@ungap/structured-clone@1.2.0': {} + + '@unlazy/core@0.11.3': {} + + '@unlazy/vue@0.11.3': + dependencies: + unlazy: 0.11.3 + + '@unocss/astro@0.58.9(rollup@4.17.2)(vite@5.2.8(@types/node@20.12.8)(less@4.2.0))': + dependencies: + '@unocss/core': 0.58.9 + '@unocss/reset': 0.58.9 + '@unocss/vite': 0.58.9(rollup@4.17.2)(vite@5.2.8(@types/node@20.12.8)(less@4.2.0)) + optionalDependencies: + vite: 5.2.8(@types/node@20.12.8)(less@4.2.0) + transitivePeerDependencies: + - rollup + + '@unocss/cli@0.58.9(rollup@4.17.2)': + dependencies: + '@ampproject/remapping': 2.3.0 + '@rollup/pluginutils': 5.1.0(rollup@4.17.2) + '@unocss/config': 0.58.9 + '@unocss/core': 0.58.9 + '@unocss/preset-uno': 0.58.9 + cac: 6.7.14 + chokidar: 3.6.0 + colorette: 2.0.20 + consola: 3.2.3 + fast-glob: 3.3.2 + magic-string: 0.30.8 + pathe: 1.1.2 + perfect-debounce: 1.0.0 + transitivePeerDependencies: + - rollup + + '@unocss/config@0.58.9': + dependencies: + '@unocss/core': 0.58.9 + unconfig: 0.3.11 + + '@unocss/config@0.59.4': + dependencies: + '@unocss/core': 0.59.4 + unconfig: 0.3.13 + optional: true + + '@unocss/core@0.58.9': {} + + '@unocss/core@0.59.4': + optional: true + + '@unocss/eslint-config@0.58.9(eslint@8.57.0)(typescript@5.4.4)': + dependencies: + '@unocss/eslint-plugin': 0.58.9(eslint@8.57.0)(typescript@5.4.4) + transitivePeerDependencies: + - eslint + - supports-color + - typescript + + '@unocss/eslint-plugin@0.58.9(eslint@8.57.0)(typescript@5.4.4)': + dependencies: + '@typescript-eslint/utils': 7.5.0(eslint@8.57.0)(typescript@5.4.4) + '@unocss/config': 0.58.9 + '@unocss/core': 0.58.9 + magic-string: 0.30.8 + synckit: 0.9.0 + transitivePeerDependencies: + - eslint + - supports-color + - typescript + + '@unocss/eslint-plugin@0.59.4(eslint@8.57.0)(typescript@5.4.4)': + dependencies: + '@typescript-eslint/utils': 7.8.0(eslint@8.57.0)(typescript@5.4.4) + '@unocss/config': 0.59.4 + '@unocss/core': 0.59.4 + magic-string: 0.30.10 + synckit: 0.9.0 + transitivePeerDependencies: + - eslint + - supports-color + - typescript + optional: true + + '@unocss/extractor-arbitrary-variants@0.58.9': + dependencies: + '@unocss/core': 0.58.9 + + '@unocss/inspector@0.58.9': + dependencies: + '@unocss/core': 0.58.9 + '@unocss/rule-utils': 0.58.9 + gzip-size: 6.0.0 + sirv: 2.0.4 + + '@unocss/postcss@0.58.9(postcss@8.4.38)': + dependencies: + '@unocss/config': 0.58.9 + '@unocss/core': 0.58.9 + '@unocss/rule-utils': 0.58.9 + css-tree: 2.3.1 + fast-glob: 3.3.2 + magic-string: 0.30.8 + postcss: 8.4.38 + + '@unocss/preset-attributify@0.58.9': + dependencies: + '@unocss/core': 0.58.9 + + '@unocss/preset-icons@0.58.9': + dependencies: + '@iconify/utils': 2.1.22 + '@unocss/core': 0.58.9 + ofetch: 1.3.4 + transitivePeerDependencies: + - supports-color + + '@unocss/preset-mini@0.58.9': + dependencies: + '@unocss/core': 0.58.9 + '@unocss/extractor-arbitrary-variants': 0.58.9 + '@unocss/rule-utils': 0.58.9 + + '@unocss/preset-tagify@0.58.9': + dependencies: + '@unocss/core': 0.58.9 + + '@unocss/preset-typography@0.58.9': + dependencies: + '@unocss/core': 0.58.9 + '@unocss/preset-mini': 0.58.9 + + '@unocss/preset-uno@0.58.9': + dependencies: + '@unocss/core': 0.58.9 + '@unocss/preset-mini': 0.58.9 + '@unocss/preset-wind': 0.58.9 + '@unocss/rule-utils': 0.58.9 + + '@unocss/preset-web-fonts@0.58.9': + dependencies: + '@unocss/core': 0.58.9 + ofetch: 1.3.4 + + '@unocss/preset-wind@0.58.9': + dependencies: + '@unocss/core': 0.58.9 + '@unocss/preset-mini': 0.58.9 + '@unocss/rule-utils': 0.58.9 + + '@unocss/reset@0.58.9': {} + + '@unocss/rule-utils@0.58.9': + dependencies: + '@unocss/core': 0.58.9 + magic-string: 0.30.8 + + '@unocss/scope@0.58.9': {} + + '@unocss/transformer-attributify-jsx-babel@0.58.9': + dependencies: + '@babel/core': 7.24.3 + '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.3) + '@babel/preset-typescript': 7.24.1(@babel/core@7.24.3) + '@unocss/core': 0.58.9 + transitivePeerDependencies: + - supports-color + + '@unocss/transformer-attributify-jsx@0.58.9': + dependencies: + '@unocss/core': 0.58.9 + + '@unocss/transformer-compile-class@0.58.9': + dependencies: + '@unocss/core': 0.58.9 + + '@unocss/transformer-directives@0.58.9': + dependencies: + '@unocss/core': 0.58.9 + '@unocss/rule-utils': 0.58.9 + css-tree: 2.3.1 + + '@unocss/transformer-variant-group@0.58.9': + dependencies: + '@unocss/core': 0.58.9 + + '@unocss/vite@0.58.9(rollup@4.17.2)(vite@5.2.8(@types/node@20.12.8)(less@4.2.0))': + dependencies: + '@ampproject/remapping': 2.3.0 + '@rollup/pluginutils': 5.1.0(rollup@4.17.2) + '@unocss/config': 0.58.9 + '@unocss/core': 0.58.9 + '@unocss/inspector': 0.58.9 + '@unocss/scope': 0.58.9 + '@unocss/transformer-directives': 0.58.9 + chokidar: 3.6.0 + fast-glob: 3.3.2 + magic-string: 0.30.8 + vite: 5.2.8(@types/node@20.12.8)(less@4.2.0) + transitivePeerDependencies: + - rollup + + '@vitejs/plugin-vue@5.0.4(vite@5.2.8(@types/node@20.12.8)(less@4.2.0))(vue@3.4.21(typescript@5.4.4))': + dependencies: + vite: 5.2.8(@types/node@20.12.8)(less@4.2.0) + vue: 3.4.21(typescript@5.4.4) + + '@vue/compiler-core@3.4.21': + dependencies: + '@babel/parser': 7.23.9 + '@vue/shared': 3.4.21 + entities: 4.5.0 + estree-walker: 2.0.2 + source-map-js: 1.0.2 + + '@vue/compiler-core@3.4.26': + dependencies: + '@babel/parser': 7.24.5 + '@vue/shared': 3.4.26 + entities: 4.5.0 + estree-walker: 2.0.2 + source-map-js: 1.2.0 + + '@vue/compiler-dom@3.4.21': + dependencies: + '@vue/compiler-core': 3.4.21 + '@vue/shared': 3.4.21 + + '@vue/compiler-dom@3.4.26': + dependencies: + '@vue/compiler-core': 3.4.26 + '@vue/shared': 3.4.26 + + '@vue/compiler-sfc@3.4.21': + dependencies: + '@babel/parser': 7.23.9 + '@vue/compiler-core': 3.4.21 + '@vue/compiler-dom': 3.4.21 + '@vue/compiler-ssr': 3.4.21 + '@vue/shared': 3.4.21 + estree-walker: 2.0.2 + magic-string: 0.30.7 + postcss: 8.4.35 + source-map-js: 1.0.2 + + '@vue/compiler-sfc@3.4.26': + dependencies: + '@babel/parser': 7.24.5 + '@vue/compiler-core': 3.4.26 + '@vue/compiler-dom': 3.4.26 + '@vue/compiler-ssr': 3.4.26 + '@vue/shared': 3.4.26 + estree-walker: 2.0.2 + magic-string: 0.30.10 + postcss: 8.4.38 + source-map-js: 1.2.0 + + '@vue/compiler-ssr@3.4.21': + dependencies: + '@vue/compiler-dom': 3.4.21 + '@vue/shared': 3.4.21 + + '@vue/compiler-ssr@3.4.26': + dependencies: + '@vue/compiler-dom': 3.4.26 + '@vue/shared': 3.4.26 + + '@vue/devtools-api@7.0.25(vue@3.4.21(typescript@5.4.4))': + dependencies: + '@vue/devtools-kit': 7.0.25(vue@3.4.21(typescript@5.4.4)) + transitivePeerDependencies: + - vue + + '@vue/devtools-kit@7.0.25(vue@3.4.21(typescript@5.4.4))': + dependencies: + '@vue/devtools-shared': 7.0.25 + hookable: 5.5.3 + mitt: 3.0.1 + perfect-debounce: 1.0.0 + speakingurl: 14.0.1 + vue: 3.4.21(typescript@5.4.4) + + '@vue/devtools-shared@7.0.25': + dependencies: + rfdc: 1.3.1 + + '@vue/reactivity@3.4.21': + dependencies: + '@vue/shared': 3.4.21 + + '@vue/runtime-core@3.4.21': + dependencies: + '@vue/reactivity': 3.4.21 + '@vue/shared': 3.4.21 + + '@vue/runtime-dom@3.4.21': + dependencies: + '@vue/runtime-core': 3.4.21 + '@vue/shared': 3.4.21 + csstype: 3.1.3 + + '@vue/server-renderer@3.4.21(vue@3.4.21(typescript@5.4.4))': + dependencies: + '@vue/compiler-ssr': 3.4.21 + '@vue/shared': 3.4.21 + vue: 3.4.21(typescript@5.4.4) + + '@vue/shared@3.4.21': {} + + '@vue/shared@3.4.26': {} + + '@vueuse/core@10.9.0(vue@3.4.21(typescript@5.4.4))': + dependencies: + '@types/web-bluetooth': 0.0.20 + '@vueuse/metadata': 10.9.0 + '@vueuse/shared': 10.9.0(vue@3.4.21(typescript@5.4.4)) + vue-demi: 0.14.7(vue@3.4.21(typescript@5.4.4)) + transitivePeerDependencies: + - '@vue/composition-api' + - vue + + '@vueuse/integrations@10.9.0(focus-trap@7.5.4)(vue@3.4.21(typescript@5.4.4))': + dependencies: + '@vueuse/core': 10.9.0(vue@3.4.21(typescript@5.4.4)) + '@vueuse/shared': 10.9.0(vue@3.4.21(typescript@5.4.4)) + vue-demi: 0.14.7(vue@3.4.21(typescript@5.4.4)) + optionalDependencies: + focus-trap: 7.5.4 + transitivePeerDependencies: + - '@vue/composition-api' + - vue + + '@vueuse/metadata@10.9.0': {} + + '@vueuse/shared@10.9.0(vue@3.4.21(typescript@5.4.4))': + dependencies: + vue-demi: 0.14.7(vue@3.4.21(typescript@5.4.4)) + transitivePeerDependencies: + - '@vue/composition-api' + - vue + + acorn-jsx@5.3.2(acorn@8.11.3): + dependencies: + acorn: 8.11.3 + + acorn@8.11.3: {} + + 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 + + algoliasearch@4.23.2: + dependencies: + '@algolia/cache-browser-local-storage': 4.23.2 + '@algolia/cache-common': 4.23.2 + '@algolia/cache-in-memory': 4.23.2 + '@algolia/client-account': 4.23.2 + '@algolia/client-analytics': 4.23.2 + '@algolia/client-common': 4.23.2 + '@algolia/client-personalization': 4.23.2 + '@algolia/client-search': 4.23.2 + '@algolia/logger-common': 4.23.2 + '@algolia/logger-console': 4.23.2 + '@algolia/recommend': 4.23.2 + '@algolia/requester-browser-xhr': 4.23.2 + '@algolia/requester-common': 4.23.2 + '@algolia/requester-node-http': 4.23.2 + '@algolia/transporter': 4.23.2 + + ansi-colors@4.1.3: {} + + ansi-regex@5.0.1: {} + + ansi-regex@6.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@6.2.1: {} + + anymatch@3.1.3: + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + + are-docs-informative@0.0.2: {} + + argparse@1.0.10: + dependencies: + sprintf-js: 1.0.3 + + argparse@2.0.1: {} + + array-union@2.1.0: {} + + asynckit@0.4.0: {} + + b4a@1.6.4: {} + + bail@2.0.2: {} + + balanced-match@1.0.2: {} + + base64-js@1.5.1: {} + + bcp-47-match@2.0.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 + + browserslist@4.22.3: + dependencies: + caniuse-lite: 1.0.30001585 + electron-to-chromium: 1.4.664 + node-releases: 2.0.14 + update-browserslist-db: 1.0.13(browserslist@4.22.3) + + 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.6.0 + + bundle-name@4.1.0: + dependencies: + run-applescript: 7.0.0 + + cac@6.7.14: {} + + callsites@3.1.0: {} + + caniuse-lite@1.0.30001585: {} + + ccount@2.0.1: {} + + 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.3.0: {} + + character-entities-html4@2.1.0: {} + + character-entities-legacy@1.1.4: {} + + character-entities-legacy@3.0.0: {} + + character-entities@1.2.4: {} + + character-reference-invalid@1.1.4: {} + + cheerio-select@1.6.0: + dependencies: + css-select: 4.3.0 + css-what: 6.1.0 + domelementtype: 2.3.0 + domhandler: 4.3.1 + domutils: 2.8.0 + + cheerio@1.0.0-rc.10: + dependencies: + cheerio-select: 1.6.0 + dom-serializer: 1.4.1 + domhandler: 4.3.1 + htmlparser2: 6.1.0 + parse5: 6.0.1 + parse5-htmlparser2-tree-adapter: 6.0.1 + tslib: 2.6.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.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 + + chownr@1.1.4: {} + + ci-info@4.0.0: {} + + clean-regexp@1.0.0: + dependencies: + escape-string-regexp: 1.0.5 + + cli-cursor@4.0.0: + dependencies: + restore-cursor: 4.0.0 + + cli-spinners@2.9.2: {} + + cliui@8.0.1: + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 + + 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: {} + + color-string@1.9.1: + dependencies: + color-name: 1.1.4 + simple-swizzle: 0.2.2 + + color@4.2.3: + dependencies: + color-convert: 2.0.1 + color-string: 1.9.1 + + colorette@2.0.20: {} + + combined-stream@1.0.8: + dependencies: + delayed-stream: 1.0.0 + + comma-separated-tokens@2.0.3: {} + + commander@6.2.1: {} + + commander@9.2.0: {} + + comment-parser@1.4.1: {} + + concat-map@0.0.1: {} + + consola@3.2.3: {} + + convert-source-map@2.0.0: {} + + copy-anything@2.0.6: + dependencies: + is-what: 3.14.1 + + core-js-compat@3.35.1: + dependencies: + browserslist: 4.22.3 + + cross-spawn@7.0.3: + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + + css-select@4.3.0: + dependencies: + boolbase: 1.0.0 + css-what: 6.1.0 + domhandler: 4.3.1 + domutils: 2.8.0 + nth-check: 2.1.1 + + css-selector-parser@2.3.2: {} + + css-selector-parser@3.0.5: {} + + css-tree@2.3.1: + dependencies: + mdn-data: 2.0.30 + source-map-js: 1.2.0 + + css-what@6.1.0: {} + + cssesc@3.0.0: {} + + csstype@3.1.3: {} + + data-uri-to-buffer@4.0.1: {} + + date-fns@3.6.0: {} + + debug@3.2.7: + dependencies: + ms: 2.1.3 + + debug@4.3.4: + dependencies: + ms: 2.1.2 + + decompress-response@6.0.0: + dependencies: + mimic-response: 3.1.0 + + deep-extend@0.6.0: {} + + deep-is@0.1.4: {} + + default-browser-id@5.0.0: {} + + default-browser@5.2.1: + dependencies: + bundle-name: 4.1.0 + default-browser-id: 5.0.0 + + define-lazy-prop@3.0.0: {} + + defu@6.1.4: {} + + delayed-stream@1.0.0: {} + + dequal@2.0.3: {} + + destr@2.0.3: {} + + detect-libc@2.0.2: {} + + devlop@1.1.0: + dependencies: + dequal: 2.0.3 + + dir-glob@3.0.1: + dependencies: + path-type: 4.0.0 + + direction@2.0.1: {} + + doctrine@3.0.0: + dependencies: + esutils: 2.0.3 + + dom-serializer@1.4.1: + dependencies: + domelementtype: 2.3.0 + domhandler: 4.3.1 + entities: 2.2.0 + + domelementtype@2.3.0: {} + + domhandler@3.3.0: + dependencies: + domelementtype: 2.3.0 + + domhandler@4.3.1: + dependencies: + domelementtype: 2.3.0 + + domutils@2.8.0: + dependencies: + dom-serializer: 1.4.1 + domelementtype: 2.3.0 + domhandler: 4.3.1 + + duplexer@0.1.2: {} + + eastasianwidth@0.2.0: {} + + electron-to-chromium@1.4.664: {} + + emoji-regex@10.3.0: {} + + emoji-regex@8.0.0: {} + + emoji-regex@9.2.2: {} + + end-of-stream@1.4.4: + dependencies: + once: 1.4.0 + + entities@2.2.0: {} + + 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 + + error-stack-parser-es@0.1.1: {} + + esbuild@0.19.11: + optionalDependencies: + '@esbuild/aix-ppc64': 0.19.11 + '@esbuild/android-arm': 0.19.11 + '@esbuild/android-arm64': 0.19.11 + '@esbuild/android-x64': 0.19.11 + '@esbuild/darwin-arm64': 0.19.11 + '@esbuild/darwin-x64': 0.19.11 + '@esbuild/freebsd-arm64': 0.19.11 + '@esbuild/freebsd-x64': 0.19.11 + '@esbuild/linux-arm': 0.19.11 + '@esbuild/linux-arm64': 0.19.11 + '@esbuild/linux-ia32': 0.19.11 + '@esbuild/linux-loong64': 0.19.11 + '@esbuild/linux-mips64el': 0.19.11 + '@esbuild/linux-ppc64': 0.19.11 + '@esbuild/linux-riscv64': 0.19.11 + '@esbuild/linux-s390x': 0.19.11 + '@esbuild/linux-x64': 0.19.11 + '@esbuild/netbsd-x64': 0.19.11 + '@esbuild/openbsd-x64': 0.19.11 + '@esbuild/sunos-x64': 0.19.11 + '@esbuild/win32-arm64': 0.19.11 + '@esbuild/win32-ia32': 0.19.11 + '@esbuild/win32-x64': 0.19.11 + + esbuild@0.20.2: + optionalDependencies: + '@esbuild/aix-ppc64': 0.20.2 + '@esbuild/android-arm': 0.20.2 + '@esbuild/android-arm64': 0.20.2 + '@esbuild/android-x64': 0.20.2 + '@esbuild/darwin-arm64': 0.20.2 + '@esbuild/darwin-x64': 0.20.2 + '@esbuild/freebsd-arm64': 0.20.2 + '@esbuild/freebsd-x64': 0.20.2 + '@esbuild/linux-arm': 0.20.2 + '@esbuild/linux-arm64': 0.20.2 + '@esbuild/linux-ia32': 0.20.2 + '@esbuild/linux-loong64': 0.20.2 + '@esbuild/linux-mips64el': 0.20.2 + '@esbuild/linux-ppc64': 0.20.2 + '@esbuild/linux-riscv64': 0.20.2 + '@esbuild/linux-s390x': 0.20.2 + '@esbuild/linux-x64': 0.20.2 + '@esbuild/netbsd-x64': 0.20.2 + '@esbuild/openbsd-x64': 0.20.2 + '@esbuild/sunos-x64': 0.20.2 + '@esbuild/win32-arm64': 0.20.2 + '@esbuild/win32-ia32': 0.20.2 + '@esbuild/win32-x64': 0.20.2 + + escalade@3.1.1: {} + + escape-goat@3.0.0: {} + + escape-string-regexp@1.0.5: {} + + escape-string-regexp@4.0.0: {} + + eslint-compat-utils@0.1.2(eslint@8.57.0): + dependencies: + eslint: 8.57.0 + + eslint-compat-utils@0.5.0(eslint@8.57.0): + dependencies: + eslint: 8.57.0 + semver: 7.6.0 + + eslint-config-flat-gitignore@0.1.5: + dependencies: + find-up: 7.0.0 + parse-gitignore: 2.0.0 + + eslint-flat-config-utils@0.2.1: + dependencies: + '@types/eslint': 8.56.7 + pathe: 1.1.2 + + eslint-import-resolver-node@0.3.9: + dependencies: + debug: 3.2.7 + is-core-module: 2.13.1 + resolve: 1.22.8 + transitivePeerDependencies: + - supports-color + + eslint-merge-processors@0.1.0(eslint@8.57.0): + dependencies: + eslint: 8.57.0 + + eslint-plugin-antfu@2.1.2(eslint@8.57.0): + dependencies: + eslint: 8.57.0 + + eslint-plugin-es-x@7.5.0(eslint@8.57.0): + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@eslint-community/regexpp': 4.10.0 + eslint: 8.57.0 + eslint-compat-utils: 0.1.2(eslint@8.57.0) + + eslint-plugin-eslint-comments@3.2.0(eslint@8.57.0): + dependencies: + escape-string-regexp: 1.0.5 + eslint: 8.57.0 + ignore: 5.3.1 + + eslint-plugin-import-x@0.5.0(eslint@8.57.0)(typescript@5.4.4): + dependencies: + '@typescript-eslint/utils': 7.5.0(eslint@8.57.0)(typescript@5.4.4) + debug: 4.3.4 + doctrine: 3.0.0 + eslint: 8.57.0 + eslint-import-resolver-node: 0.3.9 + get-tsconfig: 4.7.3 + is-glob: 4.0.3 + minimatch: 9.0.3 + semver: 7.6.0 + transitivePeerDependencies: + - supports-color + - typescript + + eslint-plugin-jsdoc@48.2.3(eslint@8.57.0): + dependencies: + '@es-joy/jsdoccomment': 0.42.0 + are-docs-informative: 0.0.2 + comment-parser: 1.4.1 + debug: 4.3.4 + escape-string-regexp: 4.0.0 + eslint: 8.57.0 + esquery: 1.5.0 + is-builtin-module: 3.2.1 + semver: 7.6.0 + spdx-expression-parse: 4.0.0 + transitivePeerDependencies: + - supports-color + + eslint-plugin-jsonc@2.15.0(eslint@8.57.0): + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + eslint: 8.57.0 + eslint-compat-utils: 0.5.0(eslint@8.57.0) + espree: 9.6.1 + graphemer: 1.4.0 + jsonc-eslint-parser: 2.4.0 + natural-compare: 1.4.0 + synckit: 0.6.2 + + eslint-plugin-markdown@4.0.1(eslint@8.57.0): + dependencies: + eslint: 8.57.0 + mdast-util-from-markdown: 0.8.5 + transitivePeerDependencies: + - supports-color + + eslint-plugin-n@16.6.2(eslint@8.57.0): + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + builtins: 5.0.1 + eslint: 8.57.0 + eslint-plugin-es-x: 7.5.0(eslint@8.57.0) + get-tsconfig: 4.7.3 + globals: 13.24.0 + ignore: 5.3.1 + is-builtin-module: 3.2.1 + is-core-module: 2.13.1 + minimatch: 3.1.2 + resolve: 1.22.8 + semver: 7.6.0 + + eslint-plugin-no-only-tests@3.1.0: {} + + eslint-plugin-perfectionist@2.8.0(eslint@8.57.0)(typescript@5.4.4)(vue-eslint-parser@9.4.2(eslint@8.57.0)): + dependencies: + '@typescript-eslint/utils': 6.21.0(eslint@8.57.0)(typescript@5.4.4) + eslint: 8.57.0 + minimatch: 9.0.3 + natural-compare-lite: 1.4.0 + optionalDependencies: + vue-eslint-parser: 9.4.2(eslint@8.57.0) + transitivePeerDependencies: + - supports-color + - typescript + + eslint-plugin-toml@0.11.0(eslint@8.57.0): + dependencies: + debug: 4.3.4 + eslint: 8.57.0 + eslint-compat-utils: 0.5.0(eslint@8.57.0) + lodash: 4.17.21 + toml-eslint-parser: 0.9.3 + transitivePeerDependencies: + - supports-color + + eslint-plugin-unicorn@52.0.0(eslint@8.57.0): + dependencies: + '@babel/helper-validator-identifier': 7.22.20 + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@eslint/eslintrc': 2.1.4 + ci-info: 4.0.0 + clean-regexp: 1.0.0 + core-js-compat: 3.35.1 + eslint: 8.57.0 + esquery: 1.5.0 + indent-string: 4.0.0 + is-builtin-module: 3.2.1 + jsesc: 3.0.2 + pluralize: 8.0.0 + read-pkg-up: 7.0.1 + regexp-tree: 0.1.27 + regjsparser: 0.10.0 + semver: 7.6.0 + strip-indent: 3.0.0 + transitivePeerDependencies: + - supports-color + + eslint-plugin-unused-imports@3.1.0(@typescript-eslint/eslint-plugin@7.5.0(@typescript-eslint/parser@7.5.0(eslint@8.57.0)(typescript@5.4.4))(eslint@8.57.0)(typescript@5.4.4))(eslint@8.57.0): + dependencies: + eslint: 8.57.0 + eslint-rule-composer: 0.3.0 + optionalDependencies: + '@typescript-eslint/eslint-plugin': 7.5.0(@typescript-eslint/parser@7.5.0(eslint@8.57.0)(typescript@5.4.4))(eslint@8.57.0)(typescript@5.4.4) + + eslint-plugin-vitest@0.4.1(@typescript-eslint/eslint-plugin@7.5.0(@typescript-eslint/parser@7.5.0(eslint@8.57.0)(typescript@5.4.4))(eslint@8.57.0)(typescript@5.4.4))(eslint@8.57.0)(typescript@5.4.4): + dependencies: + '@typescript-eslint/utils': 7.5.0(eslint@8.57.0)(typescript@5.4.4) + eslint: 8.57.0 + optionalDependencies: + '@typescript-eslint/eslint-plugin': 7.5.0(@typescript-eslint/parser@7.5.0(eslint@8.57.0)(typescript@5.4.4))(eslint@8.57.0)(typescript@5.4.4) + transitivePeerDependencies: + - supports-color + - typescript + + eslint-plugin-vue@9.24.0(eslint@8.57.0): + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + eslint: 8.57.0 + globals: 13.24.0 + natural-compare: 1.4.0 + nth-check: 2.1.1 + postcss-selector-parser: 6.0.15 + semver: 7.6.0 + vue-eslint-parser: 9.4.2(eslint@8.57.0) + xml-name-validator: 4.0.0 + transitivePeerDependencies: + - supports-color + + eslint-plugin-yml@1.14.0(eslint@8.57.0): + dependencies: + debug: 4.3.4 + eslint: 8.57.0 + eslint-compat-utils: 0.5.0(eslint@8.57.0) + lodash: 4.17.21 + natural-compare: 1.4.0 + yaml-eslint-parser: 1.2.2 + transitivePeerDependencies: + - supports-color + + eslint-processor-vue-blocks@0.1.1(@vue/compiler-sfc@3.4.26)(eslint@8.57.0): + dependencies: + '@vue/compiler-sfc': 3.4.26 + eslint: 8.57.0 + + eslint-rule-composer@0.3.0: {} + + eslint-scope@7.2.2: + dependencies: + esrecurse: 4.3.0 + estraverse: 5.3.0 + + eslint-visitor-keys@3.4.3: {} + + eslint@8.57.0: + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@eslint-community/regexpp': 4.10.0 + '@eslint/eslintrc': 2.1.4 + '@eslint/js': 8.57.0 + '@humanwhocodes/config-array': 0.11.14 + '@humanwhocodes/module-importer': 1.0.1 + '@nodelib/fs.walk': 1.2.8 + '@ungap/structured-clone': 1.2.0 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.3 + 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 + esquery: 1.5.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 6.0.1 + find-up: 5.0.0 + glob-parent: 6.0.2 + globals: 13.24.0 + graphemer: 1.4.0 + ignore: 5.3.1 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + is-path-inside: 3.0.3 + 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 + strip-ansi: 6.0.1 + text-table: 0.2.0 + transitivePeerDependencies: + - supports-color + + esm@3.2.25: {} + + espree@9.6.1: + dependencies: + acorn: 8.11.3 + acorn-jsx: 5.3.2(acorn@8.11.3) + eslint-visitor-keys: 3.4.3 + + esprima@4.0.1: {} + + esquery@1.5.0: + dependencies: + estraverse: 5.3.0 + + esrecurse@4.3.0: + dependencies: + estraverse: 5.3.0 + + estraverse@5.3.0: {} + + estree-walker@2.0.2: {} + + esutils@2.0.3: {} + + execa@5.1.1: + dependencies: + cross-spawn: 7.0.3 + get-stream: 6.0.1 + human-signals: 2.1.0 + is-stream: 2.0.1 + merge-stream: 2.0.0 + npm-run-path: 4.0.1 + onetime: 5.1.2 + signal-exit: 3.0.7 + strip-final-newline: 2.0.0 + + execa@8.0.1: + dependencies: + cross-spawn: 7.0.3 + get-stream: 8.0.1 + human-signals: 5.0.0 + is-stream: 3.0.0 + merge-stream: 2.0.0 + npm-run-path: 5.3.0 + onetime: 6.0.0 + signal-exit: 4.1.0 + strip-final-newline: 3.0.0 + + expand-template@2.0.3: {} + + extend-shallow@2.0.1: + dependencies: + is-extendable: 0.1.1 + + extend@3.0.2: {} + + fast-deep-equal@3.1.3: {} + + fast-fifo@1.3.2: {} + + fast-glob@3.3.2: + 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: {} + + fast-levenshtein@2.0.6: {} + + fastq@1.16.0: + dependencies: + reusify: 1.0.4 + + fetch-blob@3.2.0: + dependencies: + node-domexception: 1.0.0 + web-streams-polyfill: 3.2.1 + + file-entry-cache@6.0.1: + dependencies: + flat-cache: 3.2.0 + + fill-range@7.0.1: + dependencies: + to-regex-range: 5.0.1 + + find-up@4.1.0: + dependencies: + locate-path: 5.0.0 + path-exists: 4.0.0 + + find-up@5.0.0: + dependencies: + locate-path: 6.0.0 + path-exists: 4.0.0 + + find-up@7.0.0: + dependencies: + locate-path: 7.2.0 + path-exists: 5.0.0 + unicorn-magic: 0.1.0 + + flat-cache@3.2.0: + dependencies: + flatted: 3.2.9 + keyv: 4.5.4 + rimraf: 3.0.2 + + flatted@3.2.9: {} + + focus-trap@7.5.4: + dependencies: + tabbable: 6.2.0 + + foreground-child@3.1.1: + dependencies: + cross-spawn: 7.0.3 + signal-exit: 4.1.0 + + form-data@4.0.0: + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + mime-types: 2.1.35 + + formdata-polyfill@4.0.10: + dependencies: + fetch-blob: 3.2.0 + + fs-constants@1.0.0: {} + + fs-extra@11.2.0: + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.1 + + fs.realpath@1.0.0: {} + + fsevents@2.3.3: + optional: true + + function-bind@1.1.2: {} + + gensync@1.0.0-beta.2: {} + + get-caller-file@2.0.5: {} + + get-east-asian-width@1.2.0: {} + + get-stream@6.0.1: {} + + get-stream@8.0.1: {} + + get-tsconfig@4.7.3: + dependencies: + resolve-pkg-maps: 1.0.0 + + github-from-package@0.0.0: {} + + glob-parent@5.1.2: + dependencies: + is-glob: 4.0.3 + + glob-parent@6.0.2: + dependencies: + is-glob: 4.0.3 + + glob@10.3.12: + dependencies: + foreground-child: 3.1.1 + jackspeak: 2.3.6 + minimatch: 9.0.4 + minipass: 7.1.0 + path-scurry: 1.10.2 + + glob@7.2.3: + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + + globals@11.12.0: {} + + globals@13.24.0: + dependencies: + type-fest: 0.20.2 + + globals@15.0.0: {} + + globby@11.1.0: + dependencies: + array-union: 2.1.0 + dir-glob: 3.0.1 + fast-glob: 3.3.2 + ignore: 5.3.1 + merge2: 1.4.1 + slash: 3.0.0 + + globby@14.0.1: + dependencies: + '@sindresorhus/merge-streams': 2.3.0 + fast-glob: 3.3.2 + ignore: 5.3.1 + path-type: 5.0.0 + slash: 5.1.0 + unicorn-magic: 0.1.0 + + graceful-fs@4.2.11: {} + + graphemer@1.4.0: {} + + gray-matter@4.0.3: + dependencies: + js-yaml: 3.14.1 + kind-of: 6.0.3 + section-matter: 1.0.0 + strip-bom-string: 1.0.0 + + gzip-size@6.0.0: + dependencies: + duplexer: 0.1.2 + + has-flag@3.0.0: {} + + has-flag@4.0.0: {} + + hasown@2.0.0: + dependencies: + function-bind: 1.1.2 + + hast-util-from-html@2.0.1: + dependencies: + '@types/hast': 3.0.4 + devlop: 1.1.0 + hast-util-from-parse5: 8.0.1 + parse5: 7.1.2 + vfile: 6.0.1 + vfile-message: 4.0.2 + + hast-util-from-parse5@8.0.1: + dependencies: + '@types/hast': 3.0.4 + '@types/unist': 3.0.2 + devlop: 1.1.0 + hastscript: 8.0.0 + property-information: 6.5.0 + vfile: 6.0.1 + vfile-location: 5.0.2 + web-namespaces: 2.0.1 + + hast-util-from-selector@3.0.0: + dependencies: + '@types/hast': 3.0.4 + css-selector-parser: 2.3.2 + devlop: 1.1.0 + hastscript: 8.0.0 + + hast-util-has-property@3.0.0: + dependencies: + '@types/hast': 3.0.4 + + hast-util-parse-selector@4.0.0: + dependencies: + '@types/hast': 3.0.4 + + hast-util-raw@9.0.2: + dependencies: + '@types/hast': 3.0.4 + '@types/unist': 3.0.2 + '@ungap/structured-clone': 1.2.0 + hast-util-from-parse5: 8.0.1 + hast-util-to-parse5: 8.0.0 + html-void-elements: 3.0.0 + mdast-util-to-hast: 13.1.0 + parse5: 7.1.2 + unist-util-position: 5.0.0 + unist-util-visit: 5.0.0 + vfile: 6.0.1 + web-namespaces: 2.0.1 + zwitch: 2.0.4 + + hast-util-select@6.0.2: + dependencies: + '@types/hast': 3.0.4 + '@types/unist': 3.0.2 + bcp-47-match: 2.0.3 + comma-separated-tokens: 2.0.3 + css-selector-parser: 3.0.5 + devlop: 1.1.0 + direction: 2.0.1 + hast-util-has-property: 3.0.0 + hast-util-to-string: 3.0.0 + hast-util-whitespace: 3.0.0 + not: 0.1.0 + nth-check: 2.1.1 + property-information: 6.5.0 + space-separated-tokens: 2.0.2 + unist-util-visit: 5.0.0 + zwitch: 2.0.4 + + hast-util-to-html@9.0.1: + dependencies: + '@types/hast': 3.0.4 + '@types/unist': 3.0.2 + ccount: 2.0.1 + comma-separated-tokens: 2.0.3 + hast-util-raw: 9.0.2 + hast-util-whitespace: 3.0.0 + html-void-elements: 3.0.0 + mdast-util-to-hast: 13.1.0 + property-information: 6.5.0 + space-separated-tokens: 2.0.2 + stringify-entities: 4.0.4 + zwitch: 2.0.4 + + hast-util-to-parse5@8.0.0: + dependencies: + '@types/hast': 3.0.4 + comma-separated-tokens: 2.0.3 + devlop: 1.1.0 + property-information: 6.5.0 + space-separated-tokens: 2.0.2 + web-namespaces: 2.0.1 + zwitch: 2.0.4 + + hast-util-to-string@3.0.0: + dependencies: + '@types/hast': 3.0.4 + + hast-util-whitespace@3.0.0: + dependencies: + '@types/hast': 3.0.4 + + hastscript@8.0.0: + dependencies: + '@types/hast': 3.0.4 + comma-separated-tokens: 2.0.3 + hast-util-parse-selector: 4.0.0 + property-information: 6.5.0 + space-separated-tokens: 2.0.2 + + hookable@5.5.3: {} + + hosted-git-info@2.8.9: {} + + html-void-elements@3.0.0: {} + + htmlparser2@5.0.1: + dependencies: + domelementtype: 2.3.0 + domhandler: 3.3.0 + domutils: 2.8.0 + entities: 2.2.0 + + htmlparser2@6.1.0: + dependencies: + domelementtype: 2.3.0 + domhandler: 4.3.1 + domutils: 2.8.0 + entities: 2.2.0 + + human-signals@2.1.0: {} + + human-signals@5.0.0: {} + + iconv-lite@0.6.3: + dependencies: + safer-buffer: 2.1.2 + optional: true + + ieee754@1.2.1: {} + + ignore@5.3.1: {} + + image-size@0.5.5: + optional: true + + import-fresh@3.3.0: + dependencies: + parent-module: 1.0.1 + resolve-from: 4.0.0 + + imurmurhash@0.1.4: {} + + indent-string@4.0.0: {} + + inflight@1.0.6: + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + + inherits@2.0.4: {} + + ini@1.3.8: {} + + is-alphabetical@1.0.4: {} + + is-alphanumerical@1.0.4: + dependencies: + is-alphabetical: 1.0.4 + is-decimal: 1.0.4 + + is-arrayish@0.2.1: {} + + is-arrayish@0.3.2: {} + + is-binary-path@2.1.0: + dependencies: + binary-extensions: 2.2.0 + + is-builtin-module@3.2.1: + dependencies: + builtin-modules: 3.3.0 + + is-core-module@2.13.1: + dependencies: + hasown: 2.0.0 + + is-decimal@1.0.4: {} + + is-docker@3.0.0: {} + + is-extendable@0.1.1: {} + + is-extglob@2.1.1: {} + + is-fullwidth-code-point@3.0.0: {} + + is-glob@4.0.3: + dependencies: + is-extglob: 2.1.1 + + is-hexadecimal@1.0.4: {} + + is-inside-container@1.0.0: + dependencies: + is-docker: 3.0.0 + + is-interactive@2.0.0: {} + + is-number@7.0.0: {} + + is-path-inside@3.0.3: {} + + is-plain-obj@4.1.0: {} + + is-promise@4.0.0: {} + + is-stream@2.0.1: {} + + is-stream@3.0.0: {} + + is-unicode-supported@1.3.0: {} + + is-unicode-supported@2.0.0: {} + + is-what@3.14.1: {} + + is-wsl@3.1.0: + dependencies: + is-inside-container: 1.0.0 + + isexe@2.0.0: {} + + jackspeak@2.3.6: + dependencies: + '@isaacs/cliui': 8.0.2 + optionalDependencies: + '@pkgjs/parseargs': 0.11.0 + + jiti@1.21.0: {} + + js-tokens@4.0.0: {} + + js-yaml@3.14.1: + dependencies: + argparse: 1.0.10 + esprima: 4.0.1 + + js-yaml@4.1.0: + dependencies: + argparse: 2.0.1 + + jsdoc-type-pratt-parser@4.0.0: {} + + jsesc@0.5.0: {} + + jsesc@2.5.2: {} + + jsesc@3.0.2: {} + + json-buffer@3.0.1: {} + + json-parse-even-better-errors@2.3.1: {} + + json-schema-traverse@0.4.1: {} + + json-stable-stringify-without-jsonify@1.0.1: {} + + json5@2.2.3: {} + + jsonc-eslint-parser@2.4.0: + dependencies: + acorn: 8.11.3 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + semver: 7.6.0 + + jsonc-parser@3.2.0: {} + + jsonfile@6.1.0: + dependencies: + universalify: 2.0.1 + optionalDependencies: + graceful-fs: 4.2.11 + + juice@8.1.0: + dependencies: + cheerio: 1.0.0-rc.10 + commander: 6.2.1 + mensch: 0.3.4 + slick: 1.12.2 + web-resource-inliner: 6.0.1 + transitivePeerDependencies: + - encoding + + keyv@4.5.4: + dependencies: + json-buffer: 3.0.1 + + kind-of@6.0.3: {} + + kolorist@1.8.0: {} + + less@4.2.0: + dependencies: + copy-anything: 2.0.6 + parse-node-version: 1.0.1 + tslib: 2.6.2 + optionalDependencies: + errno: 0.1.8 + graceful-fs: 4.2.11 + image-size: 0.5.5 + make-dir: 2.1.0 + mime: 1.6.0 + needle: 3.3.1 + source-map: 0.6.1 + + levn@0.4.1: + dependencies: + prelude-ls: 1.2.1 + type-check: 0.4.0 + + lines-and-columns@1.2.4: {} + + linkify-it@4.0.1: + dependencies: + uc.micro: 1.0.6 + + local-pkg@0.4.3: {} + + local-pkg@0.5.0: + dependencies: + mlly: 1.5.0 + pkg-types: 1.0.3 + + locate-path@5.0.0: + dependencies: + p-locate: 4.1.0 + + locate-path@6.0.0: + dependencies: + p-locate: 5.0.0 + + locate-path@7.2.0: + dependencies: + p-locate: 6.0.0 + + lodash.merge@4.6.2: {} + + lodash@4.17.21: {} + + log-symbols@6.0.0: + dependencies: + chalk: 5.3.0 + is-unicode-supported: 1.3.0 + + lru-cache@10.2.2: {} + + lru-cache@5.1.1: + dependencies: + yallist: 3.1.1 + + lru-cache@6.0.0: + dependencies: + yallist: 4.0.0 + + magic-string@0.30.10: + dependencies: + '@jridgewell/sourcemap-codec': 1.4.15 + + magic-string@0.30.5: + dependencies: + '@jridgewell/sourcemap-codec': 1.4.15 + + magic-string@0.30.7: + dependencies: + '@jridgewell/sourcemap-codec': 1.4.15 + + magic-string@0.30.8: + dependencies: + '@jridgewell/sourcemap-codec': 1.4.15 + + make-dir@2.1.0: + dependencies: + pify: 4.0.1 + semver: 5.7.2 + optional: true + + mark.js@8.11.1: {} + + markdown-it-attrs@4.1.6(markdown-it@13.0.2): + dependencies: + markdown-it: 13.0.2 + + markdown-it-footnote@3.0.3: {} + + markdown-it-mathjax3@4.3.2: + dependencies: + juice: 8.1.0 + mathjax-full: 3.2.2 + transitivePeerDependencies: + - encoding + + markdown-it@13.0.2: + dependencies: + argparse: 2.0.1 + entities: 3.0.1 + linkify-it: 4.0.1 + mdurl: 1.0.1 + uc.micro: 1.0.6 + + mathjax-full@3.2.2: + dependencies: + esm: 3.2.25 + mhchemparser: 4.2.1 + mj-context-menu: 0.6.1 + speech-rule-engine: 4.0.7 + + mdast-util-from-markdown@0.8.5: + dependencies: + '@types/mdast': 3.0.15 + 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 + + mdast-util-to-hast@13.1.0: + dependencies: + '@types/hast': 3.0.4 + '@types/mdast': 4.0.3 + '@ungap/structured-clone': 1.2.0 + devlop: 1.1.0 + micromark-util-sanitize-uri: 2.0.0 + trim-lines: 3.0.1 + unist-util-position: 5.0.0 + unist-util-visit: 5.0.0 + vfile: 6.0.1 + + mdast-util-to-string@2.0.0: {} + + mdn-data@2.0.30: {} + + mdurl@1.0.1: {} + + mensch@0.3.4: {} + + merge-stream@2.0.0: {} + + merge2@1.4.1: {} + + mhchemparser@4.2.1: {} + + micromark-util-character@2.1.0: + dependencies: + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-util-encode@2.0.0: {} + + micromark-util-sanitize-uri@2.0.0: + dependencies: + micromark-util-character: 2.1.0 + micromark-util-encode: 2.0.0 + micromark-util-symbol: 2.0.0 + + micromark-util-symbol@2.0.0: {} + + micromark-util-types@2.0.0: {} + + micromark@2.11.4: + dependencies: + debug: 4.3.4 + parse-entities: 2.0.0 + transitivePeerDependencies: + - supports-color + + micromatch@4.0.5: + dependencies: + braces: 3.0.2 + picomatch: 2.3.1 + + mime-db@1.52.0: {} + + mime-types@2.1.35: + dependencies: + mime-db: 1.52.0 + + mime@1.6.0: + optional: true + + mime@2.6.0: {} + + mimic-fn@2.1.0: {} + + mimic-fn@4.0.0: {} + + mimic-response@3.1.0: {} + + min-indent@1.0.1: {} + + minimatch@3.1.2: + dependencies: + brace-expansion: 1.1.11 + + minimatch@9.0.3: + dependencies: + brace-expansion: 2.0.1 + + minimatch@9.0.4: + dependencies: + brace-expansion: 2.0.1 + + minimist@1.2.8: {} + + minipass@7.1.0: {} + + minisearch@6.3.0: {} + + mitt@3.0.1: {} + + mj-context-menu@0.6.1: {} + + mkdirp-classic@0.5.3: {} + + mlly@1.5.0: + dependencies: + acorn: 8.11.3 + pathe: 1.1.2 + pkg-types: 1.0.3 + ufo: 1.4.0 + + mrmime@2.0.0: {} + + ms@2.1.2: {} + + ms@2.1.3: {} + + nanoid@3.3.7: {} + + napi-build-utils@1.0.2: {} + + natural-compare-lite@1.4.0: {} + + natural-compare@1.4.0: {} + + needle@3.3.1: + dependencies: + iconv-lite: 0.6.3 + sax: 1.3.0 + optional: true + + node-abi@3.52.0: + dependencies: + semver: 7.5.4 + + node-addon-api@6.1.0: {} + + node-domexception@1.0.0: {} + + node-fetch-native@1.6.4: {} + + node-fetch@2.7.0: + dependencies: + whatwg-url: 5.0.0 + + node-fetch@3.3.2: + dependencies: + data-uri-to-buffer: 4.0.1 + fetch-blob: 3.2.0 + formdata-polyfill: 4.0.10 + + node-releases@2.0.14: {} + + 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: {} + + not@0.1.0: {} + + npm-run-path@4.0.1: + dependencies: + path-key: 3.1.1 + + npm-run-path@5.3.0: + dependencies: + path-key: 4.0.0 + + nth-check@2.1.1: + dependencies: + boolbase: 1.0.0 + + ofetch@1.3.4: + dependencies: + destr: 2.0.3 + node-fetch-native: 1.6.4 + ufo: 1.5.3 + + once@1.4.0: + dependencies: + wrappy: 1.0.2 + + onetime@5.1.2: + dependencies: + mimic-fn: 2.1.0 + + onetime@6.0.0: + dependencies: + mimic-fn: 4.0.0 + + open@10.1.0: + dependencies: + default-browser: 5.2.1 + define-lazy-prop: 3.0.0 + is-inside-container: 1.0.0 + is-wsl: 3.1.0 + + optionator@0.9.3: + 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 + + ora@8.0.1: + dependencies: + chalk: 5.3.0 + cli-cursor: 4.0.0 + cli-spinners: 2.9.2 + is-interactive: 2.0.0 + is-unicode-supported: 2.0.0 + log-symbols: 6.0.0 + stdin-discarder: 0.2.2 + string-width: 7.1.0 + strip-ansi: 7.1.0 + + p-limit@2.3.0: + dependencies: + p-try: 2.2.0 + + p-limit@3.1.0: + dependencies: + yocto-queue: 0.1.0 + + p-limit@4.0.0: + dependencies: + yocto-queue: 1.0.0 + + p-locate@4.1.0: + dependencies: + p-limit: 2.3.0 + + p-locate@5.0.0: + dependencies: + p-limit: 3.1.0 + + p-locate@6.0.0: + dependencies: + p-limit: 4.0.0 + + p-try@2.2.0: {} + + parent-module@1.0.1: + dependencies: + callsites: 3.1.0 + + 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-gitignore@2.0.0: {} + + parse-json@5.2.0: + dependencies: + '@babel/code-frame': 7.24.2 + error-ex: 1.3.2 + json-parse-even-better-errors: 2.3.1 + lines-and-columns: 1.2.4 + + parse-node-version@1.0.1: {} + + parse5-htmlparser2-tree-adapter@6.0.1: + dependencies: + parse5: 6.0.1 + + parse5@6.0.1: {} + + parse5@7.1.2: + dependencies: + entities: 4.5.0 + + path-exists@4.0.0: {} + + path-exists@5.0.0: {} + + path-is-absolute@1.0.1: {} + + path-key@3.1.1: {} + + path-key@4.0.0: {} + + path-parse@1.0.7: {} + + path-scurry@1.10.2: + dependencies: + lru-cache: 10.2.2 + minipass: 7.1.0 + + path-type@4.0.0: {} + + path-type@5.0.0: {} + + pathe@1.1.2: {} + + perfect-debounce@1.0.0: {} + + picocolors@1.0.0: {} + + picomatch@2.3.1: {} + + picomatch@4.0.1: {} + + pify@4.0.1: + optional: true + + pkg-types@1.0.3: + dependencies: + jsonc-parser: 3.2.0 + mlly: 1.5.0 + pathe: 1.1.2 + + pluralize@8.0.0: {} + + postcss-selector-parser@6.0.15: + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + + postcss@8.4.35: + dependencies: + nanoid: 3.3.7 + picocolors: 1.0.0 + source-map-js: 1.0.2 + + postcss@8.4.38: + dependencies: + nanoid: 3.3.7 + picocolors: 1.0.0 + source-map-js: 1.2.0 + + preact@10.20.1: {} + + prebuild-install@7.1.1: + dependencies: + detect-libc: 2.0.2 + expand-template: 2.0.3 + github-from-package: 0.0.0 + minimist: 1.2.8 + mkdirp-classic: 0.5.3 + napi-build-utils: 1.0.2 + node-abi: 3.52.0 + pump: 3.0.0 + rc: 1.2.8 + simple-get: 4.0.1 + tar-fs: 2.1.1 + tunnel-agent: 0.6.0 + + prelude-ls@1.2.1: {} + + property-information@6.5.0: {} + + prr@1.0.1: + optional: true + + pump@3.0.0: + dependencies: + end-of-stream: 1.4.4 + once: 1.4.0 + + punycode@2.3.1: {} + + queue-microtask@1.2.3: {} + + queue-tick@1.0.1: {} + + rc@1.2.8: + dependencies: + deep-extend: 0.6.0 + ini: 1.3.8 + minimist: 1.2.8 + strip-json-comments: 2.0.1 + + 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.4 + 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: + dependencies: + picomatch: 2.3.1 + + regexp-tree@0.1.27: {} + + regjsparser@0.10.0: + dependencies: + jsesc: 0.5.0 + + rehype-meta@4.0.0: + dependencies: + '@types/hast': 3.0.4 + hast-util-from-selector: 3.0.0 + hast-util-select: 6.0.2 + hastscript: 8.0.0 + vfile: 6.0.1 + + rehype-parse@9.0.0: + dependencies: + '@types/hast': 3.0.4 + hast-util-from-html: 2.0.1 + unified: 11.0.4 + + rehype-stringify@10.0.0: + dependencies: + '@types/hast': 3.0.4 + hast-util-to-html: 9.0.1 + unified: 11.0.4 + + rehype@13.0.1: + dependencies: + '@types/hast': 3.0.4 + rehype-parse: 9.0.0 + rehype-stringify: 10.0.0 + unified: 11.0.4 + + require-directory@2.1.1: {} + + resolve-from@4.0.0: {} + + resolve-pkg-maps@1.0.0: {} + + resolve@1.22.8: + dependencies: + is-core-module: 2.13.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + + restore-cursor@4.0.0: + dependencies: + onetime: 5.1.2 + signal-exit: 3.0.7 + + reusify@1.0.4: {} + + rfdc@1.3.1: {} + + rimraf@3.0.2: + dependencies: + glob: 7.2.3 + + rollup@4.13.0: + dependencies: + '@types/estree': 1.0.5 + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.13.0 + '@rollup/rollup-android-arm64': 4.13.0 + '@rollup/rollup-darwin-arm64': 4.13.0 + '@rollup/rollup-darwin-x64': 4.13.0 + '@rollup/rollup-linux-arm-gnueabihf': 4.13.0 + '@rollup/rollup-linux-arm64-gnu': 4.13.0 + '@rollup/rollup-linux-arm64-musl': 4.13.0 + '@rollup/rollup-linux-riscv64-gnu': 4.13.0 + '@rollup/rollup-linux-x64-gnu': 4.13.0 + '@rollup/rollup-linux-x64-musl': 4.13.0 + '@rollup/rollup-win32-arm64-msvc': 4.13.0 + '@rollup/rollup-win32-ia32-msvc': 4.13.0 + '@rollup/rollup-win32-x64-msvc': 4.13.0 + fsevents: 2.3.3 + + rollup@4.17.2: + dependencies: + '@types/estree': 1.0.5 + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.17.2 + '@rollup/rollup-android-arm64': 4.17.2 + '@rollup/rollup-darwin-arm64': 4.17.2 + '@rollup/rollup-darwin-x64': 4.17.2 + '@rollup/rollup-linux-arm-gnueabihf': 4.17.2 + '@rollup/rollup-linux-arm-musleabihf': 4.17.2 + '@rollup/rollup-linux-arm64-gnu': 4.17.2 + '@rollup/rollup-linux-arm64-musl': 4.17.2 + '@rollup/rollup-linux-powerpc64le-gnu': 4.17.2 + '@rollup/rollup-linux-riscv64-gnu': 4.17.2 + '@rollup/rollup-linux-s390x-gnu': 4.17.2 + '@rollup/rollup-linux-x64-gnu': 4.17.2 + '@rollup/rollup-linux-x64-musl': 4.17.2 + '@rollup/rollup-win32-arm64-msvc': 4.17.2 + '@rollup/rollup-win32-ia32-msvc': 4.17.2 + '@rollup/rollup-win32-x64-msvc': 4.17.2 + fsevents: 2.3.3 + optional: true + + run-applescript@7.0.0: {} + + run-parallel@1.2.0: + dependencies: + queue-microtask: 1.2.3 + + safe-buffer@5.2.1: {} + + safer-buffer@2.1.2: + optional: true + + sax@1.3.0: + optional: true + + search-insights@2.13.0: {} + + section-matter@1.0.0: + dependencies: + extend-shallow: 2.0.1 + kind-of: 6.0.3 + + semver@5.7.2: {} + + semver@6.3.1: {} + + semver@7.5.4: + dependencies: + lru-cache: 6.0.0 + + semver@7.6.0: + dependencies: + lru-cache: 6.0.0 + + sharp@0.32.6: + dependencies: + color: 4.2.3 + detect-libc: 2.0.2 + node-addon-api: 6.1.0 + prebuild-install: 7.1.1 + semver: 7.5.4 + simple-get: 4.0.1 + tar-fs: 3.0.4 + tunnel-agent: 0.6.0 + + shebang-command@2.0.0: + dependencies: + shebang-regex: 3.0.0 + + shebang-regex@3.0.0: {} + + shiki@1.2.4: + dependencies: + '@shikijs/core': 1.2.4 + + signal-exit@3.0.7: {} + + signal-exit@4.1.0: {} + + simple-concat@1.0.1: {} + + simple-get@4.0.1: + dependencies: + decompress-response: 6.0.0 + once: 1.4.0 + simple-concat: 1.0.1 + + simple-git@3.24.0: + dependencies: + '@kwsites/file-exists': 1.1.1 + '@kwsites/promise-deferred': 1.1.1 + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + + simple-swizzle@0.2.2: + dependencies: + is-arrayish: 0.3.2 + + sirv@2.0.4: + dependencies: + '@polka/url': 1.0.0-next.24 + mrmime: 2.0.0 + totalist: 3.0.1 + + sisteransi@1.0.5: {} + + slash@3.0.0: {} + + slash@5.1.0: {} + + slick@1.12.2: {} + + source-map-js@1.0.2: {} + + source-map-js@1.2.0: {} + + source-map@0.6.1: + optional: true + + space-separated-tokens@2.0.2: {} + + spdx-correct@3.2.0: + dependencies: + spdx-expression-parse: 3.0.1 + spdx-license-ids: 3.0.16 + + spdx-exceptions@2.4.0: {} + + spdx-expression-parse@3.0.1: + dependencies: + spdx-exceptions: 2.4.0 + spdx-license-ids: 3.0.16 + + spdx-expression-parse@4.0.0: + dependencies: + spdx-exceptions: 2.4.0 + spdx-license-ids: 3.0.16 + + spdx-license-ids@3.0.16: {} + + speakingurl@14.0.1: {} + + speech-rule-engine@4.0.7: + dependencies: + commander: 9.2.0 + wicked-good-xpath: 1.3.0 + xmldom-sre: 0.1.31 + + sprintf-js@1.0.3: {} + + stdin-discarder@0.2.2: {} + + streamx@2.15.6: + dependencies: + fast-fifo: 1.3.2 + queue-tick: 1.0.1 + + string-width@4.2.3: + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + + string-width@5.1.2: + dependencies: + eastasianwidth: 0.2.0 + emoji-regex: 9.2.2 + strip-ansi: 7.1.0 + + string-width@7.1.0: + dependencies: + emoji-regex: 10.3.0 + get-east-asian-width: 1.2.0 + strip-ansi: 7.1.0 + + string_decoder@1.3.0: + dependencies: + safe-buffer: 5.2.1 + + stringify-entities@4.0.4: + dependencies: + character-entities-html4: 2.1.0 + character-entities-legacy: 3.0.0 + + strip-ansi@6.0.1: + dependencies: + ansi-regex: 5.0.1 + + strip-ansi@7.1.0: + dependencies: + ansi-regex: 6.0.1 + + strip-bom-string@1.0.0: {} + + strip-final-newline@2.0.0: {} + + strip-final-newline@3.0.0: {} + + strip-indent@3.0.0: + dependencies: + min-indent: 1.0.1 + + strip-json-comments@2.0.1: {} + + strip-json-comments@3.1.1: {} + + supports-color@5.5.0: + dependencies: + has-flag: 3.0.0 + + supports-color@7.2.0: + dependencies: + has-flag: 4.0.0 + + supports-preserve-symlinks-flag@1.0.0: {} + + synckit@0.6.2: + dependencies: + tslib: 2.6.2 + + synckit@0.9.0: + dependencies: + '@pkgr/core': 0.1.1 + tslib: 2.6.2 + + tabbable@6.2.0: {} + + tar-fs@2.1.1: + dependencies: + chownr: 1.1.4 + mkdirp-classic: 0.5.3 + pump: 3.0.0 + tar-stream: 2.2.0 + + tar-fs@3.0.4: + dependencies: + mkdirp-classic: 0.5.3 + pump: 3.0.0 + tar-stream: 3.1.6 + + tar-stream@2.2.0: + dependencies: + bl: 4.1.0 + end-of-stream: 1.4.4 + fs-constants: 1.0.0 + inherits: 2.0.4 + readable-stream: 3.6.2 + + tar-stream@3.1.6: + dependencies: + b4a: 1.6.4 + fast-fifo: 1.3.2 + streamx: 2.15.6 + + text-table@0.2.0: {} + + thumbhash@0.1.1: {} + + to-fast-properties@2.0.0: {} + + to-regex-range@5.0.1: + dependencies: + is-number: 7.0.0 + + toml-eslint-parser@0.9.3: + dependencies: + eslint-visitor-keys: 3.4.3 + + totalist@3.0.1: {} + + tr46@0.0.3: {} + + trim-lines@3.0.1: {} + + trough@2.2.0: {} + + ts-api-utils@1.2.1(typescript@5.4.4): + dependencies: + typescript: 5.4.4 + + ts-api-utils@1.3.0(typescript@5.4.4): + dependencies: + typescript: 5.4.4 + optional: true + + tslib@2.6.2: {} + + tsx@4.7.2: + dependencies: + esbuild: 0.19.11 + get-tsconfig: 4.7.3 + optionalDependencies: + fsevents: 2.3.3 + + tunnel-agent@0.6.0: + dependencies: + safe-buffer: 5.2.1 + + type-check@0.4.0: + dependencies: + prelude-ls: 1.2.1 + + type-fest@0.20.2: {} + + type-fest@0.6.0: {} + + type-fest@0.8.1: {} + + typescript@5.4.4: {} + + uc.micro@1.0.6: {} + + ufo@1.4.0: {} + + ufo@1.5.3: {} + + unconfig@0.3.11: + dependencies: + '@antfu/utils': 0.7.7 + defu: 6.1.4 + jiti: 1.21.0 + mlly: 1.5.0 + + unconfig@0.3.13: + dependencies: + '@antfu/utils': 0.7.7 + defu: 6.1.4 + jiti: 1.21.0 + optional: true + + uncrypto@0.1.3: {} + + undici-types@5.26.5: {} + + unicorn-magic@0.1.0: {} + + unified@11.0.4: + dependencies: + '@types/unist': 3.0.2 + bail: 2.0.2 + devlop: 1.1.0 + extend: 3.0.2 + is-plain-obj: 4.1.0 + trough: 2.2.0 + vfile: 6.0.1 + + unist-util-is@6.0.0: + dependencies: + '@types/unist': 3.0.2 + + unist-util-position@5.0.0: + dependencies: + '@types/unist': 3.0.2 + + unist-util-stringify-position@2.0.3: + dependencies: + '@types/unist': 2.0.10 + + unist-util-stringify-position@4.0.0: + dependencies: + '@types/unist': 3.0.2 + + unist-util-visit-parents@6.0.1: + dependencies: + '@types/unist': 3.0.2 + unist-util-is: 6.0.0 + + unist-util-visit@5.0.0: + dependencies: + '@types/unist': 3.0.2 + unist-util-is: 6.0.0 + unist-util-visit-parents: 6.0.1 + + universalify@2.0.1: {} + + unlazy@0.11.3: + dependencies: + '@unlazy/core': 0.11.3 + + unocss@0.58.9(postcss@8.4.38)(rollup@4.17.2)(vite@5.2.8(@types/node@20.12.8)(less@4.2.0)): + dependencies: + '@unocss/astro': 0.58.9(rollup@4.17.2)(vite@5.2.8(@types/node@20.12.8)(less@4.2.0)) + '@unocss/cli': 0.58.9(rollup@4.17.2) + '@unocss/core': 0.58.9 + '@unocss/extractor-arbitrary-variants': 0.58.9 + '@unocss/postcss': 0.58.9(postcss@8.4.38) + '@unocss/preset-attributify': 0.58.9 + '@unocss/preset-icons': 0.58.9 + '@unocss/preset-mini': 0.58.9 + '@unocss/preset-tagify': 0.58.9 + '@unocss/preset-typography': 0.58.9 + '@unocss/preset-uno': 0.58.9 + '@unocss/preset-web-fonts': 0.58.9 + '@unocss/preset-wind': 0.58.9 + '@unocss/reset': 0.58.9 + '@unocss/transformer-attributify-jsx': 0.58.9 + '@unocss/transformer-attributify-jsx-babel': 0.58.9 + '@unocss/transformer-compile-class': 0.58.9 + '@unocss/transformer-directives': 0.58.9 + '@unocss/transformer-variant-group': 0.58.9 + '@unocss/vite': 0.58.9(rollup@4.17.2)(vite@5.2.8(@types/node@20.12.8)(less@4.2.0)) + optionalDependencies: + vite: 5.2.8(@types/node@20.12.8)(less@4.2.0) + transitivePeerDependencies: + - postcss + - rollup + - supports-color + + unplugin-vue-components@0.26.0(@babel/parser@7.24.5)(rollup@4.17.2)(vue@3.4.21(typescript@5.4.4)): + dependencies: + '@antfu/utils': 0.7.7 + '@rollup/pluginutils': 5.1.0(rollup@4.17.2) + chokidar: 3.5.3 + debug: 4.3.4 + fast-glob: 3.3.2 + local-pkg: 0.4.3 + magic-string: 0.30.5 + minimatch: 9.0.3 + resolve: 1.22.8 + unplugin: 1.6.0 + vue: 3.4.21(typescript@5.4.4) + optionalDependencies: + '@babel/parser': 7.24.5 + transitivePeerDependencies: + - rollup + - supports-color + + unplugin@1.6.0: + dependencies: + acorn: 8.11.3 + chokidar: 3.5.3 + webpack-sources: 3.2.3 + webpack-virtual-modules: 0.6.1 + + update-browserslist-db@1.0.13(browserslist@4.22.3): + dependencies: + browserslist: 4.22.3 + escalade: 3.1.1 + picocolors: 1.0.0 + + uri-js@4.4.1: + dependencies: + punycode: 2.3.1 + + util-deprecate@1.0.2: {} + + uuid@9.0.1: {} + + valid-data-url@3.0.1: {} + + validate-npm-package-license@3.0.4: + dependencies: + spdx-correct: 3.2.0 + spdx-expression-parse: 3.0.1 + + vfile-location@5.0.2: + dependencies: + '@types/unist': 3.0.2 + vfile: 6.0.1 + + vfile-message@4.0.2: + dependencies: + '@types/unist': 3.0.2 + unist-util-stringify-position: 4.0.0 + + vfile@6.0.1: + dependencies: + '@types/unist': 3.0.2 + unist-util-stringify-position: 4.0.0 + vfile-message: 4.0.2 + + vite-plugin-inspect@0.8.3(rollup@4.17.2)(vite@5.2.8(@types/node@20.12.8)(less@4.2.0)): + dependencies: + '@antfu/utils': 0.7.7 + '@rollup/pluginutils': 5.1.0(rollup@4.17.2) + debug: 4.3.4 + error-stack-parser-es: 0.1.1 + fs-extra: 11.2.0 + open: 10.1.0 + perfect-debounce: 1.0.0 + picocolors: 1.0.0 + sirv: 2.0.4 + vite: 5.2.8(@types/node@20.12.8)(less@4.2.0) + transitivePeerDependencies: + - rollup + - supports-color + + vite@5.2.8(@types/node@20.12.8)(less@4.2.0): + dependencies: + esbuild: 0.20.2 + postcss: 8.4.38 + rollup: 4.13.0 + optionalDependencies: + '@types/node': 20.12.8 + fsevents: 2.3.3 + less: 4.2.0 + + vitepress@1.0.2(@algolia/client-search@4.23.3)(@types/node@20.12.8)(less@4.2.0)(markdown-it-mathjax3@4.3.2)(postcss@8.4.38)(search-insights@2.13.0)(typescript@5.4.4): + dependencies: + '@docsearch/css': 3.6.0 + '@docsearch/js': 3.6.0(@algolia/client-search@4.23.3)(search-insights@2.13.0) + '@shikijs/core': 1.2.4 + '@shikijs/transformers': 1.2.4 + '@types/markdown-it': 13.0.7 + '@vitejs/plugin-vue': 5.0.4(vite@5.2.8(@types/node@20.12.8)(less@4.2.0))(vue@3.4.21(typescript@5.4.4)) + '@vue/devtools-api': 7.0.25(vue@3.4.21(typescript@5.4.4)) + '@vueuse/core': 10.9.0(vue@3.4.21(typescript@5.4.4)) + '@vueuse/integrations': 10.9.0(focus-trap@7.5.4)(vue@3.4.21(typescript@5.4.4)) + focus-trap: 7.5.4 + mark.js: 8.11.1 + minisearch: 6.3.0 + shiki: 1.2.4 + vite: 5.2.8(@types/node@20.12.8)(less@4.2.0) + vue: 3.4.21(typescript@5.4.4) + optionalDependencies: + markdown-it-mathjax3: 4.3.2 + postcss: 8.4.38 + transitivePeerDependencies: + - '@algolia/client-search' + - '@types/node' + - '@types/react' + - '@vue/composition-api' + - async-validator + - axios + - change-case + - drauu + - fuse.js + - idb-keyval + - jwt-decode + - less + - lightningcss + - nprogress + - qrcode + - react + - react-dom + - sass + - search-insights + - sortablejs + - stylus + - sugarss + - terser + - typescript + - universal-cookie + + vue-demi@0.14.7(vue@3.4.21(typescript@5.4.4)): + dependencies: + vue: 3.4.21(typescript@5.4.4) + + vue-eslint-parser@9.4.2(eslint@8.57.0): + dependencies: + debug: 4.3.4 + eslint: 8.57.0 + eslint-scope: 7.2.2 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + esquery: 1.5.0 + lodash: 4.17.21 + semver: 7.6.0 + transitivePeerDependencies: + - supports-color + + vue@3.4.21(typescript@5.4.4): + dependencies: + '@vue/compiler-dom': 3.4.21 + '@vue/compiler-sfc': 3.4.21 + '@vue/runtime-dom': 3.4.21 + '@vue/server-renderer': 3.4.21(vue@3.4.21(typescript@5.4.4)) + '@vue/shared': 3.4.21 + optionalDependencies: + typescript: 5.4.4 + + web-namespaces@2.0.1: {} + + web-resource-inliner@6.0.1: + dependencies: + ansi-colors: 4.1.3 + escape-goat: 3.0.0 + htmlparser2: 5.0.1 + mime: 2.6.0 + node-fetch: 2.7.0 + valid-data-url: 3.0.1 + transitivePeerDependencies: + - encoding + + web-streams-polyfill@3.2.1: {} + + webidl-conversions@3.0.1: {} + + webpack-sources@3.2.3: {} + + webpack-virtual-modules@0.6.1: {} + + whatwg-url@5.0.0: + dependencies: + tr46: 0.0.3 + webidl-conversions: 3.0.1 + + which@2.0.2: + dependencies: + isexe: 2.0.0 + + wicked-good-xpath@1.3.0: {} + + wrap-ansi@7.0.0: + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + + wrap-ansi@8.1.0: + dependencies: + ansi-styles: 6.2.1 + string-width: 5.1.2 + strip-ansi: 7.1.0 + + wrappy@1.0.2: {} + + xml-name-validator@4.0.0: {} + + xmldom-sre@0.1.31: {} + + y18n@5.0.8: {} + + yallist@3.1.1: {} + + yallist@4.0.0: {} + + yaml-eslint-parser@1.2.2: + dependencies: + eslint-visitor-keys: 3.4.3 + lodash: 4.17.21 + yaml: 2.3.4 + + yaml@2.3.4: {} + + yargs-parser@21.1.1: {} + + yargs@17.7.2: + dependencies: + cliui: 8.0.1 + 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: 21.1.1 + + yocto-queue@0.1.0: {} + + yocto-queue@1.0.0: {} + + zwitch@2.0.4: {} diff --git a/public/_redirects b/public/_redirects new file mode 100644 index 00000000..9ec64872 --- /dev/null +++ b/public/_redirects @@ -0,0 +1,9 @@ +# Plausible.io analytics +# +# Proxying Plausible through Netlify | Plausible docs +# https://plausible.io/docs/proxy/guides/netlify +/assets/page-external-data/js/script.js https://plausible.io/js/script.js 200 +/api/v1/page-external-data/submit https://plausible.io/api/event 200 + +# Short link +/to/* /.netlify/functions/to/:splat 301 diff --git a/public/android-chrome-192x192.png b/public/android-chrome-192x192.png new file mode 100644 index 0000000000000000000000000000000000000000..217d488452d9b1f1f53af214dfd8fd54ff6666fc GIT binary patch literal 9445 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 XR3yIt6h$*0mH^b1wGm$wtt0;*n|5g8 literal 0 HcmV?d00001 diff --git a/public/android-chrome-512x512.png b/public/android-chrome-512x512.png new file mode 100644 index 0000000000000000000000000000000000000000..1404dfaadb1008f1df0a4a04fc33a60cdd512bf1 GIT binary patch literal 27569 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⪼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
D`2r`-p&UjbC*Q(z!D+w|Zf>@u|r(g$DL=|}7 z9c$!!o zUft5dV!OoClFO+RFUD{UlU5C%)h!BJ_d{T$Ibh=cKR|P*VCsakBt7S{a{2yx_AV;6HJK_(E;jAa{0)? zZbpIY8L_nNAT1K4B;-FZmsx7eD$qTeqVoMRt7-n$!S-bb_vt~CbB!vtn70)ecqi#~ zcF#!X+H;VTPHo+;ePR?B2&P|K&j%xI?Y~bJ5lGf-UIw*+rTBi3v=8I-Qu^Afs%z%v zG$z@WAw{Zu@;5}gzO@KtfQfrzSZ!Ys!28bYA+$cbFM`RX{Y_g;W@2jHzgT!oA#4LE ztbt&2B#pmQTl%^}UAeyxOzU~jsKnOL8KnfXJrTRxU1HS)LYD~msI!2~`cr5sQ;X+Jwp86jLM zd|d~k#OmT%M5BPD@A0LrM*y|hUv~+9CvtTITpZ1X6@$!N&jSHT@0&?;F|dlI_U*0n zQgM$XnPky&zwKloYSAveEQWJ4%AGdB>M_X3@RAS0Q|&-Af&b;@3}2w9!?>4zX~I!cN}(6alVCaq zdUHj3v+fnPTZQ@=oJBClWDQ3o6W6TM-OoK9ogga?W|fwT_vt@h^F4I`E4HZI{nx$^ zzVD4z%A4PJmFRIw$d|Z58;HpzB$~;I{j?S`H500$5fTurtqv2opD;a*n;;A8&xcpB!ddwqudyx@(@Xm%9n%6q^TR zy5u#MSks$rDXnWwXCy3`t4tzv8RJcD2Hk3mQv)zIv=QL9W_Vv$#8+c9sD3r&X*J99 z_Ztk?u{MnH6DET9>?F1piVco6J}rCQ>Ho5Ac@cXmS;2+|B$EAViS*CEqZirCabr;) z+Y)ZyA&QKvk<^*XorC?dLA1?OU+nik^F5^(_K3KU%omtUEvoYK^(;**@n2I z1@j)yB9Ow!2Il%v(Up7h`u*=kupTOM`VU3FPK4aR@8Iy%>@WlG!ExxQ3-*YI=D>^;6I4$}INJ#ai~67*LKJtYLclEy&5mH-r0gv1`W0T{ zZF}+p@#0-sDL=J-+h10vlGgTq`SpqTes4LUgUI`kr1}9l^2+XeS4TqGs-K~Zhvy_V zp;0o}&w8{UuaUgs?e6J>{qwXtW-1?jVzZPWmYGJJ>Ew-<1*r<=U zdHD)sUBM3%pU`B?5ASnZecz5BSGjXY@rj>pE14-WX792wCoX<&xU~y7#58tPIR{Af zK=VA>*afI0q1HC-mKDu_^cO2;HWh$Ot8{3|Wj*--;pkhu-lk(cIQ?v8pv9{O$k9au zO2nne`HME228yjsz-@ctdT~TDU?}Q&5QiR%Eek~&hRtFwV@lMBkvik&>x`v6qJCTc6s0w!3HWPYeLrviMBVMo+&UurFSQ zHSEEury3ecIAuMvKy7vdXmQX zLco-SBYuZfV8515AlMpi_ajY6za&+5yOP(v+n5GIBQ|6kGHz#05}Y+d(pbrIC^0llR?!%z`p!1DMBd~QA8y$Y)2KBt4B_&Pjln5w~$ zL`Scw^ZYcaS3;ylg1XxfHr;Cx1|TI{d|CbY30{j8OsRg zd^>J2((S*qBS!ad+a*k6F0++yc|^rEqWMQ2;5{cEC_$dXl3p1ev#+==WhRmLetAai z;jDHk9^lfD>vwU{dilGv=(&!aP@njZ&EaoSPdiC46p3q%OYC5r$xeQSx$A?GGwVi` zXS)9>d-I!PAQ5%ja*z7wf!{iLo{nocJIOp9^NKODXf3WjCJ4o{c<0-BuyWlUtDrFf zitiTX!IS~?BGYO={w#%ce;e7Vef`M7+Ha{>T~L$qBN9@PjYCiUJ$Z%wVM0Z#+vMO; zjSm6N6%R2Rd&OGaD+Yp{M+1Xp&RyRiqrD=un)*E#w8tqs+|J)wZ{h9!S8FVa-+$Rj zG&8OJnbTQ%3}p(-opObmf=P!E#AQaXVsT0yxt6_54TXDgH}(oChcVjROHSTmN`3B` zx!}I4yBosGek!B>qM}m?=X|`&Fr$8rSdCoKd$`_dIA^PrN1!$&Ngtnez73WdCjvGT zYDtr?^6pMzvzx^}S7NQ`Ww95-(%0@rMJ$nQSDN+y?nSrW$fM=k2@(DkZ~javIl6GCSEc=1xiFRFW0T$lytFw=S;ZU` zuIb=Eo@WC6>nZy*0A0z~)yM>{luq$g%#F}btr7~fm6L~dWc~mhS|DXTjk?WL6lkBo z?schxIrr(fpG`bbz*vPqQIBKCXfiGQnoRrT*uY6$^(k0I6k#XeVdCboeaG>Mbps5 zev%V<7W3LehF6l7U^J2}5HW%Oo_e)1`nk3o7eJ=?KG_#Psxv3fT2DYZwP=~Jnwk8G zC2E7{2bCp?s08jvfIf84XwokyJ27ihUf|8^*Nz{n;z{$HdM<53?fqsrmVZu|RZe-q zid#XBbg}0#Uy&(a^;(}#4}aiKXWhb6NG$C>?<2xVp$G!vhj+hD*Dw}7KiEbXT<%Uq za0hxdC}XLxQ41^71qMt=J%xTV0DM{uBT^YX>Afsvn@3TZ^0a= zOI4)4pf4|Jn3}f7q)Y~uuWLzVfBK)S zV@Sa~Lc_ypuWV=Q2mmI1lhW4V!1Y)cpSM=l31ga1GLSiW5i zy257*BA|vHl#jqRkhtaZ!b*kwzQVtY!J19-`cj$;=FRo!I@xn=vbh$fBp1Q>y!rg~ zCt{V4YuN_+WR(4HEEv=#oAl4-b1Nr}6Kx`nd=~_Me@x+g&sii~R3`^mbtfb(uH=%b zjxyKMJ`Lu-*3`uWutRl)wpm&?$cC|0hm%Qs;U1C5GZA95wCnyvwW`SQF5i4KKx$@{%p(#uy@88$mX-X=B>TJ(=DYHMKvcuV9- zTHJBRsddI`6u7%(c{ECDw(?F+v0q~xlU@ce&G|x*84v71hgqZ9na1=pPyJ+Hi)#*g%Mn3P=X%PzyBJ` zUt2E}6vVc_Q{KI{*}&W=a-A#0>td<+u^<1XJ>mSvZdjelNF%d!U2|$&y<>l^yGw}dQINg1hA#ZO06yf$Wh z2O3->%6U+8SOO(FN*-TSAd*7km%5*2(B6&HRPy{*cr=P_H?G>YOwtD?_vS^i(<7z2uPcDa%TCUyp5M4o7muihACr+&`Pl$PQ%;SR@}QNdc}t(8@+I;qMM5?}9Cno1Vu zkelogRqBDHznSJi7lb++3iOD{AYuf2H@i5Bj@>(P&8tO!{u9<{*qp%5MtBq-fff_3 z?sW(R4>KpluIRoT@g#Sw$UMcPOH|LO@lQz|Se5?f?abG_MmG@m0`iWM9^jt=SJ?m* zR$?qmQ{6^nxScO}{lou++hO1Yt7jIYB|pvBfXo#g@$x1fo@!)>p0ada|V0MgPxLnz1BUFO-jn{*fQFZ^^cA{N%o4c=l`B4le}Ve)91N zNFr}_=>D6`=!9md5s!`&86NU(!hRj2!)WFM50%u(gTkK!dHv!v!mo^}gX<_*?t0gB zbe$C}CC24AeId8${Ise}^^Nk!RqN3uerCn=bq;2_`39ku)4{FY>10NeY3%j2$8X4va53r{6zRcmGqn9)wrm7^gzOJq+eJP zyR`DnZs;>&Mq;&;muSRv^1*_g vR%nb!2;JcHpT4f4F6u6Vts@%X1*>m?}Iia*i5rB%q8~F-3^U(hT2$Q`2 literal 0 HcmV?d00001 diff --git a/public/browserconfig.xml b/public/browserconfig.xml new file mode 100644 index 00000000..5cd27e3f --- /dev/null +++ b/public/browserconfig.xml @@ -0,0 +1,9 @@ + + + + + + #603cba + + + diff --git a/public/favicon-16x16.png b/public/favicon-16x16.png new file mode 100644 index 0000000000000000000000000000000000000000..64868eb88db1af94e76fdb6dafc89e5dc51827a2 GIT binary patch literal 1011 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJOS+@4BLl<6e(pbstU$g(vPY0F z14ES>14Ba#1H&(%P{RubhEf9thF1v;3|2E37{m+a>>AV#CZ+UXC&Tk)6dU zKrM9@p4Gv@jS*puHQ8O8=A7}dk4W|?4)ZFG^eIUVEKPDRh<42j53F7{^W=?#-+b)C zi#$q0g6qSBDvFZpvptGZ+>89en%2xX;o}&Q5mlbzmKWoi?c-aT5LA@xUy$KmxOVz6 zAII?Q*osuQoM`u4FTc{Hkiw*Z{A~Avi499V?87{Qs#0Ss(t-O8k5a@{?;; zPd_rTVVQ?@n5S!2q;GDhQ*xwTinn8$k4r|JU+$`@hi5l!Z_Sz0U$(TbY)N1F(*6n{ zTGC&+bpMK5yB6M9)_rKzgk!5F99=c>=$gsLPi=mFb?@gZdq4gE|Nph+Eg@j!36})< z1+yjH{QK`#%DeZeH*WvA^C9D2I(vtDMG;V%G0EHArTzC!?$baHdx@v7EBiA}US2)M z_H3srpwKl>7sn8Z%gG4|DM?~&Ok!bXY;102f{7La4Xhf!IDo-rc;4dFnGH9xvX CEvm5q literal 0 HcmV?d00001 diff --git a/public/favicon-32x32.png b/public/favicon-32x32.png new file mode 100644 index 0000000000000000000000000000000000000000..781930d9881f4cc6147bc0563338af30c73c5329 GIT binary patch literal 1747 zcmV;^1}yoBP)004R>004l5008;`004mK004C`008P>0026e000+ooVrmw00006 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 diff --git a/public/mstile-144x144.png b/public/mstile-144x144.png new file mode 100644 index 0000000000000000000000000000000000000000..8822e3002bd25e41b26eaac0be643818c4d7024d GIT binary patch literal 7113 zcmZ`;bx_=~v;Q70hf}N+IlQ<_(ZV6cT}mk~#r;ZgJ-ie>+$mDrouUPb6b>t;I23o6 zAHP4}y!SSf>|`^$ne1dYpV>res43v#P~iXofTyG=r}e}?|F>gdJdIoOtIbag%|=F5 z1^{Z}aqrB~pXPKHidw1w;KK|6fuR6!^CSw~1^`bU0N61F0I@UxAa}`Z)f9hPz%W-< zkOLn7+j2Wf5}zcP9!jcE%uQ@OJTA0LP~$lOP<>F6lhJ`K>}T1yP!A>#K1!JJuR=mX zf#6(L3|_^0%O779m5Nc4t=_na{m|!{O_nl7BKg*)cKL zHS!@)r5JO71PelJmQeH2+j_|_?GJPg@yE~<(}3_4Rg+^><#P1wuB2`2e0Mf5?0*xK zENz};uJc|rA_DgziBudKGZUzxDn~~M$5MPy-~Q%RX;L$XUfYKik{3^86j{@u*0xpj z_uv+4OV8b{1CsDLBoH2E?7+*{RhkS0l%+SjdCze1Z>7Y$E_3{wG`7}%4qvTgNjX6b zZ>YiYP~Lw;BT?i#165FX4J6wl-sx>y$H7(q_$7CrsAwIZb<~+S#Y^{>z^=DR7my2> ziu+#(|Ggc2k2rTIv4{$!>D>C~2zYVy;TfnzbQ8Z>{kU=%@NmZ6gz%HsM(g8sDw!vD zO28*lM#_V6#`$l^>&ES(0!hP@-8oSHYZB)RF$8iX-nOyT7O=v*M#;ikf}u6!vNdK=haMBhE_n16f*8|=?)xKv7XeGNPZ-@f%moM83-VS zvq^M>S9s6l znUQXcC^d41#6i53)1#l*DL|#8Ng9YIwBHBKt^NPOFX|Q#VS%l;4O08nYT3=!RPUGG>HP2rH}mM%O!{h4rj z#S;QA+hPCpOJ}}*-=+*^G)eMeR)RLD+uRIhL=eKJRjiDWXhoWHjq({ndAi%__RRV5 z8uiKKOtOti4yknu>o+ zzntP2JFKIIJcu|cL7*}?DYQqT%}HG%@U(=h;QqD#LX85m&%`<_)H9zMXV`V`d1s(W z$g0wJsBHE1$yNcAsmUYok&7ts-fTB|Ou+V4Hlz9Z*6 z_+P)~k^AuYcm0j65;hhvM%@M<8`0Nns>MmP0G(al2*gJx#E@gE=k;i!Bph$YsnDet zi5juCzPdU7-qjV9tl9vVGvD6d7PdsB$iM;$@h(%Vf)dGd30KO0(3~lh+_)vx-ZNH2 zS{~>d1Yr-&b=(ZzH;WvM`((Zj9do%THsghdGT6SFO>l3m9HPiRlnQt2!R{iKF~~mG zst (M++dW%}BUW@&~NX?e8@+Rws1o~S4C;b&t7As&Ca>?hvo6|5^_q}0$)LcDcW zs_ld{+-Y59kkV-d(INe$I}xcUTEx19h*$0-WkHp^aAN<-$ao&B76L1Sb&MLeXo2cc zOl?lL2qIKvm^?QcIuaAI`^sTSye2 zOhRTiz|F2)uNUN!*1S*Dr(8bWrSBY6zAv&!9?vzrffdu6lJ7G;AH_pTusUbSZEiWb zZ(*{v@zJ5hQ{sc3p4psm_}cqSd5-i0utI1kEeYz7Z+u@cxkjNAG6_Z;s^=V5eovZ~ zl%aj&TjP$BU9kXf4YlyceL1muvZ{X1LZ7jCCwX^&n9sIyIbBq9yY^eA((k6N24Z)euBW~IKj zXggBIYxma?HF)hW(+d?J#!(rzU?e_27~Y|IZc;?Sb5g$e^w2JD`TS#hO$W7~`?ZW_kL9!w;u)va;dZ9E`#mmreqhok`{9)43XVwx zutGhP-{!BSwYVb1qY_~9R+>7tDIssM_r zu4>wZ>c(4#k5IN5N2j2LP)&1r3d5A`mWki<@u;7qWLXOj%PWR(xUwAw6%MIqB#Plv z*;Rtt;s`b|Z>)Z(IZU&2=VKM-G_B;N3qU3urQ(VwLKW3WZ8Cb zCpyIKmBeNDmKJO+yUYpP(jBLv8IC!0{fkqR4oC4{_>>Y20|NUYtdjmu=zvtFmzNfe zOxP(-G0OI`j-cltlURf(Z`Z9V-KO^5e8zynq4S`=RPb({=W3!b?<_$PoZup`FP!o8 zP^#dpWUb)B8ONmPp-1V5^=8MTftD`EwhPW&t4e%x!ZE3j&a~lvJD!TJlsTP`y2Fez zk@y0oy~o#|D5ywv@CuR6D<~GMVkca|yUr1NFT)+zUoMtNp(BiWl*TYIUFo+&GRTQO zlh3#yBJ&>1?jD4zzH6_)77;iNqk}5pS+S0ceEu3MG9CL%J;qD^lpqM_jrbJyRYNg# zjim#f3$p?W_Z9P~IhO`R2vdf49=S+7Avh#pgU{X^3_bYjXKU^Dr$Ecpk8UK7gLa~R z^2!Ps*|?raYb{_lV$a$O;nr|7sud87@M8=&O~<3_L1R{XA^ngU+(@ zK?=mh=bkOj06mYkMl0qhko-*6AB^gq+K@Y70)EdCs6Md3LzVNkJ-fMyrl+ClDJ9+in|J)mv zZ*hq5r)_KBtzIw$0jwlhumO{(4h9=nHi0B<$*5ilrfj?4`GTr0XU2+-%3e8$Yg{d| zlt61?(}s&LNw6;>FwnTppU_k{Le2V0^dP%cCC4hq@VC|fW?ri`k$C_4#I7eWV>jRv z2VL9#*BqrTb)_{sKhhIv>*ZtP@PvXGmhk4H>zdO-;FcwgsYRAGIvH+(Z|ZZ|PG zob-k^tuZ0wNB2A5U{=eFH|7Z08K}L!eH6<_F?qiF8x!imqx&53sD)=p%G0XKZ_=uM zObP&cv zePiyJUVet8Q5#iI#=-2lQlobhO0CyiTY76*#i~;6YO9!z-Y3D!ep1SBGW!TxFqq)u ztVP!ExsTx9V)PB3dAq!7G=Y)CL@d~EZ=}oLi#BgF;=Pu>~Dxm3jUU!R4(v(1fqY=%! z(nnT#bD5v_Tub5S2kG_u3B}K4GB5VA8T_6?g1j26W`*h}dxS@^n{#%FZ*Hp*U}BJI z+0F~Yc}L_(bi7>Mz#5OMH}#!T4yTnMiIG*|_*XaYU9Q*j;r_E9A5qqR{UWaNvtQL9 zh>F|$$w~ugSW`6psxMp>5 z+|zvaCy*au`Q~FDiQb#L%{B3b8|RHQBFb4SZngiR;7W5}C`pwhK@Nv2)Yr~#zk{5p z+#XS*O1%@bHDn?!Bt$eXMcJ3Fzcl{)zF%=*H{`FWH_}=_#5(G$pup$zbOX6IGI>TG zhHqb@^u`I_>-pt!Ty3yEOn9Sx3-U+Xpt#8=dAb&80|GaStKH9u?F|%C_b7_P?|Z*Be=+;uLCm!mvAvsF6Z?dU@Qe|jjLNF< zHq4mw9ABx1uwDFYFH`F+W|l^mnccFlxED>=EO~y&D$&wsm!j)wBq1X~#FV zMHy385VZcvh@nl1aC*bR12VKQn>Td>SK>z0Q48+#&zwXy4n0d>iM72(HC)HC&{npb za5G}>{m^}aIyv2HrbjzuuExmV(QWCCUyj{2VCH~$f*+%pb>yFF(L8>>F5U2{VCD$x z-m{rnx6Z0pw68x+)_}c%fgd=dyYTb?QoRgzP~$NS-rXB4vq=9T@QVG|rQb(H^!bxRm*FN%ml*A3y zuNo{Ef4@K!gK<9GEuNZbG}uhx23xncQ|IGj|F>a*=gQBT46Ehdrk=p2~)J<4^U8L=zloK z_zV%*Ih+ryH;?vh8nFNmVHzi%a;vO)3nt}|CZ6=~d8hBu^XjD>H?Q!Le%9Brr0 zLL4E67l{ds<#dGBOu8C(RZ=>s--H5CdN3aT+F7JKe2{;uBuepoU~#=v{Wt9wi&8#% z)(^0_4bn~h=)9hlddH{=%lpuHHoiDjub;b%`G+`H$DpAi!Kp^i?|##1urJ`VYo3WM zeqUeaVmZ0Fb;M4lx}sSo{#aQSSuV-DBNVZKM!XlPZ4>o3t#SxLNuNjlzIXy~NmoR1N?i_+Vy5tO6UggRRSf`T9a!rsR%&shrR*U71xYN*h}a>GDG zL=R_oyUk{@xNk<3Cy|rU<$ngqB1bS)QkHF{8t3|Re}qi{T%j2C-sy+9SHBv+wKZ4 z2cq1fy#&QV{16s$e7)J&9}f_Nb9EYe6e9Xg##`w!ZgRl-JVd42x-QQj$|(*#s2Jq> zu}vMLxQ|-28cJ0f07#Uw^(TLRQ{JNv4$4XUB>e_yl@EeKojknGOx?trG981l%!6zDlEU2!exCZ+v+MKMw_Ik3?h;tN)VW zQh;zaL0S*gH1dU=4n?pB5d;b4VM_SB3Dc0cf1`Q zNVY>sPbatL+QfpF=EY9yaTua*oJdsV!`jowjBCPU0aHaeqgAEVi{=$KQ9^LI;M9_i z$BTo@%JFR~_Jm;X@bTr0zzZ;T|3SF9a=^ChVN@oR5xx+wOz5#W!W)>f`a$AH6_2Nz zl=71Dg-4x#+TRlU=y*W~IopwY4FjLn^>|xy&wfW*6~ZE&q~ww9X@$2Po!rKKl)9T4Sw#_ZJ!S zFKm-qa$$gE984{;9Etni&9-^=GyLGY=)A6UT1qz8gxuJBp$!zgo-hdqCT&CN#$57Dfyq(_cC3h%0rb zw+A;?6P#aY!8tk#s8}c^5;S9!24=XGqgY|540KM`{>F5-#sP+3+!iWt+}E{+Tb_!e z&7s$cL|XYuDi~v*U*1BVT{Kp8E6Tv`@#!X|h%kQB8%yM*TuhX_H`~76gYS@>UzI%$ut?^}6{Q4eG2ZGmcX;30}D&8(hp(xxYR9s4l3j`}N;zaaHT6}W$ z&apOvpo4$?Di5M4C7~~_n23B(Pr(@)%8E*j4?KMrwD%61O8~pa+iF;cCsue) zWf;$3YBz>!Q5O-IsH#6BSzlD``(1iDb#>ZWt9ZlyI+2qK_gF05CQ^;-GQAyF8H!6l zlvHH_zM*>0IFX{#gNm2RBV}jFIqSx z>b{0O+U|rfEjypCXgS_dOk)g=B}c7&Mt5h_-`;W@1qkVVh_p$VuXp^z#eXWSE=@us zU2`KI9lK0erthBjXb0jYb6ts~dBI*VD0OBvFA%EYa+ucH;~X$Q2*>*=8QL5VJr07D)H zX}(`&v^Ju>{8BzIy&t!)sU`nn3etjpZY_!y{`4}DS?`rUO~>67FniM~d=r=D{r#WE z4&#s(t0;B5Da!D_^ey+Uq5WmUTWGfMCYPv!irZEiQjy>EG&bYRJ||O-C+F8VZ}~MA zYkb3y@7M@86jbx|{sl_5@`GdD{IZJ(nVhsJQaYL`7hRm&qW&zsdcH58Hzr>7`&-Ro zzd$Cs)3K4E=}B3{^vglAHl>B;KnNCR$lnBWiDodw6!D#e>Oy-zo zg6{29ej%cjKN7SnbEzd0?Ty&b{%lLqGBC0hRHLe_OnE^`Z{aT8Vr_i~{n3Oit(kOG z?R>^cH1yUm(+`Qb&Kjf6o;&k?Pw4Xd&aFm%Z7ZuOe{b>Ag_PvbH7N$KBS#GEhHa2n zTZ*2umXB;DGh!giGqqC)*^~e8T z;mz^;(I*9c9~}b^Ei-RA7dK~XI|nN|kB=@^bapNt761UtTsr|{x$3d94y%uhDs5;1 zs0_GV7Puq~B+7}Ts3df9fdajjs0?*FbR%=qLw%!t)P0yEfr`0rxPTpUB9D{Tg2_)? O07_6bxysk3!T$k}yi$(< literal 0 HcmV?d00001 diff --git a/public/mstile-150x150.png b/public/mstile-150x150.png new file mode 100644 index 0000000000000000000000000000000000000000..b29f6d1ad12a871e9e5521d62cfb95dcb1aeaee0 GIT binary patch literal 7093 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 literal 0 HcmV?d00001 diff --git a/public/mstile-310x310.png b/public/mstile-310x310.png new file mode 100644 index 0000000000000000000000000000000000000000..c3ee65de3e9c0791773ddc297c4d1364662a82ac GIT binary patch literal 14713 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 Pc7f%jlqD-aeh&IyhVEB; literal 0 HcmV?d00001 diff --git a/public/mstile-70x70.png b/public/mstile-70x70.png new file mode 100644 index 0000000000000000000000000000000000000000..84c5eb38daa627409ddf5c840ef2424161a9f80b GIT binary patch literal 4995 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 LrhKiOW!QfKO`U7n literal 0 HcmV?d00001 diff --git a/public/obsidian-logo.svg b/public/obsidian-logo.svg new file mode 100644 index 00000000..a30fbd98 --- /dev/null +++ b/public/obsidian-logo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/og.png b/public/og.png new file mode 100644 index 0000000000000000000000000000000000000000..8621c790fe4019da3d3b4dfa83897e5205ab1006 GIT binary patch literal 120560 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 aNe0L({Hj`Et(*b3m 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 + + + +Created by potrace 1.14, written by Peter Selinger 2001-2017 + + + + + diff --git a/public/site.webmanifest b/public/site.webmanifest new file mode 100644 index 00000000..78e867d0 --- /dev/null +++ b/public/site.webmanifest @@ -0,0 +1,19 @@ +{ + "name": "\u732b\u97f3\u77e5\u8bc6\u5e93", + "short_name": "\u732b\u97f3\u77e5\u8bc6\u5e93", + "icons": [ + { + "src": "/android-chrome-192x192.png", + "sizes": "192x192", + "type": "image/png" + }, + { + "src": "/android-chrome-512x512.png", + "sizes": "512x512", + "type": "image/png" + } + ], + "theme_color": "#ffffff", + "background_color": "#ffffff", + "display": "standalone" +} diff --git a/public/tengwar-annatar-glaemscrafu-bold.woff2 b/public/tengwar-annatar-glaemscrafu-bold.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..58dc8ab1cfffbb7ea30d9ff8d186b1c6014dece7 GIT binary patch literal 41960 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�E0w2Lawk(T-yK)#qGXqh((_;xf+@%1 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 Q^gg89eyA-2(9&W6038sOPXGV_ literal 0 HcmV?d00001 diff --git a/public/tengwar-annatar-glaemscrafu.woff2 b/public/tengwar-annatar-glaemscrafu.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..edba19ef51a0efe962c5184eab0c7ebd4ed669e8 GIT binary patch literal 41536 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 { + if (item) + linkItems.shift() + }) + + if (linkItems.length === 1) + return + + indexes = addRouteItemRecursion(indexes, item, linkItems, upgradeIndex) +} + +/** + * 递归式添加和计算路由项 + * @param indexes 路由树 + * @param item 路由项 + * @param path 路径 + * @param upgradeIndex 是否升级 index + * @returns 路由树 + */ +function addRouteItemRecursion(indexes: ArticleTree[], item: any, path: string[], upgradeIndex: boolean) { + if (path.length === 1) { + indexes.push(item) + return indexes + } + else { + const onePath = path.shift() + if (!onePath) + return indexes + + let obj = indexes.find(obj => obj.index === onePath) + + if (!obj) { + // 如果没有找到,就创建一个 + obj = { index: onePath, text: onePath, collapsed: true, items: [] } + indexes.push(obj) + } + else if (!obj.items) { + // 如果找到了,但是没有 items,就创建对应的 items 和标记为可折叠 + obj.collapsed = true + obj.items = [] + } + + if (path.length === 1 && path[0] === 'index') { + // 如果只有一个元素,并且是 index.md,直接写入 link 和 lastUpdated + obj.link = item.link + obj.lastUpdated = item.lastUpdated + } + else { + // 否则,递归遍历 + obj.items = addRouteItemRecursion(obj.items ?? [], item, path, upgradeIndex) + } + + return indexes + } +} + +/** + * 处理 docsMetadata.sidebar,拼接 sidebar 路由树 + * @param docs 符合 glob 的文件列表 + * @param docsMetadata docsMetadata.json 的内容 + */ +async function processSidebar(docs: string[], docsMetadata: DocsMetadata) { + await Promise.all(docs.map(async (docPath: string) => { + await addRouteItem(docsMetadata.sidebar, docPath) + })) +} + +/** + * 排序传入的ArticleTree数组 + * @param articleTree 需要排序的ArticleTree数组 + * @return 排序后的结果 + */ +function articleTreeSort(articleTree: ArticleTree[]) { + articleTree.sort((itemA, itemB) => { + return itemA.text.localeCompare(itemB.text) + }) + return articleTree +} + +/** + * 排序sidebar,返回新的sidebar数组 + * @param sidebar 需要排序的ArticleTree数组 + * @param folderTop 是否优先排序文件夹 + * @returns ArticleTree[] 排序好了的数组 + */ +function sidebarSort(sidebar: ArticleTree[], folderTop: boolean = true) { + let _sideBar + if (folderTop) { + // 分别找出直接的文件和嵌套文件夹 + const files = articleTreeSort(sidebar.filter((item) => { + return !item.items || item.items.length === 0 + })) + const folders = articleTreeSort(sidebar.filter((item) => { + return item.items && item.items.length > 0 + })) + // 然后在排序完成后合并为新的数组 + _sideBar = [...folders, ...files] + } + else { + _sideBar = articleTreeSort(sidebar) + } + + // 如果有子菜单就递归排序每个子菜单 + for (const articleTree of _sideBar) { + if (articleTree.items && articleTree.items.length > 0) + articleTree.items = sidebarSort(articleTree.items, folderTop) + } + return _sideBar +} + +/** + * 判断 srcTag 是否是 targetTag 的别名 + * + * 判断根据下面的规则进行: + * 1. srcTag === targetTag + * 2. srcTag.toUpperCase() === targetTag.toUpperCase() + * + * @param srcTag 原始 tag + * @param targetTag 目标 tag + * @returns 是否是别名 + */ +function isTagAliasOfTag(srcTag: string, targetTag: string) { + return srcTag === targetTag || srcTag.toUpperCase() === targetTag.toUpperCase() +} + +function findTagAlias(tag: string, docsMetadata: DocsMetadata, aliasMapping: DocsTagsAlias[]) { + const potentialAlias: string[] = [] + + docsMetadata.tags.forEach((item) => { + // 在已经存在在 docsMetadata.json 中的 alias 进行查找和筛选 + item.alias.filter((alias) => { + return isTagAliasOfTag(alias, tag) // 筛选 alias 是 tag 的别名的 alias + }).forEach((alias) => { + potentialAlias.push(alias) // 将别名加入到 potentialAlias 中 + }) + + if (isTagAliasOfTag(item.name, tag)) { // 如果有记录的 tag.name 是当前 tag 的别名 + potentialAlias.push(item.name) // 那么将 tag.name 加入到 potentialAlias 中 + } + }) + + // 在 docsTagsAlias.json 中进行查找和筛选 + for (const aliasTag of aliasMapping) { + // 如果人工编撰的的 aliasTag.name 是当前 tag 的别名 + // 那么这意味着 aliasTag.name 和 aliasTag.alias 中的所有 alias 都是当前 tag 的别名 + if (isTagAliasOfTag(aliasTag.name, tag)) { + // 将 aliasTag.name 和 aliasTag.alias 中的所有 alias 加入到 potentialAlias 中 + potentialAlias.push(aliasTag.name) + potentialAlias.push(...aliasTag.alias) + } + + aliasTag.alias.forEach((alias) => { + // 如果人工编撰的的 aliasTag.alias 中的某个 alias 是当前 tag 的别名 + // 那么这意味着 aliasTag.name 和 aliasTag.alias 中的所有 alias 都是当前 tag 的别名 + if (isTagAliasOfTag(alias, tag)) { + // 将 aliasTag.name 和 aliasTag.alias 中的所有 alias 加入到 potentialAlias 中 + potentialAlias.push(aliasTag.name) + potentialAlias.push(...aliasTag.alias) + } + }) + } + + return potentialAlias +} + +async function processTags(doc: string, docsMetadata: DocsMetadata, tags: string[]) { + for (const tag of tags) { + docsMetadata.tags = docsMetadata.tags || [] + const found = docsMetadata.tags.find((item) => { + if (item.name === tag) + return item + return null + }) + + // 优先查找所有的 alias + const aliases = uniq(findTagAlias(tag, docsMetadata, TagsAlias)) + + // 对于每一个 alias,如果在 docsMetadata.tags 中找到了,那么就将当前 doc 加入到 appearedInDocs 中 + docsMetadata.tags.forEach((item, index) => { + aliases.forEach((alias) => { + if (item.name === alias && !docsMetadata.tags[index].appearedInDocs.includes(doc)) + docsMetadata.tags[index].appearedInDocs.push(doc) + }) + }) + + // 如果 tag 尚未出现在 docsMetadata.tags 中,那么就创建一个新的 tag + if (!found) { + const tagRecord: Tag = { + name: tag, + alias: aliases, + appearedInDocs: [], + description: '', + count: 1, + } + + // 将当前 doc 加入到 appearedInDocs 中 + tagRecord.appearedInDocs.push(doc) + // 将新创建的 tag 加入到 docsMetadata.tags 中 + docsMetadata.tags.push(tagRecord) + continue + } + + found.count++ + if (!found.appearedInDocs.includes(doc)) + found.appearedInDocs.push(doc) + found.alias = uniq([...found.alias, ...aliases]) + } +} + +/** + * 处理 docsMetadata.docs,计算和统计 sha256 hash 等信息 + * @param docs 符合 glob 的文件列表 + * @param docsMetadata docsMetadata.json 的内容 + */ +async function processDocs(docs: string[], docsMetadata: DocsMetadata) { + if (!docsMetadata.docs) + docsMetadata.docs = [] + + const tagsToBeProcessed: { doc: string, tags: string[] }[] = [] + + docsMetadata.docs = docs.map((docPath) => { + // 尝试在 docsMetadata.docs 中找到当前文件的历史 hash 记录 + const found = docsMetadata.docs.find((item) => { + if (item.relativePath === docPath) + return item + return null + }) + + // 读取源文件 + const content = fs.readFileSync(docPath, 'utf-8') + // 解析 Markdown 文件的 frontmatter + const parsedPageContent = matter(content) + + if (Array.isArray(parsedPageContent.data.tags)) { + if (parsedPageContent.data.tags.includes(null)) + console.error('null tag found in', docPath) + + tagsToBeProcessed.push({ doc: docPath, tags: parsedPageContent.data.tags }) + } + + const hash = createHash('sha256') + const tempSha256Hash = hash.update(parsedPageContent.content).digest('hex') // 对 Markdown 正文进行 sha256 hash + + // 如果没有找到,就初始化 + if (!found) { + return { + relativePath: docPath, + hashes: { sha256: { content: tempSha256Hash } }, + } + } + else { + // 如果 found.hashes 不存在,就初始化 + if (!found.hashes) + found.hashes = { sha256: { content: tempSha256Hash } } + // 如果 found.hashes.sha256 不存在,就初始化 + if (!found.hashes.sha256) + found.hashes.sha256 = { content: tempSha256Hash } + // 如果历史记录的 sha256 hash 与当前的相同,就不标记 contentDiff,并且直接返回 + if (found.hashes.sha256.content === tempSha256Hash && !found.hashes.sha256.contentDiff) + return found + + // 否则,标记 contentDiff + found.hashes.sha256.contentDiff = tempSha256Hash + return found + } + }) + + await Promise.all(tagsToBeProcessed.map(async ({ doc, tags }) => { + await processTags(doc, docsMetadata, tags) + })) +} + +async function run() { + let now = (new Date()).getTime() + const docs = await listPages(dir, { target }) + console.log('listed pages in', `${(new Date()).getTime() - now}ms`) + now = (new Date()).getTime() + + const docsMetadata: DocsMetadata = { docs: [], sidebar: [], tags: [] } + + await processDocs(docs, docsMetadata) + console.log('processed docs in', `${(new Date()).getTime() - now}ms`) + now = (new Date()).getTime() + + await processSidebar(docs, docsMetadata) + console.log('processed sidebar in', `${(new Date()).getTime() - now}ms`) + now = (new Date()).getTime() + + docsMetadata.sidebar = sidebarSort(docsMetadata.sidebar, folderTop) + console.log('processed sidebar sort in', `${(new Date()).getTime() - now}ms`) + + await fs.writeJSON(join(DIR_VITEPRESS, 'docsMetadata.json'), docsMetadata, { spaces: 2 }) +} + +run().catch((err) => { + console.error(err) + process.exit(1) +}) diff --git a/toc.md b/toc.md new file mode 100644 index 00000000..fd5ed0d1 --- /dev/null +++ b/toc.md @@ -0,0 +1,7 @@ +# 目录 + +排序方式:`最近更新` + +--- + + diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 00000000..f7afe9ca --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,34 @@ +{ + "compilerOptions": { + "target": "ESNext", + "jsx": "preserve", + "lib": [ + "DOM", + "ESNext" + ], + "baseUrl": ".", + "module": "ESNext", + "moduleResolution": "Bundler", + "resolveJsonModule": true, + "types": [ + "vite/client" + ], + "allowJs": true, + "strict": true, + "strictNullChecks": true, + "noUnusedLocals": true, + "esModuleInterop": true, + "forceConsistentCasingInFileNames": true, + "isolatedModules": true, + "skipLibCheck": true + }, + "include": [ + "**/*.ts", + "**/*.d.ts", + "**/*.tsx", + "**/*.vue", + ".vitepress/**/*.ts", + ".vitepress/**/*.tsx", + ".vitepress/**/*.vue" + ] +} diff --git a/uno.config.ts b/uno.config.ts new file mode 100644 index 00000000..4ba99ce3 --- /dev/null +++ b/uno.config.ts @@ -0,0 +1,23 @@ +import { defineConfig, presetAttributify, presetIcons, presetUno } from 'unocss' + +export default defineConfig({ + shortcuts: [ + ['btn', 'px-4 py-1 rounded inline-flex justify-center gap-2 text-white leading-30px children:mya !no-underline cursor-pointer disabled:cursor-default disabled:bg-gray-600 disabled:opacity-50'], + ], + presets: [ + presetUno({ + dark: 'class', + }), + presetAttributify(), + presetIcons({ + prefix: 'i-', + scale: 1.2, // size: 1.2 rem + extraProperties: { + 'display': 'inline-block', + 'vertical-align': 'middle', + 'min-width': '1.2rem', + }, + warn: true, + }), + ], +}) diff --git a/vite.config.ts b/vite.config.ts new file mode 100644 index 00000000..7dc1e229 --- /dev/null +++ b/vite.config.ts @@ -0,0 +1,62 @@ +import { defineConfig } from 'vite' +import Components from 'unplugin-vue-components/vite' +import UnoCSS from 'unocss/vite' +import Inspect from 'vite-plugin-inspect' + +import { GitChangelog, GitChangelogMarkdownSection } from '@nolebase/vitepress-plugin-git-changelog/vite' +import { PageProperties, PagePropertiesMarkdownSection } from '@nolebase/vitepress-plugin-page-properties/vite' +import { ThumbnailHashImages } from '@nolebase/vitepress-plugin-thumbnail-hash/vite' + +import { githubRepoLink } from './metadata' + +export default defineConfig(async () => { + return { + assetsInclude: ['**/*.mov'], + optimizeDeps: { + // vitepress is aliased with replacement `join(DIST_CLIENT_PATH, '/index')` + // This needs to be excluded from optimization + exclude: [ + 'vitepress', + ], + }, + plugins: [ + Inspect(), + GitChangelog({ + repoURL: () => githubRepoLink, + }), + GitChangelogMarkdownSection({ + getChangelogTitle: (): string => { + return '文件历史' + }, + getContributorsTitle: (): string => { + return '贡献者' + }, + excludes: [ + 'toc.md', + 'index.md', + ], + }), + PageProperties(), + PagePropertiesMarkdownSection({ + excludes: [ + 'toc.md', + 'index.md', + ], + }), + ThumbnailHashImages(), + Components({ + include: [/\.vue$/, /\.md$/], + dirs: '.vitepress/theme/components', + dts: '.vitepress/components.d.ts', + }), + UnoCSS(), + ], + ssr: { + noExternal: [ + '@nolebase/vitepress-plugin-enhanced-readabilities', + '@nolebase/vitepress-plugin-highlight-targeted-heading', + '@nolebase/vitepress-plugin-inline-link-preview', + ], + }, + } +}) diff --git "a/\347\254\224\350\256\260/index.md" "b/\347\254\224\350\256\260/index.md" new file mode 100644 index 00000000..39b1fcd1 --- /dev/null +++ "b/\347\254\224\350\256\260/index.md" @@ -0,0 +1,298 @@ +# 📒 笔记 + +## 小音和猫猫的知识库 + +欢迎来到小音和猫猫的知识库 [Nólëbase](https://nolebase.ayaka.io),这里是 📒 笔记分区 + +## 想要自己部署和在本地启动强大的 Nólëbase 知识库,或者自己拥有一份? + +很高兴你对 [Nólëbase](https://nolebase.ayaka.io) 感兴趣! + +### 背景介绍 + +首先 [Nólëbase](https://nolebase.ayaka.io) 是完全可以在本地无网络环境的情况下使用的!你可以在跟随[如何下载到本地](#如何下载到本地)的指引下载或者克隆之后使用 [Obsidian](https://obsidian.md) 和 [Logseq](https://logseq.com/) 这样的知识库软件打开,也可以用 [Typora](https://typora.io/) 这样的 Markdown 编辑器打开进行浏览和编辑,这意味着即便你不具备任何的编程技能,也可以使用或者借鉴我们的知识库分类和组织方法。 + +在继续之前,也请容许我介绍一下对项目所使用的技术和架构。 + +和其他的由 [Hexo](https://hexo.io) 驱动和生成的博客和静态网站类似,[Nólëbase](https://nolebase.ayaka.io) 其实使用了名为 [VitePress](https://vitepress.dev) 的静态生成器来驱动和生成网站,像 [VitePress](https://vitepress.dev) 这样的静态生成器支持在 Markdown 文件中使用 [Vue](https://vuejs.org/) 组件来嵌入并增强文档的阅读和使用体验。而 [VitePress](https://vitepress.dev) 和 [Vue](https://vuejs.org/) 是 [Node.js](https://nodejs.org/en) 生态的一部分,他们都属于「前端技术」的一部分。 + +在运行和部署上,我们使用免费的 [Netlify](https://www.netlify.com/) 来提供网站的托管,使用 [GitHub Actions](https://github.com/features/actions)(你可以理解一个将会在每次我们将笔记和知识库内容更新到 GitHub 仓库之后会自动触发的一个自动化工作)把我们的笔记和知识库内容自动构建和部署到 [Netlify](https://www.netlify.com/) 上。 + +### 等等,这和 [Obsidian Publish](https://obsidian.md/publish) 有什么不同 + +好问题,作为 [Obsidian](https://obsidian.md) 的用户,你可能会知道他们开发团队提供了一套专门用于发布 [Obsidian](https://obsidian.md) 中的笔记的服务「[Obsidian Publish](https://obsidian.md/publish)」,如果你不知道也不要紧,可以把 [Obsidian Publish](https://obsidian.md/publish) 理解为一个可以帮助你将 [Obsidian](https://obsidian.md) 中的笔记发布到互联网上帮助你分享和提供搜索引擎优化(SEO)的服务。 + +#### 为什么不用 [Obsidian Publish](https://obsidian.md/publish) + +1. [Obsidian Publish](https://obsidian.md/publish) 需要付费才能使用,但是实际上对于静态网站而言,就像先前介绍的那样,我们可以白嫖一些像是 [GitHub Pages](https://pages.github.com/),[Netlify](https://www.netlify.com/),[Vercel](https://vercel.com/) 和 [Cloudflare Pages](https://pages.cloudflare.com/) 这样现成的基础设施帮忙托管; +2. [Obsidian Publish](https://obsidian.md/publish) 部署后的静态页面是没有 [Obsidian](https://obsidian.md) 自带的插件功能的支持的,这意味着很多作者(或者你)在本地撰写好的使用了插件支持的语法的文档在本地使用 [Obsidian](https://obsidian.md) 渲染和预览的时候是能正常工作的,然而将会在 [Obsidian Publish](https://obsidian.md/publish) 部署和托管后变得不可用。这是非常关键的一个问题,很多用户(包括我在内)都非常依赖于 [Obsidian](https://obsidian.md) 的插件生态,这样的问题现在还没有足够好的解决方案,但我们创建了名为 [Nólëbase 集成](https://github.com/nolebase/integrations) 这样的项目来尝试提供一些常见的和常用的 [Obsidian](https://obsidian.md) 插件在 [VitePress](https://vitepress.dev) 和 [Vue](https://vuejs.org/) 的环境下的替代方案,这样的替代方案虽然不能完全替代 [Obsidian](https://obsidian.md) 插件的功能,但是可以在一定程度上提供类似的功能,你也可以关注一下; + +#### 在什么情况下你应该使用 [Obsidian Publish](https://obsidian.md/publish) + +[Obsidian Publish](https://obsidian.md/publish) 也有它自己的优点: + +1. 寻找适合 [VitePress](https://vitepress.dev) 的 Markdown 插件是困难和复杂的,[Obsidian Publish](https://obsidian.md/publish) 天然支持所有 [Obsidian](https://obsidian.md) 原生支持的语法和插件,这意味着你不需要额外的调研和试错工作就可以将你在本地使用 [Obsidian](https://obsidian.md) 撰写的文档直接部署到互联网上; +2. 运行和部署像是 [Nólëbase](https://nolebase.ayaka.io) 这样的静态网站对于不具备任何的代码和编程知识的作者难度大得多,但是 [Obsidian Publish](https://obsidian.md/publish) 不需要任何的代码和编程知识,也无需关心任何的技术细节,和 Notion 的分享一样,你只需要点击几下就可以完成部署; + +所以如果你没有掌握必备的编程技能,或者你不想花时间和精力去学习和掌握这些技能,那么 [Obsidian Publish](https://obsidian.md/publish) 可能是一个更好的选择。 + +### 所以,也有别人在这样使用 [VitePress](https://vitepress.dev) 作为可部署的知识库吗? + +哦,当然! + +这里有一些我们在 GitHub 上发现的使用 [VitePress](https://vitepress.dev) 作为知识库的项目: + +- [Charles7c/charles7c.github.io:基于 VitePress 构建的个人知识库/博客。](https://github.com/Charles7c/charles7c.github.io) +- [Lercel/Vision](https://github.com/Lercel/Vision) +- [maomao1996/mm-notes: 茂茂物语: 各种笔记记录(想到啥写啥系列)](https://github.com/maomao1996/mm-notes) +- [ATQQ/sugar-blog: ✍️📚我写博客的地方🤪🤪🤪记录随笔与学习笔记](https://github.com/ATQQ/sugar-blog) +- [chodocs/chodocs: 一站式前端内容网站,包括学习路线、知识体系。](https://github.com/chodocs/chodocs) +- [cangzihan/knolls-think-tank: 基于Nólëbase的个人知识库](https://github.com/cangzihan/knolls-think-tank) +- [CHENJIAMIAN/Blog: Obsidian笔记库 | 我的笔记分bei享fen | 根据GitHub工作流自动构建vitepress博客 | http://chenjiamian.me/Blog/](https://github.com/CHENJIAMIAN/Blog) +- [realzhengyiming/YiMingBlog: a... new blog again, hhhh](https://github.com/realzhengyiming/YiMingBlog) +- [nikitavoloboev/knowledge: Everything I know](https://github.com/nikitavoloboev/knowledge?tab=readme-ov-file) +- [senup/wiki: wiki](https://github.com/senup/wiki?tab=readme-ov-file) +- [kkoscielniak/digital-garden: 🥦 Things I know](https://github.com/kkoscielniak/digital-garden) +- [Merlin-Chest/Blog: 个人学习及知识记录整理](https://github.com/Merlin-Chest/Blog) +- [selwynpolit/d9book: Drupal at your Fingertips: A developers quick reference for Drupal 9 and 10](https://github.com/selwynpolit/d9book) +- [vlad196/ALTRegularGnomeWiki: открытое сообщество пользователей операционной системы ALT Regular Gnome](https://github.com/vlad196/ALTRegularGnomeWiki) +- [shalotts/shalodoc](https://github.com/shalotts/shalodoc) +- [vdriasworld/manual: Vdrias World! 游玩指南](https://github.com/vdriasworld/manual) +- [LittleSkinCommspt/manual-ng: under dev](https://github.com/LittleSkinCommspt/manual-ng) + +### 如何下载到本地 + +废话不多说,我们开始下载的步骤吧。 + +如果你没有熟练掌握诸如命令行和 [Git](https://git-scm.com/) 的使用,我们在这里建议你使用 [GitHub](https://github.com) 本身提供的 [下载源代码存档](https://docs.github.com/zh/repositories/working-with-files/using-files/downloading-source-code-archives) 功能直接从 [GitHub](https://github.com) 站点上下载打包好的压缩文件包,然后到本地解压后查看和使用。 + +如果你掌握了命令行和 [Git](https://git-scm.com/) 的使用,可以通过下面的命令克隆项目仓库到名为 `nolebase` 的目录中: + +```shell +git clone https://github.com/nolebase/nolebase +``` + +#### 使用的是 Windows 吗 + +> [!WARNING] 注意 +> 如果你使用的是 [Git for Windows](https://gitforwindows.org/) ,那么可能会在执行上述命令时,遇到类似这样的报错: +> +> ```PowerShell +> PS D:\> git clone https://github.com/nolebase/nolebase +> ... +> error: invalid path 'x: xxx.md' +> fatal: unable to checkout working tree +> warning: Clone succeeded, but checkout failed. +> You can inspect what was checked out with 'git status' +> and retry with 'git restore --source=HEAD :/' +> ``` +> +> 这是 [Git for Windows](https://gitforwindows.org/) 的默认配置导致的[问题](https://github.com/git-for-windows/git/issues/2777)。 +> +> 你可以在命令行窗口中输入下面的命令来解决这个问题: +> ```PowerShell +> git config --global core.protectNTFS false +> ``` + + +### 如何使用、运行或者部署 + +完成了下载了吗?很好,恭喜你已经完成了很艰难的一步! + +正如先前介绍过 + +> [Nólëbase](https://nolebase.ayaka.io) 其实使用了名为 [VitePress](https://vitepress.dev) 的静态生成器来驱动和生成网站。 +> +> 而 [VitePress](https://vitepress.dev) 和 [Vue](https://vuejs.org/) 是 [Node.js](https://nodejs.org/en) 生态的一部分,他们都属于「前端技术」的一部分。 + +因此你需要先配置一下 [Node.js](https://nodejs.org/en) 和添加和管理 [VitePress](https://vitepress.dev) 和 [Vue](https://vuejs.org/) 作为底层管理依赖的工具 [pnpm](https://pnpm.io/) 。 + +#### 准备工作 + +所以你在继续下面的步骤之前,需要完成另外的两件事情: + +1. 安装和配置 [Node.js](https://nodejs.org/en),要校验 Node.js 是否安装成功,可以通过打开命令行窗口然后运行 `node --version` 和 `npm --version` 来查看是否会报错; +2. 安装和配置 [pnpm](https://pnpm.io/),要校验 pnpm 是否安装成功,可以通过打开命令行窗口然后运行 `pnpm --version`。 + +##### 使用的是 Windows 吗 + +> [!WARNING] 注意 +> +> 如果你使用的是 Windows,可以选择通过 [`scoop`](https://scoop.sh/)(一款在 Windows 上面向开发者可用的包管理器)来安装这些必要的工具,这样可以避免在 Windows 上面安装和配置这些工具的时候遇到的一些问题。 +> +> 想要快速安装 Scoop,使用 Win + Q 打开搜索,键入「Powershell」之后点击搜索结果中的蓝色方块,然后输入下面的命令: +> +> ```powershell +> Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser +> ``` +> +> ```powershell +> Invoke-RestMethod -Uri https://get.scoop.sh | Invoke-Expression +> ``` + +使用 Win + Q 打开搜索,键入「Powershell」之后点击搜索结果中的蓝色方块,然后输入下面的命令: + +```shell +node --version +``` + +如果你看到了类似于 `vxx.xx.xx` 的版本号(比如 `v21.1.0`),那么恭喜你,你已经成功安装了 [Node.js](https://nodejs.org/en)。 + +如果没有看到,那么你需要先安装 [Node.js](https://nodejs.org/en)。如果采用了上面提到的 `scoop`,可以使用下面的命令来安装 [Node.js](https://nodejs.org/en): + +```shell +scoop install nodejs +``` + +> [!WARNING] 注意 +> +> 由于我们使用到了 `sharp` 这个依赖来生成图片,而 `sharp` 依赖需要使用到 Python,因此你也需要安装 Python。 +> +> 如果采用了上面提到的 `scoop`,可以使用下面的命令来安装 Python: +> +> ```shell +> scoop install python +> ``` + +接下来让我们来安装 [pnpm](https://pnpm.io/),使用下面的命令来安装 [pnpm](https://pnpm.io/): + +```shell +corepack enable +``` + +```shell +corepack prepare pnpm@latest --activate +``` + +首次安装完成之后需要运行一下 + +```shell +pnpm setup +``` + +来配置 [pnpm](https://pnpm.io/) 所需要的目录,完成之后需要关掉当前的 Powershell 窗口,然后重新打开一个新的 Powershell 窗口。 + +差不多准备好啦,让我们前往 Nólëbase 知识库所在的目录吧,使用下面的命令来前往 Nólëbase 知识库所在的目录: + +```shell +cd +``` + +先多输入一个空格,然后接下来打开文件管理器,把你解压缩完成的 Nólëbase 知识库文件夹拖拽到运行窗口中,最后按下 回车 键,就可以告诉 Powershell 前往 Nólëbase 知识库所在的目录了。 + +##### 使用的是 macOS 吗 + +> [!WARNING] 注意 +> +> 如果你使用的是 macOS,可以选择通过 [`Homebrew`](https://brew.sh/)(一款在 macOS 上面向开发者可用的包管理器)来安装这些必要的工具,这样可以避免在 macOS 上面安装和配置这些工具的时候遇到的一些问题。 +> +> 想要快速安装 Homebrew,使用 command + 空格 打开「终端」应用,然后输入下面的命令: +> +> ```shell +> /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" +> ``` + +使用 command + 空格 打开「终端」应用,然后输入下面的命令: + +```shell +node --version +``` + +如果你看到了类似于 `vxx.xx.xx` 的版本号(比如 `v21.1.0`),那么恭喜你,你已经成功安装了 [Node.js](https://nodejs.org/en)。 + +如果没有看到,那么你需要先安装 [Node.js](https://nodejs.org/en)。如果采用了上面提到的 `Homebrew`,可以使用下面的命令来安装 [Node.js](https://nodejs.org/en): + +```shell +brew install node +``` + +接下来让我们来安装 [pnpm](https://pnpm.io/),使用下面的命令来安装 [pnpm](https://pnpm.io/): + +```shell +corepack enable +``` + +```shell +corepack prepare pnpm@latest --activate +``` + +首次安装完成之后需要运行一下 + +```shell +pnpm setup +``` + +来配置 [pnpm](https://pnpm.io/) 所需要的目录,完成之后需要关掉当前的终端窗口,然后重新打开一个新的终端窗口。 + +差不多准备好啦,让我们前往 Nólëbase 知识库所在的目录吧,使用下面的命令来前往 Nólëbase 知识库所在的目录: + +```shell +cd +``` + +先多输入一个空格,然后接下来打开访达,把你解压缩完成的 Nólëbase 知识库文件夹拖拽到终端窗口中,最后按下 return 键,就可以告诉终端前往 Nólëbase 知识库所在的目录了。 + +##### 使用的是 Linux 吗 + +你既然已经在使用 Linux 了,应该知道怎么做了吧? + +#### 安装依赖和运行开发服务器 + +在倒数第二步中,我们需要安装依赖,这样 [VitePress](https://vitepress.dev) 和 [Vue](https://vuejs.org/) 就会被下载到本地的 [Nólëbase](https://nolebase.ayaka.io) 目录/文件夹下的 `node_modules` 目录/文件夹下了: + +```shell +pnpm install +``` + +接下来你可以直接运行下面的命令开启一个本地运行的 [Nólëbase](https://nolebase.ayaka.io) 知识库前端服务器,通常而言我们称之为「开发服务器」,用这个服务器,可以通过浏览器在本地直接访问渲染完成的页面: + +```shell +pnpm docs:dev +``` + +就像这样 + +```shell +$ pnpm docs:dev + + vitepress v1.0.0-rc.20 + + ➜ Local: http://localhost:5173/ + ➜ Network: use --host to expose + ➜ press h to show help +``` + +当你看到上面的字样的时候,就可以前往本地的 [http://localhost:5173](http://localhost:5173) 查看渲染完成的页面了: + +在这个本地运行的 Nólëbase 知识库前端服务器启动的情况下,你针对所有 Markdown 文件、样式文件、配置文件的变更,都会实时响应到网页中。 + +如果刷新不及时或者更新有异常,也可以试试看使用 command + R (macOS 系统) Ctrl + R (Windows 和 Linux 系统)快捷键强制刷新。 + +#### 构建并渲染为可部署的静态页面 + +想要部署页面,首先先确保你已经执行过了[安装依赖和运行开发服务器](#安装依赖和运行开发服务器) 的步骤,一般而言构建和渲染的时候可能遇到的问题都可以在运行开发服务器的时候发现,接下来你只需要一个简单的命令就能完成构建了: + +```shell +pnpm docs:build +``` + +构建完成后,渲染出来的 HTML 和各种资源将会被存储在 `.vitepress/dist` 目录下面,你可以通过上传 `.vitepress/dist` 目录来完成 Nólëbase 知识库的部署。 + +#### 使用静态网站托管服务部署页面 + +Nólëbase 知识库使用 VitePress 静态生成器来驱动和生成静态页面,因此可以部署到下列已知的优质**静态网站托管服务**: + +- [Netlify](https://netlify.com/) +- [Vercel](https://vercel.com/) +- [Cloudflare Pages](https://pages.cloudflare.com/) +- [AWS Amplify](https://aws.amazon.com/cn/amplify/) +- [Render](https://render.com/) +- [GitHub Pages](https://pages.github.com/) +- [Azure Static Web](https://azure.microsoft.com/en-us/products/app-service/static) + +> [!NOTE] +> 与自建单独的虚拟机并使用类似于 Nginx,或者对象存储(OSS)相比,使用上述提及的静态网站托管服务时,**可以省略手动部署流程**,也**无需花费时间与精力维护单独的网站服务器**。 +> +> 让我们把精力放在写作上吧!❤️ + +请参照 VitePress 官方文档的[部署 VitePress 站点](https://vitepress.dev/zh/guide/deploy)页面文档所介绍的内容,通过主流的静态网站托管服务来部署自己的 Nólëbase 知识库。 diff --git "a/\347\254\224\350\256\260/\342\230\200\357\270\217 \347\224\237\346\264\273/\360\237\217\240 \347\247\237\346\210\277/\347\247\237\346\210\277\346\265\201\347\250\213.md" "b/\347\254\224\350\256\260/\342\230\200\357\270\217 \347\224\237\346\264\273/\360\237\217\240 \347\247\237\346\210\277/\347\247\237\346\210\277\346\265\201\347\250\213.md" new file mode 100644 index 00000000..c1d5988e --- /dev/null +++ "b/\347\254\224\350\256\260/\342\230\200\357\270\217 \347\224\237\346\264\273/\360\237\217\240 \347\247\237\346\210\277/\347\247\237\346\210\277\346\265\201\347\250\213.md" @@ -0,0 +1,62 @@ +--- +tags: + - 生活 + - 生活/住房/租房 + - 生活/检查清单 +--- + +# 租房流程 + + +## 在线上筛选目标房屋 + +- 周边环境如何,是否洁净,评价是否可以 +- 是否满足自己的之前的需求 +- 是否有小学,初中(因为有上课铃或者早操音响),或者会发出噪音或者臭味的设施 +- 是否有可以下楼购买应急食品和药物的门店 +- 一般打车多少钱? +- 水电费怎么缴纳的?民水民电吗?直接支付宝缴纳还是会过一手房东? +- 户型如何?不要租奇异形状的户型,比如弧形,三角形 +- 面积如何?卫生间不要太小了 +- 洁净程度如何?不要前住户弄太脏了 +- 如果是小区房,从楼里到门口要多久?会很绕吗? +- 装修如何?老装修可能会有霉味,新装修可能会有甲醛 +- 几楼?超过 6 楼最好找电梯房,要不然拎东西上去会累死 +- 配备空调,洗衣机这样的基础设施吗? +- 热水怎么供应的? +- 有窗户吗?没窗户的话很容易抑郁 +- 如果需要储物,有单独的和足够的储物空间吗? +- 带床垫和窗帘吗? +- 房东是一房东还是二房东?(二房东表示租了之后会转手再租出去,一般属于违法行为) + +## 记录房屋 + +看了大概之后可以记录到 Notion 里面,然后制作成表格方便自己对比,也可以构建自己的评分机制,对感兴趣的想看的房子进行一道初步筛选,确定几个自己最喜欢的房子 + +刚开始看的时候多看几个,明确一个大概的价格区间,确定自己的索敌范围 + +## 约看房 + +一般看房不会需要多长时间,一般 30 分钟就能看完了,安排的时候可以多安排几个房子一起看了 + +## 在线下看房 + +- 丢垃圾好丢吗?限制时间吗? +- 房间有异味吗? +- 电梯空间够大吗? +- 有物业吗? +- 周边环境是否属实? +- 房屋环境是否属实? +- 有没有明显损坏的设施? +- 下水道通畅吗?有异味吗? +- 闲置多久了? +- 电气正常吗?淘宝上买个测接线和短路测试的小插座检测器试试看,有的地线接错了的电子设备接上去会漏电的 +- 网络和宽带支持如何? +- 如果是燃气热水器,有好好维护和质检吗? +- 如果要养猫的话,房东支持吗? + +## 签合同之前 + +- 租的时候确认开始和结束的时间,确认租金缴纳的时间,确认房屋内现有的设备是正常的再入住(这是房东的义务) +- 入住之后最好自己换一下锁具,避免邪恶房东自己留钥匙之后不通知就来家里搞事情 +- 明确一下理赔,如果对方要收回房屋,比如被清算了,或者要售卖了,一定要给你至少一个月的时间去找下一个住所 diff --git "a/\347\254\224\350\256\260/\342\234\215\357\270\217 \346\226\207\346\241\243\345\267\245\347\250\213/API \346\226\207\346\241\243\347\263\273\347\273\237.md" "b/\347\254\224\350\256\260/\342\234\215\357\270\217 \346\226\207\346\241\243\345\267\245\347\250\213/API \346\226\207\346\241\243\347\263\273\347\273\237.md" new file mode 100644 index 00000000..bb368c34 --- /dev/null +++ "b/\347\254\224\350\256\260/\342\234\215\357\270\217 \346\226\207\346\241\243\345\267\245\347\250\213/API \346\226\207\346\241\243\347\263\273\347\273\237.md" @@ -0,0 +1,14 @@ +--- +status: 尚未完成 +--- +# API 文档系统 + +## 说明 + +一个能够追踪 API 响应对象中的字段在「什么时候」、「什么版本」、「什么提交」里面新增或者发生变更,甚至是提供即将废弃的注解。 + +在开发的时候期间,Staging 过渡阶段,FAT 特性验收测试阶段,UAT 用户可接受度测试阶段是没办法很好的记录到版本号的,可能得根据提交记录和提交时间来完成,否则开发者得把 API 版本和后端版本剥离,并分别进行记录。不过在我看来,记录版本号、剥离版本号并记录的任意一种方案,甚至是记录提交这类的事情不应该是 API 接口开发者应该做的,应当在 API 定义发生变更之后由 API 文档系统自动变更版本号并且在文档中正确渲染和提示到使用用户。 + +可能的情况下,该系统甚至能提供一些 DevOps 联动,在必要的情况下可以允许文档系统提示该字段所处的阶段,比如能展示到 Staging 阶段或者是 Production 阶段。 + +可能的情况下,该系统还应该提示 beta / experiment API 注解高亮说明,并建议「为生产产品开发的开发者:尽可能避免使用正处于 beta / experiment 的 API,这些 API 可能随时发生变更,暂时不稳定,并采用其他替代方案实现」。 diff --git "a/\347\254\224\350\256\260/\342\234\215\357\270\217 \346\226\207\346\241\243\345\267\245\347\250\213/\345\233\276\350\241\250\345\215\263\344\273\243\347\240\201\357\274\210CaC\357\274\211\345\233\276\350\241\250\347\273\230\345\210\266.md" "b/\347\254\224\350\256\260/\342\234\215\357\270\217 \346\226\207\346\241\243\345\267\245\347\250\213/\345\233\276\350\241\250\345\215\263\344\273\243\347\240\201\357\274\210CaC\357\274\211\345\233\276\350\241\250\347\273\230\345\210\266.md" new file mode 100644 index 00000000..4c054a96 --- /dev/null +++ "b/\347\254\224\350\256\260/\342\234\215\357\270\217 \346\226\207\346\241\243\345\267\245\347\250\213/\345\233\276\350\241\250\345\215\263\344\273\243\347\240\201\357\274\210CaC\357\274\211\345\233\276\350\241\250\347\273\230\345\210\266.md" @@ -0,0 +1,27 @@ +--- +tags: + - 知识领域/文档工程 +--- +# 图表即代码(CaC)图表绘制 + +CaC: Charts as Code + +## 工具 + +### Mermaid + +官方网站:[Mermaid](https://mermaid.js.org/) +开源 GitHub 仓库:[mermaid-js/mermaid](https://github.com/mermaid-js/mermaid) + +有多种图表支持。 +#### Mermaid 生态 + +- 自带编辑器:[Mermaid 实时编辑器](https://mermaid.live) + +### Nomnoml + +官方网站:[nomnoml](https://nomnoml.com/) +开源 GitHub 仓库:[skanaar/nomnoml](https://github.com/skanaar/nomnoml) + +主要面向程序中的代码对象结构,编排,关系进行绘图。 + diff --git "a/\350\247\206\345\233\276/\345\260\232\346\234\252\347\274\226\345\206\231\345\256\214\346\210\220\347\232\204\351\241\265\351\235\242.md" "b/\350\247\206\345\233\276/\345\260\232\346\234\252\347\274\226\345\206\231\345\256\214\346\210\220\347\232\204\351\241\265\351\235\242.md" new file mode 100644 index 00000000..81db13f9 --- /dev/null +++ "b/\350\247\206\345\233\276/\345\260\232\346\234\252\347\274\226\345\206\231\345\256\214\346\210\220\347\232\204\351\241\265\351\235\242.md" @@ -0,0 +1,14 @@ +--- +tags: + - 视图 + - 软件/Obsidian/插件/Dataview + - 软件/Obsidian/插件 +--- +# 尚未编写完成的页面 + +```dataview +TABLE + file.path AS "路径" +FROM "笔记" +WHERE status = "尚未完成" +``` \ No newline at end of file diff --git "a/\350\247\206\345\233\276/\346\234\252\346\267\273\345\212\240\346\240\207\347\255\276\347\232\204\351\241\265\351\235\242.md" "b/\350\247\206\345\233\276/\346\234\252\346\267\273\345\212\240\346\240\207\347\255\276\347\232\204\351\241\265\351\235\242.md" new file mode 100644 index 00000000..54bcff88 --- /dev/null +++ "b/\350\247\206\345\233\276/\346\234\252\346\267\273\345\212\240\346\240\207\347\255\276\347\232\204\351\241\265\351\235\242.md" @@ -0,0 +1,15 @@ +--- +tags: + - 视图 + - 软件/Obsidian/插件 + - 软件/Obsidian/插件/Dataview +--- +# 未添加标签的页面 + +```dataview +TABLE + file.path AS "路径" +FROM "笔记" +WHERE length(file.tags) = 0 +``` + diff --git "a/\360\237\224\214 \347\237\245\350\257\206\345\272\223\346\217\222\344\273\266\345\210\227\350\241\250.md" "b/\360\237\224\214 \347\237\245\350\257\206\345\272\223\346\217\222\344\273\266\345\210\227\350\241\250.md" new file mode 100644 index 00000000..3ab60830 --- /dev/null +++ "b/\360\237\224\214 \347\237\245\350\257\206\345\272\223\346\217\222\344\273\266\345\210\227\350\241\250.md" @@ -0,0 +1,63 @@ +# 知识库插件列表 + +## 必选 + +**⚠️ 注意:这些插件在知识库中参与了文档格式化、文件解析、Markdown 语法增强、拓展等功能,如果不安装可能会导致无法正常渲染和阅读** + +### Admonition + +说明:将警告块样式的内容添加到 Obsidian,样式遵循 [Material for MkDocs](https://squidfunk.github.io/mkdocs-material/reference/admonitions/) +类型:Markdown 语法拓展 +地址:[valentine195/obsidian-admonition: Adds admonition block-styled content to Obsidian.md](https://github.com/valentine195/obsidian-admonition) + +### Asciinema Player + +说明:它支持将 asciicast 文件嵌入到您的 Markdown 文件中的插件,在预览页面就可以看到录制的命令行记录 +类型:Markdown 语法拓展,文件解析 +地址:[nekomeowww/obsidian-asciinema-player: This is a Obsidian plugin which supports embedding asciicast files into Markdown files](https://github.com/nekomeowww/obsidian-asciinema-player) + +### Obsidian Footnotes Plugin + +说明:支持使用快捷键快速添加脚注,脚注将会自动递增,使编辑和引用外部来源可以更简单,使用 command+Shift+6 快速创建脚注 +类型:Markdown 语法增强 +地址:[akaalias/obsidian-footnotes: Makes creating footnotes in Obsidian more fun!](https://github.com/akaalias/obsidian-footnotes) + +### Dataview + +说明:支持在 Markdown 文件中使用类似 SQL 的语法查询数据然后可视化结果 +类型:嵌入块增强,Markdown 语法拓展,数据查询 +地址:[blacksmithgu/obsidian-dataview: A high-performance data index and query language over Markdown files, for https://obsidian.md/.](https://github.com/blacksmithgu/obsidian-dataview) + +## 可选 + +**以下插件不安装并不会影响整体使用体验** + +### Obsidian Git + +说明:支持在安装有 Git 命令的设备和环境上通过命令面板自动创建和拉取提交 +类型:功能拓展 +地址:[denolehov/obsidian-git: Backup your Obsidian.md vault with git](https://github.com/denolehov/obsidian-git) + +### Auto Pair Chinese Symbol + +说明:支持 `《》 【】()‘’ “” 「」` 符号输入时自动补齐 +类型:功能拓展,Markdown 语法增强 +地址:[renmu123/obsidian-auto-pair-chinese-symbol: 中文符号自动补齐](https://github.com/renmu123/obsidian-auto-pair-chinese-symbol) + +### File Explorer Note Count + +说明:支持在文件浏览标签页中展示包含的文档数 +类型:功能拓展 +地址:[ozntel/file-explorer-note-count: Obsidian Plugin for viewing the number of elements under each folder within the file explorer](https://github.com/ozntel/file-explorer-note-count) + +### Remember Cursor Position + +说明:插件会记住每个文档的光标和滚动位置。这使得在笔记、链接之间切换、返回时非常方便,从而无需和找到滚动到上次所在的位置 +类型:功能拓展 +地址:[dy-sh/obsidian-remember-cursor-position: Obsidian plugin. Remember cursor position for each note](https://github.com/dy-sh/obsidian-remember-cursor-position) + +### Advanced Tables + +说明:用于格式化、方便编辑和导航表格的插件 +类型:功能拓展,Markdown 语法增强,表格 +地址:[tgrosinger/advanced-tables-obsidian: Improved table navigation, formatting, and manipulation in Obsidian.md](https://github.com/tgrosinger/advanced-tables-obsidian)