diff --git a/.gitignore b/.gitignore index 852fe1c..9f14135 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,25 @@ -node_modules -docs/.vitepress/cache/* -docs/.vitepress/dist/* \ No newline at end of file +# build output +dist/ +# generated types +.astro/ + +# dependencies +node_modules/ + +# logs +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* + + +# environment variables +.env +.env.production + +# macOS-specific files +.DS_Store + +# jetbrains setting folder +.idea/ +.vscode/ diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 0000000..d87faa5 --- /dev/null +++ b/.prettierrc @@ -0,0 +1,11 @@ +{ + "plugins": ["prettier-plugin-astro"], + "overrides": [ + { + "files": "*.astro", + "options": { + "parser": "astro" + } + } + ] +} diff --git a/README.md b/README.md new file mode 100644 index 0000000..87b813a --- /dev/null +++ b/README.md @@ -0,0 +1,43 @@ +# Astro Starter Kit: Minimal + +```sh +npm create astro@latest -- --template minimal +``` + +> 🧑‍🚀 **Seasoned astronaut?** Delete this file. Have fun! + +## 🚀 Project Structure + +Inside of your Astro project, you'll see the following folders and files: + +```text +/ +├── public/ +├── src/ +│ └── pages/ +│ └── index.astro +└── package.json +``` + +Astro looks for `.astro` or `.md` files in the `src/pages/` directory. Each page is exposed as a route based on its file name. + +There's nothing special about `src/components/`, but that's where we like to put any Astro/React/Vue/Svelte/Preact components. + +Any static assets, like images, can be placed in the `public/` directory. + +## 🧞 Commands + +All commands are run from the root of the project, from a terminal: + +| Command | Action | +| :------------------------ | :----------------------------------------------- | +| `npm install` | Installs dependencies | +| `npm run dev` | Starts local dev server at `localhost:4321` | +| `npm run build` | Build your production site to `./dist/` | +| `npm run preview` | Preview your build locally, before deploying | +| `npm run astro ...` | Run CLI commands like `astro add`, `astro check` | +| `npm run astro -- --help` | Get help using the Astro CLI | + +## 👀 Want to learn more? + +Feel free to check [our documentation](https://docs.astro.build) or jump into our [Discord server](https://astro.build/chat). diff --git a/astro.config.mjs b/astro.config.mjs new file mode 100644 index 0000000..ef9c992 --- /dev/null +++ b/astro.config.mjs @@ -0,0 +1,47 @@ +// @ts-check +import rehypeSlug from "rehype-slug"; +import rehypeAutolinkHeadings from "rehype-autolink-headings"; +import remarkMath from "remark-math"; +import rehypeKatex from "rehype-katex"; +import remarkFlexibleContainers from "remark-flexible-containers"; +import { defineConfig } from "astro/config"; +import { unified } from "@astrojs/markdown-remark"; +import { h } from "hastscript"; +import sitemap from "@astrojs/sitemap"; + +const rehypeTrimTrailingDashes = () => (tree) => { + const walk = (node) => { + if ( + node.type === "element" && + ["h1", "h2", "h3", "h4", "h5", "h6"].includes(node.tagName) + ) { + if (node.properties && typeof node.properties.id === "string") { + node.properties.id = node.properties.id.replace(/-+$/, ""); + } + } + if (node.children) node.children.forEach(walk); + }; + walk(tree); +}; + +// https://astro.build/config +export default defineConfig({ + site: "https://andromeda.zenfyr.dev", + + markdown: { + processor: unified({ + remarkPlugins: [remarkMath, remarkFlexibleContainers], + rehypePlugins: [ + rehypeKatex, + rehypeSlug, + rehypeTrimTrailingDashes, + [ + rehypeAutolinkHeadings, + { behavior: "prepend", content: h("span.heading-anchor", "#") }, + ], + ], + }), + }, + + integrations: [sitemap()], +}); diff --git a/docs/.vitepress/config.mts b/docs/.vitepress/config.mts deleted file mode 100644 index 5bed0ac..0000000 --- a/docs/.vitepress/config.mts +++ /dev/null @@ -1,81 +0,0 @@ -import { defineConfig } from 'vitepress' -import { en } from './en' -import { zh_cn } from './zh_cn' - -// https://vitepress.dev/reference/site-config -export default defineConfig({ - title: "Andromeda", - - cleanUrls: true, - lastUpdated: true, - - head: [ - ['link', { rel: 'icon', type: 'image/png', href: '/favicon.png' }], - ['link', { rel: 'shortcut icon', type: 'image/png', href: '/favicon.png' }], - ['meta', { name: "robots", content: "noai, noimageai" }], - ['link', { rel: 'preconnect', href: 'https://fonts.googleapis.com' }], - ['link', { rel: 'preconnect', href: 'https://fonts.gstatic.com', crossorigin: '' }], - ['link', { href: 'https://fonts.googleapis.com/css2?family=Rubik:ital,wght@0,300..900;1,300..900&family=Ubuntu+Mono:ital,wght@0,400;0,700;1,400;1,700&display=swap', rel: 'stylesheet' }] - ], - - markdown: { - image: { - lazyLoading: true - }, - math: true - }, - - themeConfig: { - logo: { src: '/logo.png', width: 24, height: 24 }, - - editLink: { - pattern: 'https://github.com/constellation-mc/andromeda-wiki/edit/main/docs/:path' - }, - - socialLinks: [ - { icon: 'github', link: 'https://github.com/constellation-mc/andromeda' }, - { - icon: { - svg: '' - }, link: 'https://modrinth.com/mod/andromeda' - } - ], - - search: { - provider: 'local', - options: { - locales: { - "zh-cn": { - translations: { - button: { - buttonText: '搜索文档', - buttonAriaLabel: '搜索文档' - }, - modal: { - noResultsText: '无法找到相关结果', - resetButtonTitle: '清除查询条件', - footer: { - selectText: '选择', - navigateText: '切换' - } - } - } - } - } - } - } - }, - - locales: { - "root": { - label: "English", - link: "/", - ...en - }, - "zh-cn": { - label: "简体中文", - link: "/zh-cn", - ...zh_cn - }, - } -}) diff --git a/docs/.vitepress/en.ts b/docs/.vitepress/en.ts deleted file mode 100644 index 38788e1..0000000 --- a/docs/.vitepress/en.ts +++ /dev/null @@ -1,60 +0,0 @@ -import { defineConfig } from "vitepress"; -import { versions } from "./versions"; - -const baseFeatures = [ - { text: "Home", link: "/" }, - { text: "World", link: "/world" }, - { text: "Blocks", link: "/blocks" }, - { text: "Entities", link: "/entities" }, - { text: "Items", link: "/items" }, - { text: "Bug Fixes", link: "/bug-fixes" }, - { text: "Mechanics", link: "/mechanics" }, - { text: "GUI", link: "/gui" }, - { text: "Misc", link: "/misc" }, -]; - -const baseMeta = [ - { text: "Showcases", link: "/showcases" }, - { text: "Assets", link: "/assets" }, -]; - -const getVersionedSidebar = (versionPrefix: string = "") => { - const prefix = versionPrefix ? `/${versionPrefix}` : ""; - - const mapLinks = (items: { text: string; link: string }[]) => - items.map((item) => ({ - ...item, - link: item.link === "/" ? `${prefix}/` : `${prefix}${item.link}`, - })); - - return [ - { text: "Features", items: mapLinks(baseFeatures) }, - { text: "Meta", items: baseMeta }, - ]; -}; - -export const en = defineConfig({ - lang: "en-US", - title: "Andromeda", - description: - "A galaxy is a collection of things and systems. So is this mod.", - - themeConfig: { - sidebar: { - "/": getVersionedSidebar(), - ...Object.fromEntries( - versions.map((v) => [`/${v.semver}/`, getVersionedSidebar(v.semver)]), - ), - }, - - nav: [ - { - text: "Versions", - items: versions.map((v) => ({ - text: `v${v.semver}`, - link: v.semver === versions[0].semver ? "/" : `/${v.semver}/` - })), - }, - ], - }, -}); diff --git a/docs/.vitepress/theme/index.ts b/docs/.vitepress/theme/index.ts deleted file mode 100644 index 39d488f..0000000 --- a/docs/.vitepress/theme/index.ts +++ /dev/null @@ -1,12 +0,0 @@ -// https://vitepress.dev/guide/custom-theme -import type { Theme } from 'vitepress' -import DefaultTheme from 'vitepress/theme' -import './style.css' - -export default { - ...DefaultTheme, - enhanceApp(ctx) { - DefaultTheme.enhanceApp(ctx); - }, -} satisfies Theme - diff --git a/docs/.vitepress/theme/style.css b/docs/.vitepress/theme/style.css deleted file mode 100644 index 5731806..0000000 --- a/docs/.vitepress/theme/style.css +++ /dev/null @@ -1,192 +0,0 @@ -/** - * Customize default theme styling by overriding CSS variables: - * https://github.com/vuejs/vitepress/blob/main/src/client/theme-default/styles/vars.css - */ - -/** - * Colors - * - * 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. - * - * - `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. - * -------------------------------------------------------------------------- */ - - :root { - --vp-c-default-1: var(--vp-c-gray-1); - --vp-c-default-2: var(--vp-c-gray-2); - --vp-c-default-3: var(--vp-c-gray-3); - --vp-c-default-soft: var(--vp-c-gray-soft); - - --vp-c-brand-1: var(--vp-c-purple-1); - --vp-c-brand-2: var(--vp-c-purple-2); - --vp-c-brand-3: var(--vp-c-purple-3); - --vp-c-brand-soft: var(--vp-c-purple-soft); - - --vp-c-tip-1: var(--vp-c-brand-1); - --vp-c-tip-2: var(--vp-c-brand-2); - --vp-c-tip-3: var(--vp-c-brand-3); - --vp-c-tip-soft: var(--vp-c-brand-soft); - - --vp-c-warning-1: var(--vp-c-yellow-1); - --vp-c-warning-2: var(--vp-c-yellow-2); - --vp-c-warning-3: var(--vp-c-yellow-3); - --vp-c-warning-soft: var(--vp-c-yellow-soft); - - --vp-c-danger-1: var(--vp-c-red-1); - --vp-c-danger-2: var(--vp-c-red-2); - --vp-c-danger-3: var(--vp-c-red-3); - --vp-c-danger-soft: var(--vp-c-red-soft); - - --vp-font-family-base: "Rubik", sans-serif; - --vp-font-family-mono: "Ubuntu Mono", monospace; -} - -:root { - --vp-c-bg: #ffffff; - --vp-c-bg-alt: #f6f6f7; - --vp-c-bg-elv: #ffffff; - --vp-c-bg-soft: #f6f6f7; -} - -.dark { - --vp-c-bg: #000000; - --vp-c-bg-alt: #0b0b0b; - --vp-c-bg-elv: #060606; - --vp-c-bg-soft: #111111; -} - -:root { - --vp-c-border: #c2c2c4; - --vp-c-divider: #e2e2e3; - --vp-c-gutter: #e2e2e3; -} - -.dark { - --vp-c-border: var(--vp-c-brand-3); - --vp-c-divider: var(--vp-c-brand-soft); - --vp-c-gutter: var(--vp-c-brand-soft); -} - -/** - * Component: Button - * -------------------------------------------------------------------------- */ - -:root { - --vp-button-brand-border: transparent; - --vp-button-brand-text: var(--vp-c-white); - --vp-button-brand-bg: var(--vp-c-brand-3); - --vp-button-brand-hover-border: transparent; - --vp-button-brand-hover-text: var(--vp-c-white); - --vp-button-brand-hover-bg: var(--vp-c-brand-2); - --vp-button-brand-active-border: transparent; - --vp-button-brand-active-text: var(--vp-c-white); - --vp-button-brand-active-bg: var(--vp-c-brand-1); -} - -/** - * Component: Home - * -------------------------------------------------------------------------- */ - -:root { - --vp-home-hero-name-color: transparent; - --vp-home-hero-name-background: -webkit-linear-gradient( - 120deg, - #bd34fe 30%, - #41d1ff - ); - - --vp-home-hero-image-background-image: linear-gradient( - -45deg, - #bd34fe 50%, - #47caff 50% - ); - --vp-home-hero-image-filter: blur(44px); -} - -@media (min-width: 640px) { - :root { - --vp-home-hero-image-filter: blur(56px); - } -} - -@media (min-width: 960px) { - :root { - --vp-home-hero-image-filter: blur(68px); - } -} - -/** - * Component: Custom Block - * -------------------------------------------------------------------------- */ - -:root { - --vp-custom-block-tip-border: transparent; - --vp-custom-block-tip-text: var(--vp-c-text-1); - --vp-custom-block-tip-bg: var(--vp-c-brand-soft); - --vp-custom-block-tip-code-bg: var(--vp-c-brand-soft); -} - -/** - * Component: Algolia - * -------------------------------------------------------------------------- */ - -.DocSearch { - --docsearch-primary-color: var(--vp-c-brand-1) !important; -} - -.pixelated { - image-rendering: pixelated; - image-rendering: -moz-crisp-edges; - image-rendering: crisp-edges; -} - -.badge-holder p { - display: flex; - flex-wrap: wrap; -} - -.badge-holder p { - margin: 0; -} - -.badge-holder a { - height: 27px; -} - -.badge-holder img { - display: inline-block; - height: 21px; - margin: 3px; -} \ No newline at end of file diff --git a/docs/.vitepress/versions.ts b/docs/.vitepress/versions.ts deleted file mode 100644 index ba29192..0000000 --- a/docs/.vitepress/versions.ts +++ /dev/null @@ -1,21 +0,0 @@ -const categories = [ - "world", - "blocks", - "entities", - "items", - "bug-fixes", - "mechanics", - "gui", - "misc", -] - -export const versions = [ - { - semver: "2.1.x", - categories, - }, - { - semver: "1.13.x", - categories, - }, -]; diff --git a/docs/.vitepress/zh_cn.ts b/docs/.vitepress/zh_cn.ts deleted file mode 100644 index c2c5af3..0000000 --- a/docs/.vitepress/zh_cn.ts +++ /dev/null @@ -1,59 +0,0 @@ -import { defineConfig } from "vitepress"; -import { versions } from "./versions"; - -const baseFeatures = [ - { text: "主页", link: "/" }, - { text: "世界", link: "/world" }, - { text: "方块", link: "/blocks" }, - { text: "实体", link: "/entities" }, - { text: "物品", link: "/items" }, - { text: "Bug 修复", link: "/bug-fixes" }, - { text: "机制", link: "/mechanics" }, - { text: "GUI", link: "/gui" }, - { text: "杂项", link: "/misc" }, -]; - -const baseMeta = [ - { text: "模组介绍", link: "/showcases" }, - { text: "附件", link: "/assets" }, -]; - -const getVersionedSidebar = (versionPrefix: string = "") => { - const prefix = versionPrefix ? `/zh-cn${versionPrefix}` : "/zh-cn"; - - const mapLinks = (items: { text: string; link: string }[]) => - items.map(item => ({ - ...item, - link: item.link === "/" ? `${prefix}/` : `${prefix}${item.link}` - })); - - return [ - { text: "特性", items: mapLinks(baseFeatures) }, - { text: "Meta", items: mapLinks(baseMeta) } - ]; -}; - -export const zh_cn = defineConfig({ - lang: "zh-CN", - title: "群星模组", - description: "灿若繁星,包罗万象。", - - themeConfig: { - sidebar: { - "/zh-cn/": getVersionedSidebar(), - ...Object.fromEntries( - versions.map(v => [`/zh-cn/${v.semver}/`, getVersionedSidebar(`/${v.semver}`)]) - ) - }, - - nav: [ - { - text: `Versions`, - items: versions.map((v) => ({ - text: `v${v.semver}`, - link: v.semver === versions[0].semver ? "/zh-cn/" : `/zh-cn/${v.semver}/` - })), - }, - ], - }, -}); \ No newline at end of file diff --git a/docs/public/favicon.png b/docs/public/favicon.png deleted file mode 100644 index 894d1adcf4124a48261787db17957e82d3452bd2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5679 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 diff --git a/docs/public/logo.png b/docs/public/logo.png deleted file mode 100644 index effdad875a55ba2395421922503df2aa0bcd91cc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12629 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 diff --git a/package-lock.json b/package-lock.json index 82c4ebf..bf2ab77 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,19 +1,121 @@ { - "name": "andromeda-wiki", + "name": "andromeda-wiki-astro", + "version": "0.0.1", "lockfileVersion": 3, "requires": true, "packages": { "": { - "devDependencies": { - "markdown-it-mathjax3": "^4.3.2", - "vitepress": "^2.0.0-alpha.17" + "name": "andromeda-wiki-astro", + "version": "0.0.1", + "dependencies": { + "@astrojs/markdown-remark": "^7.2.0", + "@astrojs/sitemap": "^3.7.3", + "astro": "^6.4.4", + "astro-pagefind": "^2.0.0", + "katex": "^0.17.0", + "prettier": "^3.8.3", + "prettier-plugin-astro": "^0.14.1", + "rehype-autolink-headings": "^7.1.0", + "rehype-katex": "^7.0.1", + "rehype-slug": "^6.0.0", + "remark-flexible-containers": "^1.5.5", + "remark-math": "^6.0.0", + "wrangler": "^4.98.0" + }, + "engines": { + "node": ">=22.12.0" + } + }, + "node_modules/@astrojs/compiler": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@astrojs/compiler/-/compiler-4.0.0.tgz", + "integrity": "sha512-eouss7G8ygdZqHuke033VMcVw5HTZUu+PXd/h06DGDUg/jt5btPYPqh66ENWw/mU78rBrf/oeC4oqoBwMtDMNA==", + "license": "MIT" + }, + "node_modules/@astrojs/internal-helpers": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/@astrojs/internal-helpers/-/internal-helpers-0.10.0.tgz", + "integrity": "sha512-Ry2R3VPeIN4uPCSA4xQc+e+vsJXkalKpEbDc07hV+a/o5Bs2N/s/uDcPJH/05L19DKh9tAy7e6JM3YZ6Cxfezw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.4", + "@types/mdast": "^4.0.4", + "js-yaml": "^4.1.1", + "picomatch": "^4.0.4", + "retext-smartypants": "^6.2.0", + "shiki": "^4.0.2", + "smol-toml": "^1.6.0", + "unified": "^11.0.5" + } + }, + "node_modules/@astrojs/markdown-remark": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@astrojs/markdown-remark/-/markdown-remark-7.2.0.tgz", + "integrity": "sha512-+YxmVQu1Bd+MFfSzjq1rOJvD9+nIOJzz5YIIhdIH01RrxRkKbyKoEgyIqP3yv51MhzMDgd79QaPv+kCVPT8vHw==", + "license": "MIT", + "dependencies": { + "@astrojs/internal-helpers": "0.10.0", + "@astrojs/prism": "4.0.2", + "github-slugger": "^2.0.0", + "hast-util-from-html": "^2.0.3", + "hast-util-to-text": "^4.0.2", + "mdast-util-definitions": "^6.0.0", + "rehype-raw": "^7.0.0", + "rehype-stringify": "^10.0.1", + "remark-gfm": "^4.0.1", + "remark-parse": "^11.0.0", + "remark-rehype": "^11.1.2", + "remark-smartypants": "^3.0.2", + "unified": "^11.0.5", + "unist-util-remove-position": "^5.0.0", + "unist-util-visit": "^5.1.0", + "unist-util-visit-parents": "^6.0.2", + "vfile": "^6.0.3" + } + }, + "node_modules/@astrojs/prism": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@astrojs/prism/-/prism-4.0.2.tgz", + "integrity": "sha512-KTivpmnz6lDsC6o9H4+DNm2SrE/GHzw8cNAvEJwAvUT+eoaEnn/4NtbDNfRRaxaJHdp15gf+tfHAWiXR4wB3BA==", + "license": "MIT", + "dependencies": { + "prismjs": "^1.30.0" + }, + "engines": { + "node": ">=22.12.0" + } + }, + "node_modules/@astrojs/sitemap": { + "version": "3.7.3", + "resolved": "https://registry.npmjs.org/@astrojs/sitemap/-/sitemap-3.7.3.tgz", + "integrity": "sha512-f8euLVsyeAmAkSm/1M2Kb8sL8byQmfgbvBNaHFItCheTj/IpiJYSEWVcqDHZ/yEHxiS7+w87mQkzwZaPHmk5GA==", + "license": "MIT", + "dependencies": { + "sitemap": "^9.0.0", + "stream-replace-string": "^2.0.0", + "zod": "^4.3.6" + } + }, + "node_modules/@astrojs/telemetry": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/@astrojs/telemetry/-/telemetry-3.3.2.tgz", + "integrity": "sha512-j8DNruA8ors99Al39RYZPJK4DC1bKkoNm93mAMuBhY9TCNC4R8n1q7ovFnJ5qhGh5Lsh7pa1gpQVpYpsJPeTHQ==", + "license": "MIT", + "dependencies": { + "ci-info": "^4.4.0", + "dset": "^3.1.4", + "is-docker": "^4.0.0", + "is-wsl": "^3.1.1", + "which-pm-runs": "^1.1.0" + }, + "engines": { + "node": "18.20.8 || ^20.3.0 || >=22.0.0" } }, "node_modules/@babel/helper-string-parser": { "version": "7.29.7", "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.29.7.tgz", "integrity": "sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw==", - "dev": true, "license": "MIT", "engines": { "node": ">=6.9.0" @@ -23,7 +125,6 @@ "version": "7.29.7", "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.29.7.tgz", "integrity": "sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==", - "dev": true, "license": "MIT", "engines": { "node": ">=6.9.0" @@ -33,7 +134,6 @@ "version": "7.29.7", "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.7.tgz", "integrity": "sha512-hnORnjP/1P/zFEndoeX+n+t1RwWRJiJpM/jO7FW32Kn9r5+sJB2JWOdYo4L6k78j15eCwY3Gm/7364B1EMwtNg==", - "dev": true, "license": "MIT", "dependencies": { "@babel/types": "^7.29.7" @@ -49,7 +149,6 @@ "version": "7.29.7", "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.7.tgz", "integrity": "sha512-4zBIxpPzowiZpusoFkyGVwakdRJUyuH5PxQ/PrqghfdFWWasvnCdPfQXHrenDai+gyLARulZjZowCOj6fjT4pA==", - "dev": true, "license": "MIT", "dependencies": { "@babel/helper-string-parser": "^7.29.7", @@ -59,26 +158,171 @@ "node": ">=6.9.0" } }, - "node_modules/@docsearch/css": { - "version": "4.6.3", - "resolved": "https://registry.npmjs.org/@docsearch/css/-/css-4.6.3.tgz", - "integrity": "sha512-nlOwcXcsNAptQl4vlL4MA78qNJKO0Qlds5GuBjCoePgkebTXLSf8Qt1oyZ3YBshYupKXG9VRGEsk1zr23d+bzQ==", - "dev": true, - "license": "MIT" + "node_modules/@capsizecss/unpack": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@capsizecss/unpack/-/unpack-4.0.0.tgz", + "integrity": "sha512-VERIM64vtTP1C4mxQ5thVT9fK0apjPFobqybMtA1UdUujWka24ERHbRHFGmpbbhp73MhV+KSsHQH9C6uOTdEQA==", + "license": "MIT", + "dependencies": { + "fontkitten": "^1.0.0" + }, + "engines": { + "node": ">=18" + } }, - "node_modules/@docsearch/js": { - "version": "4.6.3", - "resolved": "https://registry.npmjs.org/@docsearch/js/-/js-4.6.3.tgz", - "integrity": "sha512-qUIX2b4Apew3tv4F0qhmgShsl/Lfw4m6mqv/5/5dWNxwTcDdLMp2s3YwZ+NMGh3IKCg0pBaXm7Q5VdyU5Rj+cQ==", - "dev": true, - "license": "MIT" + "node_modules/@clack/core": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/@clack/core/-/core-1.4.1.tgz", + "integrity": "sha512-FILJa1gGKEFTGZAJE9RpVhrjKz3c3h4ar60dSv6cGuDqufQ84YEIS3GAGvZiN+H6yaLbbvTFNejjCC4tXpZEuw==", + "license": "MIT", + "dependencies": { + "fast-wrap-ansi": "^0.2.0", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 20.12.0" + } }, - "node_modules/@docsearch/sidepanel-js": { - "version": "4.6.3", - "resolved": "https://registry.npmjs.org/@docsearch/sidepanel-js/-/sidepanel-js-4.6.3.tgz", - "integrity": "sha512-grGSmvXzG0if+mrzdIKykvpIAuEQ9u0sEJ2eLRRCaQfJvsWqh2C2/aY04bIzWvDh7myi5rvl8D+tUNsVrjYQ3A==", - "dev": true, - "license": "MIT" + "node_modules/@clack/prompts": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/@clack/prompts/-/prompts-1.5.1.tgz", + "integrity": "sha512-zccHj2z2oCCO4yrDiRSlFOxWerGqRiysP7a5jPK6uoI9URKAquwY42Dd/iUP8JWHxEzdRe4TlbvZCo8z1/mhrw==", + "license": "MIT", + "dependencies": { + "@clack/core": "1.4.1", + "fast-string-width": "^3.0.2", + "fast-wrap-ansi": "^0.2.0", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 20.12.0" + } + }, + "node_modules/@cloudflare/kv-asset-handler": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@cloudflare/kv-asset-handler/-/kv-asset-handler-0.5.0.tgz", + "integrity": "sha512-jxQYkj8dSIzc0cD6cMMNdOc1UVjqSqu8BZdor5s8cGjW2I8BjODt/kWPVdY+u9zj3ms75Q5qaZgnxUad83+eAg==", + "license": "MIT OR Apache-2.0", + "engines": { + "node": ">=22.0.0" + } + }, + "node_modules/@cloudflare/unenv-preset": { + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/@cloudflare/unenv-preset/-/unenv-preset-2.16.1.tgz", + "integrity": "sha512-ECxObrMfyTl5bhQf/lZCXwo5G6xX9IAUo+nDMKK4SZ8m4Jvvxp52vilxyySSWh2YTZz8+HQ07qGH/2rEom1vDw==", + "license": "MIT OR Apache-2.0", + "peerDependencies": { + "unenv": "2.0.0-rc.24", + "workerd": ">1.20260305.0 <2.0.0-0" + }, + "peerDependenciesMeta": { + "workerd": { + "optional": true + } + } + }, + "node_modules/@cloudflare/workerd-darwin-64": { + "version": "1.20260603.1", + "resolved": "https://registry.npmjs.org/@cloudflare/workerd-darwin-64/-/workerd-darwin-64-1.20260603.1.tgz", + "integrity": "sha512-cEXDWu6V3ZrpmwWkM4OJE9AeXjdAgOY5rh8EHhcBVCuP5rxnzUbPzLtrVOHx0UUUAcCrFq0Xsa6mZKL1VUZsKQ==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=16" + } + }, + "node_modules/@cloudflare/workerd-darwin-arm64": { + "version": "1.20260603.1", + "resolved": "https://registry.npmjs.org/@cloudflare/workerd-darwin-arm64/-/workerd-darwin-arm64-1.20260603.1.tgz", + "integrity": "sha512-uBPK4LaWJNbbCYwPnUAehlHbbVulhVZPZsdcAhBPfZhHb3QAuAEPAQepO/P67R3V6Cni4YGx1fLbL8A5wwoaNA==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=16" + } + }, + "node_modules/@cloudflare/workerd-linux-64": { + "version": "1.20260603.1", + "resolved": "https://registry.npmjs.org/@cloudflare/workerd-linux-64/-/workerd-linux-64-1.20260603.1.tgz", + "integrity": "sha512-ht9l6/8Tk7Rp6kA4S9oFZ4X8u0VjnnFdmU/6B3fnABYKREYTKh2RdOqXqXxcp5eNJseireKnWik/hQOPK1CutQ==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=16" + } + }, + "node_modules/@cloudflare/workerd-linux-arm64": { + "version": "1.20260603.1", + "resolved": "https://registry.npmjs.org/@cloudflare/workerd-linux-arm64/-/workerd-linux-arm64-1.20260603.1.tgz", + "integrity": "sha512-LJZ6x00rAjSrobV4m0ZW0TpH5ilBbKcWBzlH+y+KOUsIE/CpTuhAzKV43TbSnFLRX5+jrWKiz2v0hO91lPXy6A==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=16" + } + }, + "node_modules/@cloudflare/workerd-windows-64": { + "version": "1.20260603.1", + "resolved": "https://registry.npmjs.org/@cloudflare/workerd-windows-64/-/workerd-windows-64-1.20260603.1.tgz", + "integrity": "sha512-DvwqkXMAJRPoDN4PxapAwhlz/6ouD+6R1ttbAEK3cWD/QBvFF5STx7Ds/9Irf+rBly3np3uHWkeX+wZnNFEuzA==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=16" + } + }, + "node_modules/@cspotcode/source-map-support": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", + "license": "MIT", + "dependencies": { + "@jridgewell/trace-mapping": "0.3.9" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@emnapi/runtime": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.10.0.tgz", + "integrity": "sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==", + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } }, "node_modules/@esbuild/aix-ppc64": { "version": "0.27.7", @@ -87,7 +331,6 @@ "cpu": [ "ppc64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -104,7 +347,6 @@ "cpu": [ "arm" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -121,7 +363,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -138,7 +379,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -155,7 +395,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -172,7 +411,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -189,7 +427,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -206,7 +443,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -223,7 +459,6 @@ "cpu": [ "arm" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -240,7 +475,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -257,7 +491,6 @@ "cpu": [ "ia32" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -274,7 +507,6 @@ "cpu": [ "loong64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -291,7 +523,6 @@ "cpu": [ "mips64el" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -308,7 +539,6 @@ "cpu": [ "ppc64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -325,7 +555,6 @@ "cpu": [ "riscv64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -342,7 +571,6 @@ "cpu": [ "s390x" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -359,7 +587,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -376,7 +603,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -393,7 +619,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -410,7 +635,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -427,7 +651,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -444,7 +667,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -461,7 +683,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -478,7 +699,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -495,7 +715,6 @@ "cpu": [ "ia32" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -512,7 +731,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -522,2232 +740,5564 @@ "node": ">=18" } }, - "node_modules/@iconify-json/simple-icons": { - "version": "1.2.85", - "resolved": "https://registry.npmjs.org/@iconify-json/simple-icons/-/simple-icons-1.2.85.tgz", - "integrity": "sha512-Hp5LXvd3LRk+e+1558wtonA7c1Z0/Phmi7xCqpgtb8bs8cuyGnP34GDbt5uhhUXxKlzacnnhAcXgcDxe9bUa1w==", - "dev": true, - "license": "CC0-1.0", - "dependencies": { - "@iconify/types": "*" + "node_modules/@img/colour": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@img/colour/-/colour-1.1.0.tgz", + "integrity": "sha512-Td76q7j57o/tLVdgS746cYARfSyxk8iEfRxewL9h4OMzYhbW4TAcppl0mT4eyqXddh6L/jwoM75mo7ixa/pCeQ==", + "license": "MIT", + "engines": { + "node": ">=18" } }, - "node_modules/@iconify/types": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@iconify/types/-/types-2.0.0.tgz", - "integrity": "sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==", - "dev": true, - "license": "MIT" - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", - "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", - "dev": true, - "license": "MIT" - }, - "node_modules/@rolldown/pluginutils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.1.tgz", - "integrity": "sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.61.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.61.1.tgz", - "integrity": "sha512-JnBB8MdXj45cajvTuO5FmPlvFVJRQgvrz1uSEl3NwqFnReAPGwb8EanbGi4z2nRaqLzjJSv5/JmycoTKlRZxHA==", + "node_modules/@img/sharp-darwin-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.34.5.tgz", + "integrity": "sha512-imtQ3WMJXbMY4fxb/Ndp6HBTNVtWCUI0WdobyheGf5+ad6xX8VIDO8u2xE4qc/fr08CKG/7dDseFtn6M6g/r3w==", "cpu": [ - "arm" + "arm64" ], - "dev": true, - "license": "MIT", + "license": "Apache-2.0", "optional": true, "os": [ - "android" - ] + "darwin" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-darwin-arm64": "1.2.4" + } }, - "node_modules/@rollup/rollup-android-arm64": { - "version": "4.61.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.61.1.tgz", - "integrity": "sha512-Jx2g7iSjw4AOT0HDPHM9RV3GNjRXwybWtSFZiZAYUTjUwjVrYIwq3kBf+LnhqJlzXFAqTAh2F7IGI+O568exPw==", + "node_modules/@img/sharp-darwin-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.34.5.tgz", + "integrity": "sha512-YNEFAF/4KQ/PeW0N+r+aVVsoIY0/qxxikF2SWdp+NRkmMB7y9LBZAVqQ4yhGCm/H3H270OSykqmQMKLBhBJDEw==", "cpu": [ - "arm64" + "x64" ], - "dev": true, - "license": "MIT", + "license": "Apache-2.0", "optional": true, "os": [ - "android" - ] + "darwin" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-darwin-x64": "1.2.4" + } }, - "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.61.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.61.1.tgz", - "integrity": "sha512-0F1L/Z3Eqv8mT2n3dCpeO8GcTvHvVqkP5/t6DMsn0KzhYVcg+s7Ncl5DS8qjKYEeio6Az0Gt6nyBORay5qIlCA==", + "node_modules/@img/sharp-libvips-darwin-arm64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.2.4.tgz", + "integrity": "sha512-zqjjo7RatFfFoP0MkQ51jfuFZBnVE2pRiaydKJ1G/rHZvnsrHAOcQALIi9sA5co5xenQdTugCvtb1cuf78Vf4g==", "cpu": [ "arm64" ], - "dev": true, - "license": "MIT", + "license": "LGPL-3.0-or-later", "optional": true, "os": [ "darwin" - ] + ], + "funding": { + "url": "https://opencollective.com/libvips" + } }, - "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.61.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.61.1.tgz", - "integrity": "sha512-qLttcH871ujY4YcVfUSShhOw+CsoTatYz8gRbHO7Bb92QH059/P0y5do1KMs41fY0BpD2x4AJH/gID0zFiqVKQ==", + "node_modules/@img/sharp-libvips-darwin-x64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.2.4.tgz", + "integrity": "sha512-1IOd5xfVhlGwX+zXv2N93k0yMONvUlANylbJw1eTah8K/Jtpi15KC+WSiaX/nBmbm2HxRM1gZ0nSdjSsrZbGKg==", "cpu": [ "x64" ], - "dev": true, - "license": "MIT", + "license": "LGPL-3.0-or-later", "optional": true, "os": [ "darwin" - ] - }, - "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.61.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.61.1.tgz", - "integrity": "sha512-fUI4RapGE0Oh3mb8mgfvC1O2nU1RpDZUKnDQm3xB1Ipg7C2wTs5Kstz7G2uWK99a8S2yTMq8/P4uycwNa0nJyw==", - "cpu": [ - "arm64" ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ] + "funding": { + "url": "https://opencollective.com/libvips" + } }, - "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.61.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.61.1.tgz", - "integrity": "sha512-H5YrdvJaDtI/U9/emrD4b++xkvp3y/JvOe4rizHbxvkyMfRS/CiRYdji+Pl8D0brEaNFWUh1drQxgAGIl6Xudw==", + "node_modules/@img/sharp-libvips-linux-arm": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.2.4.tgz", + "integrity": "sha512-bFI7xcKFELdiNCVov8e44Ia4u2byA+l3XtsAj+Q8tfCwO6BQ8iDojYdvoPMqsKDkuoOo+X6HZA0s0q11ANMQ8A==", "cpu": [ - "x64" + "arm" ], - "dev": true, - "license": "MIT", + "libc": [ + "glibc" + ], + "license": "LGPL-3.0-or-later", "optional": true, "os": [ - "freebsd" - ] + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } }, - "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.61.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.61.1.tgz", - "integrity": "sha512-Q8CBCCQtDFrYtXoeUXSrnFXKOnyUhx6bz+SkL6A0E7V8kAiCJ5pamq1WtbfpVGhR5TSpXY6ak3avmDc5fHTyJA==", + "node_modules/@img/sharp-libvips-linux-arm64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.2.4.tgz", + "integrity": "sha512-excjX8DfsIcJ10x1Kzr4RcWe1edC9PquDRRPx3YVCvQv+U5p7Yin2s32ftzikXojb1PIFc/9Mt28/y+iRklkrw==", "cpu": [ - "arm" + "arm64" ], - "dev": true, "libc": [ "glibc" ], - "license": "MIT", + "license": "LGPL-3.0-or-later", "optional": true, "os": [ "linux" - ] + ], + "funding": { + "url": "https://opencollective.com/libvips" + } }, - "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.61.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.61.1.tgz", - "integrity": "sha512-nwnhk1581l0FBVellGcVCAT0Oi06onEA3WB53sf01VO3I0UPBkMH9sXONYME2K0ovXcNayJfNtHfm6mpJElatQ==", + "node_modules/@img/sharp-libvips-linux-ppc64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-ppc64/-/sharp-libvips-linux-ppc64-1.2.4.tgz", + "integrity": "sha512-FMuvGijLDYG6lW+b/UvyilUWu5Ayu+3r2d1S8notiGCIyYU/76eig1UfMmkZ7vwgOrzKzlQbFSuQfgm7GYUPpA==", "cpu": [ - "arm" + "ppc64" ], - "dev": true, "libc": [ - "musl" + "glibc" ], - "license": "MIT", + "license": "LGPL-3.0-or-later", "optional": true, "os": [ "linux" - ] + ], + "funding": { + "url": "https://opencollective.com/libvips" + } }, - "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.61.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.61.1.tgz", - "integrity": "sha512-x5Xr49hwt3hdW75UOZm3395YwwzPyauktslv29KpWL/T+vVAzoT3azLcTWv0eMciBNrx+DYjH4paehHoLpPvpg==", + "node_modules/@img/sharp-libvips-linux-riscv64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-riscv64/-/sharp-libvips-linux-riscv64-1.2.4.tgz", + "integrity": "sha512-oVDbcR4zUC0ce82teubSm+x6ETixtKZBh/qbREIOcI3cULzDyb18Sr/Wcyx7NRQeQzOiHTNbZFF1UwPS2scyGA==", "cpu": [ - "arm64" + "riscv64" ], - "dev": true, "libc": [ "glibc" ], - "license": "MIT", + "license": "LGPL-3.0-or-later", "optional": true, "os": [ "linux" - ] + ], + "funding": { + "url": "https://opencollective.com/libvips" + } }, - "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.61.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.61.1.tgz", - "integrity": "sha512-unMS3H73DpaoPyyEVPjGKleM/s0mkmsauTENpw4INQY8y4+IuLNjkueQ5QCtC0D3N38Y38yhAU8OoZ20S2Tm6w==", + "node_modules/@img/sharp-libvips-linux-s390x": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.2.4.tgz", + "integrity": "sha512-qmp9VrzgPgMoGZyPvrQHqk02uyjA0/QrTO26Tqk6l4ZV0MPWIW6LTkqOIov+J1yEu7MbFQaDpwdwJKhbJvuRxQ==", "cpu": [ - "arm64" + "s390x" ], - "dev": true, "libc": [ - "musl" + "glibc" ], - "license": "MIT", + "license": "LGPL-3.0-or-later", "optional": true, "os": [ "linux" - ] + ], + "funding": { + "url": "https://opencollective.com/libvips" + } }, - "node_modules/@rollup/rollup-linux-loong64-gnu": { - "version": "4.61.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.61.1.tgz", - "integrity": "sha512-zNZzGRnAhwjFEYmvphJRV5XaQGjs62cCmeYYHUT//NbvEnHauw+I85nGG+SiVg5ld4GX8D1IbKIX+ozITQnhMQ==", + "node_modules/@img/sharp-libvips-linux-x64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.2.4.tgz", + "integrity": "sha512-tJxiiLsmHc9Ax1bz3oaOYBURTXGIRDODBqhveVHonrHJ9/+k89qbLl0bcJns+e4t4rvaNBxaEZsFtSfAdquPrw==", "cpu": [ - "loong64" + "x64" ], - "dev": true, "libc": [ "glibc" ], - "license": "MIT", + "license": "LGPL-3.0-or-later", "optional": true, "os": [ "linux" - ] + ], + "funding": { + "url": "https://opencollective.com/libvips" + } }, - "node_modules/@rollup/rollup-linux-loong64-musl": { - "version": "4.61.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.61.1.tgz", - "integrity": "sha512-LdpWGL8X209B2SIvWjqlc8VZgM6PKfontSerGepuldQmHYrAOtnMCXeJkxXGbC+PPZVOuu5czJo7fNV6aeW8rQ==", + "node_modules/@img/sharp-libvips-linuxmusl-arm64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.2.4.tgz", + "integrity": "sha512-FVQHuwx1IIuNow9QAbYUzJ+En8KcVm9Lk5+uGUQJHaZmMECZmOlix9HnH7n1TRkXMS0pGxIJokIVB9SuqZGGXw==", "cpu": [ - "loong64" + "arm64" ], - "dev": true, "libc": [ "musl" ], - "license": "MIT", + "license": "LGPL-3.0-or-later", "optional": true, "os": [ "linux" - ] + ], + "funding": { + "url": "https://opencollective.com/libvips" + } }, - "node_modules/@rollup/rollup-linux-ppc64-gnu": { - "version": "4.61.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.61.1.tgz", - "integrity": "sha512-EC5kTtNaNGOmbMGqar8dvJy6y/hg99GAwjfBz++pxZhQATXGcRjd6c5en5wcbru0vkRmiMGsQKdMJOOf6sza4g==", + "node_modules/@img/sharp-libvips-linuxmusl-x64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.2.4.tgz", + "integrity": "sha512-+LpyBk7L44ZIXwz/VYfglaX/okxezESc6UxDSoyo2Ks6Jxc4Y7sGjpgU9s4PMgqgjj1gZCylTieNamqA1MF7Dg==", "cpu": [ - "ppc64" + "x64" + ], + "libc": [ + "musl" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-linux-arm": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.34.5.tgz", + "integrity": "sha512-9dLqsvwtg1uuXBGZKsxem9595+ujv0sJ6Vi8wcTANSFpwV/GONat5eCkzQo/1O6zRIkh0m/8+5BjrRr7jDUSZw==", + "cpu": [ + "arm" ], - "dev": true, "libc": [ "glibc" ], - "license": "MIT", + "license": "Apache-2.0", "optional": true, "os": [ "linux" - ] + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-arm": "1.2.4" + } }, - "node_modules/@rollup/rollup-linux-ppc64-musl": { - "version": "4.61.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.61.1.tgz", - "integrity": "sha512-8hiwp6D4acEcNK78I4rP0/XtS1sknWIAMJBPdR4l6zUtyTm5KiTDr5bXmWt4foY7nAN7AThDHgkLIEZOWKbzWw==", + "node_modules/@img/sharp-linux-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.34.5.tgz", + "integrity": "sha512-bKQzaJRY/bkPOXyKx5EVup7qkaojECG6NLYswgktOZjaXecSAeCWiZwwiFf3/Y+O1HrauiE3FVsGxFg8c24rZg==", "cpu": [ - "ppc64" + "arm64" ], - "dev": true, "libc": [ - "musl" + "glibc" ], - "license": "MIT", + "license": "Apache-2.0", "optional": true, "os": [ "linux" - ] + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-arm64": "1.2.4" + } }, - "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.61.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.61.1.tgz", - "integrity": "sha512-10dh/h/BqA7DuMPWSxkR8uks18FRwnwOEqr5zOTEl+NOwP/OMzKX8OFR/Of9xxDA7D5qef1Nzar5WDD2kCCr1g==", + "node_modules/@img/sharp-linux-ppc64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-ppc64/-/sharp-linux-ppc64-0.34.5.tgz", + "integrity": "sha512-7zznwNaqW6YtsfrGGDA6BRkISKAAE1Jo0QdpNYXNMHu2+0dTrPflTLNkpc8l7MUP5M16ZJcUvysVWWrMefZquA==", "cpu": [ - "riscv64" + "ppc64" ], - "dev": true, "libc": [ "glibc" ], - "license": "MIT", + "license": "Apache-2.0", "optional": true, "os": [ "linux" - ] + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-ppc64": "1.2.4" + } }, - "node_modules/@rollup/rollup-linux-riscv64-musl": { - "version": "4.61.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.61.1.tgz", - "integrity": "sha512-YKJ5lg35DP17gcAOggnihe+APw9HLyj1Xn7gsmGumBJAUDa6NGXNixJzmkWLhcK9TOuuyQjdamzvJefkO7qHZQ==", + "node_modules/@img/sharp-linux-riscv64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-riscv64/-/sharp-linux-riscv64-0.34.5.tgz", + "integrity": "sha512-51gJuLPTKa7piYPaVs8GmByo7/U7/7TZOq+cnXJIHZKavIRHAP77e3N2HEl3dgiqdD/w0yUfiJnII77PuDDFdw==", "cpu": [ "riscv64" ], - "dev": true, "libc": [ - "musl" + "glibc" ], - "license": "MIT", + "license": "Apache-2.0", "optional": true, "os": [ "linux" - ] + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-riscv64": "1.2.4" + } }, - "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.61.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.61.1.tgz", - "integrity": "sha512-Mlil5G2Jj6a7B3LWGctg+XPL9vdXYuzCtNXfxOQ0nPjc2m6ueUktocPGH9bnAM0bNRKb/bAWTujUU7IJQdQA+g==", + "node_modules/@img/sharp-linux-s390x": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.34.5.tgz", + "integrity": "sha512-nQtCk0PdKfho3eC5MrbQoigJ2gd1CgddUMkabUj+rBevs8tZ2cULOx46E7oyX+04WGfABgIwmMC0VqieTiR4jg==", "cpu": [ "s390x" ], - "dev": true, "libc": [ "glibc" ], - "license": "MIT", + "license": "Apache-2.0", "optional": true, "os": [ "linux" - ] + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-s390x": "1.2.4" + } }, - "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.61.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.61.1.tgz", - "integrity": "sha512-bVWIOIk6pV01p4CdUbPP7CJ/434z+OooYjDuFcR+44N35YvKUC66G8MGnvcWx5mWKW3g61J+t74l3Kj15Kwn2Q==", + "node_modules/@img/sharp-linux-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.34.5.tgz", + "integrity": "sha512-MEzd8HPKxVxVenwAa+JRPwEC7QFjoPWuS5NZnBt6B3pu7EG2Ge0id1oLHZpPJdn3OQK+BQDiw9zStiHBTJQQQQ==", "cpu": [ "x64" ], - "dev": true, "libc": [ "glibc" ], - "license": "MIT", + "license": "Apache-2.0", "optional": true, "os": [ "linux" - ] + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-x64": "1.2.4" + } }, - "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.61.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.61.1.tgz", - "integrity": "sha512-qy5pBvZbqNFheBz61R1rzsezjm0J7O2oNGoWtGoY89SZYLUfxAJTBAqDChqAIdB4rCiIbi9nF7yZ83GnNiLwSw==", + "node_modules/@img/sharp-linuxmusl-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.34.5.tgz", + "integrity": "sha512-fprJR6GtRsMt6Kyfq44IsChVZeGN97gTD331weR1ex1c1rypDEABN6Tm2xa1wE6lYb5DdEnk03NZPqA7Id21yg==", "cpu": [ - "x64" + "arm64" ], - "dev": true, "libc": [ "musl" ], - "license": "MIT", + "license": "Apache-2.0", "optional": true, "os": [ "linux" - ] + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linuxmusl-arm64": "1.2.4" + } }, - "node_modules/@rollup/rollup-openbsd-x64": { - "version": "4.61.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.61.1.tgz", - "integrity": "sha512-E83TXjI4zm0+5f2qO+UOudaCYIhYwpJ5jq6YCZNIZ+6CbfhKrkAGezeiASBL9ElxAxFsRS9ZhESv8mfnj6TKeg==", + "node_modules/@img/sharp-linuxmusl-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.34.5.tgz", + "integrity": "sha512-Jg8wNT1MUzIvhBFxViqrEhWDGzqymo3sV7z7ZsaWbZNDLXRJZoRGrjulp60YYtV4wfY8VIKcWidjojlLcWrd8Q==", "cpu": [ "x64" ], - "dev": true, - "license": "MIT", + "libc": [ + "musl" + ], + "license": "Apache-2.0", "optional": true, "os": [ - "openbsd" - ] + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linuxmusl-x64": "1.2.4" + } }, - "node_modules/@rollup/rollup-openharmony-arm64": { - "version": "4.61.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.61.1.tgz", - "integrity": "sha512-fbWnKqVkjrJN38vNe3ahkbk6iejS/3b0Nt7EEtPpE6RBacZcGXNKbzfHN3GUUlXOPghUg0j6XUGrtjX9z1sIvA==", + "node_modules/@img/sharp-wasm32": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.34.5.tgz", + "integrity": "sha512-OdWTEiVkY2PHwqkbBI8frFxQQFekHaSSkUIJkwzclWZe64O1X4UlUjqqqLaPbUpMOQk6FBu/HtlGXNblIs0huw==", "cpu": [ - "arm64" + "wasm32" ], - "dev": true, - "license": "MIT", + "license": "Apache-2.0 AND LGPL-3.0-or-later AND MIT", "optional": true, - "os": [ - "openharmony" - ] + "dependencies": { + "@emnapi/runtime": "^1.7.0" + }, + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } }, - "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.61.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.61.1.tgz", - "integrity": "sha512-ArMl38iVAbk0New1ogihQNY6iphLi4ZaRsa037gUzv5yeKPY8TD3Dmy4x2RNC1VztU/uqm+G+/RwFrSka3Oy2g==", + "node_modules/@img/sharp-win32-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-arm64/-/sharp-win32-arm64-0.34.5.tgz", + "integrity": "sha512-WQ3AgWCWYSb2yt+IG8mnC6Jdk9Whs7O0gxphblsLvdhSpSTtmu69ZG1Gkb6NuvxsNACwiPV6cNSZNzt0KPsw7g==", "cpu": [ "arm64" ], - "dev": true, - "license": "MIT", + "license": "Apache-2.0 AND LGPL-3.0-or-later", "optional": true, "os": [ "win32" - ] + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } }, - "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.61.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.61.1.tgz", - "integrity": "sha512-0mYtjHS9ucAbcATycCNK9IGBk/cCe/ma7EmSLGZdsxnOA8cjRIyU04wDpVAD9NiOfLUR9KTxdiO53uOkherqjQ==", + "node_modules/@img/sharp-win32-ia32": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.34.5.tgz", + "integrity": "sha512-FV9m/7NmeCmSHDD5j4+4pNI8Cp3aW+JvLoXcTUo0IqyjSfAZJ8dIUmijx1qaJsIiU+Hosw6xM5KijAWRJCSgNg==", "cpu": [ "ia32" ], - "dev": true, - "license": "MIT", + "license": "Apache-2.0 AND LGPL-3.0-or-later", "optional": true, "os": [ "win32" - ] - }, - "node_modules/@rollup/rollup-win32-x64-gnu": { - "version": "4.61.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.61.1.tgz", - "integrity": "sha512-gK1iCEPfpoSG9wfBihXxvBMi8ZfcWffYkEsC/Eih+iFENTaewvNcrEQ69lIOWYO5pePHKLHHO7nq5AILGO/HQQ==", - "cpu": [ - "x64" ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } }, - "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.61.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.61.1.tgz", - "integrity": "sha512-X+zaP2x+j4RXGfbp/seSoRHWnPxzApilDszisZxbYH5C/jTxFhCtDNdPGZb9lJyYPs24wGxruPF7Y+sIXt9Gzw==", + "node_modules/@img/sharp-win32-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.34.5.tgz", + "integrity": "sha512-+29YMsqY2/9eFEiW93eqWnuLcWcufowXewwSNIT6UwZdUUCrM3oFjMWH/Z6/TMmb4hlFenmfAVbpWeup2jryCw==", "cpu": [ "x64" ], - "dev": true, - "license": "MIT", + "license": "Apache-2.0 AND LGPL-3.0-or-later", "optional": true, "os": [ "win32" - ] + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } }, - "node_modules/@shikijs/core": { - "version": "3.23.0", - "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-3.23.0.tgz", - "integrity": "sha512-NSWQz0riNb67xthdm5br6lAkvpDJRTgB36fxlo37ZzM2yq0PQFFzbd8psqC2XMPgCzo1fW6cVi18+ArJ44wqgA==", - "dev": true, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", "license": "MIT", - "dependencies": { - "@shikijs/types": "3.23.0", - "@shikijs/vscode-textmate": "^10.0.2", - "@types/hast": "^3.0.4", - "hast-util-to-html": "^9.0.5" + "engines": { + "node": ">=6.0.0" } }, - "node_modules/@shikijs/engine-javascript": { - "version": "3.23.0", - "resolved": "https://registry.npmjs.org/@shikijs/engine-javascript/-/engine-javascript-3.23.0.tgz", - "integrity": "sha512-aHt9eiGFobmWR5uqJUViySI1bHMqrAgamWE1TYSUoftkAeCCAiGawPMwM+VCadylQtF4V3VNOZ5LmfItH5f3yA==", - "dev": true, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", "license": "MIT", "dependencies": { - "@shikijs/types": "3.23.0", - "@shikijs/vscode-textmate": "^10.0.2", - "oniguruma-to-es": "^4.3.4" + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" } }, - "node_modules/@shikijs/engine-oniguruma": { - "version": "3.23.0", - "resolved": "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-3.23.0.tgz", - "integrity": "sha512-1nWINwKXxKKLqPibT5f4pAFLej9oZzQTsby8942OTlsJzOBZ0MWKiwzMsd+jhzu8YPCHAswGnnN1YtQfirL35g==", - "dev": true, + "node_modules/@oslojs/encoding": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@oslojs/encoding/-/encoding-1.1.0.tgz", + "integrity": "sha512-70wQhgYmndg4GCPxPPxPGevRKqTIJ2Nh4OkiMWmDAVYsTQ+Ta7Sq+rPevXyXGdzr30/qZBnyOalCszoMxlyldQ==", + "license": "MIT" + }, + "node_modules/@pagefind/component-ui": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@pagefind/component-ui/-/component-ui-1.5.2.tgz", + "integrity": "sha512-t8/aE0tan4JiKa6cyhhSt/5qrEVwAK/qlYBHFpnRoq+qaFFVrhmXFFMY+r6n4GJtVIFCN2A5nUpeLN68cYjEjw==", "license": "MIT", "dependencies": { - "@shikijs/types": "3.23.0", - "@shikijs/vscode-textmate": "^10.0.2" + "adequate-little-templates": "^1.0.2", + "bcp-47": "^2.1.0" } }, - "node_modules/@shikijs/langs": { - "version": "3.23.0", - "resolved": "https://registry.npmjs.org/@shikijs/langs/-/langs-3.23.0.tgz", - "integrity": "sha512-2Ep4W3Re5aB1/62RSYQInK9mM3HsLeB91cHqznAJMuylqjzNVAVCMnNWRHFtcNHXsoNRayP9z1qj4Sq3nMqYXg==", - "dev": true, + "node_modules/@pagefind/darwin-arm64": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@pagefind/darwin-arm64/-/darwin-arm64-1.5.2.tgz", + "integrity": "sha512-MXpI+7HsAdPkvJ0gk9xj9g541BCqBZOBbdwj9g6lB5LCj6kSV6nqDSjzcAJwvOsfu0fjwvC8hQU+ecfhp+MpiQ==", + "cpu": [ + "arm64" + ], "license": "MIT", - "dependencies": { - "@shikijs/types": "3.23.0" - } + "optional": true, + "os": [ + "darwin" + ] }, - "node_modules/@shikijs/themes": { - "version": "3.23.0", - "resolved": "https://registry.npmjs.org/@shikijs/themes/-/themes-3.23.0.tgz", - "integrity": "sha512-5qySYa1ZgAT18HR/ypENL9cUSGOeI2x+4IvYJu4JgVJdizn6kG4ia5Q1jDEOi7gTbN4RbuYtmHh0W3eccOrjMA==", - "dev": true, + "node_modules/@pagefind/darwin-x64": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@pagefind/darwin-x64/-/darwin-x64-1.5.2.tgz", + "integrity": "sha512-IojxFWMEJe0RQ7PQ3KXQsPIImNsbpPYpoZ+QUDrL8fAl/O27IX+LVLs74/UzEZy5uA2LD8Nz1AiwKr72vrkZQw==", + "cpu": [ + "x64" + ], "license": "MIT", - "dependencies": { - "@shikijs/types": "3.23.0" - } + "optional": true, + "os": [ + "darwin" + ] }, - "node_modules/@shikijs/transformers": { - "version": "3.23.0", - "resolved": "https://registry.npmjs.org/@shikijs/transformers/-/transformers-3.23.0.tgz", - "integrity": "sha512-F9msZVxdF+krQNSdQ4V+Ja5QemeAoTQ2jxt7nJCwhDsdF1JWS3KxIQXA3lQbyKwS3J61oHRUSv4jYWv3CkaKTQ==", - "dev": true, + "node_modules/@pagefind/freebsd-x64": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@pagefind/freebsd-x64/-/freebsd-x64-1.5.2.tgz", + "integrity": "sha512-7EVzo9+0w+2cbe671BtMj10UlNo83I+HrLVLfRxO731svHRJKUfJ/mo05gU14pe9PCfpKNQT8FS3Xc/oDN6pOA==", + "cpu": [ + "x64" + ], "license": "MIT", - "dependencies": { - "@shikijs/core": "3.23.0", - "@shikijs/types": "3.23.0" - } + "optional": true, + "os": [ + "freebsd" + ] }, - "node_modules/@shikijs/types": { - "version": "3.23.0", - "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-3.23.0.tgz", - "integrity": "sha512-3JZ5HXOZfYjsYSk0yPwBrkupyYSLpAE26Qc0HLghhZNGTZg/SKxXIIgoxOpmmeQP0RRSDJTk1/vPfw9tbw+jSQ==", - "dev": true, + "node_modules/@pagefind/linux-arm64": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@pagefind/linux-arm64/-/linux-arm64-1.5.2.tgz", + "integrity": "sha512-Ovt9+K35sqzn8H3ZMXGwls4TD/wMJuvRtShHIsmUQREmaxjrDEX7gHckRCrwYJ4XE1H1p6HkLz3wukrAnsfXQw==", + "cpu": [ + "arm64" + ], "license": "MIT", - "dependencies": { - "@shikijs/vscode-textmate": "^10.0.2", - "@types/hast": "^3.0.4" - } + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/@shikijs/vscode-textmate": { - "version": "10.0.2", - "resolved": "https://registry.npmjs.org/@shikijs/vscode-textmate/-/vscode-textmate-10.0.2.tgz", - "integrity": "sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==", - "dev": true, - "license": "MIT" + "node_modules/@pagefind/linux-x64": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@pagefind/linux-x64/-/linux-x64-1.5.2.tgz", + "integrity": "sha512-V+tFqHKXhQKq/WqPBD67AFy7scn1/aZID00ws4fSDd+1daSi5UHR9VVlRrOUYKxn3VuFQYRD7lYXdZK1WED1YA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/@types/estree": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.9.tgz", - "integrity": "sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==", - "dev": true, - "license": "MIT" + "node_modules/@pagefind/windows-arm64": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@pagefind/windows-arm64/-/windows-arm64-1.5.2.tgz", + "integrity": "sha512-hN9Nh90fNW61nNRCW9ZyQrAj/mD0eRvmJ8NlTUzkbuW8kIzGJUi3cxjFkEcMZ5h/8FsKWD/VcouZl4yo1F7B6g==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] }, - "node_modules/@types/hast": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz", - "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==", - "dev": true, + "node_modules/@pagefind/windows-x64": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@pagefind/windows-x64/-/windows-x64-1.5.2.tgz", + "integrity": "sha512-Fa2Iyw7kaDRzGMfNYNUXNW2zbL5FQVDgSOcbDHdzBrDEdpqOqg8TcZ68F22ol6NJ9IGzvUdmeyZypLW5dyhqsg==", + "cpu": [ + "x64" + ], "license": "MIT", - "dependencies": { - "@types/unist": "*" - } + "optional": true, + "os": [ + "win32" + ] }, - "node_modules/@types/linkify-it": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@types/linkify-it/-/linkify-it-5.0.0.tgz", - "integrity": "sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q==", - "dev": true, + "node_modules/@polka/url": { + "version": "1.0.0-next.29", + "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.29.tgz", + "integrity": "sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==", "license": "MIT" }, - "node_modules/@types/markdown-it": { - "version": "14.1.2", - "resolved": "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-14.1.2.tgz", - "integrity": "sha512-promo4eFwuiW+TfGxhi+0x3czqTYJkG8qB17ZUJiVF10Xm7NLVRSLUsfRTU/6h1e24VvRnXCx+hG7li58lkzog==", - "dev": true, + "node_modules/@poppinss/colors": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/@poppinss/colors/-/colors-4.1.6.tgz", + "integrity": "sha512-H9xkIdFswbS8n1d6vmRd8+c10t2Qe+rZITbbDHHkQixH5+2x1FDGmi/0K+WgWiqQFKPSlIYB7jlH6Kpfn6Fleg==", "license": "MIT", "dependencies": { - "@types/linkify-it": "^5", - "@types/mdurl": "^2" + "kleur": "^4.1.5" } }, - "node_modules/@types/mdast": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", - "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==", - "dev": true, + "node_modules/@poppinss/dumper": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/@poppinss/dumper/-/dumper-0.6.5.tgz", + "integrity": "sha512-NBdYIb90J7LfOI32dOewKI1r7wnkiH6m920puQ3qHUeZkxNkQiFnXVWoE6YtFSv6QOiPPf7ys6i+HWWecDz7sw==", "license": "MIT", "dependencies": { - "@types/unist": "*" + "@poppinss/colors": "^4.1.5", + "@sindresorhus/is": "^7.0.2", + "supports-color": "^10.0.0" } }, - "node_modules/@types/mdurl": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@types/mdurl/-/mdurl-2.0.0.tgz", - "integrity": "sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/unist": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", - "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/web-bluetooth": { - "version": "0.0.21", - "resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.21.tgz", - "integrity": "sha512-oIQLCGWtcFZy2JW77j9k8nHzAOpqMHLQejDA48XXMWH6tjCQHz5RCFz1bzsmROyL6PUm+LLnUiI4BCn221inxA==", - "dev": true, + "node_modules/@poppinss/exception": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@poppinss/exception/-/exception-1.2.3.tgz", + "integrity": "sha512-dCED+QRChTVatE9ibtoaxc+WkdzOSjYTKi/+uacHWIsfodVfpsueo3+DKpgU5Px8qXjgmXkSvhXvSCz3fnP9lw==", "license": "MIT" }, - "node_modules/@ungap/structured-clone": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.1.tgz", - "integrity": "sha512-mUFwbeTqrVgDQxFveS+df2yfap6iuP20NAKAsBt5jDEoOTDew+zwLAOilHCeQJOVSvmgCX4ogqIrA0mnyr08yQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/@vitejs/plugin-vue": { - "version": "6.0.7", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-6.0.7.tgz", - "integrity": "sha512-km+p+XdSz9Sxm5rqUbqcSfZYaAniKxWBj1KURl+Jr7UaPvvX7BmaWMdP69I5rrFDeQGyxAG7NXdc57vz+snhWg==", - "dev": true, + "node_modules/@rollup/pluginutils": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.4.0.tgz", + "integrity": "sha512-MfPp06CjRLfXQ3wY0R8vJDYBy/MvVcc9OulEfR0B8Iv9ko+GCNaRZ+EpJYFl27LhKsZK0o420sYCRHCjfCgeUg==", "license": "MIT", "dependencies": { - "@rolldown/pluginutils": "^1.0.1" + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^4.0.2" }, "engines": { - "node": "^20.19.0 || >=22.12.0" + "node": ">=14.0.0" }, "peerDependencies": { - "vite": "^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0", - "vue": "^3.2.25" - } - }, - "node_modules/@vue/compiler-core": { - "version": "3.5.35", - "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.35.tgz", - "integrity": "sha512-BUmHaR1J+O+CKZ9uJucdVTEr1LHsdyvv7vG3eNRhK3CczEHeMd/LtsHAuD7PbrxvI2envCY2v7HI1vC1aBRzKw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.29.3", - "@vue/shared": "3.5.35", - "entities": "^7.0.1", - "estree-walker": "^2.0.2", - "source-map-js": "^1.2.1" - } - }, - "node_modules/@vue/compiler-core/node_modules/entities": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/entities/-/entities-7.0.1.tgz", - "integrity": "sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.12" + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" + "peerDependenciesMeta": { + "rollup": { + "optional": true + } } }, - "node_modules/@vue/compiler-dom": { - "version": "3.5.35", - "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.35.tgz", - "integrity": "sha512-k+bprkXxuqhVajgTx5mUHuir7TwQzUKOWR40ng1ncAqQRPnrLngGGgqVEEhOnTMlc8btHYVKmrP8s5Qyg0hvYA==", - "dev": true, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.61.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.61.1.tgz", + "integrity": "sha512-JnBB8MdXj45cajvTuO5FmPlvFVJRQgvrz1uSEl3NwqFnReAPGwb8EanbGi4z2nRaqLzjJSv5/JmycoTKlRZxHA==", + "cpu": [ + "arm" + ], "license": "MIT", - "dependencies": { - "@vue/compiler-core": "3.5.35", - "@vue/shared": "3.5.35" - } + "optional": true, + "os": [ + "android" + ] }, - "node_modules/@vue/compiler-sfc": { - "version": "3.5.35", - "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.35.tgz", - "integrity": "sha512-G5VPMcXTSywXBgtFOZOnHKBxKSrwXUcvY1iaF5/hRcy7t0J6CH/d8ha9F4nzi00Fax1eLV0QHM7v4mQu68jydw==", - "dev": true, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.61.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.61.1.tgz", + "integrity": "sha512-Jx2g7iSjw4AOT0HDPHM9RV3GNjRXwybWtSFZiZAYUTjUwjVrYIwq3kBf+LnhqJlzXFAqTAh2F7IGI+O568exPw==", + "cpu": [ + "arm64" + ], "license": "MIT", - "dependencies": { - "@babel/parser": "^7.29.3", - "@vue/compiler-core": "3.5.35", - "@vue/compiler-dom": "3.5.35", - "@vue/compiler-ssr": "3.5.35", - "@vue/shared": "3.5.35", - "estree-walker": "^2.0.2", - "magic-string": "^0.30.21", - "postcss": "^8.5.15", - "source-map-js": "^1.2.1" - } + "optional": true, + "os": [ + "android" + ] }, - "node_modules/@vue/compiler-ssr": { - "version": "3.5.35", - "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.35.tgz", - "integrity": "sha512-rGhAeXgdM7/ffTJGXT69rCCdTmjDewnFuUZfBQQHTdcEBeWdT5HCGY60y2ytLJr9/Dsu7IntUi5z/w0h6Rjnzw==", - "dev": true, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.61.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.61.1.tgz", + "integrity": "sha512-0F1L/Z3Eqv8mT2n3dCpeO8GcTvHvVqkP5/t6DMsn0KzhYVcg+s7Ncl5DS8qjKYEeio6Az0Gt6nyBORay5qIlCA==", + "cpu": [ + "arm64" + ], "license": "MIT", - "dependencies": { - "@vue/compiler-dom": "3.5.35", - "@vue/shared": "3.5.35" - } + "optional": true, + "os": [ + "darwin" + ] }, - "node_modules/@vue/devtools-api": { - "version": "8.1.2", - "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-8.1.2.tgz", - "integrity": "sha512-vA0O112YqyDuNA1s7Yb2gCgToQ/OxOWiFDO5ThLCcDy0ldHnSd1dUTaSYhOldbqoNgumE4dxtGAoAaSUKUD1Zg==", - "dev": true, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.61.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.61.1.tgz", + "integrity": "sha512-qLttcH871ujY4YcVfUSShhOw+CsoTatYz8gRbHO7Bb92QH059/P0y5do1KMs41fY0BpD2x4AJH/gID0zFiqVKQ==", + "cpu": [ + "x64" + ], "license": "MIT", - "dependencies": { - "@vue/devtools-kit": "^8.1.2" - } + "optional": true, + "os": [ + "darwin" + ] }, - "node_modules/@vue/devtools-kit": { - "version": "8.1.2", - "resolved": "https://registry.npmjs.org/@vue/devtools-kit/-/devtools-kit-8.1.2.tgz", - "integrity": "sha512-f75/upc+GCyjXErpgPGz4582ujS0L/adAltGy+tqXMGUJpgAcfGr6CxnnhpZY8BHuMYt6KpbF8uaFrrQG66rGQ==", - "dev": true, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.61.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.61.1.tgz", + "integrity": "sha512-fUI4RapGE0Oh3mb8mgfvC1O2nU1RpDZUKnDQm3xB1Ipg7C2wTs5Kstz7G2uWK99a8S2yTMq8/P4uycwNa0nJyw==", + "cpu": [ + "arm64" + ], "license": "MIT", - "dependencies": { - "@vue/devtools-shared": "^8.1.2", - "birpc": "^2.6.1", - "hookable": "^5.5.3", - "perfect-debounce": "^2.0.0" - } - }, - "node_modules/@vue/devtools-shared": { - "version": "8.1.2", - "resolved": "https://registry.npmjs.org/@vue/devtools-shared/-/devtools-shared-8.1.2.tgz", - "integrity": "sha512-X9RyVFYAdkBe4IUf5v48TxBF/6QPmF8CmWrDAjXzfUHrgQ/HGfTC1A6TqgXqZ03ye66l3AD51BAGD69IvKM9sw==", - "dev": true, - "license": "MIT" + "optional": true, + "os": [ + "freebsd" + ] }, - "node_modules/@vue/reactivity": { - "version": "3.5.35", - "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.35.tgz", - "integrity": "sha512-tVc+SsHConvh/Lz64qq1pP3rYArBmK42xonovEcxY74SQtvctZodG/zhq54P5dr38cVuw25d27cPNRdlMidpGQ==", - "dev": true, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.61.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.61.1.tgz", + "integrity": "sha512-H5YrdvJaDtI/U9/emrD4b++xkvp3y/JvOe4rizHbxvkyMfRS/CiRYdji+Pl8D0brEaNFWUh1drQxgAGIl6Xudw==", + "cpu": [ + "x64" + ], "license": "MIT", - "dependencies": { - "@vue/shared": "3.5.35" - } + "optional": true, + "os": [ + "freebsd" + ] }, - "node_modules/@vue/runtime-core": { - "version": "3.5.35", - "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.5.35.tgz", - "integrity": "sha512-A/xFNX9loIcWDygeQuNCfKuh0CoYBzxhqEMNah5TSFg9Z53DrFYEN2qi5CU9necjM1OWYegYREUTHmXTmhfXtg==", - "dev": true, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.61.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.61.1.tgz", + "integrity": "sha512-Q8CBCCQtDFrYtXoeUXSrnFXKOnyUhx6bz+SkL6A0E7V8kAiCJ5pamq1WtbfpVGhR5TSpXY6ak3avmDc5fHTyJA==", + "cpu": [ + "arm" + ], + "libc": [ + "glibc" + ], "license": "MIT", - "dependencies": { - "@vue/reactivity": "3.5.35", - "@vue/shared": "3.5.35" - } + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/@vue/runtime-dom": { - "version": "3.5.35", - "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.5.35.tgz", - "integrity": "sha512-odrJ1C391dbGnyDRh8U+rnP7J2amIEzfmRk5vXy7xi3aZhEXofTvpi0T4HJb6jlNqQZTNPR5MPHSB3RHNkIORA==", - "dev": true, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.61.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.61.1.tgz", + "integrity": "sha512-nwnhk1581l0FBVellGcVCAT0Oi06onEA3WB53sf01VO3I0UPBkMH9sXONYME2K0ovXcNayJfNtHfm6mpJElatQ==", + "cpu": [ + "arm" + ], + "libc": [ + "musl" + ], "license": "MIT", - "dependencies": { - "@vue/reactivity": "3.5.35", - "@vue/runtime-core": "3.5.35", - "@vue/shared": "3.5.35", - "csstype": "^3.2.3" - } + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/@vue/server-renderer": { - "version": "3.5.35", - "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.5.35.tgz", - "integrity": "sha512-NkebSOYdB97wi8OQcO3HqzZSlymJi/aWsN/7h74OSVhRTm6qGs3Jp3e0rCXynmWwSlKeRrnlIug+ilYoHBmQDA==", - "dev": true, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.61.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.61.1.tgz", + "integrity": "sha512-x5Xr49hwt3hdW75UOZm3395YwwzPyauktslv29KpWL/T+vVAzoT3azLcTWv0eMciBNrx+DYjH4paehHoLpPvpg==", + "cpu": [ + "arm64" + ], + "libc": [ + "glibc" + ], "license": "MIT", - "dependencies": { - "@vue/compiler-ssr": "3.5.35", - "@vue/shared": "3.5.35" - }, - "peerDependencies": { - "vue": "3.5.35" - } + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.61.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.61.1.tgz", + "integrity": "sha512-unMS3H73DpaoPyyEVPjGKleM/s0mkmsauTENpw4INQY8y4+IuLNjkueQ5QCtC0D3N38Y38yhAU8OoZ20S2Tm6w==", + "cpu": [ + "arm64" + ], + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-gnu": { + "version": "4.61.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.61.1.tgz", + "integrity": "sha512-zNZzGRnAhwjFEYmvphJRV5XaQGjs62cCmeYYHUT//NbvEnHauw+I85nGG+SiVg5ld4GX8D1IbKIX+ozITQnhMQ==", + "cpu": [ + "loong64" + ], + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-musl": { + "version": "4.61.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.61.1.tgz", + "integrity": "sha512-LdpWGL8X209B2SIvWjqlc8VZgM6PKfontSerGepuldQmHYrAOtnMCXeJkxXGbC+PPZVOuu5czJo7fNV6aeW8rQ==", + "cpu": [ + "loong64" + ], + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-gnu": { + "version": "4.61.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.61.1.tgz", + "integrity": "sha512-EC5kTtNaNGOmbMGqar8dvJy6y/hg99GAwjfBz++pxZhQATXGcRjd6c5en5wcbru0vkRmiMGsQKdMJOOf6sza4g==", + "cpu": [ + "ppc64" + ], + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-musl": { + "version": "4.61.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.61.1.tgz", + "integrity": "sha512-8hiwp6D4acEcNK78I4rP0/XtS1sknWIAMJBPdR4l6zUtyTm5KiTDr5bXmWt4foY7nAN7AThDHgkLIEZOWKbzWw==", + "cpu": [ + "ppc64" + ], + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.61.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.61.1.tgz", + "integrity": "sha512-10dh/h/BqA7DuMPWSxkR8uks18FRwnwOEqr5zOTEl+NOwP/OMzKX8OFR/Of9xxDA7D5qef1Nzar5WDD2kCCr1g==", + "cpu": [ + "riscv64" + ], + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.61.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.61.1.tgz", + "integrity": "sha512-YKJ5lg35DP17gcAOggnihe+APw9HLyj1Xn7gsmGumBJAUDa6NGXNixJzmkWLhcK9TOuuyQjdamzvJefkO7qHZQ==", + "cpu": [ + "riscv64" + ], + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.61.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.61.1.tgz", + "integrity": "sha512-Mlil5G2Jj6a7B3LWGctg+XPL9vdXYuzCtNXfxOQ0nPjc2m6ueUktocPGH9bnAM0bNRKb/bAWTujUU7IJQdQA+g==", + "cpu": [ + "s390x" + ], + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.61.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.61.1.tgz", + "integrity": "sha512-bVWIOIk6pV01p4CdUbPP7CJ/434z+OooYjDuFcR+44N35YvKUC66G8MGnvcWx5mWKW3g61J+t74l3Kj15Kwn2Q==", + "cpu": [ + "x64" + ], + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.61.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.61.1.tgz", + "integrity": "sha512-qy5pBvZbqNFheBz61R1rzsezjm0J7O2oNGoWtGoY89SZYLUfxAJTBAqDChqAIdB4rCiIbi9nF7yZ83GnNiLwSw==", + "cpu": [ + "x64" + ], + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-openbsd-x64": { + "version": "4.61.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.61.1.tgz", + "integrity": "sha512-E83TXjI4zm0+5f2qO+UOudaCYIhYwpJ5jq6YCZNIZ+6CbfhKrkAGezeiASBL9ElxAxFsRS9ZhESv8mfnj6TKeg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ] + }, + "node_modules/@rollup/rollup-openharmony-arm64": { + "version": "4.61.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.61.1.tgz", + "integrity": "sha512-fbWnKqVkjrJN38vNe3ahkbk6iejS/3b0Nt7EEtPpE6RBacZcGXNKbzfHN3GUUlXOPghUg0j6XUGrtjX9z1sIvA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.61.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.61.1.tgz", + "integrity": "sha512-ArMl38iVAbk0New1ogihQNY6iphLi4ZaRsa037gUzv5yeKPY8TD3Dmy4x2RNC1VztU/uqm+G+/RwFrSka3Oy2g==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.61.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.61.1.tgz", + "integrity": "sha512-0mYtjHS9ucAbcATycCNK9IGBk/cCe/ma7EmSLGZdsxnOA8cjRIyU04wDpVAD9NiOfLUR9KTxdiO53uOkherqjQ==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-gnu": { + "version": "4.61.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.61.1.tgz", + "integrity": "sha512-gK1iCEPfpoSG9wfBihXxvBMi8ZfcWffYkEsC/Eih+iFENTaewvNcrEQ69lIOWYO5pePHKLHHO7nq5AILGO/HQQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.61.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.61.1.tgz", + "integrity": "sha512-X+zaP2x+j4RXGfbp/seSoRHWnPxzApilDszisZxbYH5C/jTxFhCtDNdPGZb9lJyYPs24wGxruPF7Y+sIXt9Gzw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@shikijs/core": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-4.2.0.tgz", + "integrity": "sha512-Hc87Ab1Ld/vEbZRCbwx344I5v+4RU8CVToUTRkqXL1+TjbuOp9U5Xa0M23V4GEWHxVn+yO5otb+HkQVm3ptWQQ==", + "license": "MIT", + "dependencies": { + "@shikijs/primitive": "4.2.0", + "@shikijs/types": "4.2.0", + "@shikijs/vscode-textmate": "^10.0.2", + "@types/hast": "^3.0.4", + "hast-util-to-html": "^9.0.5" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@shikijs/engine-javascript": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@shikijs/engine-javascript/-/engine-javascript-4.2.0.tgz", + "integrity": "sha512-fjETeq1k5ffyXqRgS6+3hpvqseLalp1kjNfRbXpUgWR8FpZ1CmQfiNHovc5lncYjt/Vg5JK/WJEmLahjwMa0og==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "4.2.0", + "@shikijs/vscode-textmate": "^10.0.2", + "oniguruma-to-es": "^4.3.6" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@shikijs/engine-oniguruma": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-4.2.0.tgz", + "integrity": "sha512-hTorK1dffPkpbMUk6Z+828PgRo7d07HbnizoP0hNPFjhxMHctj0Px/qoHeGMYafc6ju+u9iMldN4JbVzNQM++g==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "4.2.0", + "@shikijs/vscode-textmate": "^10.0.2" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@shikijs/langs": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@shikijs/langs/-/langs-4.2.0.tgz", + "integrity": "sha512-bwrVRlJ0wUhZxAbVdvBbv2TTC9yLsh4C/IO5Ofz0T8MQntgDvyVnkbjw9vi50r1kx7RCIJdnJnjZAwmAsXFLZQ==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "4.2.0" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@shikijs/primitive": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@shikijs/primitive/-/primitive-4.2.0.tgz", + "integrity": "sha512-NOq+DtUkVBJtZMVXL5A0vI0Xk8nvDYaXetFHSJFlOqjDZIVhIPRYFdGkSoElDqNuegikcc3A76SNUa8dTqtAYA==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "4.2.0", + "@shikijs/vscode-textmate": "^10.0.2", + "@types/hast": "^3.0.4" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@shikijs/themes": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@shikijs/themes/-/themes-4.2.0.tgz", + "integrity": "sha512-RX8IHYeLv8Cu2W6ruc3RxUqWn0IYCqSrMBzi/uRGAmfyDNOnNO5BF/Px7o97n4XTpmFTo5GbRaazuOWj+2ak2w==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "4.2.0" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@shikijs/types": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-4.2.0.tgz", + "integrity": "sha512-VT/MKtlpOhEPZloSH3Pb9WCZEBDoQVMa9jedp5UAwmJOar1DVc9DRODAxmYPW9M93IK4ryuqRejFfmlvlVDemw==", + "license": "MIT", + "dependencies": { + "@shikijs/vscode-textmate": "^10.0.2", + "@types/hast": "^3.0.4" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@shikijs/vscode-textmate": { + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/@shikijs/vscode-textmate/-/vscode-textmate-10.0.2.tgz", + "integrity": "sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==", + "license": "MIT" + }, + "node_modules/@sindresorhus/is": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-7.2.0.tgz", + "integrity": "sha512-P1Cz1dWaFfR4IR+U13mqqiGsLFf1KbayybWwdd2vfctdV6hDpUkgCY0nKOLLTMSoRd/jJNjtbqzf13K8DCCXQw==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sindresorhus/is?sponsor=1" + } + }, + "node_modules/@speed-highlight/core": { + "version": "1.2.15", + "resolved": "https://registry.npmjs.org/@speed-highlight/core/-/core-1.2.15.tgz", + "integrity": "sha512-BMq1K3DsElxDWawkX6eLg9+CKJrTVGCBAWVuHXVUV2u0s2711qiChLSId6ikYPfxhdYocLNt3wWwSvDiTvFabw==", + "license": "CC0-1.0" + }, + "node_modules/@types/debug": { + "version": "4.1.13", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.13.tgz", + "integrity": "sha512-KSVgmQmzMwPlmtljOomayoR89W4FynCAi3E8PPs7vmDVPe84hT+vGPKkJfThkmXs0x0jAaa9U8uW8bbfyS2fWw==", + "license": "MIT", + "dependencies": { + "@types/ms": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.9.tgz", + "integrity": "sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==", + "license": "MIT" + }, + "node_modules/@types/hast": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz", + "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/katex": { + "version": "0.16.8", + "resolved": "https://registry.npmjs.org/@types/katex/-/katex-0.16.8.tgz", + "integrity": "sha512-trgaNyfU+Xh2Tc+ABIb44a5AYUpicB3uwirOioeOkNPPbmgRNtcWyDeeFRzjPZENO9Vq8gvVqfhaaXWLlevVwg==", + "license": "MIT" + }, + "node_modules/@types/mdast": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", + "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/ms": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-2.1.0.tgz", + "integrity": "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==", + "license": "MIT" + }, + "node_modules/@types/nlcst": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/nlcst/-/nlcst-2.0.3.tgz", + "integrity": "sha512-vSYNSDe6Ix3q+6Z7ri9lyWqgGhJTmzRjZRqyq15N0Z/1/UnVsno9G/N40NBijoYx2seFDIl0+B2mgAb9mezUCA==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/node": { + "version": "24.13.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-24.13.1.tgz", + "integrity": "sha512-RSpUJGmvsJ1ZeBehQZFhIdpsz+bIpES0nIQXko4Ybq+N+kX6XvOq3Jo+iJ82FWLdblFq85AsMikd3m35jgezYg==", + "license": "MIT", + "dependencies": { + "undici-types": "~7.18.0" + } + }, + "node_modules/@types/sax": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@types/sax/-/sax-1.2.7.tgz", + "integrity": "sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "license": "MIT" + }, + "node_modules/@ungap/structured-clone": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.1.tgz", + "integrity": "sha512-mUFwbeTqrVgDQxFveS+df2yfap6iuP20NAKAsBt5jDEoOTDew+zwLAOilHCeQJOVSvmgCX4ogqIrA0mnyr08yQ==", + "license": "ISC" + }, + "node_modules/adequate-little-templates": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/adequate-little-templates/-/adequate-little-templates-1.0.2.tgz", + "integrity": "sha512-d0tFFG538l3Y4CElRKtticzrMr/OGohs32/nf3Ewn8rbTMBYwkVNe8mPdXWrDnMlz+ZVUFQjsTmsBD5zCtU4wg==", + "license": "MIT", + "engines": { + "node": ">=14" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "license": "ISC", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/anymatch/node_modules/picomatch": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz", + "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==", + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "license": "MIT" + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "license": "Python-2.0" + }, + "node_modules/aria-query": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz", + "integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==", + "license": "Apache-2.0", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/array-iterate": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/array-iterate/-/array-iterate-2.0.1.tgz", + "integrity": "sha512-I1jXZMjAgCMmxT4qxXfPXa6SthSoE8h6gkSI9BGGNv8mP8G/v0blc+qFnZu6K42vTOiuME596QaLO0TP3Lk0xg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/astro": { + "version": "6.4.4", + "resolved": "https://registry.npmjs.org/astro/-/astro-6.4.4.tgz", + "integrity": "sha512-hVe8tq3lqt/Dr0UyB//yUmQSlHMTU8scTiF/vQddQVahLE4TTaSdH5H0nb7OvRcwo0UmlAO8DWYar4jNaS7H+A==", + "license": "MIT", + "dependencies": { + "@astrojs/compiler": "^4.0.0", + "@astrojs/internal-helpers": "0.10.0", + "@astrojs/markdown-remark": "7.2.0", + "@astrojs/telemetry": "3.3.2", + "@capsizecss/unpack": "^4.0.0", + "@clack/prompts": "^1.1.0", + "@oslojs/encoding": "^1.1.0", + "@rollup/pluginutils": "^5.3.0", + "aria-query": "^5.3.2", + "axobject-query": "^4.1.0", + "ci-info": "^4.4.0", + "clsx": "^2.1.1", + "common-ancestor-path": "^2.0.0", + "cookie": "^1.1.1", + "devalue": "^5.8.1", + "diff": "^8.0.3", + "dset": "^3.1.4", + "es-module-lexer": "^2.0.0", + "esbuild": "^0.27.3", + "flattie": "^1.1.1", + "fontace": "~0.4.1", + "get-tsconfig": "5.0.0-beta.4", + "github-slugger": "^2.0.0", + "html-escaper": "3.0.3", + "http-cache-semantics": "^4.2.0", + "js-yaml": "^4.1.1", + "jsonc-parser": "^3.3.1", + "magic-string": "^0.30.21", + "magicast": "^0.5.2", + "mrmime": "^2.0.1", + "neotraverse": "^0.6.18", + "obug": "^2.1.1", + "p-limit": "^7.3.0", + "p-queue": "^9.1.0", + "package-manager-detector": "^1.6.0", + "piccolore": "^0.1.3", + "picomatch": "^4.0.4", + "rehype": "^13.0.2", + "semver": "^7.7.4", + "shiki": "^4.0.2", + "smol-toml": "^1.6.0", + "svgo": "^4.0.1", + "tinyclip": "^0.1.12", + "tinyexec": "^1.0.4", + "tinyglobby": "^0.2.15", + "ultrahtml": "^1.6.0", + "unifont": "~0.7.4", + "unist-util-visit": "^5.1.0", + "unstorage": "^1.17.5", + "vfile": "^6.0.3", + "vite": "^7.3.2", + "vitefu": "^1.1.2", + "xxhash-wasm": "^1.1.0", + "yargs-parser": "^22.0.0", + "zod": "^4.3.6" + }, + "bin": { + "astro": "bin/astro.mjs" + }, + "engines": { + "node": ">=22.12.0", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/astrodotbuild" + }, + "optionalDependencies": { + "sharp": "^0.34.0" + } + }, + "node_modules/astro-pagefind": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astro-pagefind/-/astro-pagefind-2.0.0.tgz", + "integrity": "sha512-i270YlJ/8aX/eRkvtuAPANSk+WK1uyp9DEj/TuuWem4pA0xBUGQk7agNFdu71nRxtH0j7TZxee2qwQRlrfZa1g==", + "license": "MIT", + "dependencies": { + "@pagefind/component-ui": "^1.5.0", + "pagefind": "^1.5.0", + "sirv": "^3.0.0" + }, + "peerDependencies": { + "astro": "^2.0.4 || ^3 || ^4 || ^5 || ^6" + } + }, + "node_modules/axobject-query": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz", + "integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==", + "license": "Apache-2.0", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/bail": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", + "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/bcp-47": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/bcp-47/-/bcp-47-2.1.0.tgz", + "integrity": "sha512-9IIS3UPrvIa1Ej+lVDdDwO7zLehjqsaByECw0bu2RRGP73jALm6FYbzI5gWbgHLvNdkvfXB5YrSbocZdOS0c0w==", + "license": "MIT", + "dependencies": { + "is-alphabetical": "^2.0.0", + "is-alphanumerical": "^2.0.0", + "is-decimal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/blake3-wasm": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/blake3-wasm/-/blake3-wasm-2.1.5.tgz", + "integrity": "sha512-F1+K8EbfOZE49dtoPtmxUQrpXaBIl3ICvasLh+nJta0xkz+9kF/7uet9fLnwKqhDrmj6g+6K3Tw9yQPUg2ka5g==", + "license": "MIT" + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "license": "ISC" + }, + "node_modules/ccount": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", + "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", + "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-html4": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz", + "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-legacy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", + "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/chokidar": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-5.0.0.tgz", + "integrity": "sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw==", + "license": "MIT", + "dependencies": { + "readdirp": "^5.0.0" + }, + "engines": { + "node": ">= 20.19.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/ci-info": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.4.0.tgz", + "integrity": "sha512-77PSwercCZU2Fc4sX94eF8k8Pxte6JAwL4/ICZLFjJLqegs7kCuAsqqj/70NQF6TvDpgFjkubQB2FW2ZZddvQg==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/clsx": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/comma-separated-tokens": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", + "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/commander": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-11.1.0.tgz", + "integrity": "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==", + "license": "MIT", + "engines": { + "node": ">=16" + } + }, + "node_modules/common-ancestor-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/common-ancestor-path/-/common-ancestor-path-2.0.0.tgz", + "integrity": "sha512-dnN3ibLeoRf2HNC+OlCiNc5d2zxbLJXOtiZUudNFSXZrNSydxcCsSpRzXwfu7BBWCIfHPw+xTayeBvJCP/D8Ng==", + "license": "BlueOak-1.0.0", + "engines": { + "node": ">= 18" + } + }, + "node_modules/cookie": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-1.1.1.tgz", + "integrity": "sha512-ei8Aos7ja0weRpFzJnEA9UHJ/7XQmqglbRwnf2ATjcB9Wq874VKH9kfjjirM6UhU2/E5fFYadylyhFldcqSidQ==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/cookie-es": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/cookie-es/-/cookie-es-1.2.3.tgz", + "integrity": "sha512-lXVyvUvrNXblMqzIRrxHb57UUVmqsSWlxqt3XIjCkUP0wDAf6uicO6KMbEgYrMNtEvWgWHwe42CKxPu9MYAnWw==", + "license": "MIT" + }, + "node_modules/crossws": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/crossws/-/crossws-0.3.5.tgz", + "integrity": "sha512-ojKiDvcmByhwa8YYqbQI/hg7MEU0NC03+pSdEq4ZUnZR9xXpwk7E43SMNGkn+JxJGPFtNvQ48+vV2p+P1ml5PA==", + "license": "MIT", + "dependencies": { + "uncrypto": "^0.1.3" + } + }, + "node_modules/css-select": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.2.2.tgz", + "integrity": "sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==", + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.1.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-tree": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-3.2.1.tgz", + "integrity": "sha512-X7sjQzceUhu1u7Y/ylrRZFU2FS6LRiFVp6rKLPg23y3x3c3DOKAwuXGDp+PAGjh6CSnCjYeAul8pcT8bAl+lSA==", + "license": "MIT", + "dependencies": { + "mdn-data": "2.27.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" + } + }, + "node_modules/css-what": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.2.2.tgz", + "integrity": "sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==", + "license": "BSD-2-Clause", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/csso": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz", + "integrity": "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==", + "license": "MIT", + "dependencies": { + "css-tree": "~2.2.0" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/csso/node_modules/css-tree": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz", + "integrity": "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==", + "license": "MIT", + "dependencies": { + "mdn-data": "2.0.28", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/csso/node_modules/mdn-data": { + "version": "2.0.28", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz", + "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==", + "license": "CC0-1.0" + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decode-named-character-reference": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.3.0.tgz", + "integrity": "sha512-GtpQYB283KrPp6nRw50q3U9/VfOutZOe103qlN7BPP6Ad27xYnOIWv4lPzo8HCAL+mMZofJ9KEy30fq6MfaK6Q==", + "license": "MIT", + "dependencies": { + "character-entities": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/defu": { + "version": "6.1.7", + "resolved": "https://registry.npmjs.org/defu/-/defu-6.1.7.tgz", + "integrity": "sha512-7z22QmUWiQ/2d0KkdYmANbRUVABpZ9SNYyH5vx6PZ+nE5bcC0l7uFvEfHlyld/HcGBFTL536ClDt3DEcSlEJAQ==", + "license": "MIT" + }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/destr": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/destr/-/destr-2.0.5.tgz", + "integrity": "sha512-ugFTXCtDZunbzasqBxrK93Ik/DRYsO6S/fedkWEMKqt04xZ4csmnmwGDBAb07QWNaGMAmnTIemsYZCksjATwsA==", + "license": "MIT" + }, + "node_modules/detect-libc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", + "license": "Apache-2.0", + "engines": { + "node": ">=8" + } + }, + "node_modules/devalue": { + "version": "5.8.1", + "resolved": "https://registry.npmjs.org/devalue/-/devalue-5.8.1.tgz", + "integrity": "sha512-4CXDYRBGqN+57wVJkuXBYmpAVUSg3L6JAQa/DFqm238G73E1wuyc/JhGQJzN7vUf/CMphYau2zXbfWzDR5aTEw==", + "license": "MIT" + }, + "node_modules/devlop": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz", + "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==", + "license": "MIT", + "dependencies": { + "dequal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/diff": { + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/diff/-/diff-8.0.4.tgz", + "integrity": "sha512-DPi0FmjiSU5EvQV0++GFDOJ9ASQUVFh5kD+OzOnYdi7n3Wpm9hWWGfB/O2blfHcMVTL5WkQXSnRiK9makhrcnw==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "license": "MIT", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/dom-serializer/node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "BSD-2-Clause" + }, + "node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "license": "BSD-2-Clause", + "dependencies": { + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.2.2.tgz", + "integrity": "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==", + "license": "BSD-2-Clause", + "dependencies": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/dset": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/dset/-/dset-3.1.4.tgz", + "integrity": "sha512-2QF/g9/zTaPDc3BjNcVTGoBbXBgYfMTTceLaYcFJ/W9kggFUkhxD/hMEeuLKbugyef9SqAx8cpgwlIP/jinUTA==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/entities": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", + "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/error-stack-parser-es": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/error-stack-parser-es/-/error-stack-parser-es-1.0.5.tgz", + "integrity": "sha512-5qucVt2XcuGMcEGgWI7i+yZpmpByQ8J1lHhcL7PwqCwu9FPP3VUXzT4ltHe5i2z9dePwEHcDVOAfSnHsOlCXRA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/es-module-lexer": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-2.1.0.tgz", + "integrity": "sha512-n27zTYMjYu1aj4MjCWzSP7G9r75utsaoc8m61weK+W8JMBGGQybd43GstCXZ3WNmSFtGT9wi59qQTW6mhTR5LQ==", + "license": "MIT" + }, + "node_modules/esbuild": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.7.tgz", + "integrity": "sha512-IxpibTjyVnmrIQo5aqNpCgoACA/dTKLTlhMHihVHhdkxKyPO1uBBthumT0rdHmcsk9uMonIWS0m4FljWzILh3w==", + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.27.7", + "@esbuild/android-arm": "0.27.7", + "@esbuild/android-arm64": "0.27.7", + "@esbuild/android-x64": "0.27.7", + "@esbuild/darwin-arm64": "0.27.7", + "@esbuild/darwin-x64": "0.27.7", + "@esbuild/freebsd-arm64": "0.27.7", + "@esbuild/freebsd-x64": "0.27.7", + "@esbuild/linux-arm": "0.27.7", + "@esbuild/linux-arm64": "0.27.7", + "@esbuild/linux-ia32": "0.27.7", + "@esbuild/linux-loong64": "0.27.7", + "@esbuild/linux-mips64el": "0.27.7", + "@esbuild/linux-ppc64": "0.27.7", + "@esbuild/linux-riscv64": "0.27.7", + "@esbuild/linux-s390x": "0.27.7", + "@esbuild/linux-x64": "0.27.7", + "@esbuild/netbsd-arm64": "0.27.7", + "@esbuild/netbsd-x64": "0.27.7", + "@esbuild/openbsd-arm64": "0.27.7", + "@esbuild/openbsd-x64": "0.27.7", + "@esbuild/openharmony-arm64": "0.27.7", + "@esbuild/sunos-x64": "0.27.7", + "@esbuild/win32-arm64": "0.27.7", + "@esbuild/win32-ia32": "0.27.7", + "@esbuild/win32-x64": "0.27.7" + } + }, + "node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "license": "MIT" + }, + "node_modules/eventemitter3": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.4.tgz", + "integrity": "sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw==", + "license": "MIT" + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "license": "MIT" + }, + "node_modules/fast-string-truncated-width": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/fast-string-truncated-width/-/fast-string-truncated-width-3.0.3.tgz", + "integrity": "sha512-0jjjIEL6+0jag3l2XWWizO64/aZVtpiGE3t0Zgqxv0DPuxiMjvB3M24fCyhZUO4KomJQPj3LTSUnDP3GpdwC0g==", + "license": "MIT" + }, + "node_modules/fast-string-width": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/fast-string-width/-/fast-string-width-3.0.2.tgz", + "integrity": "sha512-gX8LrtNEI5hq8DVUfRQMbr5lpaS4nMIWV+7XEbXk2b8kiQIizgnlr12B4dA3ZEx3308ze0O4Q1R+cHts8kyUJg==", + "license": "MIT", + "dependencies": { + "fast-string-truncated-width": "^3.0.2" + } + }, + "node_modules/fast-wrap-ansi": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/fast-wrap-ansi/-/fast-wrap-ansi-0.2.2.tgz", + "integrity": "sha512-7F2Fl+TjRSenLqlU3UjSH0iyqopqoZIu7eZVpEirP2g1GtWa2G/ecEmBdgz31+Mxr+ELclgg6sokpSFIQiZ02Q==", + "license": "MIT", + "dependencies": { + "fast-string-width": "^3.0.2" + } + }, + "node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/flattie": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/flattie/-/flattie-1.1.1.tgz", + "integrity": "sha512-9UbaD6XdAL97+k/n+N7JwX46K/M6Zc6KcFYskrYL8wbBV/Uyk0CTAMY0VT+qiK5PM7AIc9aTWYtq65U7T+aCNQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/fontace": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/fontace/-/fontace-0.4.1.tgz", + "integrity": "sha512-lDMvbAzSnHmbYMTEld5qdtvNH2/pWpICOqpean9IgC7vUbUJc3k+k5Dokp85CegamqQpFbXf0rAVkbzpyTA8aw==", + "license": "MIT", + "dependencies": { + "fontkitten": "^1.0.2" + } + }, + "node_modules/fontkitten": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/fontkitten/-/fontkitten-1.0.3.tgz", + "integrity": "sha512-Wp1zXWPVUPBmfoa3Cqc9ctaKuzKAV6uLstRqlR56kSjplf5uAce+qeyYym7F+PHbGTk+tCEdkCW6RD7DX/gBZw==", + "license": "MIT", + "dependencies": { + "tiny-inflate": "^1.0.3" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/get-tsconfig": { + "version": "5.0.0-beta.4", + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-5.0.0-beta.4.tgz", + "integrity": "sha512-7nF7C9fIPFEMHgEMEfgIlO9wDdZ8CyHw27rWciFZfHvHDReIiPhsYuzPRXsfvBCqFy1l8RRyyWV7QLM+ZhUJsQ==", + "license": "MIT", + "dependencies": { + "resolve-pkg-maps": "^1.0.0" + }, + "engines": { + "node": ">=20.20.0" + }, + "funding": { + "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" + } + }, + "node_modules/github-slugger": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-2.0.0.tgz", + "integrity": "sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==", + "license": "ISC" + }, + "node_modules/h3": { + "version": "1.15.11", + "resolved": "https://registry.npmjs.org/h3/-/h3-1.15.11.tgz", + "integrity": "sha512-L3THSe2MPeBwgIZVSH5zLdBBU90TOxarvhK9d04IDY2AmVS8j2Jz2LIWtwsGOU3lu2I5jCN7FNvVfY2+XyF+mg==", + "license": "MIT", + "dependencies": { + "cookie-es": "^1.2.3", + "crossws": "^0.3.5", + "defu": "^6.1.6", + "destr": "^2.0.5", + "iron-webcrypto": "^1.2.1", + "node-mock-http": "^1.0.4", + "radix3": "^1.1.2", + "ufo": "^1.6.3", + "uncrypto": "^0.1.3" + } + }, + "node_modules/hast-util-from-dom": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/hast-util-from-dom/-/hast-util-from-dom-5.0.1.tgz", + "integrity": "sha512-N+LqofjR2zuzTjCPzyDUdSshy4Ma6li7p/c3pA78uTwzFgENbgbUrm2ugwsOdcjI1muO+o6Dgzp9p8WHtn/39Q==", + "license": "ISC", + "dependencies": { + "@types/hast": "^3.0.0", + "hastscript": "^9.0.0", + "web-namespaces": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-from-html": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/hast-util-from-html/-/hast-util-from-html-2.0.3.tgz", + "integrity": "sha512-CUSRHXyKjzHov8yKsQjGOElXy/3EKpyX56ELnkHH34vDVw1N1XSQ1ZcAvTyAPtGqLTuKP/uxM+aLkSPqF/EtMw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "devlop": "^1.1.0", + "hast-util-from-parse5": "^8.0.0", + "parse5": "^7.0.0", + "vfile": "^6.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-from-html-isomorphic": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hast-util-from-html-isomorphic/-/hast-util-from-html-isomorphic-2.0.0.tgz", + "integrity": "sha512-zJfpXq44yff2hmE0XmwEOzdWin5xwH+QIhMLOScpX91e/NSGPsAzNCvLQDIEPyO2TXi+lBmU6hjLIhV8MwP2kw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-from-dom": "^5.0.0", + "hast-util-from-html": "^2.0.0", + "unist-util-remove-position": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-from-parse5": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-8.0.3.tgz", + "integrity": "sha512-3kxEVkEKt0zvcZ3hCRYI8rqrgwtlIOFMWkbclACvjlDw8Li9S2hk/d51OI0nr/gIpdMHNepwgOKqZ/sy0Clpyg==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "devlop": "^1.0.0", + "hastscript": "^9.0.0", + "property-information": "^7.0.0", + "vfile": "^6.0.0", + "vfile-location": "^5.0.0", + "web-namespaces": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-heading-rank": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-heading-rank/-/hast-util-heading-rank-3.0.0.tgz", + "integrity": "sha512-EJKb8oMUXVHcWZTDepnr+WNbfnXKFNf9duMesmr4S8SXTJBJ9M4Yok08pu9vxdJwdlGRhVumk9mEhkEvKGifwA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-is-element": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-3.0.0.tgz", + "integrity": "sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-parse-selector": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-4.0.0.tgz", + "integrity": "sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-raw": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-9.1.0.tgz", + "integrity": "sha512-Y8/SBAHkZGoNkpzqqfCldijcuUKh7/su31kEBp67cFY09Wy0mTRgtsLYsiIxMJxlu0f6AA5SUTbDR8K0rxnbUw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "@ungap/structured-clone": "^1.0.0", + "hast-util-from-parse5": "^8.0.0", + "hast-util-to-parse5": "^8.0.0", + "html-void-elements": "^3.0.0", + "mdast-util-to-hast": "^13.0.0", + "parse5": "^7.0.0", + "unist-util-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0", + "web-namespaces": "^2.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-html": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-9.0.5.tgz", + "integrity": "sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "ccount": "^2.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-whitespace": "^3.0.0", + "html-void-elements": "^3.0.0", + "mdast-util-to-hast": "^13.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0", + "stringify-entities": "^4.0.0", + "zwitch": "^2.0.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-parse5": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-8.0.1.tgz", + "integrity": "sha512-MlWT6Pjt4CG9lFCjiz4BH7l9wmrMkfkJYCxFwKQic8+RTZgWPuWxwAfjJElsXkex7DJjfSJsQIt931ilUgmwdA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "devlop": "^1.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0", + "web-namespaces": "^2.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-string": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/hast-util-to-string/-/hast-util-to-string-3.0.1.tgz", + "integrity": "sha512-XelQVTDWvqcl3axRfI0xSeoVKzyIFPwsAGSLIsKdJKQMXDYJS4WYrBNF/8J7RdhIcFI2BOHgAifggsvsxp/3+A==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-text": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/hast-util-to-text/-/hast-util-to-text-4.0.2.tgz", + "integrity": "sha512-KK6y/BN8lbaq654j7JgBydev7wuNMcID54lkRav1P0CaE1e47P72AWWPiGKXTJU271ooYzcvTAn/Zt0REnvc7A==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "hast-util-is-element": "^3.0.0", + "unist-util-find-after": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-whitespace": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz", + "integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hastscript": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-9.0.1.tgz", + "integrity": "sha512-g7df9rMFX/SPi34tyGCyUBREQoKkapwdY/T04Qn9TDWfHhAYt4/I0gMVirzK5wEzeUqIjEB+LXC/ypb7Aqno5w==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-parse-selector": "^4.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/html-escaper": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-3.0.3.tgz", + "integrity": "sha512-RuMffC89BOWQoY0WKGpIhn5gX3iI54O6nRA0yC124NYVtzjmFWBIiFd8M0x+ZdX0P9R4lADg1mgP8C7PxGOWuQ==", + "license": "MIT" + }, + "node_modules/html-void-elements": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-3.0.0.tgz", + "integrity": "sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/http-cache-semantics": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz", + "integrity": "sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==", + "license": "BSD-2-Clause" + }, + "node_modules/iron-webcrypto": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/iron-webcrypto/-/iron-webcrypto-1.2.1.tgz", + "integrity": "sha512-feOM6FaSr6rEABp/eDfVseKyTMDt+KGpeB35SkVn9Tyn0CqvVsY3EwI0v5i8nMHyJnzCIQf7nsy3p41TPkJZhg==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/brc-dd" + } + }, + "node_modules/is-alphabetical": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz", + "integrity": "sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-alphanumerical": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz", + "integrity": "sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==", + "license": "MIT", + "dependencies": { + "is-alphabetical": "^2.0.0", + "is-decimal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-decimal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-2.0.1.tgz", + "integrity": "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-docker": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-4.0.0.tgz", + "integrity": "sha512-LHE+wROyG/Y/0ZnbktRCoTix2c1RhgWaZraMZ8o1Q7zCh0VSrICJQO5oqIIISrcSBtrXv0o233w1IYwsWCjTzA==", + "license": "MIT", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-inside-container": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", + "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", + "license": "MIT", + "dependencies": { + "is-docker": "^3.0.0" + }, + "bin": { + "is-inside-container": "cli.js" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-inside-container/node_modules/is-docker": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", + "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", + "license": "MIT", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-plain-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-wsl": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.1.tgz", + "integrity": "sha512-e6rvdUCiQCAuumZslxRJWR/Doq4VpPR82kqclvcS0efgt430SlGIk05vdCN58+VrzgtIcfNODjozVielycD4Sw==", + "license": "MIT", + "dependencies": { + "is-inside-container": "^1.0.0" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/js-yaml": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.2.0.tgz", + "integrity": "sha512-ePWsvanv0DWuDRsW8dnt+R4jQ31SCRCQ7hhNcPXZPsoBZiemuZNYGf7adZdqX2D86j6rvKp3RpCxVTSb8WQlOw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/puzrin" + }, + { + "type": "github", + "url": "https://github.com/sponsors/nodeca" + } + ], + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsonc-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.3.1.tgz", + "integrity": "sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==", + "license": "MIT" + }, + "node_modules/katex": { + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/katex/-/katex-0.17.0.tgz", + "integrity": "sha512-Vdw0ATsQ9V+LuegM/BTwQqV/6cTl5lbGcIrU+BCgLxyf6bo38ybOr372tuSIxir3CN720flu1meYR6XzNMwQnw==", + "funding": [ + "https://opencollective.com/katex", + "https://github.com/sponsors/katex" + ], + "license": "MIT", + "dependencies": { + "commander": "^8.3.0" + }, + "bin": { + "katex": "cli.js" + } + }, + "node_modules/katex/node_modules/commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "license": "MIT", + "engines": { + "node": ">= 12" + } + }, + "node_modules/kleur": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", + "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/longest-streak": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz", + "integrity": "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/lru-cache": { + "version": "11.5.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.5.1.tgz", + "integrity": "sha512-RPimw/7aMdv2oqRrxKwvZXcPfwBrn/JZ2xYcY9Hus/6LaS3VOAKVWKWgNLCFSiOm1ESXinjsDlidVU7JlnCN2A==", + "license": "BlueOak-1.0.0", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/magic-string": { + "version": "0.30.21", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", + "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.5" + } + }, + "node_modules/magicast": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/magicast/-/magicast-0.5.3.tgz", + "integrity": "sha512-pVKE4UdSQ7DvHzivsCIFx2BJn1mHG6KsyrFcaxFx6tONdneEuThrDx0Cj3AMg58KyN4pzYT+LHOotxDQDjNvkw==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.29.3", + "@babel/types": "^7.29.0", + "source-map-js": "^1.2.1" + } + }, + "node_modules/markdown-table": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.4.tgz", + "integrity": "sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/mdast-util-definitions": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-6.0.0.tgz", + "integrity": "sha512-scTllyX6pnYNZH/AIp/0ePz6s4cZtARxImwoPJ7kS42n+MnVsI4XbnG6d4ibehRIldYMWM2LD7ImQblVhUejVQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "unist-util-visit": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-find-and-replace": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.2.tgz", + "integrity": "sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "escape-string-regexp": "^5.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-from-markdown": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.3.tgz", + "integrity": "sha512-W4mAWTvSlKvf8L6J+VN9yLSqQ9AOAAvHuoDAmPkz4dHf553m5gVj2ejadHJhoJmcmxEnOv6Pa8XJhpxE93kb8Q==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark": "^4.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-decode-string": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-3.1.0.tgz", + "integrity": "sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ==", + "license": "MIT", + "dependencies": { + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-gfm-autolink-literal": "^2.0.0", + "mdast-util-gfm-footnote": "^2.0.0", + "mdast-util-gfm-strikethrough": "^2.0.0", + "mdast-util-gfm-table": "^2.0.0", + "mdast-util-gfm-task-list-item": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-autolink-literal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-2.0.1.tgz", + "integrity": "sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "ccount": "^2.0.0", + "devlop": "^1.0.0", + "mdast-util-find-and-replace": "^3.0.0", + "micromark-util-character": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-footnote": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-2.1.0.tgz", + "integrity": "sha512-sqpDWlsHn7Ac9GNZQMeUzPQSMzR6Wv0WKRNvQRg0KqHh02fpTz69Qc1QSseNX29bhz1ROIyNyxExfawVKTm1GQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.1.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-strikethrough": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-2.0.0.tgz", + "integrity": "sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-table": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-2.0.0.tgz", + "integrity": "sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "markdown-table": "^3.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-task-list-item": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-2.0.0.tgz", + "integrity": "sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-math": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-math/-/mdast-util-math-3.0.0.tgz", + "integrity": "sha512-Tl9GBNeG/AhJnQM221bJR2HPvLOSnLE/T9cJI9tlc6zwQk2nPk/4f0cHkOdEixQPC/j8UtKDdITswvLAy1OZ1w==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "longest-streak": "^3.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.1.0", + "unist-util-remove-position": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-phrasing": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz", + "integrity": "sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-hast": { + "version": "13.2.1", + "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.2.1.tgz", + "integrity": "sha512-cctsq2wp5vTsLIcaymblUriiTcZd0CwWtCbLvrOzYCDZoWyMNV8sZ7krj09FSnsiJi3WVsHLM4k6Dq/yaPyCXA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@ungap/structured-clone": "^1.0.0", + "devlop": "^1.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "trim-lines": "^3.0.0", + "unist-util-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-markdown": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.2.tgz", + "integrity": "sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "longest-streak": "^3.0.0", + "mdast-util-phrasing": "^4.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-decode-string": "^2.0.0", + "unist-util-visit": "^5.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz", + "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdn-data": { + "version": "2.27.1", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.27.1.tgz", + "integrity": "sha512-9Yubnt3e8A0OKwxYSXyhLymGW4sCufcLG6VdiDdUGVkPhpqLxlvP5vl1983gQjJl3tqbrM731mjaZaP68AgosQ==", + "license": "CC0-1.0" + }, + "node_modules/micromark": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.2.tgz", + "integrity": "sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/debug": "^4.0.0", + "debug": "^4.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-core-commonmark": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.3.tgz", + "integrity": "sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-factory-destination": "^2.0.0", + "micromark-factory-label": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-factory-title": "^2.0.0", + "micromark-factory-whitespace": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-html-tag-name": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-gfm": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-3.0.0.tgz", + "integrity": "sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==", + "license": "MIT", + "dependencies": { + "micromark-extension-gfm-autolink-literal": "^2.0.0", + "micromark-extension-gfm-footnote": "^2.0.0", + "micromark-extension-gfm-strikethrough": "^2.0.0", + "micromark-extension-gfm-table": "^2.0.0", + "micromark-extension-gfm-tagfilter": "^2.0.0", + "micromark-extension-gfm-task-list-item": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-autolink-literal": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-2.1.0.tgz", + "integrity": "sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==", + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-footnote": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-2.1.0.tgz", + "integrity": "sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-strikethrough": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-2.1.0.tgz", + "integrity": "sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-table": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.1.1.tgz", + "integrity": "sha512-t2OU/dXXioARrC6yWfJ4hqB7rct14e8f7m0cbI5hUmDyyIlwv5vEtooptH8INkbLzOatzKuVbQmAYcbWoyz6Dg==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-tagfilter": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-2.0.0.tgz", + "integrity": "sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==", + "license": "MIT", + "dependencies": { + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-task-list-item": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-2.1.0.tgz", + "integrity": "sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-math": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-math/-/micromark-extension-math-3.1.0.tgz", + "integrity": "sha512-lvEqd+fHjATVs+2v/8kg9i5Q0AP2k85H0WUOwpIVvUML8BapsMvh1XAogmQjOCsLpoKRCVQqEkQBB3NhVBcsOg==", + "license": "MIT", + "dependencies": { + "@types/katex": "^0.16.0", + "devlop": "^1.0.0", + "katex": "^0.16.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-math/node_modules/commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "license": "MIT", + "engines": { + "node": ">= 12" + } + }, + "node_modules/micromark-extension-math/node_modules/katex": { + "version": "0.16.47", + "resolved": "https://registry.npmjs.org/katex/-/katex-0.16.47.tgz", + "integrity": "sha512-Eeo8Ys1doU1z+x8AZsPpQu+p/QcZBI5PeOo7QGQdy2x2m0MU/hYagBbGOmXwr5KVbEfVuWv9LpnQWeehogurjg==", + "funding": [ + "https://opencollective.com/katex", + "https://github.com/sponsors/katex" + ], + "license": "MIT", + "dependencies": { + "commander": "^8.3.0" + }, + "bin": { + "katex": "cli.js" + } + }, + "node_modules/micromark-factory-destination": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.1.tgz", + "integrity": "sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-label": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.1.tgz", + "integrity": "sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-space": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz", + "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-title": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.1.tgz", + "integrity": "sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-whitespace": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.1.tgz", + "integrity": "sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-character": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-chunked": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.1.tgz", + "integrity": "sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-classify-character": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.1.tgz", + "integrity": "sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-combine-extensions": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.1.tgz", + "integrity": "sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-chunked": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-decode-numeric-character-reference": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.2.tgz", + "integrity": "sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-decode-string": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.1.tgz", + "integrity": "sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-encode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.1.tgz", + "integrity": "sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-html-tag-name": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.1.tgz", + "integrity": "sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-normalize-identifier": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.1.tgz", + "integrity": "sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-resolve-all": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.1.tgz", + "integrity": "sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-sanitize-uri": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.1.tgz", + "integrity": "sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-subtokenize": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.1.0.tgz", + "integrity": "sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-types": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.2.tgz", + "integrity": "sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/miniflare": { + "version": "4.20260603.0", + "resolved": "https://registry.npmjs.org/miniflare/-/miniflare-4.20260603.0.tgz", + "integrity": "sha512-+kMQYB82gC8MPOuojHur3icQsUeZUEJ+Sphuo5rVC3Ri9txBLAW/mH33b9OVrpmkogQeaaqPS4tPtugJZhk5Kw==", + "license": "MIT", + "dependencies": { + "@cspotcode/source-map-support": "0.8.1", + "sharp": "0.34.5", + "undici": "7.24.8", + "workerd": "1.20260603.1", + "ws": "8.20.1", + "youch": "4.1.0-beta.10" + }, + "bin": { + "miniflare": "bootstrap.js" + }, + "engines": { + "node": ">=22.0.0" + } + }, + "node_modules/mrmime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.1.tgz", + "integrity": "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/nanoid": { + "version": "3.3.12", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.12.tgz", + "integrity": "sha512-ZB9RH/39qpq5Vu6Y+NmUaFhQR6pp+M2Xt76XBnEwDaGcVAqhlvxrl3B2bKS5D3NH3QR76v3aSrKaF/Kiy7lEtQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/neotraverse": { + "version": "0.6.18", + "resolved": "https://registry.npmjs.org/neotraverse/-/neotraverse-0.6.18.tgz", + "integrity": "sha512-Z4SmBUweYa09+o6pG+eASabEpP6QkQ70yHj351pQoEXIs8uHbaU2DWVmzBANKgflPa47A50PtB2+NgRpQvr7vA==", + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/nlcst-to-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/nlcst-to-string/-/nlcst-to-string-4.0.0.tgz", + "integrity": "sha512-YKLBCcUYKAg0FNlOBT6aI91qFmSiFKiluk655WzPF+DDMA02qIyy8uiRqI8QXtcFpEvll12LpL5MXqEmAZ+dcA==", + "license": "MIT", + "dependencies": { + "@types/nlcst": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/node-fetch-native": { + "version": "1.6.7", + "resolved": "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.6.7.tgz", + "integrity": "sha512-g9yhqoedzIUm0nTnTqAQvueMPVOuIY16bqgAJJC8XOOubYFNwz6IER9qs0Gq2Xd0+CecCKFjtdDTMA4u4xG06Q==", + "license": "MIT" + }, + "node_modules/node-mock-http": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/node-mock-http/-/node-mock-http-1.0.4.tgz", + "integrity": "sha512-8DY+kFsDkNXy1sJglUfuODx1/opAGJGyrTuFqEoN90oRc2Vk0ZbD4K2qmKXBBEhZQzdKHIVfEJpDU8Ak2NJEvQ==", + "license": "MIT" + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/obug": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/obug/-/obug-2.1.2.tgz", + "integrity": "sha512-AWGB9WFcRXOQs48Z/udjI5ZcZMHXwX8XPByNpOydgcGsDLIzjGizhoMWJyKAWze7AVW/2W1i+/gPX4YtKe5cyg==", + "funding": [ + "https://github.com/sponsors/sxzz", + "https://opencollective.com/debug" + ], + "license": "MIT", + "engines": { + "node": ">=12.20.0" + } + }, + "node_modules/ofetch": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/ofetch/-/ofetch-1.5.1.tgz", + "integrity": "sha512-2W4oUZlVaqAPAil6FUg/difl6YhqhUR7x2eZY4bQCko22UXg3hptq9KLQdqFClV+Wu85UX7hNtdGTngi/1BxcA==", + "license": "MIT", + "dependencies": { + "destr": "^2.0.5", + "node-fetch-native": "^1.6.7", + "ufo": "^1.6.1" + } + }, + "node_modules/ohash": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/ohash/-/ohash-2.0.11.tgz", + "integrity": "sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==", + "license": "MIT" + }, + "node_modules/oniguruma-parser": { + "version": "0.12.2", + "resolved": "https://registry.npmjs.org/oniguruma-parser/-/oniguruma-parser-0.12.2.tgz", + "integrity": "sha512-6HVa5oIrgMC6aA6WF6XyyqbhRPJrKR02L20+2+zpDtO5QAzGHAUGw5TKQvwi5vctNnRHkJYmjAhRVQF2EKdTQw==", + "license": "MIT" + }, + "node_modules/oniguruma-to-es": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/oniguruma-to-es/-/oniguruma-to-es-4.3.6.tgz", + "integrity": "sha512-csuQ9x3Yr0cEIs/Zgx/OEt9iBw9vqIunAPQkx19R/fiMq2oGVTgcMqO/V3Ybqefr1TBvosI6jU539ksaBULJyA==", + "license": "MIT", + "dependencies": { + "oniguruma-parser": "^0.12.2", + "regex": "^6.1.0", + "regex-recursion": "^6.0.2" + } + }, + "node_modules/p-limit": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-7.3.0.tgz", + "integrity": "sha512-7cIXg/Z0M5WZRblrsOla88S4wAK+zOQQWeBYfV3qJuJXMr+LnbYjaadrFaS0JILfEDPVqHyKnZ1Z/1d6J9VVUw==", + "license": "MIT", + "dependencies": { + "yocto-queue": "^1.2.1" + }, + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-queue": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-9.3.0.tgz", + "integrity": "sha512-7NED7xhQ74Ngp4JP/2e0VZHp7vSWfJfqeiR92jPgxsz6m0Se4P03YoTKa9dDXyZ3r6P616gUXttrB6nnHYKang==", + "license": "MIT", + "dependencies": { + "eventemitter3": "^5.0.4", + "p-timeout": "^7.0.0" + }, + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-timeout": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-7.0.1.tgz", + "integrity": "sha512-AxTM2wDGORHGEkPCt8yqxOTMgpfbEHqF51f/5fJCmwFC3C/zNcGT63SymH2ttOAaiIws2zVg4+izQCjrakcwHg==", + "license": "MIT", + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/package-manager-detector": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/package-manager-detector/-/package-manager-detector-1.6.0.tgz", + "integrity": "sha512-61A5ThoTiDG/C8s8UMZwSorAGwMJ0ERVGj2OjoW5pAalsNOg15+iQiPzrLJ4jhZ1HJzmC2PIHT2oEiH3R5fzNA==", + "license": "MIT" + }, + "node_modules/pagefind": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/pagefind/-/pagefind-1.5.2.tgz", + "integrity": "sha512-XTUaK0hXMCu2jszWE584JGQT7y284TmMV9l/HX3rnG5uo3rHI/uHU56XTyyyPFjeWEBxECbAi0CaFDJOONtG0Q==", + "license": "MIT", + "bin": { + "pagefind": "lib/runner/bin.cjs" + }, + "optionalDependencies": { + "@pagefind/darwin-arm64": "1.5.2", + "@pagefind/darwin-x64": "1.5.2", + "@pagefind/freebsd-x64": "1.5.2", + "@pagefind/linux-arm64": "1.5.2", + "@pagefind/linux-x64": "1.5.2", + "@pagefind/windows-arm64": "1.5.2", + "@pagefind/windows-x64": "1.5.2" + } + }, + "node_modules/parse-latin": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/parse-latin/-/parse-latin-7.0.0.tgz", + "integrity": "sha512-mhHgobPPua5kZ98EF4HWiH167JWBfl4pvAIXXdbaVohtK7a6YBOy56kvhCqduqyo/f3yrHFWmqmiMg/BkBkYYQ==", + "license": "MIT", + "dependencies": { + "@types/nlcst": "^2.0.0", + "@types/unist": "^3.0.0", + "nlcst-to-string": "^4.0.0", + "unist-util-modify-children": "^4.0.0", + "unist-util-visit-children": "^3.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/parse5": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.3.0.tgz", + "integrity": "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==", + "license": "MIT", + "dependencies": { + "entities": "^6.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/path-to-regexp": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.3.0.tgz", + "integrity": "sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==", + "license": "MIT" + }, + "node_modules/pathe": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", + "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", + "license": "MIT" + }, + "node_modules/piccolore": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/piccolore/-/piccolore-0.1.3.tgz", + "integrity": "sha512-o8bTeDWjE086iwKrROaDf31K0qC/BENdm15/uH9usSC/uZjJOKb2YGiVHfLY4GhwsERiPI1jmwI2XrA7ACOxVw==", + "license": "ISC" + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", + "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/postcss": { + "version": "8.5.15", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.15.tgz", + "integrity": "sha512-FfR8sjd4em2T6fb3I2MwAJU7HWVMr9zba+enmQeeWFfCbm+UOC/0X4DS8XtpUTMwWMGbjKYP7xjfNekzyGmB3A==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.12", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/prettier": { + "version": "3.8.3", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.8.3.tgz", + "integrity": "sha512-7igPTM53cGHMW8xWuVTydi2KO233VFiTNyF5hLJqpilHfmn8C8gPf+PS7dUT64YcXFbiMGZxS9pCSxL/Dxm/Jw==", + "license": "MIT", + "bin": { + "prettier": "bin/prettier.cjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/prettier-plugin-astro": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/prettier-plugin-astro/-/prettier-plugin-astro-0.14.1.tgz", + "integrity": "sha512-RiBETaaP9veVstE4vUwSIcdATj6dKmXljouXc/DDNwBSPTp8FRkLGDSGFClKsAFeeg+13SB0Z1JZvbD76bigJw==", + "license": "MIT", + "dependencies": { + "@astrojs/compiler": "^2.9.1", + "prettier": "^3.0.0", + "sass-formatter": "^0.7.6" + }, + "engines": { + "node": "^14.15.0 || >=16.0.0" + } + }, + "node_modules/prettier-plugin-astro/node_modules/@astrojs/compiler": { + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/@astrojs/compiler/-/compiler-2.13.1.tgz", + "integrity": "sha512-f3FN83d2G/v32ipNClRKgYv30onQlMZX1vCeZMjPsMMPl1mDpmbl0+N5BYo4S/ofzqJyS5hvwacEo0CCVDn/Qg==", + "license": "MIT" + }, + "node_modules/prismjs": { + "version": "1.30.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.30.0.tgz", + "integrity": "sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/property-information": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-7.2.0.tgz", + "integrity": "sha512-IAtzIB6sUiWaJYrX9smp3V46pBGbBeLFRGdh25kg1334VcBlD8HzhPeNIWQH9zhGmo2itIe25EHt9dQP7G5hmg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/radix3": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/radix3/-/radix3-1.1.2.tgz", + "integrity": "sha512-b484I/7b8rDEdSDKckSSBA8knMpcdsXudlE/LNL639wFoHKwLbEkQFZHWEYwDC0wa0FKUcCY+GAF73Z7wxNVFA==", + "license": "MIT" + }, + "node_modules/readdirp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-5.0.0.tgz", + "integrity": "sha512-9u/XQ1pvrQtYyMpZe7DXKv2p5CNvyVwzUB6uhLAnQwHMSgKMBR62lc7AHljaeteeHXn11XTAaLLUVZYVZyuRBQ==", + "license": "MIT", + "engines": { + "node": ">= 20.19.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/regex/-/regex-6.1.0.tgz", + "integrity": "sha512-6VwtthbV4o/7+OaAF9I5L5V3llLEsoPyq9P1JVXkedTP33c7MfCG0/5NOPcSJn0TzXcG9YUrR0gQSWioew3LDg==", + "license": "MIT", + "dependencies": { + "regex-utilities": "^2.3.0" + } + }, + "node_modules/regex-recursion": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/regex-recursion/-/regex-recursion-6.0.2.tgz", + "integrity": "sha512-0YCaSCq2VRIebiaUviZNs0cBz1kg5kVS2UKUfNIx8YVs1cN3AV7NTctO5FOKBA+UT2BPJIWZauYHPqJODG50cg==", + "license": "MIT", + "dependencies": { + "regex-utilities": "^2.3.0" + } + }, + "node_modules/regex-utilities": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/regex-utilities/-/regex-utilities-2.3.0.tgz", + "integrity": "sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==", + "license": "MIT" + }, + "node_modules/rehype": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/rehype/-/rehype-13.0.2.tgz", + "integrity": "sha512-j31mdaRFrwFRUIlxGeuPXXKWQxet52RBQRvCmzl5eCefn/KGbomK5GMHNMsOJf55fgo3qw5tST5neDuarDYR2A==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "rehype-parse": "^9.0.0", + "rehype-stringify": "^10.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } }, - "node_modules/@vue/shared": { - "version": "3.5.35", - "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.35.tgz", - "integrity": "sha512-zSbjL7gRXwks2ZQLRGCajBtBXEOXW9Ddhn/HvSdrGkE2dqGnumzW8XtusRrxrE9LvqtiqDXQ+A60Hp6mvdYxfA==", - "dev": true, - "license": "MIT" + "node_modules/rehype-autolink-headings": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/rehype-autolink-headings/-/rehype-autolink-headings-7.1.0.tgz", + "integrity": "sha512-rItO/pSdvnvsP4QRB1pmPiNHUskikqtPojZKJPPPAVx9Hj8i8TwMBhofrrAYRhYOOBZH9tgmG5lPqDLuIWPWmw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@ungap/structured-clone": "^1.0.0", + "hast-util-heading-rank": "^3.0.0", + "hast-util-is-element": "^3.0.0", + "unified": "^11.0.0", + "unist-util-visit": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } }, - "node_modules/@vueuse/core": { - "version": "14.3.0", - "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-14.3.0.tgz", - "integrity": "sha512-aHfz47g0ZhMtTVHmIzMVpJy8ePhhOy68GY5bv110+5DVtZ+W7BsOx+m61UNQqfrWyPztIHIanWa3E2tib3NFIw==", - "dev": true, + "node_modules/rehype-katex": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/rehype-katex/-/rehype-katex-7.0.1.tgz", + "integrity": "sha512-OiM2wrZ/wuhKkigASodFoo8wimG3H12LWQaH8qSPVJn9apWKFSH3YOCtbKpBorTVw/eI7cuT21XBbvwEswbIOA==", "license": "MIT", "dependencies": { - "@types/web-bluetooth": "^0.0.21", - "@vueuse/metadata": "14.3.0", - "@vueuse/shared": "14.3.0" + "@types/hast": "^3.0.0", + "@types/katex": "^0.16.0", + "hast-util-from-html-isomorphic": "^2.0.0", + "hast-util-to-text": "^4.0.0", + "katex": "^0.16.0", + "unist-util-visit-parents": "^6.0.0", + "vfile": "^6.0.0" }, "funding": { - "url": "https://github.com/sponsors/antfu" + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-katex/node_modules/commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "license": "MIT", + "engines": { + "node": ">= 12" + } + }, + "node_modules/rehype-katex/node_modules/katex": { + "version": "0.16.47", + "resolved": "https://registry.npmjs.org/katex/-/katex-0.16.47.tgz", + "integrity": "sha512-Eeo8Ys1doU1z+x8AZsPpQu+p/QcZBI5PeOo7QGQdy2x2m0MU/hYagBbGOmXwr5KVbEfVuWv9LpnQWeehogurjg==", + "funding": [ + "https://opencollective.com/katex", + "https://github.com/sponsors/katex" + ], + "license": "MIT", + "dependencies": { + "commander": "^8.3.0" }, - "peerDependencies": { - "vue": "^3.5.0" + "bin": { + "katex": "cli.js" } }, - "node_modules/@vueuse/integrations": { - "version": "14.3.0", - "resolved": "https://registry.npmjs.org/@vueuse/integrations/-/integrations-14.3.0.tgz", - "integrity": "sha512-76I5FT2ESvCmCaSwapI+a/u/CFtNXmzl9f9lNp1hRtx8vKB8hfiokJr8IvQqcQG5ckGXElyXK516b54ozV3MvA==", - "dev": true, + "node_modules/rehype-parse": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/rehype-parse/-/rehype-parse-9.0.1.tgz", + "integrity": "sha512-ksCzCD0Fgfh7trPDxr2rSylbwq9iYDkSn8TCDmEJ49ljEUBxDVCzCHv7QNzZOfODanX4+bWQ4WZqLCRWYLfhag==", "license": "MIT", "dependencies": { - "@vueuse/core": "14.3.0", - "@vueuse/shared": "14.3.0" + "@types/hast": "^3.0.0", + "hast-util-from-html": "^2.0.0", + "unified": "^11.0.0" }, "funding": { - "url": "https://github.com/sponsors/antfu" + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-raw": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/rehype-raw/-/rehype-raw-7.0.0.tgz", + "integrity": "sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-raw": "^9.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-slug": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/rehype-slug/-/rehype-slug-6.0.0.tgz", + "integrity": "sha512-lWyvf/jwu+oS5+hL5eClVd3hNdmwM1kAC0BUvEGD19pajQMIzcNUd/k9GsfQ+FfECvX+JE+e9/btsKH0EjJT6A==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "github-slugger": "^2.0.0", + "hast-util-heading-rank": "^3.0.0", + "hast-util-to-string": "^3.0.0", + "unist-util-visit": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-stringify": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/rehype-stringify/-/rehype-stringify-10.0.1.tgz", + "integrity": "sha512-k9ecfXHmIPuFVI61B9DeLPN0qFHfawM6RsuX48hoqlaKSF61RskNjSm1lI8PhBEM0MRdLxVVm4WmTqJQccH9mA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-to-html": "^9.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-flexible-containers": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/remark-flexible-containers/-/remark-flexible-containers-1.5.5.tgz", + "integrity": "sha512-WzoAcUEL9VOivHYyco5f8WNmWB7R1eLNFB9naZmZDuIXQIYkdfCbS3uhwblMB9WiV++ptD+rEpXkbn2sSh1+0g==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.4", + "unist-builder": "^4.0.0", + "unist-util-find-after": "^5.0.0", + "unist-util-find-between": "^1.2.1", + "unist-util-visit": "^5.1.0" }, "peerDependencies": { - "async-validator": "^4", - "axios": "^1", - "change-case": "^5", - "drauu": "^0.4", - "focus-trap": "^7 || ^8", - "fuse.js": "^7", - "idb-keyval": "^6", - "jwt-decode": "^4", - "nprogress": "^0.2", - "qrcode": "^1.5", - "sortablejs": "^1", - "universal-cookie": "^7 || ^8", - "vue": "^3.5.0" + "unified": "^11" + } + }, + "node_modules/remark-gfm": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/remark-gfm/-/remark-gfm-4.0.1.tgz", + "integrity": "sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-gfm": "^3.0.0", + "micromark-extension-gfm": "^3.0.0", + "remark-parse": "^11.0.0", + "remark-stringify": "^11.0.0", + "unified": "^11.0.0" }, - "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 - } + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/@vueuse/metadata": { - "version": "14.3.0", - "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-14.3.0.tgz", - "integrity": "sha512-BwxmbAzwAVF50+MW57GXOUEV61nFBGnlBvrTqj49PqWJu3uw7hdu72ztXeZ33RdZtDY6kO+bfCAE1PCn88Tktw==", - "dev": true, + "node_modules/remark-math": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/remark-math/-/remark-math-6.0.0.tgz", + "integrity": "sha512-MMqgnP74Igy+S3WwnhQ7kqGlEerTETXMvJhrUzDikVZ2/uogJCb+WHUg97hK9/jcfc0dkD73s3LN8zU49cTEtA==", "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-math": "^3.0.0", + "micromark-extension-math": "^3.0.0", + "unified": "^11.0.0" + }, "funding": { - "url": "https://github.com/sponsors/antfu" + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-parse": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-11.0.0.tgz", + "integrity": "sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-from-markdown": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/@vueuse/shared": { - "version": "14.3.0", - "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-14.3.0.tgz", - "integrity": "sha512-bZpge9eSXwa4ToSiqJ7j6KRwhAsneMFoSz3LMWKQDkqimm3D/tbFlrklrs/IOqC8tEcYmXQZJ6N0UrjhBirVCg==", - "dev": true, + "node_modules/remark-rehype": { + "version": "11.1.2", + "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.1.2.tgz", + "integrity": "sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw==", "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "mdast-util-to-hast": "^13.0.0", + "unified": "^11.0.0", + "vfile": "^6.0.0" + }, "funding": { - "url": "https://github.com/sponsors/antfu" + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-smartypants": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/remark-smartypants/-/remark-smartypants-3.0.2.tgz", + "integrity": "sha512-ILTWeOriIluwEvPjv67v7Blgrcx+LZOkAUVtKI3putuhlZm84FnqDORNXPPm+HY3NdZOMhyDwZ1E+eZB/Df5dA==", + "license": "MIT", + "dependencies": { + "retext": "^9.0.0", + "retext-smartypants": "^6.0.0", + "unified": "^11.0.4", + "unist-util-visit": "^5.0.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/remark-stringify": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-11.0.0.tgz", + "integrity": "sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-to-markdown": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/resolve-pkg-maps": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", + "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", + "license": "MIT", + "funding": { + "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" + } + }, + "node_modules/retext": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/retext/-/retext-9.0.0.tgz", + "integrity": "sha512-sbMDcpHCNjvlheSgMfEcVrZko3cDzdbe1x/e7G66dFp0Ff7Mldvi2uv6JkJQzdRcvLYE8CA8Oe8siQx8ZOgTcA==", + "license": "MIT", + "dependencies": { + "@types/nlcst": "^2.0.0", + "retext-latin": "^4.0.0", + "retext-stringify": "^4.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/retext-latin": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/retext-latin/-/retext-latin-4.0.0.tgz", + "integrity": "sha512-hv9woG7Fy0M9IlRQloq/N6atV82NxLGveq+3H2WOi79dtIYWN8OaxogDm77f8YnVXJL2VD3bbqowu5E3EMhBYA==", + "license": "MIT", + "dependencies": { + "@types/nlcst": "^2.0.0", + "parse-latin": "^7.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/retext-smartypants": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/retext-smartypants/-/retext-smartypants-6.2.0.tgz", + "integrity": "sha512-kk0jOU7+zGv//kfjXEBjdIryL1Acl4i9XNkHxtM7Tm5lFiCog576fjNC9hjoR7LTKQ0DsPWy09JummSsH1uqfQ==", + "license": "MIT", + "dependencies": { + "@types/nlcst": "^2.0.0", + "nlcst-to-string": "^4.0.0", + "unist-util-visit": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/retext-stringify": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/retext-stringify/-/retext-stringify-4.0.0.tgz", + "integrity": "sha512-rtfN/0o8kL1e+78+uxPTqu1Klt0yPzKuQ2BfWwwfgIUSayyzxpM1PJzkKt4V8803uB9qSy32MvI7Xep9khTpiA==", + "license": "MIT", + "dependencies": { + "@types/nlcst": "^2.0.0", + "nlcst-to-string": "^4.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rollup": { + "version": "4.61.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.61.1.tgz", + "integrity": "sha512-I4KW6iuRpuu2uHBLraZ1wNZe0DP7lnRha+VJ9tNaYVaVgKhW0aI3h4RYnoRPeql0flHm/Co55b7snEDcOfOJrA==", + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.9" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.61.1", + "@rollup/rollup-android-arm64": "4.61.1", + "@rollup/rollup-darwin-arm64": "4.61.1", + "@rollup/rollup-darwin-x64": "4.61.1", + "@rollup/rollup-freebsd-arm64": "4.61.1", + "@rollup/rollup-freebsd-x64": "4.61.1", + "@rollup/rollup-linux-arm-gnueabihf": "4.61.1", + "@rollup/rollup-linux-arm-musleabihf": "4.61.1", + "@rollup/rollup-linux-arm64-gnu": "4.61.1", + "@rollup/rollup-linux-arm64-musl": "4.61.1", + "@rollup/rollup-linux-loong64-gnu": "4.61.1", + "@rollup/rollup-linux-loong64-musl": "4.61.1", + "@rollup/rollup-linux-ppc64-gnu": "4.61.1", + "@rollup/rollup-linux-ppc64-musl": "4.61.1", + "@rollup/rollup-linux-riscv64-gnu": "4.61.1", + "@rollup/rollup-linux-riscv64-musl": "4.61.1", + "@rollup/rollup-linux-s390x-gnu": "4.61.1", + "@rollup/rollup-linux-x64-gnu": "4.61.1", + "@rollup/rollup-linux-x64-musl": "4.61.1", + "@rollup/rollup-openbsd-x64": "4.61.1", + "@rollup/rollup-openharmony-arm64": "4.61.1", + "@rollup/rollup-win32-arm64-msvc": "4.61.1", + "@rollup/rollup-win32-ia32-msvc": "4.61.1", + "@rollup/rollup-win32-x64-gnu": "4.61.1", + "@rollup/rollup-win32-x64-msvc": "4.61.1", + "fsevents": "~2.3.2" + } + }, + "node_modules/s.color": { + "version": "0.0.15", + "resolved": "https://registry.npmjs.org/s.color/-/s.color-0.0.15.tgz", + "integrity": "sha512-AUNrbEUHeKY8XsYr/DYpl+qk5+aM+DChopnWOPEzn8YKzOhv4l2zH6LzZms3tOZP3wwdOyc0RmTciyi46HLIuA==", + "license": "MIT" + }, + "node_modules/sass-formatter": { + "version": "0.7.9", + "resolved": "https://registry.npmjs.org/sass-formatter/-/sass-formatter-0.7.9.tgz", + "integrity": "sha512-CWZ8XiSim+fJVG0cFLStwDvft1VI7uvXdCNJYXhDvowiv+DsbD1nXLiQ4zrE5UBvj5DWZJ93cwN0NX5PMsr1Pw==", + "license": "MIT", + "dependencies": { + "suf-log": "^2.5.3" + } + }, + "node_modules/sax": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.6.0.tgz", + "integrity": "sha512-6R3J5M4AcbtLUdZmRv2SygeVaM7IhrLXu9BmnOGmmACak8fiUtOsYNWUS4uK7upbmHIBbLBeFeI//477BKLBzA==", + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=11.0.0" + } + }, + "node_modules/semver": { + "version": "7.8.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.2.tgz", + "integrity": "sha512-c8jsqUZm3omBOI66G90z1Dyw5z622G8oLG+omfsHBJf3CWQTlOcwOjvOG6wtiNfW6anKm/eA39LMwMtMez2TiQ==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/sharp": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.34.5.tgz", + "integrity": "sha512-Ou9I5Ft9WNcCbXrU9cMgPBcCK8LiwLqcbywW3t4oDV37n1pzpuNLsYiAV8eODnjbtQlSDwZ2cUEeQz4E54Hltg==", + "hasInstallScript": true, + "license": "Apache-2.0", + "dependencies": { + "@img/colour": "^1.0.0", + "detect-libc": "^2.1.2", + "semver": "^7.7.3" + }, + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-darwin-arm64": "0.34.5", + "@img/sharp-darwin-x64": "0.34.5", + "@img/sharp-libvips-darwin-arm64": "1.2.4", + "@img/sharp-libvips-darwin-x64": "1.2.4", + "@img/sharp-libvips-linux-arm": "1.2.4", + "@img/sharp-libvips-linux-arm64": "1.2.4", + "@img/sharp-libvips-linux-ppc64": "1.2.4", + "@img/sharp-libvips-linux-riscv64": "1.2.4", + "@img/sharp-libvips-linux-s390x": "1.2.4", + "@img/sharp-libvips-linux-x64": "1.2.4", + "@img/sharp-libvips-linuxmusl-arm64": "1.2.4", + "@img/sharp-libvips-linuxmusl-x64": "1.2.4", + "@img/sharp-linux-arm": "0.34.5", + "@img/sharp-linux-arm64": "0.34.5", + "@img/sharp-linux-ppc64": "0.34.5", + "@img/sharp-linux-riscv64": "0.34.5", + "@img/sharp-linux-s390x": "0.34.5", + "@img/sharp-linux-x64": "0.34.5", + "@img/sharp-linuxmusl-arm64": "0.34.5", + "@img/sharp-linuxmusl-x64": "0.34.5", + "@img/sharp-wasm32": "0.34.5", + "@img/sharp-win32-arm64": "0.34.5", + "@img/sharp-win32-ia32": "0.34.5", + "@img/sharp-win32-x64": "0.34.5" + } + }, + "node_modules/shiki": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/shiki/-/shiki-4.2.0.tgz", + "integrity": "sha512-hjNax6o/ylDy9lefQEaSDtzaT3iVNtZ3WmpQnbuQNoG4xvnSKf2kSKbihZVO4JRG1TTMejs7CmNRYlWgAL66pQ==", + "license": "MIT", + "dependencies": { + "@shikijs/core": "4.2.0", + "@shikijs/engine-javascript": "4.2.0", + "@shikijs/engine-oniguruma": "4.2.0", + "@shikijs/langs": "4.2.0", + "@shikijs/themes": "4.2.0", + "@shikijs/types": "4.2.0", + "@shikijs/vscode-textmate": "^10.0.2", + "@types/hast": "^3.0.4" }, - "peerDependencies": { - "vue": "^3.5.0" + "engines": { + "node": ">=20" } }, - "node_modules/@xmldom/xmldom": { - "version": "0.9.10", - "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.9.10.tgz", - "integrity": "sha512-A9gOqLdi6cV4ibazAjcQufGj0B1y/vDqYrcuP6d/6x8P27gRS8643Dj9o1dEKtB6O7fwxb2FgBmJS2mX7gpvdw==", - "dev": true, + "node_modules/sirv": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/sirv/-/sirv-3.0.2.tgz", + "integrity": "sha512-2wcC/oGxHis/BoHkkPwldgiPSYcpZK3JU28WoMVv55yHJgcZ8rlXvuG9iZggz+sU1d4bRgIGASwyWqjxu3FM0g==", "license": "MIT", + "dependencies": { + "@polka/url": "^1.0.0-next.24", + "mrmime": "^2.0.0", + "totalist": "^3.0.0" + }, "engines": { - "node": ">=14.6" + "node": ">=18" } }, - "node_modules/ansi-colors": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", - "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", - "dev": true, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "license": "MIT" + }, + "node_modules/sitemap": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/sitemap/-/sitemap-9.0.1.tgz", + "integrity": "sha512-S6hzjGJSG3d6if0YoF5kTyeRJvia6FSTBroE5fQ0bu1QNxyJqhhinfUsXi9fH3MgtXODWvwo2BDyQSnhPQ88uQ==", "license": "MIT", + "dependencies": { + "@types/node": "^24.9.2", + "@types/sax": "^1.2.1", + "arg": "^5.0.0", + "sax": "^1.4.1" + }, + "bin": { + "sitemap": "dist/esm/cli.js" + }, "engines": { - "node": ">=6" + "node": ">=20.19.5", + "npm": ">=10.8.2" } }, - "node_modules/birpc": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/birpc/-/birpc-2.9.0.tgz", - "integrity": "sha512-KrayHS5pBi69Xi9JmvoqrIgYGDkD6mcSe/i6YKi3w5kekCLzrX4+nawcXqrj2tIp50Kw/mT/s3p+GVK0A0sKxw==", - "dev": true, - "license": "MIT", + "node_modules/smol-toml": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/smol-toml/-/smol-toml-1.6.1.tgz", + "integrity": "sha512-dWUG8F5sIIARXih1DTaQAX4SsiTXhInKf1buxdY9DIg4ZYPZK5nGM1VRIYmEbDbsHt7USo99xSLFu5Q1IqTmsg==", + "license": "BSD-3-Clause", + "engines": { + "node": ">= 18" + }, "funding": { - "url": "https://github.com/sponsors/antfu" + "url": "https://github.com/sponsors/cyyynthia" } }, - "node_modules/boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", - "dev": true, - "license": "ISC" + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } }, - "node_modules/ccount": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", - "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==", - "dev": true, + "node_modules/space-separated-tokens": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", + "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==", "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/character-entities-html4": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz", - "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==", - "dev": true, + "node_modules/stream-replace-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/stream-replace-string/-/stream-replace-string-2.0.0.tgz", + "integrity": "sha512-TlnjJ1C0QrmxRNrON00JvaFFlNh5TTG00APw23j74ET7gkQpTASi6/L2fuiav8pzK715HXtUeClpBTw2NPSn6w==", + "license": "MIT" + }, + "node_modules/stringify-entities": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz", + "integrity": "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==", "license": "MIT", + "dependencies": { + "character-entities-html4": "^2.0.0", + "character-entities-legacy": "^3.0.0" + }, "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/character-entities-legacy": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", - "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==", - "dev": true, + "node_modules/suf-log": { + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/suf-log/-/suf-log-2.5.3.tgz", + "integrity": "sha512-KvC8OPjzdNOe+xQ4XWJV2whQA0aM1kGVczMQ8+dStAO6KfEB140JEVQ9dE76ONZ0/Ylf67ni4tILPJB41U0eow==", "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "dependencies": { + "s.color": "0.0.15" } }, - "node_modules/cheerio": { - "version": "1.0.0-rc.10", - "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.10.tgz", - "integrity": "sha512-g0J0q/O6mW8z5zxQ3A8E8J1hUgp4SMOvEoW/x84OwyHKe/Zccz83PVT4y5Crcr530FV6NgmKI1qvGTKVl9XXVw==", - "dev": true, + "node_modules/supports-color": { + "version": "10.2.2", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-10.2.2.tgz", + "integrity": "sha512-SS+jx45GF1QjgEXQx4NJZV9ImqmO2NPz5FNsIHrsDjh2YsHnawpan7SNQ1o8NuhrbHZy9AZhIoCUiCeaW/C80g==", "license": "MIT", - "dependencies": { - "cheerio-select": "^1.5.0", - "dom-serializer": "^1.3.2", - "domhandler": "^4.2.0", - "htmlparser2": "^6.1.0", - "parse5": "^6.0.1", - "parse5-htmlparser2-tree-adapter": "^6.0.1", - "tslib": "^2.2.0" - }, "engines": { - "node": ">= 6" + "node": ">=18" }, "funding": { - "url": "https://github.com/cheeriojs/cheerio?sponsor=1" + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/cheerio-select": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-1.6.0.tgz", - "integrity": "sha512-eq0GdBvxVFbqWgmCm7M3XGs1I8oLy/nExUnh6oLqmBditPO9AqQJrkslDpMun/hZ0yyTs8L0m85OHp4ho6Qm9g==", - "dev": true, - "license": "BSD-2-Clause", + "node_modules/svgo": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-4.0.1.tgz", + "integrity": "sha512-XDpWUOPC6FEibaLzjfe0ucaV0YrOjYotGJO1WpF0Zd+n6ZGEQUsSugaoLq9QkEZtAfQIxT42UChcssDVPP3+/w==", + "license": "MIT", "dependencies": { - "css-select": "^4.3.0", - "css-what": "^6.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.3.1", - "domutils": "^2.8.0" + "commander": "^11.1.0", + "css-select": "^5.1.0", + "css-tree": "^3.0.1", + "css-what": "^6.1.0", + "csso": "^5.0.5", + "picocolors": "^1.1.1", + "sax": "^1.5.0" + }, + "bin": { + "svgo": "bin/svgo.js" + }, + "engines": { + "node": ">=16" }, "funding": { - "url": "https://github.com/sponsors/fb55" + "type": "opencollective", + "url": "https://opencollective.com/svgo" } }, - "node_modules/comma-separated-tokens": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", - "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==", - "dev": true, + "node_modules/tiny-inflate": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tiny-inflate/-/tiny-inflate-1.0.3.tgz", + "integrity": "sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==", + "license": "MIT" + }, + "node_modules/tinyclip": { + "version": "0.1.14", + "resolved": "https://registry.npmjs.org/tinyclip/-/tinyclip-0.1.14.tgz", + "integrity": "sha512-F1oWdz8tjT17qe1d5JgDK6z03WGOhYYAN0lK3/D/fzNiy93xswLLEw7pk+3g05onhAy6Bsc6PLNUGhdgVjemMQ==", "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "engines": { + "node": "^16.14.0 || >= 17.3.0" } }, - "node_modules/commander": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", - "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", - "dev": true, + "node_modules/tinyexec": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.2.4.tgz", + "integrity": "sha512-SHf/r48b7vOrjve9PxJo3MN5v5yuyjHvdUcrQffT3WXMUfnGmHDVbC4k3sHJaJTgZCwpUplIaAo5ANtMyp3YHg==", "license": "MIT", "engines": { - "node": ">= 6" + "node": ">=18" } }, - "node_modules/css-select": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", - "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", - "dev": true, - "license": "BSD-2-Clause", + "node_modules/tinyglobby": { + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.17.tgz", + "integrity": "sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==", + "license": "MIT", "dependencies": { - "boolbase": "^1.0.0", - "css-what": "^6.0.1", - "domhandler": "^4.3.1", - "domutils": "^2.8.0", - "nth-check": "^2.0.1" + "fdir": "^6.5.0", + "picomatch": "^4.0.4" }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/css-what": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.2.2.tgz", - "integrity": "sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==", - "dev": true, - "license": "BSD-2-Clause", "engines": { - "node": ">= 6" + "node": ">=12.0.0" }, "funding": { - "url": "https://github.com/sponsors/fb55" + "url": "https://github.com/sponsors/SuperchupuDev" } }, - "node_modules/csstype": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", - "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/dequal": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", - "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", - "dev": true, + "node_modules/totalist": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz", + "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==", "license": "MIT", "engines": { "node": ">=6" } }, - "node_modules/devlop": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz", - "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==", - "dev": true, + "node_modules/trim-lines": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz", + "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==", "license": "MIT", - "dependencies": { - "dequal": "^2.0.0" - }, "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/dom-serializer": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", - "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", - "dev": true, + "node_modules/trough": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/trough/-/trough-2.2.0.tgz", + "integrity": "sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==", "license": "MIT", - "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" - }, "funding": { - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + "type": "github", + "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/domelementtype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ], - "license": "BSD-2-Clause" + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD", + "optional": true }, - "node_modules/domhandler": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", - "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "domelementtype": "^2.2.0" - }, - "engines": { - "node": ">= 4" - }, - "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" - } + "node_modules/ufo": { + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.6.4.tgz", + "integrity": "sha512-JFNbkD1Svwe0KvGi8GOeLcP4kAWQ609twvCdcHxq1oSL8svv39ZuSvajcD8B+5D0eL4+s1Is2D/O6KN3qcTeRA==", + "license": "MIT" }, - "node_modules/domutils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", - "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" - }, - "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" - } + "node_modules/ultrahtml": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/ultrahtml/-/ultrahtml-1.6.0.tgz", + "integrity": "sha512-R9fBn90VTJrqqLDwyMph+HGne8eqY1iPfYhPzZrvKpIfwkWZbcYlfpsb8B9dTvBfpy1/hqAD7Wi8EKfP9e8zdw==", + "license": "MIT" }, - "node_modules/entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", - "dev": true, - "license": "BSD-2-Clause", - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } + "node_modules/uncrypto": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/uncrypto/-/uncrypto-0.1.3.tgz", + "integrity": "sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==", + "license": "MIT" }, - "node_modules/esbuild": { - "version": "0.27.7", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.7.tgz", - "integrity": "sha512-IxpibTjyVnmrIQo5aqNpCgoACA/dTKLTlhMHihVHhdkxKyPO1uBBthumT0rdHmcsk9uMonIWS0m4FljWzILh3w==", - "dev": true, - "hasInstallScript": true, + "node_modules/undici": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/undici/-/undici-7.24.8.tgz", + "integrity": "sha512-6KQ/+QxK49Z/p3HO6E5ZCZWNnCasyZLa5ExaVYyvPxUwKtbCPMKELJOqh7EqOle0t9cH/7d2TaaTRRa6Nhs4YQ==", "license": "MIT", - "bin": { - "esbuild": "bin/esbuild" - }, "engines": { - "node": ">=18" - }, - "optionalDependencies": { - "@esbuild/aix-ppc64": "0.27.7", - "@esbuild/android-arm": "0.27.7", - "@esbuild/android-arm64": "0.27.7", - "@esbuild/android-x64": "0.27.7", - "@esbuild/darwin-arm64": "0.27.7", - "@esbuild/darwin-x64": "0.27.7", - "@esbuild/freebsd-arm64": "0.27.7", - "@esbuild/freebsd-x64": "0.27.7", - "@esbuild/linux-arm": "0.27.7", - "@esbuild/linux-arm64": "0.27.7", - "@esbuild/linux-ia32": "0.27.7", - "@esbuild/linux-loong64": "0.27.7", - "@esbuild/linux-mips64el": "0.27.7", - "@esbuild/linux-ppc64": "0.27.7", - "@esbuild/linux-riscv64": "0.27.7", - "@esbuild/linux-s390x": "0.27.7", - "@esbuild/linux-x64": "0.27.7", - "@esbuild/netbsd-arm64": "0.27.7", - "@esbuild/netbsd-x64": "0.27.7", - "@esbuild/openbsd-arm64": "0.27.7", - "@esbuild/openbsd-x64": "0.27.7", - "@esbuild/openharmony-arm64": "0.27.7", - "@esbuild/sunos-x64": "0.27.7", - "@esbuild/win32-arm64": "0.27.7", - "@esbuild/win32-ia32": "0.27.7", - "@esbuild/win32-x64": "0.27.7" + "node": ">=20.18.1" } }, - "node_modules/escape-goat": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-3.0.0.tgz", - "integrity": "sha512-w3PwNZJwRxlp47QGzhuEBldEqVHHhh8/tIPcl6ecf2Bou99cdAt0knihBV0Ecc7CGxYduXVBDheH1K2oADRlvw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "node_modules/undici-types": { + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.18.2.tgz", + "integrity": "sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==", + "license": "MIT" }, - "node_modules/esm": { - "version": "3.2.25", - "resolved": "https://registry.npmjs.org/esm/-/esm-3.2.25.tgz", - "integrity": "sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==", - "dev": true, + "node_modules/unenv": { + "version": "2.0.0-rc.24", + "resolved": "https://registry.npmjs.org/unenv/-/unenv-2.0.0-rc.24.tgz", + "integrity": "sha512-i7qRCmY42zmCwnYlh9H2SvLEypEFGye5iRmEMKjcGi7zk9UquigRjFtTLz0TYqr0ZGLZhaMHl/foy1bZR+Cwlw==", "license": "MIT", - "engines": { - "node": ">=6" + "dependencies": { + "pathe": "^2.0.3" } }, - "node_modules/estree-walker": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", - "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", - "dev": true, - "license": "MIT" - }, - "node_modules/fdir": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", - "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", - "dev": true, + "node_modules/unified": { + "version": "11.0.5", + "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.5.tgz", + "integrity": "sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==", "license": "MIT", - "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "picomatch": "^3 || ^4" + "dependencies": { + "@types/unist": "^3.0.0", + "bail": "^2.0.0", + "devlop": "^1.0.0", + "extend": "^3.0.0", + "is-plain-obj": "^4.0.0", + "trough": "^2.0.0", + "vfile": "^6.0.0" }, - "peerDependenciesMeta": { - "picomatch": { - "optional": true - } + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/focus-trap": { - "version": "8.2.1", - "resolved": "https://registry.npmjs.org/focus-trap/-/focus-trap-8.2.1.tgz", - "integrity": "sha512-6CxwrrFRquH7pDXb1mWxudkU9LSfYBMRZutpgddb2o6iwCk7cIRrBhyY3c8SGKcmIKdeMTrGSNg4Bedh2RSF/w==", - "dev": true, + "node_modules/unifont": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/unifont/-/unifont-0.7.4.tgz", + "integrity": "sha512-oHeis4/xl42HUIeHuNZRGEvxj5AaIKR+bHPNegRq5LV1gdc3jundpONbjglKpihmJf+dswygdMJn3eftGIMemg==", "license": "MIT", "dependencies": { - "tabbable": "^6.4.0" + "css-tree": "^3.1.0", + "ofetch": "^1.5.1", + "ohash": "^2.0.11" } }, - "node_modules/fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "dev": true, - "hasInstallScript": true, + "node_modules/unist-builder": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-builder/-/unist-builder-4.0.0.tgz", + "integrity": "sha512-wmRFnH+BLpZnTKpc5L7O67Kac89s9HMrtELpnNaE6TAobq5DTZZs5YaTQfAZBA9bFPECx2uVAPO31c+GVug8mg==", "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/hast-util-to-html": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-9.0.5.tgz", - "integrity": "sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw==", - "dev": true, + "node_modules/unist-util-find-after": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-find-after/-/unist-util-find-after-5.0.0.tgz", + "integrity": "sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ==", "license": "MIT", "dependencies": { - "@types/hast": "^3.0.0", "@types/unist": "^3.0.0", - "ccount": "^2.0.0", - "comma-separated-tokens": "^2.0.0", - "hast-util-whitespace": "^3.0.0", - "html-void-elements": "^3.0.0", - "mdast-util-to-hast": "^13.0.0", - "property-information": "^7.0.0", - "space-separated-tokens": "^2.0.0", - "stringify-entities": "^4.0.0", - "zwitch": "^2.0.4" + "unist-util-is": "^6.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" } }, - "node_modules/hast-util-whitespace": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz", - "integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==", - "dev": true, + "node_modules/unist-util-find-between": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/unist-util-find-between/-/unist-util-find-between-1.2.2.tgz", + "integrity": "sha512-fhZ9EYTO/6mEFMIy2kH0dJJAyAo8KIz7u6SPBxGvNFe9DrivUyCeaSDO5djxcI3aI0jLaW7kVe0P0GrVIzPtDA==", "license": "MIT", "dependencies": { - "@types/hast": "^3.0.0" + "@types/unist": "^3.0.3", + "unist-util-is": "^6.0.1" + } + }, + "node_modules/unist-util-is": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.1.tgz", + "integrity": "sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" } }, - "node_modules/hookable": { - "version": "5.5.3", - "resolved": "https://registry.npmjs.org/hookable/-/hookable-5.5.3.tgz", - "integrity": "sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/html-void-elements": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-3.0.0.tgz", - "integrity": "sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==", - "dev": true, + "node_modules/unist-util-modify-children": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-modify-children/-/unist-util-modify-children-4.0.0.tgz", + "integrity": "sha512-+tdN5fGNddvsQdIzUF3Xx82CU9sMM+fA0dLgR9vOmT0oPT2jH+P1nd5lSqfCfXAw+93NhcXNY2qqvTUtE4cQkw==", "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "array-iterate": "^2.0.0" + }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/htmlparser2": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", - "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", - "dev": true, - "funding": [ - "https://github.com/fb55/htmlparser2?sponsor=1", - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ], + "node_modules/unist-util-position": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz", + "integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==", "license": "MIT", "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^4.0.0", - "domutils": "^2.5.2", - "entities": "^2.0.0" + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/juice": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/juice/-/juice-8.1.0.tgz", - "integrity": "sha512-FLzurJrx5Iv1e7CfBSZH68dC04EEvXvvVvPYB7Vx1WAuhCp1ZPIMtqxc+WTWxVkpTIC2Ach/GAv0rQbtGf6YMA==", - "dev": true, + "node_modules/unist-util-remove-position": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-5.0.0.tgz", + "integrity": "sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==", "license": "MIT", "dependencies": { - "cheerio": "1.0.0-rc.10", - "commander": "^6.1.0", - "mensch": "^0.3.4", - "slick": "^1.12.2", - "web-resource-inliner": "^6.0.1" - }, - "bin": { - "juice": "bin/juice" + "@types/unist": "^3.0.0", + "unist-util-visit": "^5.0.0" }, - "engines": { - "node": ">=10.0.0" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/magic-string": { - "version": "0.30.21", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", - "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", - "dev": true, + "node_modules/unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", "license": "MIT", "dependencies": { - "@jridgewell/sourcemap-codec": "^1.5.5" + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/mark.js": { - "version": "8.11.1", - "resolved": "https://registry.npmjs.org/mark.js/-/mark.js-8.11.1.tgz", - "integrity": "sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/markdown-it-mathjax3": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/markdown-it-mathjax3/-/markdown-it-mathjax3-4.3.2.tgz", - "integrity": "sha512-TX3GW5NjmupgFtMJGRauioMbbkGsOXAAt1DZ/rzzYmTHqzkO1rNAdiMD4NiruurToPApn2kYy76x02QN26qr2w==", - "dev": true, + "node_modules/unist-util-visit": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.1.0.tgz", + "integrity": "sha512-m+vIdyeCOpdr/QeQCu2EzxX/ohgS8KbnPDgFni4dQsfSCtpz8UqDyY5GjRru8PDKuYn7Fq19j1CQ+nJSsGKOzg==", "license": "MIT", "dependencies": { - "juice": "^8.0.0", - "mathjax-full": "^3.2.0" + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/mathjax-full": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/mathjax-full/-/mathjax-full-3.2.1.tgz", - "integrity": "sha512-aUz9o16MGZdeiIBwZjAfUBTiJb7LRqzZEl1YOZ8zQMGYIyh1/nxRebxKxjDe9L+xcZCr2OHdzoFBMcd6VnLv9Q==", - "dev": true, - "license": "Apache-2.0", + "node_modules/unist-util-visit-children": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unist-util-visit-children/-/unist-util-visit-children-3.0.0.tgz", + "integrity": "sha512-RgmdTfSBOg04sdPcpTSD1jzoNBjt9a80/ZCzp5cI9n1qPzLZWF9YdvWGN2zmTumP1HWhXKdUWexjy/Wy/lJ7tA==", + "license": "MIT", "dependencies": { - "esm": "^3.2.25", - "mhchemparser": "^4.1.0", - "mj-context-menu": "^0.6.1", - "speech-rule-engine": "^4.0.6" + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/mdast-util-to-hast": { - "version": "13.2.1", - "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.2.1.tgz", - "integrity": "sha512-cctsq2wp5vTsLIcaymblUriiTcZd0CwWtCbLvrOzYCDZoWyMNV8sZ7krj09FSnsiJi3WVsHLM4k6Dq/yaPyCXA==", - "dev": true, + "node_modules/unist-util-visit-parents": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.2.tgz", + "integrity": "sha512-goh1s1TBrqSqukSc8wrjwWhL0hiJxgA8m4kFxGlQ+8FYQ3C/m11FcTs4YYem7V664AhHVvgoQLk890Ssdsr2IQ==", "license": "MIT", "dependencies": { - "@types/hast": "^3.0.0", - "@types/mdast": "^4.0.0", - "@ungap/structured-clone": "^1.0.0", - "devlop": "^1.0.0", - "micromark-util-sanitize-uri": "^2.0.0", - "trim-lines": "^3.0.0", - "unist-util-position": "^5.0.0", - "unist-util-visit": "^5.0.0", - "vfile": "^6.0.0" + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" } }, - "node_modules/mensch": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/mensch/-/mensch-0.3.4.tgz", - "integrity": "sha512-IAeFvcOnV9V0Yk+bFhYR07O3yNina9ANIN5MoXBKYJ/RLYPurd2d0yw14MDhpr9/momp0WofT1bPUh3hkzdi/g==", - "dev": true, - "license": "MIT" - }, - "node_modules/mhchemparser": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/mhchemparser/-/mhchemparser-4.2.1.tgz", - "integrity": "sha512-kYmyrCirqJf3zZ9t/0wGgRZ4/ZJw//VwaRVGA75C4nhE60vtnIzhl9J9ndkX/h6hxSN7pjg/cE0VxbnNM+bnDQ==", - "dev": true, - "license": "Apache-2.0" - }, - "node_modules/micromark-util-character": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", - "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], + "node_modules/unstorage": { + "version": "1.17.5", + "resolved": "https://registry.npmjs.org/unstorage/-/unstorage-1.17.5.tgz", + "integrity": "sha512-0i3iqvRfx29hkNntHyQvJTpf5W9dQ9ZadSoRU8+xVlhVtT7jAX57fazYO9EHvcRCfBCyi5YRya7XCDOsbTgkPg==", "license": "MIT", "dependencies": { - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-util-encode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.1.tgz", - "integrity": "sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" + "anymatch": "^3.1.3", + "chokidar": "^5.0.0", + "destr": "^2.0.5", + "h3": "^1.15.10", + "lru-cache": "^11.2.7", + "node-fetch-native": "^1.6.7", + "ofetch": "^1.5.1", + "ufo": "^1.6.3" + }, + "peerDependencies": { + "@azure/app-configuration": "^1.8.0", + "@azure/cosmos": "^4.2.0", + "@azure/data-tables": "^13.3.0", + "@azure/identity": "^4.6.0", + "@azure/keyvault-secrets": "^4.9.0", + "@azure/storage-blob": "^12.26.0", + "@capacitor/preferences": "^6 || ^7 || ^8", + "@deno/kv": ">=0.9.0", + "@netlify/blobs": "^6.5.0 || ^7.0.0 || ^8.1.0 || ^9.0.0 || ^10.0.0", + "@planetscale/database": "^1.19.0", + "@upstash/redis": "^1.34.3", + "@vercel/blob": ">=0.27.1", + "@vercel/functions": "^2.2.12 || ^3.0.0", + "@vercel/kv": "^1 || ^2 || ^3", + "aws4fetch": "^1.0.20", + "db0": ">=0.2.1", + "idb-keyval": "^6.2.1", + "ioredis": "^5.4.2", + "uploadthing": "^7.4.4" + }, + "peerDependenciesMeta": { + "@azure/app-configuration": { + "optional": true }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-util-sanitize-uri": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.1.tgz", - "integrity": "sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" + "@azure/cosmos": { + "optional": true }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-encode": "^2.0.0", - "micromark-util-symbol": "^2.0.0" - } - }, - "node_modules/micromark-util-symbol": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", - "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" + "@azure/data-tables": { + "optional": true }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-util-types": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.2.tgz", - "integrity": "sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" + "@azure/identity": { + "optional": true + }, + "@azure/keyvault-secrets": { + "optional": true + }, + "@azure/storage-blob": { + "optional": true + }, + "@capacitor/preferences": { + "optional": true + }, + "@deno/kv": { + "optional": true + }, + "@netlify/blobs": { + "optional": true + }, + "@planetscale/database": { + "optional": true + }, + "@upstash/redis": { + "optional": true + }, + "@vercel/blob": { + "optional": true + }, + "@vercel/functions": { + "optional": true + }, + "@vercel/kv": { + "optional": true + }, + "aws4fetch": { + "optional": true + }, + "db0": { + "optional": true }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" + "idb-keyval": { + "optional": true + }, + "ioredis": { + "optional": true + }, + "uploadthing": { + "optional": true } - ], - "license": "MIT" + } }, - "node_modules/mime": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", - "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", - "dev": true, + "node_modules/vfile": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.3.tgz", + "integrity": "sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==", "license": "MIT", - "bin": { - "mime": "cli.js" + "dependencies": { + "@types/unist": "^3.0.0", + "vfile-message": "^4.0.0" }, - "engines": { - "node": ">=4.0.0" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/minisearch": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/minisearch/-/minisearch-7.2.0.tgz", - "integrity": "sha512-dqT2XBYUOZOiC5t2HRnwADjhNS2cecp9u+TJRiJ1Qp/f5qjkeT5APcGPjHw+bz89Ms8Jp+cG4AlE+QZ/QnDglg==", - "dev": true, - "license": "MIT" - }, - "node_modules/mj-context-menu": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/mj-context-menu/-/mj-context-menu-0.6.1.tgz", - "integrity": "sha512-7NO5s6n10TIV96d4g2uDpG7ZDpIhMh0QNfGdJw/W47JswFcosz457wqz/b5sAKvl12sxINGFCn80NZHKwxQEXA==", - "dev": true, - "license": "Apache-2.0" + "node_modules/vfile-location": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-5.0.3.tgz", + "integrity": "sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } }, - "node_modules/nanoid": { - "version": "3.3.12", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.12.tgz", - "integrity": "sha512-ZB9RH/39qpq5Vu6Y+NmUaFhQR6pp+M2Xt76XBnEwDaGcVAqhlvxrl3B2bKS5D3NH3QR76v3aSrKaF/Kiy7lEtQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], + "node_modules/vfile-message": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.3.tgz", + "integrity": "sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==", "license": "MIT", - "bin": { - "nanoid": "bin/nanoid.cjs" + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0" }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/node-fetch": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", - "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", - "dev": true, + "node_modules/vite": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/vite/-/vite-7.3.5.tgz", + "integrity": "sha512-KuOaNhcnGFN2zIPGA7wRmzF+lJA1sea7rHq17aiJ++9lzY1WWG6Jpwqwe1KNbRVPIqHmr8GLYx7jbrQcN/7/ww==", "license": "MIT", "dependencies": { - "whatwg-url": "^5.0.0" + "esbuild": "^0.27.0", + "fdir": "^6.5.0", + "picomatch": "^4.0.3", + "postcss": "^8.5.6", + "rollup": "^4.43.0", + "tinyglobby": "^0.2.15" + }, + "bin": { + "vite": "bin/vite.js" }, "engines": { - "node": "4.x || >=6.0.0" + "node": "^20.19.0 || >=22.12.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" }, "peerDependencies": { - "encoding": "^0.1.0" + "@types/node": "^20.19.0 || >=22.12.0", + "jiti": ">=1.21.0", + "less": "^4.0.0", + "lightningcss": "^1.21.0", + "sass": "^1.70.0", + "sass-embedded": "^1.70.0", + "stylus": ">=0.54.8", + "sugarss": "^5.0.0", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" }, "peerDependenciesMeta": { - "encoding": { + "@types/node": { + "optional": true + }, + "jiti": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { "optional": true } } }, - "node_modules/nth-check": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", - "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "boolbase": "^1.0.0" + "node_modules/vitefu": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/vitefu/-/vitefu-1.1.3.tgz", + "integrity": "sha512-ub4okH7Z5KLjb6hDyjqrGXqWtWvoYdU3IGm/NorpgHncKoLTCfRIbvlhBm7r0YstIaQRYlp4yEbFqDcKSzXSSg==", + "license": "MIT", + "workspaces": [ + "tests/deps/*", + "tests/projects/*", + "tests/projects/workspace/packages/*" + ], + "peerDependencies": { + "vite": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0" }, - "funding": { - "url": "https://github.com/fb55/nth-check?sponsor=1" + "peerDependenciesMeta": { + "vite": { + "optional": true + } } }, - "node_modules/oniguruma-parser": { - "version": "0.12.2", - "resolved": "https://registry.npmjs.org/oniguruma-parser/-/oniguruma-parser-0.12.2.tgz", - "integrity": "sha512-6HVa5oIrgMC6aA6WF6XyyqbhRPJrKR02L20+2+zpDtO5QAzGHAUGw5TKQvwi5vctNnRHkJYmjAhRVQF2EKdTQw==", - "dev": true, - "license": "MIT" + "node_modules/web-namespaces": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-2.0.1.tgz", + "integrity": "sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } }, - "node_modules/oniguruma-to-es": { - "version": "4.3.6", - "resolved": "https://registry.npmjs.org/oniguruma-to-es/-/oniguruma-to-es-4.3.6.tgz", - "integrity": "sha512-csuQ9x3Yr0cEIs/Zgx/OEt9iBw9vqIunAPQkx19R/fiMq2oGVTgcMqO/V3Ybqefr1TBvosI6jU539ksaBULJyA==", - "dev": true, + "node_modules/which-pm-runs": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/which-pm-runs/-/which-pm-runs-1.1.0.tgz", + "integrity": "sha512-n1brCuqClxfFfq/Rb0ICg9giSZqCS+pLtccdag6C2HyufBrh3fBOiy9nb6ggRMvWOVH5GrdJskj5iGTZNxd7SA==", "license": "MIT", - "dependencies": { - "oniguruma-parser": "^0.12.2", - "regex": "^6.1.0", - "regex-recursion": "^6.0.2" + "engines": { + "node": ">=4" } }, - "node_modules/parse5": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", - "dev": true, - "license": "MIT" + "node_modules/workerd": { + "version": "1.20260603.1", + "resolved": "https://registry.npmjs.org/workerd/-/workerd-1.20260603.1.tgz", + "integrity": "sha512-NPcbhI1++CS+fnELyXtsIR52en+5kwr/OrKeiQeYXGy10HxmPdsQBv9N+DU7hJIOOmBHhOGAAsoGDjyiQ2YCaA==", + "hasInstallScript": true, + "license": "Apache-2.0", + "bin": { + "workerd": "bin/workerd" + }, + "engines": { + "node": ">=16" + }, + "optionalDependencies": { + "@cloudflare/workerd-darwin-64": "1.20260603.1", + "@cloudflare/workerd-darwin-arm64": "1.20260603.1", + "@cloudflare/workerd-linux-64": "1.20260603.1", + "@cloudflare/workerd-linux-arm64": "1.20260603.1", + "@cloudflare/workerd-windows-64": "1.20260603.1" + } + }, + "node_modules/wrangler": { + "version": "4.98.0", + "resolved": "https://registry.npmjs.org/wrangler/-/wrangler-4.98.0.tgz", + "integrity": "sha512-cXfFUuF4rMIvE0hiMnXjEAB27ERryaCgquBJdUoPIjFzYYE1rbRdMUkEdQ18qDPUtsPvhJdqxLntixT9OfSzQw==", + "license": "MIT OR Apache-2.0", + "dependencies": { + "@cloudflare/kv-asset-handler": "0.5.0", + "@cloudflare/unenv-preset": "2.16.1", + "blake3-wasm": "2.1.5", + "esbuild": "0.27.3", + "miniflare": "4.20260603.0", + "path-to-regexp": "6.3.0", + "unenv": "2.0.0-rc.24", + "workerd": "1.20260603.1" + }, + "bin": { + "wrangler": "bin/wrangler.js", + "wrangler2": "bin/wrangler.js" + }, + "engines": { + "node": ">=22.0.0" + }, + "optionalDependencies": { + "fsevents": "2.3.3" + }, + "peerDependencies": { + "@cloudflare/workers-types": "^4.20260603.1" + }, + "peerDependenciesMeta": { + "@cloudflare/workers-types": { + "optional": true + } + } }, - "node_modules/parse5-htmlparser2-tree-adapter": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz", - "integrity": "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==", - "dev": true, + "node_modules/wrangler/node_modules/@esbuild/aix-ppc64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.3.tgz", + "integrity": "sha512-9fJMTNFTWZMh5qwrBItuziu834eOCUcEqymSH7pY+zoMVEZg3gcPuBNxH1EvfVYe9h0x/Ptw8KBzv7qxb7l8dg==", + "cpu": [ + "ppc64" + ], "license": "MIT", - "dependencies": { - "parse5": "^6.0.1" + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" } }, - "node_modules/perfect-debounce": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/perfect-debounce/-/perfect-debounce-2.1.0.tgz", - "integrity": "sha512-LjgdTytVFXeUgtHZr9WYViYSM/g8MkcTPYDlPa3cDqMirHjKiSZPYd6DoL7pK8AJQr+uWkQvCjHNdiMqsrJs+g==", - "dev": true, - "license": "MIT" + "node_modules/wrangler/node_modules/@esbuild/android-arm": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.3.tgz", + "integrity": "sha512-i5D1hPY7GIQmXlXhs2w8AWHhenb00+GxjxRncS2ZM7YNVGNfaMxgzSGuO8o8SJzRc/oZwU2bcScvVERk03QhzA==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } }, - "node_modules/picocolors": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", - "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", - "dev": true, - "license": "ISC" + "node_modules/wrangler/node_modules/@esbuild/android-arm64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.3.tgz", + "integrity": "sha512-YdghPYUmj/FX2SYKJ0OZxf+iaKgMsKHVPF1MAq/P8WirnSpCStzKJFjOjzsW0QQ7oIAiccHdcqjbHmJxRb/dmg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } }, - "node_modules/picomatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", - "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", - "dev": true, + "node_modules/wrangler/node_modules/@esbuild/android-x64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.3.tgz", + "integrity": "sha512-IN/0BNTkHtk8lkOM8JWAYFg4ORxBkZQf9zXiEOfERX/CzxW3Vg1ewAhU7QSWQpVIzTW+b8Xy+lGzdYXV6UZObQ==", + "cpu": [ + "x64" + ], "license": "MIT", + "optional": true, + "os": [ + "android" + ], "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" + "node": ">=18" } }, - "node_modules/postcss": { - "version": "8.5.15", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.15.tgz", - "integrity": "sha512-FfR8sjd4em2T6fb3I2MwAJU7HWVMr9zba+enmQeeWFfCbm+UOC/0X4DS8XtpUTMwWMGbjKYP7xjfNekzyGmB3A==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } + "node_modules/wrangler/node_modules/@esbuild/darwin-arm64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.3.tgz", + "integrity": "sha512-Re491k7ByTVRy0t3EKWajdLIr0gz2kKKfzafkth4Q8A5n1xTHrkqZgLLjFEHVD+AXdUGgQMq+Godfq45mGpCKg==", + "cpu": [ + "arm64" ], "license": "MIT", - "dependencies": { - "nanoid": "^3.3.12", - "picocolors": "^1.1.1", - "source-map-js": "^1.2.1" - }, + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": "^10 || ^12 || >=14" + "node": ">=18" } }, - "node_modules/property-information": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/property-information/-/property-information-7.2.0.tgz", - "integrity": "sha512-IAtzIB6sUiWaJYrX9smp3V46pBGbBeLFRGdh25kg1334VcBlD8HzhPeNIWQH9zhGmo2itIe25EHt9dQP7G5hmg==", - "dev": true, + "node_modules/wrangler/node_modules/@esbuild/darwin-x64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.3.tgz", + "integrity": "sha512-vHk/hA7/1AckjGzRqi6wbo+jaShzRowYip6rt6q7VYEDX4LEy1pZfDpdxCBnGtl+A5zq8iXDcyuxwtv3hNtHFg==", + "cpu": [ + "x64" + ], "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" } }, - "node_modules/regex": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/regex/-/regex-6.1.0.tgz", - "integrity": "sha512-6VwtthbV4o/7+OaAF9I5L5V3llLEsoPyq9P1JVXkedTP33c7MfCG0/5NOPcSJn0TzXcG9YUrR0gQSWioew3LDg==", - "dev": true, + "node_modules/wrangler/node_modules/@esbuild/freebsd-arm64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.3.tgz", + "integrity": "sha512-ipTYM2fjt3kQAYOvo6vcxJx3nBYAzPjgTCk7QEgZG8AUO3ydUhvelmhrbOheMnGOlaSFUoHXB6un+A7q4ygY9w==", + "cpu": [ + "arm64" + ], "license": "MIT", - "dependencies": { - "regex-utilities": "^2.3.0" + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" } }, - "node_modules/regex-recursion": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/regex-recursion/-/regex-recursion-6.0.2.tgz", - "integrity": "sha512-0YCaSCq2VRIebiaUviZNs0cBz1kg5kVS2UKUfNIx8YVs1cN3AV7NTctO5FOKBA+UT2BPJIWZauYHPqJODG50cg==", - "dev": true, + "node_modules/wrangler/node_modules/@esbuild/freebsd-x64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.3.tgz", + "integrity": "sha512-dDk0X87T7mI6U3K9VjWtHOXqwAMJBNN2r7bejDsc+j03SEjtD9HrOl8gVFByeM0aJksoUuUVU9TBaZa2rgj0oA==", + "cpu": [ + "x64" + ], "license": "MIT", - "dependencies": { - "regex-utilities": "^2.3.0" + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" } }, - "node_modules/regex-utilities": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/regex-utilities/-/regex-utilities-2.3.0.tgz", - "integrity": "sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==", - "dev": true, - "license": "MIT" - }, - "node_modules/rollup": { - "version": "4.61.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.61.1.tgz", - "integrity": "sha512-I4KW6iuRpuu2uHBLraZ1wNZe0DP7lnRha+VJ9tNaYVaVgKhW0aI3h4RYnoRPeql0flHm/Co55b7snEDcOfOJrA==", - "dev": true, + "node_modules/wrangler/node_modules/@esbuild/linux-arm": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.3.tgz", + "integrity": "sha512-s6nPv2QkSupJwLYyfS+gwdirm0ukyTFNl3KTgZEAiJDd+iHZcbTPPcWCcRYH+WlNbwChgH2QkE9NSlNrMT8Gfw==", + "cpu": [ + "arm" + ], "license": "MIT", - "dependencies": { - "@types/estree": "1.0.9" - }, - "bin": { - "rollup": "dist/bin/rollup" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=18.0.0", - "npm": ">=8.0.0" - }, - "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.61.1", - "@rollup/rollup-android-arm64": "4.61.1", - "@rollup/rollup-darwin-arm64": "4.61.1", - "@rollup/rollup-darwin-x64": "4.61.1", - "@rollup/rollup-freebsd-arm64": "4.61.1", - "@rollup/rollup-freebsd-x64": "4.61.1", - "@rollup/rollup-linux-arm-gnueabihf": "4.61.1", - "@rollup/rollup-linux-arm-musleabihf": "4.61.1", - "@rollup/rollup-linux-arm64-gnu": "4.61.1", - "@rollup/rollup-linux-arm64-musl": "4.61.1", - "@rollup/rollup-linux-loong64-gnu": "4.61.1", - "@rollup/rollup-linux-loong64-musl": "4.61.1", - "@rollup/rollup-linux-ppc64-gnu": "4.61.1", - "@rollup/rollup-linux-ppc64-musl": "4.61.1", - "@rollup/rollup-linux-riscv64-gnu": "4.61.1", - "@rollup/rollup-linux-riscv64-musl": "4.61.1", - "@rollup/rollup-linux-s390x-gnu": "4.61.1", - "@rollup/rollup-linux-x64-gnu": "4.61.1", - "@rollup/rollup-linux-x64-musl": "4.61.1", - "@rollup/rollup-openbsd-x64": "4.61.1", - "@rollup/rollup-openharmony-arm64": "4.61.1", - "@rollup/rollup-win32-arm64-msvc": "4.61.1", - "@rollup/rollup-win32-ia32-msvc": "4.61.1", - "@rollup/rollup-win32-x64-gnu": "4.61.1", - "@rollup/rollup-win32-x64-msvc": "4.61.1", - "fsevents": "~2.3.2" + "node": ">=18" } }, - "node_modules/shiki": { - "version": "3.23.0", - "resolved": "https://registry.npmjs.org/shiki/-/shiki-3.23.0.tgz", - "integrity": "sha512-55Dj73uq9ZXL5zyeRPzHQsK7Nbyt6Y10k5s7OjuFZGMhpp4r/rsLBH0o/0fstIzX1Lep9VxefWljK/SKCzygIA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@shikijs/core": "3.23.0", - "@shikijs/engine-javascript": "3.23.0", - "@shikijs/engine-oniguruma": "3.23.0", - "@shikijs/langs": "3.23.0", - "@shikijs/themes": "3.23.0", - "@shikijs/types": "3.23.0", - "@shikijs/vscode-textmate": "^10.0.2", - "@types/hast": "^3.0.4" + "node_modules/wrangler/node_modules/@esbuild/linux-arm64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.3.tgz", + "integrity": "sha512-sZOuFz/xWnZ4KH3YfFrKCf1WyPZHakVzTiqji3WDc0BCl2kBwiJLCXpzLzUBLgmp4veFZdvN5ChW4Eq/8Fc2Fg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" } }, - "node_modules/slick": { - "version": "1.12.2", - "resolved": "https://registry.npmjs.org/slick/-/slick-1.12.2.tgz", - "integrity": "sha512-4qdtOGcBjral6YIBCWJ0ljFSKNLz9KkhbWtuGvUyRowl1kxfuE1x/Z/aJcaiilpb3do9bl5K7/1h9XC5wWpY/A==", - "dev": true, - "license": "MIT (http://mootools.net/license.txt)", + "node_modules/wrangler/node_modules/@esbuild/linux-ia32": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.3.tgz", + "integrity": "sha512-yGlQYjdxtLdh0a3jHjuwOrxQjOZYD/C9PfdbgJJF3TIZWnm/tMd/RcNiLngiu4iwcBAOezdnSLAwQDPqTmtTYg==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": "*" + "node": ">=18" } }, - "node_modules/source-map-js": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", - "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", - "dev": true, - "license": "BSD-3-Clause", + "node_modules/wrangler/node_modules/@esbuild/linux-loong64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.3.tgz", + "integrity": "sha512-WO60Sn8ly3gtzhyjATDgieJNet/KqsDlX5nRC5Y3oTFcS1l0KWba+SEa9Ja1GfDqSF1z6hif/SkpQJbL63cgOA==", + "cpu": [ + "loong64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=0.10.0" + "node": ">=18" } }, - "node_modules/space-separated-tokens": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", - "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==", - "dev": true, + "node_modules/wrangler/node_modules/@esbuild/linux-mips64el": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.3.tgz", + "integrity": "sha512-APsymYA6sGcZ4pD6k+UxbDjOFSvPWyZhjaiPyl/f79xKxwTnrn5QUnXR5prvetuaSMsb4jgeHewIDCIWljrSxw==", + "cpu": [ + "mips64el" + ], "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" } }, - "node_modules/speech-rule-engine": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/speech-rule-engine/-/speech-rule-engine-4.1.4.tgz", - "integrity": "sha512-i/VCLG1fvRc95pMHRqG4aQNscv+9aIsqA2oI7ZQS51sTdUcDHYX6cpT8/tqZ+enjs1tKVwbRBWgxut9SWn+f9g==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@xmldom/xmldom": "0.9.10", - "commander": "13.1.0", - "wicked-good-xpath": "1.3.0" - }, - "bin": { - "sre": "bin/sre" + "node_modules/wrangler/node_modules/@esbuild/linux-ppc64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.3.tgz", + "integrity": "sha512-eizBnTeBefojtDb9nSh4vvVQ3V9Qf9Df01PfawPcRzJH4gFSgrObw+LveUyDoKU3kxi5+9RJTCWlj4FjYXVPEA==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" } }, - "node_modules/speech-rule-engine/node_modules/commander": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-13.1.0.tgz", - "integrity": "sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw==", - "dev": true, + "node_modules/wrangler/node_modules/@esbuild/linux-riscv64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.3.tgz", + "integrity": "sha512-3Emwh0r5wmfm3ssTWRQSyVhbOHvqegUDRd0WhmXKX2mkHJe1SFCMJhagUleMq+Uci34wLSipf8Lagt4LlpRFWQ==", + "cpu": [ + "riscv64" + ], "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { "node": ">=18" } }, - "node_modules/stringify-entities": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz", - "integrity": "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==", - "dev": true, + "node_modules/wrangler/node_modules/@esbuild/linux-s390x": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.3.tgz", + "integrity": "sha512-pBHUx9LzXWBc7MFIEEL0yD/ZVtNgLytvx60gES28GcWMqil8ElCYR4kvbV2BDqsHOvVDRrOxGySBM9Fcv744hw==", + "cpu": [ + "s390x" + ], "license": "MIT", - "dependencies": { - "character-entities-html4": "^2.0.0", - "character-entities-legacy": "^3.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" } }, - "node_modules/tabbable": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/tabbable/-/tabbable-6.4.0.tgz", - "integrity": "sha512-05PUHKSNE8ou2dwIxTngl4EzcnsCDZGJ/iCLtDflR/SHB/ny14rXc+qU5P4mG9JkusiV7EivzY9Mhm55AzAvCg==", - "dev": true, - "license": "MIT" - }, - "node_modules/tinyglobby": { - "version": "0.2.17", - "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.17.tgz", - "integrity": "sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==", - "dev": true, + "node_modules/wrangler/node_modules/@esbuild/linux-x64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.3.tgz", + "integrity": "sha512-Czi8yzXUWIQYAtL/2y6vogER8pvcsOsk5cpwL4Gk5nJqH5UZiVByIY8Eorm5R13gq+DQKYg0+JyQoytLQas4dA==", + "cpu": [ + "x64" + ], "license": "MIT", - "dependencies": { - "fdir": "^6.5.0", - "picomatch": "^4.0.4" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=12.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/SuperchupuDev" + "node": ">=18" } }, - "node_modules/tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", - "dev": true, - "license": "MIT" - }, - "node_modules/trim-lines": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz", - "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==", - "dev": true, + "node_modules/wrangler/node_modules/@esbuild/netbsd-arm64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.3.tgz", + "integrity": "sha512-sDpk0RgmTCR/5HguIZa9n9u+HVKf40fbEUt+iTzSnCaGvY9kFP0YKBWZtJaraonFnqef5SlJ8/TiPAxzyS+UoA==", + "cpu": [ + "arm64" + ], "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" } }, - "node_modules/tslib": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", - "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - "dev": true, - "license": "0BSD" - }, - "node_modules/unist-util-is": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.1.tgz", - "integrity": "sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g==", - "dev": true, + "node_modules/wrangler/node_modules/@esbuild/netbsd-x64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.3.tgz", + "integrity": "sha512-P14lFKJl/DdaE00LItAukUdZO5iqNH7+PjoBm+fLQjtxfcfFE20Xf5CrLsmZdq5LFFZzb5JMZ9grUwvtVYzjiA==", + "cpu": [ + "x64" + ], "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" } }, - "node_modules/unist-util-position": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz", - "integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==", - "dev": true, + "node_modules/wrangler/node_modules/@esbuild/openbsd-arm64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.3.tgz", + "integrity": "sha512-AIcMP77AvirGbRl/UZFTq5hjXK+2wC7qFRGoHSDrZ5v5b8DK/GYpXW3CPRL53NkvDqb9D+alBiC/dV0Fb7eJcw==", + "cpu": [ + "arm64" + ], "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" } }, - "node_modules/unist-util-stringify-position": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", - "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", - "dev": true, + "node_modules/wrangler/node_modules/@esbuild/openbsd-x64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.3.tgz", + "integrity": "sha512-DnW2sRrBzA+YnE70LKqnM3P+z8vehfJWHXECbwBmH/CU51z6FiqTQTHFenPlHmo3a8UgpLyH3PT+87OViOh1AQ==", + "cpu": [ + "x64" + ], "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" } }, - "node_modules/unist-util-visit": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.1.0.tgz", - "integrity": "sha512-m+vIdyeCOpdr/QeQCu2EzxX/ohgS8KbnPDgFni4dQsfSCtpz8UqDyY5GjRru8PDKuYn7Fq19j1CQ+nJSsGKOzg==", - "dev": true, + "node_modules/wrangler/node_modules/@esbuild/openharmony-arm64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.3.tgz", + "integrity": "sha512-NinAEgr/etERPTsZJ7aEZQvvg/A6IsZG/LgZy+81wON2huV7SrK3e63dU0XhyZP4RKGyTm7aOgmQk0bGp0fy2g==", + "cpu": [ + "arm64" + ], "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0", - "unist-util-is": "^6.0.0", - "unist-util-visit-parents": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" } }, - "node_modules/unist-util-visit-parents": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.2.tgz", - "integrity": "sha512-goh1s1TBrqSqukSc8wrjwWhL0hiJxgA8m4kFxGlQ+8FYQ3C/m11FcTs4YYem7V664AhHVvgoQLk890Ssdsr2IQ==", - "dev": true, + "node_modules/wrangler/node_modules/@esbuild/sunos-x64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.3.tgz", + "integrity": "sha512-PanZ+nEz+eWoBJ8/f8HKxTTD172SKwdXebZ0ndd953gt1HRBbhMsaNqjTyYLGLPdoWHy4zLU7bDVJztF5f3BHA==", + "cpu": [ + "x64" + ], "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0", - "unist-util-is": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" } }, - "node_modules/valid-data-url": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/valid-data-url/-/valid-data-url-3.0.1.tgz", - "integrity": "sha512-jOWVmzVceKlVVdwjNSenT4PbGghU0SBIizAev8ofZVgivk/TVHXSbNL8LP6M3spZvkR9/QolkyJavGSX5Cs0UA==", - "dev": true, + "node_modules/wrangler/node_modules/@esbuild/win32-arm64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.3.tgz", + "integrity": "sha512-B2t59lWWYrbRDw/tjiWOuzSsFh1Y/E95ofKz7rIVYSQkUYBjfSgf6oeYPNWHToFRr2zx52JKApIcAS/D5TUBnA==", + "cpu": [ + "arm64" + ], "license": "MIT", + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">=10" + "node": ">=18" } }, - "node_modules/vfile": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.3.tgz", - "integrity": "sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==", - "dev": true, + "node_modules/wrangler/node_modules/@esbuild/win32-ia32": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.3.tgz", + "integrity": "sha512-QLKSFeXNS8+tHW7tZpMtjlNb7HKau0QDpwm49u0vUp9y1WOF+PEzkU84y9GqYaAVW8aH8f3GcBck26jh54cX4Q==", + "cpu": [ + "ia32" + ], "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0", - "vfile-message": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" } }, - "node_modules/vfile-message": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.3.tgz", - "integrity": "sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==", - "dev": true, + "node_modules/wrangler/node_modules/@esbuild/win32-x64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.3.tgz", + "integrity": "sha512-4uJGhsxuptu3OcpVAzli+/gWusVGwZZHTlS63hh++ehExkVT8SgiEf7/uC/PclrPPkLhZqGgCTjd0VWLo6xMqA==", + "cpu": [ + "x64" + ], "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0", - "unist-util-stringify-position": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" } }, - "node_modules/vite": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/vite/-/vite-7.3.5.tgz", - "integrity": "sha512-KuOaNhcnGFN2zIPGA7wRmzF+lJA1sea7rHq17aiJ++9lzY1WWG6Jpwqwe1KNbRVPIqHmr8GLYx7jbrQcN/7/ww==", - "dev": true, + "node_modules/wrangler/node_modules/esbuild": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.3.tgz", + "integrity": "sha512-8VwMnyGCONIs6cWue2IdpHxHnAjzxnw2Zr7MkVxB2vjmQ2ivqGFb4LEG3SMnv0Gb2F/G/2yA8zUaiL1gywDCCg==", + "hasInstallScript": true, "license": "MIT", - "dependencies": { - "esbuild": "^0.27.0", - "fdir": "^6.5.0", - "picomatch": "^4.0.3", - "postcss": "^8.5.6", - "rollup": "^4.43.0", - "tinyglobby": "^0.2.15" - }, "bin": { - "vite": "bin/vite.js" + "esbuild": "bin/esbuild" }, "engines": { - "node": "^20.19.0 || >=22.12.0" - }, - "funding": { - "url": "https://github.com/vitejs/vite?sponsor=1" + "node": ">=18" }, "optionalDependencies": { - "fsevents": "~2.3.3" - }, - "peerDependencies": { - "@types/node": "^20.19.0 || >=22.12.0", - "jiti": ">=1.21.0", - "less": "^4.0.0", - "lightningcss": "^1.21.0", - "sass": "^1.70.0", - "sass-embedded": "^1.70.0", - "stylus": ">=0.54.8", - "sugarss": "^5.0.0", - "terser": "^5.16.0", - "tsx": "^4.8.1", - "yaml": "^2.4.2" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "jiti": { - "optional": true - }, - "less": { - "optional": true - }, - "lightningcss": { - "optional": true - }, - "sass": { - "optional": true - }, - "sass-embedded": { - "optional": true - }, - "stylus": { - "optional": true - }, - "sugarss": { - "optional": true - }, - "terser": { - "optional": true - }, - "tsx": { - "optional": true - }, - "yaml": { - "optional": true - } - } - }, - "node_modules/vitepress": { - "version": "2.0.0-alpha.17", - "resolved": "https://registry.npmjs.org/vitepress/-/vitepress-2.0.0-alpha.17.tgz", - "integrity": "sha512-Z3VPUpwk/bHYqt1uMVOOK1/4xFiWQov1GNc2FvMdz6kvje4JRXEOngVI9C+bi5jeedMSHiA4dwKkff1NCvbZ9Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@docsearch/css": "^4.5.3", - "@docsearch/js": "^4.5.3", - "@docsearch/sidepanel-js": "^4.5.3", - "@iconify-json/simple-icons": "^1.2.69", - "@shikijs/core": "^3.22.0", - "@shikijs/transformers": "^3.22.0", - "@shikijs/types": "^3.22.0", - "@types/markdown-it": "^14.1.2", - "@vitejs/plugin-vue": "^6.0.4", - "@vue/devtools-api": "^8.0.5", - "@vue/shared": "^3.5.27", - "@vueuse/core": "^14.2.0", - "@vueuse/integrations": "^14.2.0", - "focus-trap": "^8.0.0", - "mark.js": "8.11.1", - "minisearch": "^7.2.0", - "shiki": "^3.22.0", - "vite": "^7.3.1", - "vue": "^3.5.27" - }, - "bin": { - "vitepress": "bin/vitepress.js" + "@esbuild/aix-ppc64": "0.27.3", + "@esbuild/android-arm": "0.27.3", + "@esbuild/android-arm64": "0.27.3", + "@esbuild/android-x64": "0.27.3", + "@esbuild/darwin-arm64": "0.27.3", + "@esbuild/darwin-x64": "0.27.3", + "@esbuild/freebsd-arm64": "0.27.3", + "@esbuild/freebsd-x64": "0.27.3", + "@esbuild/linux-arm": "0.27.3", + "@esbuild/linux-arm64": "0.27.3", + "@esbuild/linux-ia32": "0.27.3", + "@esbuild/linux-loong64": "0.27.3", + "@esbuild/linux-mips64el": "0.27.3", + "@esbuild/linux-ppc64": "0.27.3", + "@esbuild/linux-riscv64": "0.27.3", + "@esbuild/linux-s390x": "0.27.3", + "@esbuild/linux-x64": "0.27.3", + "@esbuild/netbsd-arm64": "0.27.3", + "@esbuild/netbsd-x64": "0.27.3", + "@esbuild/openbsd-arm64": "0.27.3", + "@esbuild/openbsd-x64": "0.27.3", + "@esbuild/openharmony-arm64": "0.27.3", + "@esbuild/sunos-x64": "0.27.3", + "@esbuild/win32-arm64": "0.27.3", + "@esbuild/win32-ia32": "0.27.3", + "@esbuild/win32-x64": "0.27.3" + } + }, + "node_modules/ws": { + "version": "8.20.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.20.1.tgz", + "integrity": "sha512-It4dO0K5v//JtTXuPkfEOaI3uUN87iYPnqo/ZzqCoG3g8uhA66QUMs/SrM0YK7/NAu+r4LMh/9dq2A7k+rHs+w==", + "license": "MIT", + "engines": { + "node": ">=10.0.0" }, "peerDependencies": { - "markdown-it-mathjax3": "^4", - "oxc-minify": "*", - "postcss": "^8" + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" }, "peerDependenciesMeta": { - "markdown-it-mathjax3": { - "optional": true - }, - "oxc-minify": { + "bufferutil": { "optional": true }, - "postcss": { + "utf-8-validate": { "optional": true } } }, - "node_modules/vue": { - "version": "3.5.35", - "resolved": "https://registry.npmjs.org/vue/-/vue-3.5.35.tgz", - "integrity": "sha512-cx89fnr+0kVGHiNFG6y6s0bdjypJRFNZn6x3WPstNdQR1bi1mbB7h4v5IBGTsPJU3nK1+0Iqj3Zf+hZWMieR4Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@vue/compiler-dom": "3.5.35", - "@vue/compiler-sfc": "3.5.35", - "@vue/runtime-dom": "3.5.35", - "@vue/server-renderer": "3.5.35", - "@vue/shared": "3.5.35" - }, - "peerDependencies": { - "typescript": "*" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } + "node_modules/xxhash-wasm": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/xxhash-wasm/-/xxhash-wasm-1.1.0.tgz", + "integrity": "sha512-147y/6YNh+tlp6nd/2pWq38i9h6mz/EuQ6njIrmW8D1BS5nCqs0P6DG+m6zTGnNz5I+uhZ0SHxBs9BsPrwcKDA==", + "license": "MIT" }, - "node_modules/web-resource-inliner": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/web-resource-inliner/-/web-resource-inliner-6.0.1.tgz", - "integrity": "sha512-kfqDxt5dTB1JhqsCUQVFDj0rmY+4HLwGQIsLPbyrsN9y9WV/1oFDSx3BQ4GfCv9X+jVeQ7rouTqwK53rA/7t8A==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-colors": "^4.1.1", - "escape-goat": "^3.0.0", - "htmlparser2": "^5.0.0", - "mime": "^2.4.6", - "node-fetch": "^2.6.0", - "valid-data-url": "^3.0.0" - }, + "node_modules/yargs-parser": { + "version": "22.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-22.0.0.tgz", + "integrity": "sha512-rwu/ClNdSMpkSrUb+d6BRsSkLUq1fmfsY6TOpYzTwvwkg1/NRG85KBy3kq++A8LKQwX6lsu+aWad+2khvuXrqw==", + "license": "ISC", "engines": { - "node": ">=10.0.0" + "node": "^20.19.0 || ^22.12.0 || >=23" } }, - "node_modules/web-resource-inliner/node_modules/domhandler": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-3.3.0.tgz", - "integrity": "sha512-J1C5rIANUbuYK+FuFL98650rihynUOEzRLxW+90bKZRWB6A1X1Tf82GxR1qAWLyfNPRvjqfip3Q5tdYlmAa9lA==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "domelementtype": "^2.0.1" - }, + "node_modules/yocto-queue": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.2.2.tgz", + "integrity": "sha512-4LCcse/U2MHZ63HAJVE+v71o7yOdIe4cZ70Wpf8D/IyjDKYQLV5GD46B+hSTjJsvV5PztjvHoU580EftxjDZFQ==", + "license": "MIT", "engines": { - "node": ">= 4" + "node": ">=12.20" }, "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/web-resource-inliner/node_modules/htmlparser2": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-5.0.1.tgz", - "integrity": "sha512-vKZZra6CSe9qsJzh0BjBGXo8dvzNsq/oGvsjfRdOrrryfeD9UOBEEQdeoqCRmKZchF5h2zOBMQ6YuQ0uRUmdbQ==", - "dev": true, + "node_modules/youch": { + "version": "4.1.0-beta.10", + "resolved": "https://registry.npmjs.org/youch/-/youch-4.1.0-beta.10.tgz", + "integrity": "sha512-rLfVLB4FgQneDr0dv1oddCVZmKjcJ6yX6mS4pU82Mq/Dt9a3cLZQ62pDBL4AUO+uVrCvtWz3ZFUL2HFAFJ/BXQ==", "license": "MIT", "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^3.3.0", - "domutils": "^2.4.2", - "entities": "^2.0.0" - }, - "funding": { - "url": "https://github.com/fb55/htmlparser2?sponsor=1" + "@poppinss/colors": "^4.1.5", + "@poppinss/dumper": "^0.6.4", + "@speed-highlight/core": "^1.2.7", + "cookie": "^1.0.2", + "youch-core": "^0.3.3" } }, - "node_modules/webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", - "dev": true, - "license": "BSD-2-Clause" - }, - "node_modules/whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "dev": true, + "node_modules/youch-core": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/youch-core/-/youch-core-0.3.3.tgz", + "integrity": "sha512-ho7XuGjLaJ2hWHoK8yFnsUGy2Y5uDpqSTq1FkHLK4/oqKtyUU1AFbOOxY4IpC9f0fTLjwYbslUz0Po5BpD1wrA==", "license": "MIT", "dependencies": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" + "@poppinss/exception": "^1.2.2", + "error-stack-parser-es": "^1.0.5" } }, - "node_modules/wicked-good-xpath": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/wicked-good-xpath/-/wicked-good-xpath-1.3.0.tgz", - "integrity": "sha512-Gd9+TUn5nXdwj/hFsPVx5cuHHiF5Bwuc30jZ4+ronF1qHK5O7HD0sgmXWSEgwKquT3ClLoKPVbO6qGwVwLzvAw==", - "dev": true, - "license": "MIT" + "node_modules/zod": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/zod/-/zod-4.4.3.tgz", + "integrity": "sha512-ytENFjIJFl2UwYglde2jchW2Hwm4GJFLDiSXWdTrJQBIN9Fcyp7n4DhxJEiWNAJMV1/BqWfW/kkg71UDcHJyTQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } }, "node_modules/zwitch": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz", "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==", - "dev": true, "license": "MIT", "funding": { "type": "github", diff --git a/package.json b/package.json index b3a5dc9..f492977 100644 --- a/package.json +++ b/package.json @@ -1,11 +1,30 @@ { - "devDependencies": { - "markdown-it-mathjax3": "^4.3.2", - "vitepress": "^2.0.0-alpha.17" + "name": "andromeda-wiki-astro", + "type": "module", + "version": "0.0.1", + "engines": { + "node": ">=22.12.0" }, "scripts": { - "docs:dev": "vitepress dev docs", - "docs:build": "vitepress build docs", - "docs:preview": "vitepress preview docs" + "dev": "astro dev", + "build": "astro build", + "preview": "astro preview", + "format": "prettier . --write", + "astro": "astro" + }, + "dependencies": { + "@astrojs/markdown-remark": "^7.2.0", + "@astrojs/sitemap": "^3.7.3", + "astro": "^6.4.4", + "astro-pagefind": "^2.0.0", + "katex": "^0.17.0", + "prettier": "^3.8.3", + "prettier-plugin-astro": "^0.14.1", + "rehype-autolink-headings": "^7.1.0", + "rehype-katex": "^7.0.1", + "rehype-slug": "^6.0.0", + "remark-flexible-containers": "^1.5.5", + "remark-math": "^6.0.0", + "wrangler": "^4.98.0" } } diff --git a/docs/public/ai.txt b/public/ai.txt similarity index 100% rename from docs/public/ai.txt rename to public/ai.txt diff --git a/public/apple-touch-icon.png b/public/apple-touch-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..779b3c404741810e23cc79f5de9bab3d64030d8f GIT binary patch literal 31501 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 e4b<{vW|(t}N#*=~=Hm~ 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 literal 0 HcmV?d00001 diff --git a/docs/public/assets/logos/background.png b/public/assets/logos/background.png similarity index 100% rename from docs/public/assets/logos/background.png rename to public/assets/logos/background.png diff --git a/docs/public/assets/logos/galaxy.png b/public/assets/logos/galaxy.png similarity index 100% rename from docs/public/assets/logos/galaxy.png rename to public/assets/logos/galaxy.png diff --git a/docs/public/assets/logos/logo.png b/public/assets/logos/logo.png similarity index 100% rename from docs/public/assets/logos/logo.png rename to public/assets/logos/logo.png diff --git a/docs/public/assets/logos/logo_page.png b/public/assets/logos/logo_page.png similarity index 100% rename from docs/public/assets/logos/logo_page.png rename to public/assets/logos/logo_page.png diff --git a/docs/public/assets/logos/logo_round.png b/public/assets/logos/logo_round.png similarity index 100% rename from docs/public/assets/logos/logo_round.png rename to public/assets/logos/logo_round.png diff --git a/docs/public/assets/logos/round_background.png b/public/assets/logos/round_background.png similarity index 100% rename from docs/public/assets/logos/round_background.png rename to public/assets/logos/round_background.png diff --git a/public/favicon-16x16.png b/public/favicon-16x16.png new file mode 100644 index 0000000000000000000000000000000000000000..946714bf2537d15608bd5138e13cbd9b8c7e331c GIT binary patch literal 886 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 + + + + + + + + {title} + + {description && } + + + + {description && } + + {tags.map((t) => )} + + + + + {description && } + + diff --git a/src/components/Header.astro b/src/components/Header.astro new file mode 100644 index 0000000..2e02feb --- /dev/null +++ b/src/components/Header.astro @@ -0,0 +1,94 @@ +--- +import { VERSIONS, type Version } from "../lib/versions"; +import TablerIcon from "./TablerIcon.astro"; +import { buildUrl, t, LOCALES } from "../lib/i18n"; + +import "./header.css"; + +type Props = { + locale: string; + version: Version; +}; + +const { locale, version } = Astro.props; +--- + +
+ + +
+
+
+ + + + +

{t(locale, "switch.versions")}

+ +
+ +
+ + + + +

{t(locale, "switch.language")}

+ +
+
+ + +
+
+ + diff --git a/src/components/Sidebar.astro b/src/components/Sidebar.astro new file mode 100644 index 0000000..70a8b6d --- /dev/null +++ b/src/components/Sidebar.astro @@ -0,0 +1,55 @@ +--- +import SidebarLeaf from "../components/SidebarLeaf.astro"; + +import { type Version } from "../lib/versions"; +import { t, DEFAULT_VERSION, buildUrl } from "../lib/i18n"; + +import "./sidebar.css"; + +type Props = { + locale: string; + version: Version; + translations: Map; +}; + +const { locale, version: currentVersion, translations } = Astro.props; +const version = currentVersion ?? DEFAULT_VERSION; +--- + + diff --git a/src/components/SidebarLeaf.astro b/src/components/SidebarLeaf.astro new file mode 100644 index 0000000..8350eda --- /dev/null +++ b/src/components/SidebarLeaf.astro @@ -0,0 +1,27 @@ +--- +import { type Version } from "../lib/versions"; +import { buildUrl, buildKey } from "../lib/i18n"; + +type Props = { + locale: string; + translations: Map; + version?: Version; + page?: string; +}; + +const { locale, version, translations, page } = Astro.props; +const { pathname } = Astro.url; +const url = buildUrl(locale, version ? version.semver : undefined, page); +--- + +
  • +

    + { + translations.get( + buildKey(locale, version ? version.semver : undefined, page), + ) + } +

    +
  • diff --git a/src/components/TablerIcon.astro b/src/components/TablerIcon.astro new file mode 100644 index 0000000..2681c67 --- /dev/null +++ b/src/components/TablerIcon.astro @@ -0,0 +1,12 @@ +--- +interface Props { + icon: string; +} + +const { icon } = Astro.props; +--- + + + + + diff --git a/src/components/header.css b/src/components/header.css new file mode 100644 index 0000000..878956a --- /dev/null +++ b/src/components/header.css @@ -0,0 +1,114 @@ +header { + position: fixed; + z-index: 10; + width: 100%; + max-width: calc(100vw - var(--sidebar-offset)); + top: 0; + left: 0; + height: 4rem; + max-height: 4rem; + padding-inline: 1.75rem; + + display: flex; + justify-content: space-between; + align-items: center; + + background-color: var(--color-base); + border-bottom: 0.02rem solid + color-mix(in srgb, var(--color-inv-elevation-2) 20%, transparent); + + & .wiki-title { + display: none; + + @media (width < 960px) { + display: flex; + } + } + + & .header-version, + .header-language { + position: relative; + display: inline-block; + + & summary { + display: flex; + padding: 0; + } + + & ul { + list-style-type: none; + padding-inline-start: 0; + + font-size: medium; + line-height: 1.5; + + display: flex; + flex-direction: column; + gap: 0.25rem; + + & li { + &:first-child { + a { + border-start-start-radius: 0.75rem; + border-start-end-radius: 0.75rem; + } + } + + &:last-child { + a { + border-end-start-radius: 0.75rem; + border-end-end-radius: 0.75rem; + } + } + } + + & a { + display: block; + background-color: var(--color-elevation-2); + padding: 0.5rem; + } + } + + &::details-content { + position: absolute; + top: 100%; + left: auto; + right: 0; + + border-radius: 0.75rem; + padding: 0.75rem; + + margin-block-start: 0; + + background-color: var(--color-elevation-1); + filter: drop-shadow(0 0 0.25rem rgba(0, 0, 0, 0.25)); + min-width: 200px; + max-width: 90vw; + + white-space: normal; + } + } + + & .header-links { + display: none; + align-items: center; + gap: 0.25rem; + + @media (width >= 960px) { + display: flex; + } + } + + & .header-switches { + display: flex; + align-items: center; + gap: 0.25rem; + } + + & .header-right, + .header-left { + display: flex; + align-items: center; + gap: 0.5rem; + } +} diff --git a/src/components/sidebar.css b/src/components/sidebar.css new file mode 100644 index 0000000..8174dc0 --- /dev/null +++ b/src/components/sidebar.css @@ -0,0 +1,62 @@ +:root { + --sidebar-offset: 0; + + @media (width >= 960px) { + --sidebar-offset: 272px; + } +} + +.sidebar { + position: sticky; + top: 0; + left: 0; + height: 100vh; + padding-inline: 1.5rem; + z-index: 25; + overflow-x: hidden; + overflow-y: auto; + + background-color: var(--color-elevation-1); + + & .wiki-title { + display: flex; + height: 4rem; + max-height: 4rem; + + border-bottom: 0.02rem solid + color-mix(in srgb, var(--color-inv-elevation-2) 10%, transparent); + } + + & ul { + display: flex; + flex-direction: column; + list-style-type: none; + padding-inline-start: 0; + + font-size: medium; + line-height: 1; + + & li { + & a { + display: block; + text-decoration: none; + padding-block: 0.5rem; + + & p { + font-weight: 550; + color: var(--color-inv-elevation-2); + text-decoration: inherit; + margin-block: 0; + } + + &:hover, + &:focus, + &.active { + p { + color: var(--color-link); + } + } + } + } + } +} diff --git a/src/content.config.ts b/src/content.config.ts new file mode 100644 index 0000000..c8685a0 --- /dev/null +++ b/src/content.config.ts @@ -0,0 +1,17 @@ +import { defineCollection } from "astro:content"; +import { glob } from "astro/loaders"; +import { z } from "astro/zod"; + +const docs = defineCollection({ + loader: glob({ + pattern: "**/*.{md,mdx}", + base: "./src/content/docs", + generateId: ({ entry }) => entry.replace(/\.mdx?$/, ""), + }), + schema: z.object({ + title: z.string(), + description: z.string(), + }), +}); + +export const collections = { docs }; diff --git a/docs/1.13.x/blocks.md b/src/content/docs/en-us/1.13.x/blocks.md similarity index 66% rename from docs/1.13.x/blocks.md rename to src/content/docs/en-us/1.13.x/blocks.md index 02e7b85..929f4bd 100644 --- a/docs/1.13.x/blocks.md +++ b/src/content/docs/en-us/1.13.x/blocks.md @@ -1,12 +1,12 @@ --- -lang: en-US title: Blocks description: Block related tweaks --- # Blocks -## Incubator 🐣 +## Incubator 🐣 + [![Requires Commander](https://raw.githubusercontent.com/constellation-mc/commander/documentation/docs/public/badges/requires/compacter_vector.svg)](https://modrinth.com/mod/cmd) A screenshot of an incubator, a wooden box with a glass dome on top and an egg inside the dome. @@ -15,10 +15,10 @@ A handy little device that hatches eggs for you! A small guide: -
    +
    A screenshot of two incubators, one with a campfire one block below and another with a soul campfire two blocks below. -
    • (either 1 or 2 will work.)
    -
    +
    (either 1 or 2 will work.)
    + 1. Place the incubator where you want it. 2. Since this machine cannot generate heat by itself, you will need to place a campfire under the incubator. @@ -29,13 +29,16 @@ All vanilla eggs are supported, including spawn eggs. (modded spawn eggs are sup It has some additional settings: -* Random Egg Hatch Times, makes egg hatch times a lot more random. +- Random Egg Hatch Times, makes egg hatch times a lot more random. + +
    ::: details Adding Custom Recipes Since 1.9.0, the incubator format has been extended to spawn random entities, set NBT, and execute commands as the spawned entity. Since 1.10.0, `/` commands were replaced by [Commander commands](https://constellation-mc.github.io/commander/Commands) and `time` gained support for [Expressions](https://constellation-mc.github.io/commander/Expressions). The most minimal example is: + ```json { "identifier": "minecraft:egg", @@ -45,9 +48,11 @@ The most minimal example is: "time": 2500 } ``` + This will simply spawn a chick whenever the incubator finishes incubating. But more verbose is this: + ```json { "identifier": "minecraft:turtle_egg", @@ -63,9 +68,7 @@ But more verbose is this: { "type": "commander:commands", "selector": "this_entity", - "commands": [ - "/say hi!" - ] + "commands": ["/say hi!"] } ] } @@ -79,15 +82,14 @@ As you can see, the `entries` field accepts either a single entity, or a weighte The commands are executed as an entity. So, in the case of `/say hi!` all players will receive a message from a turtle named `Poseidon`. -| Commander Contexts | | -|---|---| -| `time` | `block_state`, `block_entity`, `tool`, `origin` | -| `commands` | `this_entity`, `block_state`, `block_entity`, `tool`, `origin` | +| Commander Contexts | | +| ------------------ | -------------------------------------------------------------- | +| `time` | `block_state`, `block_entity`, `tool`, `origin` | +| `commands` | `this_entity`, `block_state`, `block_entity`, `tool`, `origin` | ::: - -## Falling Propagule +## Falling Propagule Fully grown, hanging propagules will fall after some time. @@ -96,13 +98,13 @@ Fully grown, hanging propagules will fall after some time. Your browser does not support the video tag. -## Cactus Bottle Filling 🌵 +## Cactus Bottle Filling 🌵 Lets you fill glass bottles with water using cacti. The top cactus will break and drop a dead bush after 3 uses. -## Useful Fletching Table 🏹 +## Useful Fletching Table 🏹 Tighten the string of your bow in the fletching table for improved accuracy. @@ -110,13 +112,13 @@ Tighten the string of your bow in the fletching table for improved accuracy. ::: details configuration -| Config | Description | [Expressions](https://constellation-mc.github.io/commander/Expressions) | -|---------|-------------|-------------| -| `divergenceModifier` | Controls how hard an arrow will diverge from its target. $div * modifier$ | ✅ | +| Config | Description | [Expressions](https://constellation-mc.github.io/commander/Expressions) | +| -------------------- | ------------------------------------------------------------------------- | ----------------------------------------------------------------------- | +| `divergenceModifier` | Controls how hard an arrow will diverge from its target. $div * modifier$ | ✅ | ::: -## Beds Explode Everywhere 🛏️💥 +## Beds Explode Everywhere 🛏️💥 A joke tweak making beds explode in the overworld. @@ -125,7 +127,7 @@ A joke tweak making beds explode in the overworld. Your browser does not support the video tag. -## Bed Explosion Power 💥 +## Bed Explosion Power 💥 :) @@ -134,9 +136,9 @@ A joke tweak making beds explode in the overworld. Your browser does not support the video tag. -## Guarded Loot 🛡 +## Guarded Loot 🛡 -Have you ever raided a bastion? You may have noticed that it is very easy to dig under the chest and loot from underneath. +Have you ever raided a bastion? You may have noticed that it is very easy to dig under the chest and loot from underneath. Well, this tweak forces you to kill every monster around the chest before you can loot it. Attempting to open the chest will highlight all the monsters you need to kill. Pretty RPG-esque! @@ -144,25 +146,25 @@ In versions >1.7.0 you can prevent players from breaking guarded chests. ::: details configuration -| Config | Description | [Expressions](https://constellation-mc.github.io/commander/Expressions) | -|---------|-------------|-------------| -| `range` | The range a mob must be in, to be considered a guard. | ✅ | -| `allowLockPicking` | Can a [Lockpick](./items#lockpick-%F0%9F%94%93) bypass guards? | ❌ | -| `breakingHandler` | Should guarded containers be unbreakable? | ➖ | +| Config | Description | [Expressions](https://constellation-mc.github.io/commander/Expressions) | +| ------------------ | -------------------------------------------------------------- | ----------------------------------------------------------------------- | +| `range` | The range a mob must be in, to be considered a guard. | ✅ | +| `allowLockPicking` | Can a [Lockpick](./items#lockpick-%F0%9F%94%93) bypass guards? | ❌ | +| `breakingHandler` | Should guarded containers be unbreakable? | ➖ | ::: -## Safe Beds 🛌 +## Safe Beds 🛌 Beds will NOT explode when outside the overworld. Instead, sends the player a friendly message. A scene shows a red bed placed on end stone ground near the portal. Purple plants and Endermen are in the background. A message at the bottom reads 'You can't sleep here!' A shield and items are in the hot bar. -## Leaf Slowdown 🌿🐌 +## Leaf Slowdown 🌿🐌 Makes it harder to traverse biomes on trees by slowing entities down when they are on leaves. -## Campfire Effects 🔥♥️ +## Campfire Effects 🔥♥️ Gives players configurable effects when they are within a certain range of a campfire. @@ -170,10 +172,10 @@ Gives players configurable effects when they are within a certain range of a cam ::: details configuration -| Config | Description | [Expressions](https://constellation-mc.github.io/commander/Expressions) | -|---------|-------------|-------------| -| `affectsPassive` | Should the campfire affect passive mobs? | ✅ | -| `effectsRange` | The range a campfire will give its effects in. | ✅ | -| `effectList` | The list of effects. | ✅ | +| Config | Description | [Expressions](https://constellation-mc.github.io/commander/Expressions) | +| ---------------- | ---------------------------------------------- | ----------------------------------------------------------------------- | +| `affectsPassive` | Should the campfire affect passive mobs? | ✅ | +| `effectsRange` | The range a campfire will give its effects in. | ✅ | +| `effectList` | The list of effects. | ✅ | ::: diff --git a/docs/1.13.x/bug-fixes.md b/src/content/docs/en-us/1.13.x/bug-fixes.md similarity index 80% rename from docs/1.13.x/bug-fixes.md rename to src/content/docs/en-us/1.13.x/bug-fixes.md index 3393f70..6d6b8af 100644 --- a/docs/1.13.x/bug-fixes.md +++ b/src/content/docs/en-us/1.13.x/bug-fixes.md @@ -1,5 +1,4 @@ --- -lang: en-US title: Bug Fixes description: Fixes for wierd issues --- @@ -8,9 +7,8 @@ description: Fixes for wierd issues Kind of ironic. -## Frame-Independent Advancement Shadow 🏆 +## Frame-Independent Advancement Shadow 🏆 + You know that shadow in the advancement menu when you hover over an advancement? Now it won't speed up/slow down when your frame rate changes. - - diff --git a/docs/1.13.x/entities.md b/src/content/docs/en-us/1.13.x/entities.md similarity index 55% rename from docs/1.13.x/entities.md rename to src/content/docs/en-us/1.13.x/entities.md index 096ff00..619c007 100644 --- a/docs/1.13.x/entities.md +++ b/src/content/docs/en-us/1.13.x/entities.md @@ -1,31 +1,30 @@ --- -lang: en-US title: Entities description: Entity related tweaks --- # Entities -## Ghast Tweaks 👻 +## Ghast Tweaks 👻 Currently, makes ghast explode upon death. ::: details configuration -| Config | Description | [Expressions](https://constellation-mc.github.io/commander/Expressions) | -|---------|-------------|-------------| -| `explodeOnDeath` | Should ghast explode upon death? | ✅ | -| `explosionPower` | Ghast explosion power. | ✅ | +| Config | Description | [Expressions](https://constellation-mc.github.io/commander/Expressions) | +| ---------------- | -------------------------------- | ----------------------------------------------------------------------- | +| `explodeOnDeath` | Should ghast explode upon death? | ✅ | +| `explosionPower` | Ghast explosion power. | ✅ | ::: -## Vehicle Unentrapment 🗿 +## Vehicle Unentrapment 🗿 By default, entities in vehicles refuse to leave no matter how much damage they take. This option forces the entity to leave the vehicle when it takes damage. Affected entities are controlled with the `andromeda:escape_vehicles_on_hit` tag, and vehicles with `andromeda:escapable_vehicle`. -## Minecart Speed Control 💨 +## Minecart Speed Control 💨 Allows basic control of maximum minecart speeds. There is a separate option for the furnace minecart. Values > ~1.5 are not recommended! @@ -37,43 +36,43 @@ Not all modded minecart types are supported! ::: details configuration -| Config | Description | [Expressions](https://constellation-mc.github.io/commander/Expressions) | -|---------|-------------|-------------| -| `modifier` | Speed modifier for most minecarts. | ✅ | -| `furnaceModifier` | Speed modifier for furnace minecarts. | ✅ | -| `additionalFurnaceFuel` | Fuel consumption modifier for furnace minecarts | ✅ | +| Config | Description | [Expressions](https://constellation-mc.github.io/commander/Expressions) | +| ----------------------- | ----------------------------------------------- | ----------------------------------------------------------------------- | +| `modifier` | Speed modifier for most minecarts. | ✅ | +| `furnaceModifier` | Speed modifier for furnace minecarts. | ✅ | +| `additionalFurnaceFuel` | Fuel consumption modifier for furnace minecarts | ✅ | ::: -## Zombies Don't Pick up Garbage 🧟‍♀️❌🚮 +## Zombies Don't Pick up Garbage 🧟‍♀️❌🚮 Prevent zombies from picking up things like rotten flesh. If [Throwable Items](./mechanics#throwable-items-🥏) are on, zombies will also pick up those. You can add your own items with the `andromeda:zombies_pick_up` tag! -## All Zombies Can Pick up Items 🧟‍♂️⚔ +## All Zombies Can Pick up Items 🧟‍♂️⚔ -A companion tweak to the previous one. +A companion tweak to the previous one. In vanilla, only some zombies can pick up items. The higher the difficulty, the more zombies can pick up items. This tweak allows all zombies to pick up items, regardless of difficulty. -## Snowball Tweaks ❄ +## Snowball Tweaks ❄ -* Set a custom cooldown for the use of snowballs. -* Freeze entities on hit. -* Extinguish entities on hit. -* Melt When on Fire: Snowballs will melt when set on fire. -* Build Up Layers: Snowballs freeze water and create layers of snow when hit. +- Set a custom cooldown for the use of snowballs. +- Freeze entities on hit. +- Extinguish entities on hit. +- Melt When on Fire: Snowballs will melt when set on fire. +- Build Up Layers: Snowballs freeze water and create layers of snow when hit. -## Slime Tweaks 💧 +## Slime Tweaks 💧 Small slime related tweaks. Each option can be turned on or off. -* Small slime will flee when they encounter an enemy. -* Larger slime will merge with smaller ones. In combination with the previous option, this can cause some havoc. -* Slime will slow down enemies when they attack. +- Small slime will flee when they encounter an enemy. +- Larger slime will merge with smaller ones. In combination with the previous option, this can cause some havoc. +- Slime will slow down enemies when they attack. -## Bee Flower Duplication 🌺🐝 +## Bee Flower Duplication 🌺🐝 When a bee pollinates a flower, the flower has a chance to spread, much like grass. @@ -89,19 +88,19 @@ When a bee pollinates a flower, the flower has a chance to spread, much like gra ::: details configuration -| Config | Description | [Expressions](https://constellation-mc.github.io/commander/Expressions) | -|---------|-------------|-------------| -| `tallFlowers` | Enable the tweak for tall flowers. Also removes the default flower duplication method. | ✅ | +| Config | Description | [Expressions](https://constellation-mc.github.io/commander/Expressions) | +| ------------- | -------------------------------------------------------------------------------------- | ----------------------------------------------------------------------- | +| `tallFlowers` | Enable the tweak for tall flowers. Also removes the default flower duplication method. | ✅ | ::: -## Villagers Follow Emerald Blocks 💎 +## Villagers Follow Emerald Blocks 💎 Villagers will follow you when you have an emerald block in your hand. You can specify additional items using the `andromeda:tempting_for_villagers` tag. -## Better Furnace Minecart 🛤️ +## Better Furnace Minecart 🛤️ A few tweaks to make furnace minecarts just a bit better @@ -111,18 +110,18 @@ A few tweaks to make furnace minecarts just a bit better Optionally, Furnace minecarts will take fuel from nearby inventory carts, such as minecarts with chests, hoppers and possibly modded ones. If a cart has stopped, you have to push it with your hand before it moves. -## New Minecarts 🛤️ +## New Minecarts 🛤️ - Anvil Minecart: It's heavy! - Note Block Minecart: Works the same way normal note blocks do. - Jukebox Minecart: Music on Rails! -## New Boats 🛶 +## New Boats 🛶
    A screenshot showing five different types of boats on grass. From left to right: a chest boat, a furnace-powered boat, a jukebox boat, a boat with a block of TNT, and a hopper boat. -* Boat with Furnace: I can't believe this – a furnace minecart on water! -* Boat with Hopper: Quickly pulls items inside itself. -* Boat with Jukebox: Never get bored while sailing across the ocean again! -* Boat with TNT: Very unstable, explodes on any collision. +- Boat with Furnace: I can't believe this – a furnace minecart on water! +- Boat with Hopper: Quickly pulls items inside itself. +- Boat with Jukebox: Never get bored while sailing across the ocean again! +- Boat with TNT: Very unstable, explodes on any collision. diff --git a/docs/gui.md b/src/content/docs/en-us/1.13.x/gui.md similarity index 90% rename from docs/gui.md rename to src/content/docs/en-us/1.13.x/gui.md index f7ca387..2fa1dd2 100644 --- a/docs/gui.md +++ b/src/content/docs/en-us/1.13.x/gui.md @@ -1,18 +1,17 @@ --- -lang: en-US title: GUI description: GUI and display related tweaks --- # GUI -## Tooltip, not Name 💬 +## Tooltip, not Name 💬 Display an item's tooltip instead of its name when you select that item on your hotbar. -## GUI Particles ✨ +## GUI Particles ✨ This tweak adds particle effects to various GUIs, such as the anvil, enchantment table, furnace, and the creative inventory. @@ -20,13 +19,13 @@ This tweak adds particle effects to various GUIs, such as the anvil, enchantment In the config, you can enable/disable particle effects for each GUI individually, and adjust the velocity of particles in the Creative inventory. -## No More Adventure 🏹 +## No More Adventure 🏹 Remove "Adventure Mode" from the gamemode switcher -## Item Frame Tooltips 💡 +## Item Frame Tooltips 💡 Display an in-world tooltip when you look at item frames. @@ -34,5 +33,3 @@ Display an in-world tooltip when you look at item frames. Your browser does not support the video tag. - - diff --git a/docs/1.13.x/index.md b/src/content/docs/en-us/1.13.x/index.md similarity index 93% rename from docs/1.13.x/index.md rename to src/content/docs/en-us/1.13.x/index.md index 2599506..ed547ba 100644 --- a/docs/1.13.x/index.md +++ b/src/content/docs/en-us/1.13.x/index.md @@ -1,11 +1,8 @@ --- -lang: en-US title: Home description: Andromeda wiki --- - - # Welcome to the Andromeda wiki!
    @@ -19,7 +16,6 @@ description: Andromeda wiki
    - Fabric API icon [Fabric API](https://modrinth.com/mod/fabric-api) is required! Mod Menu icon [Mod Menu](https://modrinth.com/mod/modmenu) and Cloth Config icon [Cloth Config API](https://modrinth.com/mod/cloth-config) are highly recommended on client! @@ -28,21 +24,21 @@ description: Andromeda wiki If you have a feature suggestion, don't hesitate to post it on the [Discussions page](https://github.com/melontini/andromeda/discussions/categories/ideas)! -**You can also check out the [Showcases](/showcases)!** +**You can also check out the [Showcases](/showcases)!**

    💜

    ::: danger -This mod is only available on [Modrinth](https://modrinth.com/mod/andromeda) and [GitHub](https://github.com/melontini/andromeda). If you got this mod from *anywhere* else, it may contain malware similar to [fractureiser](https://github.com/fractureiser-investigation/fractureiser). +This mod is only available on [Modrinth](https://modrinth.com/mod/andromeda) and [GitHub](https://github.com/melontini/andromeda). If you got this mod from _anywhere_ else, it may contain malware similar to [fractureiser](https://github.com/fractureiser-investigation/fractureiser). See [stop mod reposts](https://stopmodreposts.org/) for more info. You have been warned! ::: -Help translate this wiki on [GitHub](https://github.com/melontini/andromeda-wiki)! +Help translate this wiki on [GitHub](https://github.com/melontini/andromeda-wiki)! -*** +--- `This site uses Cloudflare Web Analytics.` diff --git a/docs/1.13.x/items.md b/src/content/docs/en-us/1.13.x/items.md similarity index 74% rename from docs/1.13.x/items.md rename to src/content/docs/en-us/1.13.x/items.md index 968b679..c1db32d 100644 --- a/docs/1.13.x/items.md +++ b/src/content/docs/en-us/1.13.x/items.md @@ -1,12 +1,11 @@ --- -lang: en-US title: Items description: Item related tweaks --- # Items -## Pouches 🌱🌺🌳 +## Pouches 🌱🌺🌳 A collection of plant-themed pouches! @@ -15,58 +14,58 @@ A collection of plant-themed pouches! - Sapling Pouch: Contains common sapling types. [Loot table](https://github.com/melontini/andromeda/blob/1.20-fabric/src/main/resources/data/andromeda/loot_tables/pouches/saplings.json) - Special Pouch: This pouch doesn't have it's own table, but can be configured using the `CustomLootId` NBT entry. Set to seeds by default. (provided loot table has no context!) -## Magnet 🧲 +## Magnet 🧲
    Image of an in-game menu showing a magnet item at level 2 out of 5, with various materials displayed including redstone, lapis lazuli, emerald, diamond, gold ingot, copper, quartz, and coal. -* This special magnet allows you to select items you want to attract. -* Can be upgraded 4 additional times by left-clicking with a Heart of the Sea. -* Crafted from Heart of the Sea, 4 Copper Ingots and 2 Redstone. +- This special magnet allows you to select items you want to attract. +- Can be upgraded 4 additional times by left-clicking with a Heart of the Sea. +- Crafted from Heart of the Sea, 4 Copper Ingots and 2 Redstone. ::: details configuration -| Config | Description | [Expressions](https://constellation-mc.github.io/commander/Expressions) | -|---------|-------------|-------------| -| `rangeMultiplier` | $level * rangeMultiplier$ | ✅ | +| Config | Description | [Expressions](https://constellation-mc.github.io/commander/Expressions) | +| ----------------- | ------------------------- | ----------------------------------------------------------------------- | +| `rangeMultiplier` | $level * rangeMultiplier$ | ✅ | ::: -## Tooltips 💬 +## Tooltips 💬
    A display of three items: a Compass showing a distance to spawn of 2.4, a Clock indicating the current time as 09:06, and a Recovery Compass showing a distance to the last death spot of 7.5. Adds more useful info to various tooltips. You can enable/disable each one. -* Clock. Shows current in-game time. -* Compass. Shows distance to compass' target. -* Recovery Compass. Shows distance to the last death spot. +- Clock. Shows current in-game time. +- Compass. Shows distance to compass' target. +- Recovery Compass. Shows distance to the last death spot. -## Lockpick 🔓 +## Lockpick 🔓 A creative only item that allows you to open things you shouldn't. As of 0.7.0 you can pick: -* Villager inventories. +- Villager inventories. ::: details configuration -| Config | Description | [Expressions](https://constellation-mc.github.io/commander/Expressions) | -|---------|-------------|-------------| -| `chance` | The chance for a lockpick to break. | ✅ | -| `breakAfterUse` | Should lockpicks break after use? | ✅ | +| Config | Description | [Expressions](https://constellation-mc.github.io/commander/Expressions) | +| --------------- | ----------------------------------- | ----------------------------------------------------------------------- | +| `chance` | The chance for a lockpick to break. | ✅ | +| `breakAfterUse` | Should lockpicks break after use? | ✅ | ::: -## Slightly Better Item Names ⚒⛏ +## Slightly Better Item Names ⚒⛏ Show item durability (in %) if durability is < 100% or item count if count is > 1 -## Infinite Totem of Undying ♾️♥️ +## Infinite Totem of Undying ♾️♥️
    A Minecraft beacon is shown on a structure made of diamond and netherite blocks at night. The beacon emits a bright vertical beam of light into the sky, and a glowing item frame is displayed beside it, there's a yellow totem with glowing white eyes in it. The surrounding area includes grass and trees under a dark sky. @@ -75,7 +74,7 @@ Show item durability (in %) if durability is < 100% or item count if count is > To get one of these "totally not OP" totems, you need to have a level 4 beacon made from diamond and netherite blocks. -The beacon must follow this pattern: +The beacon must follow this pattern: ``` B @@ -91,7 +90,7 @@ Now throw a nether star and a totem onto the beacon and watch them ascend. You can also disable ascension in the config and create your own way to get the totem! -## Balanced Mending ⚒️ +## Balanced Mending ⚒️ Balances mending a bit, by making it remove the "Too Expensive" error instead of repairing items via XP. @@ -99,7 +98,7 @@ Also sets anvil's XP cap to 40 levels, but not really because the cap is 40 + th Inspired by TheMisterEpic's "This Minecraft Enchantment has been BROKEN for 3 YEARS..." video -## Minecart Block Picking 🥒 +## Minecart Block Picking 🥒 Allows you to "pick up" blocks using minecarts. All contents and some properties are copied to the cart. @@ -109,4 +108,3 @@ For the sake of balance, you can configure whether players can "pick up" spawner Your browser does not support the video tag. - diff --git a/docs/1.13.x/mechanics.md b/src/content/docs/en-us/1.13.x/mechanics.md similarity index 58% rename from docs/1.13.x/mechanics.md rename to src/content/docs/en-us/1.13.x/mechanics.md index a9378c8..ce32ba5 100644 --- a/docs/1.13.x/mechanics.md +++ b/src/content/docs/en-us/1.13.x/mechanics.md @@ -1,24 +1,24 @@ --- -lang: en-US title: Mechanics description: Things and stuff idk --- # Mechanics -## Villager Gifting 🎁 +## Villager Gifting 🎁 Restore some reputation by giving gifts to villagers! This option adds 4 new tags: -* `andromeda:villager_gifts/major_positive` gives 15 reputation -* `andromeda:villager_gifts/minor_positive` gives 3 reputation -* `andromeda:villager_gifts/major_negative` takes 15 reputation -* `andromeda:villager_gifts/minor_negative` takes 3 reputation + +- `andromeda:villager_gifts/major_positive` gives 15 reputation +- `andromeda:villager_gifts/minor_positive` gives 3 reputation +- `andromeda:villager_gifts/major_negative` takes 15 reputation +- `andromeda:villager_gifts/minor_negative` takes 3 reputation You can see default items here: [andromeda/tags/items/villager_gifts/](https://github.com/melontini/andromeda/tree/1.19-fabric/src/main/resources/data/andromeda/tags/items/villager_gifts) -## Dragon Fight Tweaks 🐉 +## Dragon Fight Tweaks 🐉 ### 1. Respawn Crystals @@ -38,22 +38,22 @@ Reduce the range in which the dragon can heal itself with crystals from 32 block All newly generated spikes will be shorter. -## Throwable Items 🥏 +## Throwable Items 🥏 + [![Requires Commander](https://raw.githubusercontent.com/constellation-mc/commander/documentation/docs/public/badges/requires/compacter_vector.svg)](https://modrinth.com/mod/cmd) -Throw certain items, which would otherwise be useless* +Throw certain items, which would otherwise be useless\* ::: details Throwable items as of 0.5.0 +- Bone Meal +- Glowing and Normal Ink Sacs +- All Dyes +- Nether and Normal Bricks +- Fire Charge +- Gun Powder -* Bone Meal -* Glowing and Normal Ink Sacs -* All Dyes -* Nether and Normal Bricks -* Fire Charge -* Gun Powder - -Ideas welcome! +Ideas welcome! ::: @@ -98,32 +98,30 @@ Example: `events` is a list of mini subscriptions to flying entity events. -| Event | | -|---|---| -| `block` | Executed when the item hits a block. | -| `entity` | Executed when the item hits an entity. | -| `miss` | Executed when the item misses. | -| `any` | Executed after any of the previous events. | +| Event | | +| -------- | ------------------------------------------ | +| `block` | Executed when the item hits a block. | +| `entity` | Executed when the item hits an entity. | +| `miss` | Executed when the item misses. | +| `any` | Executed after any of the previous events. | `commands` is a list of [Commander commands](https://constellation-mc.github.io/commander/Commands). Other things: -| Parameter | | -|---|---| -| `override_vanilla` | If true, prevents **ALL** vanilla behaviors from being executed. This should never be used on block items, as it will make the block unplaceable. | -| `disabled` | Disables all behaviors for this item. | -| `complement` | If false, disables all other behaviors. | -| `cooldown` | Set a custom cooldown for your item (in ticks). Accepts numbers and [Expressions](https://constellation-mc.github.io/commander/Expressions) | +| Parameter | | +| ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------- | +| `override_vanilla` | If true, prevents **ALL** vanilla behaviors from being executed. This should never be used on block items, as it will make the block unplaceable. | +| `disabled` | Disables all behaviors for this item. | +| `complement` | If false, disables all other behaviors. | +| `cooldown` | Set a custom cooldown for your item (in ticks). Accepts numbers and [Expressions](https://constellation-mc.github.io/commander/Expressions) | ::: -## Wandering Trader Horn 🐐 +## Wandering Trader Horn 🐐 Every 2 days, you can blow the "sing" horn to summon a wandering trader. Please note that wandering traders will still spawn naturally You can disable the "doTraderSpawning" gamerule if you don't want them to. - - diff --git a/docs/1.13.x/misc.md b/src/content/docs/en-us/1.13.x/misc.md similarity index 84% rename from docs/1.13.x/misc.md rename to src/content/docs/en-us/1.13.x/misc.md index 30b5b3d..8b478bb 100644 --- a/docs/1.13.x/misc.md +++ b/src/content/docs/en-us/1.13.x/misc.md @@ -1,18 +1,17 @@ --- -lang: en-US title: Misc description: Other tweaks and non-tweaks --- # Misc -## Tiny Storage 📦 +## Tiny Storage 📦 Store items in the 2x2 crafting space! By default, this option will follow the `keepInventory` game rule, but can be configured to always keep the items. -## Auto-generate Recipe Advancements 📗 +## Auto-generate Recipe Advancements 📗 > Totally goes well with [RBIP](https://modrinth.com/mod/rbip) @@ -20,19 +19,19 @@ By default, all items are required to unlock a recipe, but you can choose to req The following configuration options are available: -* Require All Items: When this option is enabled, players must find all items in a recipe before it is unlocked in the recipe book. +- Require All Items: When this option is enabled, players must find all items in a recipe before it is unlocked in the recipe book. -* Ignore Recipes Hidden in the Recipe Book: Enabling this option will prevent the generation of advancements for recipe types that are hidden in the recipe book. +- Ignore Recipes Hidden in the Recipe Book: Enabling this option will prevent the generation of advancements for recipe types that are hidden in the recipe book. -* Blacklisted Namespaces: This option allows you to specify namespaces (part of an ID before `:`) to be excluded from advancement generation. +- Blacklisted Namespaces: This option allows you to specify namespaces (part of an ID before `:`) to be excluded from advancement generation. -* Blacklisted IDs: This option allows you to specify recipe IDs to be excluded from advancement generation. +- Blacklisted IDs: This option allows you to specify recipe IDs to be excluded from advancement generation. -## Minor Inconvenience 💥 +## Minor Inconvenience 💥 Players will explode after taking any damage. Have fun! ❤️ -## Auto-Update Translations 🔁 +## Auto-Update Translations 🔁 Download latest translations directly from GitHub. @@ -43,18 +42,20 @@ This will download, if available, your currently selected language and EN-US. Upload client crash reports, only if `andromeda` is found in the trace. Uploaded data: -- Environment (e.g. client), -- OS version (e.g. Windows 11), -- Platform (e.g. Fabric), -- Java (e.g. 17 Oracle Corp), -- Bootstrap status (e.g Discovery), + +- Environment (e.g. client), +- OS version (e.g. Windows 11), +- Platform (e.g. Fabric), +- Java (e.g. 17 Oracle Corp), +- Bootstrap status (e.g Discovery), - Certain loaded mods. ::: tip Info Data is sent to Mixpanel EU servers. Unlike analytical data, this data doesn't have a unique ID attached. Everything is sent to a singular Crash UUID (`be4db047-16df-4e41-9121-f1e87618ddea`) ::: -## Config Expressions 👩‍💻 +## Config Expressions 👩‍💻 + [![Requires Commander](https://raw.githubusercontent.com/constellation-mc/commander/documentation/docs/public/badges/requires/compacter_vector.svg)](https://modrinth.com/mod/cmd) With the new config system introduced in 1.12.0, Andromeda gained support for Commander expressions right in the config. In most cases only `game` configs support expressions. @@ -82,8 +83,7 @@ This allows you to replace a bunch of boolean toggles and number values with exp } ``` - -## Data Pack Configs 🧩 +## Data Pack Configs 🧩 Datapack configs work similarly to recipes, but instead of the path being your recipe ID, it's Andromeda's module ID. For example: `config/andromeda/world/moist_control.json` becomes `data/{pack id}/andromeda/scoped_config/world/moist_control.json`. These work like overlays, where only the specified options are modified. @@ -120,4 +120,4 @@ Andromeda 1.4.2 introduces `andromeda:default`. A special key that is applied to All per-world and per-dimension configs can be reloaded using `/reload`! -## ??? +## ??? diff --git a/docs/1.13.x/world.md b/src/content/docs/en-us/1.13.x/world.md similarity index 91% rename from docs/1.13.x/world.md rename to src/content/docs/en-us/1.13.x/world.md index b4dd95f..fc9db1b 100644 --- a/docs/1.13.x/world.md +++ b/src/content/docs/en-us/1.13.x/world.md @@ -1,12 +1,11 @@ --- -lang: en-US title: World description: World related tweaks --- # World -## Loot Barrels 💎 +## Loot Barrels 💎 Add random barrels with loot to caves! @@ -14,17 +13,17 @@ Add random barrels with loot to caves! By default, barrels will contain same loot as a village toolsmith. You should be able to change the loot and decorations by overriding the feature using a data pack! -## Moist Control 💦 +## Moist Control 💦 Control farmland hydration range. As simple as that! -## Self Planting Crops 🌾 +## Self Planting Crops 🌾 If possible, plants will plant themselves after some time. Since 0.7.0 you can white/blacklist plants. Based on [TinyTweaks](https://www.curseforge.com/minecraft/mc-mods/tinytweaks) by HephaestusDev -## Falling Bee Nests 🐝 +## Falling Bee Nests 🐝 Randomly, bee nests will fall from their trees, making the bees inside homeless & if a player is nearby, very angry. @@ -42,13 +41,12 @@ Arrows also work! Your browser does not support the video tag. -## Temperature Based Crop Growth Speed 🌡️ +## Temperature Based Crop Growth Speed 🌡️ When this option is on, plants will only grow in their preferred temperatures, e.g. cacti will only grow in deserts, nether and savannas. This option is data-driven! Checkout [this](https://github.com/melontini/andromeda/blob/1.20-fabric/src/main/resources/data/andromeda/andromeda/crop_temperatures/crops/minecraft_wheat.json) for an example and more info. -## Fast Fire Spread 🔥 +## Fast Fire Spread 🔥 Fire will spread much faster and wider. - diff --git a/docs/blocks.md b/src/content/docs/en-us/2.1.x/blocks.md similarity index 78% rename from docs/blocks.md rename to src/content/docs/en-us/2.1.x/blocks.md index 8b27942..4669f91 100644 --- a/docs/blocks.md +++ b/src/content/docs/en-us/2.1.x/blocks.md @@ -1,5 +1,4 @@ --- -lang: en-US title: Blocks description: Block related tweaks --- @@ -29,8 +28,8 @@ Tighten the string of your bow in the fletching table for improved accuracy. ::: details configuration -| Config | Description | -|---------|-------------| +| Config | Description | +| -------------------- | ------------------------------------------------------------------------- | | `divergenceModifier` | Controls how hard an arrow will diverge from its target. $div * modifier$ | ::: @@ -55,7 +54,7 @@ A joke tweak making beds explode in the overworld. ## Guarded Loot 🛡 -Have you ever raided a bastion? You may have noticed that it is very easy to dig under the chest and loot from underneath. +Have you ever raided a bastion? You may have noticed that it is very easy to dig under the chest and loot from underneath. Well, this tweak forces you to kill every monster around the chest before you can loot it. Attempting to open the chest will highlight all the monsters you need to kill. Pretty RPG-esque! @@ -63,11 +62,11 @@ In versions >1.7.0 you can prevent players from breaking guarded chests. ::: details configuration -| Config | Description | -|---------|-------------| -| `range` | The range a mob must be in, to be considered a guard. | +| Config | Description | +| ------------------ | -------------------------------------------------------------- | +| `range` | The range a mob must be in, to be considered a guard. | | `allowLockPicking` | Can a [Lockpick](./items#lockpick-%F0%9F%94%93) bypass guards? | -| `breakingHandler` | Should guarded containers be unbreakable? | +| `breakingHandler` | Should guarded containers be unbreakable? | ::: @@ -89,10 +88,10 @@ Gives players configurable effects when they are within a certain range of a cam ::: details configuration -| Config | Description | -|---------|-------------| -| `affectsPassive` | Should the campfire affect passive mobs? | -| `effectsRange` | The range a campfire will give its effects in. | -| `effectList` | The list of effects. | +| Config | Description | +| ---------------- | ---------------------------------------------- | +| `affectsPassive` | Should the campfire affect passive mobs? | +| `effectsRange` | The range a campfire will give its effects in. | +| `effectList` | The list of effects. | ::: diff --git a/docs/bug-fixes.md b/src/content/docs/en-us/2.1.x/bug-fixes.md similarity index 80% rename from docs/bug-fixes.md rename to src/content/docs/en-us/2.1.x/bug-fixes.md index 3393f70..6d6b8af 100644 --- a/docs/bug-fixes.md +++ b/src/content/docs/en-us/2.1.x/bug-fixes.md @@ -1,5 +1,4 @@ --- -lang: en-US title: Bug Fixes description: Fixes for wierd issues --- @@ -8,9 +7,8 @@ description: Fixes for wierd issues Kind of ironic. -## Frame-Independent Advancement Shadow 🏆 +## Frame-Independent Advancement Shadow 🏆 + You know that shadow in the advancement menu when you hover over an advancement? Now it won't speed up/slow down when your frame rate changes. - - diff --git a/docs/entities.md b/src/content/docs/en-us/2.1.x/entities.md similarity index 63% rename from docs/entities.md rename to src/content/docs/en-us/2.1.x/entities.md index 90a8c6b..8723fd8 100644 --- a/docs/entities.md +++ b/src/content/docs/en-us/2.1.x/entities.md @@ -1,33 +1,32 @@ --- -lang: en-US title: Entities description: Entity related tweaks --- # Entities -## Ghast Tweaks 👻 +## Ghast Tweaks 👻 -Currently, makes ghast explode upon death, and optionally, +Currently, makes ghast explode upon death, and optionally, makes fireball explosions convert obsidian into crying obsidian. ::: details configuration -| Config | Description | -|---------|------------- -| `explodeOnDeath` | Should ghast explode upon death? | -| `explosionPower` | Ghast explosion power. | +| Config | Description | +| -------------------------- | --------------------------------------------------------------- | +| `explodeOnDeath` | Should ghast explode upon death? | +| `explosionPower` | Ghast explosion power. | | `fireBallsConvertObsidian` | Chast fireball explosions convert obidian into crying obsidian. | ::: -## Vehicle Unentrapment 🗿 +## Vehicle Unentrapment 🗿 By default, entities in vehicles refuse to leave no matter how much damage they take. This option forces the entity to leave the vehicle when it takes damage. Affected entities are controlled with the `andromeda:escape_vehicles_on_hit` tag, and vehicles with `andromeda:escapable_vehicle`. -## Minecart Speed Control 💨 +## Minecart Speed Control 💨 Allows basic control of maximum minecart speeds. There is a separate option for the furnace minecart. Values > ~1.5 are not recommended! @@ -39,43 +38,43 @@ Not all modded minecart types are supported! ::: details configuration -| Config | Description | -|---------|-------------| -| `modifier` | Speed modifier for most minecarts. | -| `furnaceModifier` | Speed modifier for furnace minecarts. | +| Config | Description | +| ----------------------- | ----------------------------------------------- | +| `modifier` | Speed modifier for most minecarts. | +| `furnaceModifier` | Speed modifier for furnace minecarts. | | `additionalFurnaceFuel` | Fuel consumption modifier for furnace minecarts | ::: -## Zombies Don't Pick up Garbage 🧟‍♀️❌🚮 +## Zombies Don't Pick up Garbage 🧟‍♀️❌🚮 Prevent zombies from picking up things like rotten flesh. You can add your own items with the `andromeda:zombies_pick_up` tag! -## All Zombies Can Pick up Items 🧟‍♂️⚔ +## All Zombies Can Pick up Items 🧟‍♂️⚔ -A companion tweak to the previous one. +A companion tweak to the previous one. In vanilla, only some zombies can pick up items. The higher the difficulty, the more zombies can pick up items. This tweak allows all zombies to pick up items, regardless of difficulty. -## Snowball Tweaks ❄ +## Snowball Tweaks ❄ -* Set a custom cooldown for the use of snowballs. -* Freeze entities on hit. -* Extinguish entities on hit. -* Melt When on Fire: Snowballs will melt when set on fire. -* Build Up Layers: Snowballs freeze water and create layers of snow when hit. +- Set a custom cooldown for the use of snowballs. +- Freeze entities on hit. +- Extinguish entities on hit. +- Melt When on Fire: Snowballs will melt when set on fire. +- Build Up Layers: Snowballs freeze water and create layers of snow when hit. -## Slime Tweaks 💧 +## Slime Tweaks 💧 Small slime related tweaks. Each option can be turned on or off. -* Small slime will flee when they encounter an enemy. -* Larger slime will merge with smaller ones. In combination with the previous option, this can cause some havoc. -* Slime will slow down enemies when they attack. +- Small slime will flee when they encounter an enemy. +- Larger slime will merge with smaller ones. In combination with the previous option, this can cause some havoc. +- Slime will slow down enemies when they attack. -## Bee Flower Duplication 🌺🐝 +## Bee Flower Duplication 🌺🐝 When a bee pollinates a flower, the flower has a chance to spread, much like grass. @@ -91,19 +90,19 @@ When a bee pollinates a flower, the flower has a chance to spread, much like gra ::: details configuration -| Config | Description | -|---------|-------------| +| Config | Description | +| ------------- | -------------------------------------------------------------------------------------- | | `tallFlowers` | Enable the tweak for tall flowers. Also removes the default flower duplication method. | ::: -## Villagers Follow Emerald Blocks 💎 +## Villagers Follow Emerald Blocks 💎 Villagers will follow you when you have an emerald block in your hand. You can specify additional items using the `andromeda:tempting_for_villagers` tag. -## Furnace Minecart Tweaks🛤️ +## Furnace Minecart Tweaks🛤️ A few tweaks to make furnace minecarts just a bit more useful @@ -113,18 +112,18 @@ A few tweaks to make furnace minecarts just a bit more useful Optionally, Furnace minecarts will take fuel from nearby inventory carts, such as minecarts with chests, hoppers and possibly modded ones. If a cart has stopped, it has to be pushed before it moves. -## New Minecarts 🛤️ +## New Minecarts 🛤️ - Anvil Minecart: It's heavy! - Note Block Minecart: Works the same way normal note blocks do. - Jukebox Minecart: Music on Rails! -## New Boats 🛶 +## New Boats 🛶
    A screenshot showing five different types of boats on grass. From left to right: a chest boat, a furnace-powered boat, a jukebox boat, a boat with a block of TNT, and a hopper boat. -* Boat with Furnace: I can't believe this – a furnace minecart on water! -* Boat with Hopper: Quickly pulls items inside itself. -* Boat with Jukebox: Never get bored while sailing across the ocean again! -* Boat with TNT: Very unstable, explodes on any collision. +- Boat with Furnace: I can't believe this – a furnace minecart on water! +- Boat with Hopper: Quickly pulls items inside itself. +- Boat with Jukebox: Never get bored while sailing across the ocean again! +- Boat with TNT: Very unstable, explodes on any collision. diff --git a/docs/1.13.x/gui.md b/src/content/docs/en-us/2.1.x/gui.md similarity index 90% rename from docs/1.13.x/gui.md rename to src/content/docs/en-us/2.1.x/gui.md index f7ca387..2fa1dd2 100644 --- a/docs/1.13.x/gui.md +++ b/src/content/docs/en-us/2.1.x/gui.md @@ -1,18 +1,17 @@ --- -lang: en-US title: GUI description: GUI and display related tweaks --- # GUI -## Tooltip, not Name 💬 +## Tooltip, not Name 💬 Display an item's tooltip instead of its name when you select that item on your hotbar. -## GUI Particles ✨ +## GUI Particles ✨ This tweak adds particle effects to various GUIs, such as the anvil, enchantment table, furnace, and the creative inventory. @@ -20,13 +19,13 @@ This tweak adds particle effects to various GUIs, such as the anvil, enchantment In the config, you can enable/disable particle effects for each GUI individually, and adjust the velocity of particles in the Creative inventory. -## No More Adventure 🏹 +## No More Adventure 🏹 Remove "Adventure Mode" from the gamemode switcher -## Item Frame Tooltips 💡 +## Item Frame Tooltips 💡 Display an in-world tooltip when you look at item frames. @@ -34,5 +33,3 @@ Display an in-world tooltip when you look at item frames. Your browser does not support the video tag. - - diff --git a/docs/index.md b/src/content/docs/en-us/2.1.x/index.md similarity index 92% rename from docs/index.md rename to src/content/docs/en-us/2.1.x/index.md index b83c1ce..e9b3c10 100644 --- a/docs/index.md +++ b/src/content/docs/en-us/2.1.x/index.md @@ -1,11 +1,8 @@ --- -lang: en-US title: Home description: Andromeda wiki --- - - # Welcome to the Andromeda wiki!
    @@ -19,7 +16,6 @@ description: Andromeda wiki
    - [Fabric API](https://modrinth.com/mod/fabric-api) and [Pulsar](https://modrinth.com/mod/pulsar) are required! [Mod Menu](https://modrinth.com/mod/modmenu) and [Cloth Config API](https://modrinth.com/mod/cloth-config) are highly recommended! @@ -28,20 +24,20 @@ description: Andromeda wiki If you have a feature suggestion, don't hesitate to post it on the [Discussions page](https://github.com/constellation-mc/andromeda/discussions/categories/ideas)! -**You can also check out the [Showcases](/showcases)!** +**You can also check out the [Showcases](/showcases)!**

    💜

    ::: danger -This mod is only available on [Modrinth](https://modrinth.com/mod/andromeda), [CurseForge](https://www.curseforge.com/minecraft/mc-mods/andromeda) and [GitHub](https://github.com/constellation-mc/andromeda). If you got this mod from *anywhere* else, it may contain malware similar to [fractureiser](https://github.com/fractureiser-investigation/fractureiser). +This mod is only available on [Modrinth](https://modrinth.com/mod/andromeda), [CurseForge](https://www.curseforge.com/minecraft/mc-mods/andromeda) and [GitHub](https://github.com/constellation-mc/andromeda). If you got this mod from _anywhere_ else, it may contain malware similar to [fractureiser](https://github.com/fractureiser-investigation/fractureiser). See [stop mod reposts](https://stopmodreposts.org/) for more info. You have been warned! ::: -Help translate this wiki on [GitHub](https://github.com/constellation-mc/andromeda-wiki)! +Help translate this wiki on [GitHub](https://github.com/constellation-mc/andromeda-wiki)! -*** +--- Creative Commons License
    Andromeda wiki by zenfyr and contributors is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License. diff --git a/docs/items.md b/src/content/docs/en-us/2.1.x/items.md similarity index 82% rename from docs/items.md rename to src/content/docs/en-us/2.1.x/items.md index dafffea..bb889d3 100644 --- a/docs/items.md +++ b/src/content/docs/en-us/2.1.x/items.md @@ -1,12 +1,11 @@ --- -lang: en-US title: Items description: Item related tweaks --- # Items -## Pouches 🌱🌺🌳 +## Pouches 🌱🌺🌳 A collection of plant-themed pouches! @@ -15,58 +14,58 @@ A collection of plant-themed pouches! - Sapling Pouch: Contains common sapling types. [Loot table](https://github.com/constellation-mc/andromeda/blob/1.20-fabric/src/main/resources/data/andromeda/loot_tables/pouches/saplings.json) - Special Pouch: This pouch doesn't have it's own table, but can be configured using the `CustomLootId` NBT entry. Set to seeds by default. (provided loot table has no context!) -## Magnet 🧲 +## Magnet 🧲
    Image of an in-game menu showing a magnet item at level 2 out of 5, with various materials displayed including redstone, lapis lazuli, emerald, diamond, gold ingot, copper, quartz, and coal. -* This special magnet allows you to select items you want to attract. -* Can be upgraded 4 additional times by left-clicking with a Heart of the Sea. -* Crafted from Heart of the Sea, 4 Copper Ingots and 2 Redstone. +- This special magnet allows you to select items you want to attract. +- Can be upgraded 4 additional times by left-clicking with a Heart of the Sea. +- Crafted from Heart of the Sea, 4 Copper Ingots and 2 Redstone. ::: details configuration -| Config | Description | -|---------|-------------| +| Config | Description | +| ----------------- | ------------------------- | | `rangeMultiplier` | $level * rangeMultiplier$ | ::: -## Tooltips 💬 +## Tooltips 💬
    A display of three items: a Compass showing a distance to spawn of 2.4, a Clock indicating the current time as 09:06, and a Recovery Compass showing a distance to the last death spot of 7.5. Adds more useful info to various tooltips. You can enable/disable each one. -* Clock. Shows current in-game time. -* Compass. Shows distance to compass' target. -* Recovery Compass. Shows distance to the last death spot. +- Clock. Shows current in-game time. +- Compass. Shows distance to compass' target. +- Recovery Compass. Shows distance to the last death spot. -## Lockpick 🔓 +## Lockpick 🔓 A creative only item that allows you to open things you shouldn't. As of 0.7.0 you can pick: -* Villager inventories. +- Villager inventories. ::: details configuration -| Config | Description | -|---------|-------------| -| `chance` | The chance for a lockpick to break. | -| `breakAfterUse` | Should lockpicks break after use? | +| Config | Description | +| --------------- | ----------------------------------- | +| `chance` | The chance for a lockpick to break. | +| `breakAfterUse` | Should lockpicks break after use? | ::: -## Informative Item Names ⚒⛏ +## Informative Item Names ⚒⛏ Show item durability (in %) if durability is < 100% or item count if count is > 1 -## Infinite Totem of Undying ♾️♥️ +## Infinite Totem of Undying ♾️♥️
    A Minecraft beacon is shown on a structure made of diamond and netherite blocks at night. The beacon emits a bright vertical beam of light into the sky, and a glowing item frame is displayed beside it, there's a yellow totem with glowing white eyes in it. The surrounding area includes grass and trees under a dark sky. @@ -75,7 +74,7 @@ Show item durability (in %) if durability is < 100% or item count if count is > To get one of these "totally not OP" totems, you need to have a level 4 beacon made from diamond and netherite blocks. -The beacon must follow this pattern: +The beacon must follow this pattern: ``` B @@ -91,7 +90,7 @@ Now throw a nether star and a totem onto the beacon and watch them ascend. You can also disable ascension in the config and create your own way to get the totem! -## Mending Tweaks ⚒️ +## Mending Tweaks ⚒️ Tweaks mending by making it remove the "Too Expensive" error instead of repairing items via XP. @@ -99,7 +98,7 @@ Also sets anvil's XP cap to 40 levels, but not really because the cap is 40 + th Inspired by TheMisterEpic's "This Minecraft Enchantment has been BROKEN for 3 YEARS..." video -## Minecart Block Picking 🥒 +## Minecart Block Picking 🥒 Allows you to "pick up" blocks using minecarts. All contents and some properties are copied to the cart. diff --git a/docs/mechanics.md b/src/content/docs/en-us/2.1.x/mechanics.md similarity index 59% rename from docs/mechanics.md rename to src/content/docs/en-us/2.1.x/mechanics.md index 77f8d78..5451dfa 100644 --- a/docs/mechanics.md +++ b/src/content/docs/en-us/2.1.x/mechanics.md @@ -1,5 +1,4 @@ --- -lang: en-US title: Mechanics description: Things and stuff idk --- @@ -16,29 +15,30 @@ This option adds an `andromeda:linkers` tag, to allow using chains from other mo ::: details configuration -| Config | Description | -|---------|-------------| +| Config | Description | +| --------------------- | ------------------------------------------------------------------------------------------------------------ | | `pathfindingDistance` | The maximum distance a cart will follow its parent for. Carts will break apart if their distance is greater. | -| `velocityMultiplier` | Multiplies the speed of the following cart. | -| `distance` | The minimum spacing between carts. | -| `chunkloading` | Linked carts will load chunks as they move. | -| `chunkloadingRadius` | The radius of chunks that a given cart will load. | +| `velocityMultiplier` | Multiplies the speed of the following cart. | +| `distance` | The minimum spacing between carts. | +| `chunkloading` | Linked carts will load chunks as they move. | +| `chunkloadingRadius` | The radius of chunks that a given cart will load. | ::: -## Villager Gifting 🎁 +## Villager Gifting 🎁 Restore some reputation by giving gifts to villagers! This option adds 4 new tags: -* `andromeda:villager_gifts/major_positive` gives 15 reputation -* `andromeda:villager_gifts/minor_positive` gives 3 reputation -* `andromeda:villager_gifts/major_negative` takes 15 reputation -* `andromeda:villager_gifts/minor_negative` takes 3 reputation + +- `andromeda:villager_gifts/major_positive` gives 15 reputation +- `andromeda:villager_gifts/minor_positive` gives 3 reputation +- `andromeda:villager_gifts/major_negative` takes 15 reputation +- `andromeda:villager_gifts/minor_negative` takes 3 reputation The defaults can be found here: [andromeda/tags/items/villager_gifts/](https://github.com/constellation-mc/andromeda/tree/1.19-fabric/src/main/resources/data/andromeda/tags/items/villager_gifts) -## Dragon Fight Tweaks 🐉 +## Dragon Fight Tweaks 🐉 ### 1. Respawn Crystals @@ -58,12 +58,10 @@ Reduce the range in which the dragon can heal itself with crystals from 32 block All newly generated spikes will be shorter. -## Wandering Trader Horn 🐐 +## Wandering Trader Horn 🐐 Every 2 days, you can blow the "sing" horn to summon a wandering trader. Please note that wandering traders will still spawn naturally You can disable the "doTraderSpawning" gamerule if you don't want them to. - - diff --git a/docs/misc.md b/src/content/docs/en-us/2.1.x/misc.md similarity index 83% rename from docs/misc.md rename to src/content/docs/en-us/2.1.x/misc.md index 0ecd245..b2c8fb3 100644 --- a/docs/misc.md +++ b/src/content/docs/en-us/2.1.x/misc.md @@ -1,18 +1,17 @@ --- -lang: en-US title: Misc description: Other tweaks and non-tweaks --- # Misc -## Tiny Storage 📦 +## Tiny Storage 📦 Store items in the 2x2 crafting space! By default, this option will follow the `keepInventory` game rule, but can be configured to always keep the items. -## Auto-generate Recipe Advancements 📗 +## Auto-generate Recipe Advancements 📗 > Totally goes well with [RBIP](https://modrinth.com/mod/rbip) @@ -20,25 +19,25 @@ By default, all items are required to unlock a recipe, but you can choose to req The following configuration options are available: -* Require All Items: When this option is enabled, players must find all items in a recipe before it is unlocked in the recipe book. +- Require All Items: When this option is enabled, players must find all items in a recipe before it is unlocked in the recipe book. -* Ignore Recipes Hidden in the Recipe Book: Enabling this option will prevent the generation of advancements for recipe types that are hidden in the recipe book. +- Ignore Recipes Hidden in the Recipe Book: Enabling this option will prevent the generation of advancements for recipe types that are hidden in the recipe book. -* Blacklisted Namespaces: This option allows you to specify namespaces (part of an ID before `:`) to be excluded from advancement generation. +- Blacklisted Namespaces: This option allows you to specify namespaces (part of an ID before `:`) to be excluded from advancement generation. -* Blacklisted IDs: This option allows you to specify recipe IDs to be excluded from advancement generation. +- Blacklisted IDs: This option allows you to specify recipe IDs to be excluded from advancement generation. -## Minor Inconvenience 💥 +## Minor Inconvenience 💥 Players will explode after taking any damage. Have fun! ❤️ -## Auto-Update Translations 🔁 +## Auto-Update Translations 🔁 Download latest translations directly from GitHub. This will download, if available, your currently selected language and EN-US. -## Data Pack Configs 🧩 +## Data Pack Configs 🧩 Datapack configs work similarly to recipes, but instead of the path being your recipe ID, it's Andromeda's module ID. For example: `config/andromeda/world/moist_control.json` becomes `data/{pack id}/andromeda/scoped_config/world/moist_control.json`. These work like overlays, where only the specified options are modified. @@ -75,4 +74,4 @@ Andromeda 1.4.2 introduces `andromeda:default`. A special key that is applied to All per-world and per-dimension configs can be reloaded using `/reload`! -## ??? +## ??? diff --git a/docs/world.md b/src/content/docs/en-us/2.1.x/world.md similarity index 91% rename from docs/world.md rename to src/content/docs/en-us/2.1.x/world.md index 1fc46e3..6eea9df 100644 --- a/docs/world.md +++ b/src/content/docs/en-us/2.1.x/world.md @@ -1,12 +1,11 @@ --- -lang: en-US title: World description: World related tweaks --- # World -## Loot Barrels 💎 +## Loot Barrels 💎 Add random barrels with loot to caves! @@ -14,17 +13,17 @@ Add random barrels with loot to caves! By default, barrels will contain same loot as a village toolsmith. You should be able to change the loot and decorations by overriding the feature using a data pack! -## Moist Control 💦 +## Moist Control 💦 Control farmland hydration range. As simple as that! -## Self Planting Crops 🌾 +## Self Planting Crops 🌾 If possible, plants will plant themselves after some time. Since 0.7.0 you can white/blacklist plants. Based on [TinyTweaks](https://www.curseforge.com/minecraft/mc-mods/tinytweaks) by HephaestusDev -## Falling Bee Nests 🐝 +## Falling Bee Nests 🐝 Randomly, bee nests will fall from their trees, making the bees inside homeless & if a player is nearby, very angry. @@ -42,13 +41,12 @@ Arrows also work! Your browser does not support the video tag. -## Temperature Based Crop Growth Speed 🌡️ +## Temperature Based Crop Growth Speed 🌡️ When this option is on, plants will only grow in their preferred temperatures, e.g. cacti will only grow in deserts, nether and savannas. This option is data-driven! Checkout [this](https://github.com/constellation-mc/andromeda/blob/1.20-fabric/src/main/resources/data/andromeda/andromeda/crop_temperatures/crops/minecraft_wheat.json) for an example and more info. -## Fast Fire Spread 🔥 +## Fast Fire Spread 🔥 Fire will spread much faster and wider. - diff --git a/docs/assets.md b/src/content/docs/en-us/assets.md similarity index 99% rename from docs/assets.md rename to src/content/docs/en-us/assets.md index 1eaadbc..fcea5cd 100644 --- a/docs/assets.md +++ b/src/content/docs/en-us/assets.md @@ -49,4 +49,4 @@ Thin Banner ::: -

    Andromeda Assets by constellation-mc is licensed under CC BY 4.0

    \ No newline at end of file +

    Andromeda Assets by constellation-mc is licensed under CC BY 4.0

    diff --git a/docs/showcases.md b/src/content/docs/en-us/showcases.md similarity index 96% rename from docs/showcases.md rename to src/content/docs/en-us/showcases.md index 7781eb3..084aa14 100644 --- a/docs/showcases.md +++ b/src/content/docs/en-us/showcases.md @@ -9,23 +9,26 @@ description: Showcases of the mod! ## Videos ### By CraisinLord (0.9.0): +
    ### 🇩🇪 By VegaCraft (0.9.2): +
    ### By yorkmouse (0.6.0): +
    ## Modpacks -
    +
    ### Forget Me Not @@ -43,4 +46,4 @@ An immersive, artistic, yet performant modpack.
    -Using Andromeda in a project? Contact [zenfyr](https://zenfyr.dev/contact/) to have the project added to this page! \ No newline at end of file +Using Andromeda in a project? Contact [zenfyr](https://zenfyr.dev/contact/) to have the project added to this page! diff --git a/docs/zh-cn/1.13.x/blocks.md b/src/content/docs/zh-cn/1.13.x/blocks.md similarity index 70% rename from docs/zh-cn/1.13.x/blocks.md rename to src/content/docs/zh-cn/1.13.x/blocks.md index af02969..89e09b7 100644 --- a/docs/zh-cn/1.13.x/blocks.md +++ b/src/content/docs/zh-cn/1.13.x/blocks.md @@ -1,5 +1,4 @@ --- -lang: zh-CN title: 方块 description: 方块相关调整 --- @@ -7,6 +6,7 @@ description: 方块相关调整 # 方块 ## 孵蛋器 🐣 + [![需要命令官模组](https://raw.githubusercontent.com/constellation-mc/commander/documentation/docs/public/badges/requires/compacter_vector.svg)](https://modrinth.com/mod/cmd) 一张孵蛋器的游戏内图片,它是一个顶上有玻璃,装有蛋的木盒子。 @@ -15,10 +15,10 @@ description: 方块相关调整 上手指南: -
    +
    -
    • (一个或者两个都行)
    -
    +
    (一个或者两个都行)
    + 1. 在你想要的地方放下孵蛋器。 2. 因为这个器械无法自动生热,所以你需要在它的底下放置一个营火。 @@ -29,13 +29,16 @@ description: 方块相关调整 这里是一些额外的设置项: -* 随机化孵化时间,大幅随机化孵蛋器的孵化时间。 +- 随机化孵化时间,大幅随机化孵蛋器的孵化时间。 + +
    ::: details 自定义行为 从 1.9.0 起,孵蛋器支持生成随机实体,设置 NBT,以及在孵化完成时执行命令。1.10.0 后,`/` 样式的命令被[命令官模组的命令](https://constellation-mc.github.io/commander/zh-cn/Commands)取代了,并且 `time` 支持使用[表达式](https://constellation-mc.github.io/commander/zh-cn/Expressions)。 下面是最简单的例子: + ```json { "identifier": "minecraft:egg", @@ -45,9 +48,11 @@ description: 方块相关调整 "time": 2500 } ``` + 孵蛋器孵化完成后,将会生成一只小鸡。 我们也可以来得复杂些: + ```json { "identifier": "minecraft:turtle_egg", @@ -63,9 +68,7 @@ description: 方块相关调整 { "type": "commander:commands", "selector": "this_entity", - "commands": [ - "/say hi!" - ] + "commands": ["/say hi!"] } ] } @@ -79,14 +82,13 @@ description: 方块相关调整 指令是由生物执行的。与普通的 `/say hi!` 不同,所有玩家都会收到来自海龟 `Poseidon` 的问候消息。 -| 命令官上下文 | | -|---|---| -| `time` | `block_state`, `block_entity`, `tool`, `origin` | -| `commands` | `this_entity`, `block_state`, `block_entity`, `tool`, `origin` | +| 命令官上下文 | | +| ------------ | -------------------------------------------------------------- | +| `time` | `block_state`, `block_entity`, `tool`, `origin` | +| `commands` | `this_entity`, `block_state`, `block_entity`, `tool`, `origin` | ::: - ## 胎生苗掉落 成熟后,悬挂的红树胎生苗会掉下来。 @@ -110,9 +112,9 @@ description: 方块相关调整 ::: details configuration -| 配置项 | 描述 | [表达式](https://constellation-mc.github.io/commander/Expressions) | -|---------|-------------|-------------| -| `divergenceModifier` | 决定箭矢的偏离程度。 $div * modifier$ | ✅ | +| 配置项 | 描述 | [表达式](https://constellation-mc.github.io/commander/Expressions) | +| -------------------- | ------------------------------------- | ------------------------------------------------------------------ | +| `divergenceModifier` | 决定箭矢的偏离程度。 $div * modifier$ | ✅ | ::: @@ -144,11 +146,11 @@ description: 方块相关调整 :: details configuration -| 配置项 | 描述 | [表达式](https://constellation-mc.github.io/commander/zh-cn/Expressions) | -|---------|-------------|-------------| -| `range` | 怪物在这个距离内可以守护容器。 | ✅ | -| `allowLockPicking` | 是否[开锁器](./items#开锁器-%F0%9F%94%93)可以无视宝藏守卫? | ❌ | -| `breakingHandler` | 被守护的容器是否无法破坏? | ➖ | +| 配置项 | 描述 | [表达式](https://constellation-mc.github.io/commander/zh-cn/Expressions) | +| ------------------ | ----------------------------------------------------------- | ------------------------------------------------------------------------ | +| `range` | 怪物在这个距离内可以守护容器。 | ✅ | +| `allowLockPicking` | 是否[开锁器](./items#开锁器-%F0%9F%94%93)可以无视宝藏守卫? | ❌ | +| `breakingHandler` | 被守护的容器是否无法破坏? | ➖ | ::: @@ -158,7 +160,7 @@ description: 方块相关调整 靠近传送门,一张红色床在末地石上。背景有末影人和紫色的植物。底部显示消息:“你不能在这里睡觉!”在快捷栏中,有盾牌和其他物品。 -## 树叶缓速 🌿🐌 +## 树叶缓速 🌿🐌 通过减速树叶上的实体,使群系间旅行更加有挑战性。 @@ -170,10 +172,10 @@ description: 方块相关调整 ::: details configuration -| 配置项 | 描述 | [表达式](https://constellation-mc.github.io/commander/zh-cn/Expressions) | -|---------|-------------|-------------| -| `affectsPassive` | 是否营火效果影响友善生物? | ✅ | -| `effectsRange` | 营火给予效果的范围。 | ✅ | -| `effectList` | 效果列表。 | ✅ | +| 配置项 | 描述 | [表达式](https://constellation-mc.github.io/commander/zh-cn/Expressions) | +| ---------------- | -------------------------- | ------------------------------------------------------------------------ | +| `affectsPassive` | 是否营火效果影响友善生物? | ✅ | +| `effectsRange` | 营火给予效果的范围。 | ✅ | +| `effectList` | 效果列表。 | ✅ | ::: diff --git a/docs/zh-cn/1.13.x/bug-fixes.md b/src/content/docs/zh-cn/1.13.x/bug-fixes.md similarity index 95% rename from docs/zh-cn/1.13.x/bug-fixes.md rename to src/content/docs/zh-cn/1.13.x/bug-fixes.md index 1d5b9a6..635a12a 100644 --- a/docs/zh-cn/1.13.x/bug-fixes.md +++ b/src/content/docs/zh-cn/1.13.x/bug-fixes.md @@ -1,5 +1,4 @@ --- -lang: zh-CN title: Bug 修复 description: 修复一些奇奇怪怪的问题 --- @@ -9,6 +8,7 @@ description: 修复一些奇奇怪怪的问题 说来有点讽刺。 ## 独立成就阴影渲染 🏆 + 你知道当你鼠标放在成就界面上的成就时的阴影吗? 现在它不会因为你的帧数改变而加速或减速了。 diff --git a/docs/zh-cn/1.13.x/entities.md b/src/content/docs/zh-cn/1.13.x/entities.md similarity index 63% rename from docs/zh-cn/1.13.x/entities.md rename to src/content/docs/zh-cn/1.13.x/entities.md index 0dcb608..0efc6a6 100644 --- a/docs/zh-cn/1.13.x/entities.md +++ b/src/content/docs/zh-cn/1.13.x/entities.md @@ -1,21 +1,20 @@ --- -lang: zh-CN title: 实体 description: 实体相关调整 --- # 实体 -## 恶魂调整 👻 +## 恶魂调整 👻 目前特性:让恶魂死亡时爆炸。 ::: details configuration -| 配置项 | 描述 | [表达式](https://constellation-mc.github.io/commander/zh-cn/Expressions) | -|---------|-------------|-------------| -| `explodeOnDeath` | 恶魂是否在死亡时爆炸? | ✅ | -| `explosionPower` | 恶魂爆炸的强度。 | ✅ | +| 配置项 | 描述 | [表达式](https://constellation-mc.github.io/commander/zh-cn/Expressions) | +| ---------------- | ---------------------- | ------------------------------------------------------------------------ | +| `explodeOnDeath` | 恶魂是否在死亡时爆炸? | ✅ | +| `explosionPower` | 恶魂爆炸的强度。 | ✅ | ::: @@ -27,11 +26,11 @@ description: 实体相关调整 ::: details configuration -| 配置项 | 描述 | [表达式](https://constellation-mc.github.io/commander/zh-cn/Expressions) | -|---------|-------------|-------------| -| `modifier` | 矿车速度的调整数。 | ✅ | -| `furnaceModifier` | 动力矿车速度的调整数。 | ✅ | -| `additionalFurnaceFuel` | 动力矿车燃料消耗的调整数。 | ✅ | +| 配置项 | 描述 | [表达式](https://constellation-mc.github.io/commander/zh-cn/Expressions) | +| ----------------------- | -------------------------- | ------------------------------------------------------------------------ | +| `modifier` | 矿车速度的调整数。 | ✅ | +| `furnaceModifier` | 动力矿车速度的调整数。 | ✅ | +| `additionalFurnaceFuel` | 动力矿车燃料消耗的调整数。 | ✅ | ::: @@ -59,19 +58,19 @@ description: 实体相关调整 ## 雪球调整 ❄ -* 设定雪球的投掷冷却时间。 -* 冻结受击实体。 -* 为受击实体灭火。 -* 着火融化:雪球着火时会融化消失。 -* 落地覆雪:雪球能够冻结水,并为被砸中的方块覆盖雪。 +- 设定雪球的投掷冷却时间。 +- 冻结受击实体。 +- 为受击实体灭火。 +- 着火融化:雪球着火时会融化消失。 +- 落地覆雪:雪球能够冻结水,并为被砸中的方块覆盖雪。 ## 史莱姆调整 💧 史莱姆相关调整。每个选项都可以被单独启用或禁用。 -* 小型史莱姆会逃离遭遇的敌人。 -* 大型史莱姆可以融合小型史莱姆。在现有的选项下,这可能带来一些小麻烦。 -* 史莱姆减速接触到的实体。 +- 小型史莱姆会逃离遭遇的敌人。 +- 大型史莱姆可以融合小型史莱姆。在现有的选项下,这可能带来一些小麻烦。 +- 史莱姆减速接触到的实体。 ## 蜜蜂催生花丛 🌺🐝 @@ -89,9 +88,9 @@ description: 实体相关调整 ::: details configuration -| 配置项 | 描述 | [表达式](https://constellation-mc.github.io/commander/zh-cn/Expressions) | -|---------|-------------|-------------| -| `tallFlowers` | 为两格高的花朵启用调整,同时移除默认的花朵催生方法。 | ✅ | +| 配置项 | 描述 | [表达式](https://constellation-mc.github.io/commander/zh-cn/Expressions) | +| ------------- | ---------------------------------------------------- | ------------------------------------------------------------------------ | +| `tallFlowers` | 为两格高的花朵启用调整,同时移除默认的花朵催生方法。 | ✅ | ::: @@ -122,7 +121,7 @@ description: 实体相关调整
    截图中,草方块上有物种不同的船。从左到右分别是:箱船,载熔炉的船,载唱片机的船,载TNT的船,以及载漏斗的船。 -* 载熔炉的船:谁敢想,有朝一日会有这样的船行于水上! -* 载漏斗的船:快速装入物品。 -* 载唱片机的船:航海从未如此有趣! -* 载TNT的船:一触即爆,非常不稳定。 +- 载熔炉的船:谁敢想,有朝一日会有这样的船行于水上! +- 载漏斗的船:快速装入物品。 +- 载唱片机的船:航海从未如此有趣! +- 载TNT的船:一触即爆,非常不稳定。 diff --git a/docs/zh-cn/1.13.x/gui.md b/src/content/docs/zh-cn/1.13.x/gui.md similarity index 98% rename from docs/zh-cn/1.13.x/gui.md rename to src/content/docs/zh-cn/1.13.x/gui.md index 00973e0..8cd12a4 100644 --- a/docs/zh-cn/1.13.x/gui.md +++ b/src/content/docs/zh-cn/1.13.x/gui.md @@ -1,5 +1,4 @@ --- -lang: zh-CN title: GUI description: GUI 和屏幕显示的相关调整 --- diff --git a/docs/zh-cn/1.13.x/index.md b/src/content/docs/zh-cn/1.13.x/index.md similarity index 95% rename from docs/zh-cn/1.13.x/index.md rename to src/content/docs/zh-cn/1.13.x/index.md index 9c356c1..ab55990 100644 --- a/docs/zh-cn/1.13.x/index.md +++ b/src/content/docs/zh-cn/1.13.x/index.md @@ -1,5 +1,4 @@ --- -lang: zh-CN title: 主页 description: 群星模组维基 --- @@ -17,7 +16,7 @@ description: 群星模组维基
    -Fabric API icon 必要前置:[Fabric API](https://modrinth.com/mod/fabric-api) +Fabric API icon 必要前置:[Fabric API](https://modrinth.com/mod/fabric-api) Mod Menu icon 强烈推荐客户端使用 [Mod Menu](https://modrinth.com/mod/modmenu) 和 Cloth Config icon [Cloth Config API](https://modrinth.com/mod/cloth-config)! @@ -25,7 +24,7 @@ description: 群星模组维基 如果你想建议某个特性,别犹豫,发在这里吧:[讨论页面](https://github.com/melontini/andromeda/discussions/categories/ideas)! -**别忘了看看[模组介绍](/zh-cn/showcases)!** +**别忘了看看[模组介绍](/zh-cn/showcases)!**

    💜

    @@ -39,7 +38,7 @@ description: 群星模组维基 你可以在这里 [GitHub](https://github.com/melontini/andromeda-wiki) 帮助翻译这个维基! -*** +--- `本网站使用 Cloudflare Web Analytics 进行网站监控。` diff --git a/docs/zh-cn/1.13.x/items.md b/src/content/docs/zh-cn/1.13.x/items.md similarity index 79% rename from docs/zh-cn/1.13.x/items.md rename to src/content/docs/zh-cn/1.13.x/items.md index 782df7d..fb46bda 100644 --- a/docs/zh-cn/1.13.x/items.md +++ b/src/content/docs/zh-cn/1.13.x/items.md @@ -1,5 +1,4 @@ --- -lang: zh-CN title: 物品 description: 物品相关调整 --- @@ -20,15 +19,15 @@ description: 物品相关调整
    图片中,游戏内界面展示了 2 级的,最高 5 级的磁铁,以及红石,青金石。绿宝石,钻石,金锭。铜,石英和煤炭。 -* 可以吸引指定物品的神奇磁铁。 -* 可通过海洋之心左键升级,最多指定四种物品。 -* 由海洋之心,四块铜锭和两份红石粉制成。 +- 可以吸引指定物品的神奇磁铁。 +- 可通过海洋之心左键升级,最多指定四种物品。 +- 由海洋之心,四块铜锭和两份红石粉制成。 ::: details configuration -| 配置项 | 描述 | [表达式](https://constellation-mc.github.io/commander/zh-cn/Expressions) | -|---------|-------------|-------------| -| `rangeMultiplier` | $level * rangeMultiplier$ | ✅ | +| 配置项 | 描述 | [表达式](https://constellation-mc.github.io/commander/zh-cn/Expressions) | +| ----------------- | ------------------------- | ------------------------------------------------------------------------ | +| `rangeMultiplier` | $level * rangeMultiplier$ | ✅ | ::: @@ -39,9 +38,9 @@ description: 物品相关调整 为一些物品的工具提示添加了更多有用的信息。你可以单独禁用它们。 -* 时钟:显示当前游戏时间。 -* 指南针:显示离指南针目标的距离。 -* 追溯指南针:显示离上次死亡点的距离。 +- 时钟:显示当前游戏时间。 +- 指南针:显示离指南针目标的距离。 +- 追溯指南针:显示离上次死亡点的距离。 ## 开锁器 🔓 @@ -49,14 +48,14 @@ description: 物品相关调整 在 0.7.0 版本,你可以撬开: -* 村民的物品栏。 +- 村民的物品栏。 ::: details configuration -| 配置项 | 描述 | [表达式](https://constellation-mc.github.io/commander/zh-cn/Expressions) | -|---------|-------------|-------------| -| `chance` | 开锁的成功率。 | ✅ | -| `breakAfterUse` | 开锁器是否使用后销毁? | ✅ | +| 配置项 | 描述 | [表达式](https://constellation-mc.github.io/commander/zh-cn/Expressions) | +| --------------- | ---------------------- | ------------------------------------------------------------------------ | +| `chance` | 开锁的成功率。 | ✅ | +| `breakAfterUse` | 开锁器是否使用后销毁? | ✅ | ::: diff --git a/docs/zh-cn/1.13.x/mechanics.md b/src/content/docs/zh-cn/1.13.x/mechanics.md similarity index 66% rename from docs/zh-cn/1.13.x/mechanics.md rename to src/content/docs/zh-cn/1.13.x/mechanics.md index ee3f739..23a7684 100644 --- a/docs/zh-cn/1.13.x/mechanics.md +++ b/src/content/docs/zh-cn/1.13.x/mechanics.md @@ -1,5 +1,4 @@ --- -lang: zh-CN title: 机制 description: 一些机制,还有一些数不上名的小玩意 --- @@ -11,10 +10,11 @@ description: 一些机制,还有一些数不上名的小玩意 使玩家能够通过给村民送礼来恢复一定的声望值! 这一选项下有四个新增的标签: -* `andromeda:villager_gifts/major_positive` 下的物品将获得 15 点声望 -* `andromeda:villager_gifts/minor_positive` 下的物品将获得 3 点声望 -* `andromeda:villager_gifts/major_negative` 下的物品将扣除 15 点声望 -* `andromeda:villager_gifts/minor_negative` 下的物品将扣除 3 点声望 + +- `andromeda:villager_gifts/major_positive` 下的物品将获得 15 点声望 +- `andromeda:villager_gifts/minor_positive` 下的物品将获得 3 点声望 +- `andromeda:villager_gifts/major_negative` 下的物品将扣除 15 点声望 +- `andromeda:villager_gifts/minor_negative` 下的物品将扣除 3 点声望 你可以在这里 [andromeda/tags/items/villager_gifts/](https://github.com/melontini/andromeda/tree/1.19-fabric/src/main/resources/data/andromeda/tags/items/villager_gifts) 查看礼品预设。 @@ -39,19 +39,19 @@ description: 一些机制,还有一些数不上名的小玩意 让新生成的黑曜石柱更短。 ## 可投掷物品 🥏 + [![需要命令官模组](https://raw.githubusercontent.com/constellation-mc/commander/documentation/docs/public/badges/requires/compacter_vector.svg)](https://modrinth.com/mod/cmd) -使一些 本来可能用不上* 的物品变得可投掷。 +使一些 本来可能用不上\* 的物品变得可投掷。 ::: details 0.5.0 版本中,可投掷的物品 - -* 骨粉 -* 墨囊和发光墨囊 -* 所有染料 -* 普通砖头和下界砖 -* 火焰弹 -* 火药 +- 骨粉 +- 墨囊和发光墨囊 +- 所有染料 +- 普通砖头和下界砖 +- 火焰弹 +- 火药 欢迎提供新点子! @@ -98,23 +98,23 @@ description: 一些机制,还有一些数不上名的小玩意 `events` 是一系列对投掷物实体事件的迷你订阅(监听)。 -| 事件 | | -|---|---| -| `block` | 击中方块时执行 | -| `entity` | 击中实体时执行 | -| `miss` | 错过目标时执行 | -| `any` | 在以上所有事件之后执行 | +| 事件 | | +| -------- | ---------------------- | +| `block` | 击中方块时执行 | +| `entity` | 击中实体时执行 | +| `miss` | 错过目标时执行 | +| `any` | 在以上所有事件之后执行 | `commands` 是一系列[命令官模组中的命令](https://constellation-mc.github.io/commander/zh-cn/Commands)。 其他: -| 参数 | | -|---|---| -| `override_vanilla` | 若为 true,阻止**所有**原版行为。不推荐用于方块物品,因为你会无法放置它们 | -| `disabled` | 阻止该物品的所有行为 | -| `complement` | 若为 false,阻止该物品的所有非投掷行为 | -| `cooldown` | 设置投掷冷却(刻)。接受数字与[表达式](https://constellation-mc.github.io/commander/zh-cn/Expressions) | +| 参数 | | +| ------------------ | ------------------------------------------------------------------------------------------------------ | +| `override_vanilla` | 若为 true,阻止**所有**原版行为。不推荐用于方块物品,因为你会无法放置它们 | +| `disabled` | 阻止该物品的所有行为 | +| `complement` | 若为 false,阻止该物品的所有非投掷行为 | +| `cooldown` | 设置投掷冷却(刻)。接受数字与[表达式](https://constellation-mc.github.io/commander/zh-cn/Expressions) | ::: diff --git a/docs/zh-cn/1.13.x/misc.md b/src/content/docs/zh-cn/1.13.x/misc.md similarity index 90% rename from docs/zh-cn/1.13.x/misc.md rename to src/content/docs/zh-cn/1.13.x/misc.md index 1abdac1..fc08f5c 100644 --- a/docs/zh-cn/1.13.x/misc.md +++ b/src/content/docs/zh-cn/1.13.x/misc.md @@ -1,12 +1,11 @@ --- -lang: zh-CN title: 杂项 description: 其它调整和非调整 --- # 杂项 -## 微存储 📦 +## 微存储 📦 允许玩家在背包的 2x2 合成位存放至多四组物品。 @@ -20,13 +19,13 @@ description: 其它调整和非调整 此特性有下列配置项: -* 万事俱备:启用后,玩家需要获得配方中的所有物品,来解锁配方书中的对应配方。 +- 万事俱备:启用后,玩家需要获得配方中的所有物品,来解锁配方书中的对应配方。 -* 无视未在配方书中解锁的配方:不为配方书中隐藏的配方生成成就。 +- 无视未在配方书中解锁的配方:不为配方书中隐藏的配方生成成就。 -* 关键字黑名单:让你能够通过指定关键字(冒号前字符的一部分)来禁用其自动配方成就生成。 +- 关键字黑名单:让你能够通过指定关键字(冒号前字符的一部分)来禁用其自动配方成就生成。 -* ID 黑名单:此选项让你能够通过指定配方 ID 来禁用其自动配方成就生成。 +- ID 黑名单:此选项让你能够通过指定配方 ID 来禁用其自动配方成就生成。 ## 小麻烦 💥 @@ -43,6 +42,7 @@ description: 其它调整和非调整 如果在栈跟踪中发现了“andromeda”,则上传客户端错误报告。 上传的数据: + - 环境(如客户端), - 系统版本(如 Windows 11), - 加载器(如 Fabric) @@ -54,7 +54,8 @@ description: 其它调整和非调整 数据将被上传到欧洲的 Mixpanel 服务器。与分析数据不同,这些数据并不会有独特的 ID 作为标识。所有的数据都会以崩溃 UUID 的形式上传(`be4db047-16df-4e41-9121-f1e87618ddea`)。 ::: -## 配置表达式 👩‍💻 +## 配置表达式 👩‍💻 + [![需要命令官模组](https://raw.githubusercontent.com/constellation-mc/commander/documentation/docs/public/badges/requires/compacter_vector.svg)](https://modrinth.com/mod/cmd) 在 1.12.0 新引入的配置系统中,配置文件支持使用命令官模组的表达式。大多情况下,只有 `game`(游戏类)配置支持表达式。 @@ -82,8 +83,7 @@ description: 其它调整和非调整 } ``` - -## 数据包配置 🧩 +## 数据包配置 🧩 和用数据包修改配方类似,只是在这里,要改的不是配方 ID,而是本模组的特性 ID。比如:`config/andromeda/world/moist_control.json` 到数据包里配置,就是 `data/{数据包名称}/andromeda/scoped_config/world/moist_control.json`。原理是部分覆盖。 @@ -120,4 +120,4 @@ description: 其它调整和非调整 所有“存档”和“维度”分化的配置都可以通过 `/reload` 命令重载! -## ??? +## ??? diff --git a/docs/zh-cn/1.13.x/world.md b/src/content/docs/zh-cn/1.13.x/world.md similarity index 94% rename from docs/zh-cn/1.13.x/world.md rename to src/content/docs/zh-cn/1.13.x/world.md index a29d272..807f04d 100644 --- a/docs/zh-cn/1.13.x/world.md +++ b/src/content/docs/zh-cn/1.13.x/world.md @@ -1,12 +1,11 @@ --- -lang: zh-CN title: 世界 description: 世界相关调整 --- # 世界 -## 意外之喜 💎 +## 意外之喜 💎 向洞穴内添加了装有战利品的木桶! @@ -48,6 +47,6 @@ description: 世界相关调整 这一选项是基于数据包的!你可以在[这里](https://github.com/melontini/andromeda/blob/1.19-fabric/src/main/resources/data/andromeda/andromeda/crop_temperatures/crops/minecraft_wheat.json)查看例子,以及更多信息。 -## 凶猛火势 🔥 +## 凶猛火势 🔥 使得火势能够蔓延得更快更广。 diff --git a/docs/zh-cn/blocks.md b/src/content/docs/zh-cn/2.1.x/blocks.md similarity index 80% rename from docs/zh-cn/blocks.md rename to src/content/docs/zh-cn/2.1.x/blocks.md index d1637a7..7323776 100644 --- a/docs/zh-cn/blocks.md +++ b/src/content/docs/zh-cn/2.1.x/blocks.md @@ -1,5 +1,4 @@ --- -lang: zh-CN title: 方块 description: 方块相关调整 --- @@ -29,8 +28,8 @@ description: 方块相关调整 ::: details configuration -| 配置项 | 描述 | -|---------|-------------| +| 配置项 | 描述 | +| -------------------- | ------------------------------------- | | `divergenceModifier` | 决定箭矢的偏离程度。 $div * modifier$ | ::: @@ -63,11 +62,11 @@ description: 方块相关调整 :: details configuration -| 配置项 | 描述 | -|---------|-------------| -| `range` | 怪物在这个距离内可以守护容器。 | -| `allowLockPicking` | 是否[开锁器](./items#开锁器-%F0%9F%94%93)可以无视宝藏守卫? | ❌ | -| `breakingHandler` | 被守护的容器是否无法破坏? | ➖ | +| 配置项 | 描述 | +| ------------------ | ----------------------------------------------------------- | --- | +| `range` | 怪物在这个距离内可以守护容器。 | +| `allowLockPicking` | 是否[开锁器](./items#开锁器-%F0%9F%94%93)可以无视宝藏守卫? | ❌ | +| `breakingHandler` | 被守护的容器是否无法破坏? | ➖ | ::: @@ -77,7 +76,7 @@ description: 方块相关调整 靠近传送门,一张红色床在末地石上。背景有末影人和紫色的植物。底部显示消息:“你不能在这里睡觉!”在快捷栏中,有盾牌和其他物品。 -## 树叶缓速 🌿🐌 +## 树叶缓速 🌿🐌 通过减速树叶上的实体,使群系间旅行更加有挑战性。 @@ -89,10 +88,10 @@ description: 方块相关调整 ::: details configuration -| 配置项 | 描述 | -|---------|-------------| +| 配置项 | 描述 | +| ---------------- | -------------------------- | | `affectsPassive` | 是否营火效果影响友善生物? | -| `effectsRange` | 营火给予效果的范围。 | -| `effectList` | 效果列表。 | +| `effectsRange` | 营火给予效果的范围。 | +| `effectList` | 效果列表。 | ::: diff --git a/docs/zh-cn/bug-fixes.md b/src/content/docs/zh-cn/2.1.x/bug-fixes.md similarity index 95% rename from docs/zh-cn/bug-fixes.md rename to src/content/docs/zh-cn/2.1.x/bug-fixes.md index 1d5b9a6..635a12a 100644 --- a/docs/zh-cn/bug-fixes.md +++ b/src/content/docs/zh-cn/2.1.x/bug-fixes.md @@ -1,5 +1,4 @@ --- -lang: zh-CN title: Bug 修复 description: 修复一些奇奇怪怪的问题 --- @@ -9,6 +8,7 @@ description: 修复一些奇奇怪怪的问题 说来有点讽刺。 ## 独立成就阴影渲染 🏆 + 你知道当你鼠标放在成就界面上的成就时的阴影吗? 现在它不会因为你的帧数改变而加速或减速了。 diff --git a/docs/zh-cn/entities.md b/src/content/docs/zh-cn/2.1.x/entities.md similarity index 77% rename from docs/zh-cn/entities.md rename to src/content/docs/zh-cn/2.1.x/entities.md index 84d1783..2b07363 100644 --- a/docs/zh-cn/entities.md +++ b/src/content/docs/zh-cn/2.1.x/entities.md @@ -1,21 +1,20 @@ --- -lang: zh-CN title: 实体 description: 实体相关调整 --- # 实体 -## 恶魂调整 👻 +## 恶魂调整 👻 目前特性:让恶魂死亡时爆炸。 ::: details configuration -| 配置项 | 描述 | -|---------|-------------| +| 配置项 | 描述 | +| ---------------- | ---------------------- | | `explodeOnDeath` | 恶魂是否在死亡时爆炸? | -| `explosionPower` | 恶魂爆炸的强度。 | +| `explosionPower` | 恶魂爆炸的强度。 | ::: @@ -27,10 +26,10 @@ description: 实体相关调整 ::: details configuration -| 配置项 | 描述 | -|---------|-------------| -| `modifier` | 矿车速度的调整数。 | -| `furnaceModifier` | 动力矿车速度的调整数。 | +| 配置项 | 描述 | +| ----------------------- | -------------------------- | +| `modifier` | 矿车速度的调整数。 | +| `furnaceModifier` | 动力矿车速度的调整数。 | | `additionalFurnaceFuel` | 动力矿车燃料消耗的调整数。 | ::: @@ -59,19 +58,19 @@ description: 实体相关调整 ## 雪球调整 ❄ -* 设定雪球的投掷冷却时间。 -* 冻结受击实体。 -* 为受击实体灭火。 -* 着火融化:雪球着火时会融化消失。 -* 落地覆雪:雪球能够冻结水,并为被砸中的方块覆盖雪。 +- 设定雪球的投掷冷却时间。 +- 冻结受击实体。 +- 为受击实体灭火。 +- 着火融化:雪球着火时会融化消失。 +- 落地覆雪:雪球能够冻结水,并为被砸中的方块覆盖雪。 ## 史莱姆调整 💧 史莱姆相关调整。每个选项都可以被单独启用或禁用。 -* 小型史莱姆会逃离遭遇的敌人。 -* 大型史莱姆可以融合小型史莱姆。在现有的选项下,这可能带来一些小麻烦。 -* 史莱姆减速接触到的实体。 +- 小型史莱姆会逃离遭遇的敌人。 +- 大型史莱姆可以融合小型史莱姆。在现有的选项下,这可能带来一些小麻烦。 +- 史莱姆减速接触到的实体。 ## 蜜蜂催生花丛 🌺🐝 @@ -89,8 +88,8 @@ description: 实体相关调整 ::: details configuration -| 配置项 | 描述 | -|---------|-------------| +| 配置项 | 描述 | +| ------------- | ---------------------------------------------------- | | `tallFlowers` | 为两格高的花朵启用调整,同时移除默认的花朵催生方法。 | ::: @@ -122,7 +121,7 @@ description: 实体相关调整
    截图中,草方块上有物种不同的船。从左到右分别是:箱船,载熔炉的船,载唱片机的船,载TNT的船,以及载漏斗的船。 -* 载熔炉的船:谁敢想,有朝一日会有这样的船行于水上! -* 载漏斗的船:快速装入物品。 -* 载唱片机的船:航海从未如此有趣! -* 载TNT的船:一触即爆,非常不稳定。 +- 载熔炉的船:谁敢想,有朝一日会有这样的船行于水上! +- 载漏斗的船:快速装入物品。 +- 载唱片机的船:航海从未如此有趣! +- 载TNT的船:一触即爆,非常不稳定。 diff --git a/docs/zh-cn/gui.md b/src/content/docs/zh-cn/2.1.x/gui.md similarity index 98% rename from docs/zh-cn/gui.md rename to src/content/docs/zh-cn/2.1.x/gui.md index 00973e0..8cd12a4 100644 --- a/docs/zh-cn/gui.md +++ b/src/content/docs/zh-cn/2.1.x/gui.md @@ -1,5 +1,4 @@ --- -lang: zh-CN title: GUI description: GUI 和屏幕显示的相关调整 --- diff --git a/docs/zh-cn/index.md b/src/content/docs/zh-cn/2.1.x/index.md similarity index 95% rename from docs/zh-cn/index.md rename to src/content/docs/zh-cn/2.1.x/index.md index 1d3bbac..1f93b61 100644 --- a/docs/zh-cn/index.md +++ b/src/content/docs/zh-cn/2.1.x/index.md @@ -1,5 +1,4 @@ --- -lang: zh-CN title: 主页 description: 群星模组维基 --- @@ -17,7 +16,7 @@ description: 群星模组维基
    -Fabric API icon 必要前置:[Fabric API](https://modrinth.com/mod/fabric-api) +Fabric API icon 必要前置:[Fabric API](https://modrinth.com/mod/fabric-api) Mod Menu icon 强烈推荐客户端使用 [Mod Menu](https://modrinth.com/mod/modmenu) 和 Cloth Config icon [Cloth Config API](https://modrinth.com/mod/cloth-config)! @@ -25,7 +24,7 @@ description: 群星模组维基 如果你想建议某个特性,别犹豫,发在这里吧:[讨论页面](https://github.com/constellation-mc/andromeda/discussions/categories/ideas)! -**别忘了看看[模组介绍](/zh-cn/showcases)!** +**别忘了看看[模组介绍](/zh-cn/showcases)!**

    💜

    @@ -39,6 +38,6 @@ description: 群星模组维基 你可以在这里 [GitHub](https://github.com/constellation-mc/andromeda-wiki) 帮助翻译这个维基! -*** +--- Creative Commons License
    群星模组维基由 zenfyr 及其他模组贡献者创作,采用 Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License 授权。 diff --git a/docs/zh-cn/items.md b/src/content/docs/zh-cn/2.1.x/items.md similarity index 89% rename from docs/zh-cn/items.md rename to src/content/docs/zh-cn/2.1.x/items.md index 5df6ab2..3d4e41e 100644 --- a/docs/zh-cn/items.md +++ b/src/content/docs/zh-cn/2.1.x/items.md @@ -1,5 +1,4 @@ --- -lang: zh-CN title: 物品 description: 物品相关调整 --- @@ -20,14 +19,14 @@ description: 物品相关调整
    图片中,游戏内界面展示了 2 级的,最高 5 级的磁铁,以及红石,青金石。绿宝石,钻石,金锭。铜,石英和煤炭。 -* 可以吸引指定物品的神奇磁铁。 -* 可通过海洋之心左键升级,最多指定四种物品。 -* 由海洋之心,四块铜锭和两份红石粉制成。 +- 可以吸引指定物品的神奇磁铁。 +- 可通过海洋之心左键升级,最多指定四种物品。 +- 由海洋之心,四块铜锭和两份红石粉制成。 ::: details configuration -| 配置项 | 描述 | -|---------|-------------| +| 配置项 | 描述 | +| ----------------- | ------------------------- | | `rangeMultiplier` | $level * rangeMultiplier$ | ::: @@ -39,9 +38,9 @@ description: 物品相关调整 为一些物品的工具提示添加了更多有用的信息。你可以单独禁用它们。 -* 时钟:显示当前游戏时间。 -* 指南针:显示离指南针目标的距离。 -* 追溯指南针:显示离上次死亡点的距离。 +- 时钟:显示当前游戏时间。 +- 指南针:显示离指南针目标的距离。 +- 追溯指南针:显示离上次死亡点的距离。 ## 开锁器 🔓 @@ -49,13 +48,13 @@ description: 物品相关调整 在 0.7.0 版本,你可以撬开: -* 村民的物品栏。 +- 村民的物品栏。 ::: details configuration -| 配置项 | 描述 | -|---------|-------------| -| `chance` | 开锁的成功率。 | +| 配置项 | 描述 | +| --------------- | ---------------------- | +| `chance` | 开锁的成功率。 | | `breakAfterUse` | 开锁器是否使用后销毁? | ::: diff --git a/docs/zh-cn/mechanics.md b/src/content/docs/zh-cn/2.1.x/mechanics.md similarity index 82% rename from docs/zh-cn/mechanics.md rename to src/content/docs/zh-cn/2.1.x/mechanics.md index ad78d19..94cc7dd 100644 --- a/docs/zh-cn/mechanics.md +++ b/src/content/docs/zh-cn/2.1.x/mechanics.md @@ -1,5 +1,4 @@ --- -lang: zh-CN title: 机制 description: 一些机制,还有一些数不上名的小玩意 --- @@ -11,10 +10,11 @@ description: 一些机制,还有一些数不上名的小玩意 使玩家能够通过给村民送礼来恢复一定的声望值! 这一选项下有四个新增的标签: -* `andromeda:villager_gifts/major_positive` 下的物品将获得 15 点声望 -* `andromeda:villager_gifts/minor_positive` 下的物品将获得 3 点声望 -* `andromeda:villager_gifts/major_negative` 下的物品将扣除 15 点声望 -* `andromeda:villager_gifts/minor_negative` 下的物品将扣除 3 点声望 + +- `andromeda:villager_gifts/major_positive` 下的物品将获得 15 点声望 +- `andromeda:villager_gifts/minor_positive` 下的物品将获得 3 点声望 +- `andromeda:villager_gifts/major_negative` 下的物品将扣除 15 点声望 +- `andromeda:villager_gifts/minor_negative` 下的物品将扣除 3 点声望 你可以在这里 [andromeda/tags/items/villager_gifts/](https://github.com/constellation-mc/andromeda/tree/1.19-fabric/src/main/resources/data/andromeda/tags/items/villager_gifts) 查看礼品预设。 diff --git a/docs/zh-cn/misc.md b/src/content/docs/zh-cn/2.1.x/misc.md similarity index 85% rename from docs/zh-cn/misc.md rename to src/content/docs/zh-cn/2.1.x/misc.md index 6d45614..51c50ae 100644 --- a/docs/zh-cn/misc.md +++ b/src/content/docs/zh-cn/2.1.x/misc.md @@ -1,12 +1,11 @@ --- -lang: zh-CN title: 杂项 description: 其它调整和非调整 --- # 杂项 -## 微存储 📦 +## 微存储 📦 允许玩家在背包的 2x2 合成位存放至多四组物品。 @@ -20,13 +19,13 @@ description: 其它调整和非调整 此特性有下列配置项: -* 万事俱备:启用后,玩家需要获得配方中的所有物品,来解锁配方书中的对应配方。 +- 万事俱备:启用后,玩家需要获得配方中的所有物品,来解锁配方书中的对应配方。 -* 无视未在配方书中解锁的配方:不为配方书中隐藏的配方生成成就。 +- 无视未在配方书中解锁的配方:不为配方书中隐藏的配方生成成就。 -* 关键字黑名单:让你能够通过指定关键字(冒号前字符的一部分)来禁用其自动配方成就生成。 +- 关键字黑名单:让你能够通过指定关键字(冒号前字符的一部分)来禁用其自动配方成就生成。 -* ID 黑名单:此选项让你能够通过指定配方 ID 来禁用其自动配方成就生成。 +- ID 黑名单:此选项让你能够通过指定配方 ID 来禁用其自动配方成就生成。 ## 小麻烦 💥 @@ -38,8 +37,7 @@ description: 其它调整和非调整 这会下载你的所选语言,以及英语(美国)。 - -## 数据包配置 🧩 +## 数据包配置 🧩 和用数据包修改配方类似,只是在这里,要改的不是配方 ID,而是本模组的特性 ID。比如:`config/andromeda/world/moist_control.json` 到数据包里配置,就是 `data/{数据包名称}/andromeda/scoped_config/world/moist_control.json`。原理是部分覆盖。 @@ -76,4 +74,4 @@ description: 其它调整和非调整 所有“存档”和“维度”分化的配置都可以通过 `/reload` 命令重载! -## ??? +## ??? diff --git a/docs/zh-cn/world.md b/src/content/docs/zh-cn/2.1.x/world.md similarity index 94% rename from docs/zh-cn/world.md rename to src/content/docs/zh-cn/2.1.x/world.md index 4724685..3c34964 100644 --- a/docs/zh-cn/world.md +++ b/src/content/docs/zh-cn/2.1.x/world.md @@ -1,12 +1,11 @@ --- -lang: zh-CN title: 世界 description: 世界相关调整 --- # 世界 -## 意外之喜 💎 +## 意外之喜 💎 向洞穴内添加了装有战利品的木桶! @@ -48,6 +47,6 @@ description: 世界相关调整 这一选项是基于数据包的!你可以在[这里](https://github.com/constellation-mc/andromeda/blob/1.19-fabric/src/main/resources/data/andromeda/andromeda/crop_temperatures/crops/minecraft_wheat.json)查看例子,以及更多信息。 -## 凶猛火势 🔥 +## 凶猛火势 🔥 使得火势能够蔓延得更快更广。 diff --git a/docs/zh-cn/assets.md b/src/content/docs/zh-cn/assets.md similarity index 100% rename from docs/zh-cn/assets.md rename to src/content/docs/zh-cn/assets.md diff --git a/docs/zh-cn/showcases.md b/src/content/docs/zh-cn/showcases.md similarity index 99% rename from docs/zh-cn/showcases.md rename to src/content/docs/zh-cn/showcases.md index 4f07eed..3a5d270 100644 --- a/docs/zh-cn/showcases.md +++ b/src/content/docs/zh-cn/showcases.md @@ -9,23 +9,26 @@ description: 模组介绍视频! ## 视频 ### CraisinLord 的介绍(0.9.0): +
    ### VegaCraft 的德语介绍(0.9.2): +
    ### yorkmouse 的介绍(0.6.0): +
    ## 整合包 -
    +
    ### 勿忘我 diff --git a/src/content/lang.json b/src/content/lang.json new file mode 100644 index 0000000..98d7ca1 --- /dev/null +++ b/src/content/lang.json @@ -0,0 +1,20 @@ +{ + "en-us": { + "base.title": "Andromeda", + "base.description": "Highly configurable, modular tweaks/additions mod!", + "base.lang": "English", + "switch.versions": "Versions", + "switch.language": "Language", + "sidebar.button": "Menu", + "sidebar.features": "Features", + "sidebar.meta": "Meta", + "content.title": "On this page", + "content.top": "Return to top" + }, + "zh-cn": { + "base.title": "群星模组", + "base.description": "灿若繁星,包罗万象。", + "base.lang": "简体中文", + "sidebar.features": "特性" + } +} diff --git a/src/layouts/BasePage.astro b/src/layouts/BasePage.astro new file mode 100644 index 0000000..dc98b6c --- /dev/null +++ b/src/layouts/BasePage.astro @@ -0,0 +1,21 @@ +--- +import BaseHead from "../components/BaseHead.astro"; +import { normalizeLangTag } from "../lib/i18n"; + +import "./base.css"; + +type Props = { + title: string; + locale: string; + tags?: string[]; + description?: string; +}; + +const { title, locale, tags, description } = Astro.props; +const lang = normalizeLangTag(locale); +--- + + + + + diff --git a/src/layouts/WikiLayout.astro b/src/layouts/WikiLayout.astro new file mode 100644 index 0000000..e70d9d1 --- /dev/null +++ b/src/layouts/WikiLayout.astro @@ -0,0 +1,148 @@ +--- +import BasePage from "./BasePage.astro"; +import Header from "../components/Header.astro"; +import Sidebar from "../components/Sidebar.astro"; +import TablerIcon from "../components/TablerIcon.astro"; +import "./layout.css"; + +import { type MarkdownHeading } from "astro"; +import { type Version } from "../lib/versions"; +import { t, DEFAULT_VERSION } from "../lib/i18n"; + +type Props = { + title: string; + locale: string; + version: Version; + translations: Map; + headings: MarkdownHeading[]; + description?: string; +}; + +const { + title, + locale, + version: currentVersion, + description, + translations, + headings, +} = Astro.props; +const { pathname } = Astro.url; +const version = currentVersion ?? DEFAULT_VERSION; + +const content = headings.filter((h) => h.depth == 2); +--- + + +
    + + + +
    +
    + + + +
    +
    + +
    + +
    + + + Edit this page + + +
    + +
    +
    + + +
    +
    +
    diff --git a/src/layouts/base.css b/src/layouts/base.css new file mode 100644 index 0000000..bd6a7fe --- /dev/null +++ b/src/layouts/base.css @@ -0,0 +1,15 @@ +body { + color: var(--color-inv-base); +} + +.wiki-title { + align-items: center; + gap: 0.25rem; + color: var(--color-inv-base); + text-decoration: none; + + & img { + width: 25px; + height: 25px; + } +} diff --git a/src/layouts/layout.css b/src/layouts/layout.css new file mode 100644 index 0000000..eea8e6e --- /dev/null +++ b/src/layouts/layout.css @@ -0,0 +1,274 @@ +body { + --article-margin: 6.5rem; + + @media (width >= 1280px) { + --article-margin: 4.5rem; + } + + @media (width < 960px) { + &:has(.sidebar:target) { + overflow: hidden; + + & .wrapper { + overflow: hidden; + } + } + } +} + +.contents-list { + list-style-type: none; + padding-inline-start: 0; + + font-size: small; + line-height: 1; + + & li { + & a { + display: block; + color: var(--color-inv-base); + text-decoration: none; + + padding-block: 0.5rem; + + &:hover, + &:focus, + &.active { + color: var(--color-link); + } + } + } +} + +& .wrapper { + display: flex; + align-items: flex-start; + + & header { + @media (width >= 960px) { + margin-left: var(--sidebar-offset); + } + } + + & .sidebar { + visibility: hidden; + opacity: 0; + max-width: 0; + padding-inline: 0; + position: absolute; + + @media (width < 960px) { + &:target { + visibility: visible; + opacity: 1; + max-width: 100%; + padding-inline: 1.5rem; + + width: 20rem; + max-width: 90%; + + & ~ .sidebar-close { + &::after { + opacity: 1; + content: ""; + position: absolute; + inset: 0; + overflow: hidden; + + z-index: 24; + background-color: color-mix( + in srgb, + var(--color-base) 20%, + transparent + ); + backdrop-filter: blur(5px); + } + } + } + } + + @media (width >= 960px) { + visibility: visible; + opacity: 1; + max-width: 100%; + padding-inline: 1.5rem; + width: var(--sidebar-offset); + + position: sticky; + } + } + + & main { + flex: 4; + display: flex; + align-items: flex-start; + min-width: 0; + + & .article-top { + text-decoration: none; + } + + & .nav-wrapper { + position: fixed; + top: 4rem; + left: 0; + z-index: 5; + + width: 100%; + max-width: 100%; + + display: flex; + align-items: center; + justify-content: space-between; + + height: 2rem; + max-height: 2rem; + + background-color: var(--color-base); + border-bottom: 0.02rem solid var(--divider-color); + + font-size: small; + padding-inline: 1.75rem; + + @media (width >= 1280px) { + display: none; + } + + & tabler { + width: 15px; + height: 15px; + } + + & details { + position: relative; + display: inline-block; + + &::details-content { + position: absolute; + top: 100%; + left: auto; + right: 0; + + border-radius: 0.75rem; + padding: 0.75rem; + + background-color: var(--color-elevation-1); + filter: drop-shadow(0 0 0.25rem rgba(0, 0, 0, 0.25)); + min-width: 250px; + max-width: 90vw; + + white-space: normal; + + @media (width >= 960px) { + left: 0; + right: auto; + } + } + } + + & .sidebar-button { + display: block; + text-decoration: none; + + @media (width >= 960px) { + display: none; + } + } + + @media (width >= 960px) { + margin-left: var(--sidebar-offset); + } + } + + & .article-wrapper { + flex: 3; + padding-block: var(--article-margin); + padding-inline: 1.5rem; + min-width: 0; + } + + & .article-bottom { + margin-block-start: 1.5rem; + + & a { + text-decoration: none; + font-size: small; + font-weight: 650; + } + } + + & article { + max-width: 700px; + margin-inline: auto; + min-width: 0; + + & table { + display: block; + border-collapse: collapse; + overflow-x: auto; + margin-block: 1rem; + width: 100%; + + & th, + tr, + td { + border: 0.02rem solid var(--divider-color); + padding: 0.25rem; + } + } + + & details { + margin-block: 0.5rem; + & summary { + background-color: var(--color-elevation-2); + } + + &[open]::details-content { + background-color: var(--color-elevation-2); + } + } + + & a:has(.heading-anchor) { + text-decoration: none; + } + + & .heading-anchor { + opacity: 0; + margin-inline-start: -1.15rem; + } + + & :is(h1, h2, h3, h4, h5, h6)[id] { + scroll-margin-top: var(--article-margin); + &:hover, + &:focus { + & .heading-anchor { + opacity: 1; + } + } + } + } + + & aside { + flex: 1; + top: var(--article-margin); + margin-block-start: var(--article-margin); + right: 0; + position: sticky; + height: calc(100vh - var(--article-margin)); + + overflow-x: hidden; + overflow-y: auto; + + visibility: hidden; + opacity: 0; + max-width: 0; + + @media (width >= 1280px) { + visibility: visible; + opacity: 1; + max-width: 100%; + padding-inline: 0.25rem; + } + } + } +} diff --git a/src/lib/i18n.ts b/src/lib/i18n.ts new file mode 100644 index 0000000..a047bab --- /dev/null +++ b/src/lib/i18n.ts @@ -0,0 +1,63 @@ +import type { CollectionEntry } from "astro:content"; +import { VERSIONS } from "./versions"; +import translationsData from "../content/lang.json" with { type: "json" }; + +type Translations = Record>; +const translations = translationsData as Translations; + +export const LOCALES = ["en-us", "zh-cn"] as const; +export const DEFAULT_LOCALE = LOCALES[0]; +export const DEFAULT_VERSION = VERSIONS[0]; + +export function buildUrl( + locale?: string, + version?: string, + page?: string, +): string { + const parts: string[] = []; + if (locale && locale !== DEFAULT_LOCALE) parts.push(locale); + if (version && version !== DEFAULT_VERSION.semver) parts.push(version); + if (page) parts.push(page); + return "/" + parts.join("/") + (parts.length > 0 ? "/" : ""); +} + +export function buildKey( + locale: string, + version: string | undefined, + page?: string, +): string { + const parts: string[] = [locale]; + if (version) parts.push(version); + parts.push(page ?? "index"); + return parts.join("/"); +} + +export function entryTranslations( + entries: CollectionEntry<"docs">[], +): Map { + const translations = new Map(); + for (const entry of entries) { + translations.set(entry.id, entry.data.title); + } + + return translations; +} + +export function t(locale: string, key: string): string { + const current = translations[locale.toLowerCase()]; + const base = translations["en-us"]; + return key in current ? current[key] : base[key]; +} + +export function normalizeLangTag(tag: string): string { + const [lang, script, region] = tag.split("-"); + return [ + lang?.toLowerCase(), + script?.length === 4 + ? script[0].toUpperCase() + script.slice(1).toLowerCase() + : script?.toUpperCase(), + region?.length === 2 ? region.toUpperCase() : region?.toLowerCase(), + ] + .filter(Boolean) + .join("-"); +} diff --git a/src/lib/versions.ts b/src/lib/versions.ts new file mode 100644 index 0000000..82d0d8a --- /dev/null +++ b/src/lib/versions.ts @@ -0,0 +1,29 @@ +export type Version = { + semver: string; + categories: string[]; +}; + +const CATEGORIES = [ + "world", + "blocks", + "entities", + "items", + "bug-fixes", + "mechanics", + "gui", + "misc", +]; + +export const VERSIONS: Version[] = [ + { + semver: "2.1.x", + categories: CATEGORIES, + }, + { + semver: "1.13.x", + categories: CATEGORIES, + }, +]; + +export const VERSION_MAP: Map = new Map(); +VERSIONS.forEach((v) => VERSION_MAP.set(v.semver, v)); diff --git a/src/pages/404.astro b/src/pages/404.astro new file mode 100644 index 0000000..f01ed2a --- /dev/null +++ b/src/pages/404.astro @@ -0,0 +1,21 @@ +--- +import BasePage from "../layouts/BasePage.astro"; +import Header from "../components/Header.astro"; +import { DEFAULT_VERSION } from "../lib/i18n"; + +import "./404.css"; +--- + + +
    + +
    +

    404

    +

    Page Not Found

    + Back to index +
    + diff --git a/src/pages/404.css b/src/pages/404.css new file mode 100644 index 0000000..5401cda --- /dev/null +++ b/src/pages/404.css @@ -0,0 +1,24 @@ +body { + --article-margin: 4.5rem; +} + +main { + padding-block: var(--article-margin); + text-align: center; +} + +header { + & .title { + display: flex; + } +} + +.index-button { + display: block; + padding: 0.5rem; + background-color: var(--color-elevation-1); + width: fit-content; + margin-inline: auto; + border-radius: 0.75rem; + text-decoration: none; +} diff --git a/src/pages/[...slug].astro b/src/pages/[...slug].astro new file mode 100644 index 0000000..87532a7 --- /dev/null +++ b/src/pages/[...slug].astro @@ -0,0 +1,75 @@ +--- +import type { GetStaticPaths, GetStaticPathsItem } from "astro"; +import { getCollection, render } from "astro:content"; +import { VERSION_MAP, type Version } from "../lib/versions"; +import { + DEFAULT_LOCALE, + DEFAULT_VERSION, + entryTranslations, +} from "../lib/i18n"; +import WikiLayout from "../layouts/WikiLayout.astro"; +import type { CollectionEntry } from "astro:content"; + +export const getStaticPaths = (async () => { + const entries = await getCollection("docs"); + const paths: GetStaticPathsItem[] = []; + + const translations = entryTranslations(entries); + + for (const entry of entries) { + const [locale, version, ...rest] = entry.id.split("/"); + + let page = rest.join("/"); + if (page === "index" || page.endsWith("/index")) { + page = page.replace(/(\/|^)index$/, ""); + } + + const versionObj = VERSION_MAP.get(version); + + const props = { + entry, + locale, + version: versionObj, + translations, + page, + }; + + const push = (slug: string | undefined) => + paths.push({ params: { slug }, props }); + + push([locale, version, page].filter(Boolean).join("/") || undefined); + + if (version === DEFAULT_VERSION.semver) + push([locale, page].filter(Boolean).join("/") || undefined); + + if (locale === DEFAULT_LOCALE) + push([version, page].filter(Boolean).join("/") || undefined); + + if (locale === DEFAULT_LOCALE && version === DEFAULT_VERSION.semver) + push(page || undefined); + } + + return paths; +}) satisfies GetStaticPaths; + +type Props = { + entry: CollectionEntry<"docs">; + locale: string; + version: Version; + translations: Map; +}; + +const { entry, locale, version, translations } = Astro.props; +const { Content, headings } = await render(entry); +--- + + + + diff --git a/src/styles/base.css b/src/styles/base.css new file mode 100644 index 0000000..dc6e042 --- /dev/null +++ b/src/styles/base.css @@ -0,0 +1,188 @@ +:root { + --color-base: #ffffff; + --color-elevation-1: #f9f1f9; + --color-elevation-2: #f3ecf4; + --color-link: #8e5cd9; + + --color-inv-base: #100d12; + --color-inv-elevation-1: #1d1a20; + --color-inv-elevation-2: #211e24; + + --c-bg-tip: #efe7fc; + --c-bg-info: #f3f9f5; + --c-bg-warning: #fdfbe7; + --c-bg-danger: #fff0f0; + --c-bg-details: #f8f9fa; + + --global-transition: 200ms; + + interpolate-size: allow-keywords; + + @media (prefers-reduced-motion: reduce) { + --global-transition: 0ms; + } + + @media (prefers-color-scheme: dark) { + --color-base: #100d12; + --color-elevation-1: #1d1a20; + --color-elevation-2: #211e24; + --color-link: #c8abfa; + + --color-inv-base: #ffffff; + --color-inv-elevation-1: #f9f1f9; + --color-inv-elevation-2: #f3ecf4; + + --c-bg-tip: #120b21; + --c-bg-info: #14211a; + --c-bg-warning: #27220a; + --c-bg-danger: #2a1414; + --c-bg-details: #1b1b1f; + } + + --divider-color: color-mix( + in srgb, + var(--color-inv-elevation-2) 20%, + transparent + ); +} + +@font-face { + font-display: swap; + font-family: "Rubik"; + font-style: normal; + font-weight: 400; + src: url("/assets/fonts/rubik-v31-latin-regular.woff2") format("woff2"); +} + +* { + box-sizing: border-box; + transition-duration: var(--global-transition); +} + +body { + background-color: var(--color-base); + margin: 0; + font-family: "Rubik", sans-serif; + word-wrap: break-word; + + scrollbar-gutter: stable; +} + +hr { + padding: 0.02rem; + border-width: 0px; + border-style: none; + border-radius: 0.375rem; + background-color: color-mix( + in srgb, + var(--color-inv-elevation-2) 10%, + transparent + ); +} + +a { + color: var(--color-link); +} + +img { + max-width: 100%; + max-height: 100%; +} + +code:not(pre code) { + border-radius: 0.5rem; + padding-inline: 0.25rem; + text-transform: none; +} + +pre:has(code) { + position: relative; + + & tabler { + height: 25px !important; + width: 25px !important; + } +} + +pre { + padding: 0.75rem; + margin: 0; + border-radius: 0.75rem; + + & * { + text-transform: none; + } +} + +details { + & summary { + user-select: none; + cursor: pointer; + padding: 0.75rem; + border-radius: 0.75rem; + } + + &::details-content { + z-index: -1; + border-radius: 0.75rem; + transition: all var(--global-transition) ease allow-discrete; + + padding: 0.5rem; + margin-block-start: -1.25rem; + + visibility: hidden; + height: 0; + overflow: hidden; + opacity: 0; + } + + &[open] { + & summary { + border-end-start-radius: 0; + border-end-end-radius: 0; + } + + &::details-content { + border-start-start-radius: 0rem; + border-start-end-radius: 0rem; + + visibility: visible; + margin-block-start: 0.25rem; + height: auto; + opacity: 1; + } + } +} + +icon-container { + text-align: center; + display: flex; + gap: 0.25rem; + align-items: center; +} + +.pixelated { + image-rendering: pixelated; +} + +.remark-container { + margin: 16px 0; + padding: 16px; + border-radius: 0.75rem; + + &.tip { + background-color: var(--c-bg-tip); + } + + &.info { + background-color: var(--c-bg-info); + } + + &.warning { + background-color: var(--c-bg-warning); + } + + &.danger { + background-color: var(--c-bg-danger); + } +} diff --git a/src/styles/icons.css b/src/styles/icons.css new file mode 100644 index 0000000..921a83a --- /dev/null +++ b/src/styles/icons.css @@ -0,0 +1,35 @@ +tabler { + display: inline-flex; + width: 24px; + height: 24px; + background-color: currentColor; + mask-image: var(--svg); + mask-repeat: no-repeat; + mask-size: 100% 100%; + -webkit-mask-image: var(--svg); + -webkit-mask-repeat: no-repeat; + -webkit-mask-size: 100% 100%; + aspect-ratio: 1/1; + + &[brand-github] { + --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M9 19c-4.3 1.4-4.3-2.5-6-3m12 5v-3.5c0-1 .1-1.4-.5-2c2.8-.3 5.5-1.4 5.5-6a4.6 4.6 0 0 0-1.3-3.2a4.2 4.2 0 0 0-.1-3.2s-1.1-.3-3.5 1.3a12.3 12.3 0 0 0-6.2 0C6.5 2.8 5.4 3.1 5.4 3.1a4.2 4.2 0 0 0-.1 3.2A4.6 4.6 0 0 0 4 9.5c0 4.6 2.7 5.7 5.5 6c-.6.6-.6 1.2-.5 2V21'/%3E%3C/svg%3E"); + } + &[brand-modrinth] { + --svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M12.252.004a11.78 11.768 0 0 0-8.92 3.73a11 10.999 0 0 0-2.17 3.11a11.37 11.359 0 0 0-1.16 5.169c0 1.42.17 2.5.6 3.77c.24.759.77 1.899 1.17 2.529a12.3 12.298 0 0 0 8.85 5.639c.44.05 2.54.07 2.76.02c.2-.04.22.1-.26-1.7l-.36-1.37l-1.01-.06a8.5 8.489 0 0 1-5.18-1.8a5.34 5.34 0 0 1-1.3-1.26c0-.05.34-.28.74-.5a37.572 37.545 0 0 1 2.88-1.629c.03 0 .5.45 1.06.98l1 .97l2.07-.43l2.06-.43l1.47-1.47c.8-.8 1.48-1.5 1.48-1.52c0-.09-.42-1.63-.46-1.7c-.04-.06-.2-.03-1.02.18c-.53.13-1.2.3-1.45.4l-.48.15l-.53.53l-.53.53l-.93.1l-.93.07l-.52-.5a2.7 2.7 0 0 1-.96-1.7l-.13-.6l.43-.57c.68-.9.68-.9 1.46-1.1c.4-.1.65-.2.83-.33c.13-.099.65-.579 1.14-1.069l.9-.9l-.7-.7l-.7-.7l-1.95.54c-1.07.3-1.96.53-1.97.53c-.03 0-2.23 2.48-2.63 2.97l-.29.35l.28 1.03c.16.56.3 1.16.31 1.34l.03.3l-.34.23c-.37.23-2.22 1.3-2.84 1.63c-.36.2-.37.2-.44.1c-.08-.1-.23-.6-.32-1.03c-.18-.86-.17-2.75.02-3.73a8.84 8.839 0 0 1 7.9-6.93c.43-.03.77-.08.78-.1c.06-.17.5-2.999.47-3.039c-.01-.02-.1-.02-.2-.03Zm3.68.67c-.2 0-.3.1-.37.38c-.06.23-.46 2.42-.46 2.52c0 .04.1.11.22.16a8.51 8.499 0 0 1 2.99 2a8.38 8.379 0 0 1 2.16 3.449a6.9 6.9 0 0 1 .4 2.8c0 1.07 0 1.27-.1 1.73a9.37 9.369 0 0 1-1.76 3.769c-.32.4-.98 1.06-1.37 1.38c-.38.32-1.54 1.1-1.7 1.14c-.1.03-.1.06-.07.26c.03.18.64 2.56.7 2.78l.06.06a12.07 12.058 0 0 0 7.27-9.4c.13-.77.13-2.58 0-3.4a11.96 11.948 0 0 0-5.73-8.578c-.7-.42-2.05-1.06-2.25-1.06Z'/%3E%3C/svg%3E"); + } + &[list-details] { + --svg: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2224%22%20height=%2224%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22currentColor%22%20stroke-width=%222%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20class=%22icon%20icon-tabler%20icons-tabler-outline%20icon-tabler-list-details%22%3E%3Cpath%20stroke=%22none%22%20d=%22M0%200h24v24H0z%22%20fill=%22none%22%20/%3E%3Cpath%20d=%22M13%205h8%22%20/%3E%3Cpath%20d=%22M13%209h5%22%20/%3E%3Cpath%20d=%22M13%2015h8%22%20/%3E%3Cpath%20d=%22M13%2019h5%22%20/%3E%3Cpath%20d=%22M3%205a1%201%200%200%201%201%20-1h4a1%201%200%200%201%201%201v4a1%201%200%200%201%20-1%201h-4a1%201%200%200%201%20-1%20-1l0%20-4%22%20/%3E%3Cpath%20d=%22M3%2015a1%201%200%200%201%201%20-1h4a1%201%200%200%201%201%201v4a1%201%200%200%201%20-1%201h-4a1%201%200%200%201%20-1%20-1l0%20-4%22%20/%3E%3C/svg%3E"); + } + &[arrow-back-up] { + --svg: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2224%22%20height=%2224%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22currentColor%22%20stroke-width=%222%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20class=%22icon%20icon-tabler%20icons-tabler-outline%20icon-tabler-arrow-back-up%22%3E%3Cpath%20stroke=%22none%22%20d=%22M0%200h24v24H0z%22%20fill=%22none%22%20/%3E%3Cpath%20d=%22M9%2014l-4%20-4l4%20-4%22%20/%3E%3Cpath%20d=%22M5%2010h11a4%204%200%201%201%200%208h-1%22%20/%3E%3C/svg%3E"); + } + &[language-hiragana] { + --svg: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2224%22%20height=%2224%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22currentColor%22%20stroke-width=%222%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20class=%22icon%20icon-tabler%20icons-tabler-outline%20icon-tabler-language-hiragana%22%3E%3Cpath%20stroke=%22none%22%20d=%22M0%200h24v24H0z%22%20fill=%22none%22%20/%3E%3Cpath%20d=%22M4%205h7%22%20/%3E%3Cpath%20d=%22M7%204c0%204.846%200%207%20.5%208%22%20/%3E%3Cpath%20d=%22M10%208.5c0%202.286%20-2%204.5%20-3.5%204.5s-2.5%20-1.135%20-2.5%20-2c0%20-2%201%20-3%203%20-3s5%20.57%205%202.857c0%201.524%20-.667%202.571%20-2%203.143%22%20/%3E%3Cpath%20d=%22M12%2020l4%20-9l4%209%22%20/%3E%3Cpath%20d=%22M19.1%2018h-6.2%22%20/%3E%3C/svg%3E"); + } + &[git-fork] { + --svg: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2224%22%20height=%2224%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22currentColor%22%20stroke-width=%222%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20class=%22icon%20icon-tabler%20icons-tabler-outline%20icon-tabler-git-fork%22%3E%3Cpath%20stroke=%22none%22%20d=%22M0%200h24v24H0z%22%20fill=%22none%22%20/%3E%3Cpath%20d=%22M10%2018a2%202%200%201%200%204%200a2%202%200%201%200%20-4%200%22%20/%3E%3Cpath%20d=%22M5%206a2%202%200%201%200%204%200a2%202%200%201%200%20-4%200%22%20/%3E%3Cpath%20d=%22M15%206a2%202%200%201%200%204%200a2%202%200%201%200%20-4%200%22%20/%3E%3Cpath%20d=%22M7%208v2a2%202%200%200%200%202%202h6a2%202%200%200%200%202%20-2v-2%22%20/%3E%3Cpath%20d=%22M12%2012l0%204%22%20/%3E%3C/svg%3E"); + } + &[edit] { + --svg: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2224%22%20height=%2224%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22currentColor%22%20stroke-width=%222%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20class=%22icon%20icon-tabler%20icons-tabler-outline%20icon-tabler-edit%22%3E%3Cpath%20stroke=%22none%22%20d=%22M0%200h24v24H0z%22%20fill=%22none%22%20/%3E%3Cpath%20d=%22M7%207h-1a2%202%200%200%200%20-2%202v9a2%202%200%200%200%202%202h9a2%202%200%200%200%202%20-2v-1%22%20/%3E%3Cpath%20d=%22M20.385%206.585a2.1%202.1%200%200%200%20-2.97%20-2.97l-8.415%208.385v3h3l8.385%20-8.415%22%20/%3E%3Cpath%20d=%22M16%205l3%203%22%20/%3E%3C/svg%3E"); + } +} diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..8bf91d3 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,5 @@ +{ + "extends": "astro/tsconfigs/strict", + "include": [".astro/types.d.ts", "**/*"], + "exclude": ["dist"] +}