From 425cdb9e34be4bb63c7fb0fc63c008cee45969e5 Mon Sep 17 00:00:00 2001 From: Kirigaya <1193466151@qq.com> Date: Thu, 5 Jun 2025 04:19:07 +0800 Subject: [PATCH] add some animation --- .vitepress/config.mts | 452 +++++++++--------- ....timestamp-1749066931248-ef28b5e1119c7.mjs | 285 +++++++++++ .vitepress/theme/Layout.vue | 19 +- package.json | 48 +- 4 files changed, 544 insertions(+), 260 deletions(-) create mode 100644 .vitepress/config.mts.timestamp-1749066931248-ef28b5e1119c7.mjs diff --git a/.vitepress/config.mts b/.vitepress/config.mts index 1febe9f..22e61ea 100644 --- a/.vitepress/config.mts +++ b/.vitepress/config.mts @@ -13,239 +13,239 @@ import { customIcons } from './theme/hook/icons'; export const baseUrl = '/openmcp'; export default withMermaid({ - title: "OpenMCP", - description: "为开发者和科研人员准备的MCP开发环境和SDK", - base: baseUrl, - ignoreDeadLinks: true, + title: "OpenMCP", + description: "为开发者和科研人员准备的MCP开发环境和SDK", + base: baseUrl, + ignoreDeadLinks: true, - sitemap: { - hostname: 'https://kirigaya.cn/' + baseUrl - }, + sitemap: { + hostname: 'https://kirigaya.cn/' + baseUrl + }, - vite: { - plugins: [ - GitChangelog({ - // 填写在此处填写您的仓库链接 - repoURL: () => 'https://gitea.3geeks.top/kirigaya/openmcp-document', - mapAuthors: contributors - }), - GitChangelogMarkdownSection({ - excludes: ['preview/contributors.md', 'index.md'] - }), - ThumbnailHashImages(), - ], - optimizeDeps: { - include: [ - 'mermaid' - ], - exclude: [ - '@nolebase/vitepress-plugin-inline-link-preview/client', - ], - }, - ssr: { - noExternal: [ - // 如果还有别的解析失败的依赖需要添加的话,并排填写和配置到这里即可 // - '@nolebase/vitepress-plugin-inline-link-preview', - '@unlazy/vue' - ], - }, - }, + vite: { + plugins: [ + GitChangelog({ + // 填写在此处填写您的仓库链接 + repoURL: () => 'https://gitea.3geeks.top/kirigaya/openmcp-document', + mapAuthors: contributors + }), + GitChangelogMarkdownSection({ + excludes: ['preview/contributors.md', 'index.md'] + }), + ThumbnailHashImages(), + ], + optimizeDeps: { + include: [ + 'mermaid' + ], + exclude: [ + '@nolebase/vitepress-plugin-inline-link-preview/client', + ], + }, + ssr: { + noExternal: [ + // 如果还有别的解析失败的依赖需要添加的话,并排填写和配置到这里即可 // + '@nolebase/vitepress-plugin-inline-link-preview', + '@unlazy/vue' + ], + }, + }, - markdown: { - config: (md) => { - md.use(lightbox); - md.use(InlineLinkPreviewElementTransform); - md.use(BiDirectionalLinks()); - md.use(UnlazyImages(), { - imgElementTag: 'NolebaseUnlazyImg', - }); - } - }, + markdown: { + config: (md) => { + md.use(lightbox); + md.use(InlineLinkPreviewElementTransform); + md.use(BiDirectionalLinks()); + md.use(UnlazyImages(), { + imgElementTag: 'NolebaseUnlazyImg', + }); + } + }, - head: [ - ['link', { rel: 'icon', href: baseUrl + '/images/favicon.png' }] - ], - themeConfig: { - // https://vitepress.dev/reference/default-theme-config - nav: [ - { text: '首页', link: '/' }, - { - text: '教程', - items: [ - { - component: 'KNavItem', - props: { - title: '简介', - description: '关于 mcp 和 openmcp,阁下需要知道的 ...', - icon: 'openmcp', - link: '/plugin-tutorial/' - } - }, - { - component: 'KNavItem', - props: { - title: '快速开始', - description: '通过一个例子快速了解 OpenMCP 的基本概念', - icon: 'quick-fill', - link: '/plugin-tutorial/quick-start/' - } - }, - { - component: 'KNavItem', - props: { - title: 'OpenMCP 使用手册', - description: 'OpenMCP Client 的基本使用', - icon: 'shiyongshouce', - link: '/plugin-tutorial/usage/connect-mcp' - } - }, - { - component: 'KNavItem', - props: { - title: 'MCP 服务器开发案例', - description: '使用不同语言开发的不同模式的 MCP 服务器', - icon: 'yibangonggongyusuan', - link: '/plugin-tutorial/examples/mcp-examples' - } - }, - { - component: 'KNavItem', - props: { - title: 'FAQ', - description: '为您答疑解惑,排忧解难', - icon: 'yijianchuli', - link: '/plugin-tutorial/faq/help' - } - }, - ] - }, - { text: 'SDK', link: '/sdk-tutorial' }, - { - text: '更多', - items: [ - { - component: 'KNavItem', - props: { - title: '更新日志', - description: '查看项目的更新历史记录', - icon: 'a-yusuan2', - link: '/preview/changelog' - } - }, - { - component: 'KNavItem', - props: { - title: '参与 OpenMCP', - description: '了解如何参与 OpenMCP 项目的开发和维护', - icon: 'shujuzhongxin', - link: '/preview/join' - } - }, - { - component: 'KNavItem', - props: { - title: 'OpenMCP 贡献者列表', - description: '关于参与 OpenMCP 的贡献者们', - icon: 'heike', - link: '/preview/contributors' - } - }, - { - component: 'KNavItem', - props: { - title: '资源频道', - description: '获取项目相关的资源和信息', - icon: 'xinxiang', - link: '/preview/channel' - } - } - ] - }, - ], + head: [ + ['link', { rel: 'icon', href: baseUrl + '/images/favicon.png' }] + ], + themeConfig: { + // https://vitepress.dev/reference/default-theme-config + nav: [ + { text: '首页', link: '/' }, + { + text: '教程', + items: [ + { + component: 'KNavItem', + props: { + title: '简介', + description: '关于 mcp 和 openmcp,阁下需要知道的 ...', + icon: 'openmcp', + link: '/plugin-tutorial/' + } + }, + { + component: 'KNavItem', + props: { + title: '快速开始', + description: '通过一个例子快速了解 OpenMCP 的基本概念', + icon: 'quick-fill', + link: '/plugin-tutorial/quick-start/' + } + }, + { + component: 'KNavItem', + props: { + title: 'OpenMCP 使用手册', + description: 'OpenMCP Client 的基本使用', + icon: 'shiyongshouce', + link: '/plugin-tutorial/usage/connect-mcp' + } + }, + { + component: 'KNavItem', + props: { + title: 'MCP 服务器开发案例', + description: '使用不同语言开发的不同模式的 MCP 服务器', + icon: 'yibangonggongyusuan', + link: '/plugin-tutorial/examples/mcp-examples' + } + }, + { + component: 'KNavItem', + props: { + title: 'FAQ', + description: '为您答疑解惑,排忧解难', + icon: 'yijianchuli', + link: '/plugin-tutorial/faq/help' + } + }, + ] + }, + { text: 'SDK', link: '/sdk-tutorial' }, + { + text: '更多', + items: [ + { + component: 'KNavItem', + props: { + title: '更新日志', + description: '查看项目的更新历史记录', + icon: 'a-yusuan2', + link: '/preview/changelog' + } + }, + { + component: 'KNavItem', + props: { + title: '参与 OpenMCP', + description: '了解如何参与 OpenMCP 项目的开发和维护', + icon: 'shujuzhongxin', + link: '/preview/join' + } + }, + { + component: 'KNavItem', + props: { + title: 'OpenMCP 贡献者列表', + description: '关于参与 OpenMCP 的贡献者们', + icon: 'heike', + link: '/preview/contributors' + } + }, + { + component: 'KNavItem', + props: { + title: '资源频道', + description: '获取项目相关的资源和信息', + icon: 'xinxiang', + link: '/preview/channel' + } + } + ] + }, + ], - sidebar: { - '/plugin-tutorial/': [ - { - text: '简介', - items: [ - { text: 'OpenMCP 概述', link: '/plugin-tutorial/index' }, - { text: '什么是 MCP?', link: '/plugin-tutorial/what-is-mcp' }, - { text: 'MCP 基础概念', link: '/plugin-tutorial/concept' } - ] - }, - { - text: '快速开始', - items: [ - { text: '快速开始', link: '/plugin-tutorial/quick-start' }, - { text: '安装 OpenMCP', link: '/plugin-tutorial/quick-start/acquire-openmcp' }, - { text: '你的第一个 MCP', link: '/plugin-tutorial/quick-start/first-mcp' }, - { text: '快速调试 MCP', link: '/plugin-tutorial/quick-start/quick-debug' }, - { text: '扔进大模型里面测测好坏!', link: '/plugin-tutorial/quick-start/put-into-llm' }, - ] - }, - { - text: "OpenMCP 使用手册", - items: [ - { text: 'UI 配色', link: '/plugin-tutorial/usage/ui-color' }, - { text: '连接 mcp 服务器', link: '/plugin-tutorial/usage/connect-mcp' }, - { text: '调试 tools, resources 和 prompts', link: '/plugin-tutorial/usage/debug' }, - { text: '连接大模型', link: '/plugin-tutorial/usage/connect-llm' }, - { text: '用大模型测试您的 mcp', link: '/plugin-tutorial/usage/test-with-llm' }, - { text: '连接多个 MCP 服务器', link: '/plugin-tutorial/usage/multi-server' }, - { text: '分发您的实验结果', link: '/plugin-tutorial/usage/distribute-result' }, - { text: 'SSE 在线部署的鉴权器实现', link: '/plugin-tutorial/usage/sse-oauth2' }, - ] - }, - { - text: "MCP 服务器开发案例", - items: [ - { text: 'MCP 服务器开发案例', link: '/plugin-tutorial/examples/mcp-examples' }, - { text: '例子 1. python 实现天气信息 mcp 服务器 (STDIO)', link: '/plugin-tutorial/examples/python-simple-stdio' }, - { text: '例子 2. go 实现 neo4j 的只读 mcp 服务器 (SSE)', link: '/plugin-tutorial/examples/go-neo4j-sse' }, - { text: '例子 3. java 实现文档数据库的只读 mcp (HTTP)', link: '/plugin-tutorial/examples/java-es-http' }, - { text: '例子 4. typescript 实现基于 crawl4ai 的超级网页爬虫 mcp (STDIO)', link: '/plugin-tutorial/examples/typescript-crawl4ai-stdio' }, - { text: '例子 5. python 实现进行通用表单填充 的 mcp (STDIO)', link: '/plugin-tutorial/examples/python-form-stdio' }, - { text: '例子 6. python 实现基于 blender 的 mcp (STDIO)', link: '/plugin-tutorial/examples/python-blender-stdio' }, - { text: '例子 7. python 实现 cadence EDA 的 mcp (STDIO)', link: '/plugin-tutorial/examples/python-cadence-stdio' }, - ] - }, - { - text: 'FAQ', - items: [ - { text: '帮助', link: '/plugin-tutorial/faq/help' }, - ] - } - ], + sidebar: { + '/plugin-tutorial/': [ + { + text: '简介', + items: [ + { text: 'OpenMCP 概述', link: '/plugin-tutorial/index' }, + { text: '什么是 MCP?', link: '/plugin-tutorial/what-is-mcp' }, + { text: 'MCP 基础概念', link: '/plugin-tutorial/concept' } + ] + }, + { + text: '快速开始', + items: [ + { text: '快速开始', link: '/plugin-tutorial/quick-start' }, + { text: '安装 OpenMCP', link: '/plugin-tutorial/quick-start/acquire-openmcp' }, + { text: '你的第一个 MCP', link: '/plugin-tutorial/quick-start/first-mcp' }, + { text: '快速调试 MCP', link: '/plugin-tutorial/quick-start/quick-debug' }, + { text: '扔进大模型里面测测好坏!', link: '/plugin-tutorial/quick-start/put-into-llm' }, + ] + }, + { + text: "OpenMCP 使用手册", + items: [ + { text: 'UI 配色', link: '/plugin-tutorial/usage/ui-color' }, + { text: '连接 mcp 服务器', link: '/plugin-tutorial/usage/connect-mcp' }, + { text: '调试 tools, resources 和 prompts', link: '/plugin-tutorial/usage/debug' }, + { text: '连接大模型', link: '/plugin-tutorial/usage/connect-llm' }, + { text: '用大模型测试您的 mcp', link: '/plugin-tutorial/usage/test-with-llm' }, + { text: '连接多个 MCP 服务器', link: '/plugin-tutorial/usage/multi-server' }, + { text: '分发您的实验结果', link: '/plugin-tutorial/usage/distribute-result' }, + { text: 'SSE 在线部署的鉴权器实现', link: '/plugin-tutorial/usage/sse-oauth2' }, + ] + }, + { + text: "MCP 服务器开发案例", + items: [ + { text: 'MCP 服务器开发案例', link: '/plugin-tutorial/examples/mcp-examples' }, + { text: '例子 1. python 实现天气信息 mcp 服务器 (STDIO)', link: '/plugin-tutorial/examples/python-simple-stdio' }, + { text: '例子 2. go 实现 neo4j 的只读 mcp 服务器 (SSE)', link: '/plugin-tutorial/examples/go-neo4j-sse' }, + { text: '例子 3. java 实现文档数据库的只读 mcp (HTTP)', link: '/plugin-tutorial/examples/java-es-http' }, + { text: '例子 4. typescript 实现基于 crawl4ai 的超级网页爬虫 mcp (STDIO)', link: '/plugin-tutorial/examples/typescript-crawl4ai-stdio' }, + { text: '例子 5. python 实现进行通用表单填充 的 mcp (STDIO)', link: '/plugin-tutorial/examples/python-form-stdio' }, + { text: '例子 6. python 实现基于 blender 的 mcp (STDIO)', link: '/plugin-tutorial/examples/python-blender-stdio' }, + { text: '例子 7. python 实现 cadence EDA 的 mcp (STDIO)', link: '/plugin-tutorial/examples/python-cadence-stdio' }, + ] + }, + { + text: 'FAQ', + items: [ + { text: '帮助', link: '/plugin-tutorial/faq/help' }, + ] + } + ], - '/sdk-tutorial/': [ - { - text: '简介', - items: [ - { text: 'openmcp-sdk.js', link: '/sdk-tutorial/' }, - ] - }, - { - text: '基本使用', - items: [ - { text: '最简单的对话', link: '/sdk-tutorial/usage/greet' }, - { text: '任务循环', link: '/sdk-tutorial/usage/task-loop' }, - { text: '多服务器连接', link: '/sdk-tutorial/usage/multi-server' }, - ] - } - ] - }, + '/sdk-tutorial/': [ + { + text: '简介', + items: [ + { text: 'openmcp-sdk.js', link: '/sdk-tutorial/' }, + ] + }, + { + text: '基本使用', + items: [ + { text: '最简单的对话', link: '/sdk-tutorial/usage/greet' }, + { text: '任务循环', link: '/sdk-tutorial/usage/task-loop' }, + { text: '多服务器连接', link: '/sdk-tutorial/usage/multi-server' }, + ] + } + ] + }, - socialLinks: [ - { icon: 'github', link: 'https://github.com/LSTM-Kirigaya/openmcp-client' }, - { icon: customIcons.share, link: 'https://kirigaya.cn/home' }, - ], + socialLinks: [ + { icon: 'github', link: 'https://github.com/LSTM-Kirigaya/openmcp-client' }, + { icon: customIcons.share, link: 'https://kirigaya.cn/home' }, + ], - footer: { - message: '缩短LLM到Agent的最后一公里', - copyright: 'OpenMCP All rights reserved' - }, + footer: { + message: '缩短LLM到Agent的最后一公里', + copyright: 'OpenMCP All rights reserved' + }, - // 左上角的 logo - logo: '/images/openmcp.png', - } + // 左上角的 logo + logo: '/images/openmcp.png', + } }) diff --git a/.vitepress/config.mts.timestamp-1749066931248-ef28b5e1119c7.mjs b/.vitepress/config.mts.timestamp-1749066931248-ef28b5e1119c7.mjs new file mode 100644 index 0000000..223be63 --- /dev/null +++ b/.vitepress/config.mts.timestamp-1749066931248-ef28b5e1119c7.mjs @@ -0,0 +1,285 @@ +// .vitepress/config.mts +import lightbox from "file:///C:/Users/K/project/openmcp-document/node_modules/vitepress-plugin-lightbox/dist/index.js"; +import { GitChangelog, GitChangelogMarkdownSection } from "file:///C:/Users/K/project/openmcp-document/node_modules/@nolebase/vitepress-plugin-git-changelog/dist/vite/index.mjs"; +import { InlineLinkPreviewElementTransform } from "file:///C:/Users/K/project/openmcp-document/node_modules/@nolebase/vitepress-plugin-inline-link-preview/dist/markdown-it/index.mjs"; +import { ThumbnailHashImages } from "file:///C:/Users/K/project/openmcp-document/node_modules/@nolebase/vitepress-plugin-thumbnail-hash/dist/vite/index.mjs"; +import { BiDirectionalLinks } from "file:///C:/Users/K/project/openmcp-document/node_modules/@nolebase/markdown-it-bi-directional-links/dist/index.mjs"; +import { UnlazyImages } from "file:///C:/Users/K/project/openmcp-document/node_modules/@nolebase/markdown-it-unlazy-img/dist/index.mjs"; + +// .vitepress/contributors.ts +var contributors = [ + { + name: "\u9526\u6062", + nameAliases: ["LSTM-Kirigaya", "Kirigaya"], + mapByEmailAliases: ["1193466151@qq.com"], + links: [{ type: "", link: "https://www.zhihu.com/people/can-meng-zhong-de-che-xian" }] + }, + { + name: "PeaceSheep", + nameAliases: ["li1553770945"], + avatar: "https://avatars.githubusercontent.com/u/55867654?v=4", + mapByEmailAliases: ["1553770945@qq.com"], + links: [{ type: "", link: "https://peacesheep.cn/home" }] + }, + { + name: "\u661F\u5F27\u68A6\u5F71", + nameAliases: ["StarArc"], + avatar: "https://avatars.githubusercontent.com/u/115577936?v=4", + mapByEmailAliases: ["3951001763@qq.com"], + links: [{ type: "", link: "https://b23.tv/bqflzuJ" }] + } +]; + +// .vitepress/config.mts +import { withMermaid } from "file:///C:/Users/K/project/openmcp-document/node_modules/vitepress-plugin-mermaid/dist/vitepress-plugin-mermaid.es.mjs"; + +// .vitepress/theme/hook/icons.ts +var customIcons = { + share: { + svg: '' + }, + bilibili: { + svg: '' + }, + blog: { + svg: '' + } +}; + +// .vitepress/config.mts +var baseUrl = "/openmcp"; +var config_default = withMermaid({ + title: "OpenMCP", + description: "\u4E3A\u5F00\u53D1\u8005\u548C\u79D1\u7814\u4EBA\u5458\u51C6\u5907\u7684MCP\u5F00\u53D1\u73AF\u5883\u548CSDK", + base: baseUrl, + ignoreDeadLinks: true, + sitemap: { + hostname: "https://kirigaya.cn/" + baseUrl + }, + vite: { + plugins: [ + GitChangelog({ + // 填写在此处填写您的仓库链接 + repoURL: () => "https://gitea.3geeks.top/kirigaya/openmcp-document", + mapAuthors: contributors + }), + GitChangelogMarkdownSection({ + excludes: ["preview/contributors.md", "index.md"] + }), + ThumbnailHashImages() + ], + optimizeDeps: { + include: [ + "mermaid", + "gsap", + "gsap/ScrollTrigger" + ], + exclude: [ + "@nolebase/vitepress-plugin-inline-link-preview/client" + ] + }, + ssr: { + noExternal: [ + // 如果还有别的解析失败的依赖需要添加的话,并排填写和配置到这里即可 // + "@nolebase/vitepress-plugin-inline-link-preview", + "@unlazy/vue" + ] + } + }, + markdown: { + config: (md) => { + md.use(lightbox); + md.use(InlineLinkPreviewElementTransform); + md.use(BiDirectionalLinks()); + md.use(UnlazyImages(), { + imgElementTag: "NolebaseUnlazyImg" + }); + } + }, + head: [ + ["link", { rel: "icon", href: baseUrl + "/images/favicon.png" }] + ], + themeConfig: { + // https://vitepress.dev/reference/default-theme-config + nav: [ + { text: "\u9996\u9875", link: "/" }, + { + text: "\u6559\u7A0B", + items: [ + { + component: "KNavItem", + props: { + title: "\u7B80\u4ECB", + description: "\u5173\u4E8E mcp \u548C openmcp\uFF0C\u9601\u4E0B\u9700\u8981\u77E5\u9053\u7684 ...", + icon: "openmcp", + link: "/plugin-tutorial/" + } + }, + { + component: "KNavItem", + props: { + title: "\u5FEB\u901F\u5F00\u59CB", + description: "\u901A\u8FC7\u4E00\u4E2A\u4F8B\u5B50\u5FEB\u901F\u4E86\u89E3 OpenMCP \u7684\u57FA\u672C\u6982\u5FF5", + icon: "quick-fill", + link: "/plugin-tutorial/quick-start/" + } + }, + { + component: "KNavItem", + props: { + title: "OpenMCP \u4F7F\u7528\u624B\u518C", + description: "OpenMCP Client \u7684\u57FA\u672C\u4F7F\u7528", + icon: "shiyongshouce", + link: "/plugin-tutorial/usage/connect-mcp" + } + }, + { + component: "KNavItem", + props: { + title: "MCP \u670D\u52A1\u5668\u5F00\u53D1\u6848\u4F8B", + description: "\u4F7F\u7528\u4E0D\u540C\u8BED\u8A00\u5F00\u53D1\u7684\u4E0D\u540C\u6A21\u5F0F\u7684 MCP \u670D\u52A1\u5668", + icon: "yibangonggongyusuan", + link: "/plugin-tutorial/examples/mcp-examples" + } + }, + { + component: "KNavItem", + props: { + title: "FAQ", + description: "\u4E3A\u60A8\u7B54\u7591\u89E3\u60D1\uFF0C\u6392\u5FE7\u89E3\u96BE", + icon: "yijianchuli", + link: "/plugin-tutorial/faq/help" + } + } + ] + }, + { text: "SDK", link: "/sdk-tutorial" }, + { + text: "\u66F4\u591A", + items: [ + { + component: "KNavItem", + props: { + title: "\u66F4\u65B0\u65E5\u5FD7", + description: "\u67E5\u770B\u9879\u76EE\u7684\u66F4\u65B0\u5386\u53F2\u8BB0\u5F55", + icon: "a-yusuan2", + link: "/preview/changelog" + } + }, + { + component: "KNavItem", + props: { + title: "\u53C2\u4E0E OpenMCP", + description: "\u4E86\u89E3\u5982\u4F55\u53C2\u4E0E OpenMCP \u9879\u76EE\u7684\u5F00\u53D1\u548C\u7EF4\u62A4", + icon: "shujuzhongxin", + link: "/preview/join" + } + }, + { + component: "KNavItem", + props: { + title: "OpenMCP \u8D21\u732E\u8005\u5217\u8868", + description: "\u5173\u4E8E\u53C2\u4E0E OpenMCP \u7684\u8D21\u732E\u8005\u4EEC", + icon: "heike", + link: "/preview/contributors" + } + }, + { + component: "KNavItem", + props: { + title: "\u8D44\u6E90\u9891\u9053", + description: "\u83B7\u53D6\u9879\u76EE\u76F8\u5173\u7684\u8D44\u6E90\u548C\u4FE1\u606F", + icon: "xinxiang", + link: "/preview/channel" + } + } + ] + } + ], + sidebar: { + "/plugin-tutorial/": [ + { + text: "\u7B80\u4ECB", + items: [ + { text: "OpenMCP \u6982\u8FF0", link: "/plugin-tutorial/index" }, + { text: "\u4EC0\u4E48\u662F MCP\uFF1F", link: "/plugin-tutorial/what-is-mcp" }, + { text: "MCP \u57FA\u7840\u6982\u5FF5", link: "/plugin-tutorial/concept" } + ] + }, + { + text: "\u5FEB\u901F\u5F00\u59CB", + items: [ + { text: "\u5FEB\u901F\u5F00\u59CB", link: "/plugin-tutorial/quick-start" }, + { text: "\u5B89\u88C5 OpenMCP", link: "/plugin-tutorial/quick-start/acquire-openmcp" }, + { text: "\u4F60\u7684\u7B2C\u4E00\u4E2A MCP", link: "/plugin-tutorial/quick-start/first-mcp" }, + { text: "\u5FEB\u901F\u8C03\u8BD5 MCP", link: "/plugin-tutorial/quick-start/quick-debug" }, + { text: "\u6254\u8FDB\u5927\u6A21\u578B\u91CC\u9762\u6D4B\u6D4B\u597D\u574F\uFF01", link: "/plugin-tutorial/quick-start/put-into-llm" } + ] + }, + { + text: "OpenMCP \u4F7F\u7528\u624B\u518C", + items: [ + { text: "UI \u914D\u8272", link: "/plugin-tutorial/usage/ui-color" }, + { text: "\u8FDE\u63A5 mcp \u670D\u52A1\u5668", link: "/plugin-tutorial/usage/connect-mcp" }, + { text: "\u8C03\u8BD5 tools, resources \u548C prompts", link: "/plugin-tutorial/usage/debug" }, + { text: "\u8FDE\u63A5\u5927\u6A21\u578B", link: "/plugin-tutorial/usage/connect-llm" }, + { text: "\u7528\u5927\u6A21\u578B\u6D4B\u8BD5\u60A8\u7684 mcp", link: "/plugin-tutorial/usage/test-with-llm" }, + { text: "\u8FDE\u63A5\u591A\u4E2A MCP \u670D\u52A1\u5668", link: "/plugin-tutorial/usage/multi-server" }, + { text: "\u5206\u53D1\u60A8\u7684\u5B9E\u9A8C\u7ED3\u679C", link: "/plugin-tutorial/usage/distribute-result" }, + { text: "SSE \u5728\u7EBF\u90E8\u7F72\u7684\u9274\u6743\u5668\u5B9E\u73B0", link: "/plugin-tutorial/usage/sse-oauth2" } + ] + }, + { + text: "MCP \u670D\u52A1\u5668\u5F00\u53D1\u6848\u4F8B", + items: [ + { text: "MCP \u670D\u52A1\u5668\u5F00\u53D1\u6848\u4F8B", link: "/plugin-tutorial/examples/mcp-examples" }, + { text: "\u4F8B\u5B50 1. python \u5B9E\u73B0\u5929\u6C14\u4FE1\u606F mcp \u670D\u52A1\u5668 (STDIO)", link: "/plugin-tutorial/examples/python-simple-stdio" }, + { text: "\u4F8B\u5B50 2. go \u5B9E\u73B0 neo4j \u7684\u53EA\u8BFB mcp \u670D\u52A1\u5668 (SSE)", link: "/plugin-tutorial/examples/go-neo4j-sse" }, + { text: "\u4F8B\u5B50 3. java \u5B9E\u73B0\u6587\u6863\u6570\u636E\u5E93\u7684\u53EA\u8BFB mcp (HTTP)", link: "/plugin-tutorial/examples/java-es-http" }, + { text: "\u4F8B\u5B50 4. typescript \u5B9E\u73B0\u57FA\u4E8E crawl4ai \u7684\u8D85\u7EA7\u7F51\u9875\u722C\u866B mcp (STDIO)", link: "/plugin-tutorial/examples/typescript-crawl4ai-stdio" }, + { text: "\u4F8B\u5B50 5. python \u5B9E\u73B0\u8FDB\u884C\u901A\u7528\u8868\u5355\u586B\u5145 \u7684 mcp (STDIO)", link: "/plugin-tutorial/examples/python-form-stdio" }, + { text: "\u4F8B\u5B50 6. python \u5B9E\u73B0\u57FA\u4E8E blender \u7684 mcp (STDIO)", link: "/plugin-tutorial/examples/python-blender-stdio" }, + { text: "\u4F8B\u5B50 7. python \u5B9E\u73B0 cadence EDA \u7684 mcp (STDIO)", link: "/plugin-tutorial/examples/python-cadence-stdio" } + ] + }, + { + text: "FAQ", + items: [ + { text: "\u5E2E\u52A9", link: "/plugin-tutorial/faq/help" } + ] + } + ], + "/sdk-tutorial/": [ + { + text: "\u7B80\u4ECB", + items: [ + { text: "openmcp-sdk.js", link: "/sdk-tutorial/" } + ] + }, + { + text: "\u57FA\u672C\u4F7F\u7528", + items: [ + { text: "\u6700\u7B80\u5355\u7684\u5BF9\u8BDD", link: "/sdk-tutorial/usage/greet" }, + { text: "\u4EFB\u52A1\u5FAA\u73AF", link: "/sdk-tutorial/usage/task-loop" }, + { text: "\u591A\u670D\u52A1\u5668\u8FDE\u63A5", link: "/sdk-tutorial/usage/multi-server" } + ] + } + ] + }, + socialLinks: [ + { icon: "github", link: "https://github.com/LSTM-Kirigaya/openmcp-client" }, + { icon: customIcons.share, link: "https://kirigaya.cn/home" } + ], + footer: { + message: "\u7F29\u77EDLLM\u5230Agent\u7684\u6700\u540E\u4E00\u516C\u91CC", + copyright: "OpenMCP All rights reserved" + }, + // 左上角的 logo + logo: "/images/openmcp.png" + } +}); +export { + baseUrl, + config_default as default +}; +//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLnZpdGVwcmVzcy9jb25maWcubXRzIiwgIi52aXRlcHJlc3MvY29udHJpYnV0b3JzLnRzIiwgIi52aXRlcHJlc3MvdGhlbWUvaG9vay9pY29ucy50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiY29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2Rpcm5hbWUgPSBcIkM6XFxcXFVzZXJzXFxcXEtcXFxccHJvamVjdFxcXFxvcGVubWNwLWRvY3VtZW50XFxcXC52aXRlcHJlc3NcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZmlsZW5hbWUgPSBcIkM6XFxcXFVzZXJzXFxcXEtcXFxccHJvamVjdFxcXFxvcGVubWNwLWRvY3VtZW50XFxcXC52aXRlcHJlc3NcXFxcY29uZmlnLm10c1wiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9pbXBvcnRfbWV0YV91cmwgPSBcImZpbGU6Ly8vQzovVXNlcnMvSy9wcm9qZWN0L29wZW5tY3AtZG9jdW1lbnQvLnZpdGVwcmVzcy9jb25maWcubXRzXCI7aW1wb3J0IGxpZ2h0Ym94IGZyb20gXCJ2aXRlcHJlc3MtcGx1Z2luLWxpZ2h0Ym94XCI7XHJcblxyXG5pbXBvcnQgeyBHaXRDaGFuZ2Vsb2csIEdpdENoYW5nZWxvZ01hcmtkb3duU2VjdGlvbiB9IGZyb20gJ0Bub2xlYmFzZS92aXRlcHJlc3MtcGx1Z2luLWdpdC1jaGFuZ2Vsb2cvdml0ZSc7XHJcbmltcG9ydCB7IElubGluZUxpbmtQcmV2aWV3RWxlbWVudFRyYW5zZm9ybSB9IGZyb20gJ0Bub2xlYmFzZS92aXRlcHJlc3MtcGx1Z2luLWlubGluZS1saW5rLXByZXZpZXcvbWFya2Rvd24taXQnO1xyXG5pbXBvcnQgeyBUaHVtYm5haWxIYXNoSW1hZ2VzIH0gZnJvbSAnQG5vbGViYXNlL3ZpdGVwcmVzcy1wbHVnaW4tdGh1bWJuYWlsLWhhc2gvdml0ZSc7XHJcbmltcG9ydCB7IEJpRGlyZWN0aW9uYWxMaW5rcyB9IGZyb20gJ0Bub2xlYmFzZS9tYXJrZG93bi1pdC1iaS1kaXJlY3Rpb25hbC1saW5rcyc7XHJcbmltcG9ydCB7IFVubGF6eUltYWdlcyB9IGZyb20gJ0Bub2xlYmFzZS9tYXJrZG93bi1pdC11bmxhenktaW1nJztcclxuXHJcbmltcG9ydCB7IGNvbnRyaWJ1dG9ycyB9IGZyb20gJy4vY29udHJpYnV0b3JzJztcclxuaW1wb3J0IHsgd2l0aE1lcm1haWQgfSBmcm9tIFwidml0ZXByZXNzLXBsdWdpbi1tZXJtYWlkXCI7XHJcbmltcG9ydCB7IGN1c3RvbUljb25zIH0gZnJvbSAnLi90aGVtZS9ob29rL2ljb25zJztcclxuXHJcbmV4cG9ydCBjb25zdCBiYXNlVXJsID0gJy9vcGVubWNwJztcclxuXHJcbmV4cG9ydCBkZWZhdWx0IHdpdGhNZXJtYWlkKHtcclxuXHR0aXRsZTogXCJPcGVuTUNQXCIsXHJcblx0ZGVzY3JpcHRpb246IFwiXHU0RTNBXHU1RjAwXHU1M0QxXHU4MDA1XHU1NDhDXHU3OUQxXHU3ODE0XHU0RUJBXHU1NDU4XHU1MUM2XHU1OTA3XHU3Njg0TUNQXHU1RjAwXHU1M0QxXHU3M0FGXHU1ODgzXHU1NDhDU0RLXCIsXHJcblx0YmFzZTogYmFzZVVybCxcclxuXHRpZ25vcmVEZWFkTGlua3M6IHRydWUsXHJcblxyXG5cdHNpdGVtYXA6IHtcclxuXHRcdGhvc3RuYW1lOiAnaHR0cHM6Ly9raXJpZ2F5YS5jbi8nICsgYmFzZVVybFxyXG5cdH0sXHJcblxyXG5cdHZpdGU6IHtcclxuXHRcdHBsdWdpbnM6IFtcclxuXHRcdFx0R2l0Q2hhbmdlbG9nKHtcclxuXHRcdFx0XHQvLyBcdTU4NkJcdTUxOTlcdTU3MjhcdTZCNjRcdTU5MDRcdTU4NkJcdTUxOTlcdTYwQThcdTc2ODRcdTRFRDNcdTVFOTNcdTk0RkVcdTYzQTVcclxuXHRcdFx0XHRyZXBvVVJMOiAoKSA9PiAnaHR0cHM6Ly9naXRlYS4zZ2Vla3MudG9wL2tpcmlnYXlhL29wZW5tY3AtZG9jdW1lbnQnLFxyXG5cdFx0XHRcdG1hcEF1dGhvcnM6IGNvbnRyaWJ1dG9yc1xyXG5cdFx0XHR9KSxcclxuXHRcdFx0R2l0Q2hhbmdlbG9nTWFya2Rvd25TZWN0aW9uKHtcclxuXHRcdFx0XHRleGNsdWRlczogWydwcmV2aWV3L2NvbnRyaWJ1dG9ycy5tZCcsICdpbmRleC5tZCddXHJcblx0XHRcdH0pLFxyXG5cdFx0XHRUaHVtYm5haWxIYXNoSW1hZ2VzKCksXHJcblx0XHRdLFxyXG5cdFx0b3B0aW1pemVEZXBzOiB7XHJcblx0XHRcdGluY2x1ZGU6IFtcclxuXHRcdFx0XHQnbWVybWFpZCcsXHJcbiAgICAgICAgICAgICAgICBcImdzYXBcIixcclxuICAgICAgICAgICAgICAgIFwiZ3NhcC9TY3JvbGxUcmlnZ2VyXCJcclxuXHRcdFx0XSxcclxuXHRcdFx0ZXhjbHVkZTogW1xyXG5cdFx0XHRcdCdAbm9sZWJhc2Uvdml0ZXByZXNzLXBsdWdpbi1pbmxpbmUtbGluay1wcmV2aWV3L2NsaWVudCcsXHJcblx0XHRcdF0sXHJcblx0XHR9LFxyXG5cdFx0c3NyOiB7XHJcblx0XHRcdG5vRXh0ZXJuYWw6IFtcclxuXHRcdFx0XHQvLyBcdTU5ODJcdTY3OUNcdThGRDhcdTY3MDlcdTUyMkJcdTc2ODRcdTg5RTNcdTY3OTBcdTU5MzFcdThEMjVcdTc2ODRcdTRGOURcdThENTZcdTk3MDBcdTg5ODFcdTZERkJcdTUyQTBcdTc2ODRcdThCRERcdUZGMENcdTVFNzZcdTYzOTJcdTU4NkJcdTUxOTlcdTU0OENcdTkxNERcdTdGNkVcdTUyMzBcdThGRDlcdTkxQ0NcdTUzNzNcdTUzRUYgLy9cclxuXHRcdFx0XHQnQG5vbGViYXNlL3ZpdGVwcmVzcy1wbHVnaW4taW5saW5lLWxpbmstcHJldmlldycsXHJcblx0XHRcdFx0J0B1bmxhenkvdnVlJ1xyXG5cdFx0XHRdLFxyXG5cdFx0fSxcclxuXHR9LFxyXG5cclxuXHRtYXJrZG93bjoge1xyXG5cdFx0Y29uZmlnOiAobWQpID0+IHtcclxuXHRcdFx0bWQudXNlKGxpZ2h0Ym94KTtcclxuXHRcdFx0bWQudXNlKElubGluZUxpbmtQcmV2aWV3RWxlbWVudFRyYW5zZm9ybSk7XHJcblx0XHRcdG1kLnVzZShCaURpcmVjdGlvbmFsTGlua3MoKSk7XHJcblx0XHRcdG1kLnVzZShVbmxhenlJbWFnZXMoKSwgeyBcclxuXHRcdFx0XHRpbWdFbGVtZW50VGFnOiAnTm9sZWJhc2VVbmxhenlJbWcnLCBcclxuXHRcdFx0fSk7XHJcblx0XHR9XHJcblx0fSxcclxuXHJcblx0aGVhZDogW1xyXG5cdFx0WydsaW5rJywgeyByZWw6ICdpY29uJywgaHJlZjogYmFzZVVybCArICcvaW1hZ2VzL2Zhdmljb24ucG5nJyB9XVxyXG5cdF0sXHJcblx0dGhlbWVDb25maWc6IHtcclxuXHRcdC8vIGh0dHBzOi8vdml0ZXByZXNzLmRldi9yZWZlcmVuY2UvZGVmYXVsdC10aGVtZS1jb25maWdcclxuXHRcdG5hdjogW1xyXG5cdFx0XHR7IHRleHQ6ICdcdTk5OTZcdTk4NzUnLCBsaW5rOiAnLycgfSxcclxuXHRcdFx0e1xyXG5cdFx0XHRcdHRleHQ6ICdcdTY1NTlcdTdBMEInLFxyXG5cdFx0XHRcdGl0ZW1zOiBbXHJcblx0XHRcdFx0XHR7XHJcblx0XHRcdFx0XHRcdGNvbXBvbmVudDogJ0tOYXZJdGVtJyxcclxuXHRcdFx0XHRcdFx0cHJvcHM6IHtcclxuXHRcdFx0XHRcdFx0XHR0aXRsZTogJ1x1N0I4MFx1NEVDQicsXHJcblx0XHRcdFx0XHRcdFx0ZGVzY3JpcHRpb246ICdcdTUxNzNcdTRFOEUgbWNwIFx1NTQ4QyBvcGVubWNwXHVGRjBDXHU5NjAxXHU0RTBCXHU5NzAwXHU4OTgxXHU3N0U1XHU5MDUzXHU3Njg0IC4uLicsXHJcblx0XHRcdFx0XHRcdFx0aWNvbjogJ29wZW5tY3AnLFxyXG5cdFx0XHRcdFx0XHRcdGxpbms6ICcvcGx1Z2luLXR1dG9yaWFsLydcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdHtcclxuXHRcdFx0XHRcdFx0Y29tcG9uZW50OiAnS05hdkl0ZW0nLFxyXG5cdFx0XHRcdFx0XHRwcm9wczoge1xyXG5cdFx0XHRcdFx0XHRcdHRpdGxlOiAnXHU1RkVCXHU5MDFGXHU1RjAwXHU1OUNCJyxcclxuXHRcdFx0XHRcdFx0XHRkZXNjcmlwdGlvbjogJ1x1OTAxQVx1OEZDN1x1NEUwMFx1NEUyQVx1NEY4Qlx1NUI1MFx1NUZFQlx1OTAxRlx1NEU4Nlx1ODlFMyBPcGVuTUNQIFx1NzY4NFx1NTdGQVx1NjcyQ1x1Njk4Mlx1NUZGNScsXHJcblx0XHRcdFx0XHRcdFx0aWNvbjogJ3F1aWNrLWZpbGwnLFxyXG5cdFx0XHRcdFx0XHRcdGxpbms6ICcvcGx1Z2luLXR1dG9yaWFsL3F1aWNrLXN0YXJ0LydcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdHtcclxuXHRcdFx0XHRcdFx0Y29tcG9uZW50OiAnS05hdkl0ZW0nLFxyXG5cdFx0XHRcdFx0XHRwcm9wczoge1xyXG5cdFx0XHRcdFx0XHRcdHRpdGxlOiAnT3Blbk1DUCBcdTRGN0ZcdTc1MjhcdTYyNEJcdTUxOEMnLFxyXG5cdFx0XHRcdFx0XHRcdGRlc2NyaXB0aW9uOiAnT3Blbk1DUCBDbGllbnQgXHU3Njg0XHU1N0ZBXHU2NzJDXHU0RjdGXHU3NTI4JyxcclxuXHRcdFx0XHRcdFx0XHRpY29uOiAnc2hpeW9uZ3Nob3VjZScsXHJcblx0XHRcdFx0XHRcdFx0bGluazogJy9wbHVnaW4tdHV0b3JpYWwvdXNhZ2UvY29ubmVjdC1tY3AnXHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHR7XHJcblx0XHRcdFx0XHRcdGNvbXBvbmVudDogJ0tOYXZJdGVtJyxcclxuXHRcdFx0XHRcdFx0cHJvcHM6IHtcclxuXHRcdFx0XHRcdFx0XHR0aXRsZTogJ01DUCBcdTY3MERcdTUyQTFcdTU2NjhcdTVGMDBcdTUzRDFcdTY4NDhcdTRGOEInLFxyXG5cdFx0XHRcdFx0XHRcdGRlc2NyaXB0aW9uOiAnXHU0RjdGXHU3NTI4XHU0RTBEXHU1NDBDXHU4QkVEXHU4QTAwXHU1RjAwXHU1M0QxXHU3Njg0XHU0RTBEXHU1NDBDXHU2QTIxXHU1RjBGXHU3Njg0IE1DUCBcdTY3MERcdTUyQTFcdTU2NjgnLFxyXG5cdFx0XHRcdFx0XHRcdGljb246ICd5aWJhbmdvbmdnb25neXVzdWFuJyxcclxuXHRcdFx0XHRcdFx0XHRsaW5rOiAnL3BsdWdpbi10dXRvcmlhbC9leGFtcGxlcy9tY3AtZXhhbXBsZXMnXHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHR7XHJcblx0XHRcdFx0XHRcdGNvbXBvbmVudDogJ0tOYXZJdGVtJyxcclxuXHRcdFx0XHRcdFx0cHJvcHM6IHtcclxuXHRcdFx0XHRcdFx0XHR0aXRsZTogJ0ZBUScsXHJcblx0XHRcdFx0XHRcdFx0ZGVzY3JpcHRpb246ICdcdTRFM0FcdTYwQThcdTdCNTRcdTc1OTFcdTg5RTNcdTYwRDFcdUZGMENcdTYzOTJcdTVGRTdcdTg5RTNcdTk2QkUnLFxyXG5cdFx0XHRcdFx0XHRcdGljb246ICd5aWppYW5jaHVsaScsXHJcblx0XHRcdFx0XHRcdFx0bGluazogJy9wbHVnaW4tdHV0b3JpYWwvZmFxL2hlbHAnXHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XVxyXG5cdFx0XHR9LFxyXG5cdFx0XHR7IHRleHQ6ICdTREsnLCBsaW5rOiAnL3Nkay10dXRvcmlhbCcgfSxcclxuXHRcdFx0e1xyXG5cdFx0XHRcdHRleHQ6ICdcdTY2RjRcdTU5MUEnLFxyXG5cdFx0XHRcdGl0ZW1zOiBbXHJcblx0XHRcdFx0XHR7XHJcblx0XHRcdFx0XHRcdGNvbXBvbmVudDogJ0tOYXZJdGVtJyxcclxuXHRcdFx0XHRcdFx0cHJvcHM6IHtcclxuXHRcdFx0XHRcdFx0XHR0aXRsZTogJ1x1NjZGNFx1NjVCMFx1NjVFNVx1NUZENycsXHJcblx0XHRcdFx0XHRcdFx0ZGVzY3JpcHRpb246ICdcdTY3RTVcdTc3MEJcdTk4NzlcdTc2RUVcdTc2ODRcdTY2RjRcdTY1QjBcdTUzODZcdTUzRjJcdThCQjBcdTVGNTUnLFxyXG5cdFx0XHRcdFx0XHRcdGljb246ICdhLXl1c3VhbjInLFxyXG5cdFx0XHRcdFx0XHRcdGxpbms6ICcvcHJldmlldy9jaGFuZ2Vsb2cnXHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHR7XHJcblx0XHRcdFx0XHRcdGNvbXBvbmVudDogJ0tOYXZJdGVtJyxcclxuXHRcdFx0XHRcdFx0cHJvcHM6IHtcclxuXHRcdFx0XHRcdFx0XHR0aXRsZTogJ1x1NTNDMlx1NEUwRSBPcGVuTUNQJyxcclxuXHRcdFx0XHRcdFx0XHRkZXNjcmlwdGlvbjogJ1x1NEU4Nlx1ODlFM1x1NTk4Mlx1NEY1NVx1NTNDMlx1NEUwRSBPcGVuTUNQIFx1OTg3OVx1NzZFRVx1NzY4NFx1NUYwMFx1NTNEMVx1NTQ4Q1x1N0VGNFx1NjJBNCcsXHJcblx0XHRcdFx0XHRcdFx0aWNvbjogJ3NodWp1emhvbmd4aW4nLFxyXG5cdFx0XHRcdFx0XHRcdGxpbms6ICcvcHJldmlldy9qb2luJ1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0e1xyXG5cdFx0XHRcdFx0XHRjb21wb25lbnQ6ICdLTmF2SXRlbScsXHJcblx0XHRcdFx0XHRcdHByb3BzOiB7XHJcblx0XHRcdFx0XHRcdFx0dGl0bGU6ICdPcGVuTUNQIFx1OEQyMVx1NzMyRVx1ODAwNVx1NTIxN1x1ODg2OCcsXHJcblx0XHRcdFx0XHRcdFx0ZGVzY3JpcHRpb246ICdcdTUxNzNcdTRFOEVcdTUzQzJcdTRFMEUgT3Blbk1DUCBcdTc2ODRcdThEMjFcdTczMkVcdTgwMDVcdTRFRUMnLFxyXG5cdFx0XHRcdFx0XHRcdGljb246ICdoZWlrZScsXHJcblx0XHRcdFx0XHRcdFx0bGluazogJy9wcmV2aWV3L2NvbnRyaWJ1dG9ycydcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdHtcclxuXHRcdFx0XHRcdFx0Y29tcG9uZW50OiAnS05hdkl0ZW0nLFxyXG5cdFx0XHRcdFx0XHRwcm9wczoge1xyXG5cdFx0XHRcdFx0XHRcdHRpdGxlOiAnXHU4RDQ0XHU2RTkwXHU5ODkxXHU5MDUzJyxcclxuXHRcdFx0XHRcdFx0XHRkZXNjcmlwdGlvbjogJ1x1ODNCN1x1NTNENlx1OTg3OVx1NzZFRVx1NzZGOFx1NTE3M1x1NzY4NFx1OEQ0NFx1NkU5MFx1NTQ4Q1x1NEZFMVx1NjA2RicsXHJcblx0XHRcdFx0XHRcdFx0aWNvbjogJ3hpbnhpYW5nJyxcclxuXHRcdFx0XHRcdFx0XHRsaW5rOiAnL3ByZXZpZXcvY2hhbm5lbCdcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdF1cclxuXHRcdFx0fSxcclxuXHRcdF0sXHJcblxyXG5cdFx0c2lkZWJhcjoge1xyXG5cdFx0XHQnL3BsdWdpbi10dXRvcmlhbC8nOiBbXHJcblx0XHRcdFx0e1xyXG5cdFx0XHRcdFx0dGV4dDogJ1x1N0I4MFx1NEVDQicsXHJcblx0XHRcdFx0XHRpdGVtczogW1xyXG5cdFx0XHRcdFx0XHR7IHRleHQ6ICdPcGVuTUNQIFx1Njk4Mlx1OEZGMCcsIGxpbms6ICcvcGx1Z2luLXR1dG9yaWFsL2luZGV4JyB9LFxyXG5cdFx0XHRcdFx0XHR7IHRleHQ6ICdcdTRFQzBcdTRFNDhcdTY2MkYgTUNQXHVGRjFGJywgbGluazogJy9wbHVnaW4tdHV0b3JpYWwvd2hhdC1pcy1tY3AnIH0sXHJcblx0XHRcdFx0XHRcdHsgdGV4dDogJ01DUCBcdTU3RkFcdTc4NDBcdTY5ODJcdTVGRjUnLCBsaW5rOiAnL3BsdWdpbi10dXRvcmlhbC9jb25jZXB0JyB9XHJcblx0XHRcdFx0XHRdXHJcblx0XHRcdFx0fSxcclxuXHRcdFx0XHR7XHJcblx0XHRcdFx0XHR0ZXh0OiAnXHU1RkVCXHU5MDFGXHU1RjAwXHU1OUNCJyxcclxuXHRcdFx0XHRcdGl0ZW1zOiBbXHJcblx0XHRcdFx0XHRcdHsgdGV4dDogJ1x1NUZFQlx1OTAxRlx1NUYwMFx1NTlDQicsIGxpbms6ICcvcGx1Z2luLXR1dG9yaWFsL3F1aWNrLXN0YXJ0JyB9LFxyXG5cdFx0XHRcdFx0XHR7IHRleHQ6ICdcdTVCODlcdTg4QzUgT3Blbk1DUCcsIGxpbms6ICcvcGx1Z2luLXR1dG9yaWFsL3F1aWNrLXN0YXJ0L2FjcXVpcmUtb3Blbm1jcCcgfSxcclxuXHRcdFx0XHRcdFx0eyB0ZXh0OiAnXHU0RjYwXHU3Njg0XHU3QjJDXHU0RTAwXHU0RTJBIE1DUCcsIGxpbms6ICcvcGx1Z2luLXR1dG9yaWFsL3F1aWNrLXN0YXJ0L2ZpcnN0LW1jcCcgfSxcclxuXHRcdFx0XHRcdFx0eyB0ZXh0OiAnXHU1RkVCXHU5MDFGXHU4QzAzXHU4QkQ1IE1DUCcsIGxpbms6ICcvcGx1Z2luLXR1dG9yaWFsL3F1aWNrLXN0YXJ0L3F1aWNrLWRlYnVnJyB9LFxyXG5cdFx0XHRcdFx0XHR7IHRleHQ6ICdcdTYyNTRcdThGREJcdTU5MjdcdTZBMjFcdTU3OEJcdTkxQ0NcdTk3NjJcdTZENEJcdTZENEJcdTU5N0RcdTU3NEZcdUZGMDEnLCBsaW5rOiAnL3BsdWdpbi10dXRvcmlhbC9xdWljay1zdGFydC9wdXQtaW50by1sbG0nIH0sXHJcblx0XHRcdFx0XHRdXHJcblx0XHRcdFx0fSxcclxuXHRcdFx0XHR7XHJcblx0XHRcdFx0XHR0ZXh0OiBcIk9wZW5NQ1AgXHU0RjdGXHU3NTI4XHU2MjRCXHU1MThDXCIsXHJcblx0XHRcdFx0XHRpdGVtczogW1xyXG5cdFx0XHRcdFx0XHR7IHRleHQ6ICdVSSBcdTkxNERcdTgyNzInLCBsaW5rOiAnL3BsdWdpbi10dXRvcmlhbC91c2FnZS91aS1jb2xvcicgfSxcclxuXHRcdFx0XHRcdFx0eyB0ZXh0OiAnXHU4RkRFXHU2M0E1IG1jcCBcdTY3MERcdTUyQTFcdTU2NjgnLCBsaW5rOiAnL3BsdWdpbi10dXRvcmlhbC91c2FnZS9jb25uZWN0LW1jcCcgfSxcclxuXHRcdFx0XHRcdFx0eyB0ZXh0OiAnXHU4QzAzXHU4QkQ1IHRvb2xzLCByZXNvdXJjZXMgXHU1NDhDIHByb21wdHMnLCBsaW5rOiAnL3BsdWdpbi10dXRvcmlhbC91c2FnZS9kZWJ1ZycgfSxcclxuXHRcdFx0XHRcdFx0eyB0ZXh0OiAnXHU4RkRFXHU2M0E1XHU1OTI3XHU2QTIxXHU1NzhCJywgbGluazogJy9wbHVnaW4tdHV0b3JpYWwvdXNhZ2UvY29ubmVjdC1sbG0nIH0sXHJcblx0XHRcdFx0XHRcdHsgdGV4dDogJ1x1NzUyOFx1NTkyN1x1NkEyMVx1NTc4Qlx1NkQ0Qlx1OEJENVx1NjBBOFx1NzY4NCBtY3AnLCBsaW5rOiAnL3BsdWdpbi10dXRvcmlhbC91c2FnZS90ZXN0LXdpdGgtbGxtJyB9LFxyXG5cdFx0XHRcdFx0XHR7IHRleHQ6ICdcdThGREVcdTYzQTVcdTU5MUFcdTRFMkEgTUNQIFx1NjcwRFx1NTJBMVx1NTY2OCcsIGxpbms6ICcvcGx1Z2luLXR1dG9yaWFsL3VzYWdlL211bHRpLXNlcnZlcicgfSxcclxuXHRcdFx0XHRcdFx0eyB0ZXh0OiAnXHU1MjA2XHU1M0QxXHU2MEE4XHU3Njg0XHU1QjlFXHU5QThDXHU3RUQzXHU2NzlDJywgbGluazogJy9wbHVnaW4tdHV0b3JpYWwvdXNhZ2UvZGlzdHJpYnV0ZS1yZXN1bHQnIH0sXHJcblx0XHRcdFx0XHRcdHsgdGV4dDogJ1NTRSBcdTU3MjhcdTdFQkZcdTkwRThcdTdGNzJcdTc2ODRcdTkyNzRcdTY3NDNcdTU2NjhcdTVCOUVcdTczQjAnLCBsaW5rOiAnL3BsdWdpbi10dXRvcmlhbC91c2FnZS9zc2Utb2F1dGgyJyB9LFxyXG5cdFx0XHRcdFx0XVxyXG5cdFx0XHRcdH0sXHJcblx0XHRcdFx0e1xyXG5cdFx0XHRcdFx0dGV4dDogXCJNQ1AgXHU2NzBEXHU1MkExXHU1NjY4XHU1RjAwXHU1M0QxXHU2ODQ4XHU0RjhCXCIsXHJcblx0XHRcdFx0XHRpdGVtczogW1xyXG5cdFx0XHRcdFx0XHR7IHRleHQ6ICdNQ1AgXHU2NzBEXHU1MkExXHU1NjY4XHU1RjAwXHU1M0QxXHU2ODQ4XHU0RjhCJywgbGluazogJy9wbHVnaW4tdHV0b3JpYWwvZXhhbXBsZXMvbWNwLWV4YW1wbGVzJyB9LFxyXG5cdFx0XHRcdFx0XHR7IHRleHQ6ICdcdTRGOEJcdTVCNTAgMS4gcHl0aG9uIFx1NUI5RVx1NzNCMFx1NTkyOVx1NkMxNFx1NEZFMVx1NjA2RiBtY3AgXHU2NzBEXHU1MkExXHU1NjY4IChTVERJTyknLCBsaW5rOiAnL3BsdWdpbi10dXRvcmlhbC9leGFtcGxlcy9weXRob24tc2ltcGxlLXN0ZGlvJyB9LFxyXG5cdFx0XHRcdFx0XHR7IHRleHQ6ICdcdTRGOEJcdTVCNTAgMi4gZ28gXHU1QjlFXHU3M0IwIG5lbzRqIFx1NzY4NFx1NTNFQVx1OEJGQiBtY3AgXHU2NzBEXHU1MkExXHU1NjY4IChTU0UpJywgbGluazogJy9wbHVnaW4tdHV0b3JpYWwvZXhhbXBsZXMvZ28tbmVvNGotc3NlJyB9LFxyXG5cdFx0XHRcdFx0XHR7IHRleHQ6ICdcdTRGOEJcdTVCNTAgMy4gamF2YSBcdTVCOUVcdTczQjBcdTY1ODdcdTY4NjNcdTY1NzBcdTYzNkVcdTVFOTNcdTc2ODRcdTUzRUFcdThCRkIgbWNwIChIVFRQKScsIGxpbms6ICcvcGx1Z2luLXR1dG9yaWFsL2V4YW1wbGVzL2phdmEtZXMtaHR0cCcgfSxcclxuXHRcdFx0XHRcdFx0eyB0ZXh0OiAnXHU0RjhCXHU1QjUwIDQuIHR5cGVzY3JpcHQgXHU1QjlFXHU3M0IwXHU1N0ZBXHU0RThFIGNyYXdsNGFpIFx1NzY4NFx1OEQ4NVx1N0VBN1x1N0Y1MVx1OTg3NVx1NzIyQ1x1ODY2QiBtY3AgKFNURElPKScsIGxpbms6ICcvcGx1Z2luLXR1dG9yaWFsL2V4YW1wbGVzL3R5cGVzY3JpcHQtY3Jhd2w0YWktc3RkaW8nIH0sXHJcblx0XHRcdFx0XHRcdHsgdGV4dDogJ1x1NEY4Qlx1NUI1MCA1LiBweXRob24gXHU1QjlFXHU3M0IwXHU4RkRCXHU4ODRDXHU5MDFBXHU3NTI4XHU4ODY4XHU1MzU1XHU1ODZCXHU1MTQ1IFx1NzY4NCBtY3AgKFNURElPKScsIGxpbms6ICcvcGx1Z2luLXR1dG9yaWFsL2V4YW1wbGVzL3B5dGhvbi1mb3JtLXN0ZGlvJyB9LFxyXG5cdFx0XHRcdFx0XHR7IHRleHQ6ICdcdTRGOEJcdTVCNTAgNi4gcHl0aG9uIFx1NUI5RVx1NzNCMFx1NTdGQVx1NEU4RSBibGVuZGVyIFx1NzY4NCBtY3AgKFNURElPKScsIGxpbms6ICcvcGx1Z2luLXR1dG9yaWFsL2V4YW1wbGVzL3B5dGhvbi1ibGVuZGVyLXN0ZGlvJyB9LFxyXG5cdFx0XHRcdFx0XHR7IHRleHQ6ICdcdTRGOEJcdTVCNTAgNy4gcHl0aG9uIFx1NUI5RVx1NzNCMCBjYWRlbmNlIEVEQSBcdTc2ODQgbWNwIChTVERJTyknLCBsaW5rOiAnL3BsdWdpbi10dXRvcmlhbC9leGFtcGxlcy9weXRob24tY2FkZW5jZS1zdGRpbycgfSxcclxuXHRcdFx0XHRcdF1cclxuXHRcdFx0XHR9LFxyXG5cdFx0XHRcdHtcclxuXHRcdFx0XHRcdHRleHQ6ICdGQVEnLFxyXG5cdFx0XHRcdFx0aXRlbXM6IFtcclxuXHRcdFx0XHRcdFx0eyB0ZXh0OiAnXHU1RTJFXHU1MkE5JywgbGluazogJy9wbHVnaW4tdHV0b3JpYWwvZmFxL2hlbHAnIH0sXHJcblx0XHRcdFx0XHRdXHJcblx0XHRcdFx0fVxyXG5cdFx0XHRdLFxyXG5cclxuXHRcdFx0Jy9zZGstdHV0b3JpYWwvJzogW1xyXG5cdFx0XHRcdHtcclxuXHRcdFx0XHRcdHRleHQ6ICdcdTdCODBcdTRFQ0InLFxyXG5cdFx0XHRcdFx0aXRlbXM6IFtcclxuXHRcdFx0XHRcdFx0eyB0ZXh0OiAnb3Blbm1jcC1zZGsuanMnLCBsaW5rOiAnL3Nkay10dXRvcmlhbC8nIH0sXHJcblx0XHRcdFx0XHRdXHJcblx0XHRcdFx0fSxcclxuXHRcdFx0XHR7XHJcblx0XHRcdFx0XHR0ZXh0OiAnXHU1N0ZBXHU2NzJDXHU0RjdGXHU3NTI4JyxcclxuXHRcdFx0XHRcdGl0ZW1zOiBbXHJcblx0XHRcdFx0XHRcdHsgdGV4dDogJ1x1NjcwMFx1N0I4MFx1NTM1NVx1NzY4NFx1NUJGOVx1OEJERCcsIGxpbms6ICcvc2RrLXR1dG9yaWFsL3VzYWdlL2dyZWV0JyB9LFxyXG5cdFx0XHRcdFx0XHR7IHRleHQ6ICdcdTRFRkJcdTUyQTFcdTVGQUFcdTczQUYnLCBsaW5rOiAnL3Nkay10dXRvcmlhbC91c2FnZS90YXNrLWxvb3AnIH0sXHJcblx0XHRcdFx0XHRcdHsgdGV4dDogJ1x1NTkxQVx1NjcwRFx1NTJBMVx1NTY2OFx1OEZERVx1NjNBNScsIGxpbms6ICcvc2RrLXR1dG9yaWFsL3VzYWdlL211bHRpLXNlcnZlcicgfSxcclxuXHRcdFx0XHRcdF1cclxuXHRcdFx0XHR9XHJcblx0XHRcdF1cclxuXHRcdH0sXHJcblxyXG5cdFx0c29jaWFsTGlua3M6IFtcclxuXHRcdFx0eyBpY29uOiAnZ2l0aHViJywgbGluazogJ2h0dHBzOi8vZ2l0aHViLmNvbS9MU1RNLUtpcmlnYXlhL29wZW5tY3AtY2xpZW50JyB9LFxyXG5cdFx0XHR7IGljb246IGN1c3RvbUljb25zLnNoYXJlLCBsaW5rOiAnaHR0cHM6Ly9raXJpZ2F5YS5jbi9ob21lJyB9LFxyXG5cdFx0XSxcclxuXHJcblx0XHRmb290ZXI6IHtcclxuXHRcdFx0bWVzc2FnZTogJ1x1N0YyOVx1NzdFRExMTVx1NTIzMEFnZW50XHU3Njg0XHU2NzAwXHU1NDBFXHU0RTAwXHU1MTZDXHU5MUNDJyxcclxuXHRcdFx0Y29weXJpZ2h0OiAnT3Blbk1DUCBBbGwgcmlnaHRzIHJlc2VydmVkJ1xyXG5cdFx0fSxcclxuXHJcblx0XHQvLyBcdTVERTZcdTRFMEFcdTg5RDJcdTc2ODQgbG9nb1xyXG5cdFx0bG9nbzogJy9pbWFnZXMvb3Blbm1jcC5wbmcnLFxyXG5cdH1cclxufSlcclxuIiwgImNvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9kaXJuYW1lID0gXCJDOlxcXFxVc2Vyc1xcXFxLXFxcXHByb2plY3RcXFxcb3Blbm1jcC1kb2N1bWVudFxcXFwudml0ZXByZXNzXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ZpbGVuYW1lID0gXCJDOlxcXFxVc2Vyc1xcXFxLXFxcXHByb2plY3RcXFxcb3Blbm1jcC1kb2N1bWVudFxcXFwudml0ZXByZXNzXFxcXGNvbnRyaWJ1dG9ycy50c1wiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9pbXBvcnRfbWV0YV91cmwgPSBcImZpbGU6Ly8vQzovVXNlcnMvSy9wcm9qZWN0L29wZW5tY3AtZG9jdW1lbnQvLnZpdGVwcmVzcy9jb250cmlidXRvcnMudHNcIjtpbnRlcmZhY2UgU29jaWFsRW50cnkge1xyXG4gICAgdHlwZTogJ2dpdGh1YicgfCAndHdpdHRlcicgfCAnZW1haWwnIHwgc3RyaW5nO1xyXG4gICAgbGluazogc3RyaW5nO1xyXG59XHJcblxyXG5pbnRlcmZhY2UgQ29udHJpYnV0b3Ige1xyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgb3ZlcnJpZGluZyBkaXNwbGF5IG5hbWUgb2YgdGhlIGNvbnRyaWJ1dG9yIGluIGRlZmF1bHQgbG9jYWxlXHJcbiAgICAgKi9cclxuICAgIG5hbWU/OiBzdHJpbmc7XHJcbiAgICAvKipcclxuICAgICAqIFRoZSBvdmVycmlkaW5nIGRpc3BsYXkgbmFtZSBvZiB0aGUgY29udHJpYnV0b3IgaW4gb3RoZXIgbG9jYWxlcyBpZiBuZWVkZWRcclxuICAgICAqL1xyXG4gICAgaTE4bj86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XHJcbiAgICAvKipcclxuICAgICAqIFRoZSBvdmVycmlkaW5nIEdpdEh1YiwgR2l0TGFiLCBHaXRlYSB1c2VybmFtZSBvZiB0aGUgY29udHJpYnV0b3JcclxuICAgICAqL1xyXG4gICAgdXNlcm5hbWU/OiBzdHJpbmc7XHJcbiAgICAvKipcclxuICAgICAqIFRoZSBvdmVycmlkaW5nIGF2YXRhciBvZiB0aGUgY29udHJpYnV0b3JcclxuICAgICAqL1xyXG4gICAgYXZhdGFyPzogc3RyaW5nO1xyXG4gICAgLyoqXHJcbiAgICAgKiBXaGV0aGVyIHRvIGFkZCBhIGxpbmsgdG8gdGhlIGNvbnRyaWJ1dG9yJ3MgcHJvZmlsZVxyXG4gICAgICovXHJcbiAgICBsaW5rcz86IHN0cmluZyB8IFNvY2lhbEVudHJ5W107XHJcbiAgICAvKipcclxuICAgICAqIE1vcmUgbmFtZXMgdG8gYmUgcmVjb2duaXplZCBhcyB0aGUgc2FtZSBjb250cmlidXRvci5cclxuICAgICAqXHJcbiAgICAgKiBVc2VmdWwgd2hlbiB5b3UgY2hhbmdlZCB5b3VyIG5hbWUgb3IgZW1haWwgYWRkcmVzcyBpbiB0aGUgcGFzdC5cclxuICAgICAqXHJcbiAgICAgKiBAZGVwcmVjYXRlZCBVc2UgYG1hcEJ5TmFtZUFsaWFzZXNgIGluc3RlYWRcclxuICAgICAqIEBzZWUgbWFwQnlOYW1lQWxpYXNlc1xyXG4gICAgICovXHJcbiAgICBuYW1lQWxpYXNlcz86IHN0cmluZ1tdO1xyXG4gICAgLyoqXHJcbiAgICAgKiBNb3JlIG5hbWVzIHRvIGJlIHJlY29nbml6ZWQgYXMgdGhlIHNhbWUgY29udHJpYnV0b3IuXHJcbiAgICAgKlxyXG4gICAgICogVXNlZnVsIHdoZW4geW91IGNoYW5nZWQgeW91ciBuYW1lIG9yIGVtYWlsIGFkZHJlc3MgaW4gdGhlIHBhc3QuXHJcbiAgICAgKi9cclxuICAgIG1hcEJ5TmFtZUFsaWFzZXM/OiBzdHJpbmdbXTtcclxuICAgIC8qKlxyXG4gICAgICogTW9yZSBlbWFpbHMgdG8gYmUgcmVjb2duaXplZCBhcyB0aGUgc2FtZSBjb250cmlidXRvci5cclxuICAgICAqXHJcbiAgICAgKiBVc2VmdWwgd2hlbiB5b3UgY2hhbmdlZCB5b3VyIGVtYWlsIGFkZHJlc3MgaW4gdGhlIHBhc3QuXHJcbiAgICAgKlxyXG4gICAgICogQGRlcHJlY2F0ZWQgVXNlIGBtYXBCeUVtYWlsQWxpYXNlc2AgaW5zdGVhZFxyXG4gICAgICogQHNlZSBtYXBCeUVtYWlsQWxpYXNlc1xyXG4gICAgICovXHJcbiAgICBlbWFpbEFsaWFzZXM/OiBzdHJpbmdbXTtcclxuICAgIC8qKlxyXG4gICAgICogTW9yZSBlbWFpbHMgdG8gYmUgcmVjb2duaXplZCBhcyB0aGUgc2FtZSBjb250cmlidXRvci5cclxuICAgICAqXHJcbiAgICAgKiBVc2VmdWwgd2hlbiB5b3UgY2hhbmdlZCB5b3VyIGVtYWlsIGFkZHJlc3MgaW4gdGhlIHBhc3QuXHJcbiAgICAgKi9cclxuICAgIG1hcEJ5RW1haWxBbGlhc2VzPzogc3RyaW5nW107XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBjb250cmlidXRvcnMgPSBbXHJcbiAgICB7XHJcbiAgICAgICAgbmFtZTogJ1x1OTUyNlx1NjA2MicsXHJcbiAgICAgICAgbmFtZUFsaWFzZXM6IFsnTFNUTS1LaXJpZ2F5YScsICdLaXJpZ2F5YSddLFxyXG4gICAgICAgIG1hcEJ5RW1haWxBbGlhc2VzOiBbJzExOTM0NjYxNTFAcXEuY29tJ10sXHJcbiAgICAgICAgbGlua3M6IFt7IHR5cGU6ICcnLCBsaW5rOiAnaHR0cHM6Ly93d3cuemhpaHUuY29tL3Blb3BsZS9jYW4tbWVuZy16aG9uZy1kZS1jaGUteGlhbicgfV1cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgbmFtZTogJ1BlYWNlU2hlZXAnLFxyXG4gICAgICAgIG5hbWVBbGlhc2VzOiBbJ2xpMTU1Mzc3MDk0NSddLFxyXG4gICAgICAgIGF2YXRhcjogJ2h0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS81NTg2NzY1ND92PTQnLFxyXG4gICAgICAgIG1hcEJ5RW1haWxBbGlhc2VzOiBbJzE1NTM3NzA5NDVAcXEuY29tJ10sXHJcbiAgICAgICAgbGlua3M6IFt7IHR5cGU6ICcnLCBsaW5rOiAnaHR0cHM6Ly9wZWFjZXNoZWVwLmNuL2hvbWUnIH1dXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIG5hbWU6ICdcdTY2MUZcdTVGMjdcdTY4QTZcdTVGNzEnLFxyXG4gICAgICAgIG5hbWVBbGlhc2VzOiBbJ1N0YXJBcmMnXSxcclxuICAgICAgICBhdmF0YXI6ICdodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTE1NTc3OTM2P3Y9NCcsXHJcbiAgICAgICAgbWFwQnlFbWFpbEFsaWFzZXM6IFsnMzk1MTAwMTc2M0BxcS5jb20nXSxcclxuICAgICAgICBsaW5rczogW3sgdHlwZTogJycsIGxpbms6ICdodHRwczovL2IyMy50di9icWZsenVKJyB9XVxyXG4gICAgfVxyXG5dIGFzIENvbnRyaWJ1dG9yW107IiwgImNvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9kaXJuYW1lID0gXCJDOlxcXFxVc2Vyc1xcXFxLXFxcXHByb2plY3RcXFxcb3Blbm1jcC1kb2N1bWVudFxcXFwudml0ZXByZXNzXFxcXHRoZW1lXFxcXGhvb2tcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZmlsZW5hbWUgPSBcIkM6XFxcXFVzZXJzXFxcXEtcXFxccHJvamVjdFxcXFxvcGVubWNwLWRvY3VtZW50XFxcXC52aXRlcHJlc3NcXFxcdGhlbWVcXFxcaG9va1xcXFxpY29ucy50c1wiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9pbXBvcnRfbWV0YV91cmwgPSBcImZpbGU6Ly8vQzovVXNlcnMvSy9wcm9qZWN0L29wZW5tY3AtZG9jdW1lbnQvLnZpdGVwcmVzcy90aGVtZS9ob29rL2ljb25zLnRzXCI7ZXhwb3J0IGNvbnN0IGN1c3RvbUljb25zID0ge1xyXG5cdHNoYXJlOiB7XHJcblx0XHRzdmc6ICc8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cImN1cnJlbnRDb2xvclwiPjxwYXRoIGQ9XCJNMTggMTYuMDhjLS43NiAwLTEuNDQuMy0xLjk2Ljc3TDguOTEgMTIuN2MuMDUtLjIzLjA5LS40Ni4wOS0uN3MtLjA0LS40Ny0uMDktLjdsNy4wNS00LjExYy41NC41IDEuMjUuODEgMi4wNC44MSAxLjY2IDAgMy0xLjM0IDMtM3MtMS4zNC0zLTMtMy0zIDEuMzQtMyAzYzAgLjI0LjA0LjQ3LjA5LjdMOC4wNCA5LjgxQzcuNSA5LjMxIDYuNzkgOSA2IDljLTEuNjYgMC0zIDEuMzQtMyAzczEuMzQgMyAzIDNjLjc5IDAgMS41LS4zMSAyLjA0LS44MWw3LjEyIDQuMTZjLS4wNS4yMS0uMDguNDMtLjA4LjY1IDAgMS42MSAxLjMxIDIuOTIgMi45MiAyLjkyIDEuNjEgMCAyLjkyLTEuMzEgMi45Mi0yLjkycy0xLjMxLTIuOTItMi45Mi0yLjkyelwiLz48L3N2Zz4nXHJcblx0fSxcclxuICAgIGJpbGliaWxpOiB7XHJcbiAgICAgICAgc3ZnOiAnPHN2ZyB0PVwiMTc0ODU4NDgyNzA3MlwiIGNsYXNzPVwiaWNvblwiIHZpZXdCb3g9XCIwIDAgMTAyNCAxMDI0XCIgdmVyc2lvbj1cIjEuMVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBwLWlkPVwiNTA0MFwiIHdpZHRoPVwiMjAwXCIgaGVpZ2h0PVwiMjAwXCI+PHBhdGggZD1cIk03NzcuNTE0NjY3IDEzMS42NjkzMzNhNTMuMzMzMzMzIDUzLjMzMzMzMyAwIDAgMSAwIDc1LjQzNDY2N0w3MjguNzQ2NjY3IDI1NS44MjkzMzNoNDkuOTJBMTYwIDE2MCAwIDAgMSA5MzguNjY2NjY3IDQxNS44NzJ2MzIwYTE2MCAxNjAgMCAwIDEtMTYwIDE2MEgyNDUuMzMzMzMzQTE2MCAxNjAgMCAwIDEgODUuMzMzMzMzIDczNS44NzJ2LTMyMGExNjAgMTYwIDAgMCAxIDE2MC0xNjBoNDkuNzQ5MzM0TDI0Ni40IDIwNy4xNDY2NjdhNTMuMzMzMzMzIDUzLjMzMzMzMyAwIDEgMSA3NS4zOTItNzUuNDM0NjY3bDExMy4xNTIgMTEzLjE1MmMzLjM3MDY2NyAzLjM3MDY2NyA2LjE4NjY2NyA3LjA0IDguNDQ4IDEwLjk2NTMzM2gxMzcuMDg4YzIuMjYxMzMzLTMuOTI1MzMzIDUuMTItNy42OCA4LjQ5MDY2Ny0xMS4wMDhsMTEzLjEwOTMzMy0xMTMuMTUyYTUzLjMzMzMzMyA1My4zMzMzMzMgMCAwIDEgNzUuNDM0NjY3IDB6IG0xLjE1MiAyMzEuMjUzMzM0SDI0NS4zMzMzMzNhNTMuMzMzMzMzIDUzLjMzMzMzMyAwIDAgMC01My4yMDUzMzMgNDkuMzY1MzMzbC0wLjEyOCA0LjAxMDY2N3YzMjBjMCAyOC4xMTczMzMgMjEuNzYgNTEuMTU3MzMzIDQ5LjM2NTMzMyA1My4xNjI2NjZsMy45NjggMC4xNzA2NjdoNTMzLjMzMzMzNGE1My4zMzMzMzMgNTMuMzMzMzMzIDAgMCAwIDUzLjIwNTMzMy00OS4zNjUzMzNsMC4xMjgtMy45Njh2LTMyMGMwLTI5LjQ0LTIzLjg5MzMzMy01My4zMzMzMzMtNTMuMzMzMzMzLTUzLjMzMzMzNHogbS00MjYuNjY2NjY3IDEwNi42NjY2NjZjMjkuNDQgMCA1My4zMzMzMzMgMjMuODkzMzMzIDUzLjMzMzMzMyA1My4zMzMzMzR2NTMuMzMzMzMzYTUzLjMzMzMzMyA1My4zMzMzMzMgMCAxIDEtMTA2LjY2NjY2NiAwdi01My4zMzMzMzNjMC0yOS40NCAyMy44OTMzMzMtNTMuMzMzMzMzIDUzLjMzMzMzMy01My4zMzMzMzR6IG0zMjAgMGMyOS40NCAwIDUzLjMzMzMzMyAyMy44OTMzMzMgNTMuMzMzMzMzIDUzLjMzMzMzNHY1My4zMzMzMzNhNTMuMzMzMzMzIDUzLjMzMzMzMyAwIDEgMS0xMDYuNjY2NjY2IDB2LTUzLjMzMzMzM2MwLTI5LjQ0IDIzLjg5MzMzMy01My4zMzMzMzMgNTMuMzMzMzMzLTUzLjMzMzMzNHpcIiBwLWlkPVwiNTA0MVwiPjwvcGF0aD48L3N2Zz4nXHJcbiAgICB9LFxyXG4gICAgYmxvZzoge1xyXG4gICAgICAgIHN2ZzogJzxzdmcgdD1cIjE3NDg1ODQ4NjAyMTFcIiBjbGFzcz1cImljb25cIiB2aWV3Qm94PVwiMCAwIDEwMjQgMTAyNFwiIHZlcnNpb249XCIxLjFcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgcC1pZD1cIjg4NTBcIiB3aWR0aD1cIjIwMFwiIGhlaWdodD1cIjIwMFwiPjxwYXRoIGQ9XCJNMzQ0LjQwNzkzNCA0NTMuNjI3MDA0Yy0yOS4xOTg2MTgtNS43OTk3MjUtNTYuMzk3MzMgMTcuNzk5MTU3LTU2LjM5NzMzIDQ3LjU5Nzc0NlY2MDIuMDE5OTc4YzAgMjAuMzk5MDM0IDE0LjE5OTMyOCAzNi43OTgyNTggMzMuMzk4NDE5IDQzLjk5NzkxNyAzNi4zOTgyNzcgMTMuNTk5MzU2IDYyLjU5NzAzNiA0OC43OTc2OSA2Mi41OTcwMzcgODkuOTk1NzM5IDAgNTIuOTk3NDkxLTQyLjk5Nzk2NCA5NS45OTU0NTUtOTUuOTk1NDU2IDk1Ljk5NTQ1NnMtOTUuOTk1NDU1LTQyLjk5Nzk2NC05NS45OTU0NTUtOTUuOTk1NDU2VjI0MC4wMzcxMTZjMC0yNi41OTg3NDEtMjEuMzk4OTg3LTQ3Ljk5NzcyOC00Ny45OTc3MjctNDcuOTk3NzI4SDQ4LjAyMTk2NmMtMjYuNTk4NzQxIDAtNDcuOTk3NzI4IDIxLjM5ODk4Ny00Ny45OTc3MjcgNDcuOTk3NzI4djQ5NS45NzY1MThjMCAxNzguOTkxNTI2IDE2NC4xOTIyMjcgMzIwLjM4NDgzMiAzNDkuOTgzNDMgMjgxLjM4NjY3OCAxMDguNzk0ODQ5LTIyLjc5ODkyMSAxOTYuNTkwNjkzLTExMC43OTQ3NTUgMjE5LjM4OTYxNC0yMTkuMzg5NjEzIDM0Ljc5ODM1My0xNjUuNzkyMTUxLTczLjk5NjQ5Ny0zMTQuMzg1MTE2LTIyNC45ODkzNDktMzQ0LjM4MzY5NXpNNDE4LjAwNDQ1IDAuMDQ4NDc4Yy0xOC4zOTkxMjktMC45OTk5NTMtMzMuOTk4MzkgMTMuNTk5MzU2LTMzLjk5ODM5IDMxLjk5ODQ4NXY2My4xOTcwMDhjMCAxNi45OTkxOTUgMTMuMTk5Mzc1IDMwLjk5ODUzMiAyOS45OTg1NzkgMzEuNzk4NDk0IDI1OC43ODc3NDggMTMuOTk5MzM3IDQ2Ni43Nzc5MDEgMjIzLjk4OTM5NiA0ODEuNzc3MTkxIDQ4Mi45NzcxMzQgMC45OTk5NTMgMTYuNzk5MjA1IDE0Ljk5OTI5IDI5Ljk5ODU4IDMxLjc5ODQ5NSAyOS45OTg1OGg2NC4xOTY5NjFjMTguMzk5MTI5IDAgMzIuOTk4NDM4LTE1LjU5OTI2MSAzMS45OTg0ODUtMzMuOTk4MzlDMTAwNi43NzY1NzUgMjc5LjYzNTI0MSA3NDQuMzg4OTk4IDE3LjI0NzY2MyA0MTguMDA0NDUgMC4wNDg0Nzh6IG0wLjU5OTk3MiAxOTEuOTkwOTFjLTE4LjU5OTExOS0xLjM5OTkzNC0zNC41OTgzNjIgMTMuMzk5MzY2LTM0LjU5ODM2MiAzMi4xOTg0NzZ2NjQuMTk2OTZjMCAxNi43OTkyMDUgMTIuOTk5Mzg1IDMwLjU5ODU1MSAyOS41OTg1OTggMzEuNzk4NDk1IDE1My41OTI3MjggMTIuNTk5NDAzIDI3NS45ODY5MzQgMTM2LjM5MzU0MyAyODkuNzg2MjgxIDI5MC4zODYyNTIgMS41OTk5MjQgMTYuNTk5MjE0IDE1LjE5OTI4IDI5LjM5ODYwOCAzMS43OTg0OTQgMjkuMzk4NjA4aDY0LjM5Njk1MmMxOC41OTkxMTkgMCAzMy41OTg0MDktMTUuOTk5MjQzIDMyLjE5ODQ3NS0zNC41OTgzNjItMTYuNzk5MjA1LTIyMC4xODk1NzUtMTkyLjk5MDg2My0zOTYuMzgxMjM0LTQxMy4xODA0MzgtNDEzLjM4MDQyOXpcIiBwLWlkPVwiODg1MVwiPjwvcGF0aD48L3N2Zz4nXHJcbiAgICB9XHJcbn1cclxuIl0sCiAgIm1hcHBpbmdzIjogIjtBQUFnVSxPQUFPLGNBQWM7QUFFclYsU0FBUyxjQUFjLG1DQUFtQztBQUMxRCxTQUFTLHlDQUF5QztBQUNsRCxTQUFTLDJCQUEyQjtBQUNwQyxTQUFTLDBCQUEwQjtBQUNuQyxTQUFTLG9CQUFvQjs7O0FDb0R0QixJQUFNLGVBQWU7QUFBQSxFQUN4QjtBQUFBLElBQ0ksTUFBTTtBQUFBLElBQ04sYUFBYSxDQUFDLGlCQUFpQixVQUFVO0FBQUEsSUFDekMsbUJBQW1CLENBQUMsbUJBQW1CO0FBQUEsSUFDdkMsT0FBTyxDQUFDLEVBQUUsTUFBTSxJQUFJLE1BQU0sMERBQTBELENBQUM7QUFBQSxFQUN6RjtBQUFBLEVBQ0E7QUFBQSxJQUNJLE1BQU07QUFBQSxJQUNOLGFBQWEsQ0FBQyxjQUFjO0FBQUEsSUFDNUIsUUFBUTtBQUFBLElBQ1IsbUJBQW1CLENBQUMsbUJBQW1CO0FBQUEsSUFDdkMsT0FBTyxDQUFDLEVBQUUsTUFBTSxJQUFJLE1BQU0sNkJBQTZCLENBQUM7QUFBQSxFQUM1RDtBQUFBLEVBQ0E7QUFBQSxJQUNJLE1BQU07QUFBQSxJQUNOLGFBQWEsQ0FBQyxTQUFTO0FBQUEsSUFDdkIsUUFBUTtBQUFBLElBQ1Is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 diff --git a/.vitepress/theme/Layout.vue b/.vitepress/theme/Layout.vue index eeddd88..565949b 100644 --- a/.vitepress/theme/Layout.vue +++ b/.vitepress/theme/Layout.vue @@ -1,23 +1,21 @@ diff --git a/package.json b/package.json index d98e662..1591a7a 100644 --- a/package.json +++ b/package.json @@ -1,25 +1,25 @@ { - "scripts": { - "dev": "vitepress dev", - "build": "vitepress build", - "postbuild": "node scripts/move-image.js", - "preview": "vitepress preview" - }, - "dependencies": { - "element-plus": "^2.9.11", - "gsap": "^3.13.0", - "vitepress": "^1.6.3" - }, - "devDependencies": { - "@nolebase/markdown-it-bi-directional-links": "^2.17.1", - "@nolebase/markdown-it-unlazy-img": "^2.17.1", - "@nolebase/vitepress-plugin-enhanced-mark": "^2.17.1", - "@nolebase/vitepress-plugin-git-changelog": "^2.17.1", - "@nolebase/vitepress-plugin-inline-link-preview": "^2.17.1", - "@nolebase/vitepress-plugin-page-properties": "^2.17.1", - "@nolebase/vitepress-plugin-thumbnail-hash": "^2.17.1", - "mermaid": "^11.6.0", - "vitepress-plugin-lightbox": "^1.0.2", - "vitepress-plugin-mermaid": "^2.0.17" - } -} + "scripts": { + "dev": "vitepress dev", + "build": "vitepress build", + "postbuild": "node scripts/move-image.js", + "preview": "vitepress preview" + }, + "dependencies": { + "element-plus": "^2.9.11", + "gsap": "^3.13.0", + "vitepress": "^1.6.3" + }, + "devDependencies": { + "@nolebase/markdown-it-bi-directional-links": "^2.17.1", + "@nolebase/markdown-it-unlazy-img": "^2.17.1", + "@nolebase/vitepress-plugin-enhanced-mark": "^2.17.1", + "@nolebase/vitepress-plugin-git-changelog": "^2.17.1", + "@nolebase/vitepress-plugin-inline-link-preview": "^2.17.1", + "@nolebase/vitepress-plugin-page-properties": "^2.17.1", + "@nolebase/vitepress-plugin-thumbnail-hash": "^2.17.1", + "mermaid": "^11.6.0", + "vitepress-plugin-lightbox": "^1.0.2", + "vitepress-plugin-mermaid": "^2.0.17" + } +} \ No newline at end of file