@jiangxiaosheng/digital-agent-platform 2.0.1 → 2.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/BUILD_ID +1 -1
- package/.next/app-build-manifest.json +310 -44
- package/.next/app-path-routes-manifest.json +1 -1
- package/.next/build-manifest.json +19 -6
- package/.next/cache/.rscinfo +1 -1
- package/.next/cache/webpack/client-production/0.pack +0 -0
- package/.next/cache/webpack/client-production/index.pack +0 -0
- package/.next/cache/webpack/edge-server-production/0.pack +0 -0
- package/.next/cache/webpack/edge-server-production/index.pack +0 -0
- package/.next/cache/webpack/server-production/0.pack +0 -0
- package/.next/cache/webpack/server-production/index.pack +0 -0
- package/.next/next-minimal-server.js.nft.json +1 -1
- package/.next/next-server.js.nft.json +1 -1
- package/.next/prerender-manifest.json +1 -1
- package/.next/server/app/[locale]/agents/[id]/chat/page.js +1 -516
- package/.next/server/app/[locale]/agents/[id]/chat/page_client-reference-manifest.js +1 -1
- package/.next/server/app/[locale]/agents/[id]/edit/page_client-reference-manifest.js +1 -1
- package/.next/server/app/[locale]/agents/new/page_client-reference-manifest.js +1 -1
- package/.next/server/app/[locale]/agents/page_client-reference-manifest.js +1 -1
- package/.next/server/app/[locale]/knowledge/page_client-reference-manifest.js +1 -1
- package/.next/server/app/[locale]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/[locale]/settings/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_not-found.html +1 -1
- package/.next/server/app/_not-found.rsc +1 -1
- package/.next/server/app/api/agents/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/agents/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/auth-config/test/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/bash-output/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/builtin-providers/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/chat/[agentId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/env-vars/[key]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/env-vars/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/env-vars/scan/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/file-serve/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/fs/browse/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/knowledge/[id]/documents/[docId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/knowledge/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/knowledge/[id]/upload/route.js +1 -1
- package/.next/server/app/api/knowledge/[id]/upload/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/knowledge/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/knowledge/search/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/models/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/models-config/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/models-config/test/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/sessions/[agentId]/[sessionId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/sessions/[agentId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/sessions/history/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/settings/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/skills/[name]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/skills/install/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/skills/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/skills/search/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/tts/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/voice-provider/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/workspace-files/route_client-reference-manifest.js +1 -1
- package/.next/server/app/index.html +1 -1
- package/.next/server/app/index.rsc +1 -1
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app-paths-manifest.json +38 -0
- package/.next/server/middleware-build-manifest.js +1 -22
- package/.next/server/middleware-manifest.json +5 -5
- package/.next/server/middleware-react-loadable-manifest.js +1 -1
- package/.next/server/next-font-manifest.js +1 -1
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/server/pages/_error.js +1 -1
- package/.next/server/pages-manifest.json +1 -1
- package/.next/server/server-reference-manifest.js +1 -1
- package/.next/server/server-reference-manifest.json +1 -5
- package/.next/server/webpack-runtime.js +1 -215
- package/.next/static/chunks/{3763-85d191447a96df85.js → 3763-ea55ce7682889cb6.js} +1 -1
- package/.next/static/chunks/{6009-821afbef93a9b2dc.js → 6009-c9f03c0151c7d932.js} +1 -1
- package/.next/static/chunks/{7200-c9c613d1b11207fb.js → 7200-3e2b5e981a747a6b.js} +1 -1
- package/.next/static/chunks/app/[locale]/agents/[id]/chat/{page-95dc12875cda0b9c.js → page-1138da7e5b6e4435.js} +1 -1
- package/.next/static/chunks/app/[locale]/{layout-bca0349ba5d79253.js → layout-5c05e64401a6d048.js} +1 -1
- package/.next/trace +35 -35
- package/package.json +1 -1
- package/.next/server/vendor-chunks/@radix-ui.js +0 -125
- package/.next/server/vendor-chunks/lucide-react.js +0 -445
- package/.next/server/vendor-chunks/next.js +0 -3211
- package/.next/server/vendor-chunks/uuid.js +0 -75
- package/.next/static/chunks/app/layout.js +0 -39
- package/.next/static/chunks/webpack.js +0 -1416
- package/.next/static/development/_buildManifest.js +0 -1
- package/.next/static/development/_ssgManifest.js +0 -1
- package/.next/static/webpack/29489ef42c5fbc7f.webpack.hot-update.json +0 -1
- package/.next/static/webpack/app/layout.29489ef42c5fbc7f.hot-update.js +0 -22
- package/.next/static/webpack/app/layout.be3d0f45e3439f26.hot-update.js +0 -22
- package/.next/static/webpack/be3d0f45e3439f26.webpack.hot-update.json +0 -1
- package/.next/static/webpack/webpack.29489ef42c5fbc7f.hot-update.js +0 -18
- package/.next/static/webpack/webpack.be3d0f45e3439f26.hot-update.js +0 -18
- package/.next/types/app/[locale]/layout.ts +0 -84
- /package/.next/static/{RTJ4_XTTnBpNxBIZhyBht → yXEysGzm6PP-vW5ptUZ-5}/_buildManifest.js +0 -0
- /package/.next/static/{RTJ4_XTTnBpNxBIZhyBht → yXEysGzm6PP-vW5ptUZ-5}/_ssgManifest.js +0 -0
|
@@ -1,516 +1 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* ATTENTION: An "eval-source-map" devtool has been used.
|
|
3
|
-
* This devtool is neither made for production nor for readable output files.
|
|
4
|
-
* It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools.
|
|
5
|
-
* If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
|
|
6
|
-
* or disable the default devtool with "devtool: false".
|
|
7
|
-
* If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
|
|
8
|
-
*/
|
|
9
|
-
(() => {
|
|
10
|
-
var exports = {};
|
|
11
|
-
exports.id = "app/[locale]/agents/[id]/chat/page";
|
|
12
|
-
exports.ids = ["app/[locale]/agents/[id]/chat/page"];
|
|
13
|
-
exports.modules = {
|
|
14
|
-
|
|
15
|
-
/***/ "(rsc)/./messages lazy recursive ^\\.\\/.*\\.json$":
|
|
16
|
-
/*!********************************************************!*\
|
|
17
|
-
!*** ./messages/ lazy ^\.\/.*\.json$ namespace object ***!
|
|
18
|
-
\********************************************************/
|
|
19
|
-
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
20
|
-
|
|
21
|
-
var map = {
|
|
22
|
-
"./en.json": [
|
|
23
|
-
"(rsc)/./messages/en.json",
|
|
24
|
-
"_rsc_messages_en_json"
|
|
25
|
-
],
|
|
26
|
-
"./zh.json": [
|
|
27
|
-
"(rsc)/./messages/zh.json",
|
|
28
|
-
"_rsc_messages_zh_json"
|
|
29
|
-
]
|
|
30
|
-
};
|
|
31
|
-
function webpackAsyncContext(req) {
|
|
32
|
-
if(!__webpack_require__.o(map, req)) {
|
|
33
|
-
return Promise.resolve().then(() => {
|
|
34
|
-
var e = new Error("Cannot find module '" + req + "'");
|
|
35
|
-
e.code = 'MODULE_NOT_FOUND';
|
|
36
|
-
throw e;
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
var ids = map[req], id = ids[0];
|
|
41
|
-
return __webpack_require__.e(ids[1]).then(() => {
|
|
42
|
-
return __webpack_require__.t(id, 3 | 16);
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
webpackAsyncContext.keys = () => (Object.keys(map));
|
|
46
|
-
webpackAsyncContext.id = "(rsc)/./messages lazy recursive ^\\.\\/.*\\.json$";
|
|
47
|
-
module.exports = webpackAsyncContext;
|
|
48
|
-
|
|
49
|
-
/***/ }),
|
|
50
|
-
|
|
51
|
-
/***/ "next/dist/compiled/next-server/app-page.runtime.dev.js":
|
|
52
|
-
/*!*************************************************************************!*\
|
|
53
|
-
!*** external "next/dist/compiled/next-server/app-page.runtime.dev.js" ***!
|
|
54
|
-
\*************************************************************************/
|
|
55
|
-
/***/ ((module) => {
|
|
56
|
-
|
|
57
|
-
"use strict";
|
|
58
|
-
module.exports = require("next/dist/compiled/next-server/app-page.runtime.dev.js");
|
|
59
|
-
|
|
60
|
-
/***/ }),
|
|
61
|
-
|
|
62
|
-
/***/ "../app-render/action-async-storage.external":
|
|
63
|
-
/*!*******************************************************************************!*\
|
|
64
|
-
!*** external "next/dist/server/app-render/action-async-storage.external.js" ***!
|
|
65
|
-
\*******************************************************************************/
|
|
66
|
-
/***/ ((module) => {
|
|
67
|
-
|
|
68
|
-
"use strict";
|
|
69
|
-
module.exports = require("next/dist/server/app-render/action-async-storage.external.js");
|
|
70
|
-
|
|
71
|
-
/***/ }),
|
|
72
|
-
|
|
73
|
-
/***/ "../app-render/after-task-async-storage.external":
|
|
74
|
-
/*!***********************************************************************************!*\
|
|
75
|
-
!*** external "next/dist/server/app-render/after-task-async-storage.external.js" ***!
|
|
76
|
-
\***********************************************************************************/
|
|
77
|
-
/***/ ((module) => {
|
|
78
|
-
|
|
79
|
-
"use strict";
|
|
80
|
-
module.exports = require("next/dist/server/app-render/after-task-async-storage.external.js");
|
|
81
|
-
|
|
82
|
-
/***/ }),
|
|
83
|
-
|
|
84
|
-
/***/ "../app-render/work-async-storage.external":
|
|
85
|
-
/*!*****************************************************************************!*\
|
|
86
|
-
!*** external "next/dist/server/app-render/work-async-storage.external.js" ***!
|
|
87
|
-
\*****************************************************************************/
|
|
88
|
-
/***/ ((module) => {
|
|
89
|
-
|
|
90
|
-
"use strict";
|
|
91
|
-
module.exports = require("next/dist/server/app-render/work-async-storage.external.js");
|
|
92
|
-
|
|
93
|
-
/***/ }),
|
|
94
|
-
|
|
95
|
-
/***/ "./work-unit-async-storage.external":
|
|
96
|
-
/*!**********************************************************************************!*\
|
|
97
|
-
!*** external "next/dist/server/app-render/work-unit-async-storage.external.js" ***!
|
|
98
|
-
\**********************************************************************************/
|
|
99
|
-
/***/ ((module) => {
|
|
100
|
-
|
|
101
|
-
"use strict";
|
|
102
|
-
module.exports = require("next/dist/server/app-render/work-unit-async-storage.external.js");
|
|
103
|
-
|
|
104
|
-
/***/ }),
|
|
105
|
-
|
|
106
|
-
/***/ "crypto":
|
|
107
|
-
/*!*************************!*\
|
|
108
|
-
!*** external "crypto" ***!
|
|
109
|
-
\*************************/
|
|
110
|
-
/***/ ((module) => {
|
|
111
|
-
|
|
112
|
-
"use strict";
|
|
113
|
-
module.exports = require("crypto");
|
|
114
|
-
|
|
115
|
-
/***/ }),
|
|
116
|
-
|
|
117
|
-
/***/ "os":
|
|
118
|
-
/*!*********************!*\
|
|
119
|
-
!*** external "os" ***!
|
|
120
|
-
\*********************/
|
|
121
|
-
/***/ ((module) => {
|
|
122
|
-
|
|
123
|
-
"use strict";
|
|
124
|
-
module.exports = require("os");
|
|
125
|
-
|
|
126
|
-
/***/ }),
|
|
127
|
-
|
|
128
|
-
/***/ "path":
|
|
129
|
-
/*!***********************!*\
|
|
130
|
-
!*** external "path" ***!
|
|
131
|
-
\***********************/
|
|
132
|
-
/***/ ((module) => {
|
|
133
|
-
|
|
134
|
-
"use strict";
|
|
135
|
-
module.exports = require("path");
|
|
136
|
-
|
|
137
|
-
/***/ }),
|
|
138
|
-
|
|
139
|
-
/***/ "tty":
|
|
140
|
-
/*!**********************!*\
|
|
141
|
-
!*** external "tty" ***!
|
|
142
|
-
\**********************/
|
|
143
|
-
/***/ ((module) => {
|
|
144
|
-
|
|
145
|
-
"use strict";
|
|
146
|
-
module.exports = require("tty");
|
|
147
|
-
|
|
148
|
-
/***/ }),
|
|
149
|
-
|
|
150
|
-
/***/ "util":
|
|
151
|
-
/*!***********************!*\
|
|
152
|
-
!*** external "util" ***!
|
|
153
|
-
\***********************/
|
|
154
|
-
/***/ ((module) => {
|
|
155
|
-
|
|
156
|
-
"use strict";
|
|
157
|
-
module.exports = require("util");
|
|
158
|
-
|
|
159
|
-
/***/ }),
|
|
160
|
-
|
|
161
|
-
/***/ "node:path":
|
|
162
|
-
/*!****************************!*\
|
|
163
|
-
!*** external "node:path" ***!
|
|
164
|
-
\****************************/
|
|
165
|
-
/***/ ((module) => {
|
|
166
|
-
|
|
167
|
-
"use strict";
|
|
168
|
-
module.exports = require("node:path");
|
|
169
|
-
|
|
170
|
-
/***/ }),
|
|
171
|
-
|
|
172
|
-
/***/ "node:process":
|
|
173
|
-
/*!*******************************!*\
|
|
174
|
-
!*** external "node:process" ***!
|
|
175
|
-
\*******************************/
|
|
176
|
-
/***/ ((module) => {
|
|
177
|
-
|
|
178
|
-
"use strict";
|
|
179
|
-
module.exports = require("node:process");
|
|
180
|
-
|
|
181
|
-
/***/ }),
|
|
182
|
-
|
|
183
|
-
/***/ "node:url":
|
|
184
|
-
/*!***************************!*\
|
|
185
|
-
!*** external "node:url" ***!
|
|
186
|
-
\***************************/
|
|
187
|
-
/***/ ((module) => {
|
|
188
|
-
|
|
189
|
-
"use strict";
|
|
190
|
-
module.exports = require("node:url");
|
|
191
|
-
|
|
192
|
-
/***/ }),
|
|
193
|
-
|
|
194
|
-
/***/ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader/index.js?name=app%2F%5Blocale%5D%2Fagents%2F%5Bid%5D%2Fchat%2Fpage&page=%2F%5Blocale%5D%2Fagents%2F%5Bid%5D%2Fchat%2Fpage&appPaths=%2F%5Blocale%5D%2Fagents%2F%5Bid%5D%2Fchat%2Fpage&pagePath=private-next-app-dir%2F%5Blocale%5D%2Fagents%2F%5Bid%5D%2Fchat%2Fpage.tsx&appDir=%2FUsers%2Fduan%2Ffiles%2Fpi-web%2Fdigital-agent-platform%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fduan%2Ffiles%2Fpi-web%2Fdigital-agent-platform&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!":
|
|
195
|
-
/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
|
|
196
|
-
!*** ./node_modules/next/dist/build/webpack/loaders/next-app-loader/index.js?name=app%2F%5Blocale%5D%2Fagents%2F%5Bid%5D%2Fchat%2Fpage&page=%2F%5Blocale%5D%2Fagents%2F%5Bid%5D%2Fchat%2Fpage&appPaths=%2F%5Blocale%5D%2Fagents%2F%5Bid%5D%2Fchat%2Fpage&pagePath=private-next-app-dir%2F%5Blocale%5D%2Fagents%2F%5Bid%5D%2Fchat%2Fpage.tsx&appDir=%2FUsers%2Fduan%2Ffiles%2Fpi-web%2Fdigital-agent-platform%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fduan%2Ffiles%2Fpi-web%2Fdigital-agent-platform&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D! ***!
|
|
197
|
-
\************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
|
|
198
|
-
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
199
|
-
|
|
200
|
-
"use strict";
|
|
201
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ GlobalError: () => (/* reexport default from dynamic */ next_dist_client_components_error_boundary__WEBPACK_IMPORTED_MODULE_2___default.a),\n/* harmony export */ __next_app__: () => (/* binding */ __next_app__),\n/* harmony export */ pages: () => (/* binding */ pages),\n/* harmony export */ routeModule: () => (/* binding */ routeModule),\n/* harmony export */ tree: () => (/* binding */ tree)\n/* harmony export */ });\n/* harmony import */ var next_dist_server_route_modules_app_page_module_compiled__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! next/dist/server/route-modules/app-page/module.compiled */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/module.compiled.js?91d2\");\n/* harmony import */ var next_dist_server_route_modules_app_page_module_compiled__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_route_modules_app_page_module_compiled__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_dist_server_route_kind__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! next/dist/server/route-kind */ \"(rsc)/./node_modules/next/dist/server/route-kind.js\");\n/* harmony import */ var next_dist_client_components_error_boundary__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next/dist/client/components/error-boundary */ \"(rsc)/./node_modules/next/dist/client/components/error-boundary.js\");\n/* harmony import */ var next_dist_client_components_error_boundary__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(next_dist_client_components_error_boundary__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! next/dist/server/app-render/entry-base */ \"(rsc)/./node_modules/next/dist/server/app-render/entry-base.js\");\n/* harmony import */ var next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(const __WEBPACK_IMPORT_KEY__ in next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3__) if([\"default\",\"tree\",\"pages\",\"GlobalError\",\"__next_app__\",\"routeModule\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = () => next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3__[__WEBPACK_IMPORT_KEY__]\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\nconst module0 = () => Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/app/layout.tsx */ \"(rsc)/./src/app/layout.tsx\"));\nconst module1 = () => Promise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! next/dist/client/components/not-found-error */ \"(rsc)/./node_modules/next/dist/client/components/not-found-error.js\", 23));\nconst module2 = () => Promise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! next/dist/client/components/forbidden-error */ \"(rsc)/./node_modules/next/dist/client/components/forbidden-error.js\", 23));\nconst module3 = () => Promise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! next/dist/client/components/unauthorized-error */ \"(rsc)/./node_modules/next/dist/client/components/unauthorized-error.js\", 23));\nconst module4 = () => Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/app/[locale]/layout.tsx */ \"(rsc)/./src/app/[locale]/layout.tsx\"));\nconst page5 = () => Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/app/[locale]/agents/[id]/chat/page.tsx */ \"(rsc)/./src/app/[locale]/agents/[id]/chat/page.tsx\"));\n\n\n// We inject the tree and pages here so that we can use them in the route\n// module.\nconst tree = {\n children: [\n '',\n {\n children: [\n '[locale]',\n {\n children: [\n 'agents',\n {\n children: [\n '[id]',\n {\n children: [\n 'chat',\n {\n children: ['__PAGE__', {}, {\n page: [page5, \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\"],\n \n }]\n },\n {\n \n \n }\n ]\n },\n {\n \n \n }\n ]\n },\n {\n \n \n }\n ]\n },\n {\n 'layout': [module4, \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/layout.tsx\"],\n \n }\n ]\n },\n {\n 'layout': [module0, \"/Users/duan/files/pi-web/digital-agent-platform/src/app/layout.tsx\"],\n'not-found': [module1, \"next/dist/client/components/not-found-error\"],\n'forbidden': [module2, \"next/dist/client/components/forbidden-error\"],\n'unauthorized': [module3, \"next/dist/client/components/unauthorized-error\"],\n \n }\n ]\n }.children;\nconst pages = [\"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\"];\n\n\nconst __next_app_require__ = __webpack_require__\nconst __next_app_load_chunk__ = () => Promise.resolve()\nconst __next_app__ = {\n require: __next_app_require__,\n loadChunk: __next_app_load_chunk__\n};\n\n// Create and export the route module that will be consumed.\nconst routeModule = new next_dist_server_route_modules_app_page_module_compiled__WEBPACK_IMPORTED_MODULE_0__.AppPageRouteModule({\n definition: {\n kind: next_dist_server_route_kind__WEBPACK_IMPORTED_MODULE_1__.RouteKind.APP_PAGE,\n page: \"/[locale]/agents/[id]/chat/page\",\n pathname: \"/[locale]/agents/[id]/chat\",\n // The following aren't used in production.\n bundlePath: '',\n filename: '',\n appPaths: []\n },\n userland: {\n loaderTree: tree\n }\n});\n\n//# sourceMappingURL=app-page.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWFwcC1sb2FkZXIvaW5kZXguanM/bmFtZT1hcHAlMkYlNUJsb2NhbGUlNUQlMkZhZ2VudHMlMkYlNUJpZCU1RCUyRmNoYXQlMkZwYWdlJnBhZ2U9JTJGJTVCbG9jYWxlJTVEJTJGYWdlbnRzJTJGJTVCaWQlNUQlMkZjaGF0JTJGcGFnZSZhcHBQYXRocz0lMkYlNUJsb2NhbGUlNUQlMkZhZ2VudHMlMkYlNUJpZCU1RCUyRmNoYXQlMkZwYWdlJnBhZ2VQYXRoPXByaXZhdGUtbmV4dC1hcHAtZGlyJTJGJTVCbG9jYWxlJTVEJTJGYWdlbnRzJTJGJTVCaWQlNUQlMkZjaGF0JTJGcGFnZS50c3gmYXBwRGlyPSUyRlVzZXJzJTJGZHVhbiUyRmZpbGVzJTJGcGktd2ViJTJGZGlnaXRhbC1hZ2VudC1wbGF0Zm9ybSUyRnNyYyUyRmFwcCZwYWdlRXh0ZW5zaW9ucz10c3gmcGFnZUV4dGVuc2lvbnM9dHMmcGFnZUV4dGVuc2lvbnM9anN4JnBhZ2VFeHRlbnNpb25zPWpzJnJvb3REaXI9JTJGVXNlcnMlMkZkdWFuJTJGZmlsZXMlMkZwaS13ZWIlMkZkaWdpdGFsLWFnZW50LXBsYXRmb3JtJmlzRGV2PXRydWUmdHNjb25maWdQYXRoPXRzY29uZmlnLmpzb24mYmFzZVBhdGg9JmFzc2V0UHJlZml4PSZuZXh0Q29uZmlnT3V0cHV0PSZwcmVmZXJyZWRSZWdpb249Jm1pZGRsZXdhcmVDb25maWc9ZTMwJTNEISIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxzQkFBc0Isb0pBQXVHO0FBQzdILHNCQUFzQiwwTkFBZ0Y7QUFDdEcsc0JBQXNCLDBOQUFnRjtBQUN0RyxzQkFBc0IsZ09BQW1GO0FBQ3pHLHNCQUFzQixzS0FBZ0g7QUFDdEksb0JBQW9CLG9NQUErSDtBQUdqSjtBQUNzRDtBQUN4RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQ0FBaUM7QUFDakM7QUFDQTtBQUNBLFNBQVM7QUFDVCxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ3VCO0FBQzZEO0FBQ3BGLDZCQUE2QixtQkFBbUI7QUFDaEQ7QUFDTztBQUNQO0FBQ0E7QUFDQTtBQUN1RDtBQUN2RDtBQUNPLHdCQUF3Qix1R0FBa0I7QUFDakQ7QUFDQSxjQUFjLGtFQUFTO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxDQUFDOztBQUVEIiwic291cmNlcyI6WyIiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgbW9kdWxlMCA9ICgpID0+IGltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiL1VzZXJzL2R1YW4vZmlsZXMvcGktd2ViL2RpZ2l0YWwtYWdlbnQtcGxhdGZvcm0vc3JjL2FwcC9sYXlvdXQudHN4XCIpO1xuY29uc3QgbW9kdWxlMSA9ICgpID0+IGltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwibmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL25vdC1mb3VuZC1lcnJvclwiKTtcbmNvbnN0IG1vZHVsZTIgPSAoKSA9PiBpbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIm5leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9mb3JiaWRkZW4tZXJyb3JcIik7XG5jb25zdCBtb2R1bGUzID0gKCkgPT4gaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJuZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvdW5hdXRob3JpemVkLWVycm9yXCIpO1xuY29uc3QgbW9kdWxlNCA9ICgpID0+IGltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiL1VzZXJzL2R1YW4vZmlsZXMvcGktd2ViL2RpZ2l0YWwtYWdlbnQtcGxhdGZvcm0vc3JjL2FwcC9bbG9jYWxlXS9sYXlvdXQudHN4XCIpO1xuY29uc3QgcGFnZTUgPSAoKSA9PiBpbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIi9Vc2Vycy9kdWFuL2ZpbGVzL3BpLXdlYi9kaWdpdGFsLWFnZW50LXBsYXRmb3JtL3NyYy9hcHAvW2xvY2FsZV0vYWdlbnRzL1tpZF0vY2hhdC9wYWdlLnRzeFwiKTtcbmltcG9ydCB7IEFwcFBhZ2VSb3V0ZU1vZHVsZSB9IGZyb20gXCJuZXh0L2Rpc3Qvc2VydmVyL3JvdXRlLW1vZHVsZXMvYXBwLXBhZ2UvbW9kdWxlLmNvbXBpbGVkXCIgd2l0aCB7XG4gICAgJ3R1cmJvcGFjay10cmFuc2l0aW9uJzogJ25leHQtc3NyJ1xufTtcbmltcG9ydCB7IFJvdXRlS2luZCB9IGZyb20gXCJuZXh0L2Rpc3Qvc2VydmVyL3JvdXRlLWtpbmRcIjtcbi8vIFdlIGluamVjdCB0aGUgdHJlZSBhbmQgcGFnZXMgaGVyZSBzbyB0aGF0IHdlIGNhbiB1c2UgdGhlbSBpbiB0aGUgcm91dGVcbi8vIG1vZHVsZS5cbmNvbnN0IHRyZWUgPSB7XG4gICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICcnLFxuICAgICAgICB7XG4gICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICdbbG9jYWxlXScsXG4gICAgICAgIHtcbiAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgJ2FnZW50cycsXG4gICAgICAgIHtcbiAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgJ1tpZF0nLFxuICAgICAgICB7XG4gICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICdjaGF0JyxcbiAgICAgICAge1xuICAgICAgICBjaGlsZHJlbjogWydfX1BBR0VfXycsIHt9LCB7XG4gICAgICAgICAgcGFnZTogW3BhZ2U1LCBcIi9Vc2Vycy9kdWFuL2ZpbGVzL3BpLXdlYi9kaWdpdGFsLWFnZW50LXBsYXRmb3JtL3NyYy9hcHAvW2xvY2FsZV0vYWdlbnRzL1tpZF0vY2hhdC9wYWdlLnRzeFwiXSxcbiAgICAgICAgICBcbiAgICAgICAgfV1cbiAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgXG4gICAgICAgIFxuICAgICAgfVxuICAgICAgXVxuICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICBcbiAgICAgICAgXG4gICAgICB9XG4gICAgICBdXG4gICAgICB9LFxuICAgICAgICB7XG4gICAgICAgIFxuICAgICAgICBcbiAgICAgIH1cbiAgICAgIF1cbiAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgJ2xheW91dCc6IFttb2R1bGU0LCBcIi9Vc2Vycy9kdWFuL2ZpbGVzL3BpLXdlYi9kaWdpdGFsLWFnZW50LXBsYXRmb3JtL3NyYy9hcHAvW2xvY2FsZV0vbGF5b3V0LnRzeFwiXSxcbiAgICAgICAgXG4gICAgICB9XG4gICAgICBdXG4gICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICdsYXlvdXQnOiBbbW9kdWxlMCwgXCIvVXNlcnMvZHVhbi9maWxlcy9waS13ZWIvZGlnaXRhbC1hZ2VudC1wbGF0Zm9ybS9zcmMvYXBwL2xheW91dC50c3hcIl0sXG4nbm90LWZvdW5kJzogW21vZHVsZTEsIFwibmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL25vdC1mb3VuZC1lcnJvclwiXSxcbidmb3JiaWRkZW4nOiBbbW9kdWxlMiwgXCJuZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvZm9yYmlkZGVuLWVycm9yXCJdLFxuJ3VuYXV0aG9yaXplZCc6IFttb2R1bGUzLCBcIm5leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy91bmF1dGhvcml6ZWQtZXJyb3JcIl0sXG4gICAgICAgIFxuICAgICAgfVxuICAgICAgXVxuICAgICAgfS5jaGlsZHJlbjtcbmNvbnN0IHBhZ2VzID0gW1wiL1VzZXJzL2R1YW4vZmlsZXMvcGktd2ViL2RpZ2l0YWwtYWdlbnQtcGxhdGZvcm0vc3JjL2FwcC9bbG9jYWxlXS9hZ2VudHMvW2lkXS9jaGF0L3BhZ2UudHN4XCJdO1xuZXhwb3J0IHsgdHJlZSwgcGFnZXMgfTtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgR2xvYmFsRXJyb3IgfSBmcm9tIFwibmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2Vycm9yLWJvdW5kYXJ5XCI7XG5jb25zdCBfX25leHRfYXBwX3JlcXVpcmVfXyA9IF9fd2VicGFja19yZXF1aXJlX19cbmNvbnN0IF9fbmV4dF9hcHBfbG9hZF9jaHVua19fID0gKCkgPT4gUHJvbWlzZS5yZXNvbHZlKClcbmV4cG9ydCBjb25zdCBfX25leHRfYXBwX18gPSB7XG4gICAgcmVxdWlyZTogX19uZXh0X2FwcF9yZXF1aXJlX18sXG4gICAgbG9hZENodW5rOiBfX25leHRfYXBwX2xvYWRfY2h1bmtfX1xufTtcbmV4cG9ydCAqIGZyb20gXCJuZXh0L2Rpc3Qvc2VydmVyL2FwcC1yZW5kZXIvZW50cnktYmFzZVwiO1xuLy8gQ3JlYXRlIGFuZCBleHBvcnQgdGhlIHJvdXRlIG1vZHVsZSB0aGF0IHdpbGwgYmUgY29uc3VtZWQuXG5leHBvcnQgY29uc3Qgcm91dGVNb2R1bGUgPSBuZXcgQXBwUGFnZVJvdXRlTW9kdWxlKHtcbiAgICBkZWZpbml0aW9uOiB7XG4gICAgICAgIGtpbmQ6IFJvdXRlS2luZC5BUFBfUEFHRSxcbiAgICAgICAgcGFnZTogXCIvW2xvY2FsZV0vYWdlbnRzL1tpZF0vY2hhdC9wYWdlXCIsXG4gICAgICAgIHBhdGhuYW1lOiBcIi9bbG9jYWxlXS9hZ2VudHMvW2lkXS9jaGF0XCIsXG4gICAgICAgIC8vIFRoZSBmb2xsb3dpbmcgYXJlbid0IHVzZWQgaW4gcHJvZHVjdGlvbi5cbiAgICAgICAgYnVuZGxlUGF0aDogJycsXG4gICAgICAgIGZpbGVuYW1lOiAnJyxcbiAgICAgICAgYXBwUGF0aHM6IFtdXG4gICAgfSxcbiAgICB1c2VybGFuZDoge1xuICAgICAgICBsb2FkZXJUcmVlOiB0cmVlXG4gICAgfVxufSk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWFwcC1wYWdlLmpzLm1hcCJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader/index.js?name=app%2F%5Blocale%5D%2Fagents%2F%5Bid%5D%2Fchat%2Fpage&page=%2F%5Blocale%5D%2Fagents%2F%5Bid%5D%2Fchat%2Fpage&appPaths=%2F%5Blocale%5D%2Fagents%2F%5Bid%5D%2Fchat%2Fpage&pagePath=private-next-app-dir%2F%5Blocale%5D%2Fagents%2F%5Bid%5D%2Fchat%2Fpage.tsx&appDir=%2FUsers%2Fduan%2Ffiles%2Fpi-web%2Fdigital-agent-platform%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fduan%2Ffiles%2Fpi-web%2Fdigital-agent-platform&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!\n");
|
|
202
|
-
|
|
203
|
-
/***/ }),
|
|
204
|
-
|
|
205
|
-
/***/ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fduan%2Ffiles%2Fpi-web%2Fdigital-agent-platform%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fduan%2Ffiles%2Fpi-web%2Fdigital-agent-platform%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-segment.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fduan%2Ffiles%2Fpi-web%2Fdigital-agent-platform%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Ferror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fduan%2Ffiles%2Fpi-web%2Fdigital-agent-platform%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fhttp-access-fallback%2Ferror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fduan%2Ffiles%2Fpi-web%2Fdigital-agent-platform%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Flayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fduan%2Ffiles%2Fpi-web%2Fdigital-agent-platform%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Frender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fduan%2Ffiles%2Fpi-web%2Fdigital-agent-platform%2Fnode_modules%2Fnext%2Fdist%2Flib%2Fmetadata%2Fmetadata-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&server=true!":
|
|
206
|
-
/*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
|
|
207
|
-
!*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fduan%2Ffiles%2Fpi-web%2Fdigital-agent-platform%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fduan%2Ffiles%2Fpi-web%2Fdigital-agent-platform%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-segment.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fduan%2Ffiles%2Fpi-web%2Fdigital-agent-platform%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Ferror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fduan%2Ffiles%2Fpi-web%2Fdigital-agent-platform%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fhttp-access-fallback%2Ferror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fduan%2Ffiles%2Fpi-web%2Fdigital-agent-platform%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Flayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fduan%2Ffiles%2Fpi-web%2Fdigital-agent-platform%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Frender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fduan%2Ffiles%2Fpi-web%2Fdigital-agent-platform%2Fnode_modules%2Fnext%2Fdist%2Flib%2Fmetadata%2Fmetadata-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&server=true! ***!
|
|
208
|
-
\*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
|
|
209
|
-
/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
|
|
210
|
-
|
|
211
|
-
eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/client-page.js */ \"(rsc)/./node_modules/next/dist/client/components/client-page.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/client-segment.js */ \"(rsc)/./node_modules/next/dist/client/components/client-segment.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/error-boundary.js */ \"(rsc)/./node_modules/next/dist/client/components/error-boundary.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js */ \"(rsc)/./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/layout-router.js */ \"(rsc)/./node_modules/next/dist/client/components/layout-router.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/render-from-template-context.js */ \"(rsc)/./node_modules/next/dist/client/components/render-from-template-context.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/lib/metadata/metadata-boundary.js */ \"(rsc)/./node_modules/next/dist/lib/metadata/metadata-boundary.js\", 23));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGZHVhbiUyRmZpbGVzJTJGcGktd2ViJTJGZGlnaXRhbC1hZ2VudC1wbGF0Zm9ybSUyRm5vZGVfbW9kdWxlcyUyRm5leHQlMkZkaXN0JTJGY2xpZW50JTJGY29tcG9uZW50cyUyRmNsaWVudC1wYWdlLmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGZHVhbiUyRmZpbGVzJTJGcGktd2ViJTJGZGlnaXRhbC1hZ2VudC1wbGF0Zm9ybSUyRm5vZGVfbW9kdWxlcyUyRm5leHQlMkZkaXN0JTJGY2xpZW50JTJGY29tcG9uZW50cyUyRmNsaWVudC1zZWdtZW50LmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGZHVhbiUyRmZpbGVzJTJGcGktd2ViJTJGZGlnaXRhbC1hZ2VudC1wbGF0Zm9ybSUyRm5vZGVfbW9kdWxlcyUyRm5leHQlMkZkaXN0JTJGY2xpZW50JTJGY29tcG9uZW50cyUyRmVycm9yLWJvdW5kYXJ5LmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGZHVhbiUyRmZpbGVzJTJGcGktd2ViJTJGZGlnaXRhbC1hZ2VudC1wbGF0Zm9ybSUyRm5vZGVfbW9kdWxlcyUyRm5leHQlMkZkaXN0JTJGY2xpZW50JTJGY29tcG9uZW50cyUyRmh0dHAtYWNjZXNzLWZhbGxiYWNrJTJGZXJyb3ItYm91bmRhcnkuanMlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGVXNlcnMlMkZkdWFuJTJGZmlsZXMlMkZwaS13ZWIlMkZkaWdpdGFsLWFnZW50LXBsYXRmb3JtJTJGbm9kZV9tb2R1bGVzJTJGbmV4dCUyRmRpc3QlMkZjbGllbnQlMkZjb21wb25lbnRzJTJGbGF5b3V0LXJvdXRlci5qcyUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjIlMkZVc2VycyUyRmR1YW4lMkZmaWxlcyUyRnBpLXdlYiUyRmRpZ2l0YWwtYWdlbnQtcGxhdGZvcm0lMkZub2RlX21vZHVsZXMlMkZuZXh0JTJGZGlzdCUyRmNsaWVudCUyRmNvbXBvbmVudHMlMkZyZW5kZXItZnJvbS10ZW1wbGF0ZS1jb250ZXh0LmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGZHVhbiUyRmZpbGVzJTJGcGktd2ViJTJGZGlnaXRhbC1hZ2VudC1wbGF0Zm9ybSUyRm5vZGVfbW9kdWxlcyUyRm5leHQlMkZkaXN0JTJGbGliJTJGbWV0YWRhdGElMkZtZXRhZGF0YS1ib3VuZGFyeS5qcyUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZzZXJ2ZXI9dHJ1ZSEiLCJtYXBwaW5ncyI6IkFBQUEsb09BQTRJO0FBQzVJO0FBQ0EsME9BQStJO0FBQy9JO0FBQ0EsME9BQStJO0FBQy9JO0FBQ0Esb1JBQW9LO0FBQ3BLO0FBQ0Esd09BQThJO0FBQzlJO0FBQ0Esc1FBQTZKO0FBQzdKO0FBQ0Esc09BQTZJIiwic291cmNlcyI6WyIiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCIvVXNlcnMvZHVhbi9maWxlcy9waS13ZWIvZGlnaXRhbC1hZ2VudC1wbGF0Zm9ybS9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2NsaWVudC1wYWdlLmpzXCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCIvVXNlcnMvZHVhbi9maWxlcy9waS13ZWIvZGlnaXRhbC1hZ2VudC1wbGF0Zm9ybS9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2NsaWVudC1zZWdtZW50LmpzXCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCIvVXNlcnMvZHVhbi9maWxlcy9waS13ZWIvZGlnaXRhbC1hZ2VudC1wbGF0Zm9ybS9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2Vycm9yLWJvdW5kYXJ5LmpzXCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCIvVXNlcnMvZHVhbi9maWxlcy9waS13ZWIvZGlnaXRhbC1hZ2VudC1wbGF0Zm9ybS9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2h0dHAtYWNjZXNzLWZhbGxiYWNrL2Vycm9yLWJvdW5kYXJ5LmpzXCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCIvVXNlcnMvZHVhbi9maWxlcy9waS13ZWIvZGlnaXRhbC1hZ2VudC1wbGF0Zm9ybS9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2xheW91dC1yb3V0ZXIuanNcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIi9Vc2Vycy9kdWFuL2ZpbGVzL3BpLXdlYi9kaWdpdGFsLWFnZW50LXBsYXRmb3JtL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVuZGVyLWZyb20tdGVtcGxhdGUtY29udGV4dC5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiL1VzZXJzL2R1YW4vZmlsZXMvcGktd2ViL2RpZ2l0YWwtYWdlbnQtcGxhdGZvcm0vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9saWIvbWV0YWRhdGEvbWV0YWRhdGEtYm91bmRhcnkuanNcIik7XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fduan%2Ffiles%2Fpi-web%2Fdigital-agent-platform%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fduan%2Ffiles%2Fpi-web%2Fdigital-agent-platform%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-segment.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fduan%2Ffiles%2Fpi-web%2Fdigital-agent-platform%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Ferror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fduan%2Ffiles%2Fpi-web%2Fdigital-agent-platform%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fhttp-access-fallback%2Ferror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fduan%2Ffiles%2Fpi-web%2Fdigital-agent-platform%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Flayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fduan%2Ffiles%2Fpi-web%2Fdigital-agent-platform%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Frender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fduan%2Ffiles%2Fpi-web%2Fdigital-agent-platform%2Fnode_modules%2Fnext%2Fdist%2Flib%2Fmetadata%2Fmetadata-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&server=true!\n");
|
|
212
|
-
|
|
213
|
-
/***/ }),
|
|
214
|
-
|
|
215
|
-
/***/ "(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fduan%2Ffiles%2Fpi-web%2Fdigital-agent-platform%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fduan%2Ffiles%2Fpi-web%2Fdigital-agent-platform%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-segment.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fduan%2Ffiles%2Fpi-web%2Fdigital-agent-platform%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Ferror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fduan%2Ffiles%2Fpi-web%2Fdigital-agent-platform%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fhttp-access-fallback%2Ferror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fduan%2Ffiles%2Fpi-web%2Fdigital-agent-platform%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Flayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fduan%2Ffiles%2Fpi-web%2Fdigital-agent-platform%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Frender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fduan%2Ffiles%2Fpi-web%2Fdigital-agent-platform%2Fnode_modules%2Fnext%2Fdist%2Flib%2Fmetadata%2Fmetadata-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&server=true!":
|
|
216
|
-
/*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
|
|
217
|
-
!*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fduan%2Ffiles%2Fpi-web%2Fdigital-agent-platform%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fduan%2Ffiles%2Fpi-web%2Fdigital-agent-platform%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-segment.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fduan%2Ffiles%2Fpi-web%2Fdigital-agent-platform%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Ferror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fduan%2Ffiles%2Fpi-web%2Fdigital-agent-platform%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fhttp-access-fallback%2Ferror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fduan%2Ffiles%2Fpi-web%2Fdigital-agent-platform%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Flayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fduan%2Ffiles%2Fpi-web%2Fdigital-agent-platform%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Frender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fduan%2Ffiles%2Fpi-web%2Fdigital-agent-platform%2Fnode_modules%2Fnext%2Fdist%2Flib%2Fmetadata%2Fmetadata-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&server=true! ***!
|
|
218
|
-
\*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
|
|
219
|
-
/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
|
|
220
|
-
|
|
221
|
-
eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/client-page.js */ \"(ssr)/./node_modules/next/dist/client/components/client-page.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/client-segment.js */ \"(ssr)/./node_modules/next/dist/client/components/client-segment.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/error-boundary.js */ \"(ssr)/./node_modules/next/dist/client/components/error-boundary.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js */ \"(ssr)/./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/layout-router.js */ \"(ssr)/./node_modules/next/dist/client/components/layout-router.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/render-from-template-context.js */ \"(ssr)/./node_modules/next/dist/client/components/render-from-template-context.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/lib/metadata/metadata-boundary.js */ \"(ssr)/./node_modules/next/dist/lib/metadata/metadata-boundary.js\", 23));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGZHVhbiUyRmZpbGVzJTJGcGktd2ViJTJGZGlnaXRhbC1hZ2VudC1wbGF0Zm9ybSUyRm5vZGVfbW9kdWxlcyUyRm5leHQlMkZkaXN0JTJGY2xpZW50JTJGY29tcG9uZW50cyUyRmNsaWVudC1wYWdlLmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGZHVhbiUyRmZpbGVzJTJGcGktd2ViJTJGZGlnaXRhbC1hZ2VudC1wbGF0Zm9ybSUyRm5vZGVfbW9kdWxlcyUyRm5leHQlMkZkaXN0JTJGY2xpZW50JTJGY29tcG9uZW50cyUyRmNsaWVudC1zZWdtZW50LmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGZHVhbiUyRmZpbGVzJTJGcGktd2ViJTJGZGlnaXRhbC1hZ2VudC1wbGF0Zm9ybSUyRm5vZGVfbW9kdWxlcyUyRm5leHQlMkZkaXN0JTJGY2xpZW50JTJGY29tcG9uZW50cyUyRmVycm9yLWJvdW5kYXJ5LmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGZHVhbiUyRmZpbGVzJTJGcGktd2ViJTJGZGlnaXRhbC1hZ2VudC1wbGF0Zm9ybSUyRm5vZGVfbW9kdWxlcyUyRm5leHQlMkZkaXN0JTJGY2xpZW50JTJGY29tcG9uZW50cyUyRmh0dHAtYWNjZXNzLWZhbGxiYWNrJTJGZXJyb3ItYm91bmRhcnkuanMlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGVXNlcnMlMkZkdWFuJTJGZmlsZXMlMkZwaS13ZWIlMkZkaWdpdGFsLWFnZW50LXBsYXRmb3JtJTJGbm9kZV9tb2R1bGVzJTJGbmV4dCUyRmRpc3QlMkZjbGllbnQlMkZjb21wb25lbnRzJTJGbGF5b3V0LXJvdXRlci5qcyUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjIlMkZVc2VycyUyRmR1YW4lMkZmaWxlcyUyRnBpLXdlYiUyRmRpZ2l0YWwtYWdlbnQtcGxhdGZvcm0lMkZub2RlX21vZHVsZXMlMkZuZXh0JTJGZGlzdCUyRmNsaWVudCUyRmNvbXBvbmVudHMlMkZyZW5kZXItZnJvbS10ZW1wbGF0ZS1jb250ZXh0LmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGZHVhbiUyRmZpbGVzJTJGcGktd2ViJTJGZGlnaXRhbC1hZ2VudC1wbGF0Zm9ybSUyRm5vZGVfbW9kdWxlcyUyRm5leHQlMkZkaXN0JTJGbGliJTJGbWV0YWRhdGElMkZtZXRhZGF0YS1ib3VuZGFyeS5qcyUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZzZXJ2ZXI9dHJ1ZSEiLCJtYXBwaW5ncyI6IkFBQUEsb09BQTRJO0FBQzVJO0FBQ0EsME9BQStJO0FBQy9JO0FBQ0EsME9BQStJO0FBQy9JO0FBQ0Esb1JBQW9LO0FBQ3BLO0FBQ0Esd09BQThJO0FBQzlJO0FBQ0Esc1FBQTZKO0FBQzdKO0FBQ0Esc09BQTZJIiwic291cmNlcyI6WyIiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCIvVXNlcnMvZHVhbi9maWxlcy9waS13ZWIvZGlnaXRhbC1hZ2VudC1wbGF0Zm9ybS9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2NsaWVudC1wYWdlLmpzXCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCIvVXNlcnMvZHVhbi9maWxlcy9waS13ZWIvZGlnaXRhbC1hZ2VudC1wbGF0Zm9ybS9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2NsaWVudC1zZWdtZW50LmpzXCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCIvVXNlcnMvZHVhbi9maWxlcy9waS13ZWIvZGlnaXRhbC1hZ2VudC1wbGF0Zm9ybS9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2Vycm9yLWJvdW5kYXJ5LmpzXCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCIvVXNlcnMvZHVhbi9maWxlcy9waS13ZWIvZGlnaXRhbC1hZ2VudC1wbGF0Zm9ybS9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2h0dHAtYWNjZXNzLWZhbGxiYWNrL2Vycm9yLWJvdW5kYXJ5LmpzXCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCIvVXNlcnMvZHVhbi9maWxlcy9waS13ZWIvZGlnaXRhbC1hZ2VudC1wbGF0Zm9ybS9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2xheW91dC1yb3V0ZXIuanNcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIi9Vc2Vycy9kdWFuL2ZpbGVzL3BpLXdlYi9kaWdpdGFsLWFnZW50LXBsYXRmb3JtL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVuZGVyLWZyb20tdGVtcGxhdGUtY29udGV4dC5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiL1VzZXJzL2R1YW4vZmlsZXMvcGktd2ViL2RpZ2l0YWwtYWdlbnQtcGxhdGZvcm0vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9saWIvbWV0YWRhdGEvbWV0YWRhdGEtYm91bmRhcnkuanNcIik7XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fduan%2Ffiles%2Fpi-web%2Fdigital-agent-platform%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fduan%2Ffiles%2Fpi-web%2Fdigital-agent-platform%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-segment.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fduan%2Ffiles%2Fpi-web%2Fdigital-agent-platform%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Ferror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fduan%2Ffiles%2Fpi-web%2Fdigital-agent-platform%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fhttp-access-fallback%2Ferror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fduan%2Ffiles%2Fpi-web%2Fdigital-agent-platform%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Flayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fduan%2Ffiles%2Fpi-web%2Fdigital-agent-platform%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Frender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fduan%2Ffiles%2Fpi-web%2Fdigital-agent-platform%2Fnode_modules%2Fnext%2Fdist%2Flib%2Fmetadata%2Fmetadata-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&server=true!\n");
|
|
222
|
-
|
|
223
|
-
/***/ }),
|
|
224
|
-
|
|
225
|
-
/***/ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fduan%2Ffiles%2Fpi-web%2Fdigital-agent-platform%2Fnode_modules%2Fnext-intl%2Fdist%2Fesm%2Fshared%2FNextIntlClientProvider.js%22%2C%22ids%22%3A%5B%22default%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fduan%2Ffiles%2Fpi-web%2Fdigital-agent-platform%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2F%5Blocale%5D%2Flayout.tsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fduan%2Ffiles%2Fpi-web%2Fdigital-agent-platform%2Fsrc%2Fcomponents%2Flayout%2Fsidebar.tsx%22%2C%22ids%22%3A%5B%22Sidebar%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fduan%2Ffiles%2Fpi-web%2Fdigital-agent-platform%2Fsrc%2Fcomponents%2Fproviders.tsx%22%2C%22ids%22%3A%5B%22Providers%22%5D%7D&server=true!":
|
|
226
|
-
/*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
|
|
227
|
-
!*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fduan%2Ffiles%2Fpi-web%2Fdigital-agent-platform%2Fnode_modules%2Fnext-intl%2Fdist%2Fesm%2Fshared%2FNextIntlClientProvider.js%22%2C%22ids%22%3A%5B%22default%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fduan%2Ffiles%2Fpi-web%2Fdigital-agent-platform%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2F%5Blocale%5D%2Flayout.tsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fduan%2Ffiles%2Fpi-web%2Fdigital-agent-platform%2Fsrc%2Fcomponents%2Flayout%2Fsidebar.tsx%22%2C%22ids%22%3A%5B%22Sidebar%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fduan%2Ffiles%2Fpi-web%2Fdigital-agent-platform%2Fsrc%2Fcomponents%2Fproviders.tsx%22%2C%22ids%22%3A%5B%22Providers%22%5D%7D&server=true! ***!
|
|
228
|
-
\*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
|
|
229
|
-
/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
|
|
230
|
-
|
|
231
|
-
eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./node_modules/next-intl/dist/esm/shared/NextIntlClientProvider.js */ \"(rsc)/./node_modules/next-intl/dist/esm/shared/NextIntlClientProvider.js\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/components/layout/sidebar.tsx */ \"(rsc)/./src/components/layout/sidebar.tsx\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/components/providers.tsx */ \"(rsc)/./src/components/providers.tsx\"));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGZHVhbiUyRmZpbGVzJTJGcGktd2ViJTJGZGlnaXRhbC1hZ2VudC1wbGF0Zm9ybSUyRm5vZGVfbW9kdWxlcyUyRm5leHQtaW50bCUyRmRpc3QlMkZlc20lMkZzaGFyZWQlMkZOZXh0SW50bENsaWVudFByb3ZpZGVyLmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTIyZGVmYXVsdCUyMiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjIlMkZVc2VycyUyRmR1YW4lMkZmaWxlcyUyRnBpLXdlYiUyRmRpZ2l0YWwtYWdlbnQtcGxhdGZvcm0lMkZub2RlX21vZHVsZXMlMkZuZXh0JTJGZm9udCUyRmdvb2dsZSUyRnRhcmdldC5jc3MlM0YlN0IlNUMlMjJwYXRoJTVDJTIyJTNBJTVDJTIyc3JjJTJGYXBwJTJGJTVCbG9jYWxlJTVEJTJGbGF5b3V0LnRzeCU1QyUyMiUyQyU1QyUyMmltcG9ydCU1QyUyMiUzQSU1QyUyMkludGVyJTVDJTIyJTJDJTVDJTIyYXJndW1lbnRzJTVDJTIyJTNBJTVCJTdCJTVDJTIyc3Vic2V0cyU1QyUyMiUzQSU1QiU1QyUyMmxhdGluJTVDJTIyJTVEJTdEJTVEJTJDJTVDJTIydmFyaWFibGVOYW1lJTVDJTIyJTNBJTVDJTIyaW50ZXIlNUMlMjIlN0QlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGVXNlcnMlMkZkdWFuJTJGZmlsZXMlMkZwaS13ZWIlMkZkaWdpdGFsLWFnZW50LXBsYXRmb3JtJTJGc3JjJTJGY29tcG9uZW50cyUyRmxheW91dCUyRnNpZGViYXIudHN4JTIyJTJDJTIyaWRzJTIyJTNBJTVCJTIyU2lkZWJhciUyMiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjIlMkZVc2VycyUyRmR1YW4lMkZmaWxlcyUyRnBpLXdlYiUyRmRpZ2l0YWwtYWdlbnQtcGxhdGZvcm0lMkZzcmMlMkZjb21wb25lbnRzJTJGcHJvdmlkZXJzLnRzeCUyMiUyQyUyMmlkcyUyMiUzQSU1QiUyMlByb3ZpZGVycyUyMiU1RCU3RCZzZXJ2ZXI9dHJ1ZSEiLCJtYXBwaW5ncyI6IkFBQUEsZ1BBQWtMO0FBQ2xMO0FBQ0Esa0xBQW1KO0FBQ25KO0FBQ0Esd0tBQWdKIiwic291cmNlcyI6WyIiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIsIHdlYnBhY2tFeHBvcnRzOiBbXCJkZWZhdWx0XCJdICovIFwiL1VzZXJzL2R1YW4vZmlsZXMvcGktd2ViL2RpZ2l0YWwtYWdlbnQtcGxhdGZvcm0vbm9kZV9tb2R1bGVzL25leHQtaW50bC9kaXN0L2VzbS9zaGFyZWQvTmV4dEludGxDbGllbnRQcm92aWRlci5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiLCB3ZWJwYWNrRXhwb3J0czogW1wiU2lkZWJhclwiXSAqLyBcIi9Vc2Vycy9kdWFuL2ZpbGVzL3BpLXdlYi9kaWdpdGFsLWFnZW50LXBsYXRmb3JtL3NyYy9jb21wb25lbnRzL2xheW91dC9zaWRlYmFyLnRzeFwiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiLCB3ZWJwYWNrRXhwb3J0czogW1wiUHJvdmlkZXJzXCJdICovIFwiL1VzZXJzL2R1YW4vZmlsZXMvcGktd2ViL2RpZ2l0YWwtYWdlbnQtcGxhdGZvcm0vc3JjL2NvbXBvbmVudHMvcHJvdmlkZXJzLnRzeFwiKTtcbiJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fduan%2Ffiles%2Fpi-web%2Fdigital-agent-platform%2Fnode_modules%2Fnext-intl%2Fdist%2Fesm%2Fshared%2FNextIntlClientProvider.js%22%2C%22ids%22%3A%5B%22default%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fduan%2Ffiles%2Fpi-web%2Fdigital-agent-platform%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2F%5Blocale%5D%2Flayout.tsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fduan%2Ffiles%2Fpi-web%2Fdigital-agent-platform%2Fsrc%2Fcomponents%2Flayout%2Fsidebar.tsx%22%2C%22ids%22%3A%5B%22Sidebar%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fduan%2Ffiles%2Fpi-web%2Fdigital-agent-platform%2Fsrc%2Fcomponents%2Fproviders.tsx%22%2C%22ids%22%3A%5B%22Providers%22%5D%7D&server=true!\n");
|
|
232
|
-
|
|
233
|
-
/***/ }),
|
|
234
|
-
|
|
235
|
-
/***/ "(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fduan%2Ffiles%2Fpi-web%2Fdigital-agent-platform%2Fnode_modules%2Fnext-intl%2Fdist%2Fesm%2Fshared%2FNextIntlClientProvider.js%22%2C%22ids%22%3A%5B%22default%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fduan%2Ffiles%2Fpi-web%2Fdigital-agent-platform%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2F%5Blocale%5D%2Flayout.tsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fduan%2Ffiles%2Fpi-web%2Fdigital-agent-platform%2Fsrc%2Fcomponents%2Flayout%2Fsidebar.tsx%22%2C%22ids%22%3A%5B%22Sidebar%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fduan%2Ffiles%2Fpi-web%2Fdigital-agent-platform%2Fsrc%2Fcomponents%2Fproviders.tsx%22%2C%22ids%22%3A%5B%22Providers%22%5D%7D&server=true!":
|
|
236
|
-
/*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
|
|
237
|
-
!*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fduan%2Ffiles%2Fpi-web%2Fdigital-agent-platform%2Fnode_modules%2Fnext-intl%2Fdist%2Fesm%2Fshared%2FNextIntlClientProvider.js%22%2C%22ids%22%3A%5B%22default%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fduan%2Ffiles%2Fpi-web%2Fdigital-agent-platform%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2F%5Blocale%5D%2Flayout.tsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fduan%2Ffiles%2Fpi-web%2Fdigital-agent-platform%2Fsrc%2Fcomponents%2Flayout%2Fsidebar.tsx%22%2C%22ids%22%3A%5B%22Sidebar%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fduan%2Ffiles%2Fpi-web%2Fdigital-agent-platform%2Fsrc%2Fcomponents%2Fproviders.tsx%22%2C%22ids%22%3A%5B%22Providers%22%5D%7D&server=true! ***!
|
|
238
|
-
\*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
|
|
239
|
-
/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
|
|
240
|
-
|
|
241
|
-
eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./node_modules/next-intl/dist/esm/shared/NextIntlClientProvider.js */ \"(ssr)/./node_modules/next-intl/dist/esm/shared/NextIntlClientProvider.js\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/components/layout/sidebar.tsx */ \"(ssr)/./src/components/layout/sidebar.tsx\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/components/providers.tsx */ \"(ssr)/./src/components/providers.tsx\"));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGZHVhbiUyRmZpbGVzJTJGcGktd2ViJTJGZGlnaXRhbC1hZ2VudC1wbGF0Zm9ybSUyRm5vZGVfbW9kdWxlcyUyRm5leHQtaW50bCUyRmRpc3QlMkZlc20lMkZzaGFyZWQlMkZOZXh0SW50bENsaWVudFByb3ZpZGVyLmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTIyZGVmYXVsdCUyMiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjIlMkZVc2VycyUyRmR1YW4lMkZmaWxlcyUyRnBpLXdlYiUyRmRpZ2l0YWwtYWdlbnQtcGxhdGZvcm0lMkZub2RlX21vZHVsZXMlMkZuZXh0JTJGZm9udCUyRmdvb2dsZSUyRnRhcmdldC5jc3MlM0YlN0IlNUMlMjJwYXRoJTVDJTIyJTNBJTVDJTIyc3JjJTJGYXBwJTJGJTVCbG9jYWxlJTVEJTJGbGF5b3V0LnRzeCU1QyUyMiUyQyU1QyUyMmltcG9ydCU1QyUyMiUzQSU1QyUyMkludGVyJTVDJTIyJTJDJTVDJTIyYXJndW1lbnRzJTVDJTIyJTNBJTVCJTdCJTVDJTIyc3Vic2V0cyU1QyUyMiUzQSU1QiU1QyUyMmxhdGluJTVDJTIyJTVEJTdEJTVEJTJDJTVDJTIydmFyaWFibGVOYW1lJTVDJTIyJTNBJTVDJTIyaW50ZXIlNUMlMjIlN0QlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGVXNlcnMlMkZkdWFuJTJGZmlsZXMlMkZwaS13ZWIlMkZkaWdpdGFsLWFnZW50LXBsYXRmb3JtJTJGc3JjJTJGY29tcG9uZW50cyUyRmxheW91dCUyRnNpZGViYXIudHN4JTIyJTJDJTIyaWRzJTIyJTNBJTVCJTIyU2lkZWJhciUyMiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjIlMkZVc2VycyUyRmR1YW4lMkZmaWxlcyUyRnBpLXdlYiUyRmRpZ2l0YWwtYWdlbnQtcGxhdGZvcm0lMkZzcmMlMkZjb21wb25lbnRzJTJGcHJvdmlkZXJzLnRzeCUyMiUyQyUyMmlkcyUyMiUzQSU1QiUyMlByb3ZpZGVycyUyMiU1RCU3RCZzZXJ2ZXI9dHJ1ZSEiLCJtYXBwaW5ncyI6IkFBQUEsZ1BBQWtMO0FBQ2xMO0FBQ0Esa0xBQW1KO0FBQ25KO0FBQ0Esd0tBQWdKIiwic291cmNlcyI6WyIiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIsIHdlYnBhY2tFeHBvcnRzOiBbXCJkZWZhdWx0XCJdICovIFwiL1VzZXJzL2R1YW4vZmlsZXMvcGktd2ViL2RpZ2l0YWwtYWdlbnQtcGxhdGZvcm0vbm9kZV9tb2R1bGVzL25leHQtaW50bC9kaXN0L2VzbS9zaGFyZWQvTmV4dEludGxDbGllbnRQcm92aWRlci5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiLCB3ZWJwYWNrRXhwb3J0czogW1wiU2lkZWJhclwiXSAqLyBcIi9Vc2Vycy9kdWFuL2ZpbGVzL3BpLXdlYi9kaWdpdGFsLWFnZW50LXBsYXRmb3JtL3NyYy9jb21wb25lbnRzL2xheW91dC9zaWRlYmFyLnRzeFwiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiLCB3ZWJwYWNrRXhwb3J0czogW1wiUHJvdmlkZXJzXCJdICovIFwiL1VzZXJzL2R1YW4vZmlsZXMvcGktd2ViL2RpZ2l0YWwtYWdlbnQtcGxhdGZvcm0vc3JjL2NvbXBvbmVudHMvcHJvdmlkZXJzLnRzeFwiKTtcbiJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fduan%2Ffiles%2Fpi-web%2Fdigital-agent-platform%2Fnode_modules%2Fnext-intl%2Fdist%2Fesm%2Fshared%2FNextIntlClientProvider.js%22%2C%22ids%22%3A%5B%22default%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fduan%2Ffiles%2Fpi-web%2Fdigital-agent-platform%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22src%2Fapp%2F%5Blocale%5D%2Flayout.tsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fduan%2Ffiles%2Fpi-web%2Fdigital-agent-platform%2Fsrc%2Fcomponents%2Flayout%2Fsidebar.tsx%22%2C%22ids%22%3A%5B%22Sidebar%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fduan%2Ffiles%2Fpi-web%2Fdigital-agent-platform%2Fsrc%2Fcomponents%2Fproviders.tsx%22%2C%22ids%22%3A%5B%22Providers%22%5D%7D&server=true!\n");
|
|
242
|
-
|
|
243
|
-
/***/ }),
|
|
244
|
-
|
|
245
|
-
/***/ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fduan%2Ffiles%2Fpi-web%2Fdigital-agent-platform%2Fsrc%2Fapp%2F%5Blocale%5D%2Fagents%2F%5Bid%5D%2Fchat%2Fpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=true!":
|
|
246
|
-
/*!******************************************************************************************************************************************************************************************************************************************************************************************!*\
|
|
247
|
-
!*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fduan%2Ffiles%2Fpi-web%2Fdigital-agent-platform%2Fsrc%2Fapp%2F%5Blocale%5D%2Fagents%2F%5Bid%5D%2Fchat%2Fpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=true! ***!
|
|
248
|
-
\******************************************************************************************************************************************************************************************************************************************************************************************/
|
|
249
|
-
/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
|
|
250
|
-
|
|
251
|
-
eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/app/[locale]/agents/[id]/chat/page.tsx */ \"(rsc)/./src/app/[locale]/agents/[id]/chat/page.tsx\"));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGZHVhbiUyRmZpbGVzJTJGcGktd2ViJTJGZGlnaXRhbC1hZ2VudC1wbGF0Zm9ybSUyRnNyYyUyRmFwcCUyRiU1QmxvY2FsZSU1RCUyRmFnZW50cyUyRiU1QmlkJTVEJTJGY2hhdCUyRnBhZ2UudHN4JTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJnNlcnZlcj10cnVlISIsIm1hcHBpbmdzIjoiQUFBQSxvTUFBK0giLCJzb3VyY2VzIjpbIiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIi9Vc2Vycy9kdWFuL2ZpbGVzL3BpLXdlYi9kaWdpdGFsLWFnZW50LXBsYXRmb3JtL3NyYy9hcHAvW2xvY2FsZV0vYWdlbnRzL1tpZF0vY2hhdC9wYWdlLnRzeFwiKTtcbiJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fduan%2Ffiles%2Fpi-web%2Fdigital-agent-platform%2Fsrc%2Fapp%2F%5Blocale%5D%2Fagents%2F%5Bid%5D%2Fchat%2Fpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=true!\n");
|
|
252
|
-
|
|
253
|
-
/***/ }),
|
|
254
|
-
|
|
255
|
-
/***/ "(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fduan%2Ffiles%2Fpi-web%2Fdigital-agent-platform%2Fsrc%2Fapp%2F%5Blocale%5D%2Fagents%2F%5Bid%5D%2Fchat%2Fpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=true!":
|
|
256
|
-
/*!******************************************************************************************************************************************************************************************************************************************************************************************!*\
|
|
257
|
-
!*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fduan%2Ffiles%2Fpi-web%2Fdigital-agent-platform%2Fsrc%2Fapp%2F%5Blocale%5D%2Fagents%2F%5Bid%5D%2Fchat%2Fpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=true! ***!
|
|
258
|
-
\******************************************************************************************************************************************************************************************************************************************************************************************/
|
|
259
|
-
/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
|
|
260
|
-
|
|
261
|
-
eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/app/[locale]/agents/[id]/chat/page.tsx */ \"(ssr)/./src/app/[locale]/agents/[id]/chat/page.tsx\"));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGZHVhbiUyRmZpbGVzJTJGcGktd2ViJTJGZGlnaXRhbC1hZ2VudC1wbGF0Zm9ybSUyRnNyYyUyRmFwcCUyRiU1QmxvY2FsZSU1RCUyRmFnZW50cyUyRiU1QmlkJTVEJTJGY2hhdCUyRnBhZ2UudHN4JTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJnNlcnZlcj10cnVlISIsIm1hcHBpbmdzIjoiQUFBQSxvTUFBK0giLCJzb3VyY2VzIjpbIiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIi9Vc2Vycy9kdWFuL2ZpbGVzL3BpLXdlYi9kaWdpdGFsLWFnZW50LXBsYXRmb3JtL3NyYy9hcHAvW2xvY2FsZV0vYWdlbnRzL1tpZF0vY2hhdC9wYWdlLnRzeFwiKTtcbiJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fduan%2Ffiles%2Fpi-web%2Fdigital-agent-platform%2Fsrc%2Fapp%2F%5Blocale%5D%2Fagents%2F%5Bid%5D%2Fchat%2Fpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=true!\n");
|
|
262
|
-
|
|
263
|
-
/***/ }),
|
|
264
|
-
|
|
265
|
-
/***/ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fduan%2Ffiles%2Fpi-web%2Fdigital-agent-platform%2Fsrc%2Fapp%2Fglobals.css%22%2C%22ids%22%3A%5B%5D%7D&server=true!":
|
|
266
|
-
/*!***************************************************************************************************************************************************************************************************************************************************!*\
|
|
267
|
-
!*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fduan%2Ffiles%2Fpi-web%2Fdigital-agent-platform%2Fsrc%2Fapp%2Fglobals.css%22%2C%22ids%22%3A%5B%5D%7D&server=true! ***!
|
|
268
|
-
\***************************************************************************************************************************************************************************************************************************************************/
|
|
269
|
-
/***/ (() => {
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
/***/ }),
|
|
274
|
-
|
|
275
|
-
/***/ "(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fduan%2Ffiles%2Fpi-web%2Fdigital-agent-platform%2Fsrc%2Fapp%2Fglobals.css%22%2C%22ids%22%3A%5B%5D%7D&server=true!":
|
|
276
|
-
/*!***************************************************************************************************************************************************************************************************************************************************!*\
|
|
277
|
-
!*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fduan%2Ffiles%2Fpi-web%2Fdigital-agent-platform%2Fsrc%2Fapp%2Fglobals.css%22%2C%22ids%22%3A%5B%5D%7D&server=true! ***!
|
|
278
|
-
\***************************************************************************************************************************************************************************************************************************************************/
|
|
279
|
-
/***/ (() => {
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
/***/ }),
|
|
284
|
-
|
|
285
|
-
/***/ "(ssr)/./src/app/[locale]/agents/[id]/chat/page.tsx":
|
|
286
|
-
/*!****************************************************!*\
|
|
287
|
-
!*** ./src/app/[locale]/agents/[id]/chat/page.tsx ***!
|
|
288
|
-
\****************************************************/
|
|
289
|
-
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
290
|
-
|
|
291
|
-
"use strict";
|
|
292
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ ChatPage)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var next_intl__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! next-intl */ \"(ssr)/./node_modules/next-intl/dist/development/index.react-client.js\");\n/* harmony import */ var next_intl__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(next_intl__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _barrel_optimize_names_Check_ChevronDown_ChevronLeft_History_Info_Plus_Square_Trash2_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! __barrel_optimize__?names=Check,ChevronDown,ChevronLeft,History,Info,Plus,Square,Trash2,Zap!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/chevron-left.js\");\n/* harmony import */ var _barrel_optimize_names_Check_ChevronDown_ChevronLeft_History_Info_Plus_Square_Trash2_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! __barrel_optimize__?names=Check,ChevronDown,ChevronLeft,History,Info,Plus,Square,Trash2,Zap!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/plus.js\");\n/* harmony import */ var _barrel_optimize_names_Check_ChevronDown_ChevronLeft_History_Info_Plus_Square_Trash2_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! __barrel_optimize__?names=Check,ChevronDown,ChevronLeft,History,Info,Plus,Square,Trash2,Zap!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/trash-2.js\");\n/* harmony import */ var _barrel_optimize_names_Check_ChevronDown_ChevronLeft_History_Info_Plus_Square_Trash2_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! __barrel_optimize__?names=Check,ChevronDown,ChevronLeft,History,Info,Plus,Square,Trash2,Zap!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/history.js\");\n/* harmony import */ var _barrel_optimize_names_Check_ChevronDown_ChevronLeft_History_Info_Plus_Square_Trash2_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! __barrel_optimize__?names=Check,ChevronDown,ChevronLeft,History,Info,Plus,Square,Trash2,Zap!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/square.js\");\n/* harmony import */ var _barrel_optimize_names_Check_ChevronDown_ChevronLeft_History_Info_Plus_Square_Trash2_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! __barrel_optimize__?names=Check,ChevronDown,ChevronLeft,History,Info,Plus,Square,Trash2,Zap!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/info.js\");\n/* harmony import */ var _barrel_optimize_names_Check_ChevronDown_ChevronLeft_History_Info_Plus_Square_Trash2_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! __barrel_optimize__?names=Check,ChevronDown,ChevronLeft,History,Info,Plus,Square,Trash2,Zap!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/zap.js\");\n/* harmony import */ var _barrel_optimize_names_Check_ChevronDown_ChevronLeft_History_Info_Plus_Square_Trash2_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! __barrel_optimize__?names=Check,ChevronDown,ChevronLeft,History,Info,Plus,Square,Trash2,Zap!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/chevron-down.js\");\n/* harmony import */ var _barrel_optimize_names_Check_ChevronDown_ChevronLeft_History_Info_Plus_Square_Trash2_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! __barrel_optimize__?names=Check,ChevronDown,ChevronLeft,History,Info,Plus,Square,Trash2,Zap!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/check.js\");\n/* harmony import */ var _components_chat_message_bubble__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/components/chat/message-bubble */ \"(ssr)/./src/components/chat/message-bubble.tsx\");\n/* harmony import */ var _components_chat_input_bar__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/components/chat/input-bar */ \"(ssr)/./src/components/chat/input-bar.tsx\");\n/* harmony import */ var _components_ui_scroll_area__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/components/ui/scroll-area */ \"(ssr)/./src/components/ui/scroll-area.tsx\");\n/* harmony import */ var _lib_utils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/lib/utils */ \"(ssr)/./src/lib/utils.ts\");\n/* harmony import */ var uuid__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! uuid */ \"(ssr)/./node_modules/uuid/dist/esm/v4.js\");\n/* harmony import */ var _hooks_use_toast__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/hooks/use-toast */ \"(ssr)/./src/hooks/use-toast.ts\");\n/* __next_internal_client_entry_do_not_use__ default auto */ \n\n\n\n\n\n\n\n\n\n\nconst TIMESTAMP_GAP_MS = 5 * 60 * 1000;\nfunction ChatPage({ params }) {\n const t = (0,next_intl__WEBPACK_IMPORTED_MODULE_7__.useTranslations)(\"chat\");\n const locale = (0,next_intl__WEBPACK_IMPORTED_MODULE_7__.useLocale)();\n const [agentId, setAgentId] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(\"\");\n const [agent, setAgent] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n const [messages, setMessages] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)([]);\n const [sessions, setSessions] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)([]);\n const [currentSessionFile, setCurrentSessionFile] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)();\n const [streaming, setStreaming] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const [showSidebar, setShowSidebar] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const [showInfoPanel, setShowInfoPanel] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const [pendingTTS, setPendingTTS] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)();\n const [compacting, setCompacting] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const [sessionStats, setSessionStats] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n const [showScrollBtn, setShowScrollBtn] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const [confirmClearAll, setConfirmClearAll] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const [pendingFollowup, setPendingFollowup] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n const [sessionSkills, setSessionSkills] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n const [installedSkills, setInstalledSkills] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)([]);\n // null = use agent's configured model; set to override for this session\n const [sessionModel, setSessionModel] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n const bottomRef = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(null);\n const chatScrollRef = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(null);\n const abortControllerRef = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(null);\n const pendingSteerRef = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(null);\n // stable refs — doSend stays the same object across renders\n const agentRef = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(agent);\n const agentIdRef = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(agentId);\n const sessionFileRef = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(currentSessionFile);\n const sessionSkillsRef = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(sessionSkills);\n const sessionModelRef = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(sessionModel);\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)({\n \"ChatPage.useEffect\": ()=>{\n agentRef.current = agent;\n }\n }[\"ChatPage.useEffect\"], [\n agent\n ]);\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)({\n \"ChatPage.useEffect\": ()=>{\n agentIdRef.current = agentId;\n }\n }[\"ChatPage.useEffect\"], [\n agentId\n ]);\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)({\n \"ChatPage.useEffect\": ()=>{\n sessionFileRef.current = currentSessionFile;\n }\n }[\"ChatPage.useEffect\"], [\n currentSessionFile\n ]);\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)({\n \"ChatPage.useEffect\": ()=>{\n sessionSkillsRef.current = sessionSkills;\n }\n }[\"ChatPage.useEffect\"], [\n sessionSkills\n ]);\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)({\n \"ChatPage.useEffect\": ()=>{\n sessionModelRef.current = sessionModel;\n }\n }[\"ChatPage.useEffect\"], [\n sessionModel\n ]);\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)({\n \"ChatPage.useEffect\": ()=>{\n params.then({\n \"ChatPage.useEffect\": async ({ id })=>{\n setAgentId(id);\n const [agentRes, sessRes, skillsRes] = await Promise.all([\n fetch(`/api/agents/${id}`).then({\n \"ChatPage.useEffect\": (r)=>r.json()\n }[\"ChatPage.useEffect\"]),\n fetch(`/api/sessions/${id}`).then({\n \"ChatPage.useEffect\": (r)=>r.json()\n }[\"ChatPage.useEffect\"]),\n fetch(\"/api/skills\").then({\n \"ChatPage.useEffect\": (r)=>r.json()\n }[\"ChatPage.useEffect\"])\n ]);\n setAgent(agentRes);\n setSessions(sessRes);\n setInstalledSkills(skillsRes);\n }\n }[\"ChatPage.useEffect\"]);\n }\n }[\"ChatPage.useEffect\"], [\n params\n ]);\n // auto-scroll only when already at bottom\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)({\n \"ChatPage.useEffect\": ()=>{\n if (!showScrollBtn) {\n bottomRef.current?.scrollIntoView({\n behavior: \"smooth\"\n });\n }\n }\n }[\"ChatPage.useEffect\"], [\n messages,\n streaming,\n showScrollBtn\n ]);\n const handleScroll = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)({\n \"ChatPage.useCallback[handleScroll]\": ()=>{\n const el = chatScrollRef.current;\n if (!el) return;\n setShowScrollBtn(el.scrollHeight - el.scrollTop - el.clientHeight > 120);\n }\n }[\"ChatPage.useCallback[handleScroll]\"], []);\n const effectiveSkills = sessionSkills ?? agent?.enabledSkills ?? [];\n const stopStreaming = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)({\n \"ChatPage.useCallback[stopStreaming]\": ()=>{\n abortControllerRef.current?.abort();\n abortControllerRef.current = null;\n setStreaming(false);\n }\n }[\"ChatPage.useCallback[stopStreaming]\"], []);\n // ── Core send (no mode/streaming guard — callers handle that) ─────────────\n const doSend = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)({\n \"ChatPage.useCallback[doSend]\": async (text, images)=>{\n const ag = agentRef.current;\n const aid = agentIdRef.current;\n if (!ag || !aid) return;\n const userMsg = {\n id: (0,uuid__WEBPACK_IMPORTED_MODULE_8__[\"default\"])(),\n role: \"user\",\n content: text,\n images,\n createdAt: new Date()\n };\n setMessages({\n \"ChatPage.useCallback[doSend]\": (prev)=>[\n ...prev,\n userMsg\n ]\n }[\"ChatPage.useCallback[doSend]\"]);\n setStreaming(true);\n const assistantId = (0,uuid__WEBPACK_IMPORTED_MODULE_8__[\"default\"])();\n setMessages({\n \"ChatPage.useCallback[doSend]\": (prev)=>[\n ...prev,\n {\n id: assistantId,\n role: \"assistant\",\n content: \"\",\n toolCalls: [],\n createdAt: new Date()\n }\n ]\n }[\"ChatPage.useCallback[doSend]\"]);\n const toolMap = new Map();\n const abort = new AbortController();\n abortControllerRef.current = abort;\n try {\n const res = await fetch(`/api/chat/${aid}`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\"\n },\n signal: abort.signal,\n body: JSON.stringify({\n message: text,\n sessionFile: sessionFileRef.current,\n overrideSkills: sessionSkillsRef.current ?? undefined,\n overrideProvider: sessionModelRef.current?.provider,\n overrideModelId: sessionModelRef.current?.modelId,\n images: images?.map({\n \"ChatPage.useCallback[doSend]\": (img)=>({\n data: img.data,\n mimeType: img.mimeType\n })\n }[\"ChatPage.useCallback[doSend]\"])\n })\n });\n if (!res.ok || !res.body) throw new Error(`HTTP ${res.status}`);\n const reader = res.body.getReader();\n const decoder = new TextDecoder();\n let buffer = \"\";\n while(true){\n const { done, value } = await reader.read();\n if (done) break;\n buffer += decoder.decode(value, {\n stream: true\n });\n const lines = buffer.split(\"\\n\");\n buffer = lines.pop() ?? \"\";\n for (const line of lines){\n if (!line.startsWith(\"data: \")) continue;\n try {\n const ev = JSON.parse(line.slice(6));\n handleSSEEvent(ev, assistantId, toolMap, text, ag);\n } catch {}\n }\n }\n } catch (e) {\n if (e.name === \"AbortError\") return;\n const msg = String(e);\n setMessages({\n \"ChatPage.useCallback[doSend]\": (prev)=>prev.map({\n \"ChatPage.useCallback[doSend]\": (m)=>m.id === assistantId ? {\n ...m,\n content: `⚠️ ${msg}`\n } : m\n }[\"ChatPage.useCallback[doSend]\"])\n }[\"ChatPage.useCallback[doSend]\"]);\n (0,_hooks_use_toast__WEBPACK_IMPORTED_MODULE_6__.toast)({\n title: \"发送失败\",\n description: msg,\n variant: \"destructive\"\n });\n } finally{\n abortControllerRef.current = null;\n setStreaming(false);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }\n }[\"ChatPage.useCallback[doSend]\"], []);\n // ── SSE event handler (local to doSend call, not a hook) ─────────────────\n function handleSSEEvent(event, assistantId, toolMap, userText, ag) {\n switch(event.type){\n case \"message_update\":\n setMessages((prev)=>prev.map((m)=>m.id === assistantId ? {\n ...m,\n content: m.content + event.delta\n } : m));\n break;\n // FIX Bug1: thinking_delta accumulation\n case \"thinking_delta\":\n setMessages((prev)=>prev.map((m)=>m.id === assistantId ? {\n ...m,\n thinking: (m.thinking ?? \"\") + event.delta\n } : m));\n break;\n case \"tool_start\":\n {\n const tc = {\n id: event.toolCallId,\n name: event.toolName,\n isLoading: true\n };\n toolMap.set(event.toolCallId, tc);\n setMessages((prev)=>prev.map((m)=>m.id === assistantId ? {\n ...m,\n toolCalls: [\n ...m.toolCalls ?? [],\n tc\n ]\n } : m));\n break;\n }\n case \"tool_update\":\n {\n const tc = toolMap.get(event.toolCallId);\n if (tc) {\n const u = {\n ...tc,\n input: event.content\n };\n toolMap.set(event.toolCallId, u);\n setMessages((prev)=>prev.map((m)=>m.id === assistantId ? {\n ...m,\n toolCalls: m.toolCalls?.map((t)=>t.id === event.toolCallId ? u : t)\n } : m));\n }\n break;\n }\n case \"tool_end\":\n {\n const tc = toolMap.get(event.toolCallId);\n if (tc) {\n const u = {\n ...tc,\n isLoading: false,\n isError: event.isError,\n output: event.output,\n fullOutputPath: event.fullOutputPath,\n truncated: event.truncated\n };\n toolMap.set(event.toolCallId, u);\n setMessages((prev)=>prev.map((m)=>m.id === assistantId ? {\n ...m,\n toolCalls: m.toolCalls?.map((t)=>t.id === event.toolCallId ? u : t)\n } : m));\n }\n break;\n }\n case \"compaction_start\":\n setCompacting(true);\n break;\n case \"compaction_end\":\n setCompacting(false);\n break;\n // FIX Bug4: error event\n case \"error\":\n (0,_hooks_use_toast__WEBPACK_IMPORTED_MODULE_6__.toast)({\n title: \"对话出错\",\n description: event.message,\n variant: \"destructive\"\n });\n setMessages((prev)=>prev.map((m)=>m.id === assistantId && !m.content ? {\n ...m,\n content: `⚠️ ${event.message}`\n } : m));\n break;\n // FIX Bug5: aborted event\n case \"aborted\":\n setStreaming(false);\n break;\n // FIX Bug6: session title from actual user message\n case \"session_file\":\n {\n const sf = event.path;\n setCurrentSessionFile(sf);\n const title = userText.slice(0, 60) || \"新对话\";\n setSessions((prev)=>{\n if (prev.find((s)=>s.session_file === sf)) return prev;\n return [\n {\n id: (0,uuid__WEBPACK_IMPORTED_MODULE_8__[\"default\"])(),\n title,\n session_file: sf,\n created_at: Date.now()\n },\n ...prev\n ];\n });\n break;\n }\n // NEW: session_stats display\n case \"session_stats\":\n setSessionStats(event.stats);\n break;\n case \"done\":\n // 自动朗读功能已禁用\n // if (ag.voice.enabled) {\n // setMessages((prev) => {\n // const last = [...prev].reverse().find((m) => m.role === \"assistant\");\n // if (last?.content) setPendingTTS(last.content);\n // return prev;\n // });\n // }\n setStreaming(false);\n break;\n }\n }\n // FIX Bug2+3: steer/followup — fire after streaming ends\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)({\n \"ChatPage.useEffect\": ()=>{\n if (streaming) return;\n if (pendingSteerRef.current) {\n const msg = pendingSteerRef.current;\n pendingSteerRef.current = null;\n void doSend(msg);\n } else if (pendingFollowup) {\n const msg = pendingFollowup;\n setPendingFollowup(null);\n void doSend(msg);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }\n }[\"ChatPage.useEffect\"], [\n streaming\n ]);\n // FIX Bug2+3: sendMessage with full mode support + images\n const sendMessage = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)({\n \"ChatPage.useCallback[sendMessage]\": (text, mode = \"normal\", images)=>{\n if (mode === \"steer\") {\n if (streaming) {\n pendingSteerRef.current = text;\n stopStreaming();\n } else void doSend(text, images);\n return;\n }\n if (mode === \"followup\") {\n if (streaming) {\n setPendingFollowup(text);\n (0,_hooks_use_toast__WEBPACK_IMPORTED_MODULE_6__.toast)({\n title: \"消息已排队\",\n description: \"当前回复完成后自动发送\"\n });\n } else void doSend(text, images);\n return;\n }\n if (!streaming) void doSend(text, images);\n }\n }[\"ChatPage.useCallback[sendMessage]\"], [\n streaming,\n doSend,\n stopStreaming\n ]);\n // ── Session management ────────────────────────────────────────────────────\n const newSession = ()=>{\n setCurrentSessionFile(undefined);\n setMessages([]);\n setSessionSkills(null);\n setSessionStats(null);\n setSessionModel(null);\n };\n const loadSession = async (sf)=>{\n setCurrentSessionFile(sf);\n setMessages([]);\n setShowSidebar(false);\n setSessionStats(null);\n try {\n const { messages: history } = await fetch(\"/api/sessions/history\", {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\"\n },\n body: JSON.stringify({\n sessionFile: sf\n })\n }).then((r)=>r.json());\n // FIX Bug7+8: restore toolCalls and thinking from history\n setMessages(history.map((m)=>({\n id: m.id,\n role: m.role,\n content: m.content,\n thinking: m.thinking,\n toolCalls: m.toolCalls ?? [],\n createdAt: new Date(m.createdAt)\n })));\n } catch (e) {\n (0,_hooks_use_toast__WEBPACK_IMPORTED_MODULE_6__.toast)({\n title: \"加载历史失败\",\n description: String(e),\n variant: \"destructive\"\n });\n }\n };\n // NEW: onRetry — resend the user message before the given assistant message\n const handleRetry = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)({\n \"ChatPage.useCallback[handleRetry]\": (message)=>{\n if (streaming) return;\n const idx = messages.findIndex({\n \"ChatPage.useCallback[handleRetry].idx\": (m)=>m.id === message.id\n }[\"ChatPage.useCallback[handleRetry].idx\"]);\n for(let i = idx - 1; i >= 0; i--){\n if (messages[i].role === \"user\") {\n setMessages({\n \"ChatPage.useCallback[handleRetry]\": (prev)=>prev.slice(0, i + 1)\n }[\"ChatPage.useCallback[handleRetry]\"]);\n void doSend(messages[i].content);\n return;\n }\n }\n }\n }[\"ChatPage.useCallback[handleRetry]\"], [\n messages,\n streaming,\n doSend\n ]);\n // NEW: onFork — branch from just before the selected message\n const handleFork = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)({\n \"ChatPage.useCallback[handleFork]\": (message)=>{\n const idx = messages.findIndex({\n \"ChatPage.useCallback[handleFork].idx\": (m)=>m.id === message.id\n }[\"ChatPage.useCallback[handleFork].idx\"]);\n setCurrentSessionFile(undefined);\n setMessages(idx >= 0 ? messages.slice(0, idx) : []);\n setSessionSkills(null);\n setSessionStats(null);\n (0,_hooks_use_toast__WEBPACK_IMPORTED_MODULE_6__.toast)({\n title: \"会话已分叉\",\n description: \"从所选消息之前创建了新分支\",\n variant: \"success\"\n });\n }\n }[\"ChatPage.useCallback[handleFork]\"], [\n messages\n ]);\n const deleteSession = async (e, sid, sf)=>{\n e.stopPropagation();\n await fetch(`/api/sessions/${agentId}/${sid}`, {\n method: \"DELETE\"\n });\n setSessions((prev)=>prev.filter((s)=>s.id !== sid));\n if (currentSessionFile === sf) {\n setCurrentSessionFile(undefined);\n setMessages([]);\n }\n };\n const clearAllSessions = async ()=>{\n if (!confirmClearAll) {\n setConfirmClearAll(true);\n setTimeout(()=>setConfirmClearAll(false), 3000);\n return;\n }\n await fetch(`/api/sessions/${agentId}`, {\n method: \"DELETE\"\n });\n setSessions([]);\n setCurrentSessionFile(undefined);\n setMessages([]);\n setConfirmClearAll(false);\n };\n const toggleSessionSkill = (name)=>{\n const base = sessionSkills ?? agent?.enabledSkills ?? [];\n setSessionSkills(base.includes(name) ? base.filter((s)=>s !== name) : [\n ...base,\n name\n ]);\n };\n if (!agent) return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex h-full items-center justify-center text-muted-foreground\",\n children: \"Loading…\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 362,\n columnNumber: 22\n }, this);\n const shouldShowTimestamp = (i)=>{\n if (i === 0) return true;\n return new Date(messages[i].createdAt).getTime() - new Date(messages[i - 1].createdAt).getTime() > TIMESTAMP_GAP_MS;\n };\n const ctxPct = sessionStats?.contextUsage?.percent ?? 0;\n const ctxColor = ctxPct > 80 ? \"bg-red-500\" : ctxPct > 60 ? \"bg-yellow-500\" : \"bg-[#57BE6B]\";\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex h-full bg-gradient-to-br from-gray-50 to-gray-100 dark:from-slate-900 dark:via-purple-900/10 dark:to-slate-900\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (0,_lib_utils__WEBPACK_IMPORTED_MODULE_5__.cn)(\"shrink-0 transition-all duration-300 overflow-hidden\", \"bg-[hsl(var(--neo-bg))] backdrop-blur-xl border-r border-gray-200 dark:bg-slate-900/95 dark:backdrop-blur-2xl dark:border-slate-700/50\", showSidebar ? \"w-[280px]\" : \"w-0\"),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"p-4 space-y-3\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center justify-between mb-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-[14px] font-bold text-gray-800 dark:text-white\",\n children: \"会话历史\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 382,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n onClick: ()=>setShowSidebar(false),\n className: \"h-8 w-8 rounded-xl neo-button hover:text-blue-600 dark:hover:bg-cyan-500/20 dark:border-transparent dark:hover:border-cyan-500/50 flex items-center justify-center transition-all duration-200 hover:scale-110\",\n title: \"关闭侧边栏\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Check_ChevronDown_ChevronLeft_History_Info_Plus_Square_Trash2_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_9__[\"default\"], {\n className: \"h-4 w-4 text-gray-500 dark:text-gray-400 dark:group-hover:text-cyan-400 transition-colors\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 390,\n columnNumber: 15\n }, this)\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 385,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 381,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n onClick: newSession,\n className: \"group w-full h-10 rounded-xl neo-button bg-gradient-to-r from-blue-500 to-indigo-500 hover:from-blue-600 hover:to-indigo-600 dark:from-cyan-600 dark:to-blue-600 dark:hover:from-cyan-500 dark:hover:to-blue-500 text-white text-[13px] font-semibold shadow-lg hover:shadow-blue-500/30 dark:hover:shadow-cyan-500/50 transition-all duration-200 hover:scale-[1.02] hover:-translate-y-0.5 flex items-center justify-center gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Check_ChevronDown_ChevronLeft_History_Info_Plus_Square_Trash2_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_10__[\"default\"], {\n className: \"h-4 w-4 transition-transform duration-200 group-hover:rotate-90\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 398,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: t(\"newSession\")\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 399,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 394,\n columnNumber: 11\n }, this),\n sessions.length > 0 && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n onClick: clearAllSessions,\n className: (0,_lib_utils__WEBPACK_IMPORTED_MODULE_5__.cn)(\"w-full h-8 rounded-xl text-[12px] font-medium transition-all duration-200 flex items-center justify-center gap-2 border hover:scale-[1.02]\", confirmClearAll ? \"bg-red-100 text-red-600 border-red-300 hover:bg-red-200 dark:bg-red-500/20 dark:text-red-400 dark:border-red-500/50 dark:hover:bg-red-500/30\" : \"neo-button text-gray-600 hover:text-red-600 dark:hover:bg-slate-800 dark:text-gray-400 dark:hover:text-red-400 border-transparent dark:hover:border-red-500/30\"),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Check_ChevronDown_ChevronLeft_History_Info_Plus_Square_Trash2_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_11__[\"default\"], {\n className: \"h-3.5 w-3.5 transition-transform duration-200 hover:rotate-12\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 412,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: confirmClearAll ? \"再次点击确认清空\" : \"清空全部历史\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 413,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 403,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 380,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_scroll_area__WEBPACK_IMPORTED_MODULE_4__.ScrollArea, {\n className: \"h-[calc(100vh-10rem)]\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"px-3 pb-3 space-y-2\",\n children: sessions.length === 0 ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-center py-12\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-16 h-16 mx-auto mb-4 rounded-2xl neo-card bg-white dark:bg-slate-800 border-gray-200 dark:border-slate-700 flex items-center justify-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Check_ChevronDown_ChevronLeft_History_Info_Plus_Square_Trash2_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_12__[\"default\"], {\n className: \"h-7 w-7 text-gray-400 dark:text-slate-500\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 423,\n columnNumber: 19\n }, this)\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 422,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-[13px] text-gray-500\",\n children: t(\"noSessions\")\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 425,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 421,\n columnNumber: 15\n }, this) : sessions.map((s)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative group\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n type: \"button\",\n onClick: ()=>loadSession(s.session_file),\n className: (0,_lib_utils__WEBPACK_IMPORTED_MODULE_5__.cn)(\"w-full text-left px-3 py-3 rounded-xl transition-all duration-200 border hover:scale-[1.02] hover:-translate-y-0.5\", s.session_file === currentSessionFile ? \"neo-card-inset bg-blue-50 text-blue-700 border-blue-200 dark:bg-gradient-to-r dark:from-cyan-600/20 dark:to-blue-600/20 dark:border-cyan-500/50 dark:shadow-lg dark:shadow-cyan-500/20\" : \"neo-button text-gray-700 dark:border-slate-700/50 dark:hover:border-cyan-500/30 dark:hover:bg-slate-800/50\"),\n children: [\n s.session_file === currentSessionFile && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute left-0 top-1/2 -translate-y-1/2 w-1 h-8 bg-gradient-to-b from-blue-500 to-indigo-500 dark:from-cyan-400 dark:to-blue-500 rounded-r-full shadow-lg dark:shadow-cyan-500/50\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 440,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: (0,_lib_utils__WEBPACK_IMPORTED_MODULE_5__.cn)(\"text-[13px] truncate leading-snug transition-colors\", s.session_file === currentSessionFile ? \"font-bold text-cyan-400\" : \"font-medium text-gray-300 group-hover:text-white\"),\n children: s.title\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 442,\n columnNumber: 19\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-[11px] text-gray-500 mt-1 flex items-center gap-1.5 group-hover:text-gray-400 transition-colors\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"w-1 h-1 rounded-full bg-cyan-500\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 451,\n columnNumber: 21\n }, this),\n new Date(s.created_at).toLocaleDateString(locale)\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 450,\n columnNumber: 19\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 429,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n type: \"button\",\n onClick: (e)=>deleteSession(e, s.id, s.session_file),\n className: \"absolute right-2 top-1/2 -translate-y-1/2 opacity-0 group-hover:opacity-100 h-7 w-7 rounded-lg hover:bg-red-500/20 text-gray-500 hover:text-red-400 flex items-center justify-center transition-all duration-200 border border-transparent hover:border-red-500/50 hover:scale-110\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Check_ChevronDown_ChevronLeft_History_Info_Plus_Square_Trash2_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_11__[\"default\"], {\n className: \"h-3.5 w-3.5\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 460,\n columnNumber: 19\n }, this)\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 455,\n columnNumber: 17\n }, this)\n ]\n }, s.id, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 428,\n columnNumber: 15\n }, this))\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 419,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 418,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 375,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex flex-1 flex-col min-w-0\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center h-[56px] px-4 shrink-0 glass-effect border-b border-purple-500/20\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n onClick: ()=>{\n setShowSidebar(true);\n setShowInfoPanel(false);\n },\n className: \"h-9 w-9 rounded-lg hover:bg-white/10 flex items-center justify-center transition-all hover:scale-110 border border-transparent hover:border-purple-500/30\",\n title: \"打开历史记录\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Check_ChevronDown_ChevronLeft_History_Info_Plus_Square_Trash2_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_12__[\"default\"], {\n className: \"h-4 w-4 text-cyan-400\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 477,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 472,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex-1 flex items-center justify-center gap-3\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"h-10 w-10 rounded-xl bg-gradient-to-br from-purple-600/30 to-cyan-500/30 flex items-center justify-center text-2xl shadow-lg neon-glow-purple border border-purple-500/30\",\n children: agent.avatar\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 481,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-[16px] font-bold bg-gradient-to-r from-cyan-400 to-purple-400 bg-clip-text text-transparent\",\n children: agent.name\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 484,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 480,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-2\",\n children: [\n compacting && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-2 px-3 py-1.5 rounded-full glass-effect border border-cyan-500/30\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-2 h-2 rounded-full bg-cyan-400 animate-pulse neon-glow\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 492,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-[11px] font-semibold text-cyan-400\",\n children: \"压缩中\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 493,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 491,\n columnNumber: 15\n }, this),\n sessionStats?.contextUsage && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-2 px-3 py-1.5 rounded-full glass-effect border border-purple-500/30\",\n title: `Context: ${ctxPct}%`,\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"h-1.5 w-16 rounded-full bg-white/10 overflow-hidden\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (0,_lib_utils__WEBPACK_IMPORTED_MODULE_5__.cn)(\"h-full rounded-full transition-all duration-500\", ctxColor),\n style: {\n width: `${ctxPct}%`\n }\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 500,\n columnNumber: 19\n }, this)\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 499,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-[11px] font-semibold text-gray-300\",\n children: [\n ctxPct,\n \"%\"\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 502,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 498,\n columnNumber: 15\n }, this),\n streaming && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n onClick: stopStreaming,\n className: \"h-9 w-9 rounded-lg hover:bg-red-500/20 text-red-400 flex items-center justify-center transition-all hover:scale-110 border border-transparent hover:border-red-500/50\",\n title: \"停止生成\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Check_ChevronDown_ChevronLeft_History_Info_Plus_Square_Trash2_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_13__[\"default\"], {\n className: \"h-4 w-4 fill-current\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 512,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 507,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n onClick: ()=>{\n setShowInfoPanel(!showInfoPanel);\n setShowSidebar(false);\n },\n className: (0,_lib_utils__WEBPACK_IMPORTED_MODULE_5__.cn)(\"h-9 w-9 rounded-lg flex items-center justify-center transition-all hover:scale-110 border\", showInfoPanel ? \"bg-purple-500/20 text-purple-400 border-purple-500/50 neon-glow-purple\" : \"hover:bg-white/10 text-gray-400 border-transparent hover:border-purple-500/30\"),\n title: \"数字人信息 & Skills\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Check_ChevronDown_ChevronLeft_History_Info_Plus_Square_Trash2_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_14__[\"default\"], {\n className: \"h-4 w-4\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 526,\n columnNumber: 15\n }, this)\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 516,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 489,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 471,\n columnNumber: 9\n }, this),\n sessionStats && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center justify-center gap-3 px-4 py-2 glass-effect border-b border-purple-500/20 text-[11px] shrink-0\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-1.5 px-2.5 py-1 rounded-lg bg-cyan-500/10 border border-cyan-500/30\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-cyan-400 font-semibold\",\n children: \"↑\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 535,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"font-bold text-cyan-300\",\n children: sessionStats.tokens.input.toLocaleString()\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 536,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 534,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-1.5 px-2.5 py-1 rounded-lg bg-purple-500/10 border border-purple-500/30\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-purple-400 font-semibold\",\n children: \"↓\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 539,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"font-bold text-purple-300\",\n children: sessionStats.tokens.output.toLocaleString()\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 540,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 538,\n columnNumber: 13\n }, this),\n sessionStats.cost > 0 && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-1.5 px-2.5 py-1 rounded-lg bg-green-500/10 border border-green-500/30\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"font-bold text-green-300\",\n children: [\n \"≈ $\",\n sessionStats.cost.toFixed(4)\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 544,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 543,\n columnNumber: 15\n }, this),\n sessionStats.contextUsage && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (0,_lib_utils__WEBPACK_IMPORTED_MODULE_5__.cn)(\"flex items-center gap-1.5 px-2.5 py-1 rounded-lg border\", ctxPct > 80 ? \"bg-red-500/10 border-red-500/30 text-red-400\" : \"bg-white/5 border-white/10 text-gray-300\"),\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"font-bold\",\n children: [\n \"context \",\n ctxPct,\n \"% / \",\n sessionStats.contextUsage.contextWindow.toLocaleString()\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 554,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 548,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 533,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex flex-1 min-h-0\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex flex-col flex-1 min-w-0 relative\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n ref: chatScrollRef,\n onScroll: handleScroll,\n className: \"flex-1 overflow-y-auto bg-white dark:bg-slate-900/50\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"py-4 space-y-1\",\n children: [\n messages.length === 0 && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex justify-center mt-20 mb-4 text-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"max-w-sm\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative w-24 h-24 mx-auto mb-6\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute inset-0 bg-gradient-to-r from-blue-400/20 to-indigo-400/20 dark:from-purple-600/30 dark:to-cyan-500/30 blur-2xl animate-pulse\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 573,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative w-24 h-24 rounded-2xl neo-card bg-gradient-to-br from-blue-100 to-indigo-100 dark:from-purple-600/20 dark:to-cyan-500/20 border-2 border-blue-200 dark:border-purple-500/30 flex items-center justify-center text-5xl neon-glow-purple\",\n children: agent.avatar\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 574,\n columnNumber: 25\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 572,\n columnNumber: 23\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-[18px] font-bold text-gray-800 dark:bg-gradient-to-r dark:from-cyan-400 dark:to-purple-400 dark:bg-clip-text dark:text-transparent mb-3\",\n children: agent.name\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 578,\n columnNumber: 23\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-[13px] text-gray-600 dark:text-gray-400 leading-relaxed px-4\",\n children: agent.description || t(\"welcomeTitle\")\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 581,\n columnNumber: 23\n }, this),\n effectiveSkills.length > 0 && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex flex-wrap justify-center gap-2 mt-4\",\n children: effectiveSkills.map((s)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"inline-flex items-center gap-1.5 text-[11px] px-3 py-1.5 rounded-lg glass-effect border border-purple-500/30 text-purple-300 font-medium\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Check_ChevronDown_ChevronLeft_History_Info_Plus_Square_Trash2_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_15__[\"default\"], {\n className: \"h-3 w-3 text-cyan-400\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 588,\n columnNumber: 31\n }, this),\n s\n ]\n }, s, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 587,\n columnNumber: 29\n }, this))\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 585,\n columnNumber: 25\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 571,\n columnNumber: 21\n }, this)\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 570,\n columnNumber: 19\n }, this),\n messages.map((msg, i)=>{\n const isStreamingEmpty = streaming && i === messages.length - 1 && msg.role === \"assistant\" && msg.content === \"\" && !msg.toolCalls?.length;\n if (isStreamingEmpty) return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_chat_message_bubble__WEBPACK_IMPORTED_MODULE_2__.TypingBubble, {\n agentAvatar: agent.avatar\n }, msg.id, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 599,\n columnNumber: 48\n }, this);\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_chat_message_bubble__WEBPACK_IMPORTED_MODULE_2__.MessageBubble, {\n message: msg,\n agentName: agent.name,\n agentAvatar: agent.avatar,\n showTimestamp: shouldShowTimestamp(i),\n onRetry: msg.role === \"assistant\" ? handleRetry : undefined,\n onFork: msg.role === \"assistant\" ? handleFork : undefined,\n onSpeak: msg.role === \"assistant\" ? (text)=>setPendingTTS(text) : undefined\n }, msg.id, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 601,\n columnNumber: 21\n }, this);\n }),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n ref: bottomRef,\n className: \"h-2\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 608,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 568,\n columnNumber: 15\n }, this)\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 566,\n columnNumber: 13\n }, this),\n showScrollBtn && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n type: \"button\",\n onClick: ()=>{\n bottomRef.current?.scrollIntoView({\n behavior: \"smooth\"\n });\n setShowScrollBtn(false);\n },\n className: \"absolute bottom-24 right-6 z-10 h-11 w-11 rounded-full glass-effect border border-cyan-500/50 flex items-center justify-center hover:scale-110 transition-all neon-glow shadow-xl\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Check_ChevronDown_ChevronLeft_History_Info_Plus_Square_Trash2_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_16__[\"default\"], {\n className: \"h-5 w-5 text-cyan-400\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 619,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 614,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_chat_input_bar__WEBPACK_IMPORTED_MODULE_3__.InputBar, {\n onSend: sendMessage,\n disabled: streaming,\n isStreaming: streaming,\n voiceEnabled: agent.voice.enabled,\n voiceSpeed: agent.voice.speed,\n agentLanguage: agent.persona.language,\n ttsProvider: agent.voice.ttsProvider,\n ttsModel: agent.voice.ttsModel,\n voiceId: agent.voice.voiceId,\n pendingReply: pendingTTS,\n onSpeakDone: ()=>setPendingTTS(undefined),\n installedSkills: installedSkills,\n onNewSession: newSession,\n onClearMessages: ()=>setMessages([]),\n currentModel: sessionModel ?? {\n provider: agent.model.provider,\n modelId: agent.model.modelId\n },\n onModelChange: (provider, modelId)=>setSessionModel({\n provider,\n modelId\n })\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 624,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 564,\n columnNumber: 11\n }, this),\n showInfoPanel && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-[320px] shrink-0 border-l border-purple-500/20 glass-effect flex flex-col overflow-hidden\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"px-4 py-3 border-b border-purple-500/20 flex items-center justify-between\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-[14px] font-bold bg-gradient-to-r from-cyan-400 to-purple-400 bg-clip-text text-transparent\",\n children: \"数字人信息\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 641,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n onClick: ()=>setShowInfoPanel(false),\n className: \"h-8 w-8 rounded-lg hover:bg-white/10 flex items-center justify-center transition-all hover:scale-110\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Check_ChevronDown_ChevronLeft_History_Info_Plus_Square_Trash2_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_9__[\"default\"], {\n className: \"h-4 w-4 text-cyan-400\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 648,\n columnNumber: 19\n }, this)\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 644,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 640,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_scroll_area__WEBPACK_IMPORTED_MODULE_4__.ScrollArea, {\n className: \"flex-1\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"p-4 space-y-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-start gap-3 p-3 rounded-xl glass-effect border border-purple-500/30 neon-glow-purple\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"h-12 w-12 rounded-xl bg-gradient-to-br from-purple-600/30 to-cyan-500/30 flex items-center justify-center text-2xl shrink-0 border border-purple-500/30\",\n children: agent.avatar\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 656,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex-1 min-w-0\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"font-bold text-[13px] bg-gradient-to-r from-cyan-400 to-purple-400 bg-clip-text text-transparent\",\n children: agent.name\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 660,\n columnNumber: 23\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-[11px] text-gray-400 mt-1 leading-relaxed\",\n children: agent.description || \"暂无描述\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 663,\n columnNumber: 23\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 659,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 655,\n columnNumber: 19\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-[11px] font-bold text-cyan-400 uppercase tracking-wide\",\n children: \"当前模型\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 671,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"rounded-xl glass-effect border border-cyan-500/30 p-3\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-[12px] font-mono font-bold text-cyan-300\",\n children: [\n agent.model.provider,\n \" / \",\n agent.model.modelId\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 675,\n columnNumber: 23\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex gap-2 mt-2 flex-wrap\",\n children: [\n agent.model.thinkingLevel !== \"off\" && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-[10px] px-2 py-1 rounded-md glass-effect border border-purple-500/30 text-purple-300 font-medium\",\n children: [\n \"\\uD83E\\uDDE0 \",\n agent.model.thinkingLevel\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 680,\n columnNumber: 27\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-[10px] px-2 py-1 rounded-md glass-effect border border-cyan-500/30 text-cyan-300 font-medium\",\n children: [\n \"temp \",\n agent.model.temperature\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 684,\n columnNumber: 25\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 678,\n columnNumber: 23\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 674,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 670,\n columnNumber: 19\n }, this),\n sessionStats && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-[11px] font-bold text-purple-400 uppercase tracking-wide\",\n children: \"本次会话用量\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 694,\n columnNumber: 23\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"rounded-xl glass-effect border border-purple-500/30 p-3 space-y-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex justify-between text-[11px] items-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-gray-400\",\n children: \"输入 tokens\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 699,\n columnNumber: 27\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"font-mono font-bold text-cyan-300\",\n children: sessionStats.tokens.input.toLocaleString()\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 700,\n columnNumber: 27\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 698,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex justify-between text-[11px] items-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-gray-400\",\n children: \"输出 tokens\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 703,\n columnNumber: 27\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"font-mono font-bold text-purple-300\",\n children: sessionStats.tokens.output.toLocaleString()\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 704,\n columnNumber: 27\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 702,\n columnNumber: 25\n }, this),\n sessionStats.cost > 0 && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex justify-between text-[11px] items-center pt-2 border-t border-white/10\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-gray-400\",\n children: \"费用\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 708,\n columnNumber: 29\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"font-mono font-bold text-green-300\",\n children: [\n \"$\",\n sessionStats.cost.toFixed(4)\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 709,\n columnNumber: 29\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 707,\n columnNumber: 27\n }, this),\n sessionStats.contextUsage && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-1.5 pt-2 border-t border-white/10\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex justify-between text-[11px] items-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-gray-400\",\n children: \"Context 用量\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 715,\n columnNumber: 31\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: (0,_lib_utils__WEBPACK_IMPORTED_MODULE_5__.cn)(\"font-mono font-bold\", ctxPct > 80 ? \"text-red-400\" : \"text-cyan-300\"),\n children: [\n ctxPct,\n \"%\"\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 716,\n columnNumber: 31\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 714,\n columnNumber: 29\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"h-1.5 w-full rounded-full bg-white/10 overflow-hidden\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (0,_lib_utils__WEBPACK_IMPORTED_MODULE_5__.cn)(\"h-full rounded-full transition-all duration-500\", ctxColor),\n style: {\n width: `${ctxPct}%`\n }\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 721,\n columnNumber: 31\n }, this)\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 720,\n columnNumber: 29\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 713,\n columnNumber: 27\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 697,\n columnNumber: 23\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 693,\n columnNumber: 21\n }, this),\n Object.entries(agent.tools).some(([, v])=>v) && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-[11px] font-bold text-green-400 uppercase tracking-wide\",\n children: \"已开启工具\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 732,\n columnNumber: 23\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex flex-wrap gap-2\",\n children: Object.entries(agent.tools).filter(([, v])=>v).map(([k])=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-[11px] px-3 py-1 rounded-lg glass-effect border border-green-500/30 text-green-300 font-medium\",\n children: k\n }, k, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 737,\n columnNumber: 27\n }, this))\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 735,\n columnNumber: 23\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 731,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center justify-between\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-[11px] font-bold text-cyan-400 uppercase tracking-wide\",\n children: [\n \"Skills \",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"normal-case font-normal text-[10px] text-gray-500\",\n children: \"(本次会话)\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 752,\n columnNumber: 32\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 751,\n columnNumber: 23\n }, this),\n sessionSkills !== null && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n type: \"button\",\n onClick: ()=>setSessionSkills(null),\n className: \"text-[10px] text-purple-400 hover:text-purple-300 font-medium transition-colors\",\n children: \"重置\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 755,\n columnNumber: 25\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 750,\n columnNumber: 21\n }, this),\n installedSkills.length === 0 ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-center py-8 px-4 rounded-xl glass-effect border border-dashed border-purple-500/30\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Check_ChevronDown_ChevronLeft_History_Info_Plus_Square_Trash2_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_15__[\"default\"], {\n className: \"h-8 w-8 mx-auto mb-2 text-purple-400\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 766,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-[11px] text-gray-400\",\n children: \"还没有安装任何 Skill\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 767,\n columnNumber: 25\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 765,\n columnNumber: 23\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-2\",\n children: installedSkills.map((skill)=>{\n const enabled = effectiveSkills.includes(skill.name);\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n type: \"button\",\n onClick: ()=>toggleSessionSkill(skill.name),\n className: (0,_lib_utils__WEBPACK_IMPORTED_MODULE_5__.cn)(\"w-full flex items-center gap-2.5 rounded-xl px-3 py-2.5 text-left transition-all border\", enabled ? \"glass-effect border-purple-500/50 neon-glow-purple\" : \"border-white/10 hover:border-purple-500/30 hover:bg-white/5\"),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (0,_lib_utils__WEBPACK_IMPORTED_MODULE_5__.cn)(\"h-5 w-5 rounded-lg shrink-0 flex items-center justify-center transition-all border\", enabled ? \"bg-gradient-to-br from-purple-600 to-cyan-500 border-purple-500/50\" : \"bg-white/10 border-white/20\"),\n children: enabled && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Check_ChevronDown_ChevronLeft_History_Info_Plus_Square_Trash2_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_17__[\"default\"], {\n className: \"h-3 w-3 text-white stroke-[3]\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 793,\n columnNumber: 45\n }, this)\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 785,\n columnNumber: 31\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"min-w-0 flex-1\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: (0,_lib_utils__WEBPACK_IMPORTED_MODULE_5__.cn)(\"text-[11px] font-mono font-bold truncate\", enabled ? \"text-cyan-400\" : \"text-gray-300\"),\n children: skill.name\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 796,\n columnNumber: 33\n }, this),\n skill.description && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-[10px] text-gray-500 truncate mt-0.5\",\n children: skill.description\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 800,\n columnNumber: 35\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 795,\n columnNumber: 31\n }, this)\n ]\n }, skill.name, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 774,\n columnNumber: 29\n }, this);\n })\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 770,\n columnNumber: 23\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 749,\n columnNumber: 19\n }, this),\n agent.systemPrompt && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-[11px] font-bold text-purple-400 uppercase tracking-wide\",\n children: \"人设提示词\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 815,\n columnNumber: 23\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"rounded-xl glass-effect border border-purple-500/30 p-3\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-[11px] text-gray-400 leading-relaxed line-clamp-6 whitespace-pre-wrap\",\n children: agent.systemPrompt\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 819,\n columnNumber: 25\n }, this)\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 818,\n columnNumber: 23\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 814,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 653,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 652,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 639,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 563,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 469,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\",\n lineNumber: 373,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvYXBwL1tsb2NhbGVdL2FnZW50cy9baWRdL2NoYXQvcGFnZS50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFaUU7QUFDckI7QUFDTjtBQUdoQjtBQUd5RDtBQUN4QjtBQUNFO0FBQ3hCO0FBQ0c7QUFDTTtBQU8xQyxNQUFNdUIsbUJBQW1CLElBQUksS0FBSztBQUVuQixTQUFTQyxTQUFTLEVBQUVDLE1BQU0sRUFBdUM7SUFDOUUsTUFBTUMsSUFBSXRCLDBEQUFlQSxDQUFDO0lBQzFCLE1BQU11QixTQUFTdEIsb0RBQVNBO0lBRXhCLE1BQU0sQ0FBQ3VCLFNBQVNDLFdBQVcsR0FBRzVCLCtDQUFRQSxDQUFDO0lBQ3ZDLE1BQU0sQ0FBQzZCLE9BQU9DLFNBQVMsR0FBRzlCLCtDQUFRQSxDQUFzQjtJQUN4RCxNQUFNLENBQUMrQixVQUFVQyxZQUFZLEdBQUdoQywrQ0FBUUEsQ0FBZ0IsRUFBRTtJQUMxRCxNQUFNLENBQUNpQyxVQUFVQyxZQUFZLEdBQUdsQywrQ0FBUUEsQ0FBZ0IsRUFBRTtJQUMxRCxNQUFNLENBQUNtQyxvQkFBb0JDLHNCQUFzQixHQUFHcEMsK0NBQVFBO0lBQzVELE1BQU0sQ0FBQ3FDLFdBQVdDLGFBQWEsR0FBR3RDLCtDQUFRQSxDQUFDO0lBQzNDLE1BQU0sQ0FBQ3VDLGFBQWFDLGVBQWUsR0FBR3hDLCtDQUFRQSxDQUFDO0lBQy9DLE1BQU0sQ0FBQ3lDLGVBQWVDLGlCQUFpQixHQUFHMUMsK0NBQVFBLENBQUM7SUFDbkQsTUFBTSxDQUFDMkMsWUFBWUMsY0FBYyxHQUFHNUMsK0NBQVFBO0lBQzVDLE1BQU0sQ0FBQzZDLFlBQVlDLGNBQWMsR0FBRzlDLCtDQUFRQSxDQUFDO0lBQzdDLE1BQU0sQ0FBQytDLGNBQWNDLGdCQUFnQixHQUFHaEQsK0NBQVFBLENBQXNCO0lBQ3RFLE1BQU0sQ0FBQ2lELGVBQWVDLGlCQUFpQixHQUFHbEQsK0NBQVFBLENBQUM7SUFDbkQsTUFBTSxDQUFDbUQsaUJB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Ozs7OzttRUExQm5CMEcsTUFBTS9HLElBQUk7Ozs7OzREQWdDckI7Ozs7Ozs7Ozs7OztnREFNTHpILE1BQU15TyxZQUFZLGtCQUNqQiw4REFBQzdEO29EQUFJQyxXQUFVOztzRUFDYiw4REFBQ1c7NERBQUVYLFdBQVU7c0VBQWdFOzs7Ozs7c0VBRzdFLDhEQUFDRDs0REFBSUMsV0FBVTtzRUFDYiw0RUFBQ1c7Z0VBQUVYLFdBQVU7MEVBQ1Y3SyxNQUFNeU8sWUFBWTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWE3QyIsInNvdXJjZXMiOlsiL1VzZXJzL2R1YW4vZmlsZXMvcGktd2ViL2RpZ2l0YWwtYWdlbnQtcGxhdGZvcm0vc3JjL2FwcC9bbG9jYWxlXS9hZ2VudHMvW2lkXS9jaGF0L3BhZ2UudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIGNsaWVudFwiO1xuXG5pbXBvcnQgeyB1c2VFZmZlY3QsIHVzZVN0YXRlLCB1c2VSZWYsIHVzZUNhbGxiYWNrIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbnMgfSBmcm9tIFwibmV4dC1pbnRsXCI7XG5pbXBvcnQgeyB1c2VMb2NhbGUgfSBmcm9tIFwibmV4dC1pbnRsXCI7XG5pbXBvcnQge1xuICBQbHVzLCBIaXN0b3J5LCBDaGV2cm9uTGVmdCwgQ2hldnJvbkRvd24sIEluZm8sIFphcCwgQ2hlY2ssIFRyYXNoMiwgU3F1YXJlLFxufSBmcm9tIFwibHVjaWRlLXJlYWN0XCI7XG5pbXBvcnQgdHlwZSB7IERpZ2l0YWxBZ2VudCwgQ2hhdE1lc3NhZ2UsIEFnZW50Q2hhdEV2ZW50LCBUb29sQ2FsbCwgU2Vzc2lvblN0YXRzLCBBdHRhY2hlZEltYWdlIH0gZnJvbSBcIkAvdHlwZXMvYWdlbnRcIjtcbmltcG9ydCB0eXBlIHsgU2VuZE1vZGUgfSBmcm9tIFwiQC9jb21wb25lbnRzL2NoYXQvaW5wdXQtYmFyXCI7XG5pbXBvcnQgeyBNZXNzYWdlQnViYmxlLCBUeXBpbmdCdWJibGUgfSBmcm9tIFwiQC9jb21wb25lbnRzL2NoYXQvbWVzc2FnZS1idWJibGVcIjtcbmltcG9ydCB7IElucHV0QmFyIH0gZnJvbSBcIkAvY29tcG9uZW50cy9jaGF0L2lucHV0LWJhclwiO1xuaW1wb3J0IHsgU2Nyb2xsQXJlYSB9IGZyb20gXCJAL2NvbXBvbmVudHMvdWkvc2Nyb2xsLWFyZWFcIjtcbmltcG9ydCB7IGNuIH0gZnJvbSBcIkAvbGliL3V0aWxzXCI7XG5pbXBvcnQgeyB2NCBhcyB1dWlkdjQgfSBmcm9tIFwidXVpZFwiO1xuaW1wb3J0IHsgdG9hc3QgfSBmcm9tIFwiQC9ob29rcy91c2UtdG9hc3RcIjtcbmltcG9ydCB0eXBlIHsgU2tpbGxJbmZvIH0gZnJvbSBcIkAvbGliL3NraWxsc1wiO1xuXG5pbnRlcmZhY2UgU2Vzc2lvbkluZm8ge1xuICBpZDogc3RyaW5nOyB0aXRsZTogc3RyaW5nOyBzZXNzaW9uX2ZpbGU6IHN0cmluZzsgY3JlYXRlZF9hdDogbnVtYmVyO1xufVxuXG5jb25zdCBUSU1FU1RBTVBfR0FQX01TID0gNSAqIDYwICogMTAwMDtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gQ2hhdFBhZ2UoeyBwYXJhbXMgfTogeyBwYXJhbXM6IFByb21pc2U8eyBpZDogc3RyaW5nIH0+IH0pIHtcbiAgY29uc3QgdCA9IHVzZVRyYW5zbGF0aW9ucyhcImNoYXRcIik7XG4gIGNvbnN0IGxvY2FsZSA9IHVzZUxvY2FsZSgpO1xuXG4gIGNvbnN0IFthZ2VudElkLCBzZXRBZ2VudElkXSA9IHVzZVN0YXRlKFwiXCIpO1xuICBjb25zdCBbYWdlbnQsIHNldEFnZW50XSA9IHVzZVN0YXRlPERpZ2l0YWxBZ2VudCB8IG51bGw+KG51bGwpO1xuICBjb25zdCBbbWVzc2FnZXMsIHNldE1lc3NhZ2VzXSA9IHVzZVN0YXRlPENoYXRNZXNzYWdlW10+KFtdKTtcbiAgY29uc3QgW3Nlc3Npb25zLCBzZXRTZXNzaW9uc10gPSB1c2VTdGF0ZTxTZXNzaW9uSW5mb1tdPihbXSk7XG4gIGNvbnN0IFtjdXJyZW50U2Vzc2lvbkZpbGUsIHNldEN1cnJlbnRTZXNzaW9uRmlsZV0gPSB1c2VTdGF0ZTxzdHJpbmcgfCB1bmRlZmluZWQ+KCk7XG4gIGNvbnN0IFtzdHJlYW1pbmcsIHNldFN0cmVhbWluZ10gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IFtzaG93U2lkZWJhciwgc2V0U2hvd1NpZGViYXJdID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCBbc2hvd0luZm9QYW5lbCwgc2V0U2hvd0luZm9QYW5lbF0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IFtwZW5kaW5nVFRTLCBzZXRQZW5kaW5nVFRTXSA9IHVzZVN0YXRlPHN0cmluZyB8IHVuZGVmaW5lZD4oKTtcbiAgY29uc3QgW2NvbXBhY3RpbmcsIHNldENvbXBhY3RpbmddID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCBbc2Vzc2lvblN0YXRzLCBzZXRTZXNzaW9uU3RhdHNdID0gdXNlU3RhdGU8U2Vzc2lvblN0YXRzIHwgbnVsbD4obnVsbCk7XG4gIGNvbnN0IFtzaG93U2Nyb2xsQnRuLCBzZXRTaG93U2Nyb2xsQnRuXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgW2NvbmZpcm1DbGVhckFsbCwgc2V0Q29uZmlybUNsZWFyQWxsXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgW3BlbmRpbmdGb2xsb3d1cCwgc2V0UGVuZGluZ0ZvbGxvd3VwXSA9IHVzZVN0YXRlPHN0cmluZyB8IG51bGw+KG51bGwpO1xuICBjb25zdCBbc2Vzc2lvblNraWxscywgc2V0U2Vzc2lvblNraWxsc10gPSB1c2VTdGF0ZTxzdHJpbmdbXSB8IG51bGw+KG51bGwpO1xuICBjb25zdCBbaW5zdGFsbGVkU2tpbGxzLCBzZXRJbnN0YWxsZWRTa2lsbHNdID0gdXNlU3RhdGU8U2tpbGxJbmZvW10+KFtdKTtcbiAgLy8gbnVsbCA9IHVzZSBhZ2VudCdzIGNvbmZpZ3VyZWQgbW9kZWw7IHNldCB0byBvdmVycmlkZSBmb3IgdGhpcyBzZXNzaW9uXG4gIGNvbnN0IFtzZXNzaW9uTW9kZWwsIHNldFNlc3Npb25Nb2RlbF0gPSB1c2VTdGF0ZTx7IHByb3ZpZGVyOiBzdHJpbmc7IG1vZGVsSWQ6IHN0cmluZyB9IHwgbnVsbD4obnVsbCk7XG5cbiAgY29uc3QgYm90dG9tUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcbiAgY29uc3QgY2hhdFNjcm9sbFJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG4gIGNvbnN0IGFib3J0Q29udHJvbGxlclJlZiA9IHVzZVJlZjxBYm9ydENvbnRyb2xsZXIgfCBudWxsPihudWxsKTtcbiAgY29uc3QgcGVuZGluZ1N0ZWVyUmVmID0gdXNlUmVmPHN0cmluZyB8IG51bGw+KG51bGwpO1xuXG4gIC8vIHN0YWJsZSByZWZzIOKAlCBkb1NlbmQgc3RheXMgdGhlIHNhbWUgb2JqZWN0IGFjcm9zcyByZW5kZXJzXG4gIGNvbnN0IGFnZW50UmVmID0gdXNlUmVmKGFnZW50KTtcbiAgY29uc3QgYWdlbnRJZFJlZiA9IHVzZVJlZihhZ2VudElkKTtcbiAgY29uc3Qgc2Vzc2lvbkZpbGVSZWYgPSB1c2VSZWYoY3VycmVudFNlc3Npb25GaWxlKTtcbiAgY29uc3Qgc2Vzc2lvblNraWxsc1JlZiA9IHVzZVJlZihzZXNzaW9uU2tpbGxzKTtcbiAgY29uc3Qgc2Vzc2lvbk1vZGVsUmVmID0gdXNlUmVmKHNlc3Npb25Nb2RlbCk7XG4gIHVzZUVmZmVjdCgoKSA9PiB7IGFnZW50UmVmLmN1cnJlbnQgPSBhZ2VudDsgfSwgW2FnZW50XSk7XG4gIHVzZUVmZmVjdCgoKSA9PiB7IGFnZW50SWRSZWYuY3VycmVudCA9IGFnZW50SWQ7IH0sIFthZ2VudElkXSk7XG4gIHVzZUVmZmVjdCgoKSA9PiB7IHNlc3Npb25GaWxlUmVmLmN1cnJlbnQgPSBjdXJyZW50U2Vzc2lvbkZpbGU7IH0sIFtjdXJyZW50U2Vzc2lvbkZpbGVdKTtcbiAgdXNlRWZmZWN0KCgpID0+IHsgc2Vzc2lvblNraWxsc1JlZi5jdXJyZW50ID0gc2Vzc2lvblNraWxsczsgfSwgW3Nlc3Npb25Ta2lsbHNdKTtcbiAgdXNlRWZmZWN0KCgpID0+IHsgc2Vzc2lvbk1vZGVsUmVmLmN1cnJlbnQgPSBzZXNzaW9uTW9kZWw7IH0sIFtzZXNzaW9uTW9kZWxdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHBhcmFtcy50aGVuKGFzeW5jICh7IGlkIH0pID0+IHtcbiAgICAgIHNldEFnZW50SWQoaWQpO1xuICAgICAgY29uc3QgW2FnZW50UmVzLCBzZXNzUmVzLCBza2lsbHNSZXNdID0gYXdhaXQgUHJvbWlzZS5hbGwoW1xuICAgICAgICBmZXRjaChgL2FwaS9hZ2VudHMvJHtpZH1gKS50aGVuKChyKSA9PiByLmpzb24oKSksXG4gICAgICAgIGZldGNoKGAvYXBpL3Nlc3Npb25zLyR7aWR9YCkudGhlbigocikgPT4gci5qc29uKCkpLFxuICAgICAgICBmZXRjaChcIi9hcGkvc2tpbGxzXCIpLnRoZW4oKHIpID0+IHIuanNvbigpKSxcbiAgICAgIF0pO1xuICAgICAgc2V0QWdlbnQoYWdlbnRSZXMpO1xuICAgICAgc2V0U2Vzc2lvbnMoc2Vzc1Jlcyk7XG4gICAgICBzZXRJbnN0YWxsZWRTa2lsbHMoc2tpbGxzUmVzKTtcbiAgICB9KTtcbiAgfSwgW3BhcmFtc10pO1xuXG4gIC8vIGF1dG8tc2Nyb2xsIG9ubHkgd2hlbiBhbHJlYWR5IGF0IGJvdHRvbVxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghc2hvd1Njcm9sbEJ0bikge1xuICAgICAgYm90dG9tUmVmLmN1cnJlbnQ/LnNjcm9sbEludG9WaWV3KHsgYmVoYXZpb3I6IFwic21vb3RoXCIgfSk7XG4gICAgfVxuICB9LCBbbWVzc2FnZXMsIHN0cmVhbWluZywgc2hvd1Njcm9sbEJ0bl0pO1xuXG4gIGNvbnN0IGhhbmRsZVNjcm9sbCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBjb25zdCBlbCA9IGNoYXRTY3JvbGxSZWYuY3VycmVudDtcbiAgICBpZiAoIWVsKSByZXR1cm47XG4gICAgc2V0U2hvd1Njcm9sbEJ0bihlbC5zY3JvbGxIZWlnaHQgLSBlbC5zY3JvbGxUb3AgLSBlbC5jbGllbnRIZWlnaHQgPiAxMjApO1xuICB9LCBbXSk7XG5cbiAgY29uc3QgZWZmZWN0aXZlU2tpbGxzID0gc2Vzc2lvblNraWxscyA/PyAoYWdlbnQ/LmVuYWJsZWRTa2lsbHMgPz8gW10pO1xuXG4gIGNvbnN0IHN0b3BTdHJlYW1pbmcgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgYWJvcnRDb250cm9sbGVyUmVmLmN1cnJlbnQ/LmFib3J0KCk7XG4gICAgYWJvcnRDb250cm9sbGVyUmVmLmN1cnJlbnQgPSBudWxsO1xuICAgIHNldFN0cmVhbWluZyhmYWxzZSk7XG4gIH0sIFtdKTtcblxuICAvLyDilIDilIAgQ29yZSBzZW5kIChubyBtb2RlL3N0cmVhbWluZyBndWFyZCDigJQgY2FsbGVycyBoYW5kbGUgdGhhdCkg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4gIGNvbnN0IGRvU2VuZCA9IHVzZUNhbGxiYWNrKGFzeW5jICh0ZXh0OiBzdHJpbmcsIGltYWdlcz86IEF0dGFjaGVkSW1hZ2VbXSkgPT4ge1xuICAgIGNvbnN0IGFnID0gYWdlbnRSZWYuY3VycmVudDtcbiAgICBjb25zdCBhaWQgPSBhZ2VudElkUmVmLmN1cnJlbnQ7XG4gICAgaWYgKCFhZyB8fCAhYWlkKSByZXR1cm47XG5cbiAgICBjb25zdCB1c2VyTXNnOiBDaGF0TWVzc2FnZSA9IHsgaWQ6IHV1aWR2NCgpLCByb2xlOiBcInVzZXJcIiwgY29udGVudDogdGV4dCwgaW1hZ2VzLCBjcmVhdGVkQXQ6IG5ldyBEYXRlKCkgfTtcbiAgICBzZXRNZXNzYWdlcygocHJldikgPT4gWy4uLnByZXYsIHVzZXJNc2ddKTtcbiAgICBzZXRTdHJlYW1pbmcodHJ1ZSk7XG5cbiAgICBjb25zdCBhc3Npc3RhbnRJZCA9IHV1aWR2NCgpO1xuICAgIHNldE1lc3NhZ2VzKChwcmV2KSA9PiBbLi4ucHJldiwgeyBpZDogYXNzaXN0YW50SWQsIHJvbGU6IFwiYXNzaXN0YW50XCIsIGNvbnRlbnQ6IFwiXCIsIHRvb2xDYWxsczogW10sIGNyZWF0ZWRBdDogbmV3IERhdGUoKSB9XSk7XG5cbiAgICBjb25zdCB0b29sTWFwID0gbmV3IE1hcDxzdHJpbmcsIFRvb2xDYWxsPigpO1xuICAgIGNvbnN0IGFib3J0ID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuICAgIGFib3J0Q29udHJvbGxlclJlZi5jdXJyZW50ID0gYWJvcnQ7XG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzID0gYXdhaXQgZmV0Y2goYC9hcGkvY2hhdC8ke2FpZH1gLCB7XG4gICAgICAgIG1ldGhvZDogXCJQT1NUXCIsXG4gICAgICAgIGhlYWRlcnM6IHsgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIgfSxcbiAgICAgICAgc2lnbmFsOiBhYm9ydC5zaWduYWwsXG4gICAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICBtZXNzYWdlOiB0ZXh0LFxuICAgICAgICAgIHNlc3Npb25GaWxlOiBzZXNzaW9uRmlsZVJlZi5jdXJyZW50LFxuICAgICAgICAgIG92ZXJyaWRlU2tpbGxzOiBzZXNzaW9uU2tpbGxzUmVmLmN1cnJlbnQgPz8gdW5kZWZpbmVkLFxuICAgICAgICAgIG92ZXJyaWRlUHJvdmlkZXI6IHNlc3Npb25Nb2RlbFJlZi5jdXJyZW50Py5wcm92aWRlcixcbiAgICAgICAgICBvdmVycmlkZU1vZGVsSWQ6IHNlc3Npb25Nb2RlbFJlZi5jdXJyZW50Py5tb2RlbElkLFxuICAgICAgICAgIGltYWdlczogaW1hZ2VzPy5tYXAoaW1nID0+ICh7IGRhdGE6IGltZy5kYXRhLCBtaW1lVHlwZTogaW1nLm1pbWVUeXBlIH0pKSxcbiAgICAgICAgfSksXG4gICAgICB9KTtcbiAgICAgIGlmICghcmVzLm9rIHx8ICFyZXMuYm9keSkgdGhyb3cgbmV3IEVycm9yKGBIVFRQICR7cmVzLnN0YXR1c31gKTtcblxuICAgICAgY29uc3QgcmVhZGVyID0gcmVzLmJvZHkuZ2V0UmVhZGVyKCk7XG4gICAgICBjb25zdCBkZWNvZGVyID0gbmV3IFRleHREZWNvZGVyKCk7XG4gICAgICBsZXQgYnVmZmVyID0gXCJcIjtcbiAgICAgIHdoaWxlICh0cnVlKSB7XG4gICAgICAgIGNvbnN0IHsgZG9uZSwgdmFsdWUgfSA9IGF3YWl0IHJlYWRlci5yZWFkKCk7XG4gICAgICAgIGlmIChkb25lKSBicmVhaztcbiAgICAgICAgYnVmZmVyICs9IGRlY29kZXIuZGVjb2RlKHZhbHVlLCB7IHN0cmVhbTogdHJ1ZSB9KTtcbiAgICAgICAgY29uc3QgbGluZXMgPSBidWZmZXIuc3BsaXQoXCJcXG5cIik7XG4gICAgICAgIGJ1ZmZlciA9IGxpbmVzLnBvcCgpID8/IFwiXCI7XG4gICAgICAgIGZvciAoY29uc3QgbGluZSBvZiBsaW5lcykge1xuICAgICAgICAgIGlmICghbGluZS5zdGFydHNXaXRoKFwiZGF0YTogXCIpKSBjb250aW51ZTtcbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3QgZXY6IEFnZW50Q2hhdEV2ZW50ID0gSlNPTi5wYXJzZShsaW5lLnNsaWNlKDYpKTtcbiAgICAgICAgICAgIGhhbmRsZVNTRUV2ZW50KGV2LCBhc3Npc3RhbnRJZCwgdG9vbE1hcCwgdGV4dCwgYWcpO1xuICAgICAgICAgIH0gY2F0Y2ggeyAvKiBpZ25vcmUgKi8gfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgaWYgKChlIGFzIEVycm9yKS5uYW1lID09PSBcIkFib3J0RXJyb3JcIikgcmV0dXJuO1xuICAgICAgY29uc3QgbXNnID0gU3RyaW5nKGUpO1xuICAgICAgc2V0TWVzc2FnZXMoKHByZXYpID0+IHByZXYubWFwKChtKSA9PlxuICAgICAgICBtLmlkID09PSBhc3Npc3RhbnRJZCA/IHsgLi4ubSwgY29udGVudDogYOKaoO+4jyAke21zZ31gIH0gOiBtXG4gICAgICApKTtcbiAgICAgIHRvYXN0KHsgdGl0bGU6IFwi5Y+R6YCB5aSx6LSlXCIsIGRlc2NyaXB0aW9uOiBtc2csIHZhcmlhbnQ6IFwiZGVzdHJ1Y3RpdmVcIiB9KTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgYWJvcnRDb250cm9sbGVyUmVmLmN1cnJlbnQgPSBudWxsO1xuICAgICAgc2V0U3RyZWFtaW5nKGZhbHNlKTtcbiAgICB9XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHNcbiAgfSwgW10pO1xuXG4gIC8vIOKUgOKUgCBTU0UgZXZlbnQgaGFuZGxlciAobG9jYWwgdG8gZG9TZW5kIGNhbGwsIG5vdCBhIGhvb2spIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICBmdW5jdGlvbiBoYW5kbGVTU0VFdmVudChcbiAgICBldmVudDogQWdlbnRDaGF0RXZlbnQsXG4gICAgYXNzaXN0YW50SWQ6IHN0cmluZyxcbiAgICB0b29sTWFwOiBNYXA8c3RyaW5nLCBUb29sQ2FsbD4sXG4gICAgdXNlclRleHQ6IHN0cmluZyxcbiAgICBhZzogRGlnaXRhbEFnZW50LFxuICApIHtcbiAgICBzd2l0Y2ggKGV2ZW50LnR5cGUpIHtcbiAgICAgIGNhc2UgXCJtZXNzYWdlX3VwZGF0ZVwiOlxuICAgICAgICBzZXRNZXNzYWdlcygocHJldikgPT4gcHJldi5tYXAoKG0pID0+XG4gICAgICAgICAgbS5pZCA9PT0gYXNzaXN0YW50SWQgPyB7IC4uLm0sIGNvbnRlbnQ6IG0uY29udGVudCArIGV2ZW50LmRlbHRhIH0gOiBtKSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgLy8gRklYIEJ1ZzE6IHRoaW5raW5nX2RlbHRhIGFjY3VtdWxhdGlvblxuICAgICAgY2FzZSBcInRoaW5raW5nX2RlbHRhXCI6XG4gICAgICAgIHNldE1lc3NhZ2VzKChwcmV2KSA9PiBwcmV2Lm1hcCgobSkgPT5cbiAgICAgICAgICBtLmlkID09PSBhc3Npc3RhbnRJZCA/IHsgLi4ubSwgdGhpbmtpbmc6IChtLnRoaW5raW5nID8/IFwiXCIpICsgZXZlbnQuZGVsdGEgfSA6IG0pKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFwidG9vbF9zdGFydFwiOiB7XG4gICAgICAgIGNvbnN0IHRjOiBUb29sQ2FsbCA9IHsgaWQ6IGV2ZW50LnRvb2xDYWxsSWQsIG5hbWU6IGV2ZW50LnRvb2xOYW1lLCBpc0xvYWRpbmc6IHRydWUgfTtcbiAgICAgICAgdG9vbE1hcC5zZXQoZXZlbnQudG9vbENhbGxJZCwgdGMpO1xuICAgICAgICBzZXRNZXNzYWdlcygocHJldikgPT4gcHJldi5tYXAoKG0pID0+XG4gICAgICAgICAgbS5pZCA9PT0gYXNzaXN0YW50SWQgPyB7IC4uLm0sIHRvb2xDYWxsczogWy4uLihtLnRvb2xDYWxscyA/PyBbXSksIHRjXSB9IDogbSkpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgXCJ0b29sX3VwZGF0ZVwiOiB7XG4gICAgICAgIGNvbnN0IHRjID0gdG9vbE1hcC5nZXQoZXZlbnQudG9vbENhbGxJZCk7XG4gICAgICAgIGlmICh0Yykge1xuICAgICAgICAgIGNvbnN0IHUgPSB7IC4uLnRjLCBpbnB1dDogZXZlbnQuY29udGVudCB9O1xuICAgICAgICAgIHRvb2xNYXAuc2V0KGV2ZW50LnRvb2xDYWxsSWQsIHUpO1xuICAgICAgICAgIHNldE1lc3NhZ2VzKChwcmV2KSA9PiBwcmV2Lm1hcCgobSkgPT5cbiAgICAgICAgICAgIG0uaWQgPT09IGFzc2lzdGFudElkXG4gICAgICAgICAgICAgID8geyAuLi5tLCB0b29sQ2FsbHM6IG0udG9vbENhbGxzPy5tYXAoKHQpID0+IHQuaWQgPT09IGV2ZW50LnRvb2xDYWxsSWQgPyB1IDogdCkgfVxuICAgICAgICAgICAgICA6IG0pKTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgXCJ0b29sX2VuZFwiOiB7XG4gICAgICAgIGNvbnN0IHRjID0gdG9vbE1hcC5nZXQoZXZlbnQudG9vbENhbGxJZCk7XG4gICAgICAgIGlmICh0Yykge1xuICAgICAgICAgIGNvbnN0IHU6IFRvb2xDYWxsID0ge1xuICAgICAgICAgICAgLi4udGMsXG4gICAgICAgICAgICBpc0xvYWRpbmc6IGZhbHNlLFxuICAgICAgICAgICAgaXNFcnJvcjogZXZlbnQuaXNFcnJvcixcbiAgICAgICAgICAgIG91dHB1dDogZXZlbnQub3V0cHV0LFxuICAgICAgICAgICAgZnVsbE91dHB1dFBhdGg6IGV2ZW50LmZ1bGxPdXRwdXRQYXRoLFxuICAgICAgICAgICAgdHJ1bmNhdGVkOiBldmVudC50cnVuY2F0ZWQsXG4gICAgICAgICAgfTtcbiAgICAgICAgICB0b29sTWFwLnNldChldmVudC50b29sQ2FsbElkLCB1KTtcbiAgICAgICAgICBzZXRNZXNzYWdlcygocHJldikgPT4gcHJldi5tYXAoKG0pID0+XG4gICAgICAgICAgICBtLmlkID09PSBhc3Npc3RhbnRJZFxuICAgICAgICAgICAgICA/IHsgLi4ubSwgdG9vbENhbGxzOiBtLnRvb2xDYWxscz8ubWFwKCh0KSA9PiB0LmlkID09PSBldmVudC50b29sQ2FsbElkID8gdSA6IHQpIH1cbiAgICAgICAgICAgICAgOiBtKSk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlIFwiY29tcGFjdGlvbl9zdGFydFwiOiBzZXRDb21wYWN0aW5nKHRydWUpOyBicmVhaztcbiAgICAgIGNhc2UgXCJjb21wYWN0aW9uX2VuZFwiOiAgIHNldENvbXBhY3RpbmcoZmFsc2UpOyBicmVhaztcbiAgICAgIC8vIEZJWCBCdWc0OiBlcnJvciBldmVudFxuICAgICAgY2FzZSBcImVycm9yXCI6XG4gICAgICAgIHRvYXN0KHsgdGl0bGU6IFwi5a+56K+d5Ye66ZSZXCIsIGRlc2NyaXB0aW9uOiBldmVudC5tZXNzYWdlLCB2YXJpYW50OiBcImRlc3RydWN0aXZlXCIgfSk7XG4gICAgICAgIHNldE1lc3NhZ2VzKChwcmV2KSA9PiBwcmV2Lm1hcCgobSkgPT5cbiAgICAgICAgICBtLmlkID09PSBhc3Npc3RhbnRJZCAmJiAhbS5jb250ZW50ID8geyAuLi5tLCBjb250ZW50OiBg4pqg77iPICR7ZXZlbnQubWVzc2FnZX1gIH0gOiBtKSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgLy8gRklYIEJ1ZzU6IGFib3J0ZWQgZXZlbnRcbiAgICAgIGNhc2UgXCJhYm9ydGVkXCI6XG4gICAgICAgIHNldFN0cmVhbWluZyhmYWxzZSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgLy8gRklYIEJ1ZzY6IHNlc3Npb24gdGl0bGUgZnJvbSBhY3R1YWwgdXNlciBtZXNzYWdlXG4gICAgICBjYXNlIFwic2Vzc2lvbl9maWxlXCI6IHtcbiAgICAgICAgY29uc3Qgc2YgPSBldmVudC5wYXRoO1xuICAgICAgICBzZXRDdXJyZW50U2Vzc2lvbkZpbGUoc2YpO1xuICAgICAgICBjb25zdCB0aXRsZSA9IHVzZXJUZXh0LnNsaWNlKDAsIDYwKSB8fCBcIuaWsOWvueivnVwiO1xuICAgICAgICBzZXRTZXNzaW9ucygocHJldikgPT4ge1xuICAgICAgICAgIGlmIChwcmV2LmZpbmQoKHMpID0+IHMuc2Vzc2lvbl9maWxlID09PSBzZikpIHJldHVybiBwcmV2O1xuICAgICAgICAgIHJldHVybiBbeyBpZDogdXVpZHY0KCksIHRpdGxlLCBzZXNzaW9uX2ZpbGU6IHNmLCBjcmVhdGVkX2F0OiBEYXRlLm5vdygpIH0sIC4uLnByZXZdO1xuICAgICAgICB9KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICAvLyBORVc6IHNlc3Npb25fc3RhdHMgZGlzcGxheVxuICAgICAgY2FzZSBcInNlc3Npb25fc3RhdHNcIjpcbiAgICAgICAgc2V0U2Vzc2lvblN0YXRzKGV2ZW50LnN0YXRzKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFwiZG9uZVwiOlxuICAgICAgICAvLyDoh6rliqjmnJfor7vlip/og73lt7LnpoHnlKhcbiAgICAgICAgLy8gaWYgKGFnLnZvaWNlLmVuYWJsZWQpIHtcbiAgICAgICAgLy8gICBzZXRNZXNzYWdlcygocHJldikgPT4ge1xuICAgICAgICAvLyAgICAgY29uc3QgbGFzdCA9IFsuLi5wcmV2XS5yZXZlcnNlKCkuZmluZCgobSkgPT4gbS5yb2xlID09PSBcImFzc2lzdGFudFwiKTtcbiAgICAgICAgLy8gICAgIGlmIChsYXN0Py5jb250ZW50KSBzZXRQZW5kaW5nVFRTKGxhc3QuY29udGVudCk7XG4gICAgICAgIC8vICAgICByZXR1cm4gcHJldjtcbiAgICAgICAgLy8gICB9KTtcbiAgICAgICAgLy8gfVxuICAgICAgICBzZXRTdHJlYW1pbmcoZmFsc2UpO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICAvLyBGSVggQnVnMiszOiBzdGVlci9mb2xsb3d1cCDigJQgZmlyZSBhZnRlciBzdHJlYW1pbmcgZW5kc1xuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChzdHJlYW1pbmcpIHJldHVybjtcbiAgICBpZiAocGVuZGluZ1N0ZWVyUmVmLmN1cnJlbnQpIHtcbiAgICAgIGNvbnN0IG1zZyA9IHBlbmRpbmdTdGVlclJlZi5jdXJyZW50O1xuICAgICAgcGVuZGluZ1N0ZWVyUmVmLmN1cnJlbnQgPSBudWxsO1xuICAgICAgdm9pZCBkb1NlbmQobXNnKTtcbiAgICB9IGVsc2UgaWYgKHBlbmRpbmdGb2xsb3d1cCkge1xuICAgICAgY29uc3QgbXNnID0gcGVuZGluZ0ZvbGxvd3VwO1xuICAgICAgc2V0UGVuZGluZ0ZvbGxvd3VwKG51bGwpO1xuICAgICAgdm9pZCBkb1NlbmQobXNnKTtcbiAgICB9XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHNcbiAgfSwgW3N0cmVhbWluZ10pO1xuXG4gIC8vIEZJWCBCdWcyKzM6IHNlbmRNZXNzYWdlIHdpdGggZnVsbCBtb2RlIHN1cHBvcnQgKyBpbWFnZXNcbiAgY29uc3Qgc2VuZE1lc3NhZ2UgPSB1c2VDYWxsYmFjaygodGV4dDogc3RyaW5nLCBtb2RlOiBTZW5kTW9kZSA9IFwibm9ybWFsXCIsIGltYWdlcz86IEF0dGFjaGVkSW1hZ2VbXSkgPT4ge1xuICAgIGlmIChtb2RlID09PSBcInN0ZWVyXCIpIHtcbiAgICAgIGlmIChzdHJlYW1pbmcpIHsgcGVuZGluZ1N0ZWVyUmVmLmN1cnJlbnQgPSB0ZXh0OyBzdG9wU3RyZWFtaW5nKCk7IH1cbiAgICAgIGVsc2Ugdm9pZCBkb1NlbmQodGV4dCwgaW1hZ2VzKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKG1vZGUgPT09IFwiZm9sbG93dXBcIikge1xuICAgICAgaWYgKHN0cmVhbWluZykge1xuICAgICAgICBzZXRQZW5kaW5nRm9sbG93dXAodGV4dCk7XG4gICAgICAgIHRvYXN0KHsgdGl0bGU6IFwi5raI5oGv5bey5o6S6ZifXCIsIGRlc2NyaXB0aW9uOiBcIuW9k+WJjeWbnuWkjeWujOaIkOWQjuiHquWKqOWPkemAgVwiIH0pO1xuICAgICAgfSBlbHNlIHZvaWQgZG9TZW5kKHRleHQsIGltYWdlcyk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICghc3RyZWFtaW5nKSB2b2lkIGRvU2VuZCh0ZXh0LCBpbWFnZXMpO1xuICB9LCBbc3RyZWFtaW5nLCBkb1NlbmQsIHN0b3BTdHJlYW1pbmddKTtcblxuICAvLyDilIDilIAgU2Vzc2lvbiBtYW5hZ2VtZW50IOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICBjb25zdCBuZXdTZXNzaW9uID0gKCkgPT4ge1xuICAgIHNldEN1cnJlbnRTZXNzaW9uRmlsZSh1bmRlZmluZWQpOyBzZXRNZXNzYWdlcyhbXSk7IHNldFNlc3Npb25Ta2lsbHMobnVsbCk7IHNldFNlc3Npb25TdGF0cyhudWxsKTsgc2V0U2Vzc2lvbk1vZGVsKG51bGwpO1xuICB9O1xuXG4gIGNvbnN0IGxvYWRTZXNzaW9uID0gYXN5bmMgKHNmOiBzdHJpbmcpID0+IHtcbiAgICBzZXRDdXJyZW50U2Vzc2lvbkZpbGUoc2YpOyBzZXRNZXNzYWdlcyhbXSk7IHNldFNob3dTaWRlYmFyKGZhbHNlKTsgc2V0U2Vzc2lvblN0YXRzKG51bGwpO1xuICAgIHRyeSB7XG4gICAgICBjb25zdCB7IG1lc3NhZ2VzOiBoaXN0b3J5IH0gPSBhd2FpdCBmZXRjaChcIi9hcGkvc2Vzc2lvbnMvaGlzdG9yeVwiLCB7XG4gICAgICAgIG1ldGhvZDogXCJQT1NUXCIsIGhlYWRlcnM6IHsgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIgfSxcbiAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoeyBzZXNzaW9uRmlsZTogc2YgfSksXG4gICAgICB9KS50aGVuKChyKSA9PiByLmpzb24oKSkgYXMge1xuICAgICAgICBtZXNzYWdlczoge1xuICAgICAgICAgIGlkOiBzdHJpbmc7IHJvbGU6IFwidXNlclwifFwiYXNzaXN0YW50XCI7IGNvbnRlbnQ6IHN0cmluZztcbiAgICAgICAgICB0aGlua2luZz86IHN0cmluZzsgdG9vbENhbGxzPzogVG9vbENhbGxbXTsgY3JlYXRlZEF0OiBzdHJpbmc7XG4gICAgICAgIH1bXTtcbiAgICAgIH07XG4gICAgICAvLyBGSVggQnVnNys4OiByZXN0b3JlIHRvb2xDYWxscyBhbmQgdGhpbmtpbmcgZnJvbSBoaXN0b3J5XG4gICAgICBzZXRNZXNzYWdlcyhoaXN0b3J5Lm1hcCgobSkgPT4gKHtcbiAgICAgICAgaWQ6IG0uaWQsIHJvbGU6IG0ucm9sZSwgY29udGVudDogbS5jb250ZW50LFxuICAgICAgICB0aGlua2luZzogbS50aGlua2luZywgdG9vbENhbGxzOiBtLnRvb2xDYWxscyA/PyBbXSxcbiAgICAgICAgY3JlYXRlZEF0OiBuZXcgRGF0ZShtLmNyZWF0ZWRBdCksXG4gICAgICB9KSkpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRvYXN0KHsgdGl0bGU6IFwi5Yqg6L295Y6G5Y+y5aSx6LSlXCIsIGRlc2NyaXB0aW9uOiBTdHJpbmcoZSksIHZhcmlhbnQ6IFwiZGVzdHJ1Y3RpdmVcIiB9KTtcbiAgICB9XG4gIH07XG5cbiAgLy8gTkVXOiBvblJldHJ5IOKAlCByZXNlbmQgdGhlIHVzZXIgbWVzc2FnZSBiZWZvcmUgdGhlIGdpdmVuIGFzc2lzdGFudCBtZXNzYWdlXG4gIGNvbnN0IGhhbmRsZVJldHJ5ID0gdXNlQ2FsbGJhY2soKG1lc3NhZ2U6IENoYXRNZXNzYWdlKSA9PiB7XG4gICAgaWYgKHN0cmVhbWluZykgcmV0dXJuO1xuICAgIGNvbnN0IGlkeCA9IG1lc3NhZ2VzLmZpbmRJbmRleCgobSkgPT4gbS5pZCA9PT0gbWVzc2FnZS5pZCk7XG4gICAgZm9yIChsZXQgaSA9IGlkeCAtIDE7IGkgPj0gMDsgaS0tKSB7XG4gICAgICBpZiAobWVzc2FnZXNbaV0ucm9sZSA9PT0gXCJ1c2VyXCIpIHtcbiAgICAgICAgc2V0TWVzc2FnZXMoKHByZXYpID0+IHByZXYuc2xpY2UoMCwgaSArIDEpKTtcbiAgICAgICAgdm9pZCBkb1NlbmQobWVzc2FnZXNbaV0uY29udGVudCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9XG4gIH0sIFttZXNzYWdlcywgc3RyZWFtaW5nLCBkb1NlbmRdKTtcblxuICAvLyBORVc6IG9uRm9yayDigJQgYnJhbmNoIGZyb20ganVzdCBiZWZvcmUgdGhlIHNlbGVjdGVkIG1lc3NhZ2VcbiAgY29uc3QgaGFuZGxlRm9yayA9IHVzZUNhbGxiYWNrKChtZXNzYWdlOiBDaGF0TWVzc2FnZSkgPT4ge1xuICAgIGNvbnN0IGlkeCA9IG1lc3NhZ2VzLmZpbmRJbmRleCgobSkgPT4gbS5pZCA9PT0gbWVzc2FnZS5pZCk7XG4gICAgc2V0Q3VycmVudFNlc3Npb25GaWxlKHVuZGVmaW5lZCk7XG4gICAgc2V0TWVzc2FnZXMoaWR4ID49IDAgPyBtZXNzYWdlcy5zbGljZSgwLCBpZHgpIDogW10pO1xuICAgIHNldFNlc3Npb25Ta2lsbHMobnVsbCk7IHNldFNlc3Npb25TdGF0cyhudWxsKTtcbiAgICB0b2FzdCh7IHRpdGxlOiBcIuS8muivneW3suWIhuWPiVwiLCBkZXNjcmlwdGlvbjogXCLku47miYDpgInmtojmga/kuYvliY3liJvlu7rkuobmlrDliIbmlK9cIiwgdmFyaWFudDogXCJzdWNjZXNzXCIgfSk7XG4gIH0sIFttZXNzYWdlc10pO1xuXG4gIGNvbnN0IGRlbGV0ZVNlc3Npb24gPSBhc3luYyAoZTogUmVhY3QuTW91c2VFdmVudCwgc2lkOiBzdHJpbmcsIHNmOiBzdHJpbmcpID0+IHtcbiAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIGF3YWl0IGZldGNoKGAvYXBpL3Nlc3Npb25zLyR7YWdlbnRJZH0vJHtzaWR9YCwgeyBtZXRob2Q6IFwiREVMRVRFXCIgfSk7XG4gICAgc2V0U2Vzc2lvbnMoKHByZXYpID0+IHByZXYuZmlsdGVyKChzKSA9PiBzLmlkICE9PSBzaWQpKTtcbiAgICBpZiAoY3VycmVudFNlc3Npb25GaWxlID09PSBzZikgeyBzZXRDdXJyZW50U2Vzc2lvbkZpbGUodW5kZWZpbmVkKTsgc2V0TWVzc2FnZXMoW10pOyB9XG4gIH07XG5cbiAgY29uc3QgY2xlYXJBbGxTZXNzaW9ucyA9IGFzeW5jICgpID0+IHtcbiAgICBpZiAoIWNvbmZpcm1DbGVhckFsbCkgeyBzZXRDb25maXJtQ2xlYXJBbGwodHJ1ZSk7IHNldFRpbWVvdXQoKCkgPT4gc2V0Q29uZmlybUNsZWFyQWxsKGZhbHNlKSwgMzAwMCk7IHJldHVybjsgfVxuICAgIGF3YWl0IGZldGNoKGAvYXBpL3Nlc3Npb25zLyR7YWdlbnRJZH1gLCB7IG1ldGhvZDogXCJERUxFVEVcIiB9KTtcbiAgICBzZXRTZXNzaW9ucyhbXSk7IHNldEN1cnJlbnRTZXNzaW9uRmlsZSh1bmRlZmluZWQpOyBzZXRNZXNzYWdlcyhbXSk7XG4gICAgc2V0Q29uZmlybUNsZWFyQWxsKGZhbHNlKTtcbiAgfTtcblxuICBjb25zdCB0b2dnbGVTZXNzaW9uU2tpbGwgPSAobmFtZTogc3RyaW5nKSA9PiB7XG4gICAgY29uc3QgYmFzZSA9IHNlc3Npb25Ta2lsbHMgPz8gKGFnZW50Py5lbmFibGVkU2tpbGxzID8/IFtdKTtcbiAgICBzZXRTZXNzaW9uU2tpbGxzKGJhc2UuaW5jbHVkZXMobmFtZSkgPyBiYXNlLmZpbHRlcigocykgPT4gcyAhPT0gbmFtZSkgOiBbLi4uYmFzZSwgbmFtZV0pO1xuICB9O1xuXG4gIGlmICghYWdlbnQpIHJldHVybiA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaC1mdWxsIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciB0ZXh0LW11dGVkLWZvcmVncm91bmRcIj5Mb2FkaW5n4oCmPC9kaXY+O1xuXG4gIGNvbnN0IHNob3VsZFNob3dUaW1lc3RhbXAgPSAoaTogbnVtYmVyKSA9PiB7XG4gICAgaWYgKGkgPT09IDApIHJldHVybiB0cnVlO1xuICAgIHJldHVybiBuZXcgRGF0ZShtZXNzYWdlc1tpXS5jcmVhdGVkQXQpLmdldFRpbWUoKSAtIG5ldyBEYXRlKG1lc3NhZ2VzW2ktMV0uY3JlYXRlZEF0KS5nZXRUaW1lKCkgPiBUSU1FU1RBTVBfR0FQX01TO1xuICB9O1xuXG4gIGNvbnN0IGN0eFBjdCA9IHNlc3Npb25TdGF0cz8uY29udGV4dFVzYWdlPy5wZXJjZW50ID8/IDA7XG4gIGNvbnN0IGN0eENvbG9yID0gY3R4UGN0ID4gODAgPyBcImJnLXJlZC01MDBcIiA6IGN0eFBjdCA+IDYwID8gXCJiZy15ZWxsb3ctNTAwXCIgOiBcImJnLVsjNTdCRTZCXVwiO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGgtZnVsbCBiZy1ncmFkaWVudC10by1iciBmcm9tLWdyYXktNTAgdG8tZ3JheS0xMDAgZGFyazpmcm9tLXNsYXRlLTkwMCBkYXJrOnZpYS1wdXJwbGUtOTAwLzEwIGRhcms6dG8tc2xhdGUtOTAwXCI+XG4gICAgICB7Lyog4pSA4pSAIOWOhuWPsuS8muivneS+p+i+ueagjyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIAgKi99XG4gICAgICA8ZGl2IGNsYXNzTmFtZT17Y24oXG4gICAgICAgIFwic2hyaW5rLTAgdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tMzAwIG92ZXJmbG93LWhpZGRlblwiLFxuICAgICAgICBcImJnLVtoc2wodmFyKC0tbmVvLWJnKSldIGJhY2tkcm9wLWJsdXIteGwgYm9yZGVyLXIgYm9yZGVyLWdyYXktMjAwIGRhcms6Ymctc2xhdGUtOTAwLzk1IGRhcms6YmFja2Ryb3AtYmx1ci0yeGwgZGFyazpib3JkZXItc2xhdGUtNzAwLzUwXCIsXG4gICAgICAgIHNob3dTaWRlYmFyID8gXCJ3LVsyODBweF1cIiA6IFwidy0wXCJcbiAgICAgICl9PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInAtNCBzcGFjZS15LTNcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlbiBtYi0yXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LVsxNHB4XSBmb250LWJvbGQgdGV4dC1ncmF5LTgwMCBkYXJrOnRleHQtd2hpdGVcIj5cbiAgICAgICAgICAgICAg5Lya6K+d5Y6G5Y+yXG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHNldFNob3dTaWRlYmFyKGZhbHNlKX1cbiAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiaC04IHctOCByb3VuZGVkLXhsIG5lby1idXR0b24gaG92ZXI6dGV4dC1ibHVlLTYwMCBkYXJrOmhvdmVyOmJnLWN5YW4tNTAwLzIwIGRhcms6Ym9yZGVyLXRyYW5zcGFyZW50IGRhcms6aG92ZXI6Ym9yZGVyLWN5YW4tNTAwLzUwIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTIwMCBob3ZlcjpzY2FsZS0xMTBcIlxuICAgICAgICAgICAgICB0aXRsZT1cIuWFs+mXreS+p+i+ueagj1wiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxDaGV2cm9uTGVmdCBjbGFzc05hbWU9XCJoLTQgdy00IHRleHQtZ3JheS01MDAgZGFyazp0ZXh0LWdyYXktNDAwIGRhcms6Z3JvdXAtaG92ZXI6dGV4dC1jeWFuLTQwMCB0cmFuc2l0aW9uLWNvbG9yc1wiIC8+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIG9uQ2xpY2s9e25ld1Nlc3Npb259XG4gICAgICAgICAgICBjbGFzc05hbWU9XCJncm91cCB3LWZ1bGwgaC0xMCByb3VuZGVkLXhsIG5lby1idXR0b24gYmctZ3JhZGllbnQtdG8tciBmcm9tLWJsdWUtNTAwIHRvLWluZGlnby01MDAgaG92ZXI6ZnJvbS1ibHVlLTYwMCBob3Zlcjp0by1pbmRpZ28tNjAwIGRhcms6ZnJvbS1jeWFuLTYwMCBkYXJrOnRvLWJsdWUtNjAwIGRhcms6aG92ZXI6ZnJvbS1jeWFuLTUwMCBkYXJrOmhvdmVyOnRvLWJsdWUtNTAwIHRleHQtd2hpdGUgdGV4dC1bMTNweF0gZm9udC1zZW1pYm9sZCBzaGFkb3ctbGcgaG92ZXI6c2hhZG93LWJsdWUtNTAwLzMwIGRhcms6aG92ZXI6c2hhZG93LWN5YW4tNTAwLzUwIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTIwMCBob3ZlcjpzY2FsZS1bMS4wMl0gaG92ZXI6LXRyYW5zbGF0ZS15LTAuNSBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBnYXAtMlwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPFBsdXMgY2xhc3NOYW1lPVwiaC00IHctNCB0cmFuc2l0aW9uLXRyYW5zZm9ybSBkdXJhdGlvbi0yMDAgZ3JvdXAtaG92ZXI6cm90YXRlLTkwXCIgLz5cbiAgICAgICAgICAgIDxzcGFuPnt0KFwibmV3U2Vzc2lvblwiKX08L3NwYW4+XG4gICAgICAgICAgPC9idXR0b24+XG5cbiAgICAgICAgICB7c2Vzc2lvbnMubGVuZ3RoID4gMCAmJiAoXG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIG9uQ2xpY2s9e2NsZWFyQWxsU2Vzc2lvbnN9XG4gICAgICAgICAgICAgIGNsYXNzTmFtZT17Y24oXG4gICAgICAgICAgICAgICAgXCJ3LWZ1bGwgaC04IHJvdW5kZWQteGwgdGV4dC1bMTJweF0gZm9udC1tZWRpdW0gdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tMjAwIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGdhcC0yIGJvcmRlciBob3ZlcjpzY2FsZS1bMS4wMl1cIixcbiAgICAgICAgICAgICAgICBjb25maXJtQ2xlYXJBbGxcbiAgICAgICAgICAgICAgICAgID8gXCJiZy1yZWQtMTAwIHRleHQtcmVkLTYwMCBib3JkZXItcmVkLTMwMCBob3ZlcjpiZy1yZWQtMjAwIGRhcms6YmctcmVkLTUwMC8yMCBkYXJrOnRleHQtcmVkLTQwMCBkYXJrOmJvcmRlci1yZWQtNTAwLzUwIGRhcms6aG92ZXI6YmctcmVkLTUwMC8zMFwiXG4gICAgICAgICAgICAgICAgICA6IFwibmVvLWJ1dHRvbiB0ZXh0LWdyYXktNjAwIGhvdmVyOnRleHQtcmVkLTYwMCBkYXJrOmhvdmVyOmJnLXNsYXRlLTgwMCBkYXJrOnRleHQtZ3JheS00MDAgZGFyazpob3Zlcjp0ZXh0LXJlZC00MDAgYm9yZGVyLXRyYW5zcGFyZW50IGRhcms6aG92ZXI6Ym9yZGVyLXJlZC01MDAvMzBcIlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8VHJhc2gyIGNsYXNzTmFtZT1cImgtMy41IHctMy41IHRyYW5zaXRpb24tdHJhbnNmb3JtIGR1cmF0aW9uLTIwMCBob3Zlcjpyb3RhdGUtMTJcIiAvPlxuICAgICAgICAgICAgICA8c3Bhbj57Y29uZmlybUNsZWFyQWxsID8gXCLlho3mrKHngrnlh7vnoa7orqTmuIXnqbpcIiA6IFwi5riF56m65YWo6YOo5Y6G5Y+yXCJ9PC9zcGFuPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPFNjcm9sbEFyZWEgY2xhc3NOYW1lPVwiaC1bY2FsYygxMDB2aC0xMHJlbSldXCI+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJweC0zIHBiLTMgc3BhY2UteS0yXCI+XG4gICAgICAgICAgICB7c2Vzc2lvbnMubGVuZ3RoID09PSAwID8gKFxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInRleHQtY2VudGVyIHB5LTEyXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ3LTE2IGgtMTYgbXgtYXV0byBtYi00IHJvdW5kZWQtMnhsIG5lby1jYXJkIGJnLXdoaXRlIGRhcms6Ymctc2xhdGUtODAwIGJvcmRlci1ncmF5LTIwMCBkYXJrOmJvcmRlci1zbGF0ZS03MDAgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgIDxIaXN0b3J5IGNsYXNzTmFtZT1cImgtNyB3LTcgdGV4dC1ncmF5LTQwMCBkYXJrOnRleHQtc2xhdGUtNTAwXCIgLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJ0ZXh0LVsxM3B4XSB0ZXh0LWdyYXktNTAwXCI+e3QoXCJub1Nlc3Npb25zXCIpfTwvcD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICApIDogc2Vzc2lvbnMubWFwKChzKSA9PiAoXG4gICAgICAgICAgICAgIDxkaXYga2V5PXtzLmlkfSBjbGFzc05hbWU9XCJyZWxhdGl2ZSBncm91cFwiPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gbG9hZFNlc3Npb24ocy5zZXNzaW9uX2ZpbGUpfVxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbihcbiAgICAgICAgICAgICAgICAgICAgXCJ3LWZ1bGwgdGV4dC1sZWZ0IHB4LTMgcHktMyByb3VuZGVkLXhsIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTIwMCBib3JkZXIgaG92ZXI6c2NhbGUtWzEuMDJdIGhvdmVyOi10cmFuc2xhdGUteS0wLjVcIixcbiAgICAgICAgICAgICAgICAgICAgcy5zZXNzaW9uX2ZpbGUgPT09IGN1cnJlbnRTZXNzaW9uRmlsZVxuICAgICAgICAgICAgICAgICAgICAgID8gXCJuZW8tY2FyZC1pbnNldCBiZy1ibHVlLTUwIHRleHQtYmx1ZS03MDAgYm9yZGVyLWJsdWUtMjAwIGRhcms6YmctZ3JhZGllbnQtdG8tciBkYXJrOmZyb20tY3lhbi02MDAvMjAgZGFyazp0by1ibHVlLTYwMC8yMCBkYXJrOmJvcmRlci1jeWFuLTUwMC81MCBkYXJrOnNoYWRvdy1sZyBkYXJrOnNoYWRvdy1jeWFuLTUwMC8yMFwiXG4gICAgICAgICAgICAgICAgICAgICAgOiBcIm5lby1idXR0b24gdGV4dC1ncmF5LTcwMCBkYXJrOmJvcmRlci1zbGF0ZS03MDAvNTAgZGFyazpob3Zlcjpib3JkZXItY3lhbi01MDAvMzAgZGFyazpob3ZlcjpiZy1zbGF0ZS04MDAvNTBcIlxuICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7cy5zZXNzaW9uX2ZpbGUgPT09IGN1cnJlbnRTZXNzaW9uRmlsZSAmJiAoXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYWJzb2x1dGUgbGVmdC0wIHRvcC0xLzIgLXRyYW5zbGF0ZS15LTEvMiB3LTEgaC04IGJnLWdyYWRpZW50LXRvLWIgZnJvbS1ibHVlLTUwMCB0by1pbmRpZ28tNTAwIGRhcms6ZnJvbS1jeWFuLTQwMCBkYXJrOnRvLWJsdWUtNTAwIHJvdW5kZWQtci1mdWxsIHNoYWRvdy1sZyBkYXJrOnNoYWRvdy1jeWFuLTUwMC81MFwiPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT17Y24oXG4gICAgICAgICAgICAgICAgICAgIFwidGV4dC1bMTNweF0gdHJ1bmNhdGUgbGVhZGluZy1zbnVnIHRyYW5zaXRpb24tY29sb3JzXCIsXG4gICAgICAgICAgICAgICAgICAgIHMuc2Vzc2lvbl9maWxlID09PSBjdXJyZW50U2Vzc2lvbkZpbGVcbiAgICAgICAgICAgICAgICAgICAgICA/IFwiZm9udC1ib2xkIHRleHQtY3lhbi00MDBcIlxuICAgICAgICAgICAgICAgICAgICAgIDogXCJmb250LW1lZGl1bSB0ZXh0LWdyYXktMzAwIGdyb3VwLWhvdmVyOnRleHQtd2hpdGVcIlxuICAgICAgICAgICAgICAgICAgKX0+XG4gICAgICAgICAgICAgICAgICAgIHtzLnRpdGxlfVxuICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwidGV4dC1bMTFweF0gdGV4dC1ncmF5LTUwMCBtdC0xIGZsZXggaXRlbXMtY2VudGVyIGdhcC0xLjUgZ3JvdXAtaG92ZXI6dGV4dC1ncmF5LTQwMCB0cmFuc2l0aW9uLWNvbG9yc1wiPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ3LTEgaC0xIHJvdW5kZWQtZnVsbCBiZy1jeWFuLTUwMFwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAge25ldyBEYXRlKHMuY3JlYXRlZF9hdCkudG9Mb2NhbGVEYXRlU3RyaW5nKGxvY2FsZSl9XG4gICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoZSkgPT4gZGVsZXRlU2Vzc2lvbihlLCBzLmlkLCBzLnNlc3Npb25fZmlsZSl9XG4gICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJhYnNvbHV0ZSByaWdodC0yIHRvcC0xLzIgLXRyYW5zbGF0ZS15LTEvMiBvcGFjaXR5LTAgZ3JvdXAtaG92ZXI6b3BhY2l0eS0xMDAgaC03IHctNyByb3VuZGVkLWxnIGhvdmVyOmJnLXJlZC01MDAvMjAgdGV4dC1ncmF5LTUwMCBob3Zlcjp0ZXh0LXJlZC00MDAgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tMjAwIGJvcmRlciBib3JkZXItdHJhbnNwYXJlbnQgaG92ZXI6Ym9yZGVyLXJlZC01MDAvNTAgaG92ZXI6c2NhbGUtMTEwXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8VHJhc2gyIGNsYXNzTmFtZT1cImgtMy41IHctMy41XCIgLz5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICApKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9TY3JvbGxBcmVhPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIHsvKiDilIDilIAg5Li76IGK5aSp5Yy6IC0g56eR5oqA5oSf6K6+6K6hIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgCAqL31cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBmbGV4LTEgZmxleC1jb2wgbWluLXctMFwiPlxuICAgICAgICB7Lyog6aG26YOo5qCPIC0g56eR5oqA5oSf6K6+6K6hICovfVxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGgtWzU2cHhdIHB4LTQgc2hyaW5rLTAgZ2xhc3MtZWZmZWN0IGJvcmRlci1iIGJvcmRlci1wdXJwbGUtNTAwLzIwXCI+XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4geyBzZXRTaG93U2lkZWJhcih0cnVlKTsgc2V0U2hvd0luZm9QYW5lbChmYWxzZSk7IH19XG4gICAgICAgICAgICBjbGFzc05hbWU9XCJoLTkgdy05IHJvdW5kZWQtbGcgaG92ZXI6Ymctd2hpdGUvMTAgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgdHJhbnNpdGlvbi1hbGwgaG92ZXI6c2NhbGUtMTEwIGJvcmRlciBib3JkZXItdHJhbnNwYXJlbnQgaG92ZXI6Ym9yZGVyLXB1cnBsZS01MDAvMzBcIlxuICAgICAgICAgICAgdGl0bGU9XCLmiZPlvIDljoblj7LorrDlvZVcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxIaXN0b3J5IGNsYXNzTmFtZT1cImgtNCB3LTQgdGV4dC1jeWFuLTQwMFwiIC8+XG4gICAgICAgICAgPC9idXR0b24+XG5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXgtMSBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBnYXAtM1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJoLTEwIHctMTAgcm91bmRlZC14bCBiZy1ncmFkaWVudC10by1iciBmcm9tLXB1cnBsZS02MDAvMzAgdG8tY3lhbi01MDAvMzAgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgdGV4dC0yeGwgc2hhZG93LWxnIG5lb24tZ2xvdy1wdXJwbGUgYm9yZGVyIGJvcmRlci1wdXJwbGUtNTAwLzMwXCI+XG4gICAgICAgICAgICAgIHthZ2VudC5hdmF0YXJ9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQtWzE2cHhdIGZvbnQtYm9sZCBiZy1ncmFkaWVudC10by1yIGZyb20tY3lhbi00MDAgdG8tcHVycGxlLTQwMCBiZy1jbGlwLXRleHQgdGV4dC10cmFuc3BhcmVudFwiPlxuICAgICAgICAgICAgICB7YWdlbnQubmFtZX1cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTJcIj5cbiAgICAgICAgICAgIHtjb21wYWN0aW5nICYmIChcbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMiBweC0zIHB5LTEuNSByb3VuZGVkLWZ1bGwgZ2xhc3MtZWZmZWN0IGJvcmRlciBib3JkZXItY3lhbi01MDAvMzBcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInctMiBoLTIgcm91bmRlZC1mdWxsIGJnLWN5YW4tNDAwIGFuaW1hdGUtcHVsc2UgbmVvbi1nbG93XCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC1bMTFweF0gZm9udC1zZW1pYm9sZCB0ZXh0LWN5YW4tNDAwXCI+5Y6L57yp5LitPC9zcGFuPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICl9XG5cbiAgICAgICAgICAgIHtzZXNzaW9uU3RhdHM/LmNvbnRleHRVc2FnZSAmJiAoXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTIgcHgtMyBweS0xLjUgcm91bmRlZC1mdWxsIGdsYXNzLWVmZmVjdCBib3JkZXIgYm9yZGVyLXB1cnBsZS01MDAvMzBcIiB0aXRsZT17YENvbnRleHQ6ICR7Y3R4UGN0fSVgfT5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImgtMS41IHctMTYgcm91bmRlZC1mdWxsIGJnLXdoaXRlLzEwIG92ZXJmbG93LWhpZGRlblwiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2NuKFwiaC1mdWxsIHJvdW5kZWQtZnVsbCB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi01MDBcIiwgY3R4Q29sb3IpfSBzdHlsZT17eyB3aWR0aDogYCR7Y3R4UGN0fSVgIH19IC8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC1bMTFweF0gZm9udC1zZW1pYm9sZCB0ZXh0LWdyYXktMzAwXCI+e2N0eFBjdH0lPC9zcGFuPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICl9XG5cbiAgICAgICAgICAgIHtzdHJlYW1pbmcgJiYgKFxuICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgb25DbGljaz17c3RvcFN0cmVhbWluZ31cbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJoLTkgdy05IHJvdW5kZWQtbGcgaG92ZXI6YmctcmVkLTUwMC8yMCB0ZXh0LXJlZC00MDAgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgdHJhbnNpdGlvbi1hbGwgaG92ZXI6c2NhbGUtMTEwIGJvcmRlciBib3JkZXItdHJhbnNwYXJlbnQgaG92ZXI6Ym9yZGVyLXJlZC01MDAvNTBcIlxuICAgICAgICAgICAgICAgIHRpdGxlPVwi5YGc5q2i55Sf5oiQXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxTcXVhcmUgY2xhc3NOYW1lPVwiaC00IHctNCBmaWxsLWN1cnJlbnRcIiAvPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICl9XG5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4geyBzZXRTaG93SW5mb1BhbmVsKCFzaG93SW5mb1BhbmVsKTsgc2V0U2hvd1NpZGViYXIoZmFsc2UpOyB9fVxuICAgICAgICAgICAgICBjbGFzc05hbWU9e2NuKFxuICAgICAgICAgICAgICAgIFwiaC05IHctOSByb3VuZGVkLWxnIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHRyYW5zaXRpb24tYWxsIGhvdmVyOnNjYWxlLTExMCBib3JkZXJcIixcbiAgICAgICAgICAgICAgICBzaG93SW5mb1BhbmVsXG4gICAgICAgICAgICAgICAgICA/IFwiYmctcHVycGxlLTUwMC8yMCB0ZXh0LXB1cnBsZS00MDAgYm9yZGVyLXB1cnBsZS01MDAvNTAgbmVvbi1nbG93LXB1cnBsZVwiXG4gICAgICAgICAgICAgICAgICA6IFwiaG92ZXI6Ymctd2hpdGUvMTAgdGV4dC1ncmF5LTQwMCBib3JkZXItdHJhbnNwYXJlbnQgaG92ZXI6Ym9yZGVyLXB1cnBsZS01MDAvMzBcIlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICB0aXRsZT1cIuaVsOWtl+S6uuS/oeaBryAmIFNraWxsc1wiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxJbmZvIGNsYXNzTmFtZT1cImgtNCB3LTRcIiAvPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIHsvKiDkvJror53nu5/orqHmoI8gLSDnp5HmioDmhJ/orr7orqEgKi99XG4gICAgICAgIHtzZXNzaW9uU3RhdHMgJiYgKFxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgZ2FwLTMgcHgtNCBweS0yIGdsYXNzLWVmZmVjdCBib3JkZXItYiBib3JkZXItcHVycGxlLTUwMC8yMCB0ZXh0LVsxMXB4XSBzaHJpbmstMFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMS41IHB4LTIuNSBweS0xIHJvdW5kZWQtbGcgYmctY3lhbi01MDAvMTAgYm9yZGVyIGJvcmRlci1jeWFuLTUwMC8zMFwiPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LWN5YW4tNDAwIGZvbnQtc2VtaWJvbGRcIj7ihpE8L3NwYW4+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImZvbnQtYm9sZCB0ZXh0LWN5YW4tMzAwXCI+e3Nlc3Npb25TdGF0cy50b2tlbnMuaW5wdXQudG9Mb2NhbGVTdHJpbmcoKX08L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTEuNSBweC0yLjUgcHktMSByb3VuZGVkLWxnIGJnLXB1cnBsZS01MDAvMTAgYm9yZGVyIGJvcmRlci1wdXJwbGUtNTAwLzMwXCI+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQtcHVycGxlLTQwMCBmb250LXNlbWlib2xkXCI+4oaTPC9zcGFuPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJmb250LWJvbGQgdGV4dC1wdXJwbGUtMzAwXCI+e3Nlc3Npb25TdGF0cy50b2tlbnMub3V0cHV0LnRvTG9jYWxlU3RyaW5nKCl9PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB7c2Vzc2lvblN0YXRzLmNvc3QgPiAwICYmIChcbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMS41IHB4LTIuNSBweS0xIHJvdW5kZWQtbGcgYmctZ3JlZW4tNTAwLzEwIGJvcmRlciBib3JkZXItZ3JlZW4tNTAwLzMwXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiZm9udC1ib2xkIHRleHQtZ3JlZW4tMzAwXCI+4omIICR7c2Vzc2lvblN0YXRzLmNvc3QudG9GaXhlZCg0KX08L3NwYW4+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIHtzZXNzaW9uU3RhdHMuY29udGV4dFVzYWdlICYmIChcbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2NuKFxuICAgICAgICAgICAgICAgIFwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTEuNSBweC0yLjUgcHktMSByb3VuZGVkLWxnIGJvcmRlclwiLFxuICAgICAgICAgICAgICAgIGN0eFBjdCA+IDgwXG4gICAgICAgICAgICAgICAgICA/IFwiYmctcmVkLTUwMC8xMCBib3JkZXItcmVkLTUwMC8zMCB0ZXh0LXJlZC00MDBcIlxuICAgICAgICAgICAgICAgICAgOiBcImJnLXdoaXRlLzUgYm9yZGVyLXdoaXRlLzEwIHRleHQtZ3JheS0zMDBcIlxuICAgICAgICAgICAgICApfT5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJmb250LWJvbGRcIj5cbiAgICAgICAgICAgICAgICAgIGNvbnRleHQge2N0eFBjdH0lIC8ge3Nlc3Npb25TdGF0cy5jb250ZXh0VXNhZ2UuY29udGV4dFdpbmRvdy50b0xvY2FsZVN0cmluZygpfVxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICApfVxuXG4gICAgICAgIHsvKiDlhoXlrrnljLrvvIjogYrlpKkgKyDkv6Hmga/pnaLmnb/lubbmjpLvvIktIOenkeaKgOaEn+iuvuiuoSAqL31cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGZsZXgtMSBtaW4taC0wXCI+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGZsZXgtY29sIGZsZXgtMSBtaW4tdy0wIHJlbGF0aXZlXCI+XG4gICAgICAgICAgICB7Lyog6IGK5aSp5raI5oGv5Yy6ICovfVxuICAgICAgICAgICAgPGRpdiByZWY9e2NoYXRTY3JvbGxSZWZ9IG9uU2Nyb2xsPXtoYW5kbGVTY3JvbGx9XG4gICAgICAgICAgICAgIGNsYXNzTmFtZT1cImZsZXgtMSBvdmVyZmxvdy15LWF1dG8gYmctd2hpdGUgZGFyazpiZy1zbGF0ZS05MDAvNTBcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJweS00IHNwYWNlLXktMVwiPlxuICAgICAgICAgICAgICAgIHttZXNzYWdlcy5sZW5ndGggPT09IDAgJiYgKFxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGp1c3RpZnktY2VudGVyIG10LTIwIG1iLTQgdGV4dC1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJtYXgtdy1zbVwiPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicmVsYXRpdmUgdy0yNCBoLTI0IG14LWF1dG8gbWItNlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJhYnNvbHV0ZSBpbnNldC0wIGJnLWdyYWRpZW50LXRvLXIgZnJvbS1ibHVlLTQwMC8yMCB0by1pbmRpZ28tNDAwLzIwIGRhcms6ZnJvbS1wdXJwbGUtNjAwLzMwIGRhcms6dG8tY3lhbi01MDAvMzAgYmx1ci0yeGwgYW5pbWF0ZS1wdWxzZVwiPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyZWxhdGl2ZSB3LTI0IGgtMjQgcm91bmRlZC0yeGwgbmVvLWNhcmQgYmctZ3JhZGllbnQtdG8tYnIgZnJvbS1ibHVlLTEwMCB0by1pbmRpZ28tMTAwIGRhcms6ZnJvbS1wdXJwbGUtNjAwLzIwIGRhcms6dG8tY3lhbi01MDAvMjAgYm9yZGVyLTIgYm9yZGVyLWJsdWUtMjAwIGRhcms6Ym9yZGVyLXB1cnBsZS01MDAvMzAgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgdGV4dC01eGwgbmVvbi1nbG93LXB1cnBsZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB7YWdlbnQuYXZhdGFyfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwidGV4dC1bMThweF0gZm9udC1ib2xkIHRleHQtZ3JheS04MDAgZGFyazpiZy1ncmFkaWVudC10by1yIGRhcms6ZnJvbS1jeWFuLTQwMCBkYXJrOnRvLXB1cnBsZS00MDAgZGFyazpiZy1jbGlwLXRleHQgZGFyazp0ZXh0LXRyYW5zcGFyZW50IG1iLTNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHthZ2VudC5uYW1lfVxuICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJ0ZXh0LVsxM3B4XSB0ZXh0LWdyYXktNjAwIGRhcms6dGV4dC1ncmF5LTQwMCBsZWFkaW5nLXJlbGF4ZWQgcHgtNFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAge2FnZW50LmRlc2NyaXB0aW9uIHx8IHQoXCJ3ZWxjb21lVGl0bGVcIil9XG4gICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgIHtlZmZlY3RpdmVTa2lsbHMubGVuZ3RoID4gMCAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggZmxleC13cmFwIGp1c3RpZnktY2VudGVyIGdhcC0yIG10LTRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAge2VmZmVjdGl2ZVNraWxscy5tYXAoKHMpID0+IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBrZXk9e3N9IGNsYXNzTmFtZT1cImlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciBnYXAtMS41IHRleHQtWzExcHhdIHB4LTMgcHktMS41IHJvdW5kZWQtbGcgZ2xhc3MtZWZmZWN0IGJvcmRlciBib3JkZXItcHVycGxlLTUwMC8zMCB0ZXh0LXB1cnBsZS0zMDAgZm9udC1tZWRpdW1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxaYXAgY2xhc3NOYW1lPVwiaC0zIHctMyB0ZXh0LWN5YW4tNDAwXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtzfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAge21lc3NhZ2VzLm1hcCgobXNnLCBpKSA9PiB7XG4gICAgICAgICAgICAgICAgICBjb25zdCBpc1N0cmVhbWluZ0VtcHR5ID0gc3RyZWFtaW5nICYmIGkgPT09IG1lc3NhZ2VzLmxlbmd0aCAtIDEgJiYgbXNnLnJvbGUgPT09IFwiYXNzaXN0YW50XCIgJiYgbXNnLmNvbnRlbnQgPT09IFwiXCIgJiYgIW1zZy50b29sQ2FsbHM/Lmxlbmd0aDtcbiAgICAgICAgICAgICAgICAgIGlmIChpc1N0cmVhbWluZ0VtcHR5KSByZXR1cm4gPFR5cGluZ0J1YmJsZSBrZXk9e21zZy5pZH0gYWdlbnRBdmF0YXI9e2FnZW50LmF2YXRhcn0gLz47XG4gICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICA8TWVzc2FnZUJ1YmJsZSBrZXk9e21zZy5pZH0gbWVzc2FnZT17bXNnfSBhZ2VudE5hbWU9e2FnZW50Lm5hbWV9IGFnZW50QXZhdGFyPXthZ2VudC5hdmF0YXJ9XG4gICAgICAgICAgICAgICAgICAgICAgc2hvd1RpbWVzdGFtcD17c2hvdWxkU2hvd1RpbWVzdGFtcChpKX1cbiAgICAgICAgICAgICAgICAgICAgICBvblJldHJ5PXttc2cucm9sZSA9PT0gXCJhc3Npc3RhbnRcIiA/IGhhbmRsZVJldHJ5IDogdW5kZWZpbmVkfVxuICAgICAgICAgICAgICAgICAgICAgIG9uRm9yaz17bXNnLnJvbGUgPT09IFwiYXNzaXN0YW50XCIgPyBoYW5kbGVGb3JrIDogdW5kZWZpbmVkfVxuICAgICAgICAgICAgICAgICAgICAgIG9uU3BlYWs9e21zZy5yb2xlID09PSBcImFzc2lzdGFudFwiID8gKHRleHQpID0+IHNldFBlbmRpbmdUVFModGV4dCkgOiB1bmRlZmluZWR9IC8+XG4gICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAgIDxkaXYgcmVmPXtib3R0b21SZWZ9IGNsYXNzTmFtZT1cImgtMlwiIC8+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIHsvKiDmu5rliqjliLDlupXpg6jmjInpkq4gLSDnp5HmioDmhJ/orr7orqEgKi99XG4gICAgICAgICAgICB7c2hvd1Njcm9sbEJ0biAmJiAoXG4gICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7IGJvdHRvbVJlZi5jdXJyZW50Py5zY3JvbGxJbnRvVmlldyh7IGJlaGF2aW9yOiBcInNtb290aFwiIH0pOyBzZXRTaG93U2Nyb2xsQnRuKGZhbHNlKTsgfX1cbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJhYnNvbHV0ZSBib3R0b20tMjQgcmlnaHQtNiB6LTEwIGgtMTEgdy0xMSByb3VuZGVkLWZ1bGwgZ2xhc3MtZWZmZWN0IGJvcmRlciBib3JkZXItY3lhbi01MDAvNTAgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgaG92ZXI6c2NhbGUtMTEwIHRyYW5zaXRpb24tYWxsIG5lb24tZ2xvdyBzaGFkb3cteGxcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPENoZXZyb25Eb3duIGNsYXNzTmFtZT1cImgtNSB3LTUgdGV4dC1jeWFuLTQwMFwiIC8+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgKX1cblxuICAgICAgICAgICAgey8qIEZJWCBCdWcyOiBwYXNzIGlzU3RyZWFtaW5nICsgbW9kZWwgb3ZlcnJpZGUgKi99XG4gICAgICAgICAgICA8SW5wdXRCYXIgb25TZW5kPXtzZW5kTWVzc2FnZX0gZGlzYWJsZWQ9e3N0cmVhbWluZ30gaXNTdHJlYW1pbmc9e3N0cmVhbWluZ31cbiAgICAgICAgICAgICAgdm9pY2VFbmFibGVkPXthZ2VudC52b2ljZS5lbmFibGVkfSB2b2ljZVNwZWVkPXthZ2VudC52b2ljZS5zcGVlZH1cbiAgICAgICAgICAgICAgYWdlbnRMYW5ndWFnZT17YWdlbnQucGVyc29uYS5sYW5ndWFnZX1cbiAgICAgICAgICAgICAgdHRzUHJvdmlkZXI9e2FnZW50LnZvaWNlLnR0c1Byb3ZpZGVyfVxuICAgICAgICAgICAgICB0dHNNb2RlbD17YWdlbnQudm9pY2UudHRzTW9kZWx9XG4gICAgICAgICAgICAgIHZvaWNlSWQ9e2FnZW50LnZvaWNlLnZvaWNlSWR9XG4gICAgICAgICAgICAgIHBlbmRpbmdSZXBseT17cGVuZGluZ1RUU31cbiAgICAgICAgICAgICAgb25TcGVha0RvbmU9eygpID0+IHNldFBlbmRpbmdUVFModW5kZWZpbmVkKX0gaW5zdGFsbGVkU2tpbGxzPXtpbnN0YWxsZWRTa2lsbHN9XG4gICAgICAgICAgICAgIG9uTmV3U2Vzc2lvbj17bmV3U2Vzc2lvbn0gb25DbGVhck1lc3NhZ2VzPXsoKSA9PiBzZXRNZXNzYWdlcyhbXSl9XG4gICAgICAgICAgICAgIGN1cnJlbnRNb2RlbD17c2Vzc2lvbk1vZGVsID8/IHsgcHJvdmlkZXI6IGFnZW50Lm1vZGVsLnByb3ZpZGVyLCBtb2RlbElkOiBhZ2VudC5tb2RlbC5tb2RlbElkIH19XG4gICAgICAgICAgICAgIG9uTW9kZWxDaGFuZ2U9eyhwcm92aWRlciwgbW9kZWxJZCkgPT4gc2V0U2Vzc2lvbk1vZGVsKHsgcHJvdmlkZXIsIG1vZGVsSWQgfSl9IC8+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICB7Lyog4pSA4pSAIOS/oeaBr+mdouadvyAtIOenkeaKgOaEn+iuvuiuoSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIAgKi99XG4gICAgICAgICAge3Nob3dJbmZvUGFuZWwgJiYgKFxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ3LVszMjBweF0gc2hyaW5rLTAgYm9yZGVyLWwgYm9yZGVyLXB1cnBsZS01MDAvMjAgZ2xhc3MtZWZmZWN0IGZsZXggZmxleC1jb2wgb3ZlcmZsb3ctaGlkZGVuXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicHgtNCBweS0zIGJvcmRlci1iIGJvcmRlci1wdXJwbGUtNTAwLzIwIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlblwiPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQtWzE0cHhdIGZvbnQtYm9sZCBiZy1ncmFkaWVudC10by1yIGZyb20tY3lhbi00MDAgdG8tcHVycGxlLTQwMCBiZy1jbGlwLXRleHQgdGV4dC10cmFuc3BhcmVudFwiPlxuICAgICAgICAgICAgICAgICAg5pWw5a2X5Lq65L+h5oGvXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHNldFNob3dJbmZvUGFuZWwoZmFsc2UpfVxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiaC04IHctOCByb3VuZGVkLWxnIGhvdmVyOmJnLXdoaXRlLzEwIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHRyYW5zaXRpb24tYWxsIGhvdmVyOnNjYWxlLTExMFwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPENoZXZyb25MZWZ0IGNsYXNzTmFtZT1cImgtNCB3LTQgdGV4dC1jeWFuLTQwMFwiIC8+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgIDxTY3JvbGxBcmVhIGNsYXNzTmFtZT1cImZsZXgtMVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicC00IHNwYWNlLXktNFwiPlxuICAgICAgICAgICAgICAgICAgey8qIOaVsOWtl+S6uuWfuuacrOS/oeaBryAqL31cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1zdGFydCBnYXAtMyBwLTMgcm91bmRlZC14bCBnbGFzcy1lZmZlY3QgYm9yZGVyIGJvcmRlci1wdXJwbGUtNTAwLzMwIG5lb24tZ2xvdy1wdXJwbGVcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJoLTEyIHctMTIgcm91bmRlZC14bCBiZy1ncmFkaWVudC10by1iciBmcm9tLXB1cnBsZS02MDAvMzAgdG8tY3lhbi01MDAvMzAgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgdGV4dC0yeGwgc2hyaW5rLTAgYm9yZGVyIGJvcmRlci1wdXJwbGUtNTAwLzMwXCI+XG4gICAgICAgICAgICAgICAgICAgICAge2FnZW50LmF2YXRhcn1cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleC0xIG1pbi13LTBcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJmb250LWJvbGQgdGV4dC1bMTNweF0gYmctZ3JhZGllbnQtdG8tciBmcm9tLWN5YW4tNDAwIHRvLXB1cnBsZS00MDAgYmctY2xpcC10ZXh0IHRleHQtdHJhbnNwYXJlbnRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHthZ2VudC5uYW1lfVxuICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJ0ZXh0LVsxMXB4XSB0ZXh0LWdyYXktNDAwIG10LTEgbGVhZGluZy1yZWxheGVkXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7YWdlbnQuZGVzY3JpcHRpb24gfHwgXCLmmoLml6Dmj4/ov7BcIn1cbiAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgIHsvKiDlvZPliY3mqKHlnosgKi99XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInNwYWNlLXktMlwiPlxuICAgICAgICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJ0ZXh0LVsxMXB4XSBmb250LWJvbGQgdGV4dC1jeWFuLTQwMCB1cHBlcmNhc2UgdHJhY2tpbmctd2lkZVwiPlxuICAgICAgICAgICAgICAgICAgICAgIOW9k+WJjeaooeWei1xuICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm91bmRlZC14bCBnbGFzcy1lZmZlY3QgYm9yZGVyIGJvcmRlci1jeWFuLTUwMC8zMCBwLTNcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJ0ZXh0LVsxMnB4XSBmb250LW1vbm8gZm9udC1ib2xkIHRleHQtY3lhbi0zMDBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHthZ2VudC5tb2RlbC5wcm92aWRlcn0gLyB7YWdlbnQubW9kZWwubW9kZWxJZH1cbiAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGdhcC0yIG10LTIgZmxleC13cmFwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7YWdlbnQubW9kZWwudGhpbmtpbmdMZXZlbCAhPT0gXCJvZmZcIiAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQtWzEwcHhdIHB4LTIgcHktMSByb3VuZGVkLW1kIGdsYXNzLWVmZmVjdCBib3JkZXIgYm9yZGVyLXB1cnBsZS01MDAvMzAgdGV4dC1wdXJwbGUtMzAwIGZvbnQtbWVkaXVtXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAg8J+noCB7YWdlbnQubW9kZWwudGhpbmtpbmdMZXZlbH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQtWzEwcHhdIHB4LTIgcHktMSByb3VuZGVkLW1kIGdsYXNzLWVmZmVjdCBib3JkZXIgYm9yZGVyLWN5YW4tNTAwLzMwIHRleHQtY3lhbi0zMDAgZm9udC1tZWRpdW1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgdGVtcCB7YWdlbnQubW9kZWwudGVtcGVyYXR1cmV9XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgIHsvKiDkvJror53nlKjph4/nu5/orqEgKi99XG4gICAgICAgICAgICAgICAgICB7c2Vzc2lvblN0YXRzICYmIChcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJzcGFjZS15LTJcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJ0ZXh0LVsxMXB4XSBmb250LWJvbGQgdGV4dC1wdXJwbGUtNDAwIHVwcGVyY2FzZSB0cmFja2luZy13aWRlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICDmnKzmrKHkvJror53nlKjph49cbiAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3VuZGVkLXhsIGdsYXNzLWVmZmVjdCBib3JkZXIgYm9yZGVyLXB1cnBsZS01MDAvMzAgcC0zIHNwYWNlLXktMlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGp1c3RpZnktYmV0d2VlbiB0ZXh0LVsxMXB4XSBpdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC1ncmF5LTQwMFwiPui+k+WFpSB0b2tlbnM8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImZvbnQtbW9ubyBmb250LWJvbGQgdGV4dC1jeWFuLTMwMFwiPntzZXNzaW9uU3RhdHMudG9rZW5zLmlucHV0LnRvTG9jYWxlU3RyaW5nKCl9PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXgganVzdGlmeS1iZXR3ZWVuIHRleHQtWzExcHhdIGl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LWdyYXktNDAwXCI+6L6T5Ye6IHRva2Vuczwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiZm9udC1tb25vIGZvbnQtYm9sZCB0ZXh0LXB1cnBsZS0zMDBcIj57c2Vzc2lvblN0YXRzLnRva2Vucy5vdXRwdXQudG9Mb2NhbGVTdHJpbmcoKX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHtzZXNzaW9uU3RhdHMuY29zdCA+IDAgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXgganVzdGlmeS1iZXR3ZWVuIHRleHQtWzExcHhdIGl0ZW1zLWNlbnRlciBwdC0yIGJvcmRlci10IGJvcmRlci13aGl0ZS8xMFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQtZ3JheS00MDBcIj7otLnnlKg8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiZm9udC1tb25vIGZvbnQtYm9sZCB0ZXh0LWdyZWVuLTMwMFwiPiR7c2Vzc2lvblN0YXRzLmNvc3QudG9GaXhlZCg0KX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgIHtzZXNzaW9uU3RhdHMuY29udGV4dFVzYWdlICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJzcGFjZS15LTEuNSBwdC0yIGJvcmRlci10IGJvcmRlci13aGl0ZS8xMFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBqdXN0aWZ5LWJldHdlZW4gdGV4dC1bMTFweF0gaXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LWdyYXktNDAwXCI+Q29udGV4dCDnlKjph488L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9e2NuKFwiZm9udC1tb25vIGZvbnQtYm9sZFwiLCBjdHhQY3QgPiA4MCA/IFwidGV4dC1yZWQtNDAwXCIgOiBcInRleHQtY3lhbi0zMDBcIil9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Y3R4UGN0fSVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImgtMS41IHctZnVsbCByb3VuZGVkLWZ1bGwgYmctd2hpdGUvMTAgb3ZlcmZsb3ctaGlkZGVuXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Y24oXCJoLWZ1bGwgcm91bmRlZC1mdWxsIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTUwMFwiLCBjdHhDb2xvcil9IHN0eWxlPXt7IHdpZHRoOiBgJHtjdHhQY3R9JWAgfX0gLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICl9XG5cbiAgICAgICAgICAgICAgICAgIHsvKiDlt7LlvIDlkK/lt6XlhbcgKi99XG4gICAgICAgICAgICAgICAgICB7T2JqZWN0LmVudHJpZXMoYWdlbnQudG9vbHMpLnNvbWUoKFssIHZdKSA9PiB2KSAmJiAoXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwic3BhY2UteS0yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwidGV4dC1bMTFweF0gZm9udC1ib2xkIHRleHQtZ3JlZW4tNDAwIHVwcGVyY2FzZSB0cmFja2luZy13aWRlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICDlt7LlvIDlkK/lt6XlhbdcbiAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGZsZXgtd3JhcCBnYXAtMlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAge09iamVjdC5lbnRyaWVzKGFnZW50LnRvb2xzKS5maWx0ZXIoKFssIHZdKSA9PiB2KS5tYXAoKFtrXSkgPT4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleT17a31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJ0ZXh0LVsxMXB4XSBweC0zIHB5LTEgcm91bmRlZC1sZyBnbGFzcy1lZmZlY3QgYm9yZGVyIGJvcmRlci1ncmVlbi01MDAvMzAgdGV4dC1ncmVlbi0zMDAgZm9udC1tZWRpdW1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge2t9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICl9XG5cbiAgICAgICAgICAgICAgICAgIHsvKiBTa2lsbHPliJfooaggKi99XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInNwYWNlLXktMlwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlblwiPlxuICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQtWzExcHhdIGZvbnQtYm9sZCB0ZXh0LWN5YW4tNDAwIHVwcGVyY2FzZSB0cmFja2luZy13aWRlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICBTa2lsbHMgPHNwYW4gY2xhc3NOYW1lPVwibm9ybWFsLWNhc2UgZm9udC1ub3JtYWwgdGV4dC1bMTBweF0gdGV4dC1ncmF5LTUwMFwiPu+8iOacrOasoeS8muivne+8iTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAge3Nlc3Npb25Ta2lsbHMgIT09IG51bGwgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gc2V0U2Vzc2lvblNraWxscyhudWxsKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwidGV4dC1bMTBweF0gdGV4dC1wdXJwbGUtNDAwIGhvdmVyOnRleHQtcHVycGxlLTMwMCBmb250LW1lZGl1bSB0cmFuc2l0aW9uLWNvbG9yc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIOmHjee9rlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIHtpbnN0YWxsZWRTa2lsbHMubGVuZ3RoID09PSAwID8gKFxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidGV4dC1jZW50ZXIgcHktOCBweC00IHJvdW5kZWQteGwgZ2xhc3MtZWZmZWN0IGJvcmRlciBib3JkZXItZGFzaGVkIGJvcmRlci1wdXJwbGUtNTAwLzMwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8WmFwIGNsYXNzTmFtZT1cImgtOCB3LTggbXgtYXV0byBtYi0yIHRleHQtcHVycGxlLTQwMFwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJ0ZXh0LVsxMXB4XSB0ZXh0LWdyYXktNDAwXCI+6L+Y5rKh5pyJ5a6J6KOF5Lu75L2VIFNraWxsPC9wPlxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwic3BhY2UteS0yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7aW5zdGFsbGVkU2tpbGxzLm1hcCgoc2tpbGwpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZW5hYmxlZCA9IGVmZmVjdGl2ZVNraWxscy5pbmNsdWRlcyhza2lsbC5uYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk9e3NraWxsLm5hbWV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHRvZ2dsZVNlc3Npb25Ta2lsbChza2lsbC5uYW1lKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y24oXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwidy1mdWxsIGZsZXggaXRlbXMtY2VudGVyIGdhcC0yLjUgcm91bmRlZC14bCBweC0zIHB5LTIuNSB0ZXh0LWxlZnQgdHJhbnNpdGlvbi1hbGwgYm9yZGVyXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuYWJsZWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IFwiZ2xhc3MtZWZmZWN0IGJvcmRlci1wdXJwbGUtNTAwLzUwIG5lb24tZ2xvdy1wdXJwbGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJib3JkZXItd2hpdGUvMTAgaG92ZXI6Ym9yZGVyLXB1cnBsZS01MDAvMzAgaG92ZXI6Ymctd2hpdGUvNVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbihcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImgtNSB3LTUgcm91bmRlZC1sZyBzaHJpbmstMCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciB0cmFuc2l0aW9uLWFsbCBib3JkZXJcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmFibGVkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IFwiYmctZ3JhZGllbnQtdG8tYnIgZnJvbS1wdXJwbGUtNjAwIHRvLWN5YW4tNTAwIGJvcmRlci1wdXJwbGUtNTAwLzUwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJiZy13aGl0ZS8xMCBib3JkZXItd2hpdGUvMjBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7ZW5hYmxlZCAmJiA8Q2hlY2sgY2xhc3NOYW1lPVwiaC0zIHctMyB0ZXh0LXdoaXRlIHN0cm9rZS1bM11cIiAvPn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJtaW4tdy0wIGZsZXgtMVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9e2NuKFwidGV4dC1bMTFweF0gZm9udC1tb25vIGZvbnQtYm9sZCB0cnVuY2F0ZVwiLCBlbmFibGVkID8gXCJ0ZXh0LWN5YW4tNDAwXCIgOiBcInRleHQtZ3JheS0zMDBcIil9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtza2lsbC5uYW1lfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtza2lsbC5kZXNjcmlwdGlvbiAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwidGV4dC1bMTBweF0gdGV4dC1ncmF5LTUwMCB0cnVuY2F0ZSBtdC0wLjVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtza2lsbC5kZXNjcmlwdGlvbn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgIHsvKiDkurrorr7mj5DnpLror40gKi99XG4gICAgICAgICAgICAgICAgICB7YWdlbnQuc3lzdGVtUHJvbXB0ICYmIChcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJzcGFjZS15LTJcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJ0ZXh0LVsxMXB4XSBmb250LWJvbGQgdGV4dC1wdXJwbGUtNDAwIHVwcGVyY2FzZSB0cmFja2luZy13aWRlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICDkurrorr7mj5DnpLror41cbiAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3VuZGVkLXhsIGdsYXNzLWVmZmVjdCBib3JkZXIgYm9yZGVyLXB1cnBsZS01MDAvMzAgcC0zXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJ0ZXh0LVsxMXB4XSB0ZXh0LWdyYXktNDAwIGxlYWRpbmctcmVsYXhlZCBsaW5lLWNsYW1wLTYgd2hpdGVzcGFjZS1wcmUtd3JhcFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB7YWdlbnQuc3lzdGVtUHJvbXB0fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvU2Nyb2xsQXJlYT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICl9XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICk7XG59XG4iXSwibmFtZXMiOlsidXNlRWZmZWN0IiwidXNlU3RhdGUiLCJ1c2VSZWYiLCJ1c2VDYWxsYmFjayIsInVzZVRyYW5zbGF0aW9ucyIsInVzZUxvY2FsZSIsIlBsdXMiLCJIaXN0b3J5IiwiQ2hldnJvbkxlZnQiLCJDaGV2cm9uRG93biIsIkluZm8iLCJaYXAiLCJDaGVjayIsIlRyYXNoMiIsIlNxdWFyZSIsIk1lc3NhZ2VCdWJibGUiLCJUeXBpbmdCdWJibGUiLCJJbnB1dEJhciIsIlNjcm9sbEFyZWEiLCJjbiIsInY0IiwidXVpZHY0IiwidG9hc3QiLCJUSU1FU1RBTVBfR0FQX01TIiwiQ2hhdFBhZ2UiLCJwYXJhbXMiLCJ0IiwibG9jYWxlIiwiYWdlbnRJZCIsInNldEFnZW50SWQiLCJhZ2VudCIsInNldEFnZW50IiwibWVzc2FnZXMiLCJzZXRNZXNzYWdlcyIsInNlc3Npb25zIiwic2V0U2Vzc2lvbnMiLCJjdXJyZW50U2Vzc2lvbkZpbGUiLCJzZXRDdXJyZW50U2Vzc2lvbkZpbGUiLCJzdHJlYW1pbmciLCJzZXRTdHJlYW1pbmciLCJzaG93U2lkZWJhciIsInNldFNob3dTaWRlYmFyIiwic2hvd0luZm9QYW5lbCIsInNldFNob3dJbmZvUGFuZWwiLCJwZW5kaW5nVFRTIiwic2V0UGVuZGluZ1RUUyIsImNvbXBhY3RpbmciLCJzZXRDb21wYWN0aW5nIiwic2Vzc2lvblN0YXRzIiwic2V0U2Vzc2lvblN0YXRzIiwic2hvd1Njcm9sbEJ0biIsInNldFNob3dTY3JvbGxCdG4iLCJjb25maXJtQ2xlYXJBbGwiLCJzZXRDb25maXJtQ2xlYXJBbGwiLCJwZW5kaW5nRm9sbG93dXAiLCJzZXRQZW5kaW5nRm9sbG93dXAiLCJzZXNzaW9uU2tpbGxzIiwic2V0U2Vzc2lvblNraWxscyIsImluc3RhbGxlZFNraWxscyIsInNldEluc3RhbGxlZFNraWxscyIsInNlc3Npb25Nb2RlbCIsInNldFNlc3Npb25Nb2RlbCIsImJvdHRvbVJlZiIsImNoYXRTY3JvbGxSZWYiLCJhYm9ydENvbnRyb2xsZXJSZWYiLCJwZW5kaW5nU3RlZXJSZWYiLCJhZ2VudFJlZiIsImFnZW50SWRSZWYiLCJzZXNzaW9uRmlsZVJlZiIsInNlc3Npb25Ta2lsbHNSZWYiLCJzZXNzaW9uTW9kZWxSZWYiLCJjdXJyZW50IiwidGhlbiIsImlkIiwiYWdlbnRSZXMiLCJzZXNzUmVzIiwic2tpbGxzUmVzIiwiUHJvbWlzZSIsImFsbCIsImZldGNoIiwiciIsImpzb24iLCJzY3JvbGxJbnRvVmlldyIsImJlaGF2aW9yIiwiaGFuZGxlU2Nyb2xsIiwiZWwiLCJzY3JvbGxIZWlnaHQiLCJzY3JvbGxUb3AiLCJjbGllbnRIZWlnaHQiLCJlZmZlY3RpdmVTa2lsbHMiLCJlbmFibGVkU2tpbGxzIiwic3RvcFN0cmVhbWluZyIsImFib3J0IiwiZG9TZW5kIiwidGV4dCIsImltYWdlcyIsImFnIiwiYWlkIiwidXNlck1zZyIsInJvbGUiLCJjb250ZW50IiwiY3JlYXRlZEF0IiwiRGF0ZSIsInByZXYiLCJhc3Npc3RhbnRJZCIsInRvb2xDYWxscyIsInRvb2xNYXAiLCJNYXAiLCJBYm9ydENvbnRyb2xsZXIiLCJyZXMiLCJtZXRob2QiLCJoZWFkZXJzIiwic2lnbmFsIiwiYm9keSIsIkpTT04iLCJzdHJpbmdpZnkiLCJtZXNzYWdlIiwic2Vzc2lvbkZpbGUiLCJvdmVycmlkZVNraWxscyIsInVuZGVmaW5lZCIsIm92ZXJyaWRlUHJvdmlkZXIiLCJwcm92aWRlciIsIm92ZXJyaWRlTW9kZWxJZCIsIm1vZGVsSWQiLCJtYXAiLCJpbWciLCJkYXRhIiwibWltZVR5cGUiLCJvayIsIkVycm9yIiwic3RhdHVzIiwicmVhZGVyIiwiZ2V0UmVhZGVyIiwiZGVjb2RlciIsIlRleHREZWNvZGVyIiwiYnVmZmVyIiwiZG9uZSIsInZhbHVlIiwicmVhZCIsImRlY29kZSIsInN0cmVhbSIsImxpbmVzIiwic3BsaXQiLCJwb3AiLCJsaW5lIiwic3RhcnRzV2l0aCIsImV2IiwicGFyc2UiLCJzbGljZSIsImhhbmRsZVNTRUV2ZW50IiwiZSIsIm5hbWUiLCJtc2ciLCJTdHJpbmciLCJtIiwidGl0bGUiLCJkZXNjcmlwdGlvbiIsInZhcmlhbnQiLCJldmVudCIsInVzZXJUZXh0IiwidHlwZSIsImRlbHRhIiwidGhpbmtpbmciLCJ0YyIsInRvb2xDYWxsSWQiLCJ0b29sTmFtZSIsImlzTG9hZGluZyIsInNldCIsImdldCIsInUiLCJpbnB1dCIsImlzRXJyb3IiLCJvdXRwdXQiLCJmdWxsT3V0cHV0UGF0aCIsInRydW5jYXRlZCIsInNmIiwicGF0aCIsImZpbmQiLCJzIiwic2Vzc2lvbl9maWxlIiwiY3JlYXRlZF9hdCIsIm5vdyIsInN0YXRzIiwic2VuZE1lc3NhZ2UiLCJtb2RlIiwibmV3U2Vzc2lvbiIsImxvYWRTZXNzaW9uIiwiaGlzdG9yeSIsImhhbmRsZVJldHJ5IiwiaWR4IiwiZmluZEluZGV4IiwiaSIsImhhbmRsZUZvcmsiLCJkZWxldGVTZXNzaW9uIiwic2lkIiwic3RvcFByb3BhZ2F0aW9uIiwiZmlsdGVyIiwiY2xlYXJBbGxTZXNzaW9ucyIsInNldFRpbWVvdXQiLCJ0b2dnbGVTZXNzaW9uU2tpbGwiLCJiYXNlIiwiaW5jbHVkZXMiLCJkaXYiLCJjbGFzc05hbWUiLCJzaG91bGRTaG93VGltZXN0YW1wIiwiZ2V0VGltZSIsImN0eFBjdCIsImNvbnRleHRVc2FnZSIsInBlcmNlbnQiLCJjdHhDb2xvciIsInNwYW4iLCJidXR0b24iLCJvbkNsaWNrIiwibGVuZ3RoIiwicCIsInRvTG9jYWxlRGF0ZVN0cmluZyIsImF2YXRhciIsInN0eWxlIiwid2lkdGgiLCJ0b2tlbnMiLCJ0b0xvY2FsZVN0cmluZyIsImNvc3QiLCJ0b0ZpeGVkIiwiY29udGV4dFdpbmRvdyIsInJlZiIsIm9uU2Nyb2xsIiwiaXNTdHJlYW1pbmdFbXB0eSIsImFnZW50QXZhdGFyIiwiYWdlbnROYW1lIiwic2hvd1RpbWVzdGFtcCIsIm9uUmV0cnkiLCJvbkZvcmsiLCJvblNwZWFrIiwib25TZW5kIiwiZGlzYWJsZWQiLCJpc1N0cmVhbWluZyIsInZvaWNlRW5hYmxlZCIsInZvaWNlIiwiZW5hYmxlZCIsInZvaWNlU3BlZWQiLCJzcGVlZCIsImFnZW50TGFuZ3VhZ2UiLCJwZXJzb25hIiwibGFuZ3VhZ2UiLCJ0dHNQcm92aWRlciIsInR0c01vZGVsIiwidm9pY2VJZCIsInBlbmRpbmdSZXBseSIsIm9uU3BlYWtEb25lIiwib25OZXdTZXNzaW9uIiwib25DbGVhck1lc3NhZ2VzIiwiY3VycmVudE1vZGVsIiwibW9kZWwiLCJvbk1vZGVsQ2hhbmdlIiwidGhpbmtpbmdMZXZlbCIsInRlbXBlcmF0dXJlIiwiT2JqZWN0IiwiZW50cmllcyIsInRvb2xzIiwic29tZSIsInYiLCJrIiwic2tpbGwiLCJzeXN0ZW1Qcm9tcHQiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/app/[locale]/agents/[id]/chat/page.tsx\n");
|
|
293
|
-
|
|
294
|
-
/***/ }),
|
|
295
|
-
|
|
296
|
-
/***/ "(ssr)/./src/components/chat/input-bar.tsx":
|
|
297
|
-
/*!*******************************************!*\
|
|
298
|
-
!*** ./src/components/chat/input-bar.tsx ***!
|
|
299
|
-
\*******************************************/
|
|
300
|
-
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
301
|
-
|
|
302
|
-
"use strict";
|
|
303
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ InputBar: () => (/* binding */ InputBar)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var next_intl__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! next-intl */ \"(ssr)/./node_modules/next-intl/dist/development/index.react-client.js\");\n/* harmony import */ var next_intl__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(next_intl__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _barrel_optimize_names_ChevronDown_Cpu_ImagePlus_Mic_MicOff_Plus_Send_Terminal_Trash2_VolumeX_X_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! __barrel_optimize__?names=ChevronDown,Cpu,ImagePlus,Mic,MicOff,Plus,Send,Terminal,Trash2,VolumeX,X,Zap!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/plus.js\");\n/* harmony import */ var _barrel_optimize_names_ChevronDown_Cpu_ImagePlus_Mic_MicOff_Plus_Send_Terminal_Trash2_VolumeX_X_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! __barrel_optimize__?names=ChevronDown,Cpu,ImagePlus,Mic,MicOff,Plus,Send,Terminal,Trash2,VolumeX,X,Zap!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/trash-2.js\");\n/* harmony import */ var _barrel_optimize_names_ChevronDown_Cpu_ImagePlus_Mic_MicOff_Plus_Send_Terminal_Trash2_VolumeX_X_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! __barrel_optimize__?names=ChevronDown,Cpu,ImagePlus,Mic,MicOff,Plus,Send,Terminal,Trash2,VolumeX,X,Zap!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/zap.js\");\n/* harmony import */ var _barrel_optimize_names_ChevronDown_Cpu_ImagePlus_Mic_MicOff_Plus_Send_Terminal_Trash2_VolumeX_X_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! __barrel_optimize__?names=ChevronDown,Cpu,ImagePlus,Mic,MicOff,Plus,Send,Terminal,Trash2,VolumeX,X,Zap!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/terminal.js\");\n/* harmony import */ var _barrel_optimize_names_ChevronDown_Cpu_ImagePlus_Mic_MicOff_Plus_Send_Terminal_Trash2_VolumeX_X_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! __barrel_optimize__?names=ChevronDown,Cpu,ImagePlus,Mic,MicOff,Plus,Send,Terminal,Trash2,VolumeX,X,Zap!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/x.js\");\n/* harmony import */ var _barrel_optimize_names_ChevronDown_Cpu_ImagePlus_Mic_MicOff_Plus_Send_Terminal_Trash2_VolumeX_X_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! __barrel_optimize__?names=ChevronDown,Cpu,ImagePlus,Mic,MicOff,Plus,Send,Terminal,Trash2,VolumeX,X,Zap!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/image-plus.js\");\n/* harmony import */ var _barrel_optimize_names_ChevronDown_Cpu_ImagePlus_Mic_MicOff_Plus_Send_Terminal_Trash2_VolumeX_X_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! __barrel_optimize__?names=ChevronDown,Cpu,ImagePlus,Mic,MicOff,Plus,Send,Terminal,Trash2,VolumeX,X,Zap!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/cpu.js\");\n/* harmony import */ var _barrel_optimize_names_ChevronDown_Cpu_ImagePlus_Mic_MicOff_Plus_Send_Terminal_Trash2_VolumeX_X_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! __barrel_optimize__?names=ChevronDown,Cpu,ImagePlus,Mic,MicOff,Plus,Send,Terminal,Trash2,VolumeX,X,Zap!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/chevron-down.js\");\n/* harmony import */ var _barrel_optimize_names_ChevronDown_Cpu_ImagePlus_Mic_MicOff_Plus_Send_Terminal_Trash2_VolumeX_X_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! __barrel_optimize__?names=ChevronDown,Cpu,ImagePlus,Mic,MicOff,Plus,Send,Terminal,Trash2,VolumeX,X,Zap!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/volume-x.js\");\n/* harmony import */ var _barrel_optimize_names_ChevronDown_Cpu_ImagePlus_Mic_MicOff_Plus_Send_Terminal_Trash2_VolumeX_X_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! __barrel_optimize__?names=ChevronDown,Cpu,ImagePlus,Mic,MicOff,Plus,Send,Terminal,Trash2,VolumeX,X,Zap!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/mic-off.js\");\n/* harmony import */ var _barrel_optimize_names_ChevronDown_Cpu_ImagePlus_Mic_MicOff_Plus_Send_Terminal_Trash2_VolumeX_X_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! __barrel_optimize__?names=ChevronDown,Cpu,ImagePlus,Mic,MicOff,Plus,Send,Terminal,Trash2,VolumeX,X,Zap!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/mic.js\");\n/* harmony import */ var _barrel_optimize_names_ChevronDown_Cpu_ImagePlus_Mic_MicOff_Plus_Send_Terminal_Trash2_VolumeX_X_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! __barrel_optimize__?names=ChevronDown,Cpu,ImagePlus,Mic,MicOff,Plus,Send,Terminal,Trash2,VolumeX,X,Zap!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/send.js\");\n/* harmony import */ var _lib_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/lib/utils */ \"(ssr)/./src/lib/utils.ts\");\n/* __next_internal_client_entry_do_not_use__ InputBar auto */ \n\n\n\n\nconst MODE_META = {\n normal: {\n label: \"发送\",\n color: \"bg-blue-500 hover:bg-blue-600 dark:bg-cyan-600 dark:hover:bg-cyan-500\",\n activeColor: \"text-blue-600 dark:text-cyan-400\",\n desc: \"普通发送\"\n },\n steer: {\n label: \"引导\",\n color: \"bg-orange-500 hover:bg-orange-600 dark:bg-orange-600 dark:hover:bg-orange-500\",\n activeColor: \"text-orange-600 dark:text-orange-400\",\n desc: \"中断并引导当前生成\"\n },\n followup: {\n label: \"追加\",\n color: \"bg-indigo-500 hover:bg-indigo-600 dark:bg-purple-600 dark:hover:bg-purple-500\",\n activeColor: \"text-indigo-600 dark:text-purple-400\",\n desc: \"完成后追加\"\n }\n};\nconst MAX_IMAGES = 4;\nconst ACCEPT_TYPES = \"image/jpeg,image/png,image/gif,image/webp\";\nasync function fileToAttachedImage(file) {\n return new Promise((resolve, reject)=>{\n const reader = new FileReader();\n reader.onload = ()=>{\n const dataUrl = reader.result;\n const base64 = dataUrl.split(\",\")[1];\n resolve({\n id: Math.random().toString(36).slice(2),\n data: base64,\n mimeType: file.type || \"image/jpeg\",\n name: file.name,\n previewUrl: dataUrl\n });\n };\n reader.onerror = reject;\n reader.readAsDataURL(file);\n });\n}\nfunction InputBar({ onSend, disabled, voiceEnabled, voiceSpeed = 1, agentLanguage = \"zh-CN\", ttsProvider = \"browser\", ttsModel, voiceId, pendingReply, onSpeakDone, installedSkills = [], onNewSession, onClearMessages, isStreaming, currentModel, onModelChange }) {\n const t = (0,next_intl__WEBPACK_IMPORTED_MODULE_3__.useTranslations)(\"chat\");\n const [text, setText] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(\"\");\n const [images, setImages] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)([]);\n const [mode, setMode] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(\"normal\");\n const [showModeMenu, setShowModeMenu] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const [showModelMenu, setShowModelMenu] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const [modelGroups, setModelGroups] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)([]);\n const [recording, setRecording] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const [speaking, setSpeaking] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const [showPanel, setShowPanel] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const [slashFilter, setSlashFilter] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(\"\");\n const [selectedIdx, setSelectedIdx] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(0);\n const [inputHistory, setInputHistory] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)([]);\n const [historyIdx, setHistoryIdx] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(-1);\n const [draftText, setDraftText] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(\"\");\n const [dragging, setDragging] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const textareaRef = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(null);\n const fileInputRef = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(null);\n const recognitionRef = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(null);\n const panelRef = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(null);\n const dragCounterRef = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(0);\n // Lazy-load model list when menu first opens\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)({\n \"InputBar.useEffect\": ()=>{\n if (!showModelMenu || modelGroups.length > 0) return;\n fetch(\"/api/models\").then({\n \"InputBar.useEffect\": (r)=>r.json()\n }[\"InputBar.useEffect\"]).then(setModelGroups).catch({\n \"InputBar.useEffect\": ()=>{}\n }[\"InputBar.useEffect\"]);\n }\n }[\"InputBar.useEffect\"], [\n showModelMenu,\n modelGroups.length\n ]);\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)({\n \"InputBar.useEffect\": ()=>{\n const ta = textareaRef.current;\n if (!ta) return;\n ta.style.height = \"auto\";\n ta.style.height = Math.min(ta.scrollHeight, 150) + \"px\";\n }\n }[\"InputBar.useEffect\"], [\n text\n ]);\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)({\n \"InputBar.useEffect\": ()=>{\n if (!pendingReply || !voiceEnabled || \"undefined\" === \"undefined\") return;\n const speak = {\n \"InputBar.useEffect.speak\": async ()=>{\n if (ttsProvider === \"openai\") {\n // OpenAI TTS\n try {\n setSpeaking(true);\n const response = await fetch(\"/api/tts\", {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\"\n },\n body: JSON.stringify({\n text: pendingReply,\n model: ttsModel || \"tts-1\",\n voice: voiceId || \"alloy\",\n speed: voiceSpeed || 1.0\n })\n });\n if (!response.ok) throw new Error(\"TTS request failed\");\n const audioBlob = await response.blob();\n const audioUrl = URL.createObjectURL(audioBlob);\n const audio = new Audio(audioUrl);\n audio.onended = ({\n \"InputBar.useEffect.speak\": ()=>{\n setSpeaking(false);\n onSpeakDone?.();\n URL.revokeObjectURL(audioUrl);\n }\n })[\"InputBar.useEffect.speak\"];\n audio.onerror = ({\n \"InputBar.useEffect.speak\": ()=>{\n setSpeaking(false);\n onSpeakDone?.();\n URL.revokeObjectURL(audioUrl);\n }\n })[\"InputBar.useEffect.speak\"];\n await audio.play();\n } catch (error) {\n console.error(\"OpenAI TTS error:\", error);\n setSpeaking(false);\n onSpeakDone?.();\n }\n } else {\n // Browser TTS\n window.speechSynthesis?.cancel();\n const utt = new SpeechSynthesisUtterance(pendingReply);\n utt.lang = agentLanguage;\n utt.rate = voiceSpeed || 1.0;\n if (voiceId) {\n const voices = window.speechSynthesis.getVoices();\n const voice = voices.find({\n \"InputBar.useEffect.speak.voice\": (v)=>v.name === voiceId || v.voiceURI === voiceId\n }[\"InputBar.useEffect.speak.voice\"]);\n if (voice) utt.voice = voice;\n }\n utt.onstart = ({\n \"InputBar.useEffect.speak\": ()=>setSpeaking(true)\n })[\"InputBar.useEffect.speak\"];\n utt.onend = ({\n \"InputBar.useEffect.speak\": ()=>{\n setSpeaking(false);\n onSpeakDone?.();\n }\n })[\"InputBar.useEffect.speak\"];\n window.speechSynthesis.speak(utt);\n }\n }\n }[\"InputBar.useEffect.speak\"];\n speak();\n }\n }[\"InputBar.useEffect\"], [\n pendingReply,\n voiceEnabled,\n voiceSpeed,\n agentLanguage,\n ttsProvider,\n ttsModel,\n voiceId,\n onSpeakDone\n ]);\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)({\n \"InputBar.useEffect\": ()=>{\n if (isStreaming && mode === \"normal\") setMode(\"steer\");\n if (!isStreaming && mode === \"steer\") setMode(\"normal\");\n }\n }[\"InputBar.useEffect\"], [\n isStreaming,\n mode\n ]);\n const addImages = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)({\n \"InputBar.useCallback[addImages]\": async (files)=>{\n const valid = files.filter({\n \"InputBar.useCallback[addImages].valid\": (f)=>f.type.startsWith(\"image/\")\n }[\"InputBar.useCallback[addImages].valid\"]).slice(0, MAX_IMAGES);\n if (!valid.length) return;\n const converted = await Promise.all(valid.map(fileToAttachedImage));\n setImages({\n \"InputBar.useCallback[addImages]\": (prev)=>[\n ...prev,\n ...converted\n ].slice(0, MAX_IMAGES)\n }[\"InputBar.useCallback[addImages]\"]);\n }\n }[\"InputBar.useCallback[addImages]\"], []);\n const removeImage = (id)=>setImages((prev)=>prev.filter((i)=>i.id !== id));\n const handleFileInput = (e)=>{\n if (e.target.files) {\n void addImages(Array.from(e.target.files));\n e.target.value = \"\";\n }\n };\n const handlePaste = (e)=>{\n const imageFiles = Array.from(e.clipboardData.items).filter((item)=>item.type.startsWith(\"image/\")).map((item)=>item.getAsFile()).filter(Boolean);\n if (imageFiles.length) {\n e.preventDefault();\n void addImages(imageFiles);\n }\n };\n const handleDragEnter = (e)=>{\n e.preventDefault();\n dragCounterRef.current++;\n if (Array.from(e.dataTransfer.items).some((i)=>i.type.startsWith(\"image/\"))) setDragging(true);\n };\n const handleDragLeave = (e)=>{\n e.preventDefault();\n dragCounterRef.current--;\n if (dragCounterRef.current <= 0) {\n dragCounterRef.current = 0;\n setDragging(false);\n }\n };\n const handleDragOver = (e)=>e.preventDefault();\n const handleDrop = (e)=>{\n e.preventDefault();\n dragCounterRef.current = 0;\n setDragging(false);\n const files = Array.from(e.dataTransfer.files);\n void addImages(files);\n };\n // Slash commands\n const allCommands = [\n {\n id: \"new\",\n label: \"新建会话\",\n description: \"开始全新对话\",\n icon: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_ChevronDown_Cpu_ImagePlus_Mic_MicOff_Plus_Send_Terminal_Trash2_VolumeX_X_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n className: \"h-4 w-4 text-blue-500\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/input-bar.tsx\",\n lineNumber: 226,\n columnNumber: 62\n }, this),\n category: \"system\",\n action: ()=>{\n onNewSession?.();\n setText(\"\");\n setShowPanel(false);\n }\n },\n {\n id: \"clear\",\n label: \"清空消息\",\n description: \"清空当前窗口消息\",\n icon: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_ChevronDown_Cpu_ImagePlus_Mic_MicOff_Plus_Send_Terminal_Trash2_VolumeX_X_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n className: \"h-4 w-4 text-red-500\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/input-bar.tsx\",\n lineNumber: 227,\n columnNumber: 66\n }, this),\n category: \"system\",\n action: ()=>{\n onClearMessages?.();\n setText(\"\");\n setShowPanel(false);\n }\n },\n ...installedSkills.map((s)=>({\n id: `skill:${s.name}`,\n label: s.name,\n description: s.description || \"执行此 Skill\",\n icon: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_ChevronDown_Cpu_ImagePlus_Mic_MicOff_Plus_Send_Terminal_Trash2_VolumeX_X_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n className: \"h-4 w-4 text-purple-500\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/input-bar.tsx\",\n lineNumber: 230,\n columnNumber: 13\n }, this),\n category: \"skill\",\n insert: `/${s.name} `\n }))\n ];\n const filteredCommands = allCommands.filter((c)=>!slashFilter || c.label.toLowerCase().includes(slashFilter.toLowerCase()) || c.description.toLowerCase().includes(slashFilter.toLowerCase()));\n const handleChange = (e)=>{\n const val = e.target.value;\n setText(val);\n setHistoryIdx(-1);\n if (val === \"/\" || /(?:^|\\n)\\/$/.test(val)) {\n setSlashFilter(\"\");\n setSelectedIdx(0);\n setShowPanel(true);\n } else if (showPanel) {\n const match = val.match(/(?:^|\\n)\\/([^\\s]*)$/);\n if (match) {\n setSlashFilter(match[1]);\n setSelectedIdx(0);\n } else setShowPanel(false);\n }\n };\n const selectCommand = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)({\n \"InputBar.useCallback[selectCommand]\": (cmd)=>{\n if (cmd.action) {\n cmd.action();\n return;\n }\n if (cmd.insert) {\n const newText = text.replace(/(?:^|\\n)\\/[^\\s]*$/, {\n \"InputBar.useCallback[selectCommand].newText\": (m)=>m.startsWith(\"\\n\") ? \"\\n\" + cmd.insert : cmd.insert ?? \"\"\n }[\"InputBar.useCallback[selectCommand].newText\"]);\n setText(newText ?? \"\");\n setShowPanel(false);\n textareaRef.current?.focus();\n }\n }\n }[\"InputBar.useCallback[selectCommand]\"], [\n text\n ]);\n const handleSend = ()=>{\n if (!text.trim() && !images.length || disabled) return;\n const toSend = text.trim();\n onSend(toSend, mode, images.length ? images : undefined);\n if (toSend) setInputHistory((prev)=>[\n toSend,\n ...prev.filter((x)=>x !== toSend)\n ].slice(0, 50));\n setText(\"\");\n setImages([]);\n setHistoryIdx(-1);\n setShowPanel(false);\n if (mode === \"steer\" || mode === \"followup\") setMode(\"normal\");\n };\n const handleKeyDown = (e)=>{\n if (showPanel) {\n if (e.key === \"ArrowDown\") {\n e.preventDefault();\n setSelectedIdx((i)=>Math.min(i + 1, filteredCommands.length - 1));\n } else if (e.key === \"ArrowUp\") {\n e.preventDefault();\n setSelectedIdx((i)=>Math.max(i - 1, 0));\n } else if (e.key === \"Enter\" && !e.shiftKey) {\n e.preventDefault();\n if (filteredCommands[selectedIdx]) selectCommand(filteredCommands[selectedIdx]);\n } else if (e.key === \"Escape\") setShowPanel(false);\n return;\n }\n if (e.key === \"Enter\" && !e.shiftKey) {\n e.preventDefault();\n handleSend();\n return;\n }\n if (e.key === \"ArrowUp\" && !text.trim()) {\n e.preventDefault();\n const newIdx = Math.min(historyIdx + 1, inputHistory.length - 1);\n if (newIdx >= 0 && inputHistory[newIdx]) {\n if (historyIdx === -1) setDraftText(text);\n setText(inputHistory[newIdx]);\n setHistoryIdx(newIdx);\n }\n }\n if (e.key === \"ArrowDown\" && historyIdx >= 0) {\n e.preventDefault();\n const newIdx = historyIdx - 1;\n if (newIdx < 0) {\n setText(draftText);\n setHistoryIdx(-1);\n } else {\n setText(inputHistory[newIdx]);\n setHistoryIdx(newIdx);\n }\n }\n };\n const toggleRecording = ()=>{\n if (recording) {\n recognitionRef.current?.stop();\n setRecording(false);\n return;\n }\n const win = window;\n const Ctor = win.SpeechRecognition ?? win.webkitSpeechRecognition;\n if (!Ctor) return;\n const rec = new Ctor();\n rec.lang = agentLanguage;\n rec.continuous = false;\n rec.interimResults = false;\n rec.onresult = (e)=>setText((prev)=>prev + (prev ? \" \" : \"\") + e.results[0][0].transcript);\n rec.onend = ()=>setRecording(false);\n rec.onerror = ()=>setRecording(false);\n rec.start();\n recognitionRef.current = rec;\n setRecording(true);\n };\n const stopSpeaking = ()=>{\n window.speechSynthesis?.cancel();\n setSpeaking(false);\n onSpeakDone?.();\n };\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)({\n \"InputBar.useEffect\": ()=>{\n panelRef.current?.querySelector(`[data-idx=\"${selectedIdx}\"]`)?.scrollIntoView?.({\n block: \"nearest\"\n });\n }\n }[\"InputBar.useEffect\"], [\n selectedIdx\n ]);\n const grouped = filteredCommands.reduce((acc, cmd)=>{\n if (!acc[cmd.category]) acc[cmd.category] = [];\n acc[cmd.category].push(cmd);\n return acc;\n }, {});\n const CATEGORY_LABELS = {\n system: \"系统命令\",\n skill: \"Skills\"\n };\n let flatIdx = 0;\n const currentMode = MODE_META[mode];\n const canSend = (text.trim().length > 0 || images.length > 0) && !(disabled && mode === \"normal\");\n const borderColor = mode === \"steer\" ? \"border-orange-400/60 dark:border-orange-700/60\" : mode === \"followup\" ? \"border-blue-400/60 dark:border-blue-700/60\" : dragging ? \"border-[#57BE6B] border-dashed\" : \"border-border\";\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"border-t bg-background px-3 py-2 relative\",\n onDragEnter: handleDragEnter,\n onDragLeave: handleDragLeave,\n onDragOver: handleDragOver,\n onDrop: handleDrop,\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"input\", {\n ref: fileInputRef,\n type: \"file\",\n accept: ACCEPT_TYPES,\n multiple: true,\n className: \"hidden\",\n onChange: handleFileInput\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/input-bar.tsx\",\n lineNumber: 325,\n columnNumber: 7\n }, this),\n showPanel && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n ref: panelRef,\n className: \"absolute bottom-full left-3 right-3 mb-2 rounded-xl border bg-white dark:bg-zinc-800 shadow-2xl overflow-hidden z-50 max-h-64 overflow-y-auto\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-2 px-3 py-2 border-b bg-secondary/30\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_ChevronDown_Cpu_ImagePlus_Mic_MicOff_Plus_Send_Terminal_Trash2_VolumeX_X_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_7__[\"default\"], {\n className: \"h-3.5 w-3.5 text-muted-foreground\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/input-bar.tsx\",\n lineNumber: 331,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-xs text-muted-foreground\",\n children: slashFilter ? `/${slashFilter}` : \"输入命令名称过滤…\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/input-bar.tsx\",\n lineNumber: 332,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"ml-auto text-[10px] text-muted-foreground\",\n children: \"↑↓ \\xb7 Enter \\xb7 Esc\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/input-bar.tsx\",\n lineNumber: 333,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/input-bar.tsx\",\n lineNumber: 330,\n columnNumber: 11\n }, this),\n filteredCommands.length === 0 ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"px-4 py-5 text-center text-sm text-muted-foreground\",\n children: \"没有匹配的命令\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/input-bar.tsx\",\n lineNumber: 336,\n columnNumber: 13\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"p-1\",\n children: Object.entries(grouped).map(([cat, cmds])=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"px-2 py-1 text-[10px] font-semibold text-muted-foreground uppercase tracking-wider\",\n children: CATEGORY_LABELS[cat] ?? cat\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/input-bar.tsx\",\n lineNumber: 341,\n columnNumber: 19\n }, this),\n cmds.map((cmd)=>{\n const idx = flatIdx++;\n const active = idx === selectedIdx;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n type: \"button\",\n \"data-idx\": idx,\n onClick: ()=>selectCommand(cmd),\n onMouseEnter: ()=>setSelectedIdx(idx),\n className: (0,_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"w-full flex items-center gap-3 rounded-lg px-3 py-2.5 text-left transition-colors\", active ? \"bg-secondary\" : \"hover:bg-secondary/50\"),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"h-7 w-7 rounded-lg bg-secondary flex items-center justify-center shrink-0\",\n children: cmd.icon\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/input-bar.tsx\",\n lineNumber: 349,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"min-w-0 flex-1\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-sm font-medium\",\n children: cmd.label\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/input-bar.tsx\",\n lineNumber: 352,\n columnNumber: 29\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"code\", {\n className: \"text-[10px] text-muted-foreground font-mono bg-secondary px-1.5 py-0.5 rounded\",\n children: [\n \"/\",\n cmd.id.replace(\"skill:\", \"\")\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/input-bar.tsx\",\n lineNumber: 353,\n columnNumber: 29\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/input-bar.tsx\",\n lineNumber: 351,\n columnNumber: 27\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-xs text-muted-foreground truncate mt-0.5\",\n children: cmd.description\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/input-bar.tsx\",\n lineNumber: 355,\n columnNumber: 27\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/input-bar.tsx\",\n lineNumber: 350,\n columnNumber: 25\n }, this)\n ]\n }, cmd.id, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/input-bar.tsx\",\n lineNumber: 346,\n columnNumber: 23\n }, this);\n })\n ]\n }, cat, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/input-bar.tsx\",\n lineNumber: 340,\n columnNumber: 17\n }, this))\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/input-bar.tsx\",\n lineNumber: 338,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/input-bar.tsx\",\n lineNumber: 329,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (0,_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"rounded-xl border transition-colors\", borderColor, mode === \"steer\" ? \"bg-orange-50/40 dark:bg-orange-900/10\" : mode === \"followup\" ? \"bg-blue-50/40 dark:bg-blue-900/10\" : \"bg-background\"),\n children: [\n images.length > 0 && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex gap-2 p-2 flex-wrap border-b border-border/60 rounded-t-xl overflow-hidden\",\n children: [\n images.map((img)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative group/img\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"img\", {\n src: img.previewUrl,\n alt: img.name,\n className: \"h-16 w-16 object-cover rounded-lg border border-border/60\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/input-bar.tsx\",\n lineNumber: 378,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n type: \"button\",\n onClick: ()=>removeImage(img.id),\n className: \"absolute -top-1.5 -right-1.5 h-5 w-5 rounded-full bg-zinc-800 dark:bg-zinc-600 text-white flex items-center justify-center opacity-0 group-hover/img:opacity-100 transition-opacity shadow\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_ChevronDown_Cpu_ImagePlus_Mic_MicOff_Plus_Send_Terminal_Trash2_VolumeX_X_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_8__[\"default\"], {\n className: \"h-3 w-3\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/input-bar.tsx\",\n lineNumber: 382,\n columnNumber: 19\n }, this)\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/input-bar.tsx\",\n lineNumber: 380,\n columnNumber: 17\n }, this)\n ]\n }, img.id, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/input-bar.tsx\",\n lineNumber: 376,\n columnNumber: 15\n }, this)),\n images.length < MAX_IMAGES && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n type: \"button\",\n onClick: ()=>fileInputRef.current?.click(),\n className: \"h-16 w-16 rounded-lg border-2 border-dashed border-border/60 flex items-center justify-center text-muted-foreground hover:border-[#57BE6B] hover:text-[#57BE6B] transition-colors\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_ChevronDown_Cpu_ImagePlus_Mic_MicOff_Plus_Send_Terminal_Trash2_VolumeX_X_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_9__[\"default\"], {\n className: \"h-5 w-5\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/input-bar.tsx\",\n lineNumber: 389,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/input-bar.tsx\",\n lineNumber: 387,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/input-bar.tsx\",\n lineNumber: 374,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"textarea\", {\n ref: textareaRef,\n value: text,\n onChange: handleChange,\n onKeyDown: handleKeyDown,\n onPaste: handlePaste,\n onBlur: ()=>setTimeout(()=>setShowPanel(false), 150),\n placeholder: mode === \"steer\" ? \"引导生成方向(将中断当前输出)…\" : mode === \"followup\" ? \"追加消息(当前完成后发送)…\" : `${t(\"inputPlaceholder\")} ( / 唤出命令 · 粘贴/拖拽图片 )`,\n rows: 1,\n disabled: disabled && mode === \"normal\",\n className: \"w-full resize-none bg-transparent text-sm outline-none placeholder:text-muted-foreground disabled:opacity-50 px-3 pt-2.5 pb-1 max-h-[150px]\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/input-bar.tsx\",\n lineNumber: 396,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-1 px-2 py-1.5\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n type: \"button\",\n onClick: ()=>fileInputRef.current?.click(),\n title: `上传图片(最多 ${MAX_IMAGES} 张,支持拖拽/粘贴)`,\n disabled: images.length >= MAX_IMAGES,\n className: \"flex items-center justify-center h-7 w-7 rounded-lg text-muted-foreground hover:bg-secondary/60 hover:text-foreground transition-colors disabled:opacity-30 disabled:cursor-not-allowed\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_ChevronDown_Cpu_ImagePlus_Mic_MicOff_Plus_Send_Terminal_Trash2_VolumeX_X_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_9__[\"default\"], {\n className: \"h-4 w-4\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/input-bar.tsx\",\n lineNumber: 420,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/input-bar.tsx\",\n lineNumber: 416,\n columnNumber: 11\n }, this),\n onModelChange && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n type: \"button\",\n onClick: ()=>{\n setShowModelMenu(!showModelMenu);\n setShowModeMenu(false);\n },\n title: currentModel ? `当前模型:${currentModel.provider}/${currentModel.modelId}` : \"切换模型\",\n className: (0,_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"flex items-center gap-1 h-7 px-2 rounded-lg text-xs transition-colors hover:bg-secondary/60\", currentModel ? \"text-muted-foreground hover:text-foreground\" : \"text-muted-foreground\"),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_ChevronDown_Cpu_ImagePlus_Mic_MicOff_Plus_Send_Terminal_Trash2_VolumeX_X_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_10__[\"default\"], {\n className: \"h-3.5 w-3.5 shrink-0\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/input-bar.tsx\",\n lineNumber: 434,\n columnNumber: 17\n }, this),\n currentModel && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"font-mono max-w-[80px] truncate\",\n children: currentModel.modelId.split(\"-\").slice(-2).join(\"-\")\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/input-bar.tsx\",\n lineNumber: 436,\n columnNumber: 19\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_ChevronDown_Cpu_ImagePlus_Mic_MicOff_Plus_Send_Terminal_Trash2_VolumeX_X_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_11__[\"default\"], {\n className: \"h-3 w-3 opacity-50 shrink-0\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/input-bar.tsx\",\n lineNumber: 440,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/input-bar.tsx\",\n lineNumber: 426,\n columnNumber: 15\n }, this),\n showModelMenu && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute bottom-full left-0 mb-1 w-72 rounded-xl border bg-white dark:bg-zinc-800 shadow-xl z-50 overflow-hidden\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"px-3 py-2 border-b text-xs text-muted-foreground font-medium bg-secondary/30\",\n children: \"切换模型(本次会话有效)\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/input-bar.tsx\",\n lineNumber: 445,\n columnNumber: 19\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"max-h-72 overflow-y-auto\",\n children: modelGroups.length === 0 ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"px-4 py-6 text-center text-sm text-muted-foreground\",\n children: \"加载中…\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/input-bar.tsx\",\n lineNumber: 450,\n columnNumber: 23\n }, this) : modelGroups.map((group)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"px-3 py-1.5 text-[10px] font-semibold text-muted-foreground uppercase tracking-wider bg-secondary/20 sticky top-0\",\n children: group.name\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/input-bar.tsx\",\n lineNumber: 453,\n columnNumber: 25\n }, this),\n group.models.map((model)=>{\n const isActive = currentModel?.provider === model.providerId && currentModel?.modelId === model.id;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n type: \"button\",\n onClick: ()=>{\n onModelChange(model.providerId, model.id);\n setShowModelMenu(false);\n },\n className: (0,_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"w-full flex items-start gap-2.5 px-3 py-2 text-left transition-colors hover:bg-secondary/50\", isActive && \"bg-[#57BE6B]/10 dark:bg-[#57BE6B]/15\"),\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex-1 min-w-0\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: (0,_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"text-sm font-medium truncate\", isActive && \"text-[#57BE6B]\"),\n children: model.name\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/input-bar.tsx\",\n lineNumber: 468,\n columnNumber: 35\n }, this),\n isActive && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-[10px] text-[#57BE6B] font-medium shrink-0\",\n children: \"当前\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/input-bar.tsx\",\n lineNumber: 471,\n columnNumber: 48\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/input-bar.tsx\",\n lineNumber: 467,\n columnNumber: 33\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-2 mt-0.5\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-[10px] text-muted-foreground font-mono\",\n children: [\n Math.round(model.contextWindow / 1000),\n \"K ctx\"\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/input-bar.tsx\",\n lineNumber: 474,\n columnNumber: 35\n }, this),\n model.supportsThinking && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-[10px] text-purple-500\",\n children: \"\\uD83E\\uDDE0 thinking\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/input-bar.tsx\",\n lineNumber: 478,\n columnNumber: 37\n }, this),\n model.inputTypes.includes(\"image\") && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-[10px] text-blue-500\",\n children: \"\\uD83D\\uDDBC vision\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/input-bar.tsx\",\n lineNumber: 481,\n columnNumber: 37\n }, this),\n model.costInput && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-[10px] text-muted-foreground ml-auto shrink-0\",\n children: [\n \"$\",\n model.costInput,\n \"/M\"\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/input-bar.tsx\",\n lineNumber: 484,\n columnNumber: 37\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/input-bar.tsx\",\n lineNumber: 473,\n columnNumber: 33\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/input-bar.tsx\",\n lineNumber: 466,\n columnNumber: 31\n }, this)\n }, model.id, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/input-bar.tsx\",\n lineNumber: 459,\n columnNumber: 29\n }, this);\n })\n ]\n }, group.id, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/input-bar.tsx\",\n lineNumber: 452,\n columnNumber: 23\n }, this))\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/input-bar.tsx\",\n lineNumber: 448,\n columnNumber: 19\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/input-bar.tsx\",\n lineNumber: 444,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/input-bar.tsx\",\n lineNumber: 425,\n columnNumber: 13\n }, this),\n voiceEnabled && (speaking ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n type: \"button\",\n onClick: stopSpeaking,\n title: \"停止朗读\",\n className: \"flex items-center justify-center h-7 w-7 rounded-lg text-primary hover:bg-secondary/60 transition-colors\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_ChevronDown_Cpu_ImagePlus_Mic_MicOff_Plus_Send_Terminal_Trash2_VolumeX_X_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_12__[\"default\"], {\n className: \"h-4 w-4\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/input-bar.tsx\",\n lineNumber: 506,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/input-bar.tsx\",\n lineNumber: 504,\n columnNumber: 15\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n type: \"button\",\n onClick: toggleRecording,\n title: recording ? \"停止录音\" : \"语音输入\",\n className: (0,_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"flex items-center justify-center h-7 w-7 rounded-lg transition-colors hover:bg-secondary/60\", recording ? \"text-destructive animate-pulse\" : \"text-muted-foreground hover:text-foreground\"),\n children: recording ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_ChevronDown_Cpu_ImagePlus_Mic_MicOff_Plus_Send_Terminal_Trash2_VolumeX_X_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_13__[\"default\"], {\n className: \"h-4 w-4\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/input-bar.tsx\",\n lineNumber: 513,\n columnNumber: 30\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_ChevronDown_Cpu_ImagePlus_Mic_MicOff_Plus_Send_Terminal_Trash2_VolumeX_X_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_14__[\"default\"], {\n className: \"h-4 w-4\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/input-bar.tsx\",\n lineNumber: 513,\n columnNumber: 63\n }, this)\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/input-bar.tsx\",\n lineNumber: 509,\n columnNumber: 15\n }, this)),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex-1\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/input-bar.tsx\",\n lineNumber: 518,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n type: \"button\",\n onClick: ()=>setShowModeMenu(!showModeMenu),\n className: (0,_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"flex items-center gap-1 rounded-lg px-2 py-1 text-xs font-medium transition-colors hover:bg-secondary/60\", currentMode.activeColor),\n children: [\n currentMode.label,\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_ChevronDown_Cpu_ImagePlus_Mic_MicOff_Plus_Send_Terminal_Trash2_VolumeX_X_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_11__[\"default\"], {\n className: \"h-3 w-3 opacity-60\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/input-bar.tsx\",\n lineNumber: 525,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/input-bar.tsx\",\n lineNumber: 522,\n columnNumber: 13\n }, this),\n showModeMenu && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute bottom-full right-0 mb-1 min-w-[160px] rounded-xl border bg-white dark:bg-zinc-800 shadow-xl z-50 p-1 space-y-0.5\",\n children: Object.entries(MODE_META).map(([m, meta])=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n type: \"button\",\n onClick: ()=>{\n setMode(m);\n setShowModeMenu(false);\n },\n className: (0,_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"w-full text-left rounded-lg px-3 py-2 text-sm transition-colors\", mode === m ? \"bg-secondary\" : \"hover:bg-secondary/50\"),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (0,_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"font-medium\", MODE_META[m].activeColor),\n children: meta.label\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/input-bar.tsx\",\n lineNumber: 532,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-[11px] text-muted-foreground\",\n children: meta.desc\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/input-bar.tsx\",\n lineNumber: 533,\n columnNumber: 21\n }, this)\n ]\n }, m, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/input-bar.tsx\",\n lineNumber: 530,\n columnNumber: 19\n }, this))\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/input-bar.tsx\",\n lineNumber: 528,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/input-bar.tsx\",\n lineNumber: 521,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n type: \"button\",\n onClick: handleSend,\n disabled: !canSend,\n title: \"发送(Enter)\",\n className: (0,_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"flex items-center justify-center h-7 w-7 rounded-lg text-white transition-colors disabled:opacity-40 disabled:cursor-not-allowed\", currentMode.color),\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_ChevronDown_Cpu_ImagePlus_Mic_MicOff_Plus_Send_Terminal_Trash2_VolumeX_X_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_15__[\"default\"], {\n className: \"h-3.5 w-3.5\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/input-bar.tsx\",\n lineNumber: 547,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/input-bar.tsx\",\n lineNumber: 541,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/input-bar.tsx\",\n lineNumber: 414,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/input-bar.tsx\",\n lineNumber: 368,\n columnNumber: 7\n }, this),\n dragging && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute inset-0 m-1 rounded-xl border-2 border-dashed border-[#57BE6B] bg-[#57BE6B]/5 flex flex-col items-center justify-center gap-1 pointer-events-none\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_ChevronDown_Cpu_ImagePlus_Mic_MicOff_Plus_Send_Terminal_Trash2_VolumeX_X_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_9__[\"default\"], {\n className: \"h-6 w-6 text-[#57BE6B]\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/input-bar.tsx\",\n lineNumber: 555,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-sm font-medium text-[#57BE6B]\",\n children: \"松开鼠标上传图片\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/input-bar.tsx\",\n lineNumber: 556,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/input-bar.tsx\",\n lineNumber: 554,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/input-bar.tsx\",\n lineNumber: 317,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy9jaGF0L2lucHV0LWJhci50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRWlFO0FBQ3JCO0FBSXRCO0FBRVc7QUF3Q2pDLE1BQU1rQixZQUFtRztJQUN2R0MsUUFBVTtRQUFFQyxPQUFPO1FBQU9DLE9BQU87UUFBK0VDLGFBQWE7UUFBb0NDLE1BQU07SUFBTztJQUM5S0MsT0FBVTtRQUFFSixPQUFPO1FBQU9DLE9BQU87UUFBdUZDLGFBQWE7UUFBd0NDLE1BQU07SUFBWTtJQUMvTEUsVUFBVTtRQUFFTCxPQUFPO1FBQU9DLE9BQU87UUFBMkZDLGFBQWE7UUFBd0NDLE1BQU07SUFBUTtBQUNqTTtBQUVBLE1BQU1HLGFBQWE7QUFDbkIsTUFBTUMsZUFBZTtBQUVyQixlQUFlQyxvQkFBb0JDLElBQVU7SUFDM0MsT0FBTyxJQUFJQyxRQUFRLENBQUNDLFNBQVNDO1FBQzNCLE1BQU1DLFNBQVMsSUFBSUM7UUFDbkJELE9BQU9FLE1BQU0sR0FBRztZQUNkLE1BQU1DLFVBQVVILE9BQU9JLE1BQU07WUFDN0IsTUFBTUMsU0FBU0YsUUFBUUcsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3BDUixRQUFRO2dCQUNOUyxJQUFJQyxLQUFLQyxNQUFNLEdBQUdDLFFBQVEsQ0FBQyxJQUFJQyxLQUFLLENBQUM7Z0JBQ3JDQyxNQUFNUDtnQkFDTlEsVUFBVWpCLEtBQUtrQixJQUFJLElBQUk7Z0JBQ3ZCQyxNQUFNbkIsS0FBS21CLElBQUk7Z0JBQ2ZDLFlBQVliO1lBQ2Q7UUFDRjtRQUNBSCxPQUFPaUIsT0FBTyxHQUFHbEI7UUFDakJDLE9BQU9rQixhQUFhLENBQUN0QjtJQUN2QjtBQUNGO0FBRU8sU0FBU3VCLFNBQVMsRUFDdkJDLE1BQU0sRUFBRUMsUUFBUSxFQUFFQyxZQUFZLEVBQUVDLGFBQWEsQ0FBQyxFQUFFQyxnQkFBZ0IsT0FBTyxFQUN2RUMsY0FBYyxTQUFTLEVBQUVDLFFBQVEsRUFBRUMsT0FB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RDtnQ0FBWTNKLFVBQVUsQ0FBQytMO2dDQUNwRG9DLE9BQU07Z0NBQ04zRixXQUFXN0ssOENBQUVBLENBQ1gsb0lBQ0FtTyxZQUFZL04sS0FBSzswQ0FFbkIsNEVBQUNOLHlKQUFJQTtvQ0FBQytLLFdBQVU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O1lBTXJCNUYsMEJBQ0MsOERBQUNxSjtnQkFBSXpELFdBQVU7O2tDQUNiLDhEQUFDakwsd0pBQVNBO3dCQUFDaUwsV0FBVTs7Ozs7O2tDQUNyQiw4REFBQytFO3dCQUFFL0UsV0FBVTtrQ0FBcUM7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUs1RCIsInNvdXJjZXMiOlsiL1VzZXJzL2R1YW4vZmlsZXMvcGktd2ViL2RpZ2l0YWwtYWdlbnQtcGxhdGZvcm0vc3JjL2NvbXBvbmVudHMvY2hhdC9pbnB1dC1iYXIudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIGNsaWVudFwiO1xuXG5pbXBvcnQgeyB1c2VSZWYsIHVzZUVmZmVjdCwgdXNlU3RhdGUsIHVzZUNhbGxiYWNrIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbnMgfSBmcm9tIFwibmV4dC1pbnRsXCI7XG5pbXBvcnQge1xuICBNaWMsIE1pY09mZiwgVm9sdW1lWCwgWmFwLCBUZXJtaW5hbCwgUGx1cywgVHJhc2gyLFxuICBDaGV2cm9uRG93biwgSW1hZ2VQbHVzLCBYLCBTZW5kLCBDcHUsXG59IGZyb20gXCJsdWNpZGUtcmVhY3RcIjtcbmltcG9ydCB7IEJ1dHRvbiB9IGZyb20gXCJAL2NvbXBvbmVudHMvdWkvYnV0dG9uXCI7XG5pbXBvcnQgeyBjbiB9IGZyb20gXCJAL2xpYi91dGlsc1wiO1xuaW1wb3J0IHR5cGUgeyBTa2lsbEluZm8gfSBmcm9tIFwiQC9saWIvc2tpbGxzXCI7XG5pbXBvcnQgdHlwZSB7IEF0dGFjaGVkSW1hZ2UgfSBmcm9tIFwiQC90eXBlcy9hZ2VudFwiO1xuaW1wb3J0IHR5cGUgeyBQcm92aWRlckdyb3VwIH0gZnJvbSBcIkAvYXBwL2FwaS9tb2RlbHMvcm91dGVcIjtcblxuaW50ZXJmYWNlIElTcGVlY2hSZWNvZ25pdGlvbiB7XG4gIGxhbmc6IHN0cmluZzsgY29udGludW91czogYm9vbGVhbjsgaW50ZXJpbVJlc3VsdHM6IGJvb2xlYW47XG4gIG9ucmVzdWx0OiAoKGU6IHsgcmVzdWx0czogeyAwOiB7IDA6IHsgdHJhbnNjcmlwdDogc3RyaW5nIH0gfSB9IH0pID0+IHZvaWQpIHwgbnVsbDtcbiAgb25lbmQ6ICgoKSA9PiB2b2lkKSB8IG51bGw7IG9uZXJyb3I6ICgoKSA9PiB2b2lkKSB8IG51bGw7XG4gIHN0YXJ0KCk6IHZvaWQ7IHN0b3AoKTogdm9pZDtcbn1cbmludGVyZmFjZSBJU3BlZWNoUmVjb2duaXRpb25DdG9yIHsgbmV3ICgpOiBJU3BlZWNoUmVjb2duaXRpb24gfVxuXG5leHBvcnQgdHlwZSBTZW5kTW9kZSA9IFwibm9ybWFsXCIgfCBcInN0ZWVyXCIgfCBcImZvbGxvd3VwXCI7XG5cbmludGVyZmFjZSBTbGFzaENvbW1hbmQge1xuICBpZDogc3RyaW5nOyBsYWJlbDogc3RyaW5nOyBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICBpY29uOiBSZWFjdC5SZWFjdE5vZGU7IGNhdGVnb3J5OiBcInN5c3RlbVwiIHwgXCJza2lsbFwiO1xuICBpbnNlcnQ/OiBzdHJpbmc7IGFjdGlvbj86ICgpID0+IHZvaWQ7XG59XG5cbmludGVyZmFjZSBJbnB1dEJhclByb3BzIHtcbiAgb25TZW5kOiAodGV4dDogc3RyaW5nLCBtb2RlOiBTZW5kTW9kZSwgaW1hZ2VzPzogQXR0YWNoZWRJbWFnZVtdKSA9PiB2b2lkO1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG4gIHZvaWNlRW5hYmxlZD86IGJvb2xlYW47XG4gIHZvaWNlU3BlZWQ/OiBudW1iZXI7XG4gIGFnZW50TGFuZ3VhZ2U/OiBzdHJpbmc7XG4gIHR0c1Byb3ZpZGVyPzogXCJicm93c2VyXCIgfCBcIm9wZW5haVwiO1xuICB0dHNNb2RlbD86IHN0cmluZztcbiAgdm9pY2VJZD86IHN0cmluZztcbiAgcGVuZGluZ1JlcGx5Pzogc3RyaW5nO1xuICBvblNwZWFrRG9uZT86ICgpID0+IHZvaWQ7XG4gIGluc3RhbGxlZFNraWxscz86IFNraWxsSW5mb1tdO1xuICBvbk5ld1Nlc3Npb24/OiAoKSA9PiB2b2lkO1xuICBvbkNsZWFyTWVzc2FnZXM/OiAoKSA9PiB2b2lkO1xuICBpc1N0cmVhbWluZz86IGJvb2xlYW47XG4gIGN1cnJlbnRNb2RlbD86IHsgcHJvdmlkZXI6IHN0cmluZzsgbW9kZWxJZDogc3RyaW5nIH07XG4gIG9uTW9kZWxDaGFuZ2U/OiAocHJvdmlkZXI6IHN0cmluZywgbW9kZWxJZDogc3RyaW5nKSA9PiB2b2lkO1xufVxuXG5jb25zdCBNT0RFX01FVEE6IFJlY29yZDxTZW5kTW9kZSwgeyBsYWJlbDogc3RyaW5nOyBjb2xvcjogc3RyaW5nOyBkZXNjOiBzdHJpbmc7IGFjdGl2ZUNvbG9yOiBzdHJpbmcgfT4gPSB7XG4gIG5vcm1hbDogICB7IGxhYmVsOiBcIuWPkemAgVwiLCAgY29sb3I6IFwiYmctYmx1ZS01MDAgaG92ZXI6YmctYmx1ZS02MDAgZGFyazpiZy1jeWFuLTYwMCBkYXJrOmhvdmVyOmJnLWN5YW4tNTAwXCIsICAgICAgIGFjdGl2ZUNvbG9yOiBcInRleHQtYmx1ZS02MDAgZGFyazp0ZXh0LWN5YW4tNDAwXCIsIGRlc2M6IFwi5pmu6YCa5Y+R6YCBXCIgfSxcbiAgc3RlZXI6ICAgIHsgbGFiZWw6IFwi5byV5a+8XCIsICBjb2xvcjogXCJiZy1vcmFuZ2UtNTAwIGhvdmVyOmJnLW9yYW5nZS02MDAgZGFyazpiZy1vcmFuZ2UtNjAwIGRhcms6aG92ZXI6Ymctb3JhbmdlLTUwMFwiLCAgICAgICBhY3RpdmVDb2xvcjogXCJ0ZXh0LW9yYW5nZS02MDAgZGFyazp0ZXh0LW9yYW5nZS00MDBcIiwgZGVzYzogXCLkuK3mlq3lubblvJXlr7zlvZPliY3nlJ/miJBcIiB9LFxuICBmb2xsb3d1cDogeyBsYWJlbDogXCLov73liqBcIiwgIGNvbG9yOiBcImJnLWluZGlnby01MDAgaG92ZXI6YmctaW5kaWdvLTYwMCBkYXJrOmJnLXB1cnBsZS02MDAgZGFyazpob3ZlcjpiZy1wdXJwbGUtNTAwXCIsICAgICAgICAgICBhY3RpdmVDb2xvcjogXCJ0ZXh0LWluZGlnby02MDAgZGFyazp0ZXh0LXB1cnBsZS00MDBcIiwgZGVzYzogXCLlrozmiJDlkI7ov73liqBcIiB9LFxufTtcblxuY29uc3QgTUFYX0lNQUdFUyA9IDQ7XG5jb25zdCBBQ0NFUFRfVFlQRVMgPSBcImltYWdlL2pwZWcsaW1hZ2UvcG5nLGltYWdlL2dpZixpbWFnZS93ZWJwXCI7XG5cbmFzeW5jIGZ1bmN0aW9uIGZpbGVUb0F0dGFjaGVkSW1hZ2UoZmlsZTogRmlsZSk6IFByb21pc2U8QXR0YWNoZWRJbWFnZT4ge1xuICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XG4gICAgcmVhZGVyLm9ubG9hZCA9ICgpID0+IHtcbiAgICAgIGNvbnN0IGRhdGFVcmwgPSByZWFkZXIucmVzdWx0IGFzIHN0cmluZztcbiAgICAgIGNvbnN0IGJhc2U2NCA9IGRhdGFVcmwuc3BsaXQoXCIsXCIpWzFdO1xuICAgICAgcmVzb2x2ZSh7XG4gICAgICAgIGlkOiBNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zbGljZSgyKSxcbiAgICAgICAgZGF0YTogYmFzZTY0LFxuICAgICAgICBtaW1lVHlwZTogZmlsZS50eXBlIHx8IFwiaW1hZ2UvanBlZ1wiLFxuICAgICAgICBuYW1lOiBmaWxlLm5hbWUsXG4gICAgICAgIHByZXZpZXdVcmw6IGRhdGFVcmwsXG4gICAgICB9KTtcbiAgICB9O1xuICAgIHJlYWRlci5vbmVycm9yID0gcmVqZWN0O1xuICAgIHJlYWRlci5yZWFkQXNEYXRhVVJMKGZpbGUpO1xuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIElucHV0QmFyKHtcbiAgb25TZW5kLCBkaXNhYmxlZCwgdm9pY2VFbmFibGVkLCB2b2ljZVNwZWVkID0gMSwgYWdlbnRMYW5ndWFnZSA9IFwiemgtQ05cIixcbiAgdHRzUHJvdmlkZXIgPSBcImJyb3dzZXJcIiwgdHRzTW9kZWwsIHZvaWNlSWQsXG4gIHBlbmRpbmdSZXBseSwgb25TcGVha0RvbmUsIGluc3RhbGxlZFNraWxscyA9IFtdLCBvbk5ld1Nlc3Npb24sIG9uQ2xlYXJNZXNzYWdlcywgaXNTdHJlYW1pbmcsXG4gIGN1cnJlbnRNb2RlbCwgb25Nb2RlbENoYW5nZSxcbn06IElucHV0QmFyUHJvcHMpIHtcbiAgY29uc3QgdCA9IHVzZVRyYW5zbGF0aW9ucyhcImNoYXRcIik7XG4gIGNvbnN0IFt0ZXh0LCBzZXRUZXh0XSA9IHVzZVN0YXRlKFwiXCIpO1xuICBjb25zdCBbaW1hZ2VzLCBzZXRJbWFnZXNdID0gdXNlU3RhdGU8QXR0YWNoZWRJbWFnZVtdPihbXSk7XG4gIGNvbnN0IFttb2RlLCBzZXRNb2RlXSA9IHVzZVN0YXRlPFNlbmRNb2RlPihcIm5vcm1hbFwiKTtcbiAgY29uc3QgW3Nob3dNb2RlTWVudSwgc2V0U2hvd01vZGVNZW51XSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgW3Nob3dNb2RlbE1lbnUsIHNldFNob3dNb2RlbE1lbnVdID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCBbbW9kZWxHcm91cHMsIHNldE1vZGVsR3JvdXBzXSA9IHVzZVN0YXRlPFByb3ZpZGVyR3JvdXBbXT4oW10pO1xuICBjb25zdCBbcmVjb3JkaW5nLCBzZXRSZWNvcmRpbmddID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCBbc3BlYWtpbmcsIHNldFNwZWFraW5nXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgW3Nob3dQYW5lbCwgc2V0U2hvd1BhbmVsXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgW3NsYXNoRmlsdGVyLCBzZXRTbGFzaEZpbHRlcl0gPSB1c2VTdGF0ZShcIlwiKTtcbiAgY29uc3QgW3NlbGVjdGVkSWR4LCBzZXRTZWxlY3RlZElkeF0gPSB1c2VTdGF0ZSgwKTtcbiAgY29uc3QgW2lucHV0SGlzdG9yeSwgc2V0SW5wdXRIaXN0b3J5XSA9IHVzZVN0YXRlPHN0cmluZ1tdPihbXSk7XG4gIGNvbnN0IFtoaXN0b3J5SWR4LCBzZXRIaXN0b3J5SWR4XSA9IHVzZVN0YXRlKC0xKTtcbiAgY29uc3QgW2RyYWZ0VGV4dCwgc2V0RHJhZnRUZXh0XSA9IHVzZVN0YXRlKFwiXCIpO1xuICBjb25zdCBbZHJhZ2dpbmcsIHNldERyYWdnaW5nXSA9IHVzZVN0YXRlKGZhbHNlKTtcblxuICBjb25zdCB0ZXh0YXJlYVJlZiA9IHVzZVJlZjxIVE1MVGV4dEFyZWFFbGVtZW50PihudWxsKTtcbiAgY29uc3QgZmlsZUlucHV0UmVmID0gdXNlUmVmPEhUTUxJbnB1dEVsZW1lbnQ+KG51bGwpO1xuICBjb25zdCByZWNvZ25pdGlvblJlZiA9IHVzZVJlZjxJU3BlZWNoUmVjb2duaXRpb24gfCBudWxsPihudWxsKTtcbiAgY29uc3QgcGFuZWxSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpO1xuICBjb25zdCBkcmFnQ291bnRlclJlZiA9IHVzZVJlZigwKTtcblxuICAvLyBMYXp5LWxvYWQgbW9kZWwgbGlzdCB3aGVuIG1lbnUgZmlyc3Qgb3BlbnNcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIXNob3dNb2RlbE1lbnUgfHwgbW9kZWxHcm91cHMubGVuZ3RoID4gMCkgcmV0dXJuO1xuICAgIGZldGNoKFwiL2FwaS9tb2RlbHNcIikudGhlbihyID0+IHIuanNvbigpKS50aGVuKHNldE1vZGVsR3JvdXBzKS5jYXRjaCgoKSA9PiB7fSk7XG4gIH0sIFtzaG93TW9kZWxNZW51LCBtb2RlbEdyb3Vwcy5sZW5ndGhdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IHRhID0gdGV4dGFyZWFSZWYuY3VycmVudDtcbiAgICBpZiAoIXRhKSByZXR1cm47XG4gICAgdGEuc3R5bGUuaGVpZ2h0ID0gXCJhdXRvXCI7XG4gICAgdGEuc3R5bGUuaGVpZ2h0ID0gTWF0aC5taW4odGEuc2Nyb2xsSGVpZ2h0LCAxNTApICsgXCJweFwiO1xuICB9LCBbdGV4dF0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFwZW5kaW5nUmVwbHkgfHwgIXZvaWNlRW5hYmxlZCB8fCB0eXBlb2Ygd2luZG93ID09PSBcInVuZGVmaW5lZFwiKSByZXR1cm47XG5cbiAgICBjb25zdCBzcGVhayA9IGFzeW5jICgpID0+IHtcbiAgICAgIGlmICh0dHNQcm92aWRlciA9PT0gXCJvcGVuYWlcIikge1xuICAgICAgICAvLyBPcGVuQUkgVFRTXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgc2V0U3BlYWtpbmcodHJ1ZSk7XG4gICAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaChcIi9hcGkvdHRzXCIsIHtcbiAgICAgICAgICAgIG1ldGhvZDogXCJQT1NUXCIsXG4gICAgICAgICAgICBoZWFkZXJzOiB7IFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiIH0sXG4gICAgICAgICAgICBib2R5OiBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgICAgIHRleHQ6IHBlbmRpbmdSZXBseSxcbiAgICAgICAgICAgICAgbW9kZWw6IHR0c01vZGVsIHx8IFwidHRzLTFcIixcbiAgICAgICAgICAgICAgdm9pY2U6IHZvaWNlSWQgfHwgXCJhbGxveVwiLFxuICAgICAgICAgICAgICBzcGVlZDogdm9pY2VTcGVlZCB8fCAxLjAsXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIGlmICghcmVzcG9uc2Uub2spIHRocm93IG5ldyBFcnJvcihcIlRUUyByZXF1ZXN0IGZhaWxlZFwiKTtcblxuICAgICAgICAgIGNvbnN0IGF1ZGlvQmxvYiA9IGF3YWl0IHJlc3BvbnNlLmJsb2IoKTtcbiAgICAgICAgICBjb25zdCBhdWRpb1VybCA9IFVSTC5jcmVhdGVPYmplY3RVUkwoYXVkaW9CbG9iKTtcbiAgICAgICAgICBjb25zdCBhdWRpbyA9IG5ldyBBdWRpbyhhdWRpb1VybCk7XG5cbiAgICAgICAgICBhdWRpby5vbmVuZGVkID0gKCkgPT4ge1xuICAgICAgICAgICAgc2V0U3BlYWtpbmcoZmFsc2UpO1xuICAgICAgICAgICAgb25TcGVha0RvbmU/LigpO1xuICAgICAgICAgICAgVVJMLnJldm9rZU9iamVjdFVSTChhdWRpb1VybCk7XG4gICAgICAgICAgfTtcblxuICAgICAgICAgIGF1ZGlvLm9uZXJyb3IgPSAoKSA9PiB7XG4gICAgICAgICAgICBzZXRTcGVha2luZyhmYWxzZSk7XG4gICAgICAgICAgICBvblNwZWFrRG9uZT8uKCk7XG4gICAgICAgICAgICBVUkwucmV2b2tlT2JqZWN0VVJMKGF1ZGlvVXJsKTtcbiAgICAgICAgICB9O1xuXG4gICAgICAgICAgYXdhaXQgYXVkaW8ucGxheSgpO1xuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXCJPcGVuQUkgVFRTIGVycm9yOlwiLCBlcnJvcik7XG4gICAgICAgICAgc2V0U3BlYWtpbmcoZmFsc2UpO1xuICAgICAgICAgIG9uU3BlYWtEb25lPy4oKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gQnJvd3NlciBUVFNcbiAgICAgICAgd2luZG93LnNwZWVjaFN5bnRoZXNpcz8uY2FuY2VsKCk7XG4gICAgICAgIGNvbnN0IHV0dCA9IG5ldyBTcGVlY2hTeW50aGVzaXNVdHRlcmFuY2UocGVuZGluZ1JlcGx5KTtcbiAgICAgICAgdXR0LmxhbmcgPSBhZ2VudExhbmd1YWdlO1xuICAgICAgICB1dHQucmF0ZSA9IHZvaWNlU3BlZWQgfHwgMS4wO1xuICAgICAgICBpZiAodm9pY2VJZCkge1xuICAgICAgICAgIGNvbnN0IHZvaWNlcyA9IHdpbmRvdy5zcGVlY2hTeW50aGVzaXMuZ2V0Vm9pY2VzKCk7XG4gICAgICAgICAgY29uc3Qgdm9pY2UgPSB2b2ljZXMuZmluZCh2ID0+IHYubmFtZSA9PT0gdm9pY2VJZCB8fCB2LnZvaWNlVVJJID09PSB2b2ljZUlkKTtcbiAgICAgICAgICBpZiAodm9pY2UpIHV0dC52b2ljZSA9IHZvaWNlO1xuICAgICAgICB9XG4gICAgICAgIHV0dC5vbnN0YXJ0ID0gKCkgPT4gc2V0U3BlYWtpbmcodHJ1ZSk7XG4gICAgICAgIHV0dC5vbmVuZCA9ICgpID0+IHsgc2V0U3BlYWtpbmcoZmFsc2UpOyBvblNwZWFrRG9uZT8uKCk7IH07XG4gICAgICAgIHdpbmRvdy5zcGVlY2hTeW50aGVzaXMuc3BlYWsodXR0KTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgc3BlYWsoKTtcbiAgfSwgW3BlbmRpbmdSZXBseSwgdm9pY2VFbmFibGVkLCB2b2ljZVNwZWVkLCBhZ2VudExhbmd1YWdlLCB0dHNQcm92aWRlciwgdHRzTW9kZWwsIHZvaWNlSWQsIG9uU3BlYWtEb25lXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoaXNTdHJlYW1pbmcgJiYgbW9kZSA9PT0gXCJub3JtYWxcIikgc2V0TW9kZShcInN0ZWVyXCIpO1xuICAgIGlmICghaXNTdHJlYW1pbmcgJiYgbW9kZSA9PT0gXCJzdGVlclwiKSBzZXRNb2RlKFwibm9ybWFsXCIpO1xuICB9LCBbaXNTdHJlYW1pbmcsIG1vZGVdKTtcblxuICBjb25zdCBhZGRJbWFnZXMgPSB1c2VDYWxsYmFjayhhc3luYyAoZmlsZXM6IEZpbGVbXSkgPT4ge1xuICAgIGNvbnN0IHZhbGlkID0gZmlsZXMuZmlsdGVyKGYgPT4gZi50eXBlLnN0YXJ0c1dpdGgoXCJpbWFnZS9cIikpLnNsaWNlKDAsIE1BWF9JTUFHRVMpO1xuICAgIGlmICghdmFsaWQubGVuZ3RoKSByZXR1cm47XG4gICAgY29uc3QgY29udmVydGVkID0gYXdhaXQgUHJvbWlzZS5hbGwodmFsaWQubWFwKGZpbGVUb0F0dGFjaGVkSW1hZ2UpKTtcbiAgICBzZXRJbWFnZXMocHJldiA9PiBbLi4ucHJldiwgLi4uY29udmVydGVkXS5zbGljZSgwLCBNQVhfSU1BR0VTKSk7XG4gIH0sIFtdKTtcblxuICBjb25zdCByZW1vdmVJbWFnZSA9IChpZDogc3RyaW5nKSA9PiBzZXRJbWFnZXMocHJldiA9PiBwcmV2LmZpbHRlcihpID0+IGkuaWQgIT09IGlkKSk7XG5cbiAgY29uc3QgaGFuZGxlRmlsZUlucHV0ID0gKGU6IFJlYWN0LkNoYW5nZUV2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+KSA9PiB7XG4gICAgaWYgKGUudGFyZ2V0LmZpbGVzKSB7IHZvaWQgYWRkSW1hZ2VzKEFycmF5LmZyb20oZS50YXJnZXQuZmlsZXMpKTsgZS50YXJnZXQudmFsdWUgPSBcIlwiOyB9XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlUGFzdGUgPSAoZTogUmVhY3QuQ2xpcGJvYXJkRXZlbnQpID0+IHtcbiAgICBjb25zdCBpbWFnZUZpbGVzID0gQXJyYXkuZnJvbShlLmNsaXBib2FyZERhdGEuaXRlbXMpXG4gICAgICAuZmlsdGVyKGl0ZW0gPT4gaXRlbS50eXBlLnN0YXJ0c1dpdGgoXCJpbWFnZS9cIikpXG4gICAgICAubWFwKGl0ZW0gPT4gaXRlbS5nZXRBc0ZpbGUoKSlcbiAgICAgIC5maWx0ZXIoQm9vbGVhbikgYXMgRmlsZVtdO1xuICAgIGlmIChpbWFnZUZpbGVzLmxlbmd0aCkgeyBlLnByZXZlbnREZWZhdWx0KCk7IHZvaWQgYWRkSW1hZ2VzKGltYWdlRmlsZXMpOyB9XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlRHJhZ0VudGVyID0gKGU6IFJlYWN0LkRyYWdFdmVudCkgPT4ge1xuICAgIGUucHJldmVudERlZmF1bHQoKTsgZHJhZ0NvdW50ZXJSZWYuY3VycmVudCsrO1xuICAgIGlmIChBcnJheS5mcm9tKGUuZGF0YVRyYW5zZmVyLml0ZW1zKS5zb21lKGkgPT4gaS50eXBlLnN0YXJ0c1dpdGgoXCJpbWFnZS9cIikpKSBzZXREcmFnZ2luZyh0cnVlKTtcbiAgfTtcbiAgY29uc3QgaGFuZGxlRHJhZ0xlYXZlID0gKGU6IFJlYWN0LkRyYWdFdmVudCkgPT4ge1xuICAgIGUucHJldmVudERlZmF1bHQoKTsgZHJhZ0NvdW50ZXJSZWYuY3VycmVudC0tO1xuICAgIGlmIChkcmFnQ291bnRlclJlZi5jdXJyZW50IDw9IDApIHsgZHJhZ0NvdW50ZXJSZWYuY3VycmVudCA9IDA7IHNldERyYWdnaW5nKGZhbHNlKTsgfVxuICB9O1xuICBjb25zdCBoYW5kbGVEcmFnT3ZlciA9IChlOiBSZWFjdC5EcmFnRXZlbnQpID0+IGUucHJldmVudERlZmF1bHQoKTtcbiAgY29uc3QgaGFuZGxlRHJvcCA9IChlOiBSZWFjdC5EcmFnRXZlbnQpID0+IHtcbiAgICBlLnByZXZlbnREZWZhdWx0KCk7IGRyYWdDb3VudGVyUmVmLmN1cnJlbnQgPSAwOyBzZXREcmFnZ2luZyhmYWxzZSk7XG4gICAgY29uc3QgZmlsZXMgPSBBcnJheS5mcm9tKGUuZGF0YVRyYW5zZmVyLmZpbGVzKTtcbiAgICB2b2lkIGFkZEltYWdlcyhmaWxlcyk7XG4gIH07XG5cbiAgLy8gU2xhc2ggY29tbWFuZHNcbiAgY29uc3QgYWxsQ29tbWFuZHM6IFNsYXNoQ29tbWFuZFtdID0gW1xuICAgIHsgaWQ6IFwibmV3XCIsIGxhYmVsOiBcIuaWsOW7uuS8muivnVwiLCBkZXNjcmlwdGlvbjogXCLlvIDlp4vlhajmlrDlr7nor51cIiwgaWNvbjogPFBsdXMgY2xhc3NOYW1lPVwiaC00IHctNCB0ZXh0LWJsdWUtNTAwXCIgLz4sIGNhdGVnb3J5OiBcInN5c3RlbVwiLCBhY3Rpb246ICgpID0+IHsgb25OZXdTZXNzaW9uPy4oKTsgc2V0VGV4dChcIlwiKTsgc2V0U2hvd1BhbmVsKGZhbHNlKTsgfSB9LFxuICAgIHsgaWQ6IFwiY2xlYXJcIiwgbGFiZWw6IFwi5riF56m65raI5oGvXCIsIGRlc2NyaXB0aW9uOiBcIua4heepuuW9k+WJjeeql+WPo+a2iOaBr1wiLCBpY29uOiA8VHJhc2gyIGNsYXNzTmFtZT1cImgtNCB3LTQgdGV4dC1yZWQtNTAwXCIgLz4sIGNhdGVnb3J5OiBcInN5c3RlbVwiLCBhY3Rpb246ICgpID0+IHsgb25DbGVhck1lc3NhZ2VzPy4oKTsgc2V0VGV4dChcIlwiKTsgc2V0U2hvd1BhbmVsKGZhbHNlKTsgfSB9LFxuICAgIC4uLmluc3RhbGxlZFNraWxscy5tYXAoKHMpID0+ICh7XG4gICAgICBpZDogYHNraWxsOiR7cy5uYW1lfWAsIGxhYmVsOiBzLm5hbWUsIGRlc2NyaXB0aW9uOiBzLmRlc2NyaXB0aW9uIHx8IFwi5omn6KGM5q2kIFNraWxsXCIsXG4gICAgICBpY29uOiA8WmFwIGNsYXNzTmFtZT1cImgtNCB3LTQgdGV4dC1wdXJwbGUtNTAwXCIgLz4sIGNhdGVnb3J5OiBcInNraWxsXCIgYXMgY29uc3QsXG4gICAgICBpbnNlcnQ6IGAvJHtzLm5hbWV9IGAsXG4gICAgfSkpLFxuICBdO1xuXG4gIGNvbnN0IGZpbHRlcmVkQ29tbWFuZHMgPSBhbGxDb21tYW5kcy5maWx0ZXIoXG4gICAgKGMpID0+ICFzbGFzaEZpbHRlciB8fCBjLmxhYmVsLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc2xhc2hGaWx0ZXIudG9Mb3dlckNhc2UoKSkgfHwgYy5kZXNjcmlwdGlvbi50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHNsYXNoRmlsdGVyLnRvTG93ZXJDYXNlKCkpXG4gICk7XG5cbiAgY29uc3QgaGFuZGxlQ2hhbmdlID0gKGU6IFJlYWN0LkNoYW5nZUV2ZW50PEhUTUxUZXh0QXJlYUVsZW1lbnQ+KSA9PiB7XG4gICAgY29uc3QgdmFsID0gZS50YXJnZXQudmFsdWU7IHNldFRleHQodmFsKTsgc2V0SGlzdG9yeUlkeCgtMSk7XG4gICAgaWYgKHZhbCA9PT0gXCIvXCIgfHwgLyg/Ol58XFxuKVxcLyQvLnRlc3QodmFsKSkgeyBzZXRTbGFzaEZpbHRlcihcIlwiKTsgc2V0U2VsZWN0ZWRJZHgoMCk7IHNldFNob3dQYW5lbCh0cnVlKTsgfVxuICAgIGVsc2UgaWYgKHNob3dQYW5lbCkge1xuICAgICAgY29uc3QgbWF0Y2ggPSB2YWwubWF0Y2goLyg/Ol58XFxuKVxcLyhbXlxcc10qKSQvKTtcbiAgICAgIGlmIChtYXRjaCkgeyBzZXRTbGFzaEZpbHRlcihtYXRjaFsxXSk7IHNldFNlbGVjdGVkSWR4KDApOyB9IGVsc2Ugc2V0U2hvd1BhbmVsKGZhbHNlKTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3Qgc2VsZWN0Q29tbWFuZCA9IHVzZUNhbGxiYWNrKChjbWQ6IFNsYXNoQ29tbWFuZCkgPT4ge1xuICAgIGlmIChjbWQuYWN0aW9uKSB7IGNtZC5hY3Rpb24oKTsgcmV0dXJuOyB9XG4gICAgaWYgKGNtZC5pbnNlcnQpIHtcbiAgICAgIGNvbnN0IG5ld1RleHQgPSB0ZXh0LnJlcGxhY2UoLyg/Ol58XFxuKVxcL1teXFxzXSokLywgKG0pID0+IG0uc3RhcnRzV2l0aChcIlxcblwiKSA/IFwiXFxuXCIgKyBjbWQuaW5zZXJ0IDogY21kLmluc2VydCA/PyBcIlwiKTtcbiAgICAgIHNldFRleHQobmV3VGV4dCA/PyBcIlwiKTsgc2V0U2hvd1BhbmVsKGZhbHNlKTsgdGV4dGFyZWFSZWYuY3VycmVudD8uZm9jdXMoKTtcbiAgICB9XG4gIH0sIFt0ZXh0XSk7XG5cbiAgY29uc3QgaGFuZGxlU2VuZCA9ICgpID0+IHtcbiAgICBpZiAoKCF0ZXh0LnRyaW0oKSAmJiAhaW1hZ2VzLmxlbmd0aCkgfHwgZGlzYWJsZWQpIHJldHVybjtcbiAgICBjb25zdCB0b1NlbmQgPSB0ZXh0LnRyaW0oKTtcbiAgICBvblNlbmQodG9TZW5kLCBtb2RlLCBpbWFnZXMubGVuZ3RoID8gaW1hZ2VzIDogdW5kZWZpbmVkKTtcbiAgICBpZiAodG9TZW5kKSBzZXRJbnB1dEhpc3RvcnkoKHByZXYpID0+IFt0b1NlbmQsIC4uLnByZXYuZmlsdGVyKCh4KSA9PiB4ICE9PSB0b1NlbmQpXS5zbGljZSgwLCA1MCkpO1xuICAgIHNldFRleHQoXCJcIik7IHNldEltYWdlcyhbXSk7IHNldEhpc3RvcnlJZHgoLTEpOyBzZXRTaG93UGFuZWwoZmFsc2UpO1xuICAgIGlmIChtb2RlID09PSBcInN0ZWVyXCIgfHwgbW9kZSA9PT0gXCJmb2xsb3d1cFwiKSBzZXRNb2RlKFwibm9ybWFsXCIpO1xuICB9O1xuXG4gIGNvbnN0IGhhbmRsZUtleURvd24gPSAoZTogUmVhY3QuS2V5Ym9hcmRFdmVudCkgPT4ge1xuICAgIGlmIChzaG93UGFuZWwpIHtcbiAgICAgIGlmIChlLmtleSA9PT0gXCJBcnJvd0Rvd25cIikgeyBlLnByZXZlbnREZWZhdWx0KCk7IHNldFNlbGVjdGVkSWR4KChpKSA9PiBNYXRoLm1pbihpICsgMSwgZmlsdGVyZWRDb21tYW5kcy5sZW5ndGggLSAxKSk7IH1cbiAgICAgIGVsc2UgaWYgKGUua2V5ID09PSBcIkFycm93VXBcIikgeyBlLnByZXZlbnREZWZhdWx0KCk7IHNldFNlbGVjdGVkSWR4KChpKSA9PiBNYXRoLm1heChpIC0gMSwgMCkpOyB9XG4gICAgICBlbHNlIGlmIChlLmtleSA9PT0gXCJFbnRlclwiICYmICFlLnNoaWZ0S2V5KSB7IGUucHJldmVudERlZmF1bHQoKTsgaWYgKGZpbHRlcmVkQ29tbWFuZHNbc2VsZWN0ZWRJZHhdKSBzZWxlY3RDb21tYW5kKGZpbHRlcmVkQ29tbWFuZHNbc2VsZWN0ZWRJZHhdKTsgfVxuICAgICAgZWxzZSBpZiAoZS5rZXkgPT09IFwiRXNjYXBlXCIpIHNldFNob3dQYW5lbChmYWxzZSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmIChlLmtleSA9PT0gXCJFbnRlclwiICYmICFlLnNoaWZ0S2V5KSB7IGUucHJldmVudERlZmF1bHQoKTsgaGFuZGxlU2VuZCgpOyByZXR1cm47IH1cbiAgICBpZiAoZS5rZXkgPT09IFwiQXJyb3dVcFwiICYmICF0ZXh0LnRyaW0oKSkge1xuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgY29uc3QgbmV3SWR4ID0gTWF0aC5taW4oaGlzdG9yeUlkeCArIDEsIGlucHV0SGlzdG9yeS5sZW5ndGggLSAxKTtcbiAgICAgIGlmIChuZXdJZHggPj0gMCAmJiBpbnB1dEhpc3RvcnlbbmV3SWR4XSkgeyBpZiAoaGlzdG9yeUlkeCA9PT0gLTEpIHNldERyYWZ0VGV4dCh0ZXh0KTsgc2V0VGV4dChpbnB1dEhpc3RvcnlbbmV3SWR4XSk7IHNldEhpc3RvcnlJZHgobmV3SWR4KTsgfVxuICAgIH1cbiAgICBpZiAoZS5rZXkgPT09IFwiQXJyb3dEb3duXCIgJiYgaGlzdG9yeUlkeCA+PSAwKSB7XG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBjb25zdCBuZXdJZHggPSBoaXN0b3J5SWR4IC0gMTtcbiAgICAgIGlmIChuZXdJZHggPCAwKSB7IHNldFRleHQoZHJhZnRUZXh0KTsgc2V0SGlzdG9yeUlkeCgtMSk7IH0gZWxzZSB7IHNldFRleHQoaW5wdXRIaXN0b3J5W25ld0lkeF0pOyBzZXRIaXN0b3J5SWR4KG5ld0lkeCk7IH1cbiAgICB9XG4gIH07XG5cbiAgY29uc3QgdG9nZ2xlUmVjb3JkaW5nID0gKCkgPT4ge1xuICAgIGlmIChyZWNvcmRpbmcpIHsgcmVjb2duaXRpb25SZWYuY3VycmVudD8uc3RvcCgpOyBzZXRSZWNvcmRpbmcoZmFsc2UpOyByZXR1cm47IH1cbiAgICBjb25zdCB3aW4gPSB3aW5kb3cgYXMgdW5rbm93biBhcyB7IFNwZWVjaFJlY29nbml0aW9uPzogSVNwZWVjaFJlY29nbml0aW9uQ3Rvcjsgd2Via2l0U3BlZWNoUmVjb2duaXRpb24/OiBJU3BlZWNoUmVjb2duaXRpb25DdG9yIH07XG4gICAgY29uc3QgQ3RvciA9IHdpbi5TcGVlY2hSZWNvZ25pdGlvbiA/PyB3aW4ud2Via2l0U3BlZWNoUmVjb2duaXRpb247XG4gICAgaWYgKCFDdG9yKSByZXR1cm47XG4gICAgY29uc3QgcmVjID0gbmV3IEN0b3IoKTtcbiAgICByZWMubGFuZyA9IGFnZW50TGFuZ3VhZ2U7IHJlYy5jb250aW51b3VzID0gZmFsc2U7IHJlYy5pbnRlcmltUmVzdWx0cyA9IGZhbHNlO1xuICAgIHJlYy5vbnJlc3VsdCA9IChlKSA9PiBzZXRUZXh0KChwcmV2KSA9PiBwcmV2ICsgKHByZXYgPyBcIiBcIiA6IFwiXCIpICsgZS5yZXN1bHRzWzBdWzBdLnRyYW5zY3JpcHQpO1xuICAgIHJlYy5vbmVuZCA9ICgpID0+IHNldFJlY29yZGluZyhmYWxzZSk7IHJlYy5vbmVycm9yID0gKCkgPT4gc2V0UmVjb3JkaW5nKGZhbHNlKTtcbiAgICByZWMuc3RhcnQoKTsgcmVjb2duaXRpb25SZWYuY3VycmVudCA9IHJlYzsgc2V0UmVjb3JkaW5nKHRydWUpO1xuICB9O1xuICBjb25zdCBzdG9wU3BlYWtpbmcgPSAoKSA9PiB7IHdpbmRvdy5zcGVlY2hTeW50aGVzaXM/LmNhbmNlbCgpOyBzZXRTcGVha2luZyhmYWxzZSk7IG9uU3BlYWtEb25lPy4oKTsgfTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHBhbmVsUmVmLmN1cnJlbnQ/LnF1ZXJ5U2VsZWN0b3IoYFtkYXRhLWlkeD1cIiR7c2VsZWN0ZWRJZHh9XCJdYCk/LnNjcm9sbEludG9WaWV3Py4oeyBibG9jazogXCJuZWFyZXN0XCIgfSk7XG4gIH0sIFtzZWxlY3RlZElkeF0pO1xuXG4gIGNvbnN0IGdyb3VwZWQgPSBmaWx0ZXJlZENvbW1hbmRzLnJlZHVjZSgoYWNjLCBjbWQpID0+IHtcbiAgICBpZiAoIWFjY1tjbWQuY2F0ZWdvcnldKSBhY2NbY21kLmNhdGVnb3J5XSA9IFtdO1xuICAgIGFjY1tjbWQuY2F0ZWdvcnldLnB1c2goY21kKTtcbiAgICByZXR1cm4gYWNjO1xuICB9LCB7fSBhcyBSZWNvcmQ8c3RyaW5nLCB0eXBlb2YgZmlsdGVyZWRDb21tYW5kcz4pO1xuICBjb25zdCBDQVRFR09SWV9MQUJFTFM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7IHN5c3RlbTogXCLns7vnu5/lkb3ku6RcIiwgc2tpbGw6IFwiU2tpbGxzXCIgfTtcbiAgbGV0IGZsYXRJZHggPSAwO1xuICBjb25zdCBjdXJyZW50TW9kZSA9IE1PREVfTUVUQVttb2RlXTtcbiAgY29uc3QgY2FuU2VuZCA9ICh0ZXh0LnRyaW0oKS5sZW5ndGggPiAwIHx8IGltYWdlcy5sZW5ndGggPiAwKSAmJiAhKGRpc2FibGVkICYmIG1vZGUgPT09IFwibm9ybWFsXCIpO1xuICBjb25zdCBib3JkZXJDb2xvciA9IG1vZGUgPT09IFwic3RlZXJcIiA/IFwiYm9yZGVyLW9yYW5nZS00MDAvNjAgZGFyazpib3JkZXItb3JhbmdlLTcwMC82MFwiXG4gICAgOiBtb2RlID09PSBcImZvbGxvd3VwXCIgPyBcImJvcmRlci1ibHVlLTQwMC82MCBkYXJrOmJvcmRlci1ibHVlLTcwMC82MFwiXG4gICAgOiBkcmFnZ2luZyA/IFwiYm9yZGVyLVsjNTdCRTZCXSBib3JkZXItZGFzaGVkXCIgOiBcImJvcmRlci1ib3JkZXJcIjtcblxuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIGNsYXNzTmFtZT1cImJvcmRlci10IGJnLWJhY2tncm91bmQgcHgtMyBweS0yIHJlbGF0aXZlXCJcbiAgICAgIG9uRHJhZ0VudGVyPXtoYW5kbGVEcmFnRW50ZXJ9XG4gICAgICBvbkRyYWdMZWF2ZT17aGFuZGxlRHJhZ0xlYXZlfVxuICAgICAgb25EcmFnT3Zlcj17aGFuZGxlRHJhZ092ZXJ9XG4gICAgICBvbkRyb3A9e2hhbmRsZURyb3B9XG4gICAgPlxuICAgICAgey8qIEhpZGRlbiBmaWxlIGlucHV0ICovfVxuICAgICAgPGlucHV0IHJlZj17ZmlsZUlucHV0UmVmfSB0eXBlPVwiZmlsZVwiIGFjY2VwdD17QUNDRVBUX1RZUEVTfSBtdWx0aXBsZSBjbGFzc05hbWU9XCJoaWRkZW5cIiBvbkNoYW5nZT17aGFuZGxlRmlsZUlucHV0fSAvPlxuXG4gICAgICB7LyogU2xhc2ggY29tbWFuZCBwYW5lbCAqL31cbiAgICAgIHtzaG93UGFuZWwgJiYgKFxuICAgICAgICA8ZGl2IHJlZj17cGFuZWxSZWZ9IGNsYXNzTmFtZT1cImFic29sdXRlIGJvdHRvbS1mdWxsIGxlZnQtMyByaWdodC0zIG1iLTIgcm91bmRlZC14bCBib3JkZXIgYmctd2hpdGUgZGFyazpiZy16aW5jLTgwMCBzaGFkb3ctMnhsIG92ZXJmbG93LWhpZGRlbiB6LTUwIG1heC1oLTY0IG92ZXJmbG93LXktYXV0b1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTIgcHgtMyBweS0yIGJvcmRlci1iIGJnLXNlY29uZGFyeS8zMFwiPlxuICAgICAgICAgICAgPFRlcm1pbmFsIGNsYXNzTmFtZT1cImgtMy41IHctMy41IHRleHQtbXV0ZWQtZm9yZWdyb3VuZFwiIC8+XG4gICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LXhzIHRleHQtbXV0ZWQtZm9yZWdyb3VuZFwiPntzbGFzaEZpbHRlciA/IGAvJHtzbGFzaEZpbHRlcn1gIDogXCLovpPlhaXlkb3ku6TlkI3np7Dov4fmu6TigKZcIn08L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJtbC1hdXRvIHRleHQtWzEwcHhdIHRleHQtbXV0ZWQtZm9yZWdyb3VuZFwiPuKGkeKGkyDCtyBFbnRlciDCtyBFc2M8L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAge2ZpbHRlcmVkQ29tbWFuZHMubGVuZ3RoID09PSAwID8gKFxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJweC00IHB5LTUgdGV4dC1jZW50ZXIgdGV4dC1zbSB0ZXh0LW11dGVkLWZvcmVncm91bmRcIj7msqHmnInljLnphY3nmoTlkb3ku6Q8L2Rpdj5cbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJwLTFcIj5cbiAgICAgICAgICAgICAge09iamVjdC5lbnRyaWVzKGdyb3VwZWQpLm1hcCgoW2NhdCwgY21kc10pID0+IChcbiAgICAgICAgICAgICAgICA8ZGl2IGtleT17Y2F0fT5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicHgtMiBweS0xIHRleHQtWzEwcHhdIGZvbnQtc2VtaWJvbGQgdGV4dC1tdXRlZC1mb3JlZ3JvdW5kIHVwcGVyY2FzZSB0cmFja2luZy13aWRlclwiPntDQVRFR09SWV9MQUJFTFNbY2F0XSA/PyBjYXR9PC9kaXY+XG4gICAgICAgICAgICAgICAgICB7Y21kcy5tYXAoKGNtZCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBpZHggPSBmbGF0SWR4Kys7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGFjdGl2ZSA9IGlkeCA9PT0gc2VsZWN0ZWRJZHg7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBrZXk9e2NtZC5pZH0gdHlwZT1cImJ1dHRvblwiIGRhdGEtaWR4PXtpZHh9XG4gICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBzZWxlY3RDb21tYW5kKGNtZCl9IG9uTW91c2VFbnRlcj17KCkgPT4gc2V0U2VsZWN0ZWRJZHgoaWR4KX1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y24oXCJ3LWZ1bGwgZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTMgcm91bmRlZC1sZyBweC0zIHB5LTIuNSB0ZXh0LWxlZnQgdHJhbnNpdGlvbi1jb2xvcnNcIiwgYWN0aXZlID8gXCJiZy1zZWNvbmRhcnlcIiA6IFwiaG92ZXI6Ymctc2Vjb25kYXJ5LzUwXCIpfT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiaC03IHctNyByb3VuZGVkLWxnIGJnLXNlY29uZGFyeSBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBzaHJpbmstMFwiPntjbWQuaWNvbn08L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibWluLXctMCBmbGV4LTFcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQtc20gZm9udC1tZWRpdW1cIj57Y21kLmxhYmVsfTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29kZSBjbGFzc05hbWU9XCJ0ZXh0LVsxMHB4XSB0ZXh0LW11dGVkLWZvcmVncm91bmQgZm9udC1tb25vIGJnLXNlY29uZGFyeSBweC0xLjUgcHktMC41IHJvdW5kZWRcIj4ve2NtZC5pZC5yZXBsYWNlKFwic2tpbGw6XCIsIFwiXCIpfTwvY29kZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQteHMgdGV4dC1tdXRlZC1mb3JlZ3JvdW5kIHRydW5jYXRlIG10LTAuNVwiPntjbWQuZGVzY3JpcHRpb259PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICApfVxuICAgICAgICA8L2Rpdj5cbiAgICAgICl9XG5cbiAgICAgIHsvKiBNYWluIGlucHV0IGNhcmQg4oCUIG5vIG92ZXJmbG93LWhpZGRlbiBoZXJlIHNvIHRoZSBtb2RlIGRyb3Bkb3duIGNhbiBlc2NhcGUgKi99XG4gICAgICA8ZGl2IGNsYXNzTmFtZT17Y24oXCJyb3VuZGVkLXhsIGJvcmRlciB0cmFuc2l0aW9uLWNvbG9yc1wiLCBib3JkZXJDb2xvcixcbiAgICAgICAgbW9kZSA9PT0gXCJzdGVlclwiID8gXCJiZy1vcmFuZ2UtNTAvNDAgZGFyazpiZy1vcmFuZ2UtOTAwLzEwXCIgOlxuICAgICAgICBtb2RlID09PSBcImZvbGxvd3VwXCIgPyBcImJnLWJsdWUtNTAvNDAgZGFyazpiZy1ibHVlLTkwMC8xMFwiIDogXCJiZy1iYWNrZ3JvdW5kXCIsXG4gICAgICApfT5cbiAgICAgICAgey8qIEltYWdlIHByZXZpZXdzIOKAlCBvdmVyZmxvdy1oaWRkZW4gb25seSBvbiB0aGlzIHNlY3Rpb24gZm9yIGNsaXBwaW5nICovfVxuICAgICAgICB7aW1hZ2VzLmxlbmd0aCA+IDAgJiYgKFxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBnYXAtMiBwLTIgZmxleC13cmFwIGJvcmRlci1iIGJvcmRlci1ib3JkZXIvNjAgcm91bmRlZC10LXhsIG92ZXJmbG93LWhpZGRlblwiPlxuICAgICAgICAgICAge2ltYWdlcy5tYXAoKGltZykgPT4gKFxuICAgICAgICAgICAgICA8ZGl2IGtleT17aW1nLmlkfSBjbGFzc05hbWU9XCJyZWxhdGl2ZSBncm91cC9pbWdcIj5cbiAgICAgICAgICAgICAgICB7LyogZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBuZXh0L25leHQvbm8taW1nLWVsZW1lbnQgKi99XG4gICAgICAgICAgICAgICAgPGltZyBzcmM9e2ltZy5wcmV2aWV3VXJsfSBhbHQ9e2ltZy5uYW1lfVxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiaC0xNiB3LTE2IG9iamVjdC1jb3ZlciByb3VuZGVkLWxnIGJvcmRlciBib3JkZXItYm9yZGVyLzYwXCIgLz5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBvbkNsaWNrPXsoKSA9PiByZW1vdmVJbWFnZShpbWcuaWQpfVxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiYWJzb2x1dGUgLXRvcC0xLjUgLXJpZ2h0LTEuNSBoLTUgdy01IHJvdW5kZWQtZnVsbCBiZy16aW5jLTgwMCBkYXJrOmJnLXppbmMtNjAwIHRleHQtd2hpdGUgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgb3BhY2l0eS0wIGdyb3VwLWhvdmVyL2ltZzpvcGFjaXR5LTEwMCB0cmFuc2l0aW9uLW9wYWNpdHkgc2hhZG93XCI+XG4gICAgICAgICAgICAgICAgICA8WCBjbGFzc05hbWU9XCJoLTMgdy0zXCIgLz5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICApKX1cbiAgICAgICAgICAgIHtpbWFnZXMubGVuZ3RoIDwgTUFYX0lNQUdFUyAmJiAoXG4gICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIG9uQ2xpY2s9eygpID0+IGZpbGVJbnB1dFJlZi5jdXJyZW50Py5jbGljaygpfVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImgtMTYgdy0xNiByb3VuZGVkLWxnIGJvcmRlci0yIGJvcmRlci1kYXNoZWQgYm9yZGVyLWJvcmRlci82MCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciB0ZXh0LW11dGVkLWZvcmVncm91bmQgaG92ZXI6Ym9yZGVyLVsjNTdCRTZCXSBob3Zlcjp0ZXh0LVsjNTdCRTZCXSB0cmFuc2l0aW9uLWNvbG9yc1wiPlxuICAgICAgICAgICAgICAgIDxJbWFnZVBsdXMgY2xhc3NOYW1lPVwiaC01IHctNVwiIC8+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKX1cblxuICAgICAgICB7LyogVGV4dGFyZWEgKi99XG4gICAgICAgIDx0ZXh0YXJlYVxuICAgICAgICAgIHJlZj17dGV4dGFyZWFSZWZ9XG4gICAgICAgICAgdmFsdWU9e3RleHR9XG4gICAgICAgICAgb25DaGFuZ2U9e2hhbmRsZUNoYW5nZX1cbiAgICAgICAgICBvbktleURvd249e2hhbmRsZUtleURvd259XG4gICAgICAgICAgb25QYXN0ZT17aGFuZGxlUGFzdGV9XG4gICAgICAgICAgb25CbHVyPXsoKSA9PiBzZXRUaW1lb3V0KCgpID0+IHNldFNob3dQYW5lbChmYWxzZSksIDE1MCl9XG4gICAgICAgICAgcGxhY2Vob2xkZXI9e1xuICAgICAgICAgICAgbW9kZSA9PT0gXCJzdGVlclwiID8gXCLlvJXlr7znlJ/miJDmlrnlkJHvvIjlsIbkuK3mlq3lvZPliY3ovpPlh7rvvInigKZcIiA6XG4gICAgICAgICAgICBtb2RlID09PSBcImZvbGxvd3VwXCIgPyBcIui/veWKoOa2iOaBr++8iOW9k+WJjeWujOaIkOWQjuWPkemAge+8ieKAplwiIDpcbiAgICAgICAgICAgIGAke3QoXCJpbnB1dFBsYWNlaG9sZGVyXCIpfSAgKCAvIOWUpOWHuuWRveS7pCDCtyDnspjotLQv5ouW5ou95Zu+54mHIClgXG4gICAgICAgICAgfVxuICAgICAgICAgIHJvd3M9ezF9XG4gICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkICYmIG1vZGUgPT09IFwibm9ybWFsXCJ9XG4gICAgICAgICAgY2xhc3NOYW1lPVwidy1mdWxsIHJlc2l6ZS1ub25lIGJnLXRyYW5zcGFyZW50IHRleHQtc20gb3V0bGluZS1ub25lIHBsYWNlaG9sZGVyOnRleHQtbXV0ZWQtZm9yZWdyb3VuZCBkaXNhYmxlZDpvcGFjaXR5LTUwIHB4LTMgcHQtMi41IHBiLTEgbWF4LWgtWzE1MHB4XVwiXG4gICAgICAgIC8+XG5cbiAgICAgICAgey8qIFRvb2xiYXIgKi99XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTEgcHgtMiBweS0xLjVcIj5cbiAgICAgICAgICB7LyogQXR0YWNoIGltYWdlICovfVxuICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIG9uQ2xpY2s9eygpID0+IGZpbGVJbnB1dFJlZi5jdXJyZW50Py5jbGljaygpfVxuICAgICAgICAgICAgdGl0bGU9e2DkuIrkvKDlm77niYfvvIjmnIDlpJogJHtNQVhfSU1BR0VTfSDlvKDvvIzmlK/mjIHmi5bmi70v57KY6LS077yJYH1cbiAgICAgICAgICAgIGRpc2FibGVkPXtpbWFnZXMubGVuZ3RoID49IE1BWF9JTUFHRVN9XG4gICAgICAgICAgICBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBoLTcgdy03IHJvdW5kZWQtbGcgdGV4dC1tdXRlZC1mb3JlZ3JvdW5kIGhvdmVyOmJnLXNlY29uZGFyeS82MCBob3Zlcjp0ZXh0LWZvcmVncm91bmQgdHJhbnNpdGlvbi1jb2xvcnMgZGlzYWJsZWQ6b3BhY2l0eS0zMCBkaXNhYmxlZDpjdXJzb3Itbm90LWFsbG93ZWRcIj5cbiAgICAgICAgICAgIDxJbWFnZVBsdXMgY2xhc3NOYW1lPVwiaC00IHctNFwiIC8+XG4gICAgICAgICAgPC9idXR0b24+XG5cbiAgICAgICAgICB7LyogTW9kZWwgc2VsZWN0b3IgKi99XG4gICAgICAgICAge29uTW9kZWxDaGFuZ2UgJiYgKFxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyZWxhdGl2ZVwiPlxuICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHsgc2V0U2hvd01vZGVsTWVudSghc2hvd01vZGVsTWVudSk7IHNldFNob3dNb2RlTWVudShmYWxzZSk7IH19XG4gICAgICAgICAgICAgICAgdGl0bGU9e2N1cnJlbnRNb2RlbCA/IGDlvZPliY3mqKHlnovvvJoke2N1cnJlbnRNb2RlbC5wcm92aWRlcn0vJHtjdXJyZW50TW9kZWwubW9kZWxJZH1gIDogXCLliIfmjaLmqKHlnotcIn1cbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2NuKFxuICAgICAgICAgICAgICAgICAgXCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMSBoLTcgcHgtMiByb3VuZGVkLWxnIHRleHQteHMgdHJhbnNpdGlvbi1jb2xvcnMgaG92ZXI6Ymctc2Vjb25kYXJ5LzYwXCIsXG4gICAgICAgICAgICAgICAgICBjdXJyZW50TW9kZWwgPyBcInRleHQtbXV0ZWQtZm9yZWdyb3VuZCBob3Zlcjp0ZXh0LWZvcmVncm91bmRcIiA6IFwidGV4dC1tdXRlZC1mb3JlZ3JvdW5kXCIsXG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxDcHUgY2xhc3NOYW1lPVwiaC0zLjUgdy0zLjUgc2hyaW5rLTBcIiAvPlxuICAgICAgICAgICAgICAgIHtjdXJyZW50TW9kZWwgJiYgKFxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiZm9udC1tb25vIG1heC13LVs4MHB4XSB0cnVuY2F0ZVwiPlxuICAgICAgICAgICAgICAgICAgICB7Y3VycmVudE1vZGVsLm1vZGVsSWQuc3BsaXQoXCItXCIpLnNsaWNlKC0yKS5qb2luKFwiLVwiKX1cbiAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgIDxDaGV2cm9uRG93biBjbGFzc05hbWU9XCJoLTMgdy0zIG9wYWNpdHktNTAgc2hyaW5rLTBcIiAvPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cblxuICAgICAgICAgICAgICB7c2hvd01vZGVsTWVudSAmJiAoXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJhYnNvbHV0ZSBib3R0b20tZnVsbCBsZWZ0LTAgbWItMSB3LTcyIHJvdW5kZWQteGwgYm9yZGVyIGJnLXdoaXRlIGRhcms6YmctemluYy04MDAgc2hhZG93LXhsIHotNTAgb3ZlcmZsb3ctaGlkZGVuXCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInB4LTMgcHktMiBib3JkZXItYiB0ZXh0LXhzIHRleHQtbXV0ZWQtZm9yZWdyb3VuZCBmb250LW1lZGl1bSBiZy1zZWNvbmRhcnkvMzBcIj5cbiAgICAgICAgICAgICAgICAgICAg5YiH5o2i5qih5Z6L77yI5pys5qyh5Lya6K+d5pyJ5pWI77yJXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibWF4LWgtNzIgb3ZlcmZsb3cteS1hdXRvXCI+XG4gICAgICAgICAgICAgICAgICAgIHttb2RlbEdyb3Vwcy5sZW5ndGggPT09IDAgPyAoXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJweC00IHB5LTYgdGV4dC1jZW50ZXIgdGV4dC1zbSB0ZXh0LW11dGVkLWZvcmVncm91bmRcIj7liqDovb3kuK3igKY8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgKSA6IG1vZGVsR3JvdXBzLm1hcCgoZ3JvdXApID0+IChcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGtleT17Z3JvdXAuaWR9PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJweC0zIHB5LTEuNSB0ZXh0LVsxMHB4XSBmb250LXNlbWlib2xkIHRleHQtbXV0ZWQtZm9yZWdyb3VuZCB1cHBlcmNhc2UgdHJhY2tpbmctd2lkZXIgYmctc2Vjb25kYXJ5LzIwIHN0aWNreSB0b3AtMFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB7Z3JvdXAubmFtZX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAge2dyb3VwLm1vZGVscy5tYXAoKG1vZGVsKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGlzQWN0aXZlID0gY3VycmVudE1vZGVsPy5wcm92aWRlciA9PT0gbW9kZWwucHJvdmlkZXJJZCAmJiBjdXJyZW50TW9kZWw/Lm1vZGVsSWQgPT09IG1vZGVsLmlkO1xuICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24ga2V5PXttb2RlbC5pZH0gdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7IG9uTW9kZWxDaGFuZ2UobW9kZWwucHJvdmlkZXJJZCwgbW9kZWwuaWQpOyBzZXRTaG93TW9kZWxNZW51KGZhbHNlKTsgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y24oXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwidy1mdWxsIGZsZXggaXRlbXMtc3RhcnQgZ2FwLTIuNSBweC0zIHB5LTIgdGV4dC1sZWZ0IHRyYW5zaXRpb24tY29sb3JzIGhvdmVyOmJnLXNlY29uZGFyeS81MFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0FjdGl2ZSAmJiBcImJnLVsjNTdCRTZCXS8xMCBkYXJrOmJnLVsjNTdCRTZCXS8xNVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXgtMSBtaW4tdy0wXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9e2NuKFwidGV4dC1zbSBmb250LW1lZGl1bSB0cnVuY2F0ZVwiLCBpc0FjdGl2ZSAmJiBcInRleHQtWyM1N0JFNkJdXCIpfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHttb2RlbC5uYW1lfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7aXNBY3RpdmUgJiYgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC1bMTBweF0gdGV4dC1bIzU3QkU2Ql0gZm9udC1tZWRpdW0gc2hyaW5rLTBcIj7lvZPliY08L3NwYW4+fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMiBtdC0wLjVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LVsxMHB4XSB0ZXh0LW11dGVkLWZvcmVncm91bmQgZm9udC1tb25vXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7TWF0aC5yb3VuZChtb2RlbC5jb250ZXh0V2luZG93IC8gMTAwMCl9SyBjdHhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge21vZGVsLnN1cHBvcnRzVGhpbmtpbmcgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC1bMTBweF0gdGV4dC1wdXJwbGUtNTAwXCI+8J+noCB0aGlua2luZzwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHttb2RlbC5pbnB1dFR5cGVzLmluY2x1ZGVzKFwiaW1hZ2VcIikgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC1bMTBweF0gdGV4dC1ibHVlLTUwMFwiPvCflrwgdmlzaW9uPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge21vZGVsLmNvc3RJbnB1dCAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LVsxMHB4XSB0ZXh0LW11dGVkLWZvcmVncm91bmQgbWwtYXV0byBzaHJpbmstMFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke21vZGVsLmNvc3RJbnB1dH0vTVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICl9XG5cbiAgICAgICAgICB7LyogVm9pY2UgKi99XG4gICAgICAgICAge3ZvaWNlRW5hYmxlZCAmJiAoXG4gICAgICAgICAgICBzcGVha2luZyA/IChcbiAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgb25DbGljaz17c3RvcFNwZWFraW5nfSB0aXRsZT1cIuWBnOatouacl+ivu1wiXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgaC03IHctNyByb3VuZGVkLWxnIHRleHQtcHJpbWFyeSBob3ZlcjpiZy1zZWNvbmRhcnkvNjAgdHJhbnNpdGlvbi1jb2xvcnNcIj5cbiAgICAgICAgICAgICAgICA8Vm9sdW1lWCBjbGFzc05hbWU9XCJoLTQgdy00XCIgLz5cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBvbkNsaWNrPXt0b2dnbGVSZWNvcmRpbmd9XG4gICAgICAgICAgICAgICAgdGl0bGU9e3JlY29yZGluZyA/IFwi5YGc5q2i5b2V6Z+zXCIgOiBcIuivremfs+i+k+WFpVwifVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y24oXCJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBoLTcgdy03IHJvdW5kZWQtbGcgdHJhbnNpdGlvbi1jb2xvcnMgaG92ZXI6Ymctc2Vjb25kYXJ5LzYwXCIsXG4gICAgICAgICAgICAgICAgICByZWNvcmRpbmcgPyBcInRleHQtZGVzdHJ1Y3RpdmUgYW5pbWF0ZS1wdWxzZVwiIDogXCJ0ZXh0LW11dGVkLWZvcmVncm91bmQgaG92ZXI6dGV4dC1mb3JlZ3JvdW5kXCIpfT5cbiAgICAgICAgICAgICAgICB7cmVjb3JkaW5nID8gPE1pY09mZiBjbGFzc05hbWU9XCJoLTQgdy00XCIgLz4gOiA8TWljIGNsYXNzTmFtZT1cImgtNCB3LTRcIiAvPn1cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICApXG4gICAgICAgICAgKX1cblxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleC0xXCIgLz5cblxuICAgICAgICAgIHsvKiBNb2RlIHBpY2tlciAqL31cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJlbGF0aXZlXCI+XG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBvbkNsaWNrPXsoKSA9PiBzZXRTaG93TW9kZU1lbnUoIXNob3dNb2RlTWVudSl9XG4gICAgICAgICAgICAgIGNsYXNzTmFtZT17Y24oXCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMSByb3VuZGVkLWxnIHB4LTIgcHktMSB0ZXh0LXhzIGZvbnQtbWVkaXVtIHRyYW5zaXRpb24tY29sb3JzIGhvdmVyOmJnLXNlY29uZGFyeS82MFwiLCBjdXJyZW50TW9kZS5hY3RpdmVDb2xvcil9PlxuICAgICAgICAgICAgICB7Y3VycmVudE1vZGUubGFiZWx9XG4gICAgICAgICAgICAgIDxDaGV2cm9uRG93biBjbGFzc05hbWU9XCJoLTMgdy0zIG9wYWNpdHktNjBcIiAvPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICB7c2hvd01vZGVNZW51ICYmIChcbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJhYnNvbHV0ZSBib3R0b20tZnVsbCByaWdodC0wIG1iLTEgbWluLXctWzE2MHB4XSByb3VuZGVkLXhsIGJvcmRlciBiZy13aGl0ZSBkYXJrOmJnLXppbmMtODAwIHNoYWRvdy14bCB6LTUwIHAtMSBzcGFjZS15LTAuNVwiPlxuICAgICAgICAgICAgICAgIHsoT2JqZWN0LmVudHJpZXMoTU9ERV9NRVRBKSBhcyBbU2VuZE1vZGUsIHR5cGVvZiBNT0RFX01FVEFbU2VuZE1vZGVdXVtdKS5tYXAoKFttLCBtZXRhXSkgPT4gKFxuICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBrZXk9e219IHR5cGU9XCJidXR0b25cIiBvbkNsaWNrPXsoKSA9PiB7IHNldE1vZGUobSk7IHNldFNob3dNb2RlTWVudShmYWxzZSk7IH19XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y24oXCJ3LWZ1bGwgdGV4dC1sZWZ0IHJvdW5kZWQtbGcgcHgtMyBweS0yIHRleHQtc20gdHJhbnNpdGlvbi1jb2xvcnNcIiwgbW9kZSA9PT0gbSA/IFwiYmctc2Vjb25kYXJ5XCIgOiBcImhvdmVyOmJnLXNlY29uZGFyeS81MFwiKX0+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtjbihcImZvbnQtbWVkaXVtXCIsIE1PREVfTUVUQVttXS5hY3RpdmVDb2xvcil9PnttZXRhLmxhYmVsfTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInRleHQtWzExcHhdIHRleHQtbXV0ZWQtZm9yZWdyb3VuZFwiPnttZXRhLmRlc2N9PC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgey8qIFNlbmQgYnV0dG9uICovfVxuICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIG9uQ2xpY2s9e2hhbmRsZVNlbmR9IGRpc2FibGVkPXshY2FuU2VuZH1cbiAgICAgICAgICAgIHRpdGxlPVwi5Y+R6YCB77yIRW50ZXLvvIlcIlxuICAgICAgICAgICAgY2xhc3NOYW1lPXtjbihcbiAgICAgICAgICAgICAgXCJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBoLTcgdy03IHJvdW5kZWQtbGcgdGV4dC13aGl0ZSB0cmFuc2l0aW9uLWNvbG9ycyBkaXNhYmxlZDpvcGFjaXR5LTQwIGRpc2FibGVkOmN1cnNvci1ub3QtYWxsb3dlZFwiLFxuICAgICAgICAgICAgICBjdXJyZW50TW9kZS5jb2xvcixcbiAgICAgICAgICAgICl9PlxuICAgICAgICAgICAgPFNlbmQgY2xhc3NOYW1lPVwiaC0zLjUgdy0zLjVcIiAvPlxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICB7LyogRHJhZyBvdmVybGF5ICovfVxuICAgICAge2RyYWdnaW5nICYmIChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJhYnNvbHV0ZSBpbnNldC0wIG0tMSByb3VuZGVkLXhsIGJvcmRlci0yIGJvcmRlci1kYXNoZWQgYm9yZGVyLVsjNTdCRTZCXSBiZy1bIzU3QkU2Ql0vNSBmbGV4IGZsZXgtY29sIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBnYXAtMSBwb2ludGVyLWV2ZW50cy1ub25lXCI+XG4gICAgICAgICAgPEltYWdlUGx1cyBjbGFzc05hbWU9XCJoLTYgdy02IHRleHQtWyM1N0JFNkJdXCIgLz5cbiAgICAgICAgICA8cCBjbGFzc05hbWU9XCJ0ZXh0LXNtIGZvbnQtbWVkaXVtIHRleHQtWyM1N0JFNkJdXCI+5p2+5byA6byg5qCH5LiK5Lyg5Zu+54mHPC9wPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICl9XG4gICAgPC9kaXY+XG4gICk7XG59XG4iXSwibmFtZXMiOlsidXNlUmVmIiwidXNlRWZmZWN0IiwidXNlU3RhdGUiLCJ1c2VDYWxsYmFjayIsInVzZVRyYW5zbGF0aW9ucyIsIk1pYyIsIk1pY09mZiIsIlZvbHVtZVgiLCJaYXAiLCJUZXJtaW5hbCIsIlBsdXMiLCJUcmFzaDIiLCJDaGV2cm9uRG93biIsIkltYWdlUGx1cyIsIlgiLCJTZW5kIiwiQ3B1IiwiY24iLCJNT0RFX01FVEEiLCJub3JtYWwiLCJsYWJlbCIsImNvbG9yIiwiYWN0aXZlQ29sb3IiLCJkZXNjIiwic3RlZXIiLCJmb2xsb3d1cCIsIk1BWF9JTUFHRVMiLCJBQ0NFUFRfVFlQRVMiLCJmaWxlVG9BdHRhY2hlZEltYWdlIiwiZmlsZSIsIlByb21pc2UiLCJyZXNvbHZlIiwicmVqZWN0IiwicmVhZGVyIiwiRmlsZVJlYWRlciIsIm9ubG9hZCIsImRhdGFVcmwiLCJyZXN1bHQiLCJiYXNlNjQiLCJzcGxpdCIsImlkIiwiTWF0aCIsInJhbmRvbSIsInRvU3RyaW5nIiwic2xpY2UiLCJkYXRhIiwibWltZVR5cGUiLCJ0eXBlIiwibmFtZSIsInByZXZpZXdVcmwiLCJvbmVycm9yIiwicmVhZEFzRGF0YVVSTCIsIklucHV0QmFyIiwib25TZW5kIiwiZGlzYWJsZWQiLCJ2b2ljZUVuYWJsZWQiLCJ2b2ljZVNwZWVkIiwiYWdlbnRMYW5ndWFnZSIsInR0c1Byb3ZpZGVyIiwidHRzTW9kZWwiLCJ2b2ljZUlkIiwicGVuZGluZ1JlcGx5Iiwib25TcGVha0RvbmUiLCJpbnN0YWxsZWRTa2lsbHMiLCJvbk5ld1Nlc3Npb24iLCJvbkNsZWFyTWVzc2FnZXMiLCJpc1N0cmVhbWluZyIsImN1cnJlbnRNb2RlbCIsIm9uTW9kZWxDaGFuZ2UiLCJ0IiwidGV4dCIsInNldFRleHQiLCJpbWFnZXMiLCJzZXRJbWFnZXMiLCJtb2RlIiwic2V0TW9kZSIsInNob3dNb2RlTWVudSIsInNldFNob3dNb2RlTWVudSIsInNob3dNb2RlbE1lbnUiLCJzZXRTaG93TW9kZWxNZW51IiwibW9kZWxHcm91cHMiLCJzZXRNb2RlbEdyb3VwcyIsInJlY29yZGluZyIsInNldFJlY29yZGluZyIsInNwZWFraW5nIiwic2V0U3BlYWtpbmciLCJzaG93UGFuZWwiLCJzZXRTaG93UGFuZWwiLCJzbGFzaEZpbHRlciIsInNldFNsYXNoRmlsdGVyIiwic2VsZWN0ZWRJZHgiLCJzZXRTZWxlY3RlZElkeCIsImlucHV0SGlzdG9yeSIsInNldElucHV0SGlzdG9yeSIsImhpc3RvcnlJZHgiLCJzZXRIaXN0b3J5SWR4IiwiZHJhZnRUZXh0Iiwic2V0RHJhZnRUZXh0IiwiZHJhZ2dpbmciLCJzZXREcmFnZ2luZyIsInRleHRhcmVhUmVmIiwiZmlsZUlucHV0UmVmIiwicmVjb2duaXRpb25SZWYiLCJwYW5lbFJlZiIsImRyYWdDb3VudGVyUmVmIiwibGVuZ3RoIiwiZmV0Y2giLCJ0aGVuIiwiciIsImpzb24iLCJjYXRjaCIsInRhIiwiY3VycmVudCIsInN0eWxlIiwiaGVpZ2h0IiwibWluIiwic2Nyb2xsSGVpZ2h0Iiwic3BlYWsiLCJyZXNwb25zZSIsIm1ldGhvZCIsImhlYWRlcnMiLCJib2R5IiwiSlNPTiIsInN0cmluZ2lmeSIsIm1vZGVsIiwidm9pY2UiLCJzcGVlZCIsIm9rIiwiRXJyb3IiLCJhdWRpb0Jsb2IiLCJibG9iIiwiYXVkaW9VcmwiLCJVUkwiLCJjcmVhdGVPYmplY3RVUkwiLCJhdWRpbyIsIkF1ZGlvIiwib25lbmRlZCIsInJldm9rZU9iamVjdFVSTCIsInBsYXkiLCJlcnJvciIsImNvbnNvbGUiLCJ3aW5kb3ciLCJzcGVlY2hTeW50aGVzaXMiLCJjYW5jZWwiLCJ1dHQiLCJTcGVlY2hTeW50aGVzaXNVdHRlcmFuY2UiLCJsYW5nIiwicmF0ZSIsInZvaWNlcyIsImdldFZvaWNlcyIsImZpbmQiLCJ2Iiwidm9pY2VVUkkiLCJvbnN0YXJ0Iiwib25lbmQiLCJhZGRJbWFnZXMiLCJmaWxlcyIsInZhbGlkIiwiZmlsdGVyIiwiZiIsInN0YXJ0c1dpdGgiLCJjb252ZXJ0ZWQiLCJhbGwiLCJtYXAiLCJwcmV2IiwicmVtb3ZlSW1hZ2UiLCJpIiwiaGFuZGxlRmlsZUlucHV0IiwiZSIsInRhcmdldCIsIkFycmF5IiwiZnJvbSIsInZhbHVlIiwiaGFuZGxlUGFzdGUiLCJpbWFnZUZpbGVzIiwiY2xpcGJvYXJkRGF0YSIsIml0ZW1zIiwiaXRlbSIsImdldEFzRmlsZSIsIkJvb2xlYW4iLCJwcmV2ZW50RGVmYXVsdCIsImhhbmRsZURyYWdFbnRlciIsImRhdGFUcmFuc2ZlciIsInNvbWUiLCJoYW5kbGVEcmFnTGVhdmUiLCJoYW5kbGVEcmFnT3ZlciIsImhhbmRsZURyb3AiLCJhbGxDb21tYW5kcyIsImRlc2NyaXB0aW9uIiwiaWNvbiIsImNsYXNzTmFtZSIsImNhdGVnb3J5IiwiYWN0aW9uIiwicyIsImluc2VydCIsImZpbHRlcmVkQ29tbWFuZHMiLCJjIiwidG9Mb3dlckNhc2UiLCJpbmNsdWRlcyIsImhhbmRsZUNoYW5nZSIsInZhbCIsInRlc3QiLCJtYXRjaCIsInNlbGVjdENvbW1hbmQiLCJjbWQiLCJuZXdUZXh0IiwicmVwbGFjZSIsIm0iLCJmb2N1cyIsImhhbmRsZVNlbmQiLCJ0cmltIiwidG9TZW5kIiwidW5kZWZpbmVkIiwieCIsImhhbmRsZUtleURvd24iLCJrZXkiLCJtYXgiLCJzaGlmdEtleSIsIm5ld0lkeCIsInRvZ2dsZVJlY29yZGluZyIsInN0b3AiLCJ3aW4iLCJDdG9yIiwiU3BlZWNoUmVjb2duaXRpb24iLCJ3ZWJraXRTcGVlY2hSZWNvZ25pdGlvbiIsInJlYyIsImNvbnRpbnVvdXMiLCJpbnRlcmltUmVzdWx0cyIsIm9ucmVzdWx0IiwicmVzdWx0cyIsInRyYW5zY3JpcHQiLCJzdGFydCIsInN0b3BTcGVha2luZyIsInF1ZXJ5U2VsZWN0b3IiLCJzY3JvbGxJbnRvVmlldyIsImJsb2NrIiwiZ3JvdXBlZCIsInJlZHVjZSIsImFjYyIsInB1c2giLCJDQVRFR09SWV9MQUJFTFMiLCJzeXN0ZW0iLCJza2lsbCIsImZsYXRJZHgiLCJjdXJyZW50TW9kZSIsImNhblNlbmQiLCJib3JkZXJDb2xvciIsImRpdiIsIm9uRHJhZ0VudGVyIiwib25EcmFnTGVhdmUiLCJvbkRyYWdPdmVyIiwib25Ecm9wIiwiaW5wdXQiLCJyZWYiLCJhY2NlcHQiLCJtdWx0aXBsZSIsIm9uQ2hhbmdlIiwic3BhbiIsIk9iamVjdCIsImVudHJpZXMiLCJjYXQiLCJjbWRzIiwiaWR4IiwiYWN0aXZlIiwiYnV0dG9uIiwiZGF0YS1pZHgiLCJvbkNsaWNrIiwib25Nb3VzZUVudGVyIiwiY29kZSIsInAiLCJpbWciLCJzcmMiLCJhbHQiLCJjbGljayIsInRleHRhcmVhIiwib25LZXlEb3duIiwib25QYXN0ZSIsIm9uQmx1ciIsInNldFRpbWVvdXQiLCJwbGFjZWhvbGRlciIsInJvd3MiLCJ0aXRsZSIsInByb3ZpZGVyIiwibW9kZWxJZCIsImpvaW4iLCJncm91cCIsIm1vZGVscyIsImlzQWN0aXZlIiwicHJvdmlkZXJJZCIsInJvdW5kIiwiY29udGV4dFdpbmRvdyIsInN1cHBvcnRzVGhpbmtpbmciLCJpbnB1dFR5cGVzIiwiY29zdElucHV0IiwibWV0YSJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/components/chat/input-bar.tsx\n");
|
|
304
|
-
|
|
305
|
-
/***/ }),
|
|
306
|
-
|
|
307
|
-
/***/ "(ssr)/./src/components/chat/message-bubble.tsx":
|
|
308
|
-
/*!************************************************!*\
|
|
309
|
-
!*** ./src/components/chat/message-bubble.tsx ***!
|
|
310
|
-
\************************************************/
|
|
311
|
-
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
312
|
-
|
|
313
|
-
"use strict";
|
|
314
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ MessageBubble: () => (/* binding */ MessageBubble),\n/* harmony export */ TypingBubble: () => (/* binding */ TypingBubble)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var next_intl__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! next-intl */ \"(ssr)/./node_modules/next-intl/dist/development/index.react-client.js\");\n/* harmony import */ var next_intl__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(next_intl__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var react_markdown__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! react-markdown */ \"(ssr)/./node_modules/react-markdown/lib/index.js\");\n/* harmony import */ var remark_gfm__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! remark-gfm */ \"(ssr)/./node_modules/remark-gfm/lib/index.js\");\n/* harmony import */ var rehype_highlight__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! rehype-highlight */ \"(ssr)/./node_modules/rehype-highlight/lib/index.js\");\n/* harmony import */ var _barrel_optimize_names_Brain_Check_ChevronDown_ChevronRight_Copy_ExternalLink_GitBranch_Loader2_RefreshCw_Volume2_Wrench_lucide_react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! __barrel_optimize__?names=Brain,Check,ChevronDown,ChevronRight,Copy,ExternalLink,GitBranch,Loader2,RefreshCw,Volume2,Wrench!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/brain.js\");\n/* harmony import */ var _barrel_optimize_names_Brain_Check_ChevronDown_ChevronRight_Copy_ExternalLink_GitBranch_Loader2_RefreshCw_Volume2_Wrench_lucide_react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! __barrel_optimize__?names=Brain,Check,ChevronDown,ChevronRight,Copy,ExternalLink,GitBranch,Loader2,RefreshCw,Volume2,Wrench!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/chevron-down.js\");\n/* harmony import */ var _barrel_optimize_names_Brain_Check_ChevronDown_ChevronRight_Copy_ExternalLink_GitBranch_Loader2_RefreshCw_Volume2_Wrench_lucide_react__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! __barrel_optimize__?names=Brain,Check,ChevronDown,ChevronRight,Copy,ExternalLink,GitBranch,Loader2,RefreshCw,Volume2,Wrench!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/chevron-right.js\");\n/* harmony import */ var _barrel_optimize_names_Brain_Check_ChevronDown_ChevronRight_Copy_ExternalLink_GitBranch_Loader2_RefreshCw_Volume2_Wrench_lucide_react__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! __barrel_optimize__?names=Brain,Check,ChevronDown,ChevronRight,Copy,ExternalLink,GitBranch,Loader2,RefreshCw,Volume2,Wrench!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/external-link.js\");\n/* harmony import */ var _barrel_optimize_names_Brain_Check_ChevronDown_ChevronRight_Copy_ExternalLink_GitBranch_Loader2_RefreshCw_Volume2_Wrench_lucide_react__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! __barrel_optimize__?names=Brain,Check,ChevronDown,ChevronRight,Copy,ExternalLink,GitBranch,Loader2,RefreshCw,Volume2,Wrench!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/check.js\");\n/* harmony import */ var _barrel_optimize_names_Brain_Check_ChevronDown_ChevronRight_Copy_ExternalLink_GitBranch_Loader2_RefreshCw_Volume2_Wrench_lucide_react__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! __barrel_optimize__?names=Brain,Check,ChevronDown,ChevronRight,Copy,ExternalLink,GitBranch,Loader2,RefreshCw,Volume2,Wrench!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/copy.js\");\n/* harmony import */ var _barrel_optimize_names_Brain_Check_ChevronDown_ChevronRight_Copy_ExternalLink_GitBranch_Loader2_RefreshCw_Volume2_Wrench_lucide_react__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! __barrel_optimize__?names=Brain,Check,ChevronDown,ChevronRight,Copy,ExternalLink,GitBranch,Loader2,RefreshCw,Volume2,Wrench!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/refresh-cw.js\");\n/* harmony import */ var _barrel_optimize_names_Brain_Check_ChevronDown_ChevronRight_Copy_ExternalLink_GitBranch_Loader2_RefreshCw_Volume2_Wrench_lucide_react__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! __barrel_optimize__?names=Brain,Check,ChevronDown,ChevronRight,Copy,ExternalLink,GitBranch,Loader2,RefreshCw,Volume2,Wrench!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/git-branch.js\");\n/* harmony import */ var _barrel_optimize_names_Brain_Check_ChevronDown_ChevronRight_Copy_ExternalLink_GitBranch_Loader2_RefreshCw_Volume2_Wrench_lucide_react__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! __barrel_optimize__?names=Brain,Check,ChevronDown,ChevronRight,Copy,ExternalLink,GitBranch,Loader2,RefreshCw,Volume2,Wrench!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/volume-2.js\");\n/* harmony import */ var _barrel_optimize_names_Brain_Check_ChevronDown_ChevronRight_Copy_ExternalLink_GitBranch_Loader2_RefreshCw_Volume2_Wrench_lucide_react__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! __barrel_optimize__?names=Brain,Check,ChevronDown,ChevronRight,Copy,ExternalLink,GitBranch,Loader2,RefreshCw,Volume2,Wrench!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/loader-circle.js\");\n/* harmony import */ var _barrel_optimize_names_Brain_Check_ChevronDown_ChevronRight_Copy_ExternalLink_GitBranch_Loader2_RefreshCw_Volume2_Wrench_lucide_react__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! __barrel_optimize__?names=Brain,Check,ChevronDown,ChevronRight,Copy,ExternalLink,GitBranch,Loader2,RefreshCw,Volume2,Wrench!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/wrench.js\");\n/* harmony import */ var _lib_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/lib/utils */ \"(ssr)/./src/lib/utils.ts\");\n/* __next_internal_client_entry_do_not_use__ MessageBubble,TypingBubble auto */ \n\n\n\n\n\n\n\n// Detect absolute or ~-relative file paths with image/video extensions\nconst MEDIA_PATH_RE = /(?:\\/(?:Users|home|tmp|var|root)\\S+|~\\/\\S+)\\.(?:png|jpg|jpeg|gif|webp|svg|mp4|webm|mov)/gi;\nconst IMAGE_EXTS = new Set([\n \"png\",\n \"jpg\",\n \"jpeg\",\n \"gif\",\n \"webp\",\n \"svg\"\n]);\nconst VIDEO_EXTS = new Set([\n \"mp4\",\n \"webm\",\n \"mov\"\n]);\nfunction extractMediaPaths(content) {\n const matches = [\n ...content.matchAll(MEDIA_PATH_RE)\n ];\n const seen = new Set();\n return matches.map((m)=>m[0]).filter((p)=>{\n if (seen.has(p)) return false;\n seen.add(p);\n return true;\n }).map((p)=>{\n const ext = p.split(\".\").pop()?.toLowerCase() ?? \"\";\n return {\n path: p,\n type: IMAGE_EXTS.has(ext) ? \"image\" : VIDEO_EXTS.has(ext) ? \"video\" : \"image\"\n };\n });\n}\nfunction serveUrl(filePath) {\n return `/api/file-serve?path=${encodeURIComponent(filePath)}`;\n}\nfunction MessageBubble({ message, agentName, agentAvatar, showTimestamp, onRetry, onFork, onSpeak }) {\n const t = (0,next_intl__WEBPACK_IMPORTED_MODULE_3__.useTranslations)(\"chat\");\n const [copied, setCopied] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const [thinkingOpen, setThinkingOpen] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const isUser = message.role === \"user\";\n // Detect image/video file paths in assistant messages\n const mediaPaths = (0,react__WEBPACK_IMPORTED_MODULE_1__.useMemo)({\n \"MessageBubble.useMemo[mediaPaths]\": ()=>!isUser && message.content ? extractMediaPaths(message.content) : []\n }[\"MessageBubble.useMemo[mediaPaths]\"], [\n isUser,\n message.content\n ]);\n const handleCopy = ()=>{\n navigator.clipboard.writeText(message.content);\n setCopied(true);\n setTimeout(()=>setCopied(false), 2000);\n };\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"px-3\",\n children: [\n showTimestamp && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex justify-center my-2\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-[11px] text-gray-500 neo-card bg-white dark:bg-slate-800/50 dark:backdrop-blur-sm rounded-full px-3 py-1 dark:border-slate-700/50\",\n children: formatTime(message.createdAt)\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/message-bubble.tsx\",\n lineNumber: 70,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/message-bubble.tsx\",\n lineNumber: 69,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (0,_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"group flex items-end gap-2 mb-1\", isUser ? \"flex-row-reverse\" : \"flex-row\"),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (0,_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"flex h-9 w-9 shrink-0 items-center justify-center rounded-xl text-lg shadow-lg transition-all duration-200 border\", isUser ? \"neo-card bg-gradient-to-br from-blue-500 to-indigo-500 dark:from-cyan-600 dark:to-blue-600 text-white text-sm font-bold border-blue-400/50 dark:border-cyan-500/50 group-hover:scale-110 group-hover:shadow-blue-500/30 dark:group-hover:shadow-cyan-500/50\" : \"neo-card bg-white dark:bg-slate-800 text-xl border-gray-200 dark:border-slate-700 group-hover:scale-110 dark:group-hover:shadow-purple-500/30\"),\n children: isUser ? \"我\" : agentAvatar\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/message-bubble.tsx\",\n lineNumber: 78,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (0,_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"flex flex-col gap-1.5 max-w-[75%]\", isUser ? \"items-end\" : \"items-start\"),\n children: [\n !isUser && agentName && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-xs text-gray-500 px-1\",\n children: agentName\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/message-bubble.tsx\",\n lineNumber: 89,\n columnNumber: 13\n }, this),\n !isUser && message.thinking && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n type: \"button\",\n onClick: ()=>setThinkingOpen(!thinkingOpen),\n className: \"flex items-center gap-1.5 rounded-xl border neo-card border-purple-200 bg-purple-50 dark:border-purple-500/30 dark:bg-purple-900/20 dark:backdrop-blur-sm px-3 py-1.5 text-xs text-purple-700 dark:text-purple-300 hover:bg-purple-100 dark:hover:bg-purple-900/30 dark:hover:border-purple-500/50 transition-all duration-200 w-full text-left group/think hover:scale-[1.02]\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Brain_Check_ChevronDown_ChevronRight_Copy_ExternalLink_GitBranch_Loader2_RefreshCw_Volume2_Wrench_lucide_react__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n className: \"h-3.5 w-3.5 shrink-0 transition-transform duration-200 group-hover/think:rotate-12\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/message-bubble.tsx\",\n lineNumber: 99,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"flex-1 font-medium\",\n children: \"思考过程\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/message-bubble.tsx\",\n lineNumber: 100,\n columnNumber: 15\n }, this),\n thinkingOpen ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Brain_Check_ChevronDown_ChevronRight_Copy_ExternalLink_GitBranch_Loader2_RefreshCw_Volume2_Wrench_lucide_react__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n className: \"h-3 w-3\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/message-bubble.tsx\",\n lineNumber: 101,\n columnNumber: 31\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Brain_Check_ChevronDown_ChevronRight_Copy_ExternalLink_GitBranch_Loader2_RefreshCw_Volume2_Wrench_lucide_react__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n className: \"h-3 w-3\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/message-bubble.tsx\",\n lineNumber: 101,\n columnNumber: 69\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/message-bubble.tsx\",\n lineNumber: 94,\n columnNumber: 13\n }, this),\n thinkingOpen && message.thinking && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"rounded-xl border neo-card-inset border-purple-200 bg-purple-50/50 dark:border-purple-500/30 dark:bg-purple-900/10 dark:backdrop-blur-sm px-3 py-2 text-xs text-purple-800 dark:text-purple-200 w-full\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"prose prose-xs max-w-none dark:prose-invert whitespace-pre-wrap leading-relaxed font-mono\",\n children: message.thinking\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/message-bubble.tsx\",\n lineNumber: 106,\n columnNumber: 15\n }, this)\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/message-bubble.tsx\",\n lineNumber: 105,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative\",\n children: [\n isUser ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"absolute right-[-5px] bottom-3 w-0 h-0 border-t-[5px] border-t-transparent border-b-[5px] border-b-transparent border-l-[6px] border-l-blue-500 dark:border-l-cyan-600\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/message-bubble.tsx\",\n lineNumber: 115,\n columnNumber: 15\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"absolute left-[-5px] bottom-3 w-0 h-0 border-t-[5px] border-t-transparent border-b-[5px] border-b-transparent border-r-[6px] border-r-white dark:border-r-slate-800\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/message-bubble.tsx\",\n lineNumber: 117,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (0,_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"group/msg relative rounded-xl text-[14px] leading-[1.6] shadow-lg overflow-hidden transition-all duration-200 border backdrop-blur-sm\", isUser ? \"bg-gradient-to-br from-blue-500 to-indigo-500 dark:from-cyan-600 dark:to-blue-600 text-white rounded-br-[3px] border-blue-400/50 dark:border-cyan-500/50 hover:shadow-blue-500/20 dark:hover:shadow-cyan-500/30\" : \"neo-card bg-white dark:bg-slate-800/90 text-gray-800 dark:text-gray-100 rounded-bl-[3px] border-gray-200 dark:border-slate-700/50 dark:hover:border-slate-600\"),\n children: [\n isUser && message.images && message.images.length > 0 && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex flex-wrap gap-1.5 p-2 pb-0\",\n children: message.images.map((img)=>// eslint-disable-next-line @next/next/no-img-element\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"img\", {\n src: img.previewUrl,\n alt: img.name,\n className: \"h-32 max-w-[180px] object-cover rounded-md\"\n }, img.id, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/message-bubble.tsx\",\n lineNumber: 130,\n columnNumber: 21\n }, this))\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/message-bubble.tsx\",\n lineNumber: 127,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"px-3.5 py-2.5\",\n children: isUser ? message.content ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"whitespace-pre-wrap break-words\",\n children: message.content\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/message-bubble.tsx\",\n lineNumber: 137,\n columnNumber: 37\n }, this) : null : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (0,_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"prose prose-sm max-w-none break-words\", \"prose-p:my-1 prose-headings:my-2 prose-ul:my-1 prose-ol:my-1\", \"prose-code:bg-gray-100 dark:prose-code:bg-black/10 prose-code:rounded prose-code:px-1 prose-code:text-[13px]\", \"prose-pre:bg-gray-100 dark:prose-pre:bg-black/30 prose-pre:rounded-md prose-pre:text-[13px]\", \"dark:prose-invert\"),\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_markdown__WEBPACK_IMPORTED_MODULE_7__.Markdown, {\n remarkPlugins: [\n remark_gfm__WEBPACK_IMPORTED_MODULE_8__[\"default\"]\n ],\n rehypePlugins: [\n rehype_highlight__WEBPACK_IMPORTED_MODULE_9__[\"default\"]\n ],\n children: message.content\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/message-bubble.tsx\",\n lineNumber: 146,\n columnNumber: 21\n }, this)\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/message-bubble.tsx\",\n lineNumber: 139,\n columnNumber: 19\n }, this)\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/message-bubble.tsx\",\n lineNumber: 135,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/message-bubble.tsx\",\n lineNumber: 119,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/message-bubble.tsx\",\n lineNumber: 113,\n columnNumber: 11\n }, this),\n mediaPaths.length > 0 && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-full space-y-2 mt-1\",\n children: mediaPaths.map(({ path: p, type })=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"rounded-xl overflow-hidden border border-border/40 bg-black/5 dark:bg-white/5\",\n children: type === \"image\" ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative group/media\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"img\", {\n src: serveUrl(p),\n alt: p.split(\"/\").pop(),\n className: \"w-full max-h-[480px] object-contain\",\n loading: \"lazy\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/message-bubble.tsx\",\n lineNumber: 163,\n columnNumber: 23\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n href: serveUrl(p),\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n download: p.split(\"/\").pop(),\n className: \"absolute top-2 right-2 opacity-0 group-hover/media:opacity-100 transition-opacity bg-black/60 text-white rounded-lg px-2 py-1 text-xs flex items-center gap-1\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Brain_Check_ChevronDown_ChevronRight_Copy_ExternalLink_GitBranch_Loader2_RefreshCw_Volume2_Wrench_lucide_react__WEBPACK_IMPORTED_MODULE_10__[\"default\"], {\n className: \"h-3 w-3\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/message-bubble.tsx\",\n lineNumber: 176,\n columnNumber: 25\n }, this),\n \"打开原图\"\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/message-bubble.tsx\",\n lineNumber: 169,\n columnNumber: 23\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"px-2 py-1 text-[10px] text-muted-foreground font-mono truncate border-t border-border/30\",\n children: p\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/message-bubble.tsx\",\n lineNumber: 179,\n columnNumber: 23\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/message-bubble.tsx\",\n lineNumber: 161,\n columnNumber: 21\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"video\", {\n src: serveUrl(p),\n controls: true,\n className: \"w-full max-h-[360px]\",\n preload: \"metadata\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/message-bubble.tsx\",\n lineNumber: 185,\n columnNumber: 23\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"px-2 py-1 text-[10px] text-muted-foreground font-mono truncate border-t border-border/30\",\n children: p\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/message-bubble.tsx\",\n lineNumber: 191,\n columnNumber: 23\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/message-bubble.tsx\",\n lineNumber: 184,\n columnNumber: 21\n }, this)\n }, p, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/message-bubble.tsx\",\n lineNumber: 159,\n columnNumber: 17\n }, this))\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/message-bubble.tsx\",\n lineNumber: 157,\n columnNumber: 13\n }, this),\n message.toolCalls && message.toolCalls.length > 0 && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-full space-y-1\",\n children: message.toolCalls.map((tc)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(ToolCallCard, {\n toolCall: tc\n }, tc.id, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/message-bubble.tsx\",\n lineNumber: 204,\n columnNumber: 46\n }, this))\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/message-bubble.tsx\",\n lineNumber: 203,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (0,_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"flex items-center gap-1 opacity-0 group-hover:opacity-100 transition-all duration-200\", isUser ? \"self-end\" : \"self-start\"),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n type: \"button\",\n onClick: handleCopy,\n className: \"flex items-center gap-1 text-[11px] neo-button text-gray-600 hover:text-blue-600 dark:text-gray-400 dark:hover:bg-cyan-500/20 dark:hover:text-cyan-400 px-2.5 py-1 rounded-lg border-transparent dark:hover:border-cyan-500/50 transition-all duration-200 hover:scale-105\",\n children: [\n copied ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Brain_Check_ChevronDown_ChevronRight_Copy_ExternalLink_GitBranch_Loader2_RefreshCw_Volume2_Wrench_lucide_react__WEBPACK_IMPORTED_MODULE_11__[\"default\"], {\n className: \"h-3 w-3\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/message-bubble.tsx\",\n lineNumber: 216,\n columnNumber: 25\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Brain_Check_ChevronDown_ChevronRight_Copy_ExternalLink_GitBranch_Loader2_RefreshCw_Volume2_Wrench_lucide_react__WEBPACK_IMPORTED_MODULE_12__[\"default\"], {\n className: \"h-3 w-3\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/message-bubble.tsx\",\n lineNumber: 216,\n columnNumber: 57\n }, this),\n copied ? t(\"copied\") : t(\"copyMessage\")\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/message-bubble.tsx\",\n lineNumber: 214,\n columnNumber: 13\n }, this),\n !isUser && onRetry && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n type: \"button\",\n onClick: ()=>onRetry(message),\n className: \"flex items-center gap-1 text-[11px] neo-button text-gray-600 hover:text-purple-600 dark:text-gray-400 dark:hover:bg-purple-500/20 dark:hover:text-purple-400 px-2.5 py-1 rounded-lg border-transparent dark:hover:border-purple-500/50 transition-all duration-200 hover:scale-105\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Brain_Check_ChevronDown_ChevronRight_Copy_ExternalLink_GitBranch_Loader2_RefreshCw_Volume2_Wrench_lucide_react__WEBPACK_IMPORTED_MODULE_13__[\"default\"], {\n className: \"h-3 w-3 transition-transform duration-200 hover:rotate-180\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/message-bubble.tsx\",\n lineNumber: 223,\n columnNumber: 17\n }, this),\n \"重试\"\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/message-bubble.tsx\",\n lineNumber: 221,\n columnNumber: 15\n }, this),\n !isUser && onFork && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n type: \"button\",\n onClick: ()=>onFork(message),\n className: \"flex items-center gap-1 text-[11px] neo-button text-gray-600 hover:text-indigo-600 dark:text-gray-400 dark:hover:bg-blue-500/20 dark:hover:text-blue-400 px-2.5 py-1 rounded-lg border-transparent dark:hover:border-blue-500/50 transition-all duration-200 hover:scale-105\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Brain_Check_ChevronDown_ChevronRight_Copy_ExternalLink_GitBranch_Loader2_RefreshCw_Volume2_Wrench_lucide_react__WEBPACK_IMPORTED_MODULE_14__[\"default\"], {\n className: \"h-3 w-3\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/message-bubble.tsx\",\n lineNumber: 230,\n columnNumber: 17\n }, this),\n \"分叉\"\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/message-bubble.tsx\",\n lineNumber: 228,\n columnNumber: 15\n }, this),\n !isUser && onSpeak && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n type: \"button\",\n onClick: ()=>onSpeak(message.content),\n className: \"flex items-center gap-1 text-[11px] neo-button text-gray-600 hover:text-green-600 dark:text-gray-400 dark:hover:bg-green-500/20 dark:hover:text-green-400 px-2.5 py-1 rounded-lg border-transparent dark:hover:border-green-500/50 transition-all duration-200 hover:scale-105\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Brain_Check_ChevronDown_ChevronRight_Copy_ExternalLink_GitBranch_Loader2_RefreshCw_Volume2_Wrench_lucide_react__WEBPACK_IMPORTED_MODULE_15__[\"default\"], {\n className: \"h-3 w-3\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/message-bubble.tsx\",\n lineNumber: 237,\n columnNumber: 17\n }, this),\n \"朗读\"\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/message-bubble.tsx\",\n lineNumber: 235,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/message-bubble.tsx\",\n lineNumber: 209,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/message-bubble.tsx\",\n lineNumber: 87,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/message-bubble.tsx\",\n lineNumber: 76,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/message-bubble.tsx\",\n lineNumber: 67,\n columnNumber: 5\n }, this);\n}\n// Typing indicator\nfunction TypingBubble({ agentAvatar }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"px-3\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-end gap-2 mb-1\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex h-9 w-9 shrink-0 items-center justify-center rounded-[6px] bg-white dark:bg-zinc-700 text-xl shadow-sm\",\n children: agentAvatar\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/message-bubble.tsx\",\n lineNumber: 252,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: (0,_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"absolute left-[-5px] bottom-3 w-0 h-0 border-t-[5px] border-t-transparent border-b-[5px] border-b-transparent border-r-[6px] border-r-white dark:border-r-zinc-700\")\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/message-bubble.tsx\",\n lineNumber: 256,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"bg-white dark:bg-zinc-700 rounded-lg rounded-bl-[3px] px-4 py-3 shadow-sm\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-1.5\",\n children: [\n 0,\n 1,\n 2\n ].map((i)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"h-2 w-2 rounded-full bg-zinc-400 animate-bounce\",\n style: {\n animationDelay: `${i * 150}ms`\n }\n }, i, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/message-bubble.tsx\",\n lineNumber: 260,\n columnNumber: 17\n }, this))\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/message-bubble.tsx\",\n lineNumber: 258,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/message-bubble.tsx\",\n lineNumber: 257,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/message-bubble.tsx\",\n lineNumber: 255,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/message-bubble.tsx\",\n lineNumber: 251,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/message-bubble.tsx\",\n lineNumber: 250,\n columnNumber: 5\n }, this);\n}\n// Tool call card\nfunction ToolCallCard({ toolCall }) {\n const t = (0,next_intl__WEBPACK_IMPORTED_MODULE_3__.useTranslations)(\"chat\");\n const [open, setOpen] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const [fullOutput, setFullOutput] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n const [loadingFull, setLoadingFull] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const isBash = toolCall.name === \"bash\" || toolCall.name === \"user_bash\";\n // For bash: input is the raw command string; for others: may be JSON\n const displayInput = (()=>{\n if (!toolCall.input) return null;\n if (isBash) return toolCall.input; // already extracted as command string\n try {\n const parsed = JSON.parse(toolCall.input);\n if (typeof parsed === \"string\") return parsed;\n return JSON.stringify(parsed, null, 2);\n } catch {\n return toolCall.input;\n }\n })();\n const shownOutput = fullOutput ?? toolCall.output;\n const loadFull = async ()=>{\n if (!toolCall.fullOutputPath || loadingFull) return;\n setLoadingFull(true);\n try {\n const res = await fetch(`/api/bash-output?path=${encodeURIComponent(toolCall.fullOutputPath)}`);\n const data = await res.json();\n setFullOutput(data.output ?? data.error ?? \"加载失败\");\n } catch (e) {\n setFullOutput(`加载失败: ${String(e)}`);\n } finally{\n setLoadingFull(false);\n }\n };\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (0,_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"rounded-lg border text-[12px] overflow-hidden w-full\", isBash ? \"bg-gray-100 dark:bg-zinc-950 border-gray-300 dark:border-zinc-700\" : \"bg-black/5 dark:bg-white/5\"),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n type: \"button\",\n onClick: ()=>setOpen(!open),\n className: (0,_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"flex w-full items-center gap-2 px-3 py-2 transition-colors text-left\", isBash ? \"text-gray-700 hover:bg-gray-200 dark:text-zinc-300 dark:hover:bg-zinc-800\" : \"hover:bg-black/5 dark:hover:bg-white/5\"),\n children: [\n toolCall.isLoading ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Brain_Check_ChevronDown_ChevronRight_Copy_ExternalLink_GitBranch_Loader2_RefreshCw_Volume2_Wrench_lucide_react__WEBPACK_IMPORTED_MODULE_16__[\"default\"], {\n className: \"h-3 w-3 text-muted-foreground animate-spin shrink-0\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/message-bubble.tsx\",\n lineNumber: 320,\n columnNumber: 13\n }, this) : isBash ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-[10px] font-bold text-zinc-500 shrink-0 font-mono\",\n children: \"$_\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/message-bubble.tsx\",\n lineNumber: 322,\n columnNumber: 13\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Brain_Check_ChevronDown_ChevronRight_Copy_ExternalLink_GitBranch_Loader2_RefreshCw_Volume2_Wrench_lucide_react__WEBPACK_IMPORTED_MODULE_17__[\"default\"], {\n className: \"h-3 w-3 text-muted-foreground shrink-0\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/message-bubble.tsx\",\n lineNumber: 323,\n columnNumber: 13\n }, this),\n isBash && displayInput ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"font-mono flex-1 text-left truncate text-zinc-200\",\n children: displayInput\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/message-bubble.tsx\",\n lineNumber: 327,\n columnNumber: 11\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"font-mono font-medium flex-1 text-left truncate\",\n children: toolCall.name\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/message-bubble.tsx\",\n lineNumber: 329,\n columnNumber: 11\n }, this),\n !toolCall.isLoading && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: (0,_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"text-xs shrink-0\", toolCall.isError ? \"text-red-400\" : \"text-green-400\"),\n children: toolCall.isError ? \"✗\" : \"✓\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/message-bubble.tsx\",\n lineNumber: 333,\n columnNumber: 11\n }, this),\n toolCall.isLoading && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-muted-foreground text-[11px] animate-pulse shrink-0\",\n children: t(\"thinking\")\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/message-bubble.tsx\",\n lineNumber: 337,\n columnNumber: 32\n }, this),\n open ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Brain_Check_ChevronDown_ChevronRight_Copy_ExternalLink_GitBranch_Loader2_RefreshCw_Volume2_Wrench_lucide_react__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n className: \"h-3 w-3 shrink-0 text-zinc-500\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/message-bubble.tsx\",\n lineNumber: 338,\n columnNumber: 17\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Brain_Check_ChevronDown_ChevronRight_Copy_ExternalLink_GitBranch_Loader2_RefreshCw_Volume2_Wrench_lucide_react__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n className: \"h-3 w-3 shrink-0 text-zinc-500\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/message-bubble.tsx\",\n lineNumber: 338,\n columnNumber: 78\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/message-bubble.tsx\",\n lineNumber: 312,\n columnNumber: 7\n }, this),\n open && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (0,_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"border-t space-y-0\", isBash ? \"border-zinc-700\" : \"border-border\"),\n children: [\n !isBash && displayInput && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"px-3 py-2 border-b border-border\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-muted-foreground mb-1 text-[11px] uppercase tracking-wide\",\n children: t(\"toolCall\")\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/message-bubble.tsx\",\n lineNumber: 347,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"pre\", {\n className: \"whitespace-pre-wrap break-all text-[12px]\",\n children: displayInput\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/message-bubble.tsx\",\n lineNumber: 348,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/message-bubble.tsx\",\n lineNumber: 346,\n columnNumber: 13\n }, this),\n shownOutput !== undefined && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (0,_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"px-3 py-2\", isBash && \"bg-zinc-950\"),\n children: [\n !isBash && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-muted-foreground mb-1 text-[11px] uppercase tracking-wide\",\n children: t(\"toolResult\")\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/message-bubble.tsx\",\n lineNumber: 355,\n columnNumber: 27\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"pre\", {\n className: (0,_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"whitespace-pre-wrap break-all text-[12px] max-h-64 overflow-auto leading-relaxed\", isBash ? \"text-zinc-200 font-mono\" : \"\", toolCall.isError ? \"text-red-400\" : \"\"),\n children: shownOutput\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/message-bubble.tsx\",\n lineNumber: 356,\n columnNumber: 15\n }, this),\n toolCall.truncated && toolCall.fullOutputPath && !fullOutput && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n type: \"button\",\n onClick: loadFull,\n disabled: loadingFull,\n className: \"mt-2 flex items-center gap-1.5 text-[11px] text-zinc-400 hover:text-zinc-200 transition-colors disabled:opacity-50\",\n children: [\n loadingFull ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Brain_Check_ChevronDown_ChevronRight_Copy_ExternalLink_GitBranch_Loader2_RefreshCw_Volume2_Wrench_lucide_react__WEBPACK_IMPORTED_MODULE_16__[\"default\"], {\n className: \"h-3 w-3 animate-spin\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/message-bubble.tsx\",\n lineNumber: 367,\n columnNumber: 23\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Brain_Check_ChevronDown_ChevronRight_Copy_ExternalLink_GitBranch_Loader2_RefreshCw_Volume2_Wrench_lucide_react__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n className: \"h-3 w-3\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/message-bubble.tsx\",\n lineNumber: 368,\n columnNumber: 23\n }, this),\n loadingFull ? \"加载中…\" : \"输出已截断,点击加载完整内容\"\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/message-bubble.tsx\",\n lineNumber: 364,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/message-bubble.tsx\",\n lineNumber: 354,\n columnNumber: 13\n }, this),\n !shownOutput && !toolCall.isLoading && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"px-3 py-2\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-[11px] text-zinc-500 italic\",\n children: \"(无输出)\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/message-bubble.tsx\",\n lineNumber: 378,\n columnNumber: 15\n }, this)\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/message-bubble.tsx\",\n lineNumber: 377,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/message-bubble.tsx\",\n lineNumber: 343,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/chat/message-bubble.tsx\",\n lineNumber: 307,\n columnNumber: 5\n }, this);\n}\nfunction formatTime(date) {\n const now = new Date(), d = new Date(date);\n const diffDays = Math.floor((now.getTime() - d.getTime()) / 86400000);\n const timeStr = d.toLocaleTimeString(\"zh-CN\", {\n hour: \"2-digit\",\n minute: \"2-digit\"\n });\n if (diffDays === 0) return timeStr;\n if (diffDays === 1) return `昨天 ${timeStr}`;\n if (diffDays < 7) return `${[\n \"周日\",\n \"周一\",\n \"周二\",\n \"周三\",\n \"周四\",\n \"周五\",\n \"周六\"\n ][d.getDay()]} ${timeStr}`;\n return d.toLocaleDateString(\"zh-CN\", {\n month: \"numeric\",\n day: \"numeric\"\n }) + \" \" + timeStr;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy9jaGF0L21lc3NhZ2UtYnViYmxlLnRzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFMEM7QUFDRTtBQUNEO0FBQ1I7QUFDWTtBQUl6QjtBQUVXO0FBRWpDLHVFQUF1RTtBQUN2RSxNQUFNa0IsZ0JBQWdCO0FBQ3RCLE1BQU1DLGFBQWEsSUFBSUMsSUFBSTtJQUFDO0lBQU87SUFBTztJQUFRO0lBQU87SUFBUTtDQUFNO0FBQ3ZFLE1BQU1DLGFBQWEsSUFBSUQsSUFBSTtJQUFDO0lBQU87SUFBUTtDQUFNO0FBRWpELFNBQVNFLGtCQUFrQkMsT0FBZTtJQUN4QyxNQUFNQyxVQUFVO1dBQUlELFFBQVFFLFFBQVEsQ0FBQ1A7S0FBZTtJQUNwRCxNQUFNUSxPQUFPLElBQUlOO0lBQ2pCLE9BQU9JLFFBQ0pHLEdBQUcsQ0FBQ0MsQ0FBQUEsSUFBS0EsQ0FBQyxDQUFDLEVBQUUsRUFDYkMsTUFBTSxDQUFDQyxDQUFBQTtRQUFPLElBQUlKLEtBQUtLLEdBQUcsQ0FBQ0QsSUFBSSxPQUFPO1FBQU9KLEtBQUtNLEdBQUcsQ0FBQ0Y7UUFBSSxPQUFPO0lBQU0sR0FDdkVILEdBQUcsQ0FBQ0csQ0FBQUE7UUFDSCxNQUFNRyxNQUFNSCxFQUFFSSxLQUFLLENBQUMsS0FBS0MsR0FBRyxJQUFJQyxpQkFBaUI7UUFDakQsT0FBTztZQUFFQyxNQUFNUDtZQUFHUSxNQUFNbkIsV0FBV1ksR0FBRyxDQUFDRSxPQUFPLFVBQVVaLFdBQVdVLEdBQUcsQ0FBQ0UsT0FBTyxVQUFVO1FBQVE7SUFDbEc7QUFDSjtBQUVBLFNBQVNNLFNBQVNDLFFBQWdCO0lBQ2hDLE9BQU8sQ0FBQyxxQkFBcUIsRUFBRUMsbUJBQW1CRCxXQUFXO0FBQy9EO0FBWU8sU0FBU0UsY0FBYyxFQUM1QkMsT0FBTyxFQUFFQyxTQUFTLEVBQUVDLFdBQVcsRUFBRUMsYUFBYSxFQUFFQyxPQUFPLEVBQUVDLE1BQU0sRUFBRUMsT0FBTyxFQUNyRDtJQUNu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Qzs0QkFBS0QsV0FBVTtzQ0FBbUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBT2pFO0FBRUEsU0FBU0UsV0FBVzhELElBQVU7SUFDNUIsTUFBTUMsTUFBTSxJQUFJQyxRQUFRQyxJQUFJLElBQUlELEtBQUtGO0lBQ3JDLE1BQU1JLFdBQVdDLEtBQUtDLEtBQUssQ0FBQyxDQUFDTCxJQUFJTSxPQUFPLEtBQUtKLEVBQUVJLE9BQU8sRUFBQyxJQUFLO0lBQzVELE1BQU1DLFVBQVVMLEVBQUVNLGtCQUFrQixDQUFDLFNBQVM7UUFBRUMsTUFBTTtRQUFXQyxRQUFRO0lBQVU7SUFDbkYsSUFBSVAsYUFBYSxHQUFHLE9BQU9JO0lBQzNCLElBQUlKLGFBQWEsR0FBRyxPQUFPLENBQUMsR0FBRyxFQUFFSSxTQUFTO0lBQzFDLElBQUlKLFdBQVcsR0FBRyxPQUFPLEdBQUc7UUFBQztRQUFLO1FBQUs7UUFBSztRQUFLO1FBQUs7UUFBSztLQUFLLENBQUNELEVBQUVTLE1BQU0sR0FBRyxDQUFDLENBQUMsRUFBRUosU0FBUztJQUN6RixPQUFPTCxFQUFFVSxrQkFBa0IsQ0FBQyxTQUFTO1FBQUVDLE9BQU87UUFBV0MsS0FBSztJQUFVLEtBQUssTUFBTVA7QUFDckYiLCJzb3VyY2VzIjpbIi9Vc2Vycy9kdWFuL2ZpbGVzL3BpLXdlYi9kaWdpdGFsLWFnZW50LXBsYXRmb3JtL3NyYy9jb21wb25lbnRzL2NoYXQvbWVzc2FnZS1idWJibGUudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIGNsaWVudFwiO1xuXG5pbXBvcnQgeyB1c2VTdGF0ZSwgdXNlTWVtbyB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb25zIH0gZnJvbSBcIm5leHQtaW50bFwiO1xuaW1wb3J0IFJlYWN0TWFya2Rvd24gZnJvbSBcInJlYWN0LW1hcmtkb3duXCI7XG5pbXBvcnQgcmVtYXJrR2ZtIGZyb20gXCJyZW1hcmstZ2ZtXCI7XG5pbXBvcnQgcmVoeXBlSGlnaGxpZ2h0IGZyb20gXCJyZWh5cGUtaGlnaGxpZ2h0XCI7XG5pbXBvcnQge1xuICBDb3B5LCBDaGVjaywgQ2hldnJvbkRvd24sIENoZXZyb25SaWdodCwgV3JlbmNoLCBMb2FkZXIyLFxuICBSZWZyZXNoQ3csIEdpdEJyYW5jaCwgQnJhaW4sIEV4dGVybmFsTGluaywgVm9sdW1lMixcbn0gZnJvbSBcImx1Y2lkZS1yZWFjdFwiO1xuaW1wb3J0IHR5cGUgeyBDaGF0TWVzc2FnZSwgVG9vbENhbGwsIEF0dGFjaGVkSW1hZ2UgfSBmcm9tIFwiQC90eXBlcy9hZ2VudFwiO1xuaW1wb3J0IHsgY24gfSBmcm9tIFwiQC9saWIvdXRpbHNcIjtcblxuLy8gRGV0ZWN0IGFic29sdXRlIG9yIH4tcmVsYXRpdmUgZmlsZSBwYXRocyB3aXRoIGltYWdlL3ZpZGVvIGV4dGVuc2lvbnNcbmNvbnN0IE1FRElBX1BBVEhfUkUgPSAvKD86XFwvKD86VXNlcnN8aG9tZXx0bXB8dmFyfHJvb3QpXFxTK3x+XFwvXFxTKylcXC4oPzpwbmd8anBnfGpwZWd8Z2lmfHdlYnB8c3ZnfG1wNHx3ZWJtfG1vdikvZ2k7XG5jb25zdCBJTUFHRV9FWFRTID0gbmV3IFNldChbXCJwbmdcIiwgXCJqcGdcIiwgXCJqcGVnXCIsIFwiZ2lmXCIsIFwid2VicFwiLCBcInN2Z1wiXSk7XG5jb25zdCBWSURFT19FWFRTID0gbmV3IFNldChbXCJtcDRcIiwgXCJ3ZWJtXCIsIFwibW92XCJdKTtcblxuZnVuY3Rpb24gZXh0cmFjdE1lZGlhUGF0aHMoY29udGVudDogc3RyaW5nKTogeyBwYXRoOiBzdHJpbmc7IHR5cGU6IFwiaW1hZ2VcIiB8IFwidmlkZW9cIiB9W10ge1xuICBjb25zdCBtYXRjaGVzID0gWy4uLmNvbnRlbnQubWF0Y2hBbGwoTUVESUFfUEFUSF9SRSldO1xuICBjb25zdCBzZWVuID0gbmV3IFNldDxzdHJpbmc+KCk7XG4gIHJldHVybiBtYXRjaGVzXG4gICAgLm1hcChtID0+IG1bMF0pXG4gICAgLmZpbHRlcihwID0+IHsgaWYgKHNlZW4uaGFzKHApKSByZXR1cm4gZmFsc2U7IHNlZW4uYWRkKHApOyByZXR1cm4gdHJ1ZTsgfSlcbiAgICAubWFwKHAgPT4ge1xuICAgICAgY29uc3QgZXh0ID0gcC5zcGxpdChcIi5cIikucG9wKCk/LnRvTG93ZXJDYXNlKCkgPz8gXCJcIjtcbiAgICAgIHJldHVybiB7IHBhdGg6IHAsIHR5cGU6IElNQUdFX0VYVFMuaGFzKGV4dCkgPyBcImltYWdlXCIgOiBWSURFT19FWFRTLmhhcyhleHQpID8gXCJ2aWRlb1wiIDogXCJpbWFnZVwiIH07XG4gICAgfSk7XG59XG5cbmZ1bmN0aW9uIHNlcnZlVXJsKGZpbGVQYXRoOiBzdHJpbmcpIHtcbiAgcmV0dXJuIGAvYXBpL2ZpbGUtc2VydmU/cGF0aD0ke2VuY29kZVVSSUNvbXBvbmVudChmaWxlUGF0aCl9YDtcbn1cblxuaW50ZXJmYWNlIE1lc3NhZ2VCdWJibGVQcm9wcyB7XG4gIG1lc3NhZ2U6IENoYXRNZXNzYWdlO1xuICBhZ2VudE5hbWU/OiBzdHJpbmc7XG4gIGFnZW50QXZhdGFyOiBzdHJpbmc7XG4gIHNob3dUaW1lc3RhbXA/OiBib29sZWFuO1xuICBvblJldHJ5PzogKG1lc3NhZ2U6IENoYXRNZXNzYWdlKSA9PiB2b2lkO1xuICBvbkZvcms/OiAobWVzc2FnZTogQ2hhdE1lc3NhZ2UpID0+IHZvaWQ7XG4gIG9uU3BlYWs/OiAodGV4dDogc3RyaW5nKSA9PiB2b2lkO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gTWVzc2FnZUJ1YmJsZSh7XG4gIG1lc3NhZ2UsIGFnZW50TmFtZSwgYWdlbnRBdmF0YXIsIHNob3dUaW1lc3RhbXAsIG9uUmV0cnksIG9uRm9yaywgb25TcGVhayxcbn06IE1lc3NhZ2VCdWJibGVQcm9wcykge1xuICBjb25zdCB0ID0gdXNlVHJhbnNsYXRpb25zKFwiY2hhdFwiKTtcbiAgY29uc3QgW2NvcGllZCwgc2V0Q29waWVkXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgW3RoaW5raW5nT3Blbiwgc2V0VGhpbmtpbmdPcGVuXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgaXNVc2VyID0gbWVzc2FnZS5yb2xlID09PSBcInVzZXJcIjtcblxuICAvLyBEZXRlY3QgaW1hZ2UvdmlkZW8gZmlsZSBwYXRocyBpbiBhc3Npc3RhbnQgbWVzc2FnZXNcbiAgY29uc3QgbWVkaWFQYXRocyA9IHVzZU1lbW8oXG4gICAgKCkgPT4gKCFpc1VzZXIgJiYgbWVzc2FnZS5jb250ZW50ID8gZXh0cmFjdE1lZGlhUGF0aHMobWVzc2FnZS5jb250ZW50KSA6IFtdKSxcbiAgICBbaXNVc2VyLCBtZXNzYWdlLmNvbnRlbnRdXG4gICk7XG5cbiAgY29uc3QgaGFuZGxlQ29weSA9ICgpID0+IHtcbiAgICBuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dChtZXNzYWdlLmNvbnRlbnQpO1xuICAgIHNldENvcGllZCh0cnVlKTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHNldENvcGllZChmYWxzZSksIDIwMDApO1xuICB9O1xuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJweC0zXCI+XG4gICAgICB7c2hvd1RpbWVzdGFtcCAmJiAoXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBqdXN0aWZ5LWNlbnRlciBteS0yXCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC1bMTFweF0gdGV4dC1ncmF5LTUwMCBuZW8tY2FyZCBiZy13aGl0ZSBkYXJrOmJnLXNsYXRlLTgwMC81MCBkYXJrOmJhY2tkcm9wLWJsdXItc20gcm91bmRlZC1mdWxsIHB4LTMgcHktMSBkYXJrOmJvcmRlci1zbGF0ZS03MDAvNTBcIj5cbiAgICAgICAgICAgIHtmb3JtYXRUaW1lKG1lc3NhZ2UuY3JlYXRlZEF0KX1cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKX1cblxuICAgICAgPGRpdiBjbGFzc05hbWU9e2NuKFwiZ3JvdXAgZmxleCBpdGVtcy1lbmQgZ2FwLTIgbWItMVwiLCBpc1VzZXIgPyBcImZsZXgtcm93LXJldmVyc2VcIiA6IFwiZmxleC1yb3dcIil9PlxuICAgICAgICB7LyogQXZhdGFyICovfVxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Y24oXG4gICAgICAgICAgXCJmbGV4IGgtOSB3LTkgc2hyaW5rLTAgaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHJvdW5kZWQteGwgdGV4dC1sZyBzaGFkb3ctbGcgdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tMjAwIGJvcmRlclwiLFxuICAgICAgICAgIGlzVXNlclxuICAgICAgICAgICAgPyBcIm5lby1jYXJkIGJnLWdyYWRpZW50LXRvLWJyIGZyb20tYmx1ZS01MDAgdG8taW5kaWdvLTUwMCBkYXJrOmZyb20tY3lhbi02MDAgZGFyazp0by1ibHVlLTYwMCB0ZXh0LXdoaXRlIHRleHQtc20gZm9udC1ib2xkIGJvcmRlci1ibHVlLTQwMC81MCBkYXJrOmJvcmRlci1jeWFuLTUwMC81MCBncm91cC1ob3ZlcjpzY2FsZS0xMTAgZ3JvdXAtaG92ZXI6c2hhZG93LWJsdWUtNTAwLzMwIGRhcms6Z3JvdXAtaG92ZXI6c2hhZG93LWN5YW4tNTAwLzUwXCJcbiAgICAgICAgICAgIDogXCJuZW8tY2FyZCBiZy13aGl0ZSBkYXJrOmJnLXNsYXRlLTgwMCB0ZXh0LXhsIGJvcmRlci1ncmF5LTIwMCBkYXJrOmJvcmRlci1zbGF0ZS03MDAgZ3JvdXAtaG92ZXI6c2NhbGUtMTEwIGRhcms6Z3JvdXAtaG92ZXI6c2hhZG93LXB1cnBsZS01MDAvMzBcIixcbiAgICAgICAgKX0+XG4gICAgICAgICAge2lzVXNlciA/IFwi5oiRXCIgOiBhZ2VudEF2YXRhcn1cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e2NuKFwiZmxleCBmbGV4LWNvbCBnYXAtMS41IG1heC13LVs3NSVdXCIsIGlzVXNlciA/IFwiaXRlbXMtZW5kXCIgOiBcIml0ZW1zLXN0YXJ0XCIpfT5cbiAgICAgICAgICB7IWlzVXNlciAmJiBhZ2VudE5hbWUgJiYgKFxuICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC14cyB0ZXh0LWdyYXktNTAwIHB4LTFcIj57YWdlbnROYW1lfTwvc3Bhbj5cbiAgICAgICAgICApfVxuXG4gICAgICAgICAgey8qIFRoaW5raW5nIEJsb2NrICovfVxuICAgICAgICAgIHshaXNVc2VyICYmIG1lc3NhZ2UudGhpbmtpbmcgJiYgKFxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gc2V0VGhpbmtpbmdPcGVuKCF0aGlua2luZ09wZW4pfVxuICAgICAgICAgICAgICBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMS41IHJvdW5kZWQteGwgYm9yZGVyIG5lby1jYXJkIGJvcmRlci1wdXJwbGUtMjAwIGJnLXB1cnBsZS01MCBkYXJrOmJvcmRlci1wdXJwbGUtNTAwLzMwIGRhcms6YmctcHVycGxlLTkwMC8yMCBkYXJrOmJhY2tkcm9wLWJsdXItc20gcHgtMyBweS0xLjUgdGV4dC14cyB0ZXh0LXB1cnBsZS03MDAgZGFyazp0ZXh0LXB1cnBsZS0zMDAgaG92ZXI6YmctcHVycGxlLTEwMCBkYXJrOmhvdmVyOmJnLXB1cnBsZS05MDAvMzAgZGFyazpob3Zlcjpib3JkZXItcHVycGxlLTUwMC81MCB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi0yMDAgdy1mdWxsIHRleHQtbGVmdCBncm91cC90aGluayBob3ZlcjpzY2FsZS1bMS4wMl1cIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8QnJhaW4gY2xhc3NOYW1lPVwiaC0zLjUgdy0zLjUgc2hyaW5rLTAgdHJhbnNpdGlvbi10cmFuc2Zvcm0gZHVyYXRpb24tMjAwIGdyb3VwLWhvdmVyL3RoaW5rOnJvdGF0ZS0xMlwiIC8+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImZsZXgtMSBmb250LW1lZGl1bVwiPuaAneiAg+i/h+eoizwvc3Bhbj5cbiAgICAgICAgICAgICAge3RoaW5raW5nT3BlbiA/IDxDaGV2cm9uRG93biBjbGFzc05hbWU9XCJoLTMgdy0zXCIgLz4gOiA8Q2hldnJvblJpZ2h0IGNsYXNzTmFtZT1cImgtMyB3LTNcIiAvPn1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICl9XG4gICAgICAgICAge3RoaW5raW5nT3BlbiAmJiBtZXNzYWdlLnRoaW5raW5nICYmIChcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm91bmRlZC14bCBib3JkZXIgbmVvLWNhcmQtaW5zZXQgYm9yZGVyLXB1cnBsZS0yMDAgYmctcHVycGxlLTUwLzUwIGRhcms6Ym9yZGVyLXB1cnBsZS01MDAvMzAgZGFyazpiZy1wdXJwbGUtOTAwLzEwIGRhcms6YmFja2Ryb3AtYmx1ci1zbSBweC0zIHB5LTIgdGV4dC14cyB0ZXh0LXB1cnBsZS04MDAgZGFyazp0ZXh0LXB1cnBsZS0yMDAgdy1mdWxsXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicHJvc2UgcHJvc2UteHMgbWF4LXctbm9uZSBkYXJrOnByb3NlLWludmVydCB3aGl0ZXNwYWNlLXByZS13cmFwIGxlYWRpbmctcmVsYXhlZCBmb250LW1vbm9cIj5cbiAgICAgICAgICAgICAgICB7bWVzc2FnZS50aGlua2luZ31cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICApfVxuXG4gICAgICAgICAgey8qIE1haW4gYnViYmxlICovfVxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicmVsYXRpdmVcIj5cbiAgICAgICAgICAgIHtpc1VzZXIgPyAoXG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImFic29sdXRlIHJpZ2h0LVstNXB4XSBib3R0b20tMyB3LTAgaC0wIGJvcmRlci10LVs1cHhdIGJvcmRlci10LXRyYW5zcGFyZW50IGJvcmRlci1iLVs1cHhdIGJvcmRlci1iLXRyYW5zcGFyZW50IGJvcmRlci1sLVs2cHhdIGJvcmRlci1sLWJsdWUtNTAwIGRhcms6Ym9yZGVyLWwtY3lhbi02MDBcIiAvPlxuICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiYWJzb2x1dGUgbGVmdC1bLTVweF0gYm90dG9tLTMgdy0wIGgtMCBib3JkZXItdC1bNXB4XSBib3JkZXItdC10cmFuc3BhcmVudCBib3JkZXItYi1bNXB4XSBib3JkZXItYi10cmFuc3BhcmVudCBib3JkZXItci1bNnB4XSBib3JkZXItci13aGl0ZSBkYXJrOmJvcmRlci1yLXNsYXRlLTgwMFwiIC8+XG4gICAgICAgICAgICApfVxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2NuKFxuICAgICAgICAgICAgICBcImdyb3VwL21zZyByZWxhdGl2ZSByb3VuZGVkLXhsIHRleHQtWzE0cHhdIGxlYWRpbmctWzEuNl0gc2hhZG93LWxnIG92ZXJmbG93LWhpZGRlbiB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi0yMDAgYm9yZGVyIGJhY2tkcm9wLWJsdXItc21cIixcbiAgICAgICAgICAgICAgaXNVc2VyXG4gICAgICAgICAgICAgICAgPyBcImJnLWdyYWRpZW50LXRvLWJyIGZyb20tYmx1ZS01MDAgdG8taW5kaWdvLTUwMCBkYXJrOmZyb20tY3lhbi02MDAgZGFyazp0by1ibHVlLTYwMCB0ZXh0LXdoaXRlIHJvdW5kZWQtYnItWzNweF0gYm9yZGVyLWJsdWUtNDAwLzUwIGRhcms6Ym9yZGVyLWN5YW4tNTAwLzUwIGhvdmVyOnNoYWRvdy1ibHVlLTUwMC8yMCBkYXJrOmhvdmVyOnNoYWRvdy1jeWFuLTUwMC8zMFwiXG4gICAgICAgICAgICAgICAgOiBcIm5lby1jYXJkIGJnLXdoaXRlIGRhcms6Ymctc2xhdGUtODAwLzkwIHRleHQtZ3JheS04MDAgZGFyazp0ZXh0LWdyYXktMTAwIHJvdW5kZWQtYmwtWzNweF0gYm9yZGVyLWdyYXktMjAwIGRhcms6Ym9yZGVyLXNsYXRlLTcwMC81MCBkYXJrOmhvdmVyOmJvcmRlci1zbGF0ZS02MDBcIixcbiAgICAgICAgICAgICl9PlxuICAgICAgICAgICAgICB7LyogSW1hZ2UgYXR0YWNobWVudHMgKi99XG4gICAgICAgICAgICAgIHtpc1VzZXIgJiYgbWVzc2FnZS5pbWFnZXMgJiYgbWVzc2FnZS5pbWFnZXMubGVuZ3RoID4gMCAmJiAoXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGZsZXgtd3JhcCBnYXAtMS41IHAtMiBwYi0wXCI+XG4gICAgICAgICAgICAgICAgICB7bWVzc2FnZS5pbWFnZXMubWFwKChpbWc6IEF0dGFjaGVkSW1hZ2UpID0+IChcbiAgICAgICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBuZXh0L25leHQvbm8taW1nLWVsZW1lbnRcbiAgICAgICAgICAgICAgICAgICAgPGltZyBrZXk9e2ltZy5pZH0gc3JjPXtpbWcucHJldmlld1VybH0gYWx0PXtpbWcubmFtZX1cbiAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJoLTMyIG1heC13LVsxODBweF0gb2JqZWN0LWNvdmVyIHJvdW5kZWQtbWRcIiAvPlxuICAgICAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicHgtMy41IHB5LTIuNVwiPlxuICAgICAgICAgICAgICAgIHtpc1VzZXIgPyAoXG4gICAgICAgICAgICAgICAgICBtZXNzYWdlLmNvbnRlbnQgPyA8cCBjbGFzc05hbWU9XCJ3aGl0ZXNwYWNlLXByZS13cmFwIGJyZWFrLXdvcmRzXCI+e21lc3NhZ2UuY29udGVudH08L3A+IDogbnVsbFxuICAgICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Y24oXG4gICAgICAgICAgICAgICAgICAgIFwicHJvc2UgcHJvc2Utc20gbWF4LXctbm9uZSBicmVhay13b3Jkc1wiLFxuICAgICAgICAgICAgICAgICAgICBcInByb3NlLXA6bXktMSBwcm9zZS1oZWFkaW5nczpteS0yIHByb3NlLXVsOm15LTEgcHJvc2Utb2w6bXktMVwiLFxuICAgICAgICAgICAgICAgICAgICBcInByb3NlLWNvZGU6YmctZ3JheS0xMDAgZGFyazpwcm9zZS1jb2RlOmJnLWJsYWNrLzEwIHByb3NlLWNvZGU6cm91bmRlZCBwcm9zZS1jb2RlOnB4LTEgcHJvc2UtY29kZTp0ZXh0LVsxM3B4XVwiLFxuICAgICAgICAgICAgICAgICAgICBcInByb3NlLXByZTpiZy1ncmF5LTEwMCBkYXJrOnByb3NlLXByZTpiZy1ibGFjay8zMCBwcm9zZS1wcmU6cm91bmRlZC1tZCBwcm9zZS1wcmU6dGV4dC1bMTNweF1cIixcbiAgICAgICAgICAgICAgICAgICAgXCJkYXJrOnByb3NlLWludmVydFwiLFxuICAgICAgICAgICAgICAgICAgKX0+XG4gICAgICAgICAgICAgICAgICAgIDxSZWFjdE1hcmtkb3duIHJlbWFya1BsdWdpbnM9e1tyZW1hcmtHZm1dfSByZWh5cGVQbHVnaW5zPXtbcmVoeXBlSGlnaGxpZ2h0XX0+XG4gICAgICAgICAgICAgICAgICAgICAge21lc3NhZ2UuY29udGVudH1cbiAgICAgICAgICAgICAgICAgICAgPC9SZWFjdE1hcmtkb3duPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIHsvKiBJbmxpbmUgbWVkaWEg4oCUIGltYWdlcy92aWRlb3MgZGV0ZWN0ZWQgaW4gYXNzaXN0YW50IG1lc3NhZ2UgKi99XG4gICAgICAgICAge21lZGlhUGF0aHMubGVuZ3RoID4gMCAmJiAoXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInctZnVsbCBzcGFjZS15LTIgbXQtMVwiPlxuICAgICAgICAgICAgICB7bWVkaWFQYXRocy5tYXAoKHsgcGF0aDogcCwgdHlwZSB9KSA9PiAoXG4gICAgICAgICAgICAgICAgPGRpdiBrZXk9e3B9IGNsYXNzTmFtZT1cInJvdW5kZWQteGwgb3ZlcmZsb3ctaGlkZGVuIGJvcmRlciBib3JkZXItYm9yZGVyLzQwIGJnLWJsYWNrLzUgZGFyazpiZy13aGl0ZS81XCI+XG4gICAgICAgICAgICAgICAgICB7dHlwZSA9PT0gXCJpbWFnZVwiID8gKFxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJlbGF0aXZlIGdyb3VwL21lZGlhXCI+XG4gICAgICAgICAgICAgICAgICAgICAgey8qIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAbmV4dC9uZXh0L25vLWltZy1lbGVtZW50ICovfVxuICAgICAgICAgICAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgICAgICAgICAgIHNyYz17c2VydmVVcmwocCl9XG4gICAgICAgICAgICAgICAgICAgICAgICBhbHQ9e3Auc3BsaXQoXCIvXCIpLnBvcCgpfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwidy1mdWxsIG1heC1oLVs0ODBweF0gb2JqZWN0LWNvbnRhaW5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgbG9hZGluZz1cImxhenlcIlxuICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9e3NlcnZlVXJsKHApfVxuICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgZG93bmxvYWQ9e3Auc3BsaXQoXCIvXCIpLnBvcCgpfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiYWJzb2x1dGUgdG9wLTIgcmlnaHQtMiBvcGFjaXR5LTAgZ3JvdXAtaG92ZXIvbWVkaWE6b3BhY2l0eS0xMDAgdHJhbnNpdGlvbi1vcGFjaXR5IGJnLWJsYWNrLzYwIHRleHQtd2hpdGUgcm91bmRlZC1sZyBweC0yIHB5LTEgdGV4dC14cyBmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMVwiXG4gICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEV4dGVybmFsTGluayBjbGFzc05hbWU9XCJoLTMgdy0zXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIOaJk+W8gOWOn+WbvlxuICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJweC0yIHB5LTEgdGV4dC1bMTBweF0gdGV4dC1tdXRlZC1mb3JlZ3JvdW5kIGZvbnQtbW9ubyB0cnVuY2F0ZSBib3JkZXItdCBib3JkZXItYm9yZGVyLzMwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7cH1cbiAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8dmlkZW9cbiAgICAgICAgICAgICAgICAgICAgICAgIHNyYz17c2VydmVVcmwocCl9XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250cm9sc1xuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwidy1mdWxsIG1heC1oLVszNjBweF1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgcHJlbG9hZD1cIm1ldGFkYXRhXCJcbiAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInB4LTIgcHktMSB0ZXh0LVsxMHB4XSB0ZXh0LW11dGVkLWZvcmVncm91bmQgZm9udC1tb25vIHRydW5jYXRlIGJvcmRlci10IGJvcmRlci1ib3JkZXIvMzBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHtwfVxuICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICl9XG5cbiAgICAgICAgICB7LyogVG9vbCBjYWxscyAqL31cbiAgICAgICAgICB7bWVzc2FnZS50b29sQ2FsbHMgJiYgbWVzc2FnZS50b29sQ2FsbHMubGVuZ3RoID4gMCAmJiAoXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInctZnVsbCBzcGFjZS15LTFcIj5cbiAgICAgICAgICAgICAge21lc3NhZ2UudG9vbENhbGxzLm1hcCgodGMpID0+IDxUb29sQ2FsbENhcmQga2V5PXt0Yy5pZH0gdG9vbENhbGw9e3RjfSAvPil9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICApfVxuXG4gICAgICAgICAgey8qIEhvdmVyIGFjdGlvbiBiYXIgKi99XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2NuKFxuICAgICAgICAgICAgXCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMSBvcGFjaXR5LTAgZ3JvdXAtaG92ZXI6b3BhY2l0eS0xMDAgdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tMjAwXCIsXG4gICAgICAgICAgICBpc1VzZXIgPyBcInNlbGYtZW5kXCIgOiBcInNlbGYtc3RhcnRcIixcbiAgICAgICAgICApfT5cbiAgICAgICAgICAgIHsvKiBDb3B5ICovfVxuICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgb25DbGljaz17aGFuZGxlQ29weX1cbiAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTEgdGV4dC1bMTFweF0gbmVvLWJ1dHRvbiB0ZXh0LWdyYXktNjAwIGhvdmVyOnRleHQtYmx1ZS02MDAgZGFyazp0ZXh0LWdyYXktNDAwIGRhcms6aG92ZXI6YmctY3lhbi01MDAvMjAgZGFyazpob3Zlcjp0ZXh0LWN5YW4tNDAwIHB4LTIuNSBweS0xIHJvdW5kZWQtbGcgYm9yZGVyLXRyYW5zcGFyZW50IGRhcms6aG92ZXI6Ym9yZGVyLWN5YW4tNTAwLzUwIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTIwMCBob3ZlcjpzY2FsZS0xMDVcIj5cbiAgICAgICAgICAgICAge2NvcGllZCA/IDxDaGVjayBjbGFzc05hbWU9XCJoLTMgdy0zXCIgLz4gOiA8Q29weSBjbGFzc05hbWU9XCJoLTMgdy0zXCIgLz59XG4gICAgICAgICAgICAgIHtjb3BpZWQgPyB0KFwiY29waWVkXCIpIDogdChcImNvcHlNZXNzYWdlXCIpfVxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICB7LyogUmV0cnkgKGFzc2lzdGFudCkgKi99XG4gICAgICAgICAgICB7IWlzVXNlciAmJiBvblJldHJ5ICYmIChcbiAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgb25DbGljaz17KCkgPT4gb25SZXRyeShtZXNzYWdlKX1cbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMSB0ZXh0LVsxMXB4XSBuZW8tYnV0dG9uIHRleHQtZ3JheS02MDAgaG92ZXI6dGV4dC1wdXJwbGUtNjAwIGRhcms6dGV4dC1ncmF5LTQwMCBkYXJrOmhvdmVyOmJnLXB1cnBsZS01MDAvMjAgZGFyazpob3Zlcjp0ZXh0LXB1cnBsZS00MDAgcHgtMi41IHB5LTEgcm91bmRlZC1sZyBib3JkZXItdHJhbnNwYXJlbnQgZGFyazpob3Zlcjpib3JkZXItcHVycGxlLTUwMC81MCB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi0yMDAgaG92ZXI6c2NhbGUtMTA1XCI+XG4gICAgICAgICAgICAgICAgPFJlZnJlc2hDdyBjbGFzc05hbWU9XCJoLTMgdy0zIHRyYW5zaXRpb24tdHJhbnNmb3JtIGR1cmF0aW9uLTIwMCBob3Zlcjpyb3RhdGUtMTgwXCIgLz7ph43or5VcbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICApfVxuICAgICAgICAgICAgey8qIEZvcmsgKGFzc2lzdGFudCkgKi99XG4gICAgICAgICAgICB7IWlzVXNlciAmJiBvbkZvcmsgJiYgKFxuICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBvbkNsaWNrPXsoKSA9PiBvbkZvcmsobWVzc2FnZSl9XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTEgdGV4dC1bMTFweF0gbmVvLWJ1dHRvbiB0ZXh0LWdyYXktNjAwIGhvdmVyOnRleHQtaW5kaWdvLTYwMCBkYXJrOnRleHQtZ3JheS00MDAgZGFyazpob3ZlcjpiZy1ibHVlLTUwMC8yMCBkYXJrOmhvdmVyOnRleHQtYmx1ZS00MDAgcHgtMi41IHB5LTEgcm91bmRlZC1sZyBib3JkZXItdHJhbnNwYXJlbnQgZGFyazpob3Zlcjpib3JkZXItYmx1ZS01MDAvNTAgdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tMjAwIGhvdmVyOnNjYWxlLTEwNVwiPlxuICAgICAgICAgICAgICAgIDxHaXRCcmFuY2ggY2xhc3NOYW1lPVwiaC0zIHctM1wiIC8+5YiG5Y+JXG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIHsvKiBTcGVhayAoYXNzaXN0YW50KSAqL31cbiAgICAgICAgICAgIHshaXNVc2VyICYmIG9uU3BlYWsgJiYgKFxuICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBvbkNsaWNrPXsoKSA9PiBvblNwZWFrKG1lc3NhZ2UuY29udGVudCl9XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTEgdGV4dC1bMTFweF0gbmVvLWJ1dHRvbiB0ZXh0LWdyYXktNjAwIGhvdmVyOnRleHQtZ3JlZW4tNjAwIGRhcms6dGV4dC1ncmF5LTQwMCBkYXJrOmhvdmVyOmJnLWdyZWVuLTUwMC8yMCBkYXJrOmhvdmVyOnRleHQtZ3JlZW4tNDAwIHB4LTIuNSBweS0xIHJvdW5kZWQtbGcgYm9yZGVyLXRyYW5zcGFyZW50IGRhcms6aG92ZXI6Ym9yZGVyLWdyZWVuLTUwMC81MCB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi0yMDAgaG92ZXI6c2NhbGUtMTA1XCI+XG4gICAgICAgICAgICAgICAgPFZvbHVtZTIgY2xhc3NOYW1lPVwiaC0zIHctM1wiIC8+5pyX6K+7XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcbn1cblxuLy8gVHlwaW5nIGluZGljYXRvclxuZXhwb3J0IGZ1bmN0aW9uIFR5cGluZ0J1YmJsZSh7IGFnZW50QXZhdGFyIH06IHsgYWdlbnRBdmF0YXI6IHN0cmluZyB9KSB7XG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJweC0zXCI+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtZW5kIGdhcC0yIG1iLTFcIj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGgtOSB3LTkgc2hyaW5rLTAgaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHJvdW5kZWQtWzZweF0gYmctd2hpdGUgZGFyazpiZy16aW5jLTcwMCB0ZXh0LXhsIHNoYWRvdy1zbVwiPlxuICAgICAgICAgIHthZ2VudEF2YXRhcn1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicmVsYXRpdmVcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9e2NuKFwiYWJzb2x1dGUgbGVmdC1bLTVweF0gYm90dG9tLTMgdy0wIGgtMCBib3JkZXItdC1bNXB4XSBib3JkZXItdC10cmFuc3BhcmVudCBib3JkZXItYi1bNXB4XSBib3JkZXItYi10cmFuc3BhcmVudCBib3JkZXItci1bNnB4XSBib3JkZXItci13aGl0ZSBkYXJrOmJvcmRlci1yLXppbmMtNzAwXCIpfSAvPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYmctd2hpdGUgZGFyazpiZy16aW5jLTcwMCByb3VuZGVkLWxnIHJvdW5kZWQtYmwtWzNweF0gcHgtNCBweS0zIHNoYWRvdy1zbVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMS41XCI+XG4gICAgICAgICAgICAgIHtbMCwgMSwgMl0ubWFwKChpKSA9PiAoXG4gICAgICAgICAgICAgICAgPHNwYW4ga2V5PXtpfSBjbGFzc05hbWU9XCJoLTIgdy0yIHJvdW5kZWQtZnVsbCBiZy16aW5jLTQwMCBhbmltYXRlLWJvdW5jZVwiXG4gICAgICAgICAgICAgICAgICBzdHlsZT17eyBhbmltYXRpb25EZWxheTogYCR7aSAqIDE1MH1tc2AgfX0gLz5cbiAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcbn1cblxuLy8gVG9vbCBjYWxsIGNhcmRcbmZ1bmN0aW9uIFRvb2xDYWxsQ2FyZCh7IHRvb2xDYWxsIH06IHsgdG9vbENhbGw6IFRvb2xDYWxsIH0pIHtcbiAgY29uc3QgdCA9IHVzZVRyYW5zbGF0aW9ucyhcImNoYXRcIik7XG4gIGNvbnN0IFtvcGVuLCBzZXRPcGVuXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgW2Z1bGxPdXRwdXQsIHNldEZ1bGxPdXRwdXRdID0gdXNlU3RhdGU8c3RyaW5nIHwgbnVsbD4obnVsbCk7XG4gIGNvbnN0IFtsb2FkaW5nRnVsbCwgc2V0TG9hZGluZ0Z1bGxdID0gdXNlU3RhdGUoZmFsc2UpO1xuXG4gIGNvbnN0IGlzQmFzaCA9IHRvb2xDYWxsLm5hbWUgPT09IFwiYmFzaFwiIHx8IHRvb2xDYWxsLm5hbWUgPT09IFwidXNlcl9iYXNoXCI7XG4gIC8vIEZvciBiYXNoOiBpbnB1dCBpcyB0aGUgcmF3IGNvbW1hbmQgc3RyaW5nOyBmb3Igb3RoZXJzOiBtYXkgYmUgSlNPTlxuICBjb25zdCBkaXNwbGF5SW5wdXQgPSAoKCkgPT4ge1xuICAgIGlmICghdG9vbENhbGwuaW5wdXQpIHJldHVybiBudWxsO1xuICAgIGlmIChpc0Jhc2gpIHJldHVybiB0b29sQ2FsbC5pbnB1dDsgLy8gYWxyZWFkeSBleHRyYWN0ZWQgYXMgY29tbWFuZCBzdHJpbmdcbiAgICB0cnkge1xuICAgICAgY29uc3QgcGFyc2VkID0gSlNPTi5wYXJzZSh0b29sQ2FsbC5pbnB1dCk7XG4gICAgICBpZiAodHlwZW9mIHBhcnNlZCA9PT0gXCJzdHJpbmdcIikgcmV0dXJuIHBhcnNlZDtcbiAgICAgIHJldHVybiBKU09OLnN0cmluZ2lmeShwYXJzZWQsIG51bGwsIDIpO1xuICAgIH0gY2F0Y2ggeyByZXR1cm4gdG9vbENhbGwuaW5wdXQ7IH1cbiAgfSkoKTtcblxuICBjb25zdCBzaG93bk91dHB1dCA9IGZ1bGxPdXRwdXQgPz8gdG9vbENhbGwub3V0cHV0O1xuXG4gIGNvbnN0IGxvYWRGdWxsID0gYXN5bmMgKCkgPT4ge1xuICAgIGlmICghdG9vbENhbGwuZnVsbE91dHB1dFBhdGggfHwgbG9hZGluZ0Z1bGwpIHJldHVybjtcbiAgICBzZXRMb2FkaW5nRnVsbCh0cnVlKTtcbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzID0gYXdhaXQgZmV0Y2goYC9hcGkvYmFzaC1vdXRwdXQ/cGF0aD0ke2VuY29kZVVSSUNvbXBvbmVudCh0b29sQ2FsbC5mdWxsT3V0cHV0UGF0aCl9YCk7XG4gICAgICBjb25zdCBkYXRhID0gYXdhaXQgcmVzLmpzb24oKSBhcyB7IG91dHB1dD86IHN0cmluZzsgZXJyb3I/OiBzdHJpbmcgfTtcbiAgICAgIHNldEZ1bGxPdXRwdXQoZGF0YS5vdXRwdXQgPz8gZGF0YS5lcnJvciA/PyBcIuWKoOi9veWksei0pVwiKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBzZXRGdWxsT3V0cHV0KGDliqDovb3lpLHotKU6ICR7U3RyaW5nKGUpfWApO1xuICAgIH0gZmluYWxseSB7XG4gICAgICBzZXRMb2FkaW5nRnVsbChmYWxzZSk7XG4gICAgfVxuICB9O1xuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9e2NuKFxuICAgICAgXCJyb3VuZGVkLWxnIGJvcmRlciB0ZXh0LVsxMnB4XSBvdmVyZmxvdy1oaWRkZW4gdy1mdWxsXCIsXG4gICAgICBpc0Jhc2ggPyBcImJnLWdyYXktMTAwIGRhcms6YmctemluYy05NTAgYm9yZGVyLWdyYXktMzAwIGRhcms6Ym9yZGVyLXppbmMtNzAwXCIgOiBcImJnLWJsYWNrLzUgZGFyazpiZy13aGl0ZS81XCIsXG4gICAgKX0+XG4gICAgICB7LyogSGVhZGVyICovfVxuICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgb25DbGljaz17KCkgPT4gc2V0T3Blbighb3Blbil9XG4gICAgICAgIGNsYXNzTmFtZT17Y24oXG4gICAgICAgICAgXCJmbGV4IHctZnVsbCBpdGVtcy1jZW50ZXIgZ2FwLTIgcHgtMyBweS0yIHRyYW5zaXRpb24tY29sb3JzIHRleHQtbGVmdFwiLFxuICAgICAgICAgIGlzQmFzaFxuICAgICAgICAgICAgPyBcInRleHQtZ3JheS03MDAgaG92ZXI6YmctZ3JheS0yMDAgZGFyazp0ZXh0LXppbmMtMzAwIGRhcms6aG92ZXI6YmctemluYy04MDBcIlxuICAgICAgICAgICAgOiBcImhvdmVyOmJnLWJsYWNrLzUgZGFyazpob3ZlcjpiZy13aGl0ZS81XCIsXG4gICAgICAgICl9PlxuICAgICAgICB7dG9vbENhbGwuaXNMb2FkaW5nXG4gICAgICAgICAgPyA8TG9hZGVyMiBjbGFzc05hbWU9XCJoLTMgdy0zIHRleHQtbXV0ZWQtZm9yZWdyb3VuZCBhbmltYXRlLXNwaW4gc2hyaW5rLTBcIiAvPlxuICAgICAgICAgIDogaXNCYXNoXG4gICAgICAgICAgPyA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LVsxMHB4XSBmb250LWJvbGQgdGV4dC16aW5jLTUwMCBzaHJpbmstMCBmb250LW1vbm9cIj4kXzwvc3Bhbj5cbiAgICAgICAgICA6IDxXcmVuY2ggY2xhc3NOYW1lPVwiaC0zIHctMyB0ZXh0LW11dGVkLWZvcmVncm91bmQgc2hyaW5rLTBcIiAvPn1cblxuICAgICAgICB7LyogRm9yIGJhc2g6IHNob3cgdGhlIGNvbW1hbmQgaW4gaGVhZGVyOyBmb3Igb3RoZXJzOiBzaG93IHRvb2wgbmFtZSAqL31cbiAgICAgICAge2lzQmFzaCAmJiBkaXNwbGF5SW5wdXQgPyAoXG4gICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiZm9udC1tb25vIGZsZXgtMSB0ZXh0LWxlZnQgdHJ1bmNhdGUgdGV4dC16aW5jLTIwMFwiPntkaXNwbGF5SW5wdXR9PC9zcGFuPlxuICAgICAgICApIDogKFxuICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImZvbnQtbW9ubyBmb250LW1lZGl1bSBmbGV4LTEgdGV4dC1sZWZ0IHRydW5jYXRlXCI+e3Rvb2xDYWxsLm5hbWV9PC9zcGFuPlxuICAgICAgICApfVxuXG4gICAgICAgIHshdG9vbENhbGwuaXNMb2FkaW5nICYmIChcbiAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9e2NuKFwidGV4dC14cyBzaHJpbmstMFwiLCB0b29sQ2FsbC5pc0Vycm9yID8gXCJ0ZXh0LXJlZC00MDBcIiA6IFwidGV4dC1ncmVlbi00MDBcIil9PlxuICAgICAgICAgICAge3Rvb2xDYWxsLmlzRXJyb3IgPyBcIuKcl1wiIDogXCLinJNcIn1cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICl9XG4gICAgICAgIHt0b29sQ2FsbC5pc0xvYWRpbmcgJiYgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC1tdXRlZC1mb3JlZ3JvdW5kIHRleHQtWzExcHhdIGFuaW1hdGUtcHVsc2Ugc2hyaW5rLTBcIj57dChcInRoaW5raW5nXCIpfTwvc3Bhbj59XG4gICAgICAgIHtvcGVuID8gPENoZXZyb25Eb3duIGNsYXNzTmFtZT1cImgtMyB3LTMgc2hyaW5rLTAgdGV4dC16aW5jLTUwMFwiIC8+IDogPENoZXZyb25SaWdodCBjbGFzc05hbWU9XCJoLTMgdy0zIHNocmluay0wIHRleHQtemluYy01MDBcIiAvPn1cbiAgICAgIDwvYnV0dG9uPlxuXG4gICAgICB7LyogRXhwYW5kZWQgYm9keSAqL31cbiAgICAgIHtvcGVuICYmIChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e2NuKFwiYm9yZGVyLXQgc3BhY2UteS0wXCIsIGlzQmFzaCA/IFwiYm9yZGVyLXppbmMtNzAwXCIgOiBcImJvcmRlci1ib3JkZXJcIil9PlxuICAgICAgICAgIHsvKiBGb3Igbm9uLWJhc2g6IHNob3cgaW5wdXQgYXJncyAqL31cbiAgICAgICAgICB7IWlzQmFzaCAmJiBkaXNwbGF5SW5wdXQgJiYgKFxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJweC0zIHB5LTIgYm9yZGVyLWIgYm9yZGVyLWJvcmRlclwiPlxuICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJ0ZXh0LW11dGVkLWZvcmVncm91bmQgbWItMSB0ZXh0LVsxMXB4XSB1cHBlcmNhc2UgdHJhY2tpbmctd2lkZVwiPnt0KFwidG9vbENhbGxcIil9PC9wPlxuICAgICAgICAgICAgICA8cHJlIGNsYXNzTmFtZT1cIndoaXRlc3BhY2UtcHJlLXdyYXAgYnJlYWstYWxsIHRleHQtWzEycHhdXCI+e2Rpc3BsYXlJbnB1dH08L3ByZT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICl9XG5cbiAgICAgICAgICB7LyogT3V0cHV0IGFyZWEgKi99XG4gICAgICAgICAge3Nob3duT3V0cHV0ICE9PSB1bmRlZmluZWQgJiYgKFxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2NuKFwicHgtMyBweS0yXCIsIGlzQmFzaCAmJiBcImJnLXppbmMtOTUwXCIpfT5cbiAgICAgICAgICAgICAgeyFpc0Jhc2ggJiYgPHAgY2xhc3NOYW1lPVwidGV4dC1tdXRlZC1mb3JlZ3JvdW5kIG1iLTEgdGV4dC1bMTFweF0gdXBwZXJjYXNlIHRyYWNraW5nLXdpZGVcIj57dChcInRvb2xSZXN1bHRcIil9PC9wPn1cbiAgICAgICAgICAgICAgPHByZSBjbGFzc05hbWU9e2NuKFxuICAgICAgICAgICAgICAgIFwid2hpdGVzcGFjZS1wcmUtd3JhcCBicmVhay1hbGwgdGV4dC1bMTJweF0gbWF4LWgtNjQgb3ZlcmZsb3ctYXV0byBsZWFkaW5nLXJlbGF4ZWRcIixcbiAgICAgICAgICAgICAgICBpc0Jhc2ggPyBcInRleHQtemluYy0yMDAgZm9udC1tb25vXCIgOiBcIlwiLFxuICAgICAgICAgICAgICAgIHRvb2xDYWxsLmlzRXJyb3IgPyBcInRleHQtcmVkLTQwMFwiIDogXCJcIixcbiAgICAgICAgICAgICAgKX0+e3Nob3duT3V0cHV0fTwvcHJlPlxuXG4gICAgICAgICAgICAgIHsvKiBMb2FkIGZ1bGwgb3V0cHV0IGJ1dHRvbiAod2hlbiBvdXRwdXQgd2FzIHRydW5jYXRlZCkgKi99XG4gICAgICAgICAgICAgIHt0b29sQ2FsbC50cnVuY2F0ZWQgJiYgdG9vbENhbGwuZnVsbE91dHB1dFBhdGggJiYgIWZ1bGxPdXRwdXQgJiYgKFxuICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIG9uQ2xpY2s9e2xvYWRGdWxsfSBkaXNhYmxlZD17bG9hZGluZ0Z1bGx9XG4gICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJtdC0yIGZsZXggaXRlbXMtY2VudGVyIGdhcC0xLjUgdGV4dC1bMTFweF0gdGV4dC16aW5jLTQwMCBob3Zlcjp0ZXh0LXppbmMtMjAwIHRyYW5zaXRpb24tY29sb3JzIGRpc2FibGVkOm9wYWNpdHktNTBcIj5cbiAgICAgICAgICAgICAgICAgIHtsb2FkaW5nRnVsbFxuICAgICAgICAgICAgICAgICAgICA/IDxMb2FkZXIyIGNsYXNzTmFtZT1cImgtMyB3LTMgYW5pbWF0ZS1zcGluXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgOiA8Q2hldnJvbkRvd24gY2xhc3NOYW1lPVwiaC0zIHctM1wiIC8+fVxuICAgICAgICAgICAgICAgICAge2xvYWRpbmdGdWxsID8gXCLliqDovb3kuK3igKZcIiA6IFwi6L6T5Ye65bey5oiq5pat77yM54K55Ye75Yqg6L295a6M5pW05YaF5a65XCJ9XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICApfVxuXG4gICAgICAgICAgey8qIE5vIG91dHB1dCB5ZXQgKi99XG4gICAgICAgICAgeyFzaG93bk91dHB1dCAmJiAhdG9vbENhbGwuaXNMb2FkaW5nICYmIChcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicHgtMyBweS0yXCI+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQtWzExcHhdIHRleHQtemluYy01MDAgaXRhbGljXCI+77yI5peg6L6T5Ye677yJPC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9kaXY+XG4gICAgICApfVxuICAgIDwvZGl2PlxuICApO1xufVxuXG5mdW5jdGlvbiBmb3JtYXRUaW1lKGRhdGU6IERhdGUpOiBzdHJpbmcge1xuICBjb25zdCBub3cgPSBuZXcgRGF0ZSgpLCBkID0gbmV3IERhdGUoZGF0ZSk7XG4gIGNvbnN0IGRpZmZEYXlzID0gTWF0aC5mbG9vcigobm93LmdldFRpbWUoKSAtIGQuZ2V0VGltZSgpKSAvIDg2NDAwMDAwKTtcbiAgY29uc3QgdGltZVN0ciA9IGQudG9Mb2NhbGVUaW1lU3RyaW5nKFwiemgtQ05cIiwgeyBob3VyOiBcIjItZGlnaXRcIiwgbWludXRlOiBcIjItZGlnaXRcIiB9KTtcbiAgaWYgKGRpZmZEYXlzID09PSAwKSByZXR1cm4gdGltZVN0cjtcbiAgaWYgKGRpZmZEYXlzID09PSAxKSByZXR1cm4gYOaYqOWkqSAke3RpbWVTdHJ9YDtcbiAgaWYgKGRpZmZEYXlzIDwgNykgcmV0dXJuIGAke1tcIuWRqOaXpVwiLFwi5ZGo5LiAXCIsXCLlkajkuoxcIixcIuWRqOS4iVwiLFwi5ZGo5ZubXCIsXCLlkajkupRcIixcIuWRqOWFrVwiXVtkLmdldERheSgpXX0gJHt0aW1lU3RyfWA7XG4gIHJldHVybiBkLnRvTG9jYWxlRGF0ZVN0cmluZyhcInpoLUNOXCIsIHsgbW9udGg6IFwibnVtZXJpY1wiLCBkYXk6IFwibnVtZXJpY1wiIH0pICsgXCIgXCIgKyB0aW1lU3RyO1xufVxuIl0sIm5hbWVzIjpbInVzZVN0YXRlIiwidXNlTWVtbyIsInVzZVRyYW5zbGF0aW9ucyIsIlJlYWN0TWFya2Rvd24iLCJyZW1hcmtHZm0iLCJyZWh5cGVIaWdobGlnaHQiLCJDb3B5IiwiQ2hlY2siLCJDaGV2cm9uRG93biIsIkNoZXZyb25SaWdodCIsIldyZW5jaCIsIkxvYWRlcjIiLCJSZWZyZXNoQ3ciLCJHaXRCcmFuY2giLCJCcmFpbiIsIkV4dGVybmFsTGluayIsIlZvbHVtZTIiLCJjbiIsIk1FRElBX1BBVEhfUkUiLCJJTUFHRV9FWFRTIiwiU2V0IiwiVklERU9fRVhUUyIsImV4dHJhY3RNZWRpYVBhdGhzIiwiY29udGVudCIsIm1hdGNoZXMiLCJtYXRjaEFsbCIsInNlZW4iLCJtYXAiLCJtIiwiZmlsdGVyIiwicCIsImhhcyIsImFkZCIsImV4dCIsInNwbGl0IiwicG9wIiwidG9Mb3dlckNhc2UiLCJwYXRoIiwidHlwZSIsInNlcnZlVXJsIiwiZmlsZVBhdGgiLCJlbmNvZGVVUklDb21wb25lbnQiLCJNZXNzYWdlQnViYmxlIiwibWVzc2FnZSIsImFnZW50TmFtZSIsImFnZW50QXZhdGFyIiwic2hvd1RpbWVzdGFtcCIsIm9uUmV0cnkiLCJvbkZvcmsiLCJvblNwZWFrIiwidCIsImNvcGllZCIsInNldENvcGllZCIsInRoaW5raW5nT3BlbiIsInNldFRoaW5raW5nT3BlbiIsImlzVXNlciIsInJvbGUiLCJtZWRpYVBhdGhzIiwiaGFuZGxlQ29weSIsIm5hdmlnYXRvciIsImNsaXBib2FyZCIsIndyaXRlVGV4dCIsInNldFRpbWVvdXQiLCJkaXYiLCJjbGFzc05hbWUiLCJzcGFuIiwiZm9ybWF0VGltZSIsImNyZWF0ZWRBdCIsInRoaW5raW5nIiwiYnV0dG9uIiwib25DbGljayIsImltYWdlcyIsImxlbmd0aCIsImltZyIsInNyYyIsInByZXZpZXdVcmwiLCJhbHQiLCJuYW1lIiwiaWQiLCJyZW1hcmtQbHVnaW5zIiwicmVoeXBlUGx1Z2lucyIsImxvYWRpbmciLCJhIiwiaHJlZiIsInRhcmdldCIsInJlbCIsImRvd25sb2FkIiwidmlkZW8iLCJjb250cm9scyIsInByZWxvYWQiLCJ0b29sQ2FsbHMiLCJ0YyIsIlRvb2xDYWxsQ2FyZCIsInRvb2xDYWxsIiwiVHlwaW5nQnViYmxlIiwiaSIsInN0eWxlIiwiYW5pbWF0aW9uRGVsYXkiLCJvcGVuIiwic2V0T3BlbiIsImZ1bGxPdXRwdXQiLCJzZXRGdWxsT3V0cHV0IiwibG9hZGluZ0Z1bGwiLCJzZXRMb2FkaW5nRnVsbCIsImlzQmFzaCIsImRpc3BsYXlJbnB1dCIsImlucHV0IiwicGFyc2VkIiwiSlNPTiIsInBhcnNlIiwic3RyaW5naWZ5Iiwic2hvd25PdXRwdXQiLCJvdXRwdXQiLCJsb2FkRnVsbCIsImZ1bGxPdXRwdXRQYXRoIiwicmVzIiwiZmV0Y2giLCJkYXRhIiwianNvbiIsImVycm9yIiwiZSIsIlN0cmluZyIsImlzTG9hZGluZyIsImlzRXJyb3IiLCJwcmUiLCJ1bmRlZmluZWQiLCJ0cnVuY2F0ZWQiLCJkaXNhYmxlZCIsImRhdGUiLCJub3ciLCJEYXRlIiwiZCIsImRpZmZEYXlzIiwiTWF0aCIsImZsb29yIiwiZ2V0VGltZSIsInRpbWVTdHIiLCJ0b0xvY2FsZVRpbWVTdHJpbmciLCJob3VyIiwibWludXRlIiwiZ2V0RGF5IiwidG9Mb2NhbGVEYXRlU3RyaW5nIiwibW9udGgiLCJkYXkiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/components/chat/message-bubble.tsx\n");
|
|
315
|
-
|
|
316
|
-
/***/ }),
|
|
317
|
-
|
|
318
|
-
/***/ "(ssr)/./src/components/layout/sidebar.tsx":
|
|
319
|
-
/*!*******************************************!*\
|
|
320
|
-
!*** ./src/components/layout/sidebar.tsx ***!
|
|
321
|
-
\*******************************************/
|
|
322
|
-
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
323
|
-
|
|
324
|
-
"use strict";
|
|
325
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Sidebar: () => (/* binding */ Sidebar)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next/link */ \"(ssr)/./node_modules/next/dist/client/app-dir/link.js\");\n/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(next_link__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var next_navigation__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! next/navigation */ \"(ssr)/./node_modules/next/dist/api/navigation.js\");\n/* harmony import */ var next_intl__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! next-intl */ \"(ssr)/./node_modules/next-intl/dist/development/index.react-client.js\");\n/* harmony import */ var next_intl__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(next_intl__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _barrel_optimize_names_BookOpen_Bot_Check_ChevronDown_ChevronRight_Copy_File_FileCode_FileText_Folder_FolderOpen_Globe_Moon_RefreshCw_Settings_Sun_X_lucide_react__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! __barrel_optimize__?names=BookOpen,Bot,Check,ChevronDown,ChevronRight,Copy,File,FileCode,FileText,Folder,FolderOpen,Globe,Moon,RefreshCw,Settings,Sun,X!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/bot.js\");\n/* harmony import */ var _barrel_optimize_names_BookOpen_Bot_Check_ChevronDown_ChevronRight_Copy_File_FileCode_FileText_Folder_FolderOpen_Globe_Moon_RefreshCw_Settings_Sun_X_lucide_react__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! __barrel_optimize__?names=BookOpen,Bot,Check,ChevronDown,ChevronRight,Copy,File,FileCode,FileText,Folder,FolderOpen,Globe,Moon,RefreshCw,Settings,Sun,X!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/book-open.js\");\n/* harmony import */ var _barrel_optimize_names_BookOpen_Bot_Check_ChevronDown_ChevronRight_Copy_File_FileCode_FileText_Folder_FolderOpen_Globe_Moon_RefreshCw_Settings_Sun_X_lucide_react__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! __barrel_optimize__?names=BookOpen,Bot,Check,ChevronDown,ChevronRight,Copy,File,FileCode,FileText,Folder,FolderOpen,Globe,Moon,RefreshCw,Settings,Sun,X!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/settings.js\");\n/* harmony import */ var _barrel_optimize_names_BookOpen_Bot_Check_ChevronDown_ChevronRight_Copy_File_FileCode_FileText_Folder_FolderOpen_Globe_Moon_RefreshCw_Settings_Sun_X_lucide_react__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! __barrel_optimize__?names=BookOpen,Bot,Check,ChevronDown,ChevronRight,Copy,File,FileCode,FileText,Folder,FolderOpen,Globe,Moon,RefreshCw,Settings,Sun,X!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/folder.js\");\n/* harmony import */ var _barrel_optimize_names_BookOpen_Bot_Check_ChevronDown_ChevronRight_Copy_File_FileCode_FileText_Folder_FolderOpen_Globe_Moon_RefreshCw_Settings_Sun_X_lucide_react__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! __barrel_optimize__?names=BookOpen,Bot,Check,ChevronDown,ChevronRight,Copy,File,FileCode,FileText,Folder,FolderOpen,Globe,Moon,RefreshCw,Settings,Sun,X!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/file-code.js\");\n/* harmony import */ var _barrel_optimize_names_BookOpen_Bot_Check_ChevronDown_ChevronRight_Copy_File_FileCode_FileText_Folder_FolderOpen_Globe_Moon_RefreshCw_Settings_Sun_X_lucide_react__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! __barrel_optimize__?names=BookOpen,Bot,Check,ChevronDown,ChevronRight,Copy,File,FileCode,FileText,Folder,FolderOpen,Globe,Moon,RefreshCw,Settings,Sun,X!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/file-text.js\");\n/* harmony import */ var _barrel_optimize_names_BookOpen_Bot_Check_ChevronDown_ChevronRight_Copy_File_FileCode_FileText_Folder_FolderOpen_Globe_Moon_RefreshCw_Settings_Sun_X_lucide_react__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! __barrel_optimize__?names=BookOpen,Bot,Check,ChevronDown,ChevronRight,Copy,File,FileCode,FileText,Folder,FolderOpen,Globe,Moon,RefreshCw,Settings,Sun,X!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/file.js\");\n/* harmony import */ var _barrel_optimize_names_BookOpen_Bot_Check_ChevronDown_ChevronRight_Copy_File_FileCode_FileText_Folder_FolderOpen_Globe_Moon_RefreshCw_Settings_Sun_X_lucide_react__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! __barrel_optimize__?names=BookOpen,Bot,Check,ChevronDown,ChevronRight,Copy,File,FileCode,FileText,Folder,FolderOpen,Globe,Moon,RefreshCw,Settings,Sun,X!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/chevron-down.js\");\n/* harmony import */ var _barrel_optimize_names_BookOpen_Bot_Check_ChevronDown_ChevronRight_Copy_File_FileCode_FileText_Folder_FolderOpen_Globe_Moon_RefreshCw_Settings_Sun_X_lucide_react__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! __barrel_optimize__?names=BookOpen,Bot,Check,ChevronDown,ChevronRight,Copy,File,FileCode,FileText,Folder,FolderOpen,Globe,Moon,RefreshCw,Settings,Sun,X!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/chevron-right.js\");\n/* harmony import */ var _barrel_optimize_names_BookOpen_Bot_Check_ChevronDown_ChevronRight_Copy_File_FileCode_FileText_Folder_FolderOpen_Globe_Moon_RefreshCw_Settings_Sun_X_lucide_react__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! __barrel_optimize__?names=BookOpen,Bot,Check,ChevronDown,ChevronRight,Copy,File,FileCode,FileText,Folder,FolderOpen,Globe,Moon,RefreshCw,Settings,Sun,X!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/refresh-cw.js\");\n/* harmony import */ var _barrel_optimize_names_BookOpen_Bot_Check_ChevronDown_ChevronRight_Copy_File_FileCode_FileText_Folder_FolderOpen_Globe_Moon_RefreshCw_Settings_Sun_X_lucide_react__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! __barrel_optimize__?names=BookOpen,Bot,Check,ChevronDown,ChevronRight,Copy,File,FileCode,FileText,Folder,FolderOpen,Globe,Moon,RefreshCw,Settings,Sun,X!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/x.js\");\n/* harmony import */ var _barrel_optimize_names_BookOpen_Bot_Check_ChevronDown_ChevronRight_Copy_File_FileCode_FileText_Folder_FolderOpen_Globe_Moon_RefreshCw_Settings_Sun_X_lucide_react__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! __barrel_optimize__?names=BookOpen,Bot,Check,ChevronDown,ChevronRight,Copy,File,FileCode,FileText,Folder,FolderOpen,Globe,Moon,RefreshCw,Settings,Sun,X!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/folder-open.js\");\n/* harmony import */ var _barrel_optimize_names_BookOpen_Bot_Check_ChevronDown_ChevronRight_Copy_File_FileCode_FileText_Folder_FolderOpen_Globe_Moon_RefreshCw_Settings_Sun_X_lucide_react__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! __barrel_optimize__?names=BookOpen,Bot,Check,ChevronDown,ChevronRight,Copy,File,FileCode,FileText,Folder,FolderOpen,Globe,Moon,RefreshCw,Settings,Sun,X!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/check.js\");\n/* harmony import */ var _barrel_optimize_names_BookOpen_Bot_Check_ChevronDown_ChevronRight_Copy_File_FileCode_FileText_Folder_FolderOpen_Globe_Moon_RefreshCw_Settings_Sun_X_lucide_react__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! __barrel_optimize__?names=BookOpen,Bot,Check,ChevronDown,ChevronRight,Copy,File,FileCode,FileText,Folder,FolderOpen,Globe,Moon,RefreshCw,Settings,Sun,X!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/copy.js\");\n/* harmony import */ var _barrel_optimize_names_BookOpen_Bot_Check_ChevronDown_ChevronRight_Copy_File_FileCode_FileText_Folder_FolderOpen_Globe_Moon_RefreshCw_Settings_Sun_X_lucide_react__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! __barrel_optimize__?names=BookOpen,Bot,Check,ChevronDown,ChevronRight,Copy,File,FileCode,FileText,Folder,FolderOpen,Globe,Moon,RefreshCw,Settings,Sun,X!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/sun.js\");\n/* harmony import */ var _barrel_optimize_names_BookOpen_Bot_Check_ChevronDown_ChevronRight_Copy_File_FileCode_FileText_Folder_FolderOpen_Globe_Moon_RefreshCw_Settings_Sun_X_lucide_react__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! __barrel_optimize__?names=BookOpen,Bot,Check,ChevronDown,ChevronRight,Copy,File,FileCode,FileText,Folder,FolderOpen,Globe,Moon,RefreshCw,Settings,Sun,X!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/moon.js\");\n/* harmony import */ var _barrel_optimize_names_BookOpen_Bot_Check_ChevronDown_ChevronRight_Copy_File_FileCode_FileText_Folder_FolderOpen_Globe_Moon_RefreshCw_Settings_Sun_X_lucide_react__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! __barrel_optimize__?names=BookOpen,Bot,Check,ChevronDown,ChevronRight,Copy,File,FileCode,FileText,Folder,FolderOpen,Globe,Moon,RefreshCw,Settings,Sun,X!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/globe.js\");\n/* harmony import */ var next_themes__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! next-themes */ \"(ssr)/./node_modules/next-themes/dist/index.mjs\");\n/* harmony import */ var _lib_utils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/lib/utils */ \"(ssr)/./src/lib/utils.ts\");\n/* harmony import */ var _components_ui_scroll_area__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/components/ui/scroll-area */ \"(ssr)/./src/components/ui/scroll-area.tsx\");\n/* __next_internal_client_entry_do_not_use__ Sidebar auto */ \n\n\n\n\n\n\n\n\nfunction Sidebar() {\n const t = (0,next_intl__WEBPACK_IMPORTED_MODULE_7__.useTranslations)(\"nav\");\n const pathname = (0,next_navigation__WEBPACK_IMPORTED_MODULE_3__.usePathname)();\n const locale = (0,next_intl__WEBPACK_IMPORTED_MODULE_7__.useLocale)();\n const { resolvedTheme, setTheme } = (0,next_themes__WEBPACK_IMPORTED_MODULE_4__.useTheme)();\n const [mounted, setMounted] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const [workspaceOpen, setWorkspaceOpen] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(true);\n const [workspaceData, setWorkspaceData] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n const [workspaceLoading, setWorkspaceLoading] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const [currentSubPath, setCurrentSubPath] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(\"\");\n const [copiedPath, setCopiedPath] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)({\n \"Sidebar.useEffect\": ()=>setMounted(true)\n }[\"Sidebar.useEffect\"], []);\n const isDark = resolvedTheme === \"dark\";\n // Extract agentId from pathname: /zh/agents/:id/...\n const agentId = pathname.match(/\\/agents\\/([^/]+)/)?.[1];\n // Fetch workspace files when agentId changes, with 3s polling for real-time updates\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)({\n \"Sidebar.useEffect\": ()=>{\n if (!agentId) {\n setWorkspaceData(null);\n return;\n }\n const fetchWorkspace = {\n \"Sidebar.useEffect.fetchWorkspace\": async (showLoading = false)=>{\n if (showLoading) setWorkspaceLoading(true);\n try {\n const url = `/api/workspace-files?agentId=${agentId}${currentSubPath ? `&path=${encodeURIComponent(currentSubPath)}` : \"\"}`;\n const res = await fetch(url);\n if (res.ok) {\n const data = await res.json();\n setWorkspaceData(data);\n } else {\n setWorkspaceData(null);\n }\n } catch {\n setWorkspaceData(null);\n } finally{\n if (showLoading) setWorkspaceLoading(false);\n }\n }\n }[\"Sidebar.useEffect.fetchWorkspace\"];\n void fetchWorkspace(true);\n const interval = setInterval({\n \"Sidebar.useEffect.interval\": ()=>fetchWorkspace(false)\n }[\"Sidebar.useEffect.interval\"], 3000);\n return ({\n \"Sidebar.useEffect\": ()=>clearInterval(interval)\n })[\"Sidebar.useEffect\"];\n }\n }[\"Sidebar.useEffect\"], [\n agentId,\n currentSubPath\n ]);\n const navItems = [\n {\n group: \"主菜单\",\n items: [\n {\n href: `/${locale}/agents`,\n icon: _barrel_optimize_names_BookOpen_Bot_Check_ChevronDown_ChevronRight_Copy_File_FileCode_FileText_Folder_FolderOpen_Globe_Moon_RefreshCw_Settings_Sun_X_lucide_react__WEBPACK_IMPORTED_MODULE_8__[\"default\"],\n label: t(\"agents\"),\n tooltip: \"管理并对话数字人\"\n },\n {\n href: `/${locale}/knowledge`,\n icon: _barrel_optimize_names_BookOpen_Bot_Check_ChevronDown_ChevronRight_Copy_File_FileCode_FileText_Folder_FolderOpen_Globe_Moon_RefreshCw_Settings_Sun_X_lucide_react__WEBPACK_IMPORTED_MODULE_9__[\"default\"],\n label: t(\"knowledge\"),\n tooltip: \"上传文档,构建知识库\"\n }\n ]\n },\n {\n group: \"系统\",\n items: [\n {\n href: `/${locale}/settings`,\n icon: _barrel_optimize_names_BookOpen_Bot_Check_ChevronDown_ChevronRight_Copy_File_FileCode_FileText_Folder_FolderOpen_Globe_Moon_RefreshCw_Settings_Sun_X_lucide_react__WEBPACK_IMPORTED_MODULE_10__[\"default\"],\n label: t(\"settings\"),\n tooltip: \"配置模型和 API Keys\"\n }\n ]\n }\n ];\n function FileIcon({ icon, isDir }) {\n if (isDir) return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_BookOpen_Bot_Check_ChevronDown_ChevronRight_Copy_File_FileCode_FileText_Folder_FolderOpen_Globe_Moon_RefreshCw_Settings_Sun_X_lucide_react__WEBPACK_IMPORTED_MODULE_11__[\"default\"], {\n className: \"h-3.5 w-3.5 text-yellow-500 shrink-0\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/layout/sidebar.tsx\",\n lineNumber: 94,\n columnNumber: 23\n }, this);\n if (icon === \"file-ts\" || icon === \"file-js\") return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_BookOpen_Bot_Check_ChevronDown_ChevronRight_Copy_File_FileCode_FileText_Folder_FolderOpen_Globe_Moon_RefreshCw_Settings_Sun_X_lucide_react__WEBPACK_IMPORTED_MODULE_12__[\"default\"], {\n className: \"h-3.5 w-3.5 text-blue-400 shrink-0\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/layout/sidebar.tsx\",\n lineNumber: 95,\n columnNumber: 58\n }, this);\n if (icon === \"file-md\") return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_BookOpen_Bot_Check_ChevronDown_ChevronRight_Copy_File_FileCode_FileText_Folder_FolderOpen_Globe_Moon_RefreshCw_Settings_Sun_X_lucide_react__WEBPACK_IMPORTED_MODULE_13__[\"default\"], {\n className: \"h-3.5 w-3.5 text-zinc-400 shrink-0\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/layout/sidebar.tsx\",\n lineNumber: 96,\n columnNumber: 36\n }, this);\n if (icon === \"file-json\") return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_BookOpen_Bot_Check_ChevronDown_ChevronRight_Copy_File_FileCode_FileText_Folder_FolderOpen_Globe_Moon_RefreshCw_Settings_Sun_X_lucide_react__WEBPACK_IMPORTED_MODULE_12__[\"default\"], {\n className: \"h-3.5 w-3.5 text-yellow-400 shrink-0\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/layout/sidebar.tsx\",\n lineNumber: 97,\n columnNumber: 38\n }, this);\n if (icon === \"file-py\") return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_BookOpen_Bot_Check_ChevronDown_ChevronRight_Copy_File_FileCode_FileText_Folder_FolderOpen_Globe_Moon_RefreshCw_Settings_Sun_X_lucide_react__WEBPACK_IMPORTED_MODULE_12__[\"default\"], {\n className: \"h-3.5 w-3.5 text-green-400 shrink-0\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/layout/sidebar.tsx\",\n lineNumber: 98,\n columnNumber: 36\n }, this);\n if (icon === \"file-code\") return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_BookOpen_Bot_Check_ChevronDown_ChevronRight_Copy_File_FileCode_FileText_Folder_FolderOpen_Globe_Moon_RefreshCw_Settings_Sun_X_lucide_react__WEBPACK_IMPORTED_MODULE_12__[\"default\"], {\n className: \"h-3.5 w-3.5 text-purple-400 shrink-0\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/layout/sidebar.tsx\",\n lineNumber: 99,\n columnNumber: 38\n }, this);\n if (icon === \"file-img\") return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_BookOpen_Bot_Check_ChevronDown_ChevronRight_Copy_File_FileCode_FileText_Folder_FolderOpen_Globe_Moon_RefreshCw_Settings_Sun_X_lucide_react__WEBPACK_IMPORTED_MODULE_14__[\"default\"], {\n className: \"h-3.5 w-3.5 text-pink-400 shrink-0\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/layout/sidebar.tsx\",\n lineNumber: 100,\n columnNumber: 37\n }, this);\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_BookOpen_Bot_Check_ChevronDown_ChevronRight_Copy_File_FileCode_FileText_Folder_FolderOpen_Globe_Moon_RefreshCw_Settings_Sun_X_lucide_react__WEBPACK_IMPORTED_MODULE_14__[\"default\"], {\n className: \"h-3.5 w-3.5 text-zinc-400 shrink-0\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/layout/sidebar.tsx\",\n lineNumber: 101,\n columnNumber: 12\n }, this);\n }\n const handleEntryClick = (entry)=>{\n if (entry.isDir) {\n setCurrentSubPath(entry.relativePath);\n }\n };\n const handleGoUp = ()=>{\n const parts = currentSubPath.split(\"/\").filter(Boolean);\n parts.pop();\n setCurrentSubPath(parts.join(\"/\"));\n };\n const copyPath = (path)=>{\n navigator.clipboard.writeText(path).then(()=>{\n setCopiedPath(path);\n setTimeout(()=>setCopiedPath(null), 1500);\n });\n };\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"aside\", {\n className: \"flex h-screen w-[var(--sidebar-width)] flex-col border-r border-gray-200 bg-[hsl(var(--neo-bg))] dark:border-slate-700/50 dark:bg-slate-900/95 dark:backdrop-blur-sm\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex h-14 items-center border-b border-gray-200 px-4 shrink-0 bg-white/50 dark:border-slate-700/50 dark:bg-slate-800/50\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center justify-center w-8 h-8 rounded-xl neo-card dark:bg-gradient-to-br dark:from-cyan-600 dark:to-blue-600 mr-2 dark:shadow-lg\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_BookOpen_Bot_Check_ChevronDown_ChevronRight_Copy_File_FileCode_FileText_Folder_FolderOpen_Globe_Moon_RefreshCw_Settings_Sun_X_lucide_react__WEBPACK_IMPORTED_MODULE_8__[\"default\"], {\n className: \"h-4 w-4 text-blue-600 dark:text-white\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/layout/sidebar.tsx\",\n lineNumber: 128,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/layout/sidebar.tsx\",\n lineNumber: 127,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"font-bold text-sm text-gray-800 dark:bg-gradient-to-r dark:from-cyan-400 dark:to-blue-400 dark:bg-clip-text dark:text-transparent\",\n children: \"Agent Platform\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/layout/sidebar.tsx\",\n lineNumber: 130,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/layout/sidebar.tsx\",\n lineNumber: 126,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"nav\", {\n className: \"shrink-0 p-2 space-y-3\",\n children: navItems.map((group)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"px-3 mb-1 text-[10px] font-semibold uppercase tracking-widest text-gray-500\",\n children: group.group\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/layout/sidebar.tsx\",\n lineNumber: 137,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-1\",\n children: group.items.map((item)=>{\n const active = pathname.startsWith(item.href);\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_2___default()), {\n href: item.href,\n title: item.tooltip,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: (0,_lib_utils__WEBPACK_IMPORTED_MODULE_5__.cn)(\"flex items-center gap-2.5 rounded-xl px-3 py-2 text-sm font-medium transition-all duration-200 border\", active ? \"neo-card-inset text-blue-600 border-transparent dark:bg-gradient-to-r dark:from-cyan-600/20 dark:to-blue-600/20 dark:text-cyan-400 dark:border-cyan-500/50 dark:shadow-lg dark:shadow-cyan-500/20\" : \"text-gray-600 hover:text-gray-900 border-transparent neo-button dark:text-gray-400 dark:hover:text-white dark:hover:border-slate-700 dark:hover:bg-slate-800 hover:scale-[1.02]\"),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(item.icon, {\n className: (0,_lib_utils__WEBPACK_IMPORTED_MODULE_5__.cn)(\"h-4 w-4 shrink-0 transition-transform duration-200\", active && \"text-blue-600 dark:text-cyan-400\", !active && \"group-hover:scale-110\")\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/layout/sidebar.tsx\",\n lineNumber: 151,\n columnNumber: 23\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"truncate\",\n children: item.label\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/layout/sidebar.tsx\",\n lineNumber: 152,\n columnNumber: 23\n }, this),\n active && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"ml-auto w-2 h-2 rounded-full bg-cyan-400 shadow-lg shadow-cyan-400/50 animate-pulse\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/layout/sidebar.tsx\",\n lineNumber: 153,\n columnNumber: 34\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/layout/sidebar.tsx\",\n lineNumber: 145,\n columnNumber: 21\n }, this)\n }, item.href, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/layout/sidebar.tsx\",\n lineNumber: 144,\n columnNumber: 19\n }, this);\n })\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/layout/sidebar.tsx\",\n lineNumber: 140,\n columnNumber: 13\n }, this)\n ]\n }, group.group, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/layout/sidebar.tsx\",\n lineNumber: 136,\n columnNumber: 11\n }, this))\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/layout/sidebar.tsx\",\n lineNumber: 134,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-3 border-t border-slate-700/50\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/layout/sidebar.tsx\",\n lineNumber: 164,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex flex-col flex-1 min-h-0 overflow-hidden\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n onClick: ()=>setWorkspaceOpen(!workspaceOpen),\n className: \"flex items-center gap-2 px-3 py-2 text-[10px] font-semibold uppercase tracking-widest text-gray-500 hover:text-blue-600 dark:hover:text-cyan-400 transition-all duration-200 w-full text-left shrink-0 hover:bg-gray-50 dark:hover:bg-slate-800/50 cursor-pointer\",\n children: [\n workspaceOpen ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_BookOpen_Bot_Check_ChevronDown_ChevronRight_Copy_File_FileCode_FileText_Folder_FolderOpen_Globe_Moon_RefreshCw_Settings_Sun_X_lucide_react__WEBPACK_IMPORTED_MODULE_15__[\"default\"], {\n className: \"h-3 w-3 transition-transform duration-200\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/layout/sidebar.tsx\",\n lineNumber: 172,\n columnNumber: 28\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_BookOpen_Bot_Check_ChevronDown_ChevronRight_Copy_File_FileCode_FileText_Folder_FolderOpen_Globe_Moon_RefreshCw_Settings_Sun_X_lucide_react__WEBPACK_IMPORTED_MODULE_16__[\"default\"], {\n className: \"h-3 w-3 transition-transform duration-200\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/layout/sidebar.tsx\",\n lineNumber: 172,\n columnNumber: 100\n }, this),\n \"工作区\",\n workspaceLoading && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"ml-auto text-[9px] normal-case tracking-normal animate-pulse text-blue-600 dark:text-cyan-400\",\n children: \"加载中…\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/layout/sidebar.tsx\",\n lineNumber: 174,\n columnNumber: 32\n }, this),\n !workspaceLoading && agentId && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n type: \"button\",\n onClick: (e)=>{\n e.stopPropagation();\n setWorkspaceLoading(true);\n fetch(`/api/workspace-files?agentId=${agentId}${currentSubPath ? `&path=${encodeURIComponent(currentSubPath)}` : \"\"}`).then((r)=>r.ok ? r.json() : null).then((data)=>setWorkspaceData(data)).catch(()=>{}).finally(()=>setWorkspaceLoading(false));\n },\n title: \"刷新工作区\",\n className: \"ml-auto p-0.5 rounded-lg neo-button hover:text-blue-600 dark:hover:bg-cyan-500/20 text-gray-500 dark:text-gray-500 dark:hover:text-cyan-400 transition-all duration-200 normal-case hover:scale-110 dark:border-transparent dark:hover:border-cyan-500/50\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_BookOpen_Bot_Check_ChevronDown_ChevronRight_Copy_File_FileCode_FileText_Folder_FolderOpen_Globe_Moon_RefreshCw_Settings_Sun_X_lucide_react__WEBPACK_IMPORTED_MODULE_17__[\"default\"], {\n className: \"h-3 w-3\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/layout/sidebar.tsx\",\n lineNumber: 190,\n columnNumber: 15\n }, this)\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/layout/sidebar.tsx\",\n lineNumber: 176,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/layout/sidebar.tsx\",\n lineNumber: 168,\n columnNumber: 9\n }, this),\n workspaceOpen && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex flex-col flex-1 min-h-0\",\n children: !agentId ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"px-4 text-[11px] text-muted-foreground/50 italic\",\n children: \"进入数字人对话后显示工作区\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/layout/sidebar.tsx\",\n lineNumber: 198,\n columnNumber: 15\n }, this) : !workspaceData ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"px-4 text-[11px] text-muted-foreground/50 italic\",\n children: workspaceLoading ? \"加载中…\" : \"工作区为空或无法访问\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/layout/sidebar.tsx\",\n lineNumber: 200,\n columnNumber: 15\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"px-3 pb-1 flex items-center gap-1 shrink-0\",\n children: [\n currentSubPath && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n type: \"button\",\n onClick: handleGoUp,\n title: \"返回上级目录\",\n className: \"p-0.5 rounded-lg neo-button text-gray-500 hover:text-blue-600 dark:hover:bg-cyan-500/20 dark:text-gray-400 dark:hover:text-cyan-400 transition-all duration-200 shrink-0 dark:border-transparent dark:hover:border-cyan-500/50\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_BookOpen_Bot_Check_ChevronDown_ChevronRight_Copy_File_FileCode_FileText_Folder_FolderOpen_Globe_Moon_RefreshCw_Settings_Sun_X_lucide_react__WEBPACK_IMPORTED_MODULE_16__[\"default\"], {\n className: \"h-3 w-3 rotate-180\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/layout/sidebar.tsx\",\n lineNumber: 211,\n columnNumber: 23\n }, this)\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/layout/sidebar.tsx\",\n lineNumber: 208,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-[10px] text-gray-500 font-mono truncate\",\n title: workspaceData.currentDisplay,\n children: currentSubPath ? `…/${currentSubPath.split(\"/\").slice(-2).join(\"/\")}` : workspaceData.currentDisplay.split(\"/\").slice(-2).join(\"/\")\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/layout/sidebar.tsx\",\n lineNumber: 214,\n columnNumber: 19\n }, this),\n currentSubPath && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n type: \"button\",\n onClick: ()=>setCurrentSubPath(\"\"),\n title: \"回到工作区根目录\",\n className: \"ml-auto p-0.5 rounded-lg neo-button text-gray-700 hover:text-red-600 dark:hover:bg-red-500/20 dark:text-gray-400 dark:hover:text-red-400 transition-all duration-200 shrink-0 dark:border-transparent dark:hover:border-red-500/50\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_BookOpen_Bot_Check_ChevronDown_ChevronRight_Copy_File_FileCode_FileText_Folder_FolderOpen_Globe_Moon_RefreshCw_Settings_Sun_X_lucide_react__WEBPACK_IMPORTED_MODULE_18__[\"default\"], {\n className: \"h-3 w-3\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/layout/sidebar.tsx\",\n lineNumber: 223,\n columnNumber: 23\n }, this)\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/layout/sidebar.tsx\",\n lineNumber: 220,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/layout/sidebar.tsx\",\n lineNumber: 206,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_scroll_area__WEBPACK_IMPORTED_MODULE_6__.ScrollArea, {\n className: \"flex-1\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"px-2 pb-2 space-y-0.5\",\n children: workspaceData.entries.length === 0 ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"px-2 py-2 text-[11px] text-gray-500 italic\",\n children: \"目录为空\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/layout/sidebar.tsx\",\n lineNumber: 232,\n columnNumber: 23\n }, this) : workspaceData.entries.map((entry)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"group relative flex items-center rounded-xl transition-all duration-200 neo-button hover:bg-gray-100 dark:hover:bg-slate-800/50 border-transparent dark:hover:border-slate-700\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n type: \"button\",\n onClick: ()=>handleEntryClick(entry),\n title: entry.isDir ? `打开 ${entry.name}/` : entry.path,\n className: (0,_lib_utils__WEBPACK_IMPORTED_MODULE_5__.cn)(\"flex items-center gap-2 px-2 py-1.5 text-left flex-1 min-w-0\", entry.isDir ? \"cursor-pointer\" : \"cursor-default\"),\n children: [\n entry.isDir ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_BookOpen_Bot_Check_ChevronDown_ChevronRight_Copy_File_FileCode_FileText_Folder_FolderOpen_Globe_Moon_RefreshCw_Settings_Sun_X_lucide_react__WEBPACK_IMPORTED_MODULE_19__[\"default\"], {\n className: \"h-3.5 w-3.5 text-yellow-500 shrink-0\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/layout/sidebar.tsx\",\n lineNumber: 249,\n columnNumber: 33\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(FileIcon, {\n icon: entry.icon,\n isDir: false\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/layout/sidebar.tsx\",\n lineNumber: 250,\n columnNumber: 33\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-[12px] truncate flex-1 text-gray-700 dark:text-gray-300 group-hover:text-gray-900 dark:group-hover:text-white transition-colors\",\n children: entry.name\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/layout/sidebar.tsx\",\n lineNumber: 252,\n columnNumber: 29\n }, this),\n entry.sizeDisplay && !entry.isDir && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-[10px] text-gray-500 shrink-0 font-mono mr-1\",\n children: entry.sizeDisplay\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/layout/sidebar.tsx\",\n lineNumber: 254,\n columnNumber: 31\n }, this),\n entry.isDir && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_BookOpen_Bot_Check_ChevronDown_ChevronRight_Copy_File_FileCode_FileText_Folder_FolderOpen_Globe_Moon_RefreshCw_Settings_Sun_X_lucide_react__WEBPACK_IMPORTED_MODULE_16__[\"default\"], {\n className: \"h-3 w-3 text-gray-400 dark:text-gray-500 shrink-0 mr-1\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/layout/sidebar.tsx\",\n lineNumber: 256,\n columnNumber: 45\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/layout/sidebar.tsx\",\n lineNumber: 239,\n columnNumber: 27\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n type: \"button\",\n onClick: (e)=>{\n e.stopPropagation();\n copyPath(entry.path);\n },\n title: `复制路径:${entry.path}`,\n className: \"absolute right-1 opacity-0 group-hover:opacity-100 transition-all duration-200 p-1 rounded-lg neo-button hover:text-blue-600 dark:hover:bg-cyan-500/20 text-gray-500 dark:hover:text-cyan-400 border-transparent dark:hover:border-cyan-500/50\",\n children: copiedPath === entry.path ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_BookOpen_Bot_Check_ChevronDown_ChevronRight_Copy_File_FileCode_FileText_Folder_FolderOpen_Globe_Moon_RefreshCw_Settings_Sun_X_lucide_react__WEBPACK_IMPORTED_MODULE_20__[\"default\"], {\n className: \"h-3 w-3 text-blue-600 dark:text-cyan-400\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/layout/sidebar.tsx\",\n lineNumber: 266,\n columnNumber: 33\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_BookOpen_Bot_Check_ChevronDown_ChevronRight_Copy_File_FileCode_FileText_Folder_FolderOpen_Globe_Moon_RefreshCw_Settings_Sun_X_lucide_react__WEBPACK_IMPORTED_MODULE_21__[\"default\"], {\n className: \"h-3 w-3\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/layout/sidebar.tsx\",\n lineNumber: 267,\n columnNumber: 33\n }, this)\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/layout/sidebar.tsx\",\n lineNumber: 259,\n columnNumber: 27\n }, this)\n ]\n }, entry.relativePath, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/layout/sidebar.tsx\",\n lineNumber: 235,\n columnNumber: 25\n }, this))\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/layout/sidebar.tsx\",\n lineNumber: 230,\n columnNumber: 19\n }, this)\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/layout/sidebar.tsx\",\n lineNumber: 229,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true)\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/layout/sidebar.tsx\",\n lineNumber: 196,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/layout/sidebar.tsx\",\n lineNumber: 167,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-1 border-t border-gray-200 dark:border-slate-700/50 p-2 shrink-0 bg-white/50 dark:bg-slate-800/30\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n onClick: ()=>setTheme(isDark ? \"light\" : \"dark\"),\n title: mounted ? isDark ? \"切换浅色模式\" : \"切换深色模式\" : \"切换主题\",\n className: \"h-9 w-9 rounded-xl neo-button hover:text-blue-600 dark:hover:bg-cyan-500/20 text-gray-500 dark:text-gray-400 dark:hover:text-cyan-400 flex items-center justify-center transition-all duration-200 hover:scale-110 dark:border-transparent dark:hover:border-cyan-500/50\",\n suppressHydrationWarning: true,\n children: mounted ? isDark ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_BookOpen_Bot_Check_ChevronDown_ChevronRight_Copy_File_FileCode_FileText_Folder_FolderOpen_Globe_Moon_RefreshCw_Settings_Sun_X_lucide_react__WEBPACK_IMPORTED_MODULE_22__[\"default\"], {\n className: \"h-4 w-4 transition-transform duration-200 hover:rotate-180\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/layout/sidebar.tsx\",\n lineNumber: 290,\n columnNumber: 25\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_BookOpen_Bot_Check_ChevronDown_ChevronRight_Copy_File_FileCode_FileText_Folder_FolderOpen_Globe_Moon_RefreshCw_Settings_Sun_X_lucide_react__WEBPACK_IMPORTED_MODULE_23__[\"default\"], {\n className: \"h-4 w-4 transition-transform duration-200 hover:rotate-12\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/layout/sidebar.tsx\",\n lineNumber: 290,\n columnNumber: 106\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_BookOpen_Bot_Check_ChevronDown_ChevronRight_Copy_File_FileCode_FileText_Folder_FolderOpen_Globe_Moon_RefreshCw_Settings_Sun_X_lucide_react__WEBPACK_IMPORTED_MODULE_23__[\"default\"], {\n className: \"h-4 w-4\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/layout/sidebar.tsx\",\n lineNumber: 291,\n columnNumber: 15\n }, this)\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/layout/sidebar.tsx\",\n lineNumber: 283,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_2___default()), {\n href: `/${locale === \"zh\" ? \"en\" : \"zh\"}${pathname.replace(/^\\/(zh|en)/, \"\")}`,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n title: locale === \"zh\" ? \"Switch to English\" : \"切换为中文\",\n className: \"h-9 w-9 rounded-xl neo-button hover:text-purple-600 dark:hover:bg-purple-500/20 text-gray-500 dark:text-gray-400 dark:hover:text-purple-400 flex items-center justify-center transition-all duration-200 hover:scale-110 dark:border-transparent dark:hover:border-purple-500/50\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_BookOpen_Bot_Check_ChevronDown_ChevronRight_Copy_File_FileCode_FileText_Folder_FolderOpen_Globe_Moon_RefreshCw_Settings_Sun_X_lucide_react__WEBPACK_IMPORTED_MODULE_24__[\"default\"], {\n className: \"h-4 w-4 transition-transform duration-200 hover:rotate-12\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/layout/sidebar.tsx\",\n lineNumber: 298,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/layout/sidebar.tsx\",\n lineNumber: 294,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/layout/sidebar.tsx\",\n lineNumber: 293,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/layout/sidebar.tsx\",\n lineNumber: 282,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/layout/sidebar.tsx\",\n lineNumber: 124,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy9sYXlvdXQvc2lkZWJhci50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUU0QztBQUNmO0FBQ2lCO0FBQ1M7QUFJakM7QUFDaUI7QUFDTjtBQUV3QjtBQWlCbEQsU0FBUzBCO0lBQ2QsTUFBTUMsSUFBSXZCLDBEQUFlQSxDQUFDO0lBQzFCLE1BQU13QixXQUFXekIsNERBQVdBO0lBQzVCLE1BQU0wQixTQUFTeEIsb0RBQVNBO0lBQ3hCLE1BQU0sRUFBRXlCLGFBQWEsRUFBRUMsUUFBUSxFQUFFLEdBQUdSLHFEQUFRQTtJQUM1QyxNQUFNLENBQUNTLFNBQVNDLFdBQVcsR0FBR2pDLCtDQUFRQSxDQUFDO0lBQ3ZDLE1BQU0sQ0FBQ2tDLGVBQWVDLGlCQUFpQixHQUFHbkMsK0NBQVFBLENBQUM7SUFDbkQsTUFBTSxDQUFDb0MsZUFBZUMsaUJBQWlCLEdBQUdyQywrQ0FBUUEsQ0FBdUI7SUFDekUsTUFBTSxDQUFDc0Msa0JBQWtCQyxvQkFBb0IsR0FBR3ZDLCtDQUFRQSxDQUFDO0lBQ3pELE1BQU0sQ0FBQ3dDLGdCQUFnQkMsa0JBQWtCLEdBQUd6QywrQ0FBUUEsQ0FBQztJQUNyRCxNQUFNLENBQUMwQyxZQUFZQyxjQUFjLEdBQUczQywrQ0FBUUEsQ0FBZ0I7SUFFNURDLGdEQUFTQTs2QkFBQyxJQUFNZ0MsV0FBVzs0QkFBTyxFQUFFO0lBQ3BDLE1BQU1XLFNBQVNkLGtCQUFrQjtJQUVqQyxvREFBb0Q7SUFDcEQsTUFBTWUsVUFBVWpCLFNBQVNrQixLQUFLLENBQUMsc0JBQXNCLENBQUMsRUFBRTtJQUV4RCxvRkFBb0Y7SUFDcEY3QyxnREFBU0E7NkJBQUM7WUFDUixJQUFJLENBQUM0QyxTQUFTO2dCQUNaUixpQkFBaUI7Z0JBQ2pCO1lBQ0Y7WUFDQSxNQUFNVTtvREFBaUIsT0FBT0MsY0FBYyxLQUFLO29CQUMvQyxJQUFJQSxhQUFhVCxvQkFBb0I7b0JBQ3JDLElBQUk7d0JBQ0YsTUFBTVUsTUFBTSxDQUFDLDZCQUE2QixFQUFFSixVQUFVTCxpQkFBaUIsQ0FBQyxNQUFNLEVBQUVVLG1CQUFtQlYsaUJBQWlCLEdBQUcsSUFBSTt3QkFDM0gsTUFBTVcsTUFBTSxNQUFNQyxNQUFNSDt3QkFDeEIsSUFBSUUsSUFBSUUsRUFBRSxFQUFFOzRCQUNWLE1BQU1DLE9BQU8sTUFBTUgsSUFBSUksSUFBSTs0QkFDM0JsQixpQkFBaUJpQjt3QkFDbkIsT0FBTzs0QkFDTGpCLGlCQUFpQjt3QkFDbkI7b0JBQ0YsRUFBRSxPQUFNO3dCQUNOQSxpQkFBaUI7b0JBQ25CLFNBQVU7d0JBQ1IsSUFBSVcsYUFBYVQsb0JBQW9CO29CQUN2QztnQkFDRjs7WUFDQSxLQUFLUSxlQUFlO1lBQ3BCLE1BQU1TLFdBQVdDOzhDQUFZLElBQU1WLGVBQWU7NkNBQVE7WUFDMUQ7cUNBQU8sSUFBTVcsY0FBY0Y7O1FBQzdCOzRCQUFHO1FBQUNYO1FBQVNMO0tBQWU7SUFFNUIsTUFBTW1CLFdBQVc7UUFDZjtZQUNFQyxPQUFPO1lBQ1BDLE9BQU87Z0JBQ0w7b0JBQUVDLE1BQU0sQ0FBQyxDQUFDLEVBQUVqQyxPQUFPLE9BQU8sQ0FBQztvQkFBRWtDLE1BQU16RCx5TUFBR0E7b0JBQUUwRCxPQUFPckMsRUFBRTtvQkFBV3NDLFNBQVM7Z0JBQVc7Z0JBQ2hGO29CQUFFSCxNQUFNLENBQUMsQ0FBQyxFQUFFakMsT0FBTyxVQUFVLENBQUM7b0JBQUVrQyxNQUFNeEQseU1BQVFBO29CQUFFeUQsT0FBT3JDLEVBQUU7b0JBQWNzQyxTQUFTO2dCQUFhO2FBQzlGO1FBQ0g7UUFDQTtZQUNFTCxPQUFPO1lBQ1BDLE9BQU87Z0JBQ0w7b0JBQUVDLE1BQU0sQ0FBQyxDQUFDLEVBQUVqQyxPQUFPLFNBQVMsQ0FBQztvQkFBRWtDLE1BQU12RCwwTUFBUUE7b0JBQUV3RCxPQUFPckMsRUFBRTtvQkFBYXNDLFNBQVM7Z0JBQWlCO2FBQ2hHO1FBQ0g7S0FDRDtJQUVELFNBQVNDLFNBQVMsRUFBRUgsSUFBSSxFQUFFSSxLQUFLLEVBQW9DO1FBQ2pFLElBQUlBLE9BQU8scUJBQU8sOERBQUNyRCwwTUFBTUE7WUFBQ3NELFdBQVU7Ozs7OztRQUNwQyxJQUFJTCxTQUFTLGFBQWFBLFNBQVMsV0FBVyxxQkFBTyw4REFBQzlDLDBNQUFRQTtZQUFDbUQsV0FBVTs7Ozs7O1FBQ3pFLElBQUlMLFNBQVMsV0FBVyxxQkFBTyw4REFBQy9DLDBNQUFRQTtZQUFDb0QsV0FBVTs7Ozs7O1FBQ25ELElBQUlMLFNBQVMsYUFBYSxxQkFBTyw4REFBQzlDLDBNQUFRQTtZQUFDbUQsV0FBVTs7Ozs7O1FBQ3JELElBQUlMLFNBQVMsV0FBVyxxQkFBTyw4REFBQzlDLDBNQUFRQTtZQUFDbUQsV0FBVTs7Ozs7O1FBQ25ELElBQUlMLFNBQVMsYUFBYSxxQkFBTyw4REFBQzlDLDBNQUFRQTtZQUFDbUQsV0FBVTs7Ozs7O1FBQ3JELElBQUlMLFNBQVMsWUFBWSxxQkFBTyw4REFBQ2hELDBNQUFJQTtZQUFDcUQsV0FBVTs7Ozs7O1FBQ2hELHFCQUFPLDhEQUFDckQsME1BQUlBO1lBQUNxRCxXQUFVOzs7Ozs7SUFDekI7SUFFQSxNQUFNQyxtQkFBbUIsQ0FBQ0M7UUFDeEIsSUFBSUEsTUFBTUgsS0FBSyxFQUFFO1lBQ2YxQixrQkFBa0I2QixNQUFNQyxZQUFZO1FBQ3RDO0lBQ0Y7SUFFQSxNQUFNQyxhQUFhO1FBQ2pCLE1BQU1DLFFBQVFqQyxlQUFla0MsS0FBSyxDQUFDLEtBQUtDLE1BQU0sQ0FBQ0M7UUFDL0NILE1BQU1JLEdBQUc7UUFDVHBDLGtCQUFrQmdDLE1BQU1LLElBQUksQ0FBQztJQUMvQjtJQUVBLE1BQU1DLFdBQVcsQ0FBQ0M7UUFDaEJDLFVBQVVDLFNBQVMsQ0FBQ0MsU0FBUyxDQUFDSCxNQUFNSSxJQUFJLENBQUM7WUFDdkN6QyxjQUFjcUM7WUFDZEssV0FBVyxJQUFNMUMsY0FBYyxPQUFPO1FBQ3hDO0lBQ0Y7SUFFQSxxQkFDRSw4REFBQzJDO1FBQU1sQixXQUFVOzswQkFFZiw4REFBQ21CO2dCQUFJbkIsV0FBVTs7a0NBQ2IsOERBQUNtQjt3QkFBSW5CLFdBQVU7a0NBQ2IsNEVBQUM5RCx5TUFBR0E7NEJBQUM4RCxXQUFVOzs7Ozs7Ozs7OztrQ0FFakIsOERBQUNvQjt3QkFBS3BCLFdBQVU7a0NBQW9JOzs7Ozs7Ozs7Ozs7MEJBSXRKLDhEQUFDcUI7Z0JBQUlyQixXQUFVOzBCQUNaVCxTQUFTK0IsR0FBRyxDQUFDLENBQUM5QixzQkFDYiw4REFBQzJCOzswQ0FDQyw4REFBQ0k7Z0NBQUV2QixXQUFVOzBDQUNWUixNQUFNQSxLQUFLOzs7Ozs7MENBRWQsOERBQUMyQjtnQ0FBSW5CLFdBQVU7MENBQ1pSLE1BQU1DLEtBQUssQ0FBQzZCLEdBQUcsQ0FBQyxDQUFDRTtvQ0FDaEIsTUFBTUMsU0FBU2pFLFNBQVNrRSxVQUFVLENBQUNGLEtBQUs5QixJQUFJO29DQUM1QyxxQkFDRSw4REFBQzVELGtEQUFJQTt3Q0FBaUI0RCxNQUFNOEIsS0FBSzlCLElBQUk7d0NBQUVpQyxPQUFPSCxLQUFLM0IsT0FBTztrREFDeEQsNEVBQUN1Qjs0Q0FBS3BCLFdBQVc1Qyw4Q0FBRUEsQ0FDakIseUdBQ0FxRSxTQUNJLHNNQUNBOzs4REFFSiw4REFBQ0QsS0FBSzdCLElBQUk7b0RBQUNLLFdBQVc1Qyw4Q0FBRUEsQ0FBQyxzREFBc0RxRSxVQUFVLG9DQUFvQyxDQUFDQSxVQUFVOzs7Ozs7OERBQ3hJLDhEQUFDTDtvREFBS3BCLFdBQVU7OERBQVl3QixLQUFLNUIsS0FBSzs7Ozs7O2dEQUNyQzZCLHdCQUFVLDhEQUFDTDtvREFBS3BCLFdBQVU7Ozs7Ozs7Ozs7Ozt1Q0FUcEJ3QixLQUFLOUIsSUFBSTs7Ozs7Z0NBYXhCOzs7Ozs7O3VCQXJCTUYsTUFBTUEsS0FBSzs7Ozs7Ozs7OzswQkE0QnpCLDhEQUFDMkI7Z0JBQUluQixXQUFVOzs7Ozs7MEJBR2YsOERBQUNtQjtnQkFBSW5CLFdBQVU7O2tDQUNiLDhEQUFDbUI7d0JBQ0NTLFNBQVMsSUFBTTdELGlCQUFpQixDQUFDRDt3QkFDakNrQyxXQUFVOzs0QkFFVGxDLDhCQUFnQiw4REFBQ3RCLDBNQUFXQTtnQ0FBQ3dELFdBQVU7Ozs7O3FEQUFpRCw4REFBQ3ZELDBNQUFZQTtnQ0FBQ3VELFdBQVU7Ozs7Ozs0QkFBK0M7NEJBRS9KOUIsa0NBQW9CLDhEQUFDa0Q7Z0NBQUtwQixXQUFVOzBDQUFnRzs7Ozs7OzRCQUNwSSxDQUFDOUIsb0JBQW9CTyx5QkFDcEIsOERBQUNvRDtnQ0FDQ0MsTUFBSztnQ0FDTEYsU0FBUyxDQUFDRztvQ0FDUkEsRUFBRUMsZUFBZTtvQ0FDakI3RCxvQkFBb0I7b0NBQ3BCYSxNQUFNLENBQUMsNkJBQTZCLEVBQUVQLFVBQVVMLGlCQUFpQixDQUFDLE1BQU0sRUFBRVUsbUJBQW1CVixpQkFBaUIsR0FBRyxJQUFJLEVBQ2xINEMsSUFBSSxDQUFDaUIsQ0FBQUEsSUFBS0EsRUFBRWhELEVBQUUsR0FBR2dELEVBQUU5QyxJQUFJLEtBQUssTUFDNUI2QixJQUFJLENBQUM5QixDQUFBQSxPQUFRakIsaUJBQWlCaUIsT0FDOUJnRCxLQUFLLENBQUMsS0FBTyxHQUNiQyxPQUFPLENBQUMsSUFBTWhFLG9CQUFvQjtnQ0FDdkM7Z0NBQ0F3RCxPQUFNO2dDQUNOM0IsV0FBVTswQ0FFViw0RUFBQzlDLDBNQUFTQTtvQ0FBQzhDLFdBQVU7Ozs7Ozs7Ozs7Ozs7Ozs7O29CQUsxQmxDLCtCQUNDLDhEQUFDcUQ7d0JBQUluQixXQUFVO2tDQUNaLENBQUN2Qix3QkFDQSw4REFBQzhDOzRCQUFFdkIsV0FBVTtzQ0FBbUQ7Ozs7O21DQUM5RCxDQUFDaEMsOEJBQ0gsOERBQUN1RDs0QkFBRXZCLFdBQVU7c0NBQ1Y5QixtQkFBbUIsU0FBUzs7Ozs7aURBRy9COzs4Q0FFRSw4REFBQ2lEO29DQUFJbkIsV0FBVTs7d0NBQ1o1QixnQ0FDQyw4REFBQ3lEOzRDQUFPQyxNQUFLOzRDQUFTRixTQUFTeEI7NENBQzdCdUIsT0FBTTs0Q0FDTjNCLFdBQVU7c0RBQ1YsNEVBQUN2RCwwTUFBWUE7Z0RBQUN1RCxXQUFVOzs7Ozs7Ozs7OztzREFHNUIsOERBQUNvQjs0Q0FBS3BCLFdBQVU7NENBQStDMkIsT0FBTzNELGNBQWNvRSxjQUFjO3NEQUMvRmhFLGlCQUNHLENBQUMsRUFBRSxFQUFFQSxlQUFla0MsS0FBSyxDQUFDLEtBQUsrQixLQUFLLENBQUMsQ0FBQyxHQUFHM0IsSUFBSSxDQUFDLE1BQU0sR0FDcEQxQyxjQUFjb0UsY0FBYyxDQUFDOUIsS0FBSyxDQUFDLEtBQUsrQixLQUFLLENBQUMsQ0FBQyxHQUFHM0IsSUFBSSxDQUFDOzs7Ozs7d0NBRTVEdEMsZ0NBQ0MsOERBQUN5RDs0Q0FBT0MsTUFBSzs0Q0FBU0YsU0FBUyxJQUFNdkQsa0JBQWtCOzRDQUNyRHNELE9BQU07NENBQ04zQixXQUFVO3NEQUNWLDRFQUFDakQsME1BQUNBO2dEQUFDaUQsV0FBVTs7Ozs7Ozs7Ozs7Ozs7Ozs7OENBTW5CLDhEQUFDM0Msa0VBQVVBO29DQUFDMkMsV0FBVTs4Q0FDcEIsNEVBQUNtQjt3Q0FBSW5CLFdBQVU7a0RBQ1poQyxjQUFjc0UsT0FBTyxDQUFDQyxNQUFNLEtBQUssa0JBQ2hDLDhEQUFDaEI7NENBQUV2QixXQUFVO3NEQUE2Qzs7Ozs7bURBRTFEaEMsY0FBY3NFLE9BQU8sQ0FBQ2hCLEdBQUcsQ0FBQyxDQUFDcEIsc0JBQ3pCLDhEQUFDaUI7Z0RBRUNuQixXQUFVOztrRUFFViw4REFBQzZCO3dEQUNDQyxNQUFLO3dEQUNMRixTQUFTLElBQU0zQixpQkFBaUJDO3dEQUNoQ3lCLE9BQU96QixNQUFNSCxLQUFLLEdBQUcsQ0FBQyxHQUFHLEVBQUVHLE1BQU1zQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUd0QyxNQUFNVSxJQUFJO3dEQUNyRFosV0FBVzVDLDhDQUFFQSxDQUNYLGdFQUNBOEMsTUFBTUgsS0FBSyxHQUFHLG1CQUFtQjs7NERBR2xDRyxNQUFNSCxLQUFLLGlCQUNSLDhEQUFDakQsME1BQVVBO2dFQUFDa0QsV0FBVTs7Ozs7cUZBQ3RCLDhEQUFDRjtnRUFBU0gsTUFBTU8sTUFBTVAsSUFBSTtnRUFBRUksT0FBTzs7Ozs7OzBFQUV2Qyw4REFBQ3FCO2dFQUFLcEIsV0FBVTswRUFBd0lFLE1BQU1zQyxJQUFJOzs7Ozs7NERBQ2pLdEMsTUFBTXVDLFdBQVcsSUFBSSxDQUFDdkMsTUFBTUgsS0FBSyxrQkFDaEMsOERBQUNxQjtnRUFBS3BCLFdBQVU7MEVBQXFERSxNQUFNdUMsV0FBVzs7Ozs7OzREQUV2RnZDLE1BQU1ILEtBQUssa0JBQUksOERBQUN0RCwwTUFBWUE7Z0VBQUN1RCxXQUFVOzs7Ozs7Ozs7Ozs7a0VBRzFDLDhEQUFDNkI7d0RBQ0NDLE1BQUs7d0RBQ0xGLFNBQVMsQ0FBQ0c7NERBQVFBLEVBQUVDLGVBQWU7NERBQUlyQixTQUFTVCxNQUFNVSxJQUFJO3dEQUFHO3dEQUM3RGUsT0FBTyxDQUFDLEtBQUssRUFBRXpCLE1BQU1VLElBQUksRUFBRTt3REFDM0JaLFdBQVU7a0VBRVQxQixlQUFlNEIsTUFBTVUsSUFBSSxpQkFDdEIsOERBQUMzRCwwTUFBS0E7NERBQUMrQyxXQUFVOzs7OztpRkFDakIsOERBQUNoRCwwTUFBSUE7NERBQUNnRCxXQUFVOzs7Ozs7Ozs7Ozs7K0NBL0JqQkUsTUFBTUMsWUFBWTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzswQkE4QzNDLDhEQUFDZ0I7Z0JBQUluQixXQUFVOztrQ0FDYiw4REFBQzZCO3dCQUNDRCxTQUFTLElBQU1qRSxTQUFTYSxTQUFTLFVBQVU7d0JBQzNDbUQsT0FBTy9ELFVBQVdZLFNBQVMsV0FBVyxXQUFZO3dCQUNsRHdCLFdBQVU7d0JBQ1YwQyx3QkFBd0I7a0NBRXZCOUUsVUFDSVksdUJBQVMsOERBQUNuQywwTUFBR0E7NEJBQUMyRCxXQUFVOzs7OztpREFBa0UsOERBQUMxRCwwTUFBSUE7NEJBQUMwRCxXQUFVOzs7OztpREFDM0csOERBQUMxRCwwTUFBSUE7NEJBQUMwRCxXQUFVOzs7Ozs7Ozs7OztrQ0FFdEIsOERBQUNsRSxrREFBSUE7d0JBQUM0RCxNQUFNLENBQUMsQ0FBQyxFQUFFakMsV0FBVyxPQUFPLE9BQU8sT0FBT0QsU0FBU21GLE9BQU8sQ0FBQyxjQUFjLEtBQUs7a0NBQ2xGLDRFQUFDZDs0QkFDQ0YsT0FBT2xFLFdBQVcsT0FBTyxzQkFBc0I7NEJBQy9DdUMsV0FBVTtzQ0FFViw0RUFBQ3pELDBNQUFLQTtnQ0FBQ3lELFdBQVU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFNN0IiLCJzb3VyY2VzIjpbIi9Vc2Vycy9kdWFuL2ZpbGVzL3BpLXdlYi9kaWdpdGFsLWFnZW50LXBsYXRmb3JtL3NyYy9jb21wb25lbnRzL2xheW91dC9zaWRlYmFyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBjbGllbnRcIjtcblxuaW1wb3J0IHsgdXNlU3RhdGUsIHVzZUVmZmVjdCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IExpbmsgZnJvbSBcIm5leHQvbGlua1wiO1xuaW1wb3J0IHsgdXNlUGF0aG5hbWUgfSBmcm9tIFwibmV4dC9uYXZpZ2F0aW9uXCI7XG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbnMsIHVzZUxvY2FsZSB9IGZyb20gXCJuZXh0LWludGxcIjtcbmltcG9ydCB7XG4gIEJvdCwgQm9va09wZW4sIFNldHRpbmdzLCBTdW4sIE1vb24sIEdsb2JlLCBDaGV2cm9uRG93biwgQ2hldnJvblJpZ2h0LFxuICBGb2xkZXIsIEZpbGUsIEZpbGVUZXh0LCBGaWxlQ29kZSwgRm9sZGVyT3BlbiwgWCwgQ29weSwgQ2hlY2ssIFJlZnJlc2hDdyxcbn0gZnJvbSBcImx1Y2lkZS1yZWFjdFwiO1xuaW1wb3J0IHsgdXNlVGhlbWUgfSBmcm9tIFwibmV4dC10aGVtZXNcIjtcbmltcG9ydCB7IGNuIH0gZnJvbSBcIkAvbGliL3V0aWxzXCI7XG5pbXBvcnQgeyBCdXR0b24gfSBmcm9tIFwiQC9jb21wb25lbnRzL3VpL2J1dHRvblwiO1xuaW1wb3J0IHsgU2Nyb2xsQXJlYSB9IGZyb20gXCJAL2NvbXBvbmVudHMvdWkvc2Nyb2xsLWFyZWFcIjtcblxuaW50ZXJmYWNlIFdvcmtzcGFjZUVudHJ5IHtcbiAgbmFtZTogc3RyaW5nO1xuICBwYXRoOiBzdHJpbmc7XG4gIHJlbGF0aXZlUGF0aDogc3RyaW5nO1xuICBpc0RpcjogYm9vbGVhbjtcbiAgc2l6ZURpc3BsYXk/OiBzdHJpbmc7XG4gIGljb246IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIFdvcmtzcGFjZURhdGEge1xuICBjdXJyZW50RGlzcGxheTogc3RyaW5nO1xuICBwYXJlbnRQYXRoOiBzdHJpbmcgfCBudWxsO1xuICBlbnRyaWVzOiBXb3Jrc3BhY2VFbnRyeVtdO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gU2lkZWJhcigpIHtcbiAgY29uc3QgdCA9IHVzZVRyYW5zbGF0aW9ucyhcIm5hdlwiKTtcbiAgY29uc3QgcGF0aG5hbWUgPSB1c2VQYXRobmFtZSgpO1xuICBjb25zdCBsb2NhbGUgPSB1c2VMb2NhbGUoKTtcbiAgY29uc3QgeyByZXNvbHZlZFRoZW1lLCBzZXRUaGVtZSB9ID0gdXNlVGhlbWUoKTtcbiAgY29uc3QgW21vdW50ZWQsIHNldE1vdW50ZWRdID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCBbd29ya3NwYWNlT3Blbiwgc2V0V29ya3NwYWNlT3Blbl0gPSB1c2VTdGF0ZSh0cnVlKTtcbiAgY29uc3QgW3dvcmtzcGFjZURhdGEsIHNldFdvcmtzcGFjZURhdGFdID0gdXNlU3RhdGU8V29ya3NwYWNlRGF0YSB8IG51bGw+KG51bGwpO1xuICBjb25zdCBbd29ya3NwYWNlTG9hZGluZywgc2V0V29ya3NwYWNlTG9hZGluZ10gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IFtjdXJyZW50U3ViUGF0aCwgc2V0Q3VycmVudFN1YlBhdGhdID0gdXNlU3RhdGUoXCJcIik7XG4gIGNvbnN0IFtjb3BpZWRQYXRoLCBzZXRDb3BpZWRQYXRoXSA9IHVzZVN0YXRlPHN0cmluZyB8IG51bGw+KG51bGwpO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiBzZXRNb3VudGVkKHRydWUpLCBbXSk7XG4gIGNvbnN0IGlzRGFyayA9IHJlc29sdmVkVGhlbWUgPT09IFwiZGFya1wiO1xuXG4gIC8vIEV4dHJhY3QgYWdlbnRJZCBmcm9tIHBhdGhuYW1lOiAvemgvYWdlbnRzLzppZC8uLi5cbiAgY29uc3QgYWdlbnRJZCA9IHBhdGhuYW1lLm1hdGNoKC9cXC9hZ2VudHNcXC8oW14vXSspLyk/LlsxXTtcblxuICAvLyBGZXRjaCB3b3Jrc3BhY2UgZmlsZXMgd2hlbiBhZ2VudElkIGNoYW5nZXMsIHdpdGggM3MgcG9sbGluZyBmb3IgcmVhbC10aW1lIHVwZGF0ZXNcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIWFnZW50SWQpIHtcbiAgICAgIHNldFdvcmtzcGFjZURhdGEobnVsbCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGZldGNoV29ya3NwYWNlID0gYXN5bmMgKHNob3dMb2FkaW5nID0gZmFsc2UpID0+IHtcbiAgICAgIGlmIChzaG93TG9hZGluZykgc2V0V29ya3NwYWNlTG9hZGluZyh0cnVlKTtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHVybCA9IGAvYXBpL3dvcmtzcGFjZS1maWxlcz9hZ2VudElkPSR7YWdlbnRJZH0ke2N1cnJlbnRTdWJQYXRoID8gYCZwYXRoPSR7ZW5jb2RlVVJJQ29tcG9uZW50KGN1cnJlbnRTdWJQYXRoKX1gIDogXCJcIn1gO1xuICAgICAgICBjb25zdCByZXMgPSBhd2FpdCBmZXRjaCh1cmwpO1xuICAgICAgICBpZiAocmVzLm9rKSB7XG4gICAgICAgICAgY29uc3QgZGF0YSA9IGF3YWl0IHJlcy5qc29uKCkgYXMgV29ya3NwYWNlRGF0YTtcbiAgICAgICAgICBzZXRXb3Jrc3BhY2VEYXRhKGRhdGEpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHNldFdvcmtzcGFjZURhdGEobnVsbCk7XG4gICAgICAgIH1cbiAgICAgIH0gY2F0Y2gge1xuICAgICAgICBzZXRXb3Jrc3BhY2VEYXRhKG51bGwpO1xuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgaWYgKHNob3dMb2FkaW5nKSBzZXRXb3Jrc3BhY2VMb2FkaW5nKGZhbHNlKTtcbiAgICAgIH1cbiAgICB9O1xuICAgIHZvaWQgZmV0Y2hXb3Jrc3BhY2UodHJ1ZSk7XG4gICAgY29uc3QgaW50ZXJ2YWwgPSBzZXRJbnRlcnZhbCgoKSA9PiBmZXRjaFdvcmtzcGFjZShmYWxzZSksIDMwMDApO1xuICAgIHJldHVybiAoKSA9PiBjbGVhckludGVydmFsKGludGVydmFsKTtcbiAgfSwgW2FnZW50SWQsIGN1cnJlbnRTdWJQYXRoXSk7XG5cbiAgY29uc3QgbmF2SXRlbXMgPSBbXG4gICAge1xuICAgICAgZ3JvdXA6IFwi5Li76I+c5Y2VXCIsXG4gICAgICBpdGVtczogW1xuICAgICAgICB7IGhyZWY6IGAvJHtsb2NhbGV9L2FnZW50c2AsIGljb246IEJvdCwgbGFiZWw6IHQoXCJhZ2VudHNcIiksIHRvb2x0aXA6IFwi566h55CG5bm25a+56K+d5pWw5a2X5Lq6XCIgfSxcbiAgICAgICAgeyBocmVmOiBgLyR7bG9jYWxlfS9rbm93bGVkZ2VgLCBpY29uOiBCb29rT3BlbiwgbGFiZWw6IHQoXCJrbm93bGVkZ2VcIiksIHRvb2x0aXA6IFwi5LiK5Lyg5paH5qGj77yM5p6E5bu655+l6K+G5bqTXCIgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgICB7XG4gICAgICBncm91cDogXCLns7vnu59cIixcbiAgICAgIGl0ZW1zOiBbXG4gICAgICAgIHsgaHJlZjogYC8ke2xvY2FsZX0vc2V0dGluZ3NgLCBpY29uOiBTZXR0aW5ncywgbGFiZWw6IHQoXCJzZXR0aW5nc1wiKSwgdG9vbHRpcDogXCLphY3nva7mqKHlnovlkowgQVBJIEtleXNcIiB9LFxuICAgICAgXSxcbiAgICB9LFxuICBdO1xuXG4gIGZ1bmN0aW9uIEZpbGVJY29uKHsgaWNvbiwgaXNEaXIgfTogeyBpY29uOiBzdHJpbmc7IGlzRGlyOiBib29sZWFuIH0pIHtcbiAgICBpZiAoaXNEaXIpIHJldHVybiA8Rm9sZGVyIGNsYXNzTmFtZT1cImgtMy41IHctMy41IHRleHQteWVsbG93LTUwMCBzaHJpbmstMFwiIC8+O1xuICAgIGlmIChpY29uID09PSBcImZpbGUtdHNcIiB8fCBpY29uID09PSBcImZpbGUtanNcIikgcmV0dXJuIDxGaWxlQ29kZSBjbGFzc05hbWU9XCJoLTMuNSB3LTMuNSB0ZXh0LWJsdWUtNDAwIHNocmluay0wXCIgLz47XG4gICAgaWYgKGljb24gPT09IFwiZmlsZS1tZFwiKSByZXR1cm4gPEZpbGVUZXh0IGNsYXNzTmFtZT1cImgtMy41IHctMy41IHRleHQtemluYy00MDAgc2hyaW5rLTBcIiAvPjtcbiAgICBpZiAoaWNvbiA9PT0gXCJmaWxlLWpzb25cIikgcmV0dXJuIDxGaWxlQ29kZSBjbGFzc05hbWU9XCJoLTMuNSB3LTMuNSB0ZXh0LXllbGxvdy00MDAgc2hyaW5rLTBcIiAvPjtcbiAgICBpZiAoaWNvbiA9PT0gXCJmaWxlLXB5XCIpIHJldHVybiA8RmlsZUNvZGUgY2xhc3NOYW1lPVwiaC0zLjUgdy0zLjUgdGV4dC1ncmVlbi00MDAgc2hyaW5rLTBcIiAvPjtcbiAgICBpZiAoaWNvbiA9PT0gXCJmaWxlLWNvZGVcIikgcmV0dXJuIDxGaWxlQ29kZSBjbGFzc05hbWU9XCJoLTMuNSB3LTMuNSB0ZXh0LXB1cnBsZS00MDAgc2hyaW5rLTBcIiAvPjtcbiAgICBpZiAoaWNvbiA9PT0gXCJmaWxlLWltZ1wiKSByZXR1cm4gPEZpbGUgY2xhc3NOYW1lPVwiaC0zLjUgdy0zLjUgdGV4dC1waW5rLTQwMCBzaHJpbmstMFwiIC8+O1xuICAgIHJldHVybiA8RmlsZSBjbGFzc05hbWU9XCJoLTMuNSB3LTMuNSB0ZXh0LXppbmMtNDAwIHNocmluay0wXCIgLz47XG4gIH1cblxuICBjb25zdCBoYW5kbGVFbnRyeUNsaWNrID0gKGVudHJ5OiBXb3Jrc3BhY2VFbnRyeSkgPT4ge1xuICAgIGlmIChlbnRyeS5pc0Rpcikge1xuICAgICAgc2V0Q3VycmVudFN1YlBhdGgoZW50cnkucmVsYXRpdmVQYXRoKTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlR29VcCA9ICgpID0+IHtcbiAgICBjb25zdCBwYXJ0cyA9IGN1cnJlbnRTdWJQYXRoLnNwbGl0KFwiL1wiKS5maWx0ZXIoQm9vbGVhbik7XG4gICAgcGFydHMucG9wKCk7XG4gICAgc2V0Q3VycmVudFN1YlBhdGgocGFydHMuam9pbihcIi9cIikpO1xuICB9O1xuXG4gIGNvbnN0IGNvcHlQYXRoID0gKHBhdGg6IHN0cmluZykgPT4ge1xuICAgIG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGVUZXh0KHBhdGgpLnRoZW4oKCkgPT4ge1xuICAgICAgc2V0Q29waWVkUGF0aChwYXRoKTtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4gc2V0Q29waWVkUGF0aChudWxsKSwgMTUwMCk7XG4gICAgfSk7XG4gIH07XG5cbiAgcmV0dXJuIChcbiAgICA8YXNpZGUgY2xhc3NOYW1lPVwiZmxleCBoLXNjcmVlbiB3LVt2YXIoLS1zaWRlYmFyLXdpZHRoKV0gZmxleC1jb2wgYm9yZGVyLXIgYm9yZGVyLWdyYXktMjAwIGJnLVtoc2wodmFyKC0tbmVvLWJnKSldIGRhcms6Ym9yZGVyLXNsYXRlLTcwMC81MCBkYXJrOmJnLXNsYXRlLTkwMC85NSBkYXJrOmJhY2tkcm9wLWJsdXItc21cIj5cbiAgICAgIHsvKiBMb2dvICovfVxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGgtMTQgaXRlbXMtY2VudGVyIGJvcmRlci1iIGJvcmRlci1ncmF5LTIwMCBweC00IHNocmluay0wIGJnLXdoaXRlLzUwIGRhcms6Ym9yZGVyLXNsYXRlLTcwMC81MCBkYXJrOmJnLXNsYXRlLTgwMC81MFwiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHctOCBoLTggcm91bmRlZC14bCBuZW8tY2FyZCBkYXJrOmJnLWdyYWRpZW50LXRvLWJyIGRhcms6ZnJvbS1jeWFuLTYwMCBkYXJrOnRvLWJsdWUtNjAwIG1yLTIgZGFyazpzaGFkb3ctbGdcIj5cbiAgICAgICAgICA8Qm90IGNsYXNzTmFtZT1cImgtNCB3LTQgdGV4dC1ibHVlLTYwMCBkYXJrOnRleHQtd2hpdGVcIiAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiZm9udC1ib2xkIHRleHQtc20gdGV4dC1ncmF5LTgwMCBkYXJrOmJnLWdyYWRpZW50LXRvLXIgZGFyazpmcm9tLWN5YW4tNDAwIGRhcms6dG8tYmx1ZS00MDAgZGFyazpiZy1jbGlwLXRleHQgZGFyazp0ZXh0LXRyYW5zcGFyZW50XCI+QWdlbnQgUGxhdGZvcm08L3NwYW4+XG4gICAgICA8L2Rpdj5cblxuICAgICAgey8qIE5hdmlnYXRpb24g4oCUIGdyb3VwZWQgd2l0aCBsYWJlbHMgKi99XG4gICAgICA8bmF2IGNsYXNzTmFtZT1cInNocmluay0wIHAtMiBzcGFjZS15LTNcIj5cbiAgICAgICAge25hdkl0ZW1zLm1hcCgoZ3JvdXApID0+IChcbiAgICAgICAgICA8ZGl2IGtleT17Z3JvdXAuZ3JvdXB9PlxuICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwicHgtMyBtYi0xIHRleHQtWzEwcHhdIGZvbnQtc2VtaWJvbGQgdXBwZXJjYXNlIHRyYWNraW5nLXdpZGVzdCB0ZXh0LWdyYXktNTAwXCI+XG4gICAgICAgICAgICAgIHtncm91cC5ncm91cH1cbiAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwic3BhY2UteS0xXCI+XG4gICAgICAgICAgICAgIHtncm91cC5pdGVtcy5tYXAoKGl0ZW0pID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBhY3RpdmUgPSBwYXRobmFtZS5zdGFydHNXaXRoKGl0ZW0uaHJlZik7XG4gICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgIDxMaW5rIGtleT17aXRlbS5ocmVmfSBocmVmPXtpdGVtLmhyZWZ9IHRpdGxlPXtpdGVtLnRvb2x0aXB9PlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9e2NuKFxuICAgICAgICAgICAgICAgICAgICAgIFwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTIuNSByb3VuZGVkLXhsIHB4LTMgcHktMiB0ZXh0LXNtIGZvbnQtbWVkaXVtIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTIwMCBib3JkZXJcIixcbiAgICAgICAgICAgICAgICAgICAgICBhY3RpdmVcbiAgICAgICAgICAgICAgICAgICAgICAgID8gXCJuZW8tY2FyZC1pbnNldCB0ZXh0LWJsdWUtNjAwIGJvcmRlci10cmFuc3BhcmVudCBkYXJrOmJnLWdyYWRpZW50LXRvLXIgZGFyazpmcm9tLWN5YW4tNjAwLzIwIGRhcms6dG8tYmx1ZS02MDAvMjAgZGFyazp0ZXh0LWN5YW4tNDAwIGRhcms6Ym9yZGVyLWN5YW4tNTAwLzUwIGRhcms6c2hhZG93LWxnIGRhcms6c2hhZG93LWN5YW4tNTAwLzIwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogXCJ0ZXh0LWdyYXktNjAwIGhvdmVyOnRleHQtZ3JheS05MDAgYm9yZGVyLXRyYW5zcGFyZW50IG5lby1idXR0b24gZGFyazp0ZXh0LWdyYXktNDAwIGRhcms6aG92ZXI6dGV4dC13aGl0ZSBkYXJrOmhvdmVyOmJvcmRlci1zbGF0ZS03MDAgZGFyazpob3ZlcjpiZy1zbGF0ZS04MDAgaG92ZXI6c2NhbGUtWzEuMDJdXCIsXG4gICAgICAgICAgICAgICAgICAgICl9PlxuICAgICAgICAgICAgICAgICAgICAgIDxpdGVtLmljb24gY2xhc3NOYW1lPXtjbihcImgtNCB3LTQgc2hyaW5rLTAgdHJhbnNpdGlvbi10cmFuc2Zvcm0gZHVyYXRpb24tMjAwXCIsIGFjdGl2ZSAmJiBcInRleHQtYmx1ZS02MDAgZGFyazp0ZXh0LWN5YW4tNDAwXCIsICFhY3RpdmUgJiYgXCJncm91cC1ob3ZlcjpzY2FsZS0xMTBcIil9IC8+XG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidHJ1bmNhdGVcIj57aXRlbS5sYWJlbH08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAge2FjdGl2ZSAmJiA8c3BhbiBjbGFzc05hbWU9XCJtbC1hdXRvIHctMiBoLTIgcm91bmRlZC1mdWxsIGJnLWN5YW4tNDAwIHNoYWRvdy1sZyBzaGFkb3ctY3lhbi00MDAvNTAgYW5pbWF0ZS1wdWxzZVwiIC8+fVxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8L0xpbms+XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKSl9XG4gICAgICA8L25hdj5cblxuICAgICAgey8qIFNlcGFyYXRvciAqL31cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXgtMyBib3JkZXItdCBib3JkZXItc2xhdGUtNzAwLzUwXCIgLz5cblxuICAgICAgey8qIFdvcmtzcGFjZSBGaWxlIFRyZWUgLSDnp5HmioDmhJ/orr7orqEgKi99XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggZmxleC1jb2wgZmxleC0xIG1pbi1oLTAgb3ZlcmZsb3ctaGlkZGVuXCI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBzZXRXb3Jrc3BhY2VPcGVuKCF3b3Jrc3BhY2VPcGVuKX1cbiAgICAgICAgICBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMiBweC0zIHB5LTIgdGV4dC1bMTBweF0gZm9udC1zZW1pYm9sZCB1cHBlcmNhc2UgdHJhY2tpbmctd2lkZXN0IHRleHQtZ3JheS01MDAgaG92ZXI6dGV4dC1ibHVlLTYwMCBkYXJrOmhvdmVyOnRleHQtY3lhbi00MDAgdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tMjAwIHctZnVsbCB0ZXh0LWxlZnQgc2hyaW5rLTAgaG92ZXI6YmctZ3JheS01MCBkYXJrOmhvdmVyOmJnLXNsYXRlLTgwMC81MCBjdXJzb3ItcG9pbnRlclwiXG4gICAgICAgID5cbiAgICAgICAgICB7d29ya3NwYWNlT3BlbiA/IDxDaGV2cm9uRG93biBjbGFzc05hbWU9XCJoLTMgdy0zIHRyYW5zaXRpb24tdHJhbnNmb3JtIGR1cmF0aW9uLTIwMFwiIC8+IDogPENoZXZyb25SaWdodCBjbGFzc05hbWU9XCJoLTMgdy0zIHRyYW5zaXRpb24tdHJhbnNmb3JtIGR1cmF0aW9uLTIwMFwiIC8+fVxuICAgICAgICAgIOW3peS9nOWMulxuICAgICAgICAgIHt3b3Jrc3BhY2VMb2FkaW5nICYmIDxzcGFuIGNsYXNzTmFtZT1cIm1sLWF1dG8gdGV4dC1bOXB4XSBub3JtYWwtY2FzZSB0cmFja2luZy1ub3JtYWwgYW5pbWF0ZS1wdWxzZSB0ZXh0LWJsdWUtNjAwIGRhcms6dGV4dC1jeWFuLTQwMFwiPuWKoOi9veS4reKApjwvc3Bhbj59XG4gICAgICAgICAgeyF3b3Jrc3BhY2VMb2FkaW5nICYmIGFnZW50SWQgJiYgKFxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgb25DbGljaz17KGUpID0+IHtcbiAgICAgICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgICAgIHNldFdvcmtzcGFjZUxvYWRpbmcodHJ1ZSk7XG4gICAgICAgICAgICAgICAgZmV0Y2goYC9hcGkvd29ya3NwYWNlLWZpbGVzP2FnZW50SWQ9JHthZ2VudElkfSR7Y3VycmVudFN1YlBhdGggPyBgJnBhdGg9JHtlbmNvZGVVUklDb21wb25lbnQoY3VycmVudFN1YlBhdGgpfWAgOiBcIlwifWApXG4gICAgICAgICAgICAgICAgICAudGhlbihyID0+IHIub2sgPyByLmpzb24oKSA6IG51bGwpXG4gICAgICAgICAgICAgICAgICAudGhlbihkYXRhID0+IHNldFdvcmtzcGFjZURhdGEoZGF0YSkpXG4gICAgICAgICAgICAgICAgICAuY2F0Y2goKCkgPT4ge30pXG4gICAgICAgICAgICAgICAgICAuZmluYWxseSgoKSA9PiBzZXRXb3Jrc3BhY2VMb2FkaW5nKGZhbHNlKSk7XG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIHRpdGxlPVwi5Yi35paw5bel5L2c5Yy6XCJcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPVwibWwtYXV0byBwLTAuNSByb3VuZGVkLWxnIG5lby1idXR0b24gaG92ZXI6dGV4dC1ibHVlLTYwMCBkYXJrOmhvdmVyOmJnLWN5YW4tNTAwLzIwIHRleHQtZ3JheS01MDAgZGFyazp0ZXh0LWdyYXktNTAwIGRhcms6aG92ZXI6dGV4dC1jeWFuLTQwMCB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi0yMDAgbm9ybWFsLWNhc2UgaG92ZXI6c2NhbGUtMTEwIGRhcms6Ym9yZGVyLXRyYW5zcGFyZW50IGRhcms6aG92ZXI6Ym9yZGVyLWN5YW4tNTAwLzUwXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPFJlZnJlc2hDdyBjbGFzc05hbWU9XCJoLTMgdy0zXCIgLz5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICl9XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIHt3b3Jrc3BhY2VPcGVuICYmIChcbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggZmxleC1jb2wgZmxleC0xIG1pbi1oLTBcIj5cbiAgICAgICAgICAgIHshYWdlbnRJZCA/IChcbiAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwicHgtNCB0ZXh0LVsxMXB4XSB0ZXh0LW11dGVkLWZvcmVncm91bmQvNTAgaXRhbGljXCI+6L+b5YWl5pWw5a2X5Lq65a+56K+d5ZCO5pi+56S65bel5L2c5Yy6PC9wPlxuICAgICAgICAgICAgKSA6ICF3b3Jrc3BhY2VEYXRhID8gKFxuICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJweC00IHRleHQtWzExcHhdIHRleHQtbXV0ZWQtZm9yZWdyb3VuZC81MCBpdGFsaWNcIj5cbiAgICAgICAgICAgICAgICB7d29ya3NwYWNlTG9hZGluZyA/IFwi5Yqg6L295Lit4oCmXCIgOiBcIuW3peS9nOWMuuS4uuepuuaIluaXoOazleiuv+mXrlwifVxuICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAgey8qIOW9k+WJjei3r+W+hOWvvOiIqiAqL31cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInB4LTMgcGItMSBmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMSBzaHJpbmstMFwiPlxuICAgICAgICAgICAgICAgICAge2N1cnJlbnRTdWJQYXRoICYmIChcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgb25DbGljaz17aGFuZGxlR29VcH1cbiAgICAgICAgICAgICAgICAgICAgICB0aXRsZT1cIui/lOWbnuS4iue6p+ebruW9lVwiXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwicC0wLjUgcm91bmRlZC1sZyBuZW8tYnV0dG9uIHRleHQtZ3JheS01MDAgaG92ZXI6dGV4dC1ibHVlLTYwMCBkYXJrOmhvdmVyOmJnLWN5YW4tNTAwLzIwIGRhcms6dGV4dC1ncmF5LTQwMCBkYXJrOmhvdmVyOnRleHQtY3lhbi00MDAgdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tMjAwIHNocmluay0wIGRhcms6Ym9yZGVyLXRyYW5zcGFyZW50IGRhcms6aG92ZXI6Ym9yZGVyLWN5YW4tNTAwLzUwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPENoZXZyb25SaWdodCBjbGFzc05hbWU9XCJoLTMgdy0zIHJvdGF0ZS0xODBcIiAvPlxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LVsxMHB4XSB0ZXh0LWdyYXktNTAwIGZvbnQtbW9ubyB0cnVuY2F0ZVwiIHRpdGxlPXt3b3Jrc3BhY2VEYXRhLmN1cnJlbnREaXNwbGF5fT5cbiAgICAgICAgICAgICAgICAgICAge2N1cnJlbnRTdWJQYXRoXG4gICAgICAgICAgICAgICAgICAgICAgPyBg4oCmLyR7Y3VycmVudFN1YlBhdGguc3BsaXQoXCIvXCIpLnNsaWNlKC0yKS5qb2luKFwiL1wiKX1gXG4gICAgICAgICAgICAgICAgICAgICAgOiB3b3Jrc3BhY2VEYXRhLmN1cnJlbnREaXNwbGF5LnNwbGl0KFwiL1wiKS5zbGljZSgtMikuam9pbihcIi9cIil9XG4gICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICB7Y3VycmVudFN1YlBhdGggJiYgKFxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBvbkNsaWNrPXsoKSA9PiBzZXRDdXJyZW50U3ViUGF0aChcIlwiKX1cbiAgICAgICAgICAgICAgICAgICAgICB0aXRsZT1cIuWbnuWIsOW3peS9nOWMuuagueebruW9lVwiXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwibWwtYXV0byBwLTAuNSByb3VuZGVkLWxnIG5lby1idXR0b24gdGV4dC1ncmF5LTcwMCBob3Zlcjp0ZXh0LXJlZC02MDAgZGFyazpob3ZlcjpiZy1yZWQtNTAwLzIwIGRhcms6dGV4dC1ncmF5LTQwMCBkYXJrOmhvdmVyOnRleHQtcmVkLTQwMCB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi0yMDAgc2hyaW5rLTAgZGFyazpib3JkZXItdHJhbnNwYXJlbnQgZGFyazpob3Zlcjpib3JkZXItcmVkLTUwMC81MFwiPlxuICAgICAgICAgICAgICAgICAgICAgIDxYIGNsYXNzTmFtZT1cImgtMyB3LTNcIiAvPlxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICB7Lyog5paH5Lu25YiX6KGoICovfVxuICAgICAgICAgICAgICAgIDxTY3JvbGxBcmVhIGNsYXNzTmFtZT1cImZsZXgtMVwiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJweC0yIHBiLTIgc3BhY2UteS0wLjVcIj5cbiAgICAgICAgICAgICAgICAgICAge3dvcmtzcGFjZURhdGEuZW50cmllcy5sZW5ndGggPT09IDAgPyAoXG4gICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwicHgtMiBweS0yIHRleHQtWzExcHhdIHRleHQtZ3JheS01MDAgaXRhbGljXCI+55uu5b2V5Li656m6PC9wPlxuICAgICAgICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgICAgICAgIHdvcmtzcGFjZURhdGEuZW50cmllcy5tYXAoKGVudHJ5KSA9PiAoXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGtleT17ZW50cnkucmVsYXRpdmVQYXRofVxuICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJncm91cCByZWxhdGl2ZSBmbGV4IGl0ZW1zLWNlbnRlciByb3VuZGVkLXhsIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTIwMCBuZW8tYnV0dG9uIGhvdmVyOmJnLWdyYXktMTAwIGRhcms6aG92ZXI6Ymctc2xhdGUtODAwLzUwIGJvcmRlci10cmFuc3BhcmVudCBkYXJrOmhvdmVyOmJvcmRlci1zbGF0ZS03MDBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gaGFuZGxlRW50cnlDbGljayhlbnRyeSl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU9e2VudHJ5LmlzRGlyID8gYOaJk+W8gCAke2VudHJ5Lm5hbWV9L2AgOiBlbnRyeS5wYXRofVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y24oXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImZsZXggaXRlbXMtY2VudGVyIGdhcC0yIHB4LTIgcHktMS41IHRleHQtbGVmdCBmbGV4LTEgbWluLXctMFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW50cnkuaXNEaXIgPyBcImN1cnNvci1wb2ludGVyXCIgOiBcImN1cnNvci1kZWZhdWx0XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtlbnRyeS5pc0RpclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyA8Rm9sZGVyT3BlbiBjbGFzc05hbWU9XCJoLTMuNSB3LTMuNSB0ZXh0LXllbGxvdy01MDAgc2hyaW5rLTBcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiA8RmlsZUljb24gaWNvbj17ZW50cnkuaWNvbn0gaXNEaXI9e2ZhbHNlfSAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LVsxMnB4XSB0cnVuY2F0ZSBmbGV4LTEgdGV4dC1ncmF5LTcwMCBkYXJrOnRleHQtZ3JheS0zMDAgZ3JvdXAtaG92ZXI6dGV4dC1ncmF5LTkwMCBkYXJrOmdyb3VwLWhvdmVyOnRleHQtd2hpdGUgdHJhbnNpdGlvbi1jb2xvcnNcIj57ZW50cnkubmFtZX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge2VudHJ5LnNpemVEaXNwbGF5ICYmICFlbnRyeS5pc0RpciAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LVsxMHB4XSB0ZXh0LWdyYXktNTAwIHNocmluay0wIGZvbnQtbW9ubyBtci0xXCI+e2VudHJ5LnNpemVEaXNwbGF5fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtlbnRyeS5pc0RpciAmJiA8Q2hldnJvblJpZ2h0IGNsYXNzTmFtZT1cImgtMyB3LTMgdGV4dC1ncmF5LTQwMCBkYXJrOnRleHQtZ3JheS01MDAgc2hyaW5rLTAgbXItMVwiIC8+fVxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cblxuICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KGUpID0+IHsgZS5zdG9wUHJvcGFnYXRpb24oKTsgY29weVBhdGgoZW50cnkucGF0aCk7IH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU9e2DlpI3liLbot6/lvoTvvJoke2VudHJ5LnBhdGh9YH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJhYnNvbHV0ZSByaWdodC0xIG9wYWNpdHktMCBncm91cC1ob3ZlcjpvcGFjaXR5LTEwMCB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi0yMDAgcC0xIHJvdW5kZWQtbGcgbmVvLWJ1dHRvbiBob3Zlcjp0ZXh0LWJsdWUtNjAwIGRhcms6aG92ZXI6YmctY3lhbi01MDAvMjAgdGV4dC1ncmF5LTUwMCBkYXJrOmhvdmVyOnRleHQtY3lhbi00MDAgYm9yZGVyLXRyYW5zcGFyZW50IGRhcms6aG92ZXI6Ym9yZGVyLWN5YW4tNTAwLzUwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtjb3BpZWRQYXRoID09PSBlbnRyeS5wYXRoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IDxDaGVjayBjbGFzc05hbWU9XCJoLTMgdy0zIHRleHQtYmx1ZS02MDAgZGFyazp0ZXh0LWN5YW4tNDAwXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogPENvcHkgY2xhc3NOYW1lPVwiaC0zIHctM1wiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICkpXG4gICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L1Njcm9sbEFyZWE+XG4gICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKX1cbiAgICAgIDwvZGl2PlxuXG4gICAgICB7LyogRm9vdGVyICovfVxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMSBib3JkZXItdCBib3JkZXItZ3JheS0yMDAgZGFyazpib3JkZXItc2xhdGUtNzAwLzUwIHAtMiBzaHJpbmstMCBiZy13aGl0ZS81MCBkYXJrOmJnLXNsYXRlLTgwMC8zMFwiPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgb25DbGljaz17KCkgPT4gc2V0VGhlbWUoaXNEYXJrID8gXCJsaWdodFwiIDogXCJkYXJrXCIpfVxuICAgICAgICAgIHRpdGxlPXttb3VudGVkID8gKGlzRGFyayA/IFwi5YiH5o2i5rWF6Imy5qih5byPXCIgOiBcIuWIh+aNoua3seiJsuaooeW8j1wiKSA6IFwi5YiH5o2i5Li76aKYXCJ9XG4gICAgICAgICAgY2xhc3NOYW1lPVwiaC05IHctOSByb3VuZGVkLXhsIG5lby1idXR0b24gaG92ZXI6dGV4dC1ibHVlLTYwMCBkYXJrOmhvdmVyOmJnLWN5YW4tNTAwLzIwIHRleHQtZ3JheS01MDAgZGFyazp0ZXh0LWdyYXktNDAwIGRhcms6aG92ZXI6dGV4dC1jeWFuLTQwMCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciB0cmFuc2l0aW9uLWFsbCBkdXJhdGlvbi0yMDAgaG92ZXI6c2NhbGUtMTEwIGRhcms6Ym9yZGVyLXRyYW5zcGFyZW50IGRhcms6aG92ZXI6Ym9yZGVyLWN5YW4tNTAwLzUwXCJcbiAgICAgICAgICBzdXBwcmVzc0h5ZHJhdGlvbldhcm5pbmdcbiAgICAgICAgPlxuICAgICAgICAgIHttb3VudGVkXG4gICAgICAgICAgICA/IChpc0RhcmsgPyA8U3VuIGNsYXNzTmFtZT1cImgtNCB3LTQgdHJhbnNpdGlvbi10cmFuc2Zvcm0gZHVyYXRpb24tMjAwIGhvdmVyOnJvdGF0ZS0xODBcIiAvPiA6IDxNb29uIGNsYXNzTmFtZT1cImgtNCB3LTQgdHJhbnNpdGlvbi10cmFuc2Zvcm0gZHVyYXRpb24tMjAwIGhvdmVyOnJvdGF0ZS0xMlwiIC8+KVxuICAgICAgICAgICAgOiA8TW9vbiBjbGFzc05hbWU9XCJoLTQgdy00XCIgLz59XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8TGluayBocmVmPXtgLyR7bG9jYWxlID09PSBcInpoXCIgPyBcImVuXCIgOiBcInpoXCJ9JHtwYXRobmFtZS5yZXBsYWNlKC9eXFwvKHpofGVuKS8sIFwiXCIpfWB9PlxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIHRpdGxlPXtsb2NhbGUgPT09IFwiemhcIiA/IFwiU3dpdGNoIHRvIEVuZ2xpc2hcIiA6IFwi5YiH5o2i5Li65Lit5paHXCJ9XG4gICAgICAgICAgICBjbGFzc05hbWU9XCJoLTkgdy05IHJvdW5kZWQteGwgbmVvLWJ1dHRvbiBob3Zlcjp0ZXh0LXB1cnBsZS02MDAgZGFyazpob3ZlcjpiZy1wdXJwbGUtNTAwLzIwIHRleHQtZ3JheS01MDAgZGFyazp0ZXh0LWdyYXktNDAwIGRhcms6aG92ZXI6dGV4dC1wdXJwbGUtNDAwIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTIwMCBob3ZlcjpzY2FsZS0xMTAgZGFyazpib3JkZXItdHJhbnNwYXJlbnQgZGFyazpob3Zlcjpib3JkZXItcHVycGxlLTUwMC81MFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPEdsb2JlIGNsYXNzTmFtZT1cImgtNCB3LTQgdHJhbnNpdGlvbi10cmFuc2Zvcm0gZHVyYXRpb24tMjAwIGhvdmVyOnJvdGF0ZS0xMlwiIC8+XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvTGluaz5cbiAgICAgIDwvZGl2PlxuICAgIDwvYXNpZGU+XG4gICk7XG59XG4iXSwibmFtZXMiOlsidXNlU3RhdGUiLCJ1c2VFZmZlY3QiLCJMaW5rIiwidXNlUGF0aG5hbWUiLCJ1c2VUcmFuc2xhdGlvbnMiLCJ1c2VMb2NhbGUiLCJCb3QiLCJCb29rT3BlbiIsIlNldHRpbmdzIiwiU3VuIiwiTW9vbiIsIkdsb2JlIiwiQ2hldnJvbkRvd24iLCJDaGV2cm9uUmlnaHQiLCJGb2xkZXIiLCJGaWxlIiwiRmlsZVRleHQiLCJGaWxlQ29kZSIsIkZvbGRlck9wZW4iLCJYIiwiQ29weSIsIkNoZWNrIiwiUmVmcmVzaEN3IiwidXNlVGhlbWUiLCJjbiIsIlNjcm9sbEFyZWEiLCJTaWRlYmFyIiwidCIsInBhdGhuYW1lIiwibG9jYWxlIiwicmVzb2x2ZWRUaGVtZSIsInNldFRoZW1lIiwibW91bnRlZCIsInNldE1vdW50ZWQiLCJ3b3Jrc3BhY2VPcGVuIiwic2V0V29ya3NwYWNlT3BlbiIsIndvcmtzcGFjZURhdGEiLCJzZXRXb3Jrc3BhY2VEYXRhIiwid29ya3NwYWNlTG9hZGluZyIsInNldFdvcmtzcGFjZUxvYWRpbmciLCJjdXJyZW50U3ViUGF0aCIsInNldEN1cnJlbnRTdWJQYXRoIiwiY29waWVkUGF0aCIsInNldENvcGllZFBhdGgiLCJpc0RhcmsiLCJhZ2VudElkIiwibWF0Y2giLCJmZXRjaFdvcmtzcGFjZSIsInNob3dMb2FkaW5nIiwidXJsIiwiZW5jb2RlVVJJQ29tcG9uZW50IiwicmVzIiwiZmV0Y2giLCJvayIsImRhdGEiLCJqc29uIiwiaW50ZXJ2YWwiLCJzZXRJbnRlcnZhbCIsImNsZWFySW50ZXJ2YWwiLCJuYXZJdGVtcyIsImdyb3VwIiwiaXRlbXMiLCJocmVmIiwiaWNvbiIsImxhYmVsIiwidG9vbHRpcCIsIkZpbGVJY29uIiwiaXNEaXIiLCJjbGFzc05hbWUiLCJoYW5kbGVFbnRyeUNsaWNrIiwiZW50cnkiLCJyZWxhdGl2ZVBhdGgiLCJoYW5kbGVHb1VwIiwicGFydHMiLCJzcGxpdCIsImZpbHRlciIsIkJvb2xlYW4iLCJwb3AiLCJqb2luIiwiY29weVBhdGgiLCJwYXRoIiwibmF2aWdhdG9yIiwiY2xpcGJvYXJkIiwid3JpdGVUZXh0IiwidGhlbiIsInNldFRpbWVvdXQiLCJhc2lkZSIsImRpdiIsInNwYW4iLCJuYXYiLCJtYXAiLCJwIiwiaXRlbSIsImFjdGl2ZSIsInN0YXJ0c1dpdGgiLCJ0aXRsZSIsIm9uQ2xpY2siLCJidXR0b24iLCJ0eXBlIiwiZSIsInN0b3BQcm9wYWdhdGlvbiIsInIiLCJjYXRjaCIsImZpbmFsbHkiLCJjdXJyZW50RGlzcGxheSIsInNsaWNlIiwiZW50cmllcyIsImxlbmd0aCIsIm5hbWUiLCJzaXplRGlzcGxheSIsInN1cHByZXNzSHlkcmF0aW9uV2FybmluZyIsInJlcGxhY2UiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/components/layout/sidebar.tsx\n");
|
|
326
|
-
|
|
327
|
-
/***/ }),
|
|
328
|
-
|
|
329
|
-
/***/ "(ssr)/./src/components/providers.tsx":
|
|
330
|
-
/*!**************************************!*\
|
|
331
|
-
!*** ./src/components/providers.tsx ***!
|
|
332
|
-
\**************************************/
|
|
333
|
-
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
334
|
-
|
|
335
|
-
"use strict";
|
|
336
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Providers: () => (/* binding */ Providers)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var next_themes__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next-themes */ \"(ssr)/./node_modules/next-themes/dist/index.mjs\");\n/* harmony import */ var _components_ui_toaster__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/components/ui/toaster */ \"(ssr)/./src/components/ui/toaster.tsx\");\n/* __next_internal_client_entry_do_not_use__ Providers auto */ \n\n\n\nfunction Providers({ children }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_themes__WEBPACK_IMPORTED_MODULE_2__.ThemeProvider, {\n attribute: \"class\",\n defaultTheme: \"system\",\n enableSystem: true,\n disableTransitionOnChange: true,\n children: [\n children,\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_toaster__WEBPACK_IMPORTED_MODULE_3__.Toaster, {}, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/providers.tsx\",\n lineNumber: 16,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/providers.tsx\",\n lineNumber: 9,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy9wcm92aWRlcnMudHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBRStCO0FBQ21DO0FBQ2hCO0FBRTNDLFNBQVNJLFVBQVUsRUFBRUMsUUFBUSxFQUFpQztJQUNuRSxxQkFDRSw4REFBQ0gsc0RBQWtCQTtRQUNqQkksV0FBVTtRQUNWQyxjQUFhO1FBQ2JDLFlBQVk7UUFDWkMseUJBQXlCOztZQUV4Qko7MEJBQ0QsOERBQUNGLDJEQUFPQTs7Ozs7Ozs7Ozs7QUFHZCIsInNvdXJjZXMiOlsiL1VzZXJzL2R1YW4vZmlsZXMvcGktd2ViL2RpZ2l0YWwtYWdlbnQtcGxhdGZvcm0vc3JjL2NvbXBvbmVudHMvcHJvdmlkZXJzLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBjbGllbnRcIjtcblxuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBUaGVtZVByb3ZpZGVyIGFzIE5leHRUaGVtZXNQcm92aWRlciB9IGZyb20gXCJuZXh0LXRoZW1lc1wiO1xuaW1wb3J0IHsgVG9hc3RlciB9IGZyb20gXCJAL2NvbXBvbmVudHMvdWkvdG9hc3RlclwiO1xuXG5leHBvcnQgZnVuY3Rpb24gUHJvdmlkZXJzKHsgY2hpbGRyZW4gfTogeyBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlIH0pIHtcbiAgcmV0dXJuIChcbiAgICA8TmV4dFRoZW1lc1Byb3ZpZGVyXG4gICAgICBhdHRyaWJ1dGU9XCJjbGFzc1wiXG4gICAgICBkZWZhdWx0VGhlbWU9XCJzeXN0ZW1cIlxuICAgICAgZW5hYmxlU3lzdGVtXG4gICAgICBkaXNhYmxlVHJhbnNpdGlvbk9uQ2hhbmdlXG4gICAgPlxuICAgICAge2NoaWxkcmVufVxuICAgICAgPFRvYXN0ZXIgLz5cbiAgICA8L05leHRUaGVtZXNQcm92aWRlcj5cbiAgKTtcbn1cbiJdLCJuYW1lcyI6WyJSZWFjdCIsIlRoZW1lUHJvdmlkZXIiLCJOZXh0VGhlbWVzUHJvdmlkZXIiLCJUb2FzdGVyIiwiUHJvdmlkZXJzIiwiY2hpbGRyZW4iLCJhdHRyaWJ1dGUiLCJkZWZhdWx0VGhlbWUiLCJlbmFibGVTeXN0ZW0iLCJkaXNhYmxlVHJhbnNpdGlvbk9uQ2hhbmdlIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/components/providers.tsx\n");
|
|
337
|
-
|
|
338
|
-
/***/ }),
|
|
339
|
-
|
|
340
|
-
/***/ "(ssr)/./src/components/ui/scroll-area.tsx":
|
|
341
|
-
/*!*******************************************!*\
|
|
342
|
-
!*** ./src/components/ui/scroll-area.tsx ***!
|
|
343
|
-
\*******************************************/
|
|
344
|
-
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
345
|
-
|
|
346
|
-
"use strict";
|
|
347
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ScrollArea: () => (/* binding */ ScrollArea),\n/* harmony export */ ScrollBar: () => (/* binding */ ScrollBar)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _radix_ui_react_scroll_area__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @radix-ui/react-scroll-area */ \"(ssr)/./node_modules/@radix-ui/react-scroll-area/dist/index.mjs\");\n/* harmony import */ var _lib_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/lib/utils */ \"(ssr)/./src/lib/utils.ts\");\n/* __next_internal_client_entry_do_not_use__ ScrollArea,ScrollBar auto */ \n\n\n\nconst ScrollArea = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, children, ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_scroll_area__WEBPACK_IMPORTED_MODULE_3__.Root, {\n ref: ref,\n className: (0,_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"relative overflow-hidden\", className),\n ...props,\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_scroll_area__WEBPACK_IMPORTED_MODULE_3__.Viewport, {\n className: \"h-full w-full rounded-[inherit]\",\n children: children\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/ui/scroll-area.tsx\",\n lineNumber: 12,\n columnNumber: 5\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(ScrollBar, {}, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/ui/scroll-area.tsx\",\n lineNumber: 15,\n columnNumber: 5\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_scroll_area__WEBPACK_IMPORTED_MODULE_3__.Corner, {}, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/ui/scroll-area.tsx\",\n lineNumber: 16,\n columnNumber: 5\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/ui/scroll-area.tsx\",\n lineNumber: 11,\n columnNumber: 3\n }, undefined));\nScrollArea.displayName = _radix_ui_react_scroll_area__WEBPACK_IMPORTED_MODULE_3__.Root.displayName;\nconst ScrollBar = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(({ className, orientation = \"vertical\", ...props }, ref)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_scroll_area__WEBPACK_IMPORTED_MODULE_3__.ScrollAreaScrollbar, {\n ref: ref,\n orientation: orientation,\n className: (0,_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"flex touch-none select-none transition-colors\", orientation === \"vertical\" && \"h-full w-2.5 border-l border-l-transparent p-[1px]\", orientation === \"horizontal\" && \"h-2.5 flex-col border-t border-t-transparent p-[1px]\", className),\n ...props,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_radix_ui_react_scroll_area__WEBPACK_IMPORTED_MODULE_3__.ScrollAreaThumb, {\n className: \"relative flex-1 rounded-full bg-border\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/ui/scroll-area.tsx\",\n lineNumber: 36,\n columnNumber: 5\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/ui/scroll-area.tsx\",\n lineNumber: 25,\n columnNumber: 3\n }, undefined));\nScrollBar.displayName = _radix_ui_react_scroll_area__WEBPACK_IMPORTED_MODULE_3__.ScrollAreaScrollbar.displayName;\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy91aS9zY3JvbGwtYXJlYS50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBRStCO0FBQ29DO0FBQ2xDO0FBRWpDLE1BQU1HLDJCQUFhSCw2Q0FBZ0IsQ0FHakMsQ0FBQyxFQUFFSyxTQUFTLEVBQUVDLFFBQVEsRUFBRSxHQUFHQyxPQUFPLEVBQUVDLG9CQUNwQyw4REFBQ1AsNkRBQXdCO1FBQUNPLEtBQUtBO1FBQUtILFdBQVdILDhDQUFFQSxDQUFDLDRCQUE0Qkc7UUFBYSxHQUFHRSxLQUFLOzswQkFDakcsOERBQUNOLGlFQUE0QjtnQkFBQ0ksV0FBVTswQkFDckNDOzs7Ozs7MEJBRUgsOERBQUNLOzs7OzswQkFDRCw4REFBQ1YsK0RBQTBCOzs7Ozs7Ozs7OztBQUcvQkUsV0FBV1UsV0FBVyxHQUFHWiw2REFBd0IsQ0FBQ1ksV0FBVztBQUU3RCxNQUFNRiwwQkFBWVgsNkNBQWdCLENBR2hDLENBQUMsRUFBRUssU0FBUyxFQUFFUyxjQUFjLFVBQVUsRUFBRSxHQUFHUCxPQUFPLEVBQUVDLG9CQUNwRCw4REFBQ1AsNEVBQXVDO1FBQ3RDTyxLQUFLQTtRQUNMTSxhQUFhQTtRQUNiVCxXQUFXSCw4Q0FBRUEsQ0FDWCxpREFDQVksZ0JBQWdCLGNBQWMsc0RBQzlCQSxnQkFBZ0IsZ0JBQWdCLHdEQUNoQ1Q7UUFFRCxHQUFHRSxLQUFLO2tCQUVULDRFQUFDTix3RUFBbUM7WUFBQ0ksV0FBVTs7Ozs7Ozs7Ozs7QUFHbkRNLFVBQVVFLFdBQVcsR0FBR1osNEVBQXVDLENBQUNZLFdBQVc7QUFFMUMiLCJzb3VyY2VzIjpbIi9Vc2Vycy9kdWFuL2ZpbGVzL3BpLXdlYi9kaWdpdGFsLWFnZW50LXBsYXRmb3JtL3NyYy9jb21wb25lbnRzL3VpL3Njcm9sbC1hcmVhLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBjbGllbnRcIjtcblxuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgKiBhcyBTY3JvbGxBcmVhUHJpbWl0aXZlIGZyb20gXCJAcmFkaXgtdWkvcmVhY3Qtc2Nyb2xsLWFyZWFcIjtcbmltcG9ydCB7IGNuIH0gZnJvbSBcIkAvbGliL3V0aWxzXCI7XG5cbmNvbnN0IFNjcm9sbEFyZWEgPSBSZWFjdC5mb3J3YXJkUmVmPFxuICBSZWFjdC5FbGVtZW50UmVmPHR5cGVvZiBTY3JvbGxBcmVhUHJpbWl0aXZlLlJvb3Q+LFxuICBSZWFjdC5Db21wb25lbnRQcm9wc1dpdGhvdXRSZWY8dHlwZW9mIFNjcm9sbEFyZWFQcmltaXRpdmUuUm9vdD5cbj4oKHsgY2xhc3NOYW1lLCBjaGlsZHJlbiwgLi4ucHJvcHMgfSwgcmVmKSA9PiAoXG4gIDxTY3JvbGxBcmVhUHJpbWl0aXZlLlJvb3QgcmVmPXtyZWZ9IGNsYXNzTmFtZT17Y24oXCJyZWxhdGl2ZSBvdmVyZmxvdy1oaWRkZW5cIiwgY2xhc3NOYW1lKX0gey4uLnByb3BzfT5cbiAgICA8U2Nyb2xsQXJlYVByaW1pdGl2ZS5WaWV3cG9ydCBjbGFzc05hbWU9XCJoLWZ1bGwgdy1mdWxsIHJvdW5kZWQtW2luaGVyaXRdXCI+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgPC9TY3JvbGxBcmVhUHJpbWl0aXZlLlZpZXdwb3J0PlxuICAgIDxTY3JvbGxCYXIgLz5cbiAgICA8U2Nyb2xsQXJlYVByaW1pdGl2ZS5Db3JuZXIgLz5cbiAgPC9TY3JvbGxBcmVhUHJpbWl0aXZlLlJvb3Q+XG4pKTtcblNjcm9sbEFyZWEuZGlzcGxheU5hbWUgPSBTY3JvbGxBcmVhUHJpbWl0aXZlLlJvb3QuZGlzcGxheU5hbWU7XG5cbmNvbnN0IFNjcm9sbEJhciA9IFJlYWN0LmZvcndhcmRSZWY8XG4gIFJlYWN0LkVsZW1lbnRSZWY8dHlwZW9mIFNjcm9sbEFyZWFQcmltaXRpdmUuU2Nyb2xsQXJlYVNjcm9sbGJhcj4sXG4gIFJlYWN0LkNvbXBvbmVudFByb3BzV2l0aG91dFJlZjx0eXBlb2YgU2Nyb2xsQXJlYVByaW1pdGl2ZS5TY3JvbGxBcmVhU2Nyb2xsYmFyPlxuPigoeyBjbGFzc05hbWUsIG9yaWVudGF0aW9uID0gXCJ2ZXJ0aWNhbFwiLCAuLi5wcm9wcyB9LCByZWYpID0+IChcbiAgPFNjcm9sbEFyZWFQcmltaXRpdmUuU2Nyb2xsQXJlYVNjcm9sbGJhclxuICAgIHJlZj17cmVmfVxuICAgIG9yaWVudGF0aW9uPXtvcmllbnRhdGlvbn1cbiAgICBjbGFzc05hbWU9e2NuKFxuICAgICAgXCJmbGV4IHRvdWNoLW5vbmUgc2VsZWN0LW5vbmUgdHJhbnNpdGlvbi1jb2xvcnNcIixcbiAgICAgIG9yaWVudGF0aW9uID09PSBcInZlcnRpY2FsXCIgJiYgXCJoLWZ1bGwgdy0yLjUgYm9yZGVyLWwgYm9yZGVyLWwtdHJhbnNwYXJlbnQgcC1bMXB4XVwiLFxuICAgICAgb3JpZW50YXRpb24gPT09IFwiaG9yaXpvbnRhbFwiICYmIFwiaC0yLjUgZmxleC1jb2wgYm9yZGVyLXQgYm9yZGVyLXQtdHJhbnNwYXJlbnQgcC1bMXB4XVwiLFxuICAgICAgY2xhc3NOYW1lXG4gICAgKX1cbiAgICB7Li4ucHJvcHN9XG4gID5cbiAgICA8U2Nyb2xsQXJlYVByaW1pdGl2ZS5TY3JvbGxBcmVhVGh1bWIgY2xhc3NOYW1lPVwicmVsYXRpdmUgZmxleC0xIHJvdW5kZWQtZnVsbCBiZy1ib3JkZXJcIiAvPlxuICA8L1Njcm9sbEFyZWFQcmltaXRpdmUuU2Nyb2xsQXJlYVNjcm9sbGJhcj5cbikpO1xuU2Nyb2xsQmFyLmRpc3BsYXlOYW1lID0gU2Nyb2xsQXJlYVByaW1pdGl2ZS5TY3JvbGxBcmVhU2Nyb2xsYmFyLmRpc3BsYXlOYW1lO1xuXG5leHBvcnQgeyBTY3JvbGxBcmVhLCBTY3JvbGxCYXIgfTtcbiJdLCJuYW1lcyI6WyJSZWFjdCIsIlNjcm9sbEFyZWFQcmltaXRpdmUiLCJjbiIsIlNjcm9sbEFyZWEiLCJmb3J3YXJkUmVmIiwiY2xhc3NOYW1lIiwiY2hpbGRyZW4iLCJwcm9wcyIsInJlZiIsIlJvb3QiLCJWaWV3cG9ydCIsIlNjcm9sbEJhciIsIkNvcm5lciIsImRpc3BsYXlOYW1lIiwib3JpZW50YXRpb24iLCJTY3JvbGxBcmVhU2Nyb2xsYmFyIiwiU2Nyb2xsQXJlYVRodW1iIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/components/ui/scroll-area.tsx\n");
|
|
348
|
-
|
|
349
|
-
/***/ }),
|
|
350
|
-
|
|
351
|
-
/***/ "(ssr)/./src/components/ui/toaster.tsx":
|
|
352
|
-
/*!***************************************!*\
|
|
353
|
-
!*** ./src/components/ui/toaster.tsx ***!
|
|
354
|
-
\***************************************/
|
|
355
|
-
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
356
|
-
|
|
357
|
-
"use strict";
|
|
358
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Toaster: () => (/* binding */ Toaster)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _hooks_use_toast__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/hooks/use-toast */ \"(ssr)/./src/hooks/use-toast.ts\");\n/* harmony import */ var _lib_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/lib/utils */ \"(ssr)/./src/lib/utils.ts\");\n/* harmony import */ var _barrel_optimize_names_AlertCircle_CheckCircle_Info_X_lucide_react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! __barrel_optimize__?names=AlertCircle,CheckCircle,Info,X!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/circle-alert.js\");\n/* harmony import */ var _barrel_optimize_names_AlertCircle_CheckCircle_Info_X_lucide_react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! __barrel_optimize__?names=AlertCircle,CheckCircle,Info,X!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/circle-check-big.js\");\n/* harmony import */ var _barrel_optimize_names_AlertCircle_CheckCircle_Info_X_lucide_react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! __barrel_optimize__?names=AlertCircle,CheckCircle,Info,X!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/info.js\");\n/* harmony import */ var _barrel_optimize_names_AlertCircle_CheckCircle_Info_X_lucide_react__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! __barrel_optimize__?names=AlertCircle,CheckCircle,Info,X!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/x.js\");\n/* __next_internal_client_entry_do_not_use__ Toaster auto */ \n\n\n\nfunction Toaster() {\n const toasts = (0,_hooks_use_toast__WEBPACK_IMPORTED_MODULE_1__.useToastState)();\n if (!toasts.length) return null;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"fixed bottom-4 right-4 z-[100] flex flex-col gap-2 max-w-sm w-full pointer-events-none\",\n children: toasts.map((t)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (0,_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\"pointer-events-auto flex items-start gap-3 rounded-xl border px-4 py-3 shadow-lg\", t.variant === \"destructive\" ? \"bg-red-50 border-red-200 dark:bg-red-900/30 dark:border-red-800\" : t.variant === \"success\" ? \"bg-green-50 border-green-200 dark:bg-green-900/30 dark:border-green-800\" : \"bg-white border-border dark:bg-zinc-800\"),\n children: [\n t.variant === \"destructive\" && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_AlertCircle_CheckCircle_Info_X_lucide_react__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n className: \"h-4 w-4 text-red-500 shrink-0 mt-0.5\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/ui/toaster.tsx\",\n lineNumber: 25,\n columnNumber: 13\n }, this),\n t.variant === \"success\" && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_AlertCircle_CheckCircle_Info_X_lucide_react__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n className: \"h-4 w-4 text-green-500 shrink-0 mt-0.5\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/ui/toaster.tsx\",\n lineNumber: 28,\n columnNumber: 13\n }, this),\n (!t.variant || t.variant === \"default\") && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_AlertCircle_CheckCircle_Info_X_lucide_react__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n className: \"h-4 w-4 text-blue-500 shrink-0 mt-0.5\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/ui/toaster.tsx\",\n lineNumber: 31,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex-1 min-w-0\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-sm font-medium leading-none\",\n children: t.title\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/ui/toaster.tsx\",\n lineNumber: 34,\n columnNumber: 13\n }, this),\n t.description && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-xs text-muted-foreground mt-1\",\n children: t.description\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/ui/toaster.tsx\",\n lineNumber: 36,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/ui/toaster.tsx\",\n lineNumber: 33,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n type: \"button\",\n onClick: ()=>(0,_hooks_use_toast__WEBPACK_IMPORTED_MODULE_1__.dismissToast)(t.id),\n className: \"shrink-0 text-muted-foreground hover:text-foreground transition-colors\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_AlertCircle_CheckCircle_Info_X_lucide_react__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n className: \"h-3.5 w-3.5\"\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/ui/toaster.tsx\",\n lineNumber: 44,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/ui/toaster.tsx\",\n lineNumber: 39,\n columnNumber: 11\n }, this)\n ]\n }, t.id, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/ui/toaster.tsx\",\n lineNumber: 13,\n columnNumber: 9\n }, this))\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/components/ui/toaster.tsx\",\n lineNumber: 11,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvY29tcG9uZW50cy91aS90b2FzdGVyLnRzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQ2dFO0FBQy9CO0FBQ2dDO0FBRTFELFNBQVNPO0lBQ2QsTUFBTUMsU0FBU1IsK0RBQWFBO0lBQzVCLElBQUksQ0FBQ1EsT0FBT0MsTUFBTSxFQUFFLE9BQU87SUFFM0IscUJBQ0UsOERBQUNDO1FBQUlDLFdBQVU7a0JBQ1pILE9BQU9JLEdBQUcsQ0FBQyxDQUFDQyxrQkFDWCw4REFBQ0g7Z0JBRUNDLFdBQVdULDhDQUFFQSxDQUNYLG9GQUNBVyxFQUFFQyxPQUFPLEtBQUssZ0JBQ1Ysb0VBQ0FELEVBQUVDLE9BQU8sS0FBSyxZQUNkLDRFQUNBOztvQkFHTEQsRUFBRUMsT0FBTyxLQUFLLCtCQUNiLDhEQUFDVCwwR0FBV0E7d0JBQUNNLFdBQVU7Ozs7OztvQkFFeEJFLEVBQUVDLE9BQU8sS0FBSywyQkFDYiw4REFBQ1YsMEdBQVdBO3dCQUFDTyxXQUFVOzs7Ozs7b0JBRXZCLEVBQUNFLEVBQUVDLE9BQU8sSUFBSUQsRUFBRUMsT0FBTyxLQUFLLFNBQVEsbUJBQ3BDLDhEQUFDUiwwR0FBSUE7d0JBQUNLLFdBQVU7Ozs7OztrQ0FFbEIsOERBQUNEO3dCQUFJQyxXQUFVOzswQ0FDYiw4REFBQ0k7Z0NBQUVKLFdBQVU7MENBQW9DRSxFQUFFRyxLQUFLOzs7Ozs7NEJBQ3ZESCxFQUFFSSxXQUFXLGtCQUNaLDhEQUFDRjtnQ0FBRUosV0FBVTswQ0FBc0NFLEVBQUVJLFdBQVc7Ozs7Ozs7Ozs7OztrQ0FHcEUsOERBQUNDO3dCQUNDQyxNQUFLO3dCQUNMQyxTQUFTLElBQU1uQiw4REFBWUEsQ0FBQ1ksRUFBRVEsRUFBRTt3QkFDaENWLFdBQVU7a0NBRVYsNEVBQUNSLDBHQUFDQTs0QkFBQ1EsV0FBVTs7Ozs7Ozs7Ozs7O2VBOUJWRSxFQUFFUSxFQUFFOzs7Ozs7Ozs7O0FBb0NuQiIsInNvdXJjZXMiOlsiL1VzZXJzL2R1YW4vZmlsZXMvcGktd2ViL2RpZ2l0YWwtYWdlbnQtcGxhdGZvcm0vc3JjL2NvbXBvbmVudHMvdWkvdG9hc3Rlci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2UgY2xpZW50XCI7XG5pbXBvcnQgeyB1c2VUb2FzdFN0YXRlLCBkaXNtaXNzVG9hc3QgfSBmcm9tIFwiQC9ob29rcy91c2UtdG9hc3RcIjtcbmltcG9ydCB7IGNuIH0gZnJvbSBcIkAvbGliL3V0aWxzXCI7XG5pbXBvcnQgeyBYLCBDaGVja0NpcmNsZSwgQWxlcnRDaXJjbGUsIEluZm8gfSBmcm9tIFwibHVjaWRlLXJlYWN0XCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBUb2FzdGVyKCkge1xuICBjb25zdCB0b2FzdHMgPSB1c2VUb2FzdFN0YXRlKCk7XG4gIGlmICghdG9hc3RzLmxlbmd0aCkgcmV0dXJuIG51bGw7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImZpeGVkIGJvdHRvbS00IHJpZ2h0LTQgei1bMTAwXSBmbGV4IGZsZXgtY29sIGdhcC0yIG1heC13LXNtIHctZnVsbCBwb2ludGVyLWV2ZW50cy1ub25lXCI+XG4gICAgICB7dG9hc3RzLm1hcCgodCkgPT4gKFxuICAgICAgICA8ZGl2XG4gICAgICAgICAga2V5PXt0LmlkfVxuICAgICAgICAgIGNsYXNzTmFtZT17Y24oXG4gICAgICAgICAgICBcInBvaW50ZXItZXZlbnRzLWF1dG8gZmxleCBpdGVtcy1zdGFydCBnYXAtMyByb3VuZGVkLXhsIGJvcmRlciBweC00IHB5LTMgc2hhZG93LWxnXCIsXG4gICAgICAgICAgICB0LnZhcmlhbnQgPT09IFwiZGVzdHJ1Y3RpdmVcIlxuICAgICAgICAgICAgICA/IFwiYmctcmVkLTUwIGJvcmRlci1yZWQtMjAwIGRhcms6YmctcmVkLTkwMC8zMCBkYXJrOmJvcmRlci1yZWQtODAwXCJcbiAgICAgICAgICAgICAgOiB0LnZhcmlhbnQgPT09IFwic3VjY2Vzc1wiXG4gICAgICAgICAgICAgID8gXCJiZy1ncmVlbi01MCBib3JkZXItZ3JlZW4tMjAwIGRhcms6YmctZ3JlZW4tOTAwLzMwIGRhcms6Ym9yZGVyLWdyZWVuLTgwMFwiXG4gICAgICAgICAgICAgIDogXCJiZy13aGl0ZSBib3JkZXItYm9yZGVyIGRhcms6YmctemluYy04MDBcIixcbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAge3QudmFyaWFudCA9PT0gXCJkZXN0cnVjdGl2ZVwiICYmIChcbiAgICAgICAgICAgIDxBbGVydENpcmNsZSBjbGFzc05hbWU9XCJoLTQgdy00IHRleHQtcmVkLTUwMCBzaHJpbmstMCBtdC0wLjVcIiAvPlxuICAgICAgICAgICl9XG4gICAgICAgICAge3QudmFyaWFudCA9PT0gXCJzdWNjZXNzXCIgJiYgKFxuICAgICAgICAgICAgPENoZWNrQ2lyY2xlIGNsYXNzTmFtZT1cImgtNCB3LTQgdGV4dC1ncmVlbi01MDAgc2hyaW5rLTAgbXQtMC41XCIgLz5cbiAgICAgICAgICApfVxuICAgICAgICAgIHsoIXQudmFyaWFudCB8fCB0LnZhcmlhbnQgPT09IFwiZGVmYXVsdFwiKSAmJiAoXG4gICAgICAgICAgICA8SW5mbyBjbGFzc05hbWU9XCJoLTQgdy00IHRleHQtYmx1ZS01MDAgc2hyaW5rLTAgbXQtMC41XCIgLz5cbiAgICAgICAgICApfVxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleC0xIG1pbi13LTBcIj5cbiAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQtc20gZm9udC1tZWRpdW0gbGVhZGluZy1ub25lXCI+e3QudGl0bGV9PC9wPlxuICAgICAgICAgICAge3QuZGVzY3JpcHRpb24gJiYgKFxuICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJ0ZXh0LXhzIHRleHQtbXV0ZWQtZm9yZWdyb3VuZCBtdC0xXCI+e3QuZGVzY3JpcHRpb259PC9wPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGRpc21pc3NUb2FzdCh0LmlkKX1cbiAgICAgICAgICAgIGNsYXNzTmFtZT1cInNocmluay0wIHRleHQtbXV0ZWQtZm9yZWdyb3VuZCBob3Zlcjp0ZXh0LWZvcmVncm91bmQgdHJhbnNpdGlvbi1jb2xvcnNcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxYIGNsYXNzTmFtZT1cImgtMy41IHctMy41XCIgLz5cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICApKX1cbiAgICA8L2Rpdj5cbiAgKTtcbn1cbiJdLCJuYW1lcyI6WyJ1c2VUb2FzdFN0YXRlIiwiZGlzbWlzc1RvYXN0IiwiY24iLCJYIiwiQ2hlY2tDaXJjbGUiLCJBbGVydENpcmNsZSIsIkluZm8iLCJUb2FzdGVyIiwidG9hc3RzIiwibGVuZ3RoIiwiZGl2IiwiY2xhc3NOYW1lIiwibWFwIiwidCIsInZhcmlhbnQiLCJwIiwidGl0bGUiLCJkZXNjcmlwdGlvbiIsImJ1dHRvbiIsInR5cGUiLCJvbkNsaWNrIiwiaWQiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./src/components/ui/toaster.tsx\n");
|
|
359
|
-
|
|
360
|
-
/***/ }),
|
|
361
|
-
|
|
362
|
-
/***/ "(ssr)/./src/hooks/use-toast.ts":
|
|
363
|
-
/*!********************************!*\
|
|
364
|
-
!*** ./src/hooks/use-toast.ts ***!
|
|
365
|
-
\********************************/
|
|
366
|
-
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
367
|
-
|
|
368
|
-
"use strict";
|
|
369
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ dismissToast: () => (/* binding */ dismissToast),\n/* harmony export */ toast: () => (/* binding */ toast),\n/* harmony export */ useToastState: () => (/* binding */ useToastState)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* __next_internal_client_entry_do_not_use__ toast,dismissToast,useToastState auto */ \n// Module-level store — callable outside React components\nlet _listeners = [];\nlet _toasts = [];\nconst DURATION = 4000;\nfunction _notify(next) {\n _toasts = next;\n _listeners.forEach((fn)=>fn(_toasts));\n}\nfunction toast(props) {\n const id = Math.random().toString(36).slice(2);\n _notify([\n ..._toasts,\n {\n ...props,\n id\n }\n ]);\n setTimeout(()=>_notify(_toasts.filter((t)=>t.id !== id)), DURATION);\n return id;\n}\nfunction dismissToast(id) {\n _notify(_toasts.filter((t)=>t.id !== id));\n}\nfunction useToastState() {\n const [toasts, setToasts] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(_toasts);\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)({\n \"useToastState.useEffect\": ()=>{\n _listeners.push(setToasts);\n return ({\n \"useToastState.useEffect\": ()=>{\n _listeners = _listeners.filter({\n \"useToastState.useEffect\": (fn)=>fn !== setToasts\n }[\"useToastState.useEffect\"]);\n }\n })[\"useToastState.useEffect\"];\n }\n }[\"useToastState.useEffect\"], []);\n return toasts;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvaG9va3MvdXNlLXRvYXN0LnRzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7O3NGQUM0QztBQVc1Qyx5REFBeUQ7QUFDekQsSUFBSUUsYUFBMEMsRUFBRTtBQUNoRCxJQUFJQyxVQUFtQixFQUFFO0FBQ3pCLE1BQU1DLFdBQVc7QUFFakIsU0FBU0MsUUFBUUMsSUFBYTtJQUM1QkgsVUFBVUc7SUFDVkosV0FBV0ssT0FBTyxDQUFDLENBQUNDLEtBQU9BLEdBQUdMO0FBQ2hDO0FBRU8sU0FBU00sTUFBTUMsS0FBd0I7SUFDNUMsTUFBTUMsS0FBS0MsS0FBS0MsTUFBTSxHQUFHQyxRQUFRLENBQUMsSUFBSUMsS0FBSyxDQUFDO0lBQzVDVixRQUFRO1dBQUlGO1FBQVM7WUFBRSxHQUFHTyxLQUFLO1lBQUVDO1FBQUc7S0FBRTtJQUN0Q0ssV0FBVyxJQUFNWCxRQUFRRixRQUFRYyxNQUFNLENBQUMsQ0FBQ0MsSUFBTUEsRUFBRVAsRUFBRSxLQUFLQSxNQUFNUDtJQUM5RCxPQUFPTztBQUNUO0FBRU8sU0FBU1EsYUFBYVIsRUFBVTtJQUNyQ04sUUFBUUYsUUFBUWMsTUFBTSxDQUFDLENBQUNDLElBQU1BLEVBQUVQLEVBQUUsS0FBS0E7QUFDekM7QUFFTyxTQUFTUztJQUNkLE1BQU0sQ0FBQ0MsUUFBUUMsVUFBVSxHQUFHdEIsK0NBQVFBLENBQVVHO0lBQzlDRixnREFBU0E7bUNBQUM7WUFDUkMsV0FBV3FCLElBQUksQ0FBQ0Q7WUFDaEI7MkNBQU87b0JBQ0xwQixhQUFhQSxXQUFXZSxNQUFNO21EQUFDLENBQUNULEtBQU9BLE9BQU9jOztnQkFDaEQ7O1FBQ0Y7a0NBQUcsRUFBRTtJQUNMLE9BQU9EO0FBQ1QiLCJzb3VyY2VzIjpbIi9Vc2Vycy9kdWFuL2ZpbGVzL3BpLXdlYi9kaWdpdGFsLWFnZW50LXBsYXRmb3JtL3NyYy9ob29rcy91c2UtdG9hc3QudHMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2UgY2xpZW50XCI7XG5pbXBvcnQgeyB1c2VTdGF0ZSwgdXNlRWZmZWN0IH0gZnJvbSBcInJlYWN0XCI7XG5cbmV4cG9ydCB0eXBlIFRvYXN0VmFyaWFudCA9IFwiZGVmYXVsdFwiIHwgXCJkZXN0cnVjdGl2ZVwiIHwgXCJzdWNjZXNzXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVG9hc3Qge1xuICBpZDogc3RyaW5nO1xuICB0aXRsZTogc3RyaW5nO1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgdmFyaWFudD86IFRvYXN0VmFyaWFudDtcbn1cblxuLy8gTW9kdWxlLWxldmVsIHN0b3JlIOKAlCBjYWxsYWJsZSBvdXRzaWRlIFJlYWN0IGNvbXBvbmVudHNcbmxldCBfbGlzdGVuZXJzOiBBcnJheTwodDogVG9hc3RbXSkgPT4gdm9pZD4gPSBbXTtcbmxldCBfdG9hc3RzOiBUb2FzdFtdID0gW107XG5jb25zdCBEVVJBVElPTiA9IDQwMDA7XG5cbmZ1bmN0aW9uIF9ub3RpZnkobmV4dDogVG9hc3RbXSkge1xuICBfdG9hc3RzID0gbmV4dDtcbiAgX2xpc3RlbmVycy5mb3JFYWNoKChmbikgPT4gZm4oX3RvYXN0cykpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdG9hc3QocHJvcHM6IE9taXQ8VG9hc3QsIFwiaWRcIj4pIHtcbiAgY29uc3QgaWQgPSBNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zbGljZSgyKTtcbiAgX25vdGlmeShbLi4uX3RvYXN0cywgeyAuLi5wcm9wcywgaWQgfV0pO1xuICBzZXRUaW1lb3V0KCgpID0+IF9ub3RpZnkoX3RvYXN0cy5maWx0ZXIoKHQpID0+IHQuaWQgIT09IGlkKSksIERVUkFUSU9OKTtcbiAgcmV0dXJuIGlkO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZGlzbWlzc1RvYXN0KGlkOiBzdHJpbmcpIHtcbiAgX25vdGlmeShfdG9hc3RzLmZpbHRlcigodCkgPT4gdC5pZCAhPT0gaWQpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVzZVRvYXN0U3RhdGUoKSB7XG4gIGNvbnN0IFt0b2FzdHMsIHNldFRvYXN0c10gPSB1c2VTdGF0ZTxUb2FzdFtdPihfdG9hc3RzKTtcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBfbGlzdGVuZXJzLnB1c2goc2V0VG9hc3RzKTtcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgX2xpc3RlbmVycyA9IF9saXN0ZW5lcnMuZmlsdGVyKChmbikgPT4gZm4gIT09IHNldFRvYXN0cyk7XG4gICAgfTtcbiAgfSwgW10pO1xuICByZXR1cm4gdG9hc3RzO1xufVxuIl0sIm5hbWVzIjpbInVzZVN0YXRlIiwidXNlRWZmZWN0IiwiX2xpc3RlbmVycyIsIl90b2FzdHMiLCJEVVJBVElPTiIsIl9ub3RpZnkiLCJuZXh0IiwiZm9yRWFjaCIsImZuIiwidG9hc3QiLCJwcm9wcyIsImlkIiwiTWF0aCIsInJhbmRvbSIsInRvU3RyaW5nIiwic2xpY2UiLCJzZXRUaW1lb3V0IiwiZmlsdGVyIiwidCIsImRpc21pc3NUb2FzdCIsInVzZVRvYXN0U3RhdGUiLCJ0b2FzdHMiLCJzZXRUb2FzdHMiLCJwdXNoIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/hooks/use-toast.ts\n");
|
|
370
|
-
|
|
371
|
-
/***/ }),
|
|
372
|
-
|
|
373
|
-
/***/ "(ssr)/./src/lib/utils.ts":
|
|
374
|
-
/*!**************************!*\
|
|
375
|
-
!*** ./src/lib/utils.ts ***!
|
|
376
|
-
\**************************/
|
|
377
|
-
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
378
|
-
|
|
379
|
-
"use strict";
|
|
380
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ cn: () => (/* binding */ cn)\n/* harmony export */ });\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! clsx */ \"(ssr)/./node_modules/clsx/dist/clsx.mjs\");\n/* harmony import */ var tailwind_merge__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! tailwind-merge */ \"(ssr)/./node_modules/tailwind-merge/dist/bundle-mjs.mjs\");\n\n\nfunction cn(...inputs) {\n return (0,tailwind_merge__WEBPACK_IMPORTED_MODULE_1__.twMerge)((0,clsx__WEBPACK_IMPORTED_MODULE_0__.clsx)(inputs));\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9zcmMvbGliL3V0aWxzLnRzIiwibWFwcGluZ3MiOiI7Ozs7OztBQUE2QztBQUNKO0FBRWxDLFNBQVNFLEdBQUcsR0FBR0MsTUFBb0I7SUFDeEMsT0FBT0YsdURBQU9BLENBQUNELDBDQUFJQSxDQUFDRztBQUN0QiIsInNvdXJjZXMiOlsiL1VzZXJzL2R1YW4vZmlsZXMvcGktd2ViL2RpZ2l0YWwtYWdlbnQtcGxhdGZvcm0vc3JjL2xpYi91dGlscy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0eXBlIENsYXNzVmFsdWUsIGNsc3ggfSBmcm9tIFwiY2xzeFwiO1xuaW1wb3J0IHsgdHdNZXJnZSB9IGZyb20gXCJ0YWlsd2luZC1tZXJnZVwiO1xuXG5leHBvcnQgZnVuY3Rpb24gY24oLi4uaW5wdXRzOiBDbGFzc1ZhbHVlW10pIHtcbiAgcmV0dXJuIHR3TWVyZ2UoY2xzeChpbnB1dHMpKTtcbn1cbiJdLCJuYW1lcyI6WyJjbHN4IiwidHdNZXJnZSIsImNuIiwiaW5wdXRzIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./src/lib/utils.ts\n");
|
|
381
|
-
|
|
382
|
-
/***/ }),
|
|
383
|
-
|
|
384
|
-
/***/ "(rsc)/./src/app/globals.css":
|
|
385
|
-
/*!*****************************!*\
|
|
386
|
-
!*** ./src/app/globals.css ***!
|
|
387
|
-
\*****************************/
|
|
388
|
-
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
389
|
-
|
|
390
|
-
"use strict";
|
|
391
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (\"8e7e8aae9827\");\nif (false) {}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvYXBwL2dsb2JhbHMuY3NzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQSxpRUFBZSxjQUFjO0FBQzdCLElBQUksS0FBVSxFQUFFLEVBQXVCIiwic291cmNlcyI6WyIvVXNlcnMvZHVhbi9maWxlcy9waS13ZWIvZGlnaXRhbC1hZ2VudC1wbGF0Zm9ybS9zcmMvYXBwL2dsb2JhbHMuY3NzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IFwiOGU3ZThhYWU5ODI3XCJcbmlmIChtb2R1bGUuaG90KSB7IG1vZHVsZS5ob3QuYWNjZXB0KCkgfVxuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./src/app/globals.css\n");
|
|
392
|
-
|
|
393
|
-
/***/ }),
|
|
394
|
-
|
|
395
|
-
/***/ "(rsc)/./src/app/[locale]/agents/[id]/chat/page.tsx":
|
|
396
|
-
/*!****************************************************!*\
|
|
397
|
-
!*** ./src/app/[locale]/agents/[id]/chat/page.tsx ***!
|
|
398
|
-
\****************************************************/
|
|
399
|
-
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
400
|
-
|
|
401
|
-
"use strict";
|
|
402
|
-
__webpack_require__.r(__webpack_exports__);
|
|
403
|
-
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
404
|
-
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
405
|
-
/* harmony export */ });
|
|
406
|
-
/* harmony import */ var react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-server-dom-webpack/server.edge */ "(rsc)/./node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-webpack-server-edge.js");
|
|
407
|
-
/* harmony import */ var react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__);
|
|
408
|
-
|
|
409
|
-
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__.registerClientReference)(
|
|
410
|
-
function() { throw new Error("Attempted to call the default export of \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component."); },
|
|
411
|
-
"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx",
|
|
412
|
-
"default",
|
|
413
|
-
));
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
/***/ }),
|
|
417
|
-
|
|
418
|
-
/***/ "(rsc)/./src/app/[locale]/layout.tsx":
|
|
419
|
-
/*!*************************************!*\
|
|
420
|
-
!*** ./src/app/[locale]/layout.tsx ***!
|
|
421
|
-
\*************************************/
|
|
422
|
-
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
423
|
-
|
|
424
|
-
"use strict";
|
|
425
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ LocaleLayout),\n/* harmony export */ metadata: () => (/* binding */ metadata)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(rsc)/./node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_font_google_target_css_path_src_app_locale_layout_tsx_import_Inter_arguments_subsets_latin_variableName_inter___WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! next/font/google/target.css?{\"path\":\"src/app/[locale]/layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\"]}],\"variableName\":\"inter\"} */ \"(rsc)/./node_modules/next/font/google/target.css?{\\\"path\\\":\\\"src/app/[locale]/layout.tsx\\\",\\\"import\\\":\\\"Inter\\\",\\\"arguments\\\":[{\\\"subsets\\\":[\\\"latin\\\"]}],\\\"variableName\\\":\\\"inter\\\"}\");\n/* harmony import */ var next_font_google_target_css_path_src_app_locale_layout_tsx_import_Inter_arguments_subsets_latin_variableName_inter___WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(next_font_google_target_css_path_src_app_locale_layout_tsx_import_Inter_arguments_subsets_latin_variableName_inter___WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var next_intl__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! next-intl */ \"(rsc)/./node_modules/next-intl/dist/esm/react-server/NextIntlClientProviderServer.js\");\n/* harmony import */ var next_intl_server__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! next-intl/server */ \"(rsc)/./node_modules/next-intl/dist/esm/server/react-server/getMessages.js\");\n/* harmony import */ var next_navigation__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! next/navigation */ \"(rsc)/./node_modules/next/dist/api/navigation.react-server.js\");\n/* harmony import */ var _i18n_routing__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/i18n/routing */ \"(rsc)/./src/i18n/routing.ts\");\n/* harmony import */ var _components_providers__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/components/providers */ \"(rsc)/./src/components/providers.tsx\");\n/* harmony import */ var _components_layout_sidebar__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/components/layout/sidebar */ \"(rsc)/./src/components/layout/sidebar.tsx\");\n/* harmony import */ var _app_globals_css__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/app/globals.css */ \"(rsc)/./src/app/globals.css\");\n\n\n\n\n\n\n\n\n\nconst metadata = {\n title: \"Digital Agent Platform\",\n description: \"Configure and chat with your AI digital agents\"\n};\nasync function LocaleLayout({ children, params }) {\n const { locale } = await params;\n if (!_i18n_routing__WEBPACK_IMPORTED_MODULE_2__.routing.locales.includes(locale)) (0,next_navigation__WEBPACK_IMPORTED_MODULE_1__.notFound)();\n const messages = await (0,next_intl_server__WEBPACK_IMPORTED_MODULE_6__[\"default\"])();\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"html\", {\n lang: locale,\n suppressHydrationWarning: true,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"body\", {\n className: (next_font_google_target_css_path_src_app_locale_layout_tsx_import_Inter_arguments_subsets_latin_variableName_inter___WEBPACK_IMPORTED_MODULE_7___default().className),\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_providers__WEBPACK_IMPORTED_MODULE_3__.Providers, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_intl__WEBPACK_IMPORTED_MODULE_8__[\"default\"], {\n messages: messages,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex h-screen overflow-hidden\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_layout_sidebar__WEBPACK_IMPORTED_MODULE_4__.Sidebar, {}, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/layout.tsx\",\n lineNumber: 36,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"main\", {\n className: \"flex-1 overflow-auto\",\n children: children\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/layout.tsx\",\n lineNumber: 37,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/layout.tsx\",\n lineNumber: 35,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/layout.tsx\",\n lineNumber: 34,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/layout.tsx\",\n lineNumber: 33,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/layout.tsx\",\n lineNumber: 32,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/layout.tsx\",\n lineNumber: 31,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvYXBwL1tsb2NhbGVdL2xheW91dC50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFVTUE7QUFSNkM7QUFDSjtBQUNKO0FBQ0Y7QUFDVTtBQUNHO0FBQzNCO0FBSXBCLE1BQU1PLFdBQXFCO0lBQ2hDQyxPQUFPO0lBQ1BDLGFBQWE7QUFDZixFQUFFO0FBRWEsZUFBZUMsYUFBYSxFQUN6Q0MsUUFBUSxFQUNSQyxNQUFNLEVBSVA7SUFDQyxNQUFNLEVBQUVDLE1BQU0sRUFBRSxHQUFHLE1BQU1EO0lBQ3pCLElBQUksQ0FBQ1Isa0RBQU9BLENBQUNVLE9BQU8sQ0FBQ0MsUUFBUSxDQUFDRixTQUF3QlYseURBQVFBO0lBRTlELE1BQU1hLFdBQVcsTUFBTWQsNERBQVdBO0lBRWxDLHFCQUNFLDhEQUFDZTtRQUFLQyxNQUFNTDtRQUFRTSx3QkFBd0I7a0JBQzFDLDRFQUFDQztZQUFLQyxXQUFXckIsc0tBQWU7c0JBQzlCLDRFQUFDSyw0REFBU0E7MEJBQ1IsNEVBQUNKLGlEQUFzQkE7b0JBQUNlLFVBQVVBOzhCQUNoQyw0RUFBQ007d0JBQUlELFdBQVU7OzBDQUNiLDhEQUFDZiwrREFBT0E7Ozs7OzBDQUNSLDhEQUFDaUI7Z0NBQUtGLFdBQVU7MENBQ2JWOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVFqQiIsInNvdXJjZXMiOlsiL1VzZXJzL2R1YW4vZmlsZXMvcGktd2ViL2RpZ2l0YWwtYWdlbnQtcGxhdGZvcm0vc3JjL2FwcC9bbG9jYWxlXS9sYXlvdXQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTWV0YWRhdGEgfSBmcm9tIFwibmV4dFwiO1xuaW1wb3J0IHsgSW50ZXIgfSBmcm9tIFwibmV4dC9mb250L2dvb2dsZVwiO1xuaW1wb3J0IHsgTmV4dEludGxDbGllbnRQcm92aWRlciB9IGZyb20gXCJuZXh0LWludGxcIjtcbmltcG9ydCB7IGdldE1lc3NhZ2VzIH0gZnJvbSBcIm5leHQtaW50bC9zZXJ2ZXJcIjtcbmltcG9ydCB7IG5vdEZvdW5kIH0gZnJvbSBcIm5leHQvbmF2aWdhdGlvblwiO1xuaW1wb3J0IHsgcm91dGluZyB9IGZyb20gXCJAL2kxOG4vcm91dGluZ1wiO1xuaW1wb3J0IHsgUHJvdmlkZXJzIH0gZnJvbSBcIkAvY29tcG9uZW50cy9wcm92aWRlcnNcIjtcbmltcG9ydCB7IFNpZGViYXIgfSBmcm9tIFwiQC9jb21wb25lbnRzL2xheW91dC9zaWRlYmFyXCI7XG5pbXBvcnQgXCJAL2FwcC9nbG9iYWxzLmNzc1wiO1xuXG5jb25zdCBpbnRlciA9IEludGVyKHsgc3Vic2V0czogW1wibGF0aW5cIl0gfSk7XG5cbmV4cG9ydCBjb25zdCBtZXRhZGF0YTogTWV0YWRhdGEgPSB7XG4gIHRpdGxlOiBcIkRpZ2l0YWwgQWdlbnQgUGxhdGZvcm1cIixcbiAgZGVzY3JpcHRpb246IFwiQ29uZmlndXJlIGFuZCBjaGF0IHdpdGggeW91ciBBSSBkaWdpdGFsIGFnZW50c1wiLFxufTtcblxuZXhwb3J0IGRlZmF1bHQgYXN5bmMgZnVuY3Rpb24gTG9jYWxlTGF5b3V0KHtcbiAgY2hpbGRyZW4sXG4gIHBhcmFtcyxcbn06IHtcbiAgY2hpbGRyZW46IFJlYWN0LlJlYWN0Tm9kZTtcbiAgcGFyYW1zOiBQcm9taXNlPHsgbG9jYWxlOiBzdHJpbmcgfT47XG59KSB7XG4gIGNvbnN0IHsgbG9jYWxlIH0gPSBhd2FpdCBwYXJhbXM7XG4gIGlmICghcm91dGluZy5sb2NhbGVzLmluY2x1ZGVzKGxvY2FsZSBhcyBcInpoXCIgfCBcImVuXCIpKSBub3RGb3VuZCgpO1xuXG4gIGNvbnN0IG1lc3NhZ2VzID0gYXdhaXQgZ2V0TWVzc2FnZXMoKTtcblxuICByZXR1cm4gKFxuICAgIDxodG1sIGxhbmc9e2xvY2FsZX0gc3VwcHJlc3NIeWRyYXRpb25XYXJuaW5nPlxuICAgICAgPGJvZHkgY2xhc3NOYW1lPXtpbnRlci5jbGFzc05hbWV9PlxuICAgICAgICA8UHJvdmlkZXJzPlxuICAgICAgICAgIDxOZXh0SW50bENsaWVudFByb3ZpZGVyIG1lc3NhZ2VzPXttZXNzYWdlc30+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaC1zY3JlZW4gb3ZlcmZsb3ctaGlkZGVuXCI+XG4gICAgICAgICAgICAgIDxTaWRlYmFyIC8+XG4gICAgICAgICAgICAgIDxtYWluIGNsYXNzTmFtZT1cImZsZXgtMSBvdmVyZmxvdy1hdXRvXCI+XG4gICAgICAgICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICAgICAgICA8L21haW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L05leHRJbnRsQ2xpZW50UHJvdmlkZXI+XG4gICAgICAgIDwvUHJvdmlkZXJzPlxuICAgICAgPC9ib2R5PlxuICAgIDwvaHRtbD5cbiAgKTtcbn1cbiJdLCJuYW1lcyI6WyJpbnRlciIsIk5leHRJbnRsQ2xpZW50UHJvdmlkZXIiLCJnZXRNZXNzYWdlcyIsIm5vdEZvdW5kIiwicm91dGluZyIsIlByb3ZpZGVycyIsIlNpZGViYXIiLCJtZXRhZGF0YSIsInRpdGxlIiwiZGVzY3JpcHRpb24iLCJMb2NhbGVMYXlvdXQiLCJjaGlsZHJlbiIsInBhcmFtcyIsImxvY2FsZSIsImxvY2FsZXMiLCJpbmNsdWRlcyIsIm1lc3NhZ2VzIiwiaHRtbCIsImxhbmciLCJzdXBwcmVzc0h5ZHJhdGlvbldhcm5pbmciLCJib2R5IiwiY2xhc3NOYW1lIiwiZGl2IiwibWFpbiJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./src/app/[locale]/layout.tsx\n");
|
|
426
|
-
|
|
427
|
-
/***/ }),
|
|
428
|
-
|
|
429
|
-
/***/ "(rsc)/./src/app/layout.tsx":
|
|
430
|
-
/*!****************************!*\
|
|
431
|
-
!*** ./src/app/layout.tsx ***!
|
|
432
|
-
\****************************/
|
|
433
|
-
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
434
|
-
|
|
435
|
-
"use strict";
|
|
436
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ RootLayout),\n/* harmony export */ metadata: () => (/* binding */ metadata)\n/* harmony export */ });\n/* harmony import */ var _app_globals_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @/app/globals.css */ \"(rsc)/./src/app/globals.css\");\n\nconst metadata = {\n title: \"Digital Agent Platform\",\n description: \"Configure and chat with your AI digital agents\"\n};\n// Minimal root layout required by Next.js App Router.\n// Locale-specific layout (with Providers, Sidebar, etc.) lives in [locale]/layout.tsx.\nfunction RootLayout({ children }) {\n return children;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvYXBwL2xheW91dC50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQzJCO0FBRXBCLE1BQU1BLFdBQXFCO0lBQ2hDQyxPQUFPO0lBQ1BDLGFBQWE7QUFDZixFQUFFO0FBRUYsc0RBQXNEO0FBQ3RELHVGQUF1RjtBQUN4RSxTQUFTQyxXQUFXLEVBQUVDLFFBQVEsRUFBaUM7SUFDNUUsT0FBT0E7QUFDVCIsInNvdXJjZXMiOlsiL1VzZXJzL2R1YW4vZmlsZXMvcGktd2ViL2RpZ2l0YWwtYWdlbnQtcGxhdGZvcm0vc3JjL2FwcC9sYXlvdXQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTWV0YWRhdGEgfSBmcm9tIFwibmV4dFwiO1xuaW1wb3J0IFwiQC9hcHAvZ2xvYmFscy5jc3NcIjtcblxuZXhwb3J0IGNvbnN0IG1ldGFkYXRhOiBNZXRhZGF0YSA9IHtcbiAgdGl0bGU6IFwiRGlnaXRhbCBBZ2VudCBQbGF0Zm9ybVwiLFxuICBkZXNjcmlwdGlvbjogXCJDb25maWd1cmUgYW5kIGNoYXQgd2l0aCB5b3VyIEFJIGRpZ2l0YWwgYWdlbnRzXCIsXG59O1xuXG4vLyBNaW5pbWFsIHJvb3QgbGF5b3V0IHJlcXVpcmVkIGJ5IE5leHQuanMgQXBwIFJvdXRlci5cbi8vIExvY2FsZS1zcGVjaWZpYyBsYXlvdXQgKHdpdGggUHJvdmlkZXJzLCBTaWRlYmFyLCBldGMuKSBsaXZlcyBpbiBbbG9jYWxlXS9sYXlvdXQudHN4LlxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gUm9vdExheW91dCh7IGNoaWxkcmVuIH06IHsgY2hpbGRyZW46IFJlYWN0LlJlYWN0Tm9kZSB9KSB7XG4gIHJldHVybiBjaGlsZHJlbjtcbn1cbiJdLCJuYW1lcyI6WyJtZXRhZGF0YSIsInRpdGxlIiwiZGVzY3JpcHRpb24iLCJSb290TGF5b3V0IiwiY2hpbGRyZW4iXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./src/app/layout.tsx\n");
|
|
437
|
-
|
|
438
|
-
/***/ }),
|
|
439
|
-
|
|
440
|
-
/***/ "(rsc)/./src/components/layout/sidebar.tsx":
|
|
441
|
-
/*!*******************************************!*\
|
|
442
|
-
!*** ./src/components/layout/sidebar.tsx ***!
|
|
443
|
-
\*******************************************/
|
|
444
|
-
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
445
|
-
|
|
446
|
-
"use strict";
|
|
447
|
-
__webpack_require__.r(__webpack_exports__);
|
|
448
|
-
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
449
|
-
/* harmony export */ Sidebar: () => (/* binding */ Sidebar)
|
|
450
|
-
/* harmony export */ });
|
|
451
|
-
/* harmony import */ var react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-server-dom-webpack/server.edge */ "(rsc)/./node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-webpack-server-edge.js");
|
|
452
|
-
/* harmony import */ var react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__);
|
|
453
|
-
|
|
454
|
-
const Sidebar = (0,react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__.registerClientReference)(
|
|
455
|
-
function() { throw new Error("Attempted to call Sidebar() from the server but Sidebar is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component."); },
|
|
456
|
-
"/Users/duan/files/pi-web/digital-agent-platform/src/components/layout/sidebar.tsx",
|
|
457
|
-
"Sidebar",
|
|
458
|
-
);
|
|
459
|
-
|
|
460
|
-
/***/ }),
|
|
461
|
-
|
|
462
|
-
/***/ "(rsc)/./src/components/providers.tsx":
|
|
463
|
-
/*!**************************************!*\
|
|
464
|
-
!*** ./src/components/providers.tsx ***!
|
|
465
|
-
\**************************************/
|
|
466
|
-
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
467
|
-
|
|
468
|
-
"use strict";
|
|
469
|
-
__webpack_require__.r(__webpack_exports__);
|
|
470
|
-
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
471
|
-
/* harmony export */ Providers: () => (/* binding */ Providers)
|
|
472
|
-
/* harmony export */ });
|
|
473
|
-
/* harmony import */ var react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-server-dom-webpack/server.edge */ "(rsc)/./node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-webpack-server-edge.js");
|
|
474
|
-
/* harmony import */ var react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__);
|
|
475
|
-
|
|
476
|
-
const Providers = (0,react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__.registerClientReference)(
|
|
477
|
-
function() { throw new Error("Attempted to call Providers() from the server but Providers is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component."); },
|
|
478
|
-
"/Users/duan/files/pi-web/digital-agent-platform/src/components/providers.tsx",
|
|
479
|
-
"Providers",
|
|
480
|
-
);
|
|
481
|
-
|
|
482
|
-
/***/ }),
|
|
483
|
-
|
|
484
|
-
/***/ "(rsc)/./src/i18n/request.ts":
|
|
485
|
-
/*!*****************************!*\
|
|
486
|
-
!*** ./src/i18n/request.ts ***!
|
|
487
|
-
\*****************************/
|
|
488
|
-
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
489
|
-
|
|
490
|
-
"use strict";
|
|
491
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var next_intl_server__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! next-intl/server */ \"(rsc)/./node_modules/next-intl/dist/esm/server/react-server/getRequestConfig.js\");\n/* harmony import */ var _routing__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./routing */ \"(rsc)/./src/i18n/routing.ts\");\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,next_intl_server__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(async ({ requestLocale })=>{\n let locale = await requestLocale;\n if (!locale || !_routing__WEBPACK_IMPORTED_MODULE_0__.routing.locales.includes(locale)) {\n locale = _routing__WEBPACK_IMPORTED_MODULE_0__.routing.defaultLocale;\n }\n return {\n locale,\n messages: (await __webpack_require__(\"(rsc)/./messages lazy recursive ^\\\\.\\\\/.*\\\\.json$\")(`./${locale}.json`)).default\n };\n}));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvaTE4bi9yZXF1ZXN0LnRzIiwibWFwcGluZ3MiOiI7Ozs7OztBQUFvRDtBQUNoQjtBQUVwQyxpRUFBZUEsNERBQWdCQSxDQUFDLE9BQU8sRUFBRUUsYUFBYSxFQUFFO0lBQ3RELElBQUlDLFNBQVMsTUFBTUQ7SUFDbkIsSUFBSSxDQUFDQyxVQUFVLENBQUNGLDZDQUFPQSxDQUFDRyxPQUFPLENBQUNDLFFBQVEsQ0FBQ0YsU0FBd0I7UUFDL0RBLFNBQVNGLDZDQUFPQSxDQUFDSyxhQUFhO0lBQ2hDO0lBQ0EsT0FBTztRQUNMSDtRQUNBSSxVQUFVLENBQUMsTUFBTSx5RUFBTyxHQUFnQixFQUFFSixPQUFPLE1BQU0sR0FBR0ssT0FBTztJQUNuRTtBQUNGLEVBQUUsRUFBQyIsInNvdXJjZXMiOlsiL1VzZXJzL2R1YW4vZmlsZXMvcGktd2ViL2RpZ2l0YWwtYWdlbnQtcGxhdGZvcm0vc3JjL2kxOG4vcmVxdWVzdC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBnZXRSZXF1ZXN0Q29uZmlnIH0gZnJvbSBcIm5leHQtaW50bC9zZXJ2ZXJcIjtcbmltcG9ydCB7IHJvdXRpbmcgfSBmcm9tIFwiLi9yb3V0aW5nXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGdldFJlcXVlc3RDb25maWcoYXN5bmMgKHsgcmVxdWVzdExvY2FsZSB9KSA9PiB7XG4gIGxldCBsb2NhbGUgPSBhd2FpdCByZXF1ZXN0TG9jYWxlO1xuICBpZiAoIWxvY2FsZSB8fCAhcm91dGluZy5sb2NhbGVzLmluY2x1ZGVzKGxvY2FsZSBhcyBcInpoXCIgfCBcImVuXCIpKSB7XG4gICAgbG9jYWxlID0gcm91dGluZy5kZWZhdWx0TG9jYWxlO1xuICB9XG4gIHJldHVybiB7XG4gICAgbG9jYWxlLFxuICAgIG1lc3NhZ2VzOiAoYXdhaXQgaW1wb3J0KGAuLi8uLi9tZXNzYWdlcy8ke2xvY2FsZX0uanNvbmApKS5kZWZhdWx0LFxuICB9O1xufSk7XG4iXSwibmFtZXMiOlsiZ2V0UmVxdWVzdENvbmZpZyIsInJvdXRpbmciLCJyZXF1ZXN0TG9jYWxlIiwibG9jYWxlIiwibG9jYWxlcyIsImluY2x1ZGVzIiwiZGVmYXVsdExvY2FsZSIsIm1lc3NhZ2VzIiwiZGVmYXVsdCJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./src/i18n/request.ts\n");
|
|
492
|
-
|
|
493
|
-
/***/ }),
|
|
494
|
-
|
|
495
|
-
/***/ "(rsc)/./src/i18n/routing.ts":
|
|
496
|
-
/*!*****************************!*\
|
|
497
|
-
!*** ./src/i18n/routing.ts ***!
|
|
498
|
-
\*****************************/
|
|
499
|
-
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
500
|
-
|
|
501
|
-
"use strict";
|
|
502
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ routing: () => (/* binding */ routing)\n/* harmony export */ });\n/* harmony import */ var next_intl_routing__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! next-intl/routing */ \"(rsc)/./node_modules/next-intl/dist/development/routing.js\");\n\nconst routing = (0,next_intl_routing__WEBPACK_IMPORTED_MODULE_0__.defineRouting)({\n locales: [\n \"zh\",\n \"en\"\n ],\n defaultLocale: \"zh\",\n localePrefix: \"always\"\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvaTE4bi9yb3V0aW5nLnRzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQWtEO0FBRTNDLE1BQU1DLFVBQVVELGdFQUFhQSxDQUFDO0lBQ25DRSxTQUFTO1FBQUM7UUFBTTtLQUFLO0lBQ3JCQyxlQUFlO0lBQ2ZDLGNBQWM7QUFDaEIsR0FBRyIsInNvdXJjZXMiOlsiL1VzZXJzL2R1YW4vZmlsZXMvcGktd2ViL2RpZ2l0YWwtYWdlbnQtcGxhdGZvcm0vc3JjL2kxOG4vcm91dGluZy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBkZWZpbmVSb3V0aW5nIH0gZnJvbSBcIm5leHQtaW50bC9yb3V0aW5nXCI7XG5cbmV4cG9ydCBjb25zdCByb3V0aW5nID0gZGVmaW5lUm91dGluZyh7XG4gIGxvY2FsZXM6IFtcInpoXCIsIFwiZW5cIl0sXG4gIGRlZmF1bHRMb2NhbGU6IFwiemhcIixcbiAgbG9jYWxlUHJlZml4OiBcImFsd2F5c1wiLFxufSk7XG4iXSwibmFtZXMiOlsiZGVmaW5lUm91dGluZyIsInJvdXRpbmciLCJsb2NhbGVzIiwiZGVmYXVsdExvY2FsZSIsImxvY2FsZVByZWZpeCJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./src/i18n/routing.ts\n");
|
|
503
|
-
|
|
504
|
-
/***/ })
|
|
505
|
-
|
|
506
|
-
};
|
|
507
|
-
;
|
|
508
|
-
|
|
509
|
-
// load runtime
|
|
510
|
-
var __webpack_require__ = require("../../../../../webpack-runtime.js");
|
|
511
|
-
__webpack_require__.C(exports);
|
|
512
|
-
var __webpack_exec__ = (moduleId) => (__webpack_require__(__webpack_require__.s = moduleId))
|
|
513
|
-
var __webpack_exports__ = __webpack_require__.X(0, ["vendor-chunks/next","vendor-chunks/@opentelemetry","vendor-chunks/lucide-react","vendor-chunks/highlight.js","vendor-chunks/mdast-util-to-markdown","vendor-chunks/mdast-util-to-hast","vendor-chunks/@formatjs","vendor-chunks/next-intl","vendor-chunks/micromark-core-commonmark","vendor-chunks/property-information","vendor-chunks/use-intl","vendor-chunks/@radix-ui","vendor-chunks/micromark","vendor-chunks/intl-messageformat","vendor-chunks/uuid","vendor-chunks/micromark-util-symbol","vendor-chunks/micromark-extension-gfm-table","vendor-chunks/@ungap","vendor-chunks/@swc","vendor-chunks/debug","vendor-chunks/vfile","vendor-chunks/unist-util-visit-parents","vendor-chunks/unified","vendor-chunks/tslib","vendor-chunks/micromark-util-subtokenize","vendor-chunks/micromark-extension-gfm-task-list-item","vendor-chunks/micromark-extension-gfm-strikethrough","vendor-chunks/micromark-extension-gfm-footnote","vendor-chunks/micromark-extension-gfm-autolink-literal","vendor-chunks/mdast-util-find-and-replace","vendor-chunks/lowlight","vendor-chunks/style-to-js","vendor-chunks/vfile-message","vendor-chunks/unist-util-visit","vendor-chunks/unist-util-stringify-position","vendor-chunks/unist-util-position","vendor-chunks/unist-util-is","vendor-chunks/unist-util-find-after","vendor-chunks/trough","vendor-chunks/trim-lines","vendor-chunks/tailwind-merge","vendor-chunks/space-separated-tokens","vendor-chunks/remark-rehype","vendor-chunks/remark-parse","vendor-chunks/remark-gfm","vendor-chunks/rehype-highlight","vendor-chunks/react-markdown","vendor-chunks/next-themes","vendor-chunks/micromark-util-sanitize-uri","vendor-chunks/micromark-util-resolve-all","vendor-chunks/micromark-util-normalize-identifier","vendor-chunks/micromark-util-html-tag-name","vendor-chunks/micromark-util-encode","vendor-chunks/micromark-util-decode-string","vendor-chunks/micromark-util-decode-numeric-character-reference","vendor-chunks/micromark-util-combine-extensions","vendor-chunks/micromark-util-classify-character","vendor-chunks/micromark-util-chunked","vendor-chunks/micromark-util-character","vendor-chunks/micromark-factory-whitespace","vendor-chunks/micromark-factory-title","vendor-chunks/micromark-factory-space","vendor-chunks/micromark-factory-label","vendor-chunks/micromark-factory-destination","vendor-chunks/micromark-extension-gfm","vendor-chunks/micromark-extension-gfm-tagfilter","vendor-chunks/mdast-util-to-string","vendor-chunks/mdast-util-phrasing","vendor-chunks/mdast-util-gfm","vendor-chunks/mdast-util-gfm-task-list-item","vendor-chunks/mdast-util-gfm-table","vendor-chunks/mdast-util-gfm-strikethrough","vendor-chunks/mdast-util-gfm-footnote","vendor-chunks/mdast-util-gfm-autolink-literal","vendor-chunks/mdast-util-from-markdown","vendor-chunks/markdown-table","vendor-chunks/longest-streak","vendor-chunks/is-plain-obj","vendor-chunks/html-url-attributes","vendor-chunks/hast-util-whitespace","vendor-chunks/hast-util-to-text","vendor-chunks/hast-util-to-jsx-runtime","vendor-chunks/hast-util-is-element","vendor-chunks/estree-util-is-identifier-name","vendor-chunks/devlop","vendor-chunks/dequal","vendor-chunks/decode-named-character-reference","vendor-chunks/comma-separated-tokens","vendor-chunks/clsx","vendor-chunks/character-entities","vendor-chunks/ccount","vendor-chunks/bail","vendor-chunks/supports-color","vendor-chunks/style-to-object","vendor-chunks/ms","vendor-chunks/inline-style-parser","vendor-chunks/has-flag","vendor-chunks/extend"], () => (__webpack_exec__("(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader/index.js?name=app%2F%5Blocale%5D%2Fagents%2F%5Bid%5D%2Fchat%2Fpage&page=%2F%5Blocale%5D%2Fagents%2F%5Bid%5D%2Fchat%2Fpage&appPaths=%2F%5Blocale%5D%2Fagents%2F%5Bid%5D%2Fchat%2Fpage&pagePath=private-next-app-dir%2F%5Blocale%5D%2Fagents%2F%5Bid%5D%2Fchat%2Fpage.tsx&appDir=%2FUsers%2Fduan%2Ffiles%2Fpi-web%2Fdigital-agent-platform%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fduan%2Ffiles%2Fpi-web%2Fdigital-agent-platform&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!")));
|
|
514
|
-
module.exports = __webpack_exports__;
|
|
515
|
-
|
|
516
|
-
})();
|
|
1
|
+
(()=>{var e={};e.id=6765,e.ids=[6765],e.modules={10846:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},19121:e=>{"use strict";e.exports=require("next/dist/server/app-render/action-async-storage.external.js")},3295:e=>{"use strict";e.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},29294:e=>{"use strict";e.exports=require("next/dist/server/app-render/work-async-storage.external.js")},63033:e=>{"use strict";e.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},55511:e=>{"use strict";e.exports=require("crypto")},33873:e=>{"use strict";e.exports=require("path")},38457:(e,t,n)=>{"use strict";n.r(t),n.d(t,{GlobalError:()=>o.a,__next_app__:()=>d,pages:()=>u,routeModule:()=>p,tree:()=>c});var r=n(70260),i=n(28203),a=n(25155),o=n.n(a),l=n(67292),s={};for(let e in l)0>["default","tree","pages","GlobalError","__next_app__","routeModule"].indexOf(e)&&(s[e]=()=>l[e]);n.d(t,s);let c=["",{children:["[locale]",{children:["agents",{children:["[id]",{children:["chat",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(n.bind(n,21702)),"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx"]}]},{}]},{}]},{}]},{layout:[()=>Promise.resolve().then(n.bind(n,51341)),"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/layout.tsx"]}]},{layout:[()=>Promise.resolve().then(n.bind(n,71354)),"/Users/duan/files/pi-web/digital-agent-platform/src/app/layout.tsx"],"not-found":[()=>Promise.resolve().then(n.t.bind(n,19937,23)),"next/dist/client/components/not-found-error"],forbidden:[()=>Promise.resolve().then(n.t.bind(n,69116,23)),"next/dist/client/components/forbidden-error"],unauthorized:[()=>Promise.resolve().then(n.t.bind(n,41485,23)),"next/dist/client/components/unauthorized-error"]}],u=["/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx"],d={require:n,loadChunk:()=>Promise.resolve()},p=new r.AppPageRouteModule({definition:{kind:i.RouteKind.APP_PAGE,page:"/[locale]/agents/[id]/chat/page",pathname:"/[locale]/agents/[id]/chat",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:c}})},76091:(e,t,n)=>{Promise.resolve().then(n.bind(n,21702))},86707:(e,t,n)=>{Promise.resolve().then(n.bind(n,77413))},55149:e=>{"use strict";var t=Object.prototype.hasOwnProperty,n=Object.prototype.toString,r=Object.defineProperty,i=Object.getOwnPropertyDescriptor,a=function(e){return"function"==typeof Array.isArray?Array.isArray(e):"[object Array]"===n.call(e)},o=function(e){if(!e||"[object Object]"!==n.call(e))return!1;var r,i=t.call(e,"constructor"),a=e.constructor&&e.constructor.prototype&&t.call(e.constructor.prototype,"isPrototypeOf");if(e.constructor&&!i&&!a)return!1;for(r in e);return void 0===r||t.call(e,r)},l=function(e,t){r&&"__proto__"===t.name?r(e,t.name,{enumerable:!0,configurable:!0,value:t.newValue,writable:!0}):e[t.name]=t.newValue},s=function(e,n){if("__proto__"===n){if(!t.call(e,n))return;if(i)return i(e,n).value}return e[n]};e.exports=function e(){var t,n,r,i,c,u,d=arguments[0],p=1,g=arguments.length,f=!1;for("boolean"==typeof d&&(f=d,d=arguments[1]||{},p=2),(null==d||"object"!=typeof d&&"function"!=typeof d)&&(d={});p<g;++p)if(t=arguments[p],null!=t)for(n in t)r=s(d,n),d!==(i=s(t,n))&&(f&&i&&(o(i)||(c=a(i)))?(c?(c=!1,u=r&&a(r)?r:[]):u=r&&o(r)?r:{},l(d,{name:n,newValue:e(f,u,i)})):void 0!==i&&l(d,{name:n,newValue:i}));return d}},61265:e=>{"use strict";var t=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,n=/\n/g,r=/^\s*/,i=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,a=/^:\s*/,o=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,l=/^[;\s]*/,s=/^\s+|\s+$/g;function c(e){return e?e.replace(s,""):""}e.exports=function(e,s){if("string"!=typeof e)throw TypeError("First argument must be a string");if(!e)return[];s=s||{};var u=1,d=1;function p(e){var t=e.match(n);t&&(u+=t.length);var r=e.lastIndexOf("\n");d=~r?e.length-r:d+e.length}function g(){var e={line:u,column:d};return function(t){return t.position=new f(e),h(r),t}}function f(e){this.start=e,this.end={line:u,column:d},this.source=s.source}function m(t){var n=Error(s.source+":"+u+":"+d+": "+t);if(n.reason=t,n.filename=s.source,n.line=u,n.column=d,n.source=e,s.silent);else throw n}function h(t){var n=t.exec(e);if(n){var r=n[0];return p(r),e=e.slice(r.length),n}}function b(e){var t;for(e=e||[];t=y();)!1!==t&&e.push(t);return e}function y(){var t=g();if("/"==e.charAt(0)&&"*"==e.charAt(1)){for(var n=2;""!=e.charAt(n)&&("*"!=e.charAt(n)||"/"!=e.charAt(n+1));)++n;if(n+=2,""===e.charAt(n-1))return m("End of comment missing");var r=e.slice(2,n-2);return d+=2,p(r),e=e.slice(n),d+=2,t({type:"comment",comment:r})}}return f.prototype.content=e,h(r),function(){var e,n=[];for(b(n);e=function(){var e=g(),n=h(i);if(n){if(y(),!h(a))return m("property missing ':'");var r=h(o),s=e({type:"declaration",property:c(n[0].replace(t,"")),value:r?c(r[0].replace(t,"")):""});return h(l),s}}();)!1!==e&&(n.push(e),b(n));return n}()}},78397:(e,t,n)=>{"use strict";n.d(t,{A:()=>r});let r=(0,n(41680).A)("Brain",[["path",{d:"M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z",key:"l5xja"}],["path",{d:"M12 5a3 3 0 1 1 5.997.125 4 4 0 0 1 2.526 5.77 4 4 0 0 1-.556 6.588A4 4 0 1 1 12 18Z",key:"ep3f8r"}],["path",{d:"M15 13a4.5 4.5 0 0 1-3-4 4.5 4.5 0 0 1-3 4",key:"1p4c4q"}],["path",{d:"M17.599 6.5a3 3 0 0 0 .399-1.375",key:"tmeiqw"}],["path",{d:"M6.003 5.125A3 3 0 0 0 6.401 6.5",key:"105sqy"}],["path",{d:"M3.477 10.896a4 4 0 0 1 .585-.396",key:"ql3yin"}],["path",{d:"M19.938 10.5a4 4 0 0 1 .585.396",key:"1qfode"}],["path",{d:"M6 18a4 4 0 0 1-1.967-.516",key:"2e4loj"}],["path",{d:"M19.967 17.484A4 4 0 0 1 18 18",key:"159ez6"}]])},52706:(e,t,n)=>{"use strict";n.d(t,{A:()=>r});let r=(0,n(41680).A)("ChevronLeft",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]])},17803:(e,t,n)=>{"use strict";n.d(t,{A:()=>r});let r=(0,n(41680).A)("Cpu",[["rect",{width:"16",height:"16",x:"4",y:"4",rx:"2",key:"14l7u7"}],["rect",{width:"6",height:"6",x:"9",y:"9",rx:"1",key:"5aljv4"}],["path",{d:"M15 2v2",key:"13l42r"}],["path",{d:"M15 20v2",key:"15mkzm"}],["path",{d:"M2 15h2",key:"1gxd5l"}],["path",{d:"M2 9h2",key:"1bbxkp"}],["path",{d:"M20 15h2",key:"19e6y8"}],["path",{d:"M20 9h2",key:"19tzq7"}],["path",{d:"M9 2v2",key:"165o2o"}],["path",{d:"M9 20v2",key:"i2bqo8"}]])},42163:(e,t,n)=>{"use strict";n.d(t,{A:()=>r});let r=(0,n(41680).A)("ExternalLink",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]])},86235:(e,t,n)=>{"use strict";n.d(t,{A:()=>r});let r=(0,n(41680).A)("LoaderCircle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]])},18741:(e,t,n)=>{"use strict";n.d(t,{A:()=>r});let r=(0,n(41680).A)("Plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]])},20169:(e,t,n)=>{"use strict";n.d(t,{A:()=>r});let r=(0,n(41680).A)("Terminal",[["polyline",{points:"4 17 10 11 4 5",key:"akl6gq"}],["line",{x1:"12",x2:"20",y1:"19",y2:"19",key:"q2wloq"}]])},49656:(e,t,n)=>{"use strict";n.d(t,{A:()=>r});let r=(0,n(41680).A)("Trash2",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}],["line",{x1:"10",x2:"10",y1:"11",y2:"17",key:"1uufr5"}],["line",{x1:"14",x2:"14",y1:"11",y2:"17",key:"xtxkd"}]])},73388:(e,t,n)=>{"use strict";n.d(t,{A:()=>r});let r=(0,n(41680).A)("Volume2",[["path",{d:"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z",key:"uqj9uw"}],["path",{d:"M16 9a5 5 0 0 1 0 6",key:"1q6k2b"}],["path",{d:"M19.364 18.364a9 9 0 0 0 0-12.728",key:"ijwkga"}]])},39617:function(e,t,n){"use strict";var r=(this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}})(n(20457)),i=n(76697);function a(e,t){var n={};return e&&"string"==typeof e&&(0,r.default)(e,function(e,r){e&&r&&(n[(0,i.camelCase)(e,t)]=r)}),n}a.default=a,e.exports=a},76697:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.camelCase=void 0;var n=/^--[a-zA-Z0-9_-]+$/,r=/-([a-z])/g,i=/^[^-]+$/,a=/^-(webkit|moz|ms|o|khtml)-/,o=/^-(ms)-/,l=function(e,t){return t.toUpperCase()},s=function(e,t){return"".concat(t,"-")};t.camelCase=function(e,t){var c;return(void 0===t&&(t={}),!(c=e)||i.test(c)||n.test(c))?e:(e=e.toLowerCase(),(e=t.reactCompat?e.replace(o,s):e.replace(a,s)).replace(r,l))}},20457:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){let n=null;if(!e||"string"!=typeof e)return n;let r=(0,i.default)(e),a="function"==typeof t;return r.forEach(e=>{if("declaration"!==e.type)return;let{property:r,value:i}=e;a?t(r,i,e):i&&((n=n||{})[r]=i)}),n};let i=r(n(61265))},77413:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>a0});var r={};n.r(r),n.d(r,{boolean:()=>M,booleanish:()=>O,commaOrSpaceSeparated:()=>L,commaSeparated:()=>j,number:()=>D,overloadedBoolean:()=>T,spaceSeparated:()=>I});var i={};n.r(i),n.d(i,{attentionMarkers:()=>tU,contentInitial:()=>tR,disable:()=>t$,document:()=>tL,flow:()=>tB,flowInitial:()=>tz,insideSpan:()=>tq,string:()=>tP,text:()=>tF});var a=n(45512),o=n(58009),l=n(29362),s=n(52706),c=n(18741),u=n(49656),d=n(41680);let p=(0,d.A)("History",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}],["path",{d:"M12 7v5l4 2",key:"1fdv2h"}]]),g=(0,d.A)("Square",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]]);var f=n(86201);let m=(0,d.A)("Zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]]);var h=n(98755),b=n(24849);let y=/^[$_\p{ID_Start}][$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,x=/^[$_\p{ID_Start}][-$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,v={};function k(e,t){return((t||v).jsx?x:y).test(e)}let w=/[ \t\n\f\r]/g;function _(e){return""===e.replace(w,"")}class E{constructor(e,t,n){this.normal=t,this.property=e,n&&(this.space=n)}}function N(e,t){let n={},r={};for(let t of e)Object.assign(n,t.property),Object.assign(r,t.normal);return new E(n,r,t)}function S(e){return e.toLowerCase()}E.prototype.normal={},E.prototype.property={},E.prototype.space=void 0;class C{constructor(e,t){this.attribute=t,this.property=e}}C.prototype.attribute="",C.prototype.booleanish=!1,C.prototype.boolean=!1,C.prototype.commaOrSpaceSeparated=!1,C.prototype.commaSeparated=!1,C.prototype.defined=!1,C.prototype.mustUseProperty=!1,C.prototype.number=!1,C.prototype.overloadedBoolean=!1,C.prototype.property="",C.prototype.spaceSeparated=!1,C.prototype.space=void 0;let A=0,M=R(),O=R(),T=R(),D=R(),I=R(),j=R(),L=R();function R(){return 2**++A}let z=Object.keys(r);class B extends C{constructor(e,t,n,i){let a=-1;if(super(e,t),function(e,t,n){n&&(e[t]=n)}(this,"space",i),"number"==typeof n)for(;++a<z.length;){let e=z[a];(function(e,t,n){n&&(e[t]=n)})(this,z[a],(n&r[e])===r[e])}}}function P(e){let t={},n={};for(let[r,i]of Object.entries(e.properties)){let a=new B(r,e.transform(e.attributes||{},r),i,e.space);e.mustUseProperty&&e.mustUseProperty.includes(r)&&(a.mustUseProperty=!0),t[r]=a,n[S(r)]=r,n[S(a.attribute)]=r}return new E(t,n,e.space)}B.prototype.defined=!0;let F=P({properties:{ariaActiveDescendant:null,ariaAtomic:O,ariaAutoComplete:null,ariaBusy:O,ariaChecked:O,ariaColCount:D,ariaColIndex:D,ariaColSpan:D,ariaControls:I,ariaCurrent:null,ariaDescribedBy:I,ariaDetails:null,ariaDisabled:O,ariaDropEffect:I,ariaErrorMessage:null,ariaExpanded:O,ariaFlowTo:I,ariaGrabbed:O,ariaHasPopup:null,ariaHidden:O,ariaInvalid:null,ariaKeyShortcuts:null,ariaLabel:null,ariaLabelledBy:I,ariaLevel:D,ariaLive:null,ariaModal:O,ariaMultiLine:O,ariaMultiSelectable:O,ariaOrientation:null,ariaOwns:I,ariaPlaceholder:null,ariaPosInSet:D,ariaPressed:O,ariaReadOnly:O,ariaRelevant:null,ariaRequired:O,ariaRoleDescription:I,ariaRowCount:D,ariaRowIndex:D,ariaRowSpan:D,ariaSelected:O,ariaSetSize:D,ariaSort:null,ariaValueMax:D,ariaValueMin:D,ariaValueNow:D,ariaValueText:null,role:null},transform:(e,t)=>"role"===t?t:"aria-"+t.slice(4).toLowerCase()});function q(e,t){return t in e?e[t]:t}function U(e,t){return q(e,t.toLowerCase())}let $=P({attributes:{acceptcharset:"accept-charset",classname:"class",htmlfor:"for",httpequiv:"http-equiv"},mustUseProperty:["checked","multiple","muted","selected"],properties:{abbr:null,accept:j,acceptCharset:I,accessKey:I,action:null,allow:null,allowFullScreen:M,allowPaymentRequest:M,allowUserMedia:M,alpha:M,alt:null,as:null,async:M,autoCapitalize:null,autoComplete:I,autoFocus:M,autoPlay:M,blocking:I,capture:null,charSet:null,checked:M,cite:null,className:I,closedBy:null,colorSpace:null,cols:D,colSpan:D,command:null,commandFor:null,content:null,contentEditable:O,controls:M,controlsList:I,coords:D|j,crossOrigin:null,data:null,dateTime:null,decoding:null,default:M,defer:M,dir:null,dirName:null,disabled:M,download:T,draggable:O,encType:null,enterKeyHint:null,fetchPriority:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:M,formTarget:null,headers:I,height:D,hidden:T,high:D,href:null,hrefLang:null,htmlFor:I,httpEquiv:I,id:null,imageSizes:null,imageSrcSet:null,inert:M,inputMode:null,integrity:null,is:null,isMap:M,itemId:null,itemProp:I,itemRef:I,itemScope:M,itemType:I,kind:null,label:null,lang:null,language:null,list:null,loading:null,loop:M,low:D,manifest:null,max:null,maxLength:D,media:null,method:null,min:null,minLength:D,multiple:M,muted:M,name:null,nonce:null,noModule:M,noValidate:M,onAbort:null,onAfterPrint:null,onAuxClick:null,onBeforeMatch:null,onBeforePrint:null,onBeforeToggle:null,onBeforeUnload:null,onBlur:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onContextLost:null,onContextMenu:null,onContextRestored:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnded:null,onError:null,onFocus:null,onFormData:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLanguageChange:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadEnd:null,onLoadStart:null,onMessage:null,onMessageError:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRejectionHandled:null,onReset:null,onResize:null,onScroll:null,onScrollEnd:null,onSecurityPolicyViolation:null,onSeeked:null,onSeeking:null,onSelect:null,onSlotChange:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnhandledRejection:null,onUnload:null,onVolumeChange:null,onWaiting:null,onWheel:null,open:M,optimum:D,pattern:null,ping:I,placeholder:null,playsInline:M,popover:null,popoverTarget:null,popoverTargetAction:null,poster:null,preload:null,readOnly:M,referrerPolicy:null,rel:I,required:M,reversed:M,rows:D,rowSpan:D,sandbox:I,scope:null,scoped:M,seamless:M,selected:M,shadowRootClonable:M,shadowRootCustomElementRegistry:M,shadowRootDelegatesFocus:M,shadowRootMode:null,shadowRootSerializable:M,shape:null,size:D,sizes:null,slot:null,span:D,spellCheck:O,src:null,srcDoc:null,srcLang:null,srcSet:null,start:D,step:null,style:null,tabIndex:D,target:null,title:null,translate:null,type:null,typeMustMatch:M,useMap:null,value:O,width:D,wrap:null,writingSuggestions:null,align:null,aLink:null,archive:I,axis:null,background:null,bgColor:null,border:D,borderColor:null,bottomMargin:D,cellPadding:null,cellSpacing:null,char:null,charOff:null,classId:null,clear:null,code:null,codeBase:null,codeType:null,color:null,compact:M,declare:M,event:null,face:null,frame:null,frameBorder:null,hSpace:D,leftMargin:D,link:null,longDesc:null,lowSrc:null,marginHeight:D,marginWidth:D,noResize:M,noHref:M,noShade:M,noWrap:M,object:null,profile:null,prompt:null,rev:null,rightMargin:D,rules:null,scheme:null,scrolling:O,standby:null,summary:null,text:null,topMargin:D,valueType:null,version:null,vAlign:null,vLink:null,vSpace:D,allowTransparency:null,autoCorrect:null,autoSave:null,credentialless:M,disablePictureInPicture:M,disableRemotePlayback:M,exportParts:j,part:I,prefix:null,property:null,results:D,security:null,unselectable:null},space:"html",transform:U}),H=P({attributes:{accentHeight:"accent-height",alignmentBaseline:"alignment-baseline",arabicForm:"arabic-form",baselineShift:"baseline-shift",capHeight:"cap-height",className:"class",clipPath:"clip-path",clipRule:"clip-rule",colorInterpolation:"color-interpolation",colorInterpolationFilters:"color-interpolation-filters",colorProfile:"color-profile",colorRendering:"color-rendering",crossOrigin:"crossorigin",dataType:"datatype",dominantBaseline:"dominant-baseline",enableBackground:"enable-background",fillOpacity:"fill-opacity",fillRule:"fill-rule",floodColor:"flood-color",floodOpacity:"flood-opacity",fontFamily:"font-family",fontSize:"font-size",fontSizeAdjust:"font-size-adjust",fontStretch:"font-stretch",fontStyle:"font-style",fontVariant:"font-variant",fontWeight:"font-weight",glyphName:"glyph-name",glyphOrientationHorizontal:"glyph-orientation-horizontal",glyphOrientationVertical:"glyph-orientation-vertical",hrefLang:"hreflang",horizAdvX:"horiz-adv-x",horizOriginX:"horiz-origin-x",horizOriginY:"horiz-origin-y",imageRendering:"image-rendering",letterSpacing:"letter-spacing",lightingColor:"lighting-color",markerEnd:"marker-end",markerMid:"marker-mid",markerStart:"marker-start",maskType:"mask-type",navDown:"nav-down",navDownLeft:"nav-down-left",navDownRight:"nav-down-right",navLeft:"nav-left",navNext:"nav-next",navPrev:"nav-prev",navRight:"nav-right",navUp:"nav-up",navUpLeft:"nav-up-left",navUpRight:"nav-up-right",onAbort:"onabort",onActivate:"onactivate",onAfterPrint:"onafterprint",onBeforePrint:"onbeforeprint",onBegin:"onbegin",onCancel:"oncancel",onCanPlay:"oncanplay",onCanPlayThrough:"oncanplaythrough",onChange:"onchange",onClick:"onclick",onClose:"onclose",onCopy:"oncopy",onCueChange:"oncuechange",onCut:"oncut",onDblClick:"ondblclick",onDrag:"ondrag",onDragEnd:"ondragend",onDragEnter:"ondragenter",onDragExit:"ondragexit",onDragLeave:"ondragleave",onDragOver:"ondragover",onDragStart:"ondragstart",onDrop:"ondrop",onDurationChange:"ondurationchange",onEmptied:"onemptied",onEnd:"onend",onEnded:"onended",onError:"onerror",onFocus:"onfocus",onFocusIn:"onfocusin",onFocusOut:"onfocusout",onHashChange:"onhashchange",onInput:"oninput",onInvalid:"oninvalid",onKeyDown:"onkeydown",onKeyPress:"onkeypress",onKeyUp:"onkeyup",onLoad:"onload",onLoadedData:"onloadeddata",onLoadedMetadata:"onloadedmetadata",onLoadStart:"onloadstart",onMessage:"onmessage",onMouseDown:"onmousedown",onMouseEnter:"onmouseenter",onMouseLeave:"onmouseleave",onMouseMove:"onmousemove",onMouseOut:"onmouseout",onMouseOver:"onmouseover",onMouseUp:"onmouseup",onMouseWheel:"onmousewheel",onOffline:"onoffline",onOnline:"ononline",onPageHide:"onpagehide",onPageShow:"onpageshow",onPaste:"onpaste",onPause:"onpause",onPlay:"onplay",onPlaying:"onplaying",onPopState:"onpopstate",onProgress:"onprogress",onRateChange:"onratechange",onRepeat:"onrepeat",onReset:"onreset",onResize:"onresize",onScroll:"onscroll",onSeeked:"onseeked",onSeeking:"onseeking",onSelect:"onselect",onShow:"onshow",onStalled:"onstalled",onStorage:"onstorage",onSubmit:"onsubmit",onSuspend:"onsuspend",onTimeUpdate:"ontimeupdate",onToggle:"ontoggle",onUnload:"onunload",onVolumeChange:"onvolumechange",onWaiting:"onwaiting",onZoom:"onzoom",overlinePosition:"overline-position",overlineThickness:"overline-thickness",paintOrder:"paint-order",panose1:"panose-1",pointerEvents:"pointer-events",referrerPolicy:"referrerpolicy",renderingIntent:"rendering-intent",shapeRendering:"shape-rendering",stopColor:"stop-color",stopOpacity:"stop-opacity",strikethroughPosition:"strikethrough-position",strikethroughThickness:"strikethrough-thickness",strokeDashArray:"stroke-dasharray",strokeDashOffset:"stroke-dashoffset",strokeLineCap:"stroke-linecap",strokeLineJoin:"stroke-linejoin",strokeMiterLimit:"stroke-miterlimit",strokeOpacity:"stroke-opacity",strokeWidth:"stroke-width",tabIndex:"tabindex",textAnchor:"text-anchor",textDecoration:"text-decoration",textRendering:"text-rendering",transformOrigin:"transform-origin",typeOf:"typeof",underlinePosition:"underline-position",underlineThickness:"underline-thickness",unicodeBidi:"unicode-bidi",unicodeRange:"unicode-range",unitsPerEm:"units-per-em",vAlphabetic:"v-alphabetic",vHanging:"v-hanging",vIdeographic:"v-ideographic",vMathematical:"v-mathematical",vectorEffect:"vector-effect",vertAdvY:"vert-adv-y",vertOriginX:"vert-origin-x",vertOriginY:"vert-origin-y",wordSpacing:"word-spacing",writingMode:"writing-mode",xHeight:"x-height",playbackOrder:"playbackorder",timelineBegin:"timelinebegin"},properties:{about:L,accentHeight:D,accumulate:null,additive:null,alignmentBaseline:null,alphabetic:D,amplitude:D,arabicForm:null,ascent:D,attributeName:null,attributeType:null,azimuth:D,bandwidth:null,baselineShift:null,baseFrequency:null,baseProfile:null,bbox:null,begin:null,bias:D,by:null,calcMode:null,capHeight:D,className:I,clip:null,clipPath:null,clipPathUnits:null,clipRule:null,color:null,colorInterpolation:null,colorInterpolationFilters:null,colorProfile:null,colorRendering:null,content:null,contentScriptType:null,contentStyleType:null,crossOrigin:null,cursor:null,cx:null,cy:null,d:null,dataType:null,defaultAction:null,descent:D,diffuseConstant:D,direction:null,display:null,dur:null,divisor:D,dominantBaseline:null,download:M,dx:null,dy:null,edgeMode:null,editable:null,elevation:D,enableBackground:null,end:null,event:null,exponent:D,externalResourcesRequired:null,fill:null,fillOpacity:D,fillRule:null,filter:null,filterRes:null,filterUnits:null,floodColor:null,floodOpacity:null,focusable:null,focusHighlight:null,fontFamily:null,fontSize:null,fontSizeAdjust:null,fontStretch:null,fontStyle:null,fontVariant:null,fontWeight:null,format:null,fr:null,from:null,fx:null,fy:null,g1:j,g2:j,glyphName:j,glyphOrientationHorizontal:null,glyphOrientationVertical:null,glyphRef:null,gradientTransform:null,gradientUnits:null,handler:null,hanging:D,hatchContentUnits:null,hatchUnits:null,height:null,href:null,hrefLang:null,horizAdvX:D,horizOriginX:D,horizOriginY:D,id:null,ideographic:D,imageRendering:null,initialVisibility:null,in:null,in2:null,intercept:D,k:D,k1:D,k2:D,k3:D,k4:D,kernelMatrix:L,kernelUnitLength:null,keyPoints:null,keySplines:null,keyTimes:null,kerning:null,lang:null,lengthAdjust:null,letterSpacing:null,lightingColor:null,limitingConeAngle:D,local:null,markerEnd:null,markerMid:null,markerStart:null,markerHeight:null,markerUnits:null,markerWidth:null,mask:null,maskContentUnits:null,maskType:null,maskUnits:null,mathematical:null,max:null,media:null,mediaCharacterEncoding:null,mediaContentEncodings:null,mediaSize:D,mediaTime:null,method:null,min:null,mode:null,name:null,navDown:null,navDownLeft:null,navDownRight:null,navLeft:null,navNext:null,navPrev:null,navRight:null,navUp:null,navUpLeft:null,navUpRight:null,numOctaves:null,observer:null,offset:null,onAbort:null,onActivate:null,onAfterPrint:null,onBeforePrint:null,onBegin:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnd:null,onEnded:null,onError:null,onFocus:null,onFocusIn:null,onFocusOut:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadStart:null,onMessage:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onMouseWheel:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRepeat:null,onReset:null,onResize:null,onScroll:null,onSeeked:null,onSeeking:null,onSelect:null,onShow:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnload:null,onVolumeChange:null,onWaiting:null,onZoom:null,opacity:null,operator:null,order:null,orient:null,orientation:null,origin:null,overflow:null,overlay:null,overlinePosition:D,overlineThickness:D,paintOrder:null,panose1:null,path:null,pathLength:D,patternContentUnits:null,patternTransform:null,patternUnits:null,phase:null,ping:I,pitch:null,playbackOrder:null,pointerEvents:null,points:null,pointsAtX:D,pointsAtY:D,pointsAtZ:D,preserveAlpha:null,preserveAspectRatio:null,primitiveUnits:null,propagate:null,property:L,r:null,radius:null,referrerPolicy:null,refX:null,refY:null,rel:L,rev:L,renderingIntent:null,repeatCount:null,repeatDur:null,requiredExtensions:L,requiredFeatures:L,requiredFonts:L,requiredFormats:L,resource:null,restart:null,result:null,rotate:null,rx:null,ry:null,scale:null,seed:null,shapeRendering:null,side:null,slope:null,snapshotTime:null,specularConstant:D,specularExponent:D,spreadMethod:null,spacing:null,startOffset:null,stdDeviation:null,stemh:null,stemv:null,stitchTiles:null,stopColor:null,stopOpacity:null,strikethroughPosition:D,strikethroughThickness:D,string:null,stroke:null,strokeDashArray:L,strokeDashOffset:null,strokeLineCap:null,strokeLineJoin:null,strokeMiterLimit:D,strokeOpacity:D,strokeWidth:null,style:null,surfaceScale:D,syncBehavior:null,syncBehaviorDefault:null,syncMaster:null,syncTolerance:null,syncToleranceDefault:null,systemLanguage:L,tabIndex:D,tableValues:null,target:null,targetX:D,targetY:D,textAnchor:null,textDecoration:null,textRendering:null,textLength:null,timelineBegin:null,title:null,transformBehavior:null,type:null,typeOf:L,to:null,transform:null,transformOrigin:null,u1:null,u2:null,underlinePosition:D,underlineThickness:D,unicode:null,unicodeBidi:null,unicodeRange:null,unitsPerEm:D,values:null,vAlphabetic:D,vMathematical:D,vectorEffect:null,vHanging:D,vIdeographic:D,version:null,vertAdvY:D,vertOriginX:D,vertOriginY:D,viewBox:null,viewTarget:null,visibility:null,width:null,widths:null,wordSpacing:null,writingMode:null,x:null,x1:null,x2:null,xChannelSelector:null,xHeight:D,y:null,y1:null,y2:null,yChannelSelector:null,z:null,zoomAndPan:null},space:"svg",transform:q}),G=P({properties:{xLinkActuate:null,xLinkArcRole:null,xLinkHref:null,xLinkRole:null,xLinkShow:null,xLinkTitle:null,xLinkType:null},space:"xlink",transform:(e,t)=>"xlink:"+t.slice(5).toLowerCase()}),K=P({attributes:{xmlnsxlink:"xmlns:xlink"},properties:{xmlnsXLink:null,xmlns:null},space:"xmlns",transform:U}),V=P({properties:{xmlBase:null,xmlLang:null,xmlSpace:null},space:"xml",transform:(e,t)=>"xml:"+t.slice(3).toLowerCase()}),Z=N([F,$,G,K,V],"html"),W=N([F,H,G,K,V],"svg"),Q=/[A-Z]/g,X=/-[a-z]/g,J=/^data[-\w.:]+$/i;function Y(e){return"-"+e.toLowerCase()}function ee(e){return e.charAt(1).toUpperCase()}let et={classId:"classID",dataType:"datatype",itemId:"itemID",strokeDashArray:"strokeDasharray",strokeDashOffset:"strokeDashoffset",strokeLineCap:"strokeLinecap",strokeLineJoin:"strokeLinejoin",strokeMiterLimit:"strokeMiterlimit",typeOf:"typeof",xLinkActuate:"xlinkActuate",xLinkArcRole:"xlinkArcrole",xLinkHref:"xlinkHref",xLinkRole:"xlinkRole",xLinkShow:"xlinkShow",xLinkTitle:"xlinkTitle",xLinkType:"xlinkType",xmlnsXLink:"xmlnsXlink"};var en=n(39617);let er=ea("end"),ei=ea("start");function ea(e){return function(t){let n=t&&t.position&&t.position[e]||{};if("number"==typeof n.line&&n.line>0&&"number"==typeof n.column&&n.column>0)return{line:n.line,column:n.column,offset:"number"==typeof n.offset&&n.offset>-1?n.offset:void 0}}}function eo(e){return e&&"object"==typeof e?"position"in e||"type"in e?es(e.position):"start"in e||"end"in e?es(e):"line"in e||"column"in e?el(e):"":""}function el(e){return ec(e&&e.line)+":"+ec(e&&e.column)}function es(e){return el(e&&e.start)+"-"+el(e&&e.end)}function ec(e){return e&&"number"==typeof e?e:1}class eu extends Error{constructor(e,t,n){super(),"string"==typeof t&&(n=t,t=void 0);let r="",i={},a=!1;if(t&&(i="line"in t&&"column"in t?{place:t}:"start"in t&&"end"in t?{place:t}:"type"in t?{ancestors:[t],place:t.position}:{...t}),"string"==typeof e?r=e:!i.cause&&e&&(a=!0,r=e.message,i.cause=e),!i.ruleId&&!i.source&&"string"==typeof n){let e=n.indexOf(":");-1===e?i.ruleId=n:(i.source=n.slice(0,e),i.ruleId=n.slice(e+1))}if(!i.place&&i.ancestors&&i.ancestors){let e=i.ancestors[i.ancestors.length-1];e&&(i.place=e.position)}let o=i.place&&"start"in i.place?i.place.start:i.place;this.ancestors=i.ancestors||void 0,this.cause=i.cause||void 0,this.column=o?o.column:void 0,this.fatal=void 0,this.file="",this.message=r,this.line=o?o.line:void 0,this.name=eo(i.place)||"1:1",this.place=i.place||void 0,this.reason=this.message,this.ruleId=i.ruleId||void 0,this.source=i.source||void 0,this.stack=a&&i.cause&&"string"==typeof i.cause.stack?i.cause.stack:"",this.actual=void 0,this.expected=void 0,this.note=void 0,this.url=void 0}}eu.prototype.file="",eu.prototype.name="",eu.prototype.reason="",eu.prototype.message="",eu.prototype.stack="",eu.prototype.column=void 0,eu.prototype.line=void 0,eu.prototype.ancestors=void 0,eu.prototype.cause=void 0,eu.prototype.fatal=void 0,eu.prototype.place=void 0,eu.prototype.ruleId=void 0,eu.prototype.source=void 0;let ed={}.hasOwnProperty,ep=new Map,eg=/[A-Z]/g,ef=new Set(["table","tbody","thead","tfoot","tr"]),em=new Set(["td","th"]),eh="https://github.com/syntax-tree/hast-util-to-jsx-runtime";function eb(e,t,n){return"element"===t.type?function(e,t,n){let r=e.schema,i=r;"svg"===t.tagName.toLowerCase()&&"html"===r.space&&(i=W,e.schema=i),e.ancestors.push(t);let a=ek(e,t.tagName,!1),o=function(e,t){let n,r;let i={};for(r in t.properties)if("children"!==r&&ed.call(t.properties,r)){let a=function(e,t,n){let r=function(e,t){let n=S(t),r=t,i=C;if(n in e.normal)return e.property[e.normal[n]];if(n.length>4&&"data"===n.slice(0,4)&&J.test(t)){if("-"===t.charAt(4)){let e=t.slice(5).replace(X,ee);r="data"+e.charAt(0).toUpperCase()+e.slice(1)}else{let e=t.slice(4);if(!X.test(e)){let n=e.replace(Q,Y);"-"!==n.charAt(0)&&(n="-"+n),t="data"+n}}i=B}return new i(r,t)}(e.schema,t);if(!(null==n||"number"==typeof n&&Number.isNaN(n))){if(Array.isArray(n)&&(n=r.commaSeparated?function(e,t){let n={};return(""===e[e.length-1]?[...e,""]:e).join((n.padRight?" ":"")+","+(!1===n.padLeft?"":" ")).trim()}(n):n.join(" ").trim()),"style"===r.property){let t="object"==typeof n?n:function(e,t){try{return en(t,{reactCompat:!0})}catch(n){if(e.ignoreInvalidStyle)return{};let t=new eu("Cannot parse `style` attribute",{ancestors:e.ancestors,cause:n,ruleId:"style",source:"hast-util-to-jsx-runtime"});throw t.file=e.filePath||void 0,t.url=eh+"#cannot-parse-style-attribute",t}}(e,String(n));return"css"===e.stylePropertyNameCase&&(t=function(e){let t;let n={};for(t in e)ed.call(e,t)&&(n[function(e){let t=e.replace(eg,e_);return"ms-"===t.slice(0,3)&&(t="-"+t),t}(t)]=e[t]);return n}(t)),["style",t]}return["react"===e.elementAttributeNameCase&&r.space?et[r.property]||r.property:r.attribute,n]}}(e,r,t.properties[r]);if(a){let[r,o]=a;e.tableCellAlignToStyle&&"align"===r&&"string"==typeof o&&em.has(t.tagName)?n=o:i[r]=o}}return n&&((i.style||(i.style={}))["css"===e.stylePropertyNameCase?"text-align":"textAlign"]=n),i}(e,t),l=ev(e,t);return ef.has(t.tagName)&&(l=l.filter(function(e){return"string"!=typeof e||!("object"==typeof e?"text"===e.type&&_(e.value):_(e))})),ey(e,o,a,t),ex(o,l),e.ancestors.pop(),e.schema=r,e.create(t,a,o,n)}(e,t,n):"mdxFlowExpression"===t.type||"mdxTextExpression"===t.type?function(e,t){if(t.data&&t.data.estree&&e.evaluater){let n=t.data.estree.body[0];return n.type,e.evaluater.evaluateExpression(n.expression)}ew(e,t.position)}(e,t):"mdxJsxFlowElement"===t.type||"mdxJsxTextElement"===t.type?function(e,t,n){let r=e.schema,i=r;"svg"===t.name&&"html"===r.space&&(i=W,e.schema=i),e.ancestors.push(t);let a=null===t.name?e.Fragment:ek(e,t.name,!0),o=function(e,t){let n={};for(let r of t.attributes)if("mdxJsxExpressionAttribute"===r.type){if(r.data&&r.data.estree&&e.evaluater){let t=r.data.estree.body[0];t.type;let i=t.expression;i.type;let a=i.properties[0];a.type,Object.assign(n,e.evaluater.evaluateExpression(a.argument))}else ew(e,t.position)}else{let i;let a=r.name;if(r.value&&"object"==typeof r.value){if(r.value.data&&r.value.data.estree&&e.evaluater){let t=r.value.data.estree.body[0];t.type,i=e.evaluater.evaluateExpression(t.expression)}else ew(e,t.position)}else i=null===r.value||r.value;n[a]=i}return n}(e,t),l=ev(e,t);return ey(e,o,a,t),ex(o,l),e.ancestors.pop(),e.schema=r,e.create(t,a,o,n)}(e,t,n):"mdxjsEsm"===t.type?function(e,t){if(t.data&&t.data.estree&&e.evaluater)return e.evaluater.evaluateProgram(t.data.estree);ew(e,t.position)}(e,t):"root"===t.type?function(e,t,n){let r={};return ex(r,ev(e,t)),e.create(t,e.Fragment,r,n)}(e,t,n):"text"===t.type?t.value:void 0}function ey(e,t,n,r){"string"!=typeof n&&n!==e.Fragment&&e.passNode&&(t.node=r)}function ex(e,t){if(t.length>0){let n=t.length>1?t:t[0];n&&(e.children=n)}}function ev(e,t){let n=[],r=-1,i=e.passKeys?new Map:ep;for(;++r<t.children.length;){let a;let o=t.children[r];if(e.passKeys){let e="element"===o.type?o.tagName:"mdxJsxFlowElement"===o.type||"mdxJsxTextElement"===o.type?o.name:void 0;if(e){let t=i.get(e)||0;a=e+"-"+t,i.set(e,t+1)}}let l=eb(e,o,a);void 0!==l&&n.push(l)}return n}function ek(e,t,n){let r;if(n){if(t.includes(".")){let e;let n=t.split("."),i=-1;for(;++i<n.length;){let t=k(n[i])?{type:"Identifier",name:n[i]}:{type:"Literal",value:n[i]};e=e?{type:"MemberExpression",object:e,property:t,computed:!!(i&&"Literal"===t.type),optional:!1}:t}r=e}else r=k(t)&&!/^[a-z]/.test(t)?{type:"Identifier",name:t}:{type:"Literal",value:t}}else r={type:"Literal",value:t};if("Literal"===r.type){let t=r.value;return ed.call(e.components,t)?e.components[t]:t}if(e.evaluater)return e.evaluater.evaluateExpression(r);ew(e)}function ew(e,t){let n=new eu("Cannot handle MDX estrees without `createEvaluater`",{ancestors:e.ancestors,place:t,ruleId:"mdx-estree",source:"hast-util-to-jsx-runtime"});throw n.file=e.filePath||void 0,n.url=eh+"#cannot-handle-mdx-estrees-without-createevaluater",n}function e_(e){return"-"+e.toLowerCase()}let eE={action:["form"],cite:["blockquote","del","ins","q"],data:["object"],formAction:["button","input"],href:["a","area","base","link"],icon:["menuitem"],itemId:null,manifest:["html"],ping:["a","area"],poster:["video"],src:["audio","embed","iframe","img","input","script","source","track","video"]},eN={};function eS(e,t){let n=t||eN;return eC(e,"boolean"!=typeof n.includeImageAlt||n.includeImageAlt,"boolean"!=typeof n.includeHtml||n.includeHtml)}function eC(e,t,n){if(e&&"object"==typeof e){if("value"in e)return"html"!==e.type||n?e.value:"";if(t&&"alt"in e&&e.alt)return e.alt;if("children"in e)return eA(e.children,t,n)}return Array.isArray(e)?eA(e,t,n):""}function eA(e,t,n){let r=[],i=-1;for(;++i<e.length;)r[i]=eC(e[i],t,n);return r.join("")}function eM(e,t,n,r){let i;let a=e.length,o=0;if(t=t<0?-t>a?0:a+t:t>a?a:t,n=n>0?n:0,r.length<1e4)(i=Array.from(r)).unshift(t,n),e.splice(...i);else for(n&&e.splice(t,n);o<r.length;)(i=r.slice(o,o+1e4)).unshift(t,0),e.splice(...i),o+=1e4,t+=1e4}function eO(e,t){return e.length>0?(eM(e,e.length,0,t),e):t}class eT{constructor(e){this.left=e?[...e]:[],this.right=[]}get(e){if(e<0||e>=this.left.length+this.right.length)throw RangeError("Cannot access index `"+e+"` in a splice buffer of size `"+(this.left.length+this.right.length)+"`");return e<this.left.length?this.left[e]:this.right[this.right.length-e+this.left.length-1]}get length(){return this.left.length+this.right.length}shift(){return this.setCursor(0),this.right.pop()}slice(e,t){let n=null==t?Number.POSITIVE_INFINITY:t;return n<this.left.length?this.left.slice(e,n):e>this.left.length?this.right.slice(this.right.length-n+this.left.length,this.right.length-e+this.left.length).reverse():this.left.slice(e).concat(this.right.slice(this.right.length-n+this.left.length).reverse())}splice(e,t,n){this.setCursor(Math.trunc(e));let r=this.right.splice(this.right.length-(t||0),Number.POSITIVE_INFINITY);return n&&eD(this.left,n),r.reverse()}pop(){return this.setCursor(Number.POSITIVE_INFINITY),this.left.pop()}push(e){this.setCursor(Number.POSITIVE_INFINITY),this.left.push(e)}pushMany(e){this.setCursor(Number.POSITIVE_INFINITY),eD(this.left,e)}unshift(e){this.setCursor(0),this.right.push(e)}unshiftMany(e){this.setCursor(0),eD(this.right,e.reverse())}setCursor(e){if(e!==this.left.length&&(!(e>this.left.length)||0!==this.right.length)&&(!(e<0)||0!==this.left.length)){if(e<this.left.length){let t=this.left.splice(e,Number.POSITIVE_INFINITY);eD(this.right,t.reverse())}else{let t=this.right.splice(this.left.length+this.right.length-e,Number.POSITIVE_INFINITY);eD(this.left,t.reverse())}}}}function eD(e,t){let n=0;if(t.length<1e4)e.push(...t);else for(;n<t.length;)e.push(...t.slice(n,n+1e4)),n+=1e4}function eI(e){let t,n,r,i,a,o,l;let s={},c=-1,u=new eT(e);for(;++c<u.length;){for(;c in s;)c=s[c];if(t=u.get(c),c&&"chunkFlow"===t[1].type&&"listItemPrefix"===u.get(c-1)[1].type&&((r=0)<(o=t[1]._tokenizer.events).length&&"lineEndingBlank"===o[r][1].type&&(r+=2),r<o.length&&"content"===o[r][1].type))for(;++r<o.length&&"content"!==o[r][1].type;)"chunkText"===o[r][1].type&&(o[r][1]._isInFirstContentOfListItem=!0,r++);if("enter"===t[0])t[1].contentType&&(Object.assign(s,function(e,t){let n,r;let i=e.get(t)[1],a=e.get(t)[2],o=t-1,l=[],s=i._tokenizer;!s&&(s=a.parser[i.contentType](i.start),i._contentTypeTextTrailing&&(s._contentTypeTextTrailing=!0));let c=s.events,u=[],d={},p=-1,g=i,f=0,m=0,h=[0];for(;g;){for(;e.get(++o)[1]!==g;);l.push(o),!g._tokenizer&&(n=a.sliceStream(g),g.next||n.push(null),r&&s.defineSkip(g.start),g._isInFirstContentOfListItem&&(s._gfmTasklistFirstContentOfListItem=!0),s.write(n),g._isInFirstContentOfListItem&&(s._gfmTasklistFirstContentOfListItem=void 0)),r=g,g=g.next}for(g=i;++p<c.length;)"exit"===c[p][0]&&"enter"===c[p-1][0]&&c[p][1].type===c[p-1][1].type&&c[p][1].start.line!==c[p][1].end.line&&(m=p+1,h.push(m),g._tokenizer=void 0,g.previous=void 0,g=g.next);for(s.events=[],g?(g._tokenizer=void 0,g.previous=void 0):h.pop(),p=h.length;p--;){let t=c.slice(h[p],h[p+1]),n=l.pop();u.push([n,n+t.length-1]),e.splice(n,2,t)}for(u.reverse(),p=-1;++p<u.length;)d[f+u[p][0]]=f+u[p][1],f+=u[p][1]-u[p][0]-1;return d}(u,c)),c=s[c],l=!0);else if(t[1]._container){for(r=c,n=void 0;r--;)if("lineEnding"===(i=u.get(r))[1].type||"lineEndingBlank"===i[1].type)"enter"===i[0]&&(n&&(u.get(n)[1].type="lineEndingBlank"),i[1].type="lineEnding",n=r);else if("linePrefix"===i[1].type||"listItemIndent"===i[1].type);else break;n&&(t[1].end={...u.get(n)[1].start},(a=u.slice(n,c)).unshift(t),u.splice(n,c-n+1,a))}}return eM(e,0,Number.POSITIVE_INFINITY,u.slice(0)),!l}let ej={}.hasOwnProperty;function eL(e){let t={},n=-1;for(;++n<e.length;)(function(e,t){let n;for(n in t){let r;let i=(ej.call(e,n)?e[n]:void 0)||(e[n]={}),a=t[n];if(a)for(r in a){ej.call(i,r)||(i[r]=[]);let e=a[r];(function(e,t){let n=-1,r=[];for(;++n<t.length;)("after"===t[n].add?e:r).push(t[n]);eM(e,0,0,r)})(i[r],Array.isArray(e)?e:e?[e]:[])}}})(t,e[n]);return t}let eR=eZ(/[A-Za-z]/),ez=eZ(/[\dA-Za-z]/),eB=eZ(/[#-'*+\--9=?A-Z^-~]/);function eP(e){return null!==e&&(e<32||127===e)}let eF=eZ(/\d/),eq=eZ(/[\dA-Fa-f]/),eU=eZ(/[!-/:-@[-`{-~]/);function e$(e){return null!==e&&e<-2}function eH(e){return null!==e&&(e<0||32===e)}function eG(e){return -2===e||-1===e||32===e}let eK=eZ(/\p{P}|\p{S}/u),eV=eZ(/\s/);function eZ(e){return function(t){return null!==t&&t>-1&&e.test(String.fromCharCode(t))}}function eW(e,t,n,r){let i=r?r-1:Number.POSITIVE_INFINITY,a=0;return function(r){return eG(r)?(e.enter(n),function r(o){return eG(o)&&a++<i?(e.consume(o),r):(e.exit(n),t(o))}(r)):t(r)}}let eQ={tokenize:function(e){let t;let n=e.attempt(this.parser.constructs.contentInitial,function(t){if(null===t){e.consume(t);return}return e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),eW(e,n,"linePrefix")},function(n){return e.enter("paragraph"),function n(r){let i=e.enter("chunkText",{contentType:"text",previous:t});return t&&(t.next=i),t=i,function t(r){if(null===r){e.exit("chunkText"),e.exit("paragraph"),e.consume(r);return}return e$(r)?(e.consume(r),e.exit("chunkText"),n):(e.consume(r),t)}(r)}(n)});return n}},eX={tokenize:function(e){let t,n,r;let i=this,a=[],o=0;return l;function l(t){if(o<a.length){let n=a[o];return i.containerState=n[1],e.attempt(n[0].continuation,s,c)(t)}return c(t)}function s(e){if(o++,i.containerState._closeFlow){let n;i.containerState._closeFlow=void 0,t&&b();let r=i.events.length,a=r;for(;a--;)if("exit"===i.events[a][0]&&"chunkFlow"===i.events[a][1].type){n=i.events[a][1].end;break}h(o);let l=r;for(;l<i.events.length;)i.events[l][1].end={...n},l++;return eM(i.events,a+1,0,i.events.slice(r)),i.events.length=l,c(e)}return l(e)}function c(n){if(o===a.length){if(!t)return p(n);if(t.currentConstruct&&t.currentConstruct.concrete)return f(n);i.interrupt=!!(t.currentConstruct&&!t._gfmTableDynamicInterruptHack)}return i.containerState={},e.check(eJ,u,d)(n)}function u(e){return t&&b(),h(o),p(e)}function d(e){return i.parser.lazy[i.now().line]=o!==a.length,r=i.now().offset,f(e)}function p(t){return i.containerState={},e.attempt(eJ,g,f)(t)}function g(e){return o++,a.push([i.currentConstruct,i.containerState]),p(e)}function f(r){if(null===r){t&&b(),h(0),e.consume(r);return}return t=t||i.parser.flow(i.now()),e.enter("chunkFlow",{_tokenizer:t,contentType:"flow",previous:n}),function t(n){if(null===n){m(e.exit("chunkFlow"),!0),h(0),e.consume(n);return}return e$(n)?(e.consume(n),m(e.exit("chunkFlow")),o=0,i.interrupt=void 0,l):(e.consume(n),t)}(r)}function m(e,a){let l=i.sliceStream(e);if(a&&l.push(null),e.previous=n,n&&(n.next=e),n=e,t.defineSkip(e.start),t.write(l),i.parser.lazy[e.start.line]){let e,n,a=t.events.length;for(;a--;)if(t.events[a][1].start.offset<r&&(!t.events[a][1].end||t.events[a][1].end.offset>r))return;let l=i.events.length,s=l;for(;s--;)if("exit"===i.events[s][0]&&"chunkFlow"===i.events[s][1].type){if(e){n=i.events[s][1].end;break}e=!0}for(h(o),a=l;a<i.events.length;)i.events[a][1].end={...n},a++;eM(i.events,s+1,0,i.events.slice(l)),i.events.length=a}}function h(t){let n=a.length;for(;n-- >t;){let t=a[n];i.containerState=t[1],t[0].exit.call(i,e)}a.length=t}function b(){t.write([null]),n=void 0,t=void 0,i.containerState._closeFlow=void 0}}},eJ={tokenize:function(e,t,n){return eW(e,e.attempt(this.parser.constructs.document,t,n),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}},eY={partial:!0,tokenize:function(e,t,n){return function(t){return eG(t)?eW(e,r,"linePrefix")(t):r(t)};function r(e){return null===e||e$(e)?t(e):n(e)}}},e0={resolve:function(e){return eI(e),e},tokenize:function(e,t){let n;return function(t){return e.enter("content"),n=e.enter("chunkContent",{contentType:"content"}),r(t)};function r(t){return null===t?i(t):e$(t)?e.check(e1,a,i)(t):(e.consume(t),r)}function i(n){return e.exit("chunkContent"),e.exit("content"),t(n)}function a(t){return e.consume(t),e.exit("chunkContent"),n.next=e.enter("chunkContent",{contentType:"content",previous:n}),n=n.next,r}}},e1={partial:!0,tokenize:function(e,t,n){let r=this;return function(t){return e.exit("chunkContent"),e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),eW(e,i,"linePrefix")};function i(i){if(null===i||e$(i))return n(i);let a=r.events[r.events.length-1];return!r.parser.constructs.disable.null.includes("codeIndented")&&a&&"linePrefix"===a[1].type&&a[2].sliceSerialize(a[1],!0).length>=4?t(i):e.interrupt(r.parser.constructs.flow,n,t)(i)}}},e2={tokenize:function(e){let t=this,n=e.attempt(eY,function(r){if(null===r){e.consume(r);return}return e.enter("lineEndingBlank"),e.consume(r),e.exit("lineEndingBlank"),t.currentConstruct=void 0,n},e.attempt(this.parser.constructs.flowInitial,r,eW(e,e.attempt(this.parser.constructs.flow,r,e.attempt(e0,r)),"linePrefix")));return n;function r(r){if(null===r){e.consume(r);return}return e.enter("lineEnding"),e.consume(r),e.exit("lineEnding"),t.currentConstruct=void 0,n}}},e3={resolveAll:e6()},e5=e9("string"),e4=e9("text");function e9(e){return{resolveAll:e6("text"===e?e7:void 0),tokenize:function(t){let n=this,r=this.parser.constructs[e],i=t.attempt(r,a,o);return a;function a(e){return s(e)?i(e):o(e)}function o(e){if(null===e){t.consume(e);return}return t.enter("data"),t.consume(e),l}function l(e){return s(e)?(t.exit("data"),i(e)):(t.consume(e),l)}function s(e){if(null===e)return!0;let t=r[e],i=-1;if(t)for(;++i<t.length;){let e=t[i];if(!e.previous||e.previous.call(n,n.previous))return!0}return!1}}}}function e6(e){return function(t,n){let r,i=-1;for(;++i<=t.length;)void 0===r?t[i]&&"data"===t[i][1].type&&(r=i,i++):t[i]&&"data"===t[i][1].type||(i!==r+2&&(t[r][1].end=t[i-1][1].end,t.splice(r+2,i-r-2),i=r+2),r=void 0);return e?e(t,n):t}}function e7(e,t){let n=0;for(;++n<=e.length;)if((n===e.length||"lineEnding"===e[n][1].type)&&"data"===e[n-1][1].type){let r;let i=e[n-1][1],a=t.sliceStream(i),o=a.length,l=-1,s=0;for(;o--;){let e=a[o];if("string"==typeof e){for(l=e.length;32===e.charCodeAt(l-1);)s++,l--;if(l)break;l=-1}else if(-2===e)r=!0,s++;else if(-1===e);else{o++;break}}if(t._contentTypeTextTrailing&&n===e.length&&(s=0),s){let a={type:n===e.length||r||s<2?"lineSuffix":"hardBreakTrailing",start:{_bufferIndex:o?l:i.start._bufferIndex+l,_index:i.start._index+o,line:i.end.line,column:i.end.column-s,offset:i.end.offset-s},end:{...i.end}};i.end={...a.start},i.start.offset===i.end.offset?Object.assign(i,a):(e.splice(n,0,["enter",a,t],["exit",a,t]),n+=2)}n++}return e}let e8={name:"thematicBreak",tokenize:function(e,t,n){let r,i=0;return function(a){return e.enter("thematicBreak"),r=a,function a(o){return o===r?(e.enter("thematicBreakSequence"),function t(n){return n===r?(e.consume(n),i++,t):(e.exit("thematicBreakSequence"),eG(n)?eW(e,a,"whitespace")(n):a(n))}(o)):i>=3&&(null===o||e$(o))?(e.exit("thematicBreak"),t(o)):n(o)}(a)}}},te={continuation:{tokenize:function(e,t,n){let r=this;return r.containerState._closeFlow=void 0,e.check(eY,function(n){return r.containerState.furtherBlankLines=r.containerState.furtherBlankLines||r.containerState.initialBlankLine,eW(e,t,"listItemIndent",r.containerState.size+1)(n)},function(n){return r.containerState.furtherBlankLines||!eG(n)?(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,i(n)):(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,e.attempt(tn,t,i)(n))});function i(i){return r.containerState._closeFlow=!0,r.interrupt=void 0,eW(e,e.attempt(te,t,n),"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(i)}}},exit:function(e){e.exit(this.containerState.type)},name:"list",tokenize:function(e,t,n){let r=this,i=r.events[r.events.length-1],a=i&&"linePrefix"===i[1].type?i[2].sliceSerialize(i[1],!0).length:0,o=0;return function(t){let i=r.containerState.type||(42===t||43===t||45===t?"listUnordered":"listOrdered");if("listUnordered"===i?!r.containerState.marker||t===r.containerState.marker:eF(t)){if(r.containerState.type||(r.containerState.type=i,e.enter(i,{_container:!0})),"listUnordered"===i)return e.enter("listItemPrefix"),42===t||45===t?e.check(e8,n,l)(t):l(t);if(!r.interrupt||49===t)return e.enter("listItemPrefix"),e.enter("listItemValue"),function t(i){return eF(i)&&++o<10?(e.consume(i),t):(!r.interrupt||o<2)&&(r.containerState.marker?i===r.containerState.marker:41===i||46===i)?(e.exit("listItemValue"),l(i)):n(i)}(t)}return n(t)};function l(t){return e.enter("listItemMarker"),e.consume(t),e.exit("listItemMarker"),r.containerState.marker=r.containerState.marker||t,e.check(eY,r.interrupt?n:s,e.attempt(tt,u,c))}function s(e){return r.containerState.initialBlankLine=!0,a++,u(e)}function c(t){return eG(t)?(e.enter("listItemPrefixWhitespace"),e.consume(t),e.exit("listItemPrefixWhitespace"),u):n(t)}function u(n){return r.containerState.size=a+r.sliceSerialize(e.exit("listItemPrefix"),!0).length,t(n)}}},tt={partial:!0,tokenize:function(e,t,n){let r=this;return eW(e,function(e){let i=r.events[r.events.length-1];return!eG(e)&&i&&"listItemPrefixWhitespace"===i[1].type?t(e):n(e)},"listItemPrefixWhitespace",r.parser.constructs.disable.null.includes("codeIndented")?void 0:5)}},tn={partial:!0,tokenize:function(e,t,n){let r=this;return eW(e,function(e){let i=r.events[r.events.length-1];return i&&"listItemIndent"===i[1].type&&i[2].sliceSerialize(i[1],!0).length===r.containerState.size?t(e):n(e)},"listItemIndent",r.containerState.size+1)}},tr={continuation:{tokenize:function(e,t,n){let r=this;return function(t){return eG(t)?eW(e,i,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(t):i(t)};function i(r){return e.attempt(tr,t,n)(r)}}},exit:function(e){e.exit("blockQuote")},name:"blockQuote",tokenize:function(e,t,n){let r=this;return function(t){if(62===t){let n=r.containerState;return n.open||(e.enter("blockQuote",{_container:!0}),n.open=!0),e.enter("blockQuotePrefix"),e.enter("blockQuoteMarker"),e.consume(t),e.exit("blockQuoteMarker"),i}return n(t)};function i(n){return eG(n)?(e.enter("blockQuotePrefixWhitespace"),e.consume(n),e.exit("blockQuotePrefixWhitespace"),e.exit("blockQuotePrefix"),t):(e.exit("blockQuotePrefix"),t(n))}}};function ti(e,t,n,r,i,a,o,l,s){let c=s||Number.POSITIVE_INFINITY,u=0;return function(t){return 60===t?(e.enter(r),e.enter(i),e.enter(a),e.consume(t),e.exit(a),d):null===t||32===t||41===t||eP(t)?n(t):(e.enter(r),e.enter(o),e.enter(l),e.enter("chunkString",{contentType:"string"}),f(t))};function d(n){return 62===n?(e.enter(a),e.consume(n),e.exit(a),e.exit(i),e.exit(r),t):(e.enter(l),e.enter("chunkString",{contentType:"string"}),p(n))}function p(t){return 62===t?(e.exit("chunkString"),e.exit(l),d(t)):null===t||60===t||e$(t)?n(t):(e.consume(t),92===t?g:p)}function g(t){return 60===t||62===t||92===t?(e.consume(t),p):p(t)}function f(i){return!u&&(null===i||41===i||eH(i))?(e.exit("chunkString"),e.exit(l),e.exit(o),e.exit(r),t(i)):u<c&&40===i?(e.consume(i),u++,f):41===i?(e.consume(i),u--,f):null===i||32===i||40===i||eP(i)?n(i):(e.consume(i),92===i?m:f)}function m(t){return 40===t||41===t||92===t?(e.consume(t),f):f(t)}}function ta(e,t,n,r,i,a){let o;let l=this,s=0;return function(t){return e.enter(r),e.enter(i),e.consume(t),e.exit(i),e.enter(a),c};function c(d){return s>999||null===d||91===d||93===d&&!o||94===d&&!s&&"_hiddenFootnoteSupport"in l.parser.constructs?n(d):93===d?(e.exit(a),e.enter(i),e.consume(d),e.exit(i),e.exit(r),t):e$(d)?(e.enter("lineEnding"),e.consume(d),e.exit("lineEnding"),c):(e.enter("chunkString",{contentType:"string"}),u(d))}function u(t){return null===t||91===t||93===t||e$(t)||s++>999?(e.exit("chunkString"),c(t)):(e.consume(t),o||(o=!eG(t)),92===t?d:u)}function d(t){return 91===t||92===t||93===t?(e.consume(t),s++,u):u(t)}}function to(e,t,n,r,i,a){let o;return function(t){return 34===t||39===t||40===t?(e.enter(r),e.enter(i),e.consume(t),e.exit(i),o=40===t?41:t,l):n(t)};function l(n){return n===o?(e.enter(i),e.consume(n),e.exit(i),e.exit(r),t):(e.enter(a),s(n))}function s(t){return t===o?(e.exit(a),l(o)):null===t?n(t):e$(t)?(e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),eW(e,s,"linePrefix")):(e.enter("chunkString",{contentType:"string"}),c(t))}function c(t){return t===o||null===t||e$(t)?(e.exit("chunkString"),s(t)):(e.consume(t),92===t?u:c)}function u(t){return t===o||92===t?(e.consume(t),c):c(t)}}function tl(e,t){let n;return function r(i){return e$(i)?(e.enter("lineEnding"),e.consume(i),e.exit("lineEnding"),n=!0,r):eG(i)?eW(e,r,n?"linePrefix":"lineSuffix")(i):t(i)}}function ts(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}let tc={partial:!0,tokenize:function(e,t,n){return function(t){return eH(t)?tl(e,r)(t):n(t)};function r(t){return to(e,i,n,"definitionTitle","definitionTitleMarker","definitionTitleString")(t)}function i(t){return eG(t)?eW(e,a,"whitespace")(t):a(t)}function a(e){return null===e||e$(e)?t(e):n(e)}}},tu={name:"codeIndented",tokenize:function(e,t,n){let r=this;return function(t){return e.enter("codeIndented"),eW(e,i,"linePrefix",5)(t)};function i(t){let i=r.events[r.events.length-1];return i&&"linePrefix"===i[1].type&&i[2].sliceSerialize(i[1],!0).length>=4?function t(n){return null===n?a(n):e$(n)?e.attempt(td,t,a)(n):(e.enter("codeFlowValue"),function n(r){return null===r||e$(r)?(e.exit("codeFlowValue"),t(r)):(e.consume(r),n)}(n))}(t):n(t)}function a(n){return e.exit("codeIndented"),t(n)}}},td={partial:!0,tokenize:function(e,t,n){let r=this;return i;function i(t){return r.parser.lazy[r.now().line]?n(t):e$(t)?(e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),i):eW(e,a,"linePrefix",5)(t)}function a(e){let a=r.events[r.events.length-1];return a&&"linePrefix"===a[1].type&&a[2].sliceSerialize(a[1],!0).length>=4?t(e):e$(e)?i(e):n(e)}}},tp={name:"setextUnderline",resolveTo:function(e,t){let n,r,i,a=e.length;for(;a--;)if("enter"===e[a][0]){if("content"===e[a][1].type){n=a;break}"paragraph"===e[a][1].type&&(r=a)}else"content"===e[a][1].type&&e.splice(a,1),i||"definition"!==e[a][1].type||(i=a);let o={type:"setextHeading",start:{...e[n][1].start},end:{...e[e.length-1][1].end}};return e[r][1].type="setextHeadingText",i?(e.splice(r,0,["enter",o,t]),e.splice(i+1,0,["exit",e[n][1],t]),e[n][1].end={...e[i][1].end}):e[n][1]=o,e.push(["exit",o,t]),e},tokenize:function(e,t,n){let r;let i=this;return function(t){let o,l=i.events.length;for(;l--;)if("lineEnding"!==i.events[l][1].type&&"linePrefix"!==i.events[l][1].type&&"content"!==i.events[l][1].type){o="paragraph"===i.events[l][1].type;break}return!i.parser.lazy[i.now().line]&&(i.interrupt||o)?(e.enter("setextHeadingLine"),r=t,e.enter("setextHeadingLineSequence"),function t(n){return n===r?(e.consume(n),t):(e.exit("setextHeadingLineSequence"),eG(n)?eW(e,a,"lineSuffix")(n):a(n))}(t)):n(t)};function a(r){return null===r||e$(r)?(e.exit("setextHeadingLine"),t(r)):n(r)}}},tg=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],tf=["pre","script","style","textarea"],tm={partial:!0,tokenize:function(e,t,n){return function(r){return e.enter("lineEnding"),e.consume(r),e.exit("lineEnding"),e.attempt(eY,t,n)}}},th={partial:!0,tokenize:function(e,t,n){let r=this;return function(t){return e$(t)?(e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),i):n(t)};function i(e){return r.parser.lazy[r.now().line]?n(e):t(e)}}},tb={partial:!0,tokenize:function(e,t,n){let r=this;return function(t){return null===t?n(t):(e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),i)};function i(e){return r.parser.lazy[r.now().line]?n(e):t(e)}}},ty={concrete:!0,name:"codeFenced",tokenize:function(e,t,n){let r;let i=this,a={partial:!0,tokenize:function(e,t,n){let a=0;return function(t){return e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),o};function o(t){return e.enter("codeFencedFence"),eG(t)?eW(e,s,"linePrefix",i.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(t):s(t)}function s(t){return t===r?(e.enter("codeFencedFenceSequence"),function t(i){return i===r?(a++,e.consume(i),t):a>=l?(e.exit("codeFencedFenceSequence"),eG(i)?eW(e,c,"whitespace")(i):c(i)):n(i)}(t)):n(t)}function c(r){return null===r||e$(r)?(e.exit("codeFencedFence"),t(r)):n(r)}}},o=0,l=0;return function(t){return function(t){let a=i.events[i.events.length-1];return o=a&&"linePrefix"===a[1].type?a[2].sliceSerialize(a[1],!0).length:0,r=t,e.enter("codeFenced"),e.enter("codeFencedFence"),e.enter("codeFencedFenceSequence"),function t(i){return i===r?(l++,e.consume(i),t):l<3?n(i):(e.exit("codeFencedFenceSequence"),eG(i)?eW(e,s,"whitespace")(i):s(i))}(t)}(t)};function s(a){return null===a||e$(a)?(e.exit("codeFencedFence"),i.interrupt?t(a):e.check(tb,u,f)(a)):(e.enter("codeFencedFenceInfo"),e.enter("chunkString",{contentType:"string"}),function t(i){return null===i||e$(i)?(e.exit("chunkString"),e.exit("codeFencedFenceInfo"),s(i)):eG(i)?(e.exit("chunkString"),e.exit("codeFencedFenceInfo"),eW(e,c,"whitespace")(i)):96===i&&i===r?n(i):(e.consume(i),t)}(a))}function c(t){return null===t||e$(t)?s(t):(e.enter("codeFencedFenceMeta"),e.enter("chunkString",{contentType:"string"}),function t(i){return null===i||e$(i)?(e.exit("chunkString"),e.exit("codeFencedFenceMeta"),s(i)):96===i&&i===r?n(i):(e.consume(i),t)}(t))}function u(t){return e.attempt(a,f,d)(t)}function d(t){return e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),p}function p(t){return o>0&&eG(t)?eW(e,g,"linePrefix",o+1)(t):g(t)}function g(t){return null===t||e$(t)?e.check(tb,u,f)(t):(e.enter("codeFlowValue"),function t(n){return null===n||e$(n)?(e.exit("codeFlowValue"),g(n)):(e.consume(n),t)}(t))}function f(n){return e.exit("codeFenced"),t(n)}}},tx={AElig:"\xc6",AMP:"&",Aacute:"\xc1",Abreve:"Ă",Acirc:"\xc2",Acy:"А",Afr:"\uD835\uDD04",Agrave:"\xc0",Alpha:"Α",Amacr:"Ā",And:"⩓",Aogon:"Ą",Aopf:"\uD835\uDD38",ApplyFunction:"",Aring:"\xc5",Ascr:"\uD835\uDC9C",Assign:"≔",Atilde:"\xc3",Auml:"\xc4",Backslash:"∖",Barv:"⫧",Barwed:"⌆",Bcy:"Б",Because:"∵",Bernoullis:"ℬ",Beta:"Β",Bfr:"\uD835\uDD05",Bopf:"\uD835\uDD39",Breve:"˘",Bscr:"ℬ",Bumpeq:"≎",CHcy:"Ч",COPY:"\xa9",Cacute:"Ć",Cap:"⋒",CapitalDifferentialD:"ⅅ",Cayleys:"ℭ",Ccaron:"Č",Ccedil:"\xc7",Ccirc:"Ĉ",Cconint:"∰",Cdot:"Ċ",Cedilla:"\xb8",CenterDot:"\xb7",Cfr:"ℭ",Chi:"Χ",CircleDot:"⊙",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",Colon:"∷",Colone:"⩴",Congruent:"≡",Conint:"∯",ContourIntegral:"∮",Copf:"ℂ",Coproduct:"∐",CounterClockwiseContourIntegral:"∳",Cross:"⨯",Cscr:"\uD835\uDC9E",Cup:"⋓",CupCap:"≍",DD:"ⅅ",DDotrahd:"⤑",DJcy:"Ђ",DScy:"Ѕ",DZcy:"Џ",Dagger:"‡",Darr:"↡",Dashv:"⫤",Dcaron:"Ď",Dcy:"Д",Del:"∇",Delta:"Δ",Dfr:"\uD835\uDD07",DiacriticalAcute:"\xb4",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",Diamond:"⋄",DifferentialD:"ⅆ",Dopf:"\uD835\uDD3B",Dot:"\xa8",DotDot:"⃜",DotEqual:"≐",DoubleContourIntegral:"∯",DoubleDot:"\xa8",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",DownArrow:"↓",DownArrowBar:"⤓",DownArrowUpArrow:"⇵",DownBreve:"̑",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVector:"↽",DownLeftVectorBar:"⥖",DownRightTeeVector:"⥟",DownRightVector:"⇁",DownRightVectorBar:"⥗",DownTee:"⊤",DownTeeArrow:"↧",Downarrow:"⇓",Dscr:"\uD835\uDC9F",Dstrok:"Đ",ENG:"Ŋ",ETH:"\xd0",Eacute:"\xc9",Ecaron:"Ě",Ecirc:"\xca",Ecy:"Э",Edot:"Ė",Efr:"\uD835\uDD08",Egrave:"\xc8",Element:"∈",Emacr:"Ē",EmptySmallSquare:"◻",EmptyVerySmallSquare:"▫",Eogon:"Ę",Eopf:"\uD835\uDD3C",Epsilon:"Ε",Equal:"⩵",EqualTilde:"≂",Equilibrium:"⇌",Escr:"ℰ",Esim:"⩳",Eta:"Η",Euml:"\xcb",Exists:"∃",ExponentialE:"ⅇ",Fcy:"Ф",Ffr:"\uD835\uDD09",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",Fopf:"\uD835\uDD3D",ForAll:"∀",Fouriertrf:"ℱ",Fscr:"ℱ",GJcy:"Ѓ",GT:">",Gamma:"Γ",Gammad:"Ϝ",Gbreve:"Ğ",Gcedil:"Ģ",Gcirc:"Ĝ",Gcy:"Г",Gdot:"Ġ",Gfr:"\uD835\uDD0A",Gg:"⋙",Gopf:"\uD835\uDD3E",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"\uD835\uDCA2",Gt:"≫",HARDcy:"Ъ",Hacek:"ˇ",Hat:"^",Hcirc:"Ĥ",Hfr:"ℌ",HilbertSpace:"ℋ",Hopf:"ℍ",HorizontalLine:"─",Hscr:"ℋ",Hstrok:"Ħ",HumpDownHump:"≎",HumpEqual:"≏",IEcy:"Е",IJlig:"IJ",IOcy:"Ё",Iacute:"\xcd",Icirc:"\xce",Icy:"И",Idot:"İ",Ifr:"ℑ",Igrave:"\xcc",Im:"ℑ",Imacr:"Ī",ImaginaryI:"ⅈ",Implies:"⇒",Int:"∬",Integral:"∫",Intersection:"⋂",InvisibleComma:"",InvisibleTimes:"",Iogon:"Į",Iopf:"\uD835\uDD40",Iota:"Ι",Iscr:"ℐ",Itilde:"Ĩ",Iukcy:"І",Iuml:"\xcf",Jcirc:"Ĵ",Jcy:"Й",Jfr:"\uD835\uDD0D",Jopf:"\uD835\uDD41",Jscr:"\uD835\uDCA5",Jsercy:"Ј",Jukcy:"Є",KHcy:"Х",KJcy:"Ќ",Kappa:"Κ",Kcedil:"Ķ",Kcy:"К",Kfr:"\uD835\uDD0E",Kopf:"\uD835\uDD42",Kscr:"\uD835\uDCA6",LJcy:"Љ",LT:"<",Lacute:"Ĺ",Lambda:"Λ",Lang:"⟪",Laplacetrf:"ℒ",Larr:"↞",Lcaron:"Ľ",Lcedil:"Ļ",Lcy:"Л",LeftAngleBracket:"⟨",LeftArrow:"←",LeftArrowBar:"⇤",LeftArrowRightArrow:"⇆",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVector:"⇃",LeftDownVectorBar:"⥙",LeftFloor:"⌊",LeftRightArrow:"↔",LeftRightVector:"⥎",LeftTee:"⊣",LeftTeeArrow:"↤",LeftTeeVector:"⥚",LeftTriangle:"⊲",LeftTriangleBar:"⧏",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVector:"↿",LeftUpVectorBar:"⥘",LeftVector:"↼",LeftVectorBar:"⥒",Leftarrow:"⇐",Leftrightarrow:"⇔",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",LessLess:"⪡",LessSlantEqual:"⩽",LessTilde:"≲",Lfr:"\uD835\uDD0F",Ll:"⋘",Lleftarrow:"⇚",Lmidot:"Ŀ",LongLeftArrow:"⟵",LongLeftRightArrow:"⟷",LongRightArrow:"⟶",Longleftarrow:"⟸",Longleftrightarrow:"⟺",Longrightarrow:"⟹",Lopf:"\uD835\uDD43",LowerLeftArrow:"↙",LowerRightArrow:"↘",Lscr:"ℒ",Lsh:"↰",Lstrok:"Ł",Lt:"≪",Map:"⤅",Mcy:"М",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"\uD835\uDD10",MinusPlus:"∓",Mopf:"\uD835\uDD44",Mscr:"ℳ",Mu:"Μ",NJcy:"Њ",Nacute:"Ń",Ncaron:"Ň",Ncedil:"Ņ",Ncy:"Н",NegativeMediumSpace:"",NegativeThickSpace:"",NegativeThinSpace:"",NegativeVeryThinSpace:"",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",Nfr:"\uD835\uDD11",NoBreak:"",NonBreakingSpace:"\xa0",Nopf:"ℕ",Not:"⫬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",NotLeftTriangle:"⋪",NotLeftTriangleBar:"⧏̸",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangle:"⋫",NotRightTriangleBar:"⧐̸",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",Nscr:"\uD835\uDCA9",Ntilde:"\xd1",Nu:"Ν",OElig:"Œ",Oacute:"\xd3",Ocirc:"\xd4",Ocy:"О",Odblac:"Ő",Ofr:"\uD835\uDD12",Ograve:"\xd2",Omacr:"Ō",Omega:"Ω",Omicron:"Ο",Oopf:"\uD835\uDD46",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",Or:"⩔",Oscr:"\uD835\uDCAA",Oslash:"\xd8",Otilde:"\xd5",Otimes:"⨷",Ouml:"\xd6",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",PartialD:"∂",Pcy:"П",Pfr:"\uD835\uDD13",Phi:"Φ",Pi:"Π",PlusMinus:"\xb1",Poincareplane:"ℌ",Popf:"ℙ",Pr:"⪻",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",Prime:"″",Product:"∏",Proportion:"∷",Proportional:"∝",Pscr:"\uD835\uDCAB",Psi:"Ψ",QUOT:'"',Qfr:"\uD835\uDD14",Qopf:"ℚ",Qscr:"\uD835\uDCAC",RBarr:"⤐",REG:"\xae",Racute:"Ŕ",Rang:"⟫",Rarr:"↠",Rarrtl:"⤖",Rcaron:"Ř",Rcedil:"Ŗ",Rcy:"Р",Re:"ℜ",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",Rfr:"ℜ",Rho:"Ρ",RightAngleBracket:"⟩",RightArrow:"→",RightArrowBar:"⇥",RightArrowLeftArrow:"⇄",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVector:"⇂",RightDownVectorBar:"⥕",RightFloor:"⌋",RightTee:"⊢",RightTeeArrow:"↦",RightTeeVector:"⥛",RightTriangle:"⊳",RightTriangleBar:"⧐",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVector:"↾",RightUpVectorBar:"⥔",RightVector:"⇀",RightVectorBar:"⥓",Rightarrow:"⇒",Ropf:"ℝ",RoundImplies:"⥰",Rrightarrow:"⇛",Rscr:"ℛ",Rsh:"↱",RuleDelayed:"⧴",SHCHcy:"Щ",SHcy:"Ш",SOFTcy:"Ь",Sacute:"Ś",Sc:"⪼",Scaron:"Š",Scedil:"Ş",Scirc:"Ŝ",Scy:"С",Sfr:"\uD835\uDD16",ShortDownArrow:"↓",ShortLeftArrow:"←",ShortRightArrow:"→",ShortUpArrow:"↑",Sigma:"Σ",SmallCircle:"∘",Sopf:"\uD835\uDD4A",Sqrt:"√",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",Sscr:"\uD835\uDCAE",Star:"⋆",Sub:"⋐",Subset:"⋐",SubsetEqual:"⊆",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",SuchThat:"∋",Sum:"∑",Sup:"⋑",Superset:"⊃",SupersetEqual:"⊇",Supset:"⋑",THORN:"\xde",TRADE:"™",TSHcy:"Ћ",TScy:"Ц",Tab:" ",Tau:"Τ",Tcaron:"Ť",Tcedil:"Ţ",Tcy:"Т",Tfr:"\uD835\uDD17",Therefore:"∴",Theta:"Θ",ThickSpace:" ",ThinSpace:" ",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",Topf:"\uD835\uDD4B",TripleDot:"⃛",Tscr:"\uD835\uDCAF",Tstrok:"Ŧ",Uacute:"\xda",Uarr:"↟",Uarrocir:"⥉",Ubrcy:"Ў",Ubreve:"Ŭ",Ucirc:"\xdb",Ucy:"У",Udblac:"Ű",Ufr:"\uD835\uDD18",Ugrave:"\xd9",Umacr:"Ū",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",Uopf:"\uD835\uDD4C",UpArrow:"↑",UpArrowBar:"⤒",UpArrowDownArrow:"⇅",UpDownArrow:"↕",UpEquilibrium:"⥮",UpTee:"⊥",UpTeeArrow:"↥",Uparrow:"⇑",Updownarrow:"⇕",UpperLeftArrow:"↖",UpperRightArrow:"↗",Upsi:"ϒ",Upsilon:"Υ",Uring:"Ů",Uscr:"\uD835\uDCB0",Utilde:"Ũ",Uuml:"\xdc",VDash:"⊫",Vbar:"⫫",Vcy:"В",Vdash:"⊩",Vdashl:"⫦",Vee:"⋁",Verbar:"‖",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"\uD835\uDD19",Vopf:"\uD835\uDD4D",Vscr:"\uD835\uDCB1",Vvdash:"⊪",Wcirc:"Ŵ",Wedge:"⋀",Wfr:"\uD835\uDD1A",Wopf:"\uD835\uDD4E",Wscr:"\uD835\uDCB2",Xfr:"\uD835\uDD1B",Xi:"Ξ",Xopf:"\uD835\uDD4F",Xscr:"\uD835\uDCB3",YAcy:"Я",YIcy:"Ї",YUcy:"Ю",Yacute:"\xdd",Ycirc:"Ŷ",Ycy:"Ы",Yfr:"\uD835\uDD1C",Yopf:"\uD835\uDD50",Yscr:"\uD835\uDCB4",Yuml:"Ÿ",ZHcy:"Ж",Zacute:"Ź",Zcaron:"Ž",Zcy:"З",Zdot:"Ż",ZeroWidthSpace:"",Zeta:"Ζ",Zfr:"ℨ",Zopf:"ℤ",Zscr:"\uD835\uDCB5",aacute:"\xe1",abreve:"ă",ac:"∾",acE:"∾̳",acd:"∿",acirc:"\xe2",acute:"\xb4",acy:"а",aelig:"\xe6",af:"",afr:"\uD835\uDD1E",agrave:"\xe0",alefsym:"ℵ",aleph:"ℵ",alpha:"α",amacr:"ā",amalg:"⨿",amp:"&",and:"∧",andand:"⩕",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsd:"∡",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"\xc5",angzarr:"⍼",aogon:"ą",aopf:"\uD835\uDD52",ap:"≈",apE:"⩰",apacir:"⩯",ape:"≊",apid:"≋",apos:"'",approx:"≈",approxeq:"≊",aring:"\xe5",ascr:"\uD835\uDCB6",ast:"*",asymp:"≈",asympeq:"≍",atilde:"\xe3",auml:"\xe4",awconint:"∳",awint:"⨑",bNot:"⫭",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",barvee:"⊽",barwed:"⌅",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",bcy:"б",bdquo:"„",becaus:"∵",because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",beta:"β",beth:"ℶ",between:"≬",bfr:"\uD835\uDD1F",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bnot:"⌐",bopf:"\uD835\uDD53",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxDL:"╗",boxDR:"╔",boxDl:"╖",boxDr:"╓",boxH:"═",boxHD:"╦",boxHU:"╩",boxHd:"╤",boxHu:"╧",boxUL:"╝",boxUR:"╚",boxUl:"╜",boxUr:"╙",boxV:"║",boxVH:"╬",boxVL:"╣",boxVR:"╠",boxVh:"╫",boxVl:"╢",boxVr:"╟",boxbox:"⧉",boxdL:"╕",boxdR:"╒",boxdl:"┐",boxdr:"┌",boxh:"─",boxhD:"╥",boxhU:"╨",boxhd:"┬",boxhu:"┴",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxuL:"╛",boxuR:"╘",boxul:"┘",boxur:"└",boxv:"│",boxvH:"╪",boxvL:"╡",boxvR:"╞",boxvh:"┼",boxvl:"┤",boxvr:"├",bprime:"‵",breve:"˘",brvbar:"\xa6",bscr:"\uD835\uDCB7",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsol:"\\",bsolb:"⧅",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",bumpeq:"≏",cacute:"ć",cap:"∩",capand:"⩄",capbrcup:"⩉",capcap:"⩋",capcup:"⩇",capdot:"⩀",caps:"∩︀",caret:"⁁",caron:"ˇ",ccaps:"⩍",ccaron:"č",ccedil:"\xe7",ccirc:"ĉ",ccups:"⩌",ccupssm:"⩐",cdot:"ċ",cedil:"\xb8",cemptyv:"⦲",cent:"\xa2",centerdot:"\xb7",cfr:"\uD835\uDD20",chcy:"ч",check:"✓",checkmark:"✓",chi:"χ",cir:"○",cirE:"⧃",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledR:"\xae",circledS:"Ⓢ",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",clubs:"♣",clubsuit:"♣",colon:":",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",conint:"∮",copf:"\uD835\uDD54",coprod:"∐",copy:"\xa9",copysr:"℗",crarr:"↵",cross:"✗",cscr:"\uD835\uDCB8",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cup:"∪",cupbrcap:"⩈",cupcap:"⩆",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"\xa4",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dArr:"⇓",dHar:"⥥",dagger:"†",daleth:"ℸ",darr:"↓",dash:"‐",dashv:"⊣",dbkarow:"⤏",dblac:"˝",dcaron:"ď",dcy:"д",dd:"ⅆ",ddagger:"‡",ddarr:"⇊",ddotseq:"⩷",deg:"\xb0",delta:"δ",demptyv:"⦱",dfisht:"⥿",dfr:"\uD835\uDD21",dharl:"⇃",dharr:"⇂",diam:"⋄",diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"\xa8",digamma:"ϝ",disin:"⋲",div:"\xf7",divide:"\xf7",divideontimes:"⋇",divonx:"⋇",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",dopf:"\uD835\uDD55",dot:"˙",doteq:"≐",doteqdot:"≑",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",downarrow:"↓",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",dscr:"\uD835\uDCB9",dscy:"ѕ",dsol:"⧶",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",dzcy:"џ",dzigrarr:"⟿",eDDot:"⩷",eDot:"≑",eacute:"\xe9",easter:"⩮",ecaron:"ě",ecir:"≖",ecirc:"\xea",ecolon:"≕",ecy:"э",edot:"ė",ee:"ⅇ",efDot:"≒",efr:"\uD835\uDD22",eg:"⪚",egrave:"\xe8",egs:"⪖",egsdot:"⪘",el:"⪙",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",emacr:"ē",empty:"∅",emptyset:"∅",emptyv:"∅",emsp13:" ",emsp14:" ",emsp:" ",eng:"ŋ",ensp:" ",eogon:"ę",eopf:"\uD835\uDD56",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",equals:"=",equest:"≟",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erDot:"≓",erarr:"⥱",escr:"ℯ",esdot:"≐",esim:"≂",eta:"η",eth:"\xf0",euml:"\xeb",euro:"€",excl:"!",exist:"∃",expectation:"ℰ",exponentiale:"ⅇ",fallingdotseq:"≒",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",ffr:"\uD835\uDD23",filig:"fi",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",fopf:"\uD835\uDD57",forall:"∀",fork:"⋔",forkv:"⫙",fpartint:"⨍",frac12:"\xbd",frac13:"⅓",frac14:"\xbc",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"\xbe",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"\uD835\uDCBB",gE:"≧",gEl:"⪌",gacute:"ǵ",gamma:"γ",gammad:"ϝ",gap:"⪆",gbreve:"ğ",gcirc:"ĝ",gcy:"г",gdot:"ġ",ge:"≥",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",ges:"⩾",gescc:"⪩",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",gfr:"\uD835\uDD24",gg:"≫",ggg:"⋙",gimel:"ℷ",gjcy:"ѓ",gl:"≷",glE:"⪒",gla:"⪥",glj:"⪤",gnE:"≩",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gneq:"⪈",gneqq:"≩",gnsim:"⋧",gopf:"\uD835\uDD58",grave:"`",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",gt:">",gtcc:"⪧",gtcir:"⩺",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",hArr:"⇔",hairsp:" ",half:"\xbd",hamilt:"ℋ",hardcy:"ъ",harr:"↔",harrcir:"⥈",harrw:"↭",hbar:"ℏ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"\uD835\uDD25",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"\uD835\uDD59",horbar:"―",hscr:"\uD835\uDCBD",hslash:"ℏ",hstrok:"ħ",hybull:"⁃",hyphen:"‐",iacute:"\xed",ic:"",icirc:"\xee",icy:"и",iecy:"е",iexcl:"\xa1",iff:"⇔",ifr:"\uD835\uDD26",igrave:"\xec",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",ijlig:"ij",imacr:"ī",image:"ℑ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",imof:"⊷",imped:"Ƶ",in:"∈",incare:"℅",infin:"∞",infintie:"⧝",inodot:"ı",int:"∫",intcal:"⊺",integers:"ℤ",intercal:"⊺",intlarhk:"⨗",intprod:"⨼",iocy:"ё",iogon:"į",iopf:"\uD835\uDD5A",iota:"ι",iprod:"⨼",iquest:"\xbf",iscr:"\uD835\uDCBE",isin:"∈",isinE:"⋹",isindot:"⋵",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"",itilde:"ĩ",iukcy:"і",iuml:"\xef",jcirc:"ĵ",jcy:"й",jfr:"\uD835\uDD27",jmath:"ȷ",jopf:"\uD835\uDD5B",jscr:"\uD835\uDCBF",jsercy:"ј",jukcy:"є",kappa:"κ",kappav:"ϰ",kcedil:"ķ",kcy:"к",kfr:"\uD835\uDD28",kgreen:"ĸ",khcy:"х",kjcy:"ќ",kopf:"\uD835\uDD5C",kscr:"\uD835\uDCC0",lAarr:"⇚",lArr:"⇐",lAtail:"⤛",lBarr:"⤎",lE:"≦",lEg:"⪋",lHar:"⥢",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",lambda:"λ",lang:"⟨",langd:"⦑",langle:"⟨",lap:"⪅",laquo:"\xab",larr:"←",larrb:"⇤",larrbfs:"⤟",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",lat:"⪫",latail:"⤙",late:"⪭",lates:"⪭︀",lbarr:"⤌",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",lcaron:"ľ",lcedil:"ļ",lceil:"⌈",lcub:"{",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",leftarrow:"←",leftarrowtail:"↢",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",leftthreetimes:"⋋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",les:"⩽",lescc:"⪨",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",lessgtr:"≶",lesssim:"≲",lfisht:"⥼",lfloor:"⌊",lfr:"\uD835\uDD29",lg:"≶",lgE:"⪑",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",ljcy:"љ",ll:"≪",llarr:"⇇",llcorner:"⌞",llhard:"⥫",lltri:"◺",lmidot:"ŀ",lmoust:"⎰",lmoustache:"⎰",lnE:"≨",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",longleftrightarrow:"⟷",longmapsto:"⟼",longrightarrow:"⟶",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",lopf:"\uD835\uDD5D",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"",lrtri:"⊿",lsaquo:"‹",lscr:"\uD835\uDCC1",lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",lstrok:"ł",lt:"<",ltcc:"⪦",ltcir:"⩹",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltrPar:"⦖",ltri:"◃",ltrie:"⊴",ltrif:"◂",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",mDDot:"∺",macr:"\xaf",male:"♂",malt:"✠",maltese:"✠",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",mcy:"м",mdash:"—",measuredangle:"∡",mfr:"\uD835\uDD2A",mho:"℧",micro:"\xb5",mid:"∣",midast:"*",midcir:"⫰",middot:"\xb7",minus:"−",minusb:"⊟",minusd:"∸",minusdu:"⨪",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",mopf:"\uD835\uDD5E",mp:"∓",mscr:"\uD835\uDCC2",mstpos:"∾",mu:"μ",multimap:"⊸",mumap:"⊸",nGg:"⋙̸",nGt:"≫⃒",nGtv:"≫̸",nLeftarrow:"⇍",nLeftrightarrow:"⇎",nLl:"⋘̸",nLt:"≪⃒",nLtv:"≪̸",nRightarrow:"⇏",nVDash:"⊯",nVdash:"⊮",nabla:"∇",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natur:"♮",natural:"♮",naturals:"ℕ",nbsp:"\xa0",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",ncaron:"ň",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",ncy:"н",ndash:"–",ne:"≠",neArr:"⇗",nearhk:"⤤",nearr:"↗",nearrow:"↗",nedot:"≐̸",nequiv:"≢",nesear:"⤨",nesim:"≂̸",nexist:"∄",nexists:"∄",nfr:"\uD835\uDD2B",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",ngsim:"≵",ngt:"≯",ngtr:"≯",nhArr:"⇎",nharr:"↮",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",njcy:"њ",nlArr:"⇍",nlE:"≦̸",nlarr:"↚",nldr:"‥",nle:"≰",nleftarrow:"↚",nleftrightarrow:"↮",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nlsim:"≴",nlt:"≮",nltri:"⋪",nltrie:"⋬",nmid:"∤",nopf:"\uD835\uDD5F",not:"\xac",notin:"∉",notinE:"⋹̸",notindot:"⋵̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",npar:"∦",nparallel:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",npre:"⪯̸",nprec:"⊀",npreceq:"⪯̸",nrArr:"⇏",nrarr:"↛",nrarrc:"⤳̸",nrarrw:"↝̸",nrightarrow:"↛",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",nscr:"\uD835\uDCC3",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",ntilde:"\xf1",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",nu:"ν",num:"#",numero:"№",numsp:" ",nvDash:"⊭",nvHarr:"⤄",nvap:"≍⃒",nvdash:"⊬",nvge:"≥⃒",nvgt:">⃒",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwArr:"⇖",nwarhk:"⤣",nwarr:"↖",nwarrow:"↖",nwnear:"⤧",oS:"Ⓢ",oacute:"\xf3",oast:"⊛",ocir:"⊚",ocirc:"\xf4",ocy:"о",odash:"⊝",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",oelig:"œ",ofcir:"⦿",ofr:"\uD835\uDD2C",ogon:"˛",ograve:"\xf2",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",omacr:"ō",omega:"ω",omicron:"ο",omid:"⦶",ominus:"⊖",oopf:"\uD835\uDD60",opar:"⦷",operp:"⦹",oplus:"⊕",or:"∨",orarr:"↻",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"\xaa",ordm:"\xba",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oscr:"ℴ",oslash:"\xf8",osol:"⊘",otilde:"\xf5",otimes:"⊗",otimesas:"⨶",ouml:"\xf6",ovbar:"⌽",par:"∥",para:"\xb6",parallel:"∥",parsim:"⫳",parsl:"⫽",part:"∂",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",pfr:"\uD835\uDD2D",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plus:"+",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plusdo:"∔",plusdu:"⨥",pluse:"⩲",plusmn:"\xb1",plussim:"⨦",plustwo:"⨧",pm:"\xb1",pointint:"⨕",popf:"\uD835\uDD61",pound:"\xa3",pr:"≺",prE:"⪳",prap:"⪷",prcue:"≼",pre:"⪯",prec:"≺",precapprox:"⪷",preccurlyeq:"≼",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",precsim:"≾",prime:"′",primes:"ℙ",prnE:"⪵",prnap:"⪹",prnsim:"⋨",prod:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",propto:"∝",prsim:"≾",prurel:"⊰",pscr:"\uD835\uDCC5",psi:"ψ",puncsp:" ",qfr:"\uD835\uDD2E",qint:"⨌",qopf:"\uD835\uDD62",qprime:"⁗",qscr:"\uD835\uDCC6",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',rAarr:"⇛",rArr:"⇒",rAtail:"⤜",rBarr:"⤏",rHar:"⥤",race:"∽̱",racute:"ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"\xbb",rarr:"→",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",rarrtl:"↣",rarrw:"↝",ratail:"⤚",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",rcaron:"ř",rcedil:"ŗ",rceil:"⌉",rcub:"}",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",rect:"▭",reg:"\xae",rfisht:"⥽",rfloor:"⌋",rfr:"\uD835\uDD2F",rhard:"⇁",rharu:"⇀",rharul:"⥬",rho:"ρ",rhov:"ϱ",rightarrow:"→",rightarrowtail:"↣",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",rightthreetimes:"⋌",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"",rmoust:"⎱",rmoustache:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"\uD835\uDD63",roplus:"⨮",rotimes:"⨵",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",rsaquo:"›",rscr:"\uD835\uDCC7",rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",ruluhar:"⥨",rx:"℞",sacute:"ś",sbquo:"‚",sc:"≻",scE:"⪴",scap:"⪸",scaron:"š",sccue:"≽",sce:"⪰",scedil:"ş",scirc:"ŝ",scnE:"⪶",scnap:"⪺",scnsim:"⋩",scpolint:"⨓",scsim:"≿",scy:"с",sdot:"⋅",sdotb:"⊡",sdote:"⩦",seArr:"⇘",searhk:"⤥",searr:"↘",searrow:"↘",sect:"\xa7",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",sfr:"\uD835\uDD30",sfrown:"⌢",sharp:"♯",shchcy:"щ",shcy:"ш",shortmid:"∣",shortparallel:"∥",shy:"\xad",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",softcy:"ь",sol:"/",solb:"⧄",solbar:"⌿",sopf:"\uD835\uDD64",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",squ:"□",square:"□",squarf:"▪",squf:"▪",srarr:"→",sscr:"\uD835\uDCC8",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"\xaf",sub:"⊂",subE:"⫅",subdot:"⪽",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",subset:"⊂",subseteq:"⊆",subseteqq:"⫅",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succ:"≻",succapprox:"⪸",succcurlyeq:"≽",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",sum:"∑",sung:"♪",sup1:"\xb9",sup2:"\xb2",sup3:"\xb3",sup:"⊃",supE:"⫆",supdot:"⪾",supdsub:"⫘",supe:"⊇",supedot:"⫄",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",supset:"⊃",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swArr:"⇙",swarhk:"⤦",swarr:"↙",swarrow:"↙",swnwar:"⤪",szlig:"\xdf",target:"⌖",tau:"τ",tbrk:"⎴",tcaron:"ť",tcedil:"ţ",tcy:"т",tdot:"⃛",telrec:"⌕",tfr:"\uD835\uDD31",there4:"∴",therefore:"∴",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",thinsp:" ",thkap:"≈",thksim:"∼",thorn:"\xfe",tilde:"˜",times:"\xd7",timesb:"⊠",timesbar:"⨱",timesd:"⨰",tint:"∭",toea:"⤨",top:"⊤",topbot:"⌶",topcir:"⫱",topf:"\uD835\uDD65",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",tscr:"\uD835\uDCC9",tscy:"ц",tshcy:"ћ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",uArr:"⇑",uHar:"⥣",uacute:"\xfa",uarr:"↑",ubrcy:"ў",ubreve:"ŭ",ucirc:"\xfb",ucy:"у",udarr:"⇅",udblac:"ű",udhar:"⥮",ufisht:"⥾",ufr:"\uD835\uDD32",ugrave:"\xf9",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",umacr:"ū",uml:"\xa8",uogon:"ų",uopf:"\uD835\uDD66",uparrow:"↑",updownarrow:"↕",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",upsi:"υ",upsih:"ϒ",upsilon:"υ",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",uring:"ů",urtri:"◹",uscr:"\uD835\uDCCA",utdot:"⋰",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",uuml:"\xfc",uwangle:"⦧",vArr:"⇕",vBar:"⫨",vBarv:"⫩",vDash:"⊨",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vcy:"в",vdash:"⊢",vee:"∨",veebar:"⊻",veeeq:"≚",vellip:"⋮",verbar:"|",vert:"|",vfr:"\uD835\uDD33",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",vopf:"\uD835\uDD67",vprop:"∝",vrtri:"⊳",vscr:"\uD835\uDCCB",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",vzigzag:"⦚",wcirc:"ŵ",wedbar:"⩟",wedge:"∧",wedgeq:"≙",weierp:"℘",wfr:"\uD835\uDD34",wopf:"\uD835\uDD68",wp:"℘",wr:"≀",wreath:"≀",wscr:"\uD835\uDCCC",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",xfr:"\uD835\uDD35",xhArr:"⟺",xharr:"⟷",xi:"ξ",xlArr:"⟸",xlarr:"⟵",xmap:"⟼",xnis:"⋻",xodot:"⨀",xopf:"\uD835\uDD69",xoplus:"⨁",xotime:"⨂",xrArr:"⟹",xrarr:"⟶",xscr:"\uD835\uDCCD",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",yacute:"\xfd",yacy:"я",ycirc:"ŷ",ycy:"ы",yen:"\xa5",yfr:"\uD835\uDD36",yicy:"ї",yopf:"\uD835\uDD6A",yscr:"\uD835\uDCCE",yucy:"ю",yuml:"\xff",zacute:"ź",zcaron:"ž",zcy:"з",zdot:"ż",zeetrf:"ℨ",zeta:"ζ",zfr:"\uD835\uDD37",zhcy:"ж",zigrarr:"⇝",zopf:"\uD835\uDD6B",zscr:"\uD835\uDCCF",zwj:"",zwnj:""},tv={}.hasOwnProperty;function tk(e){return!!tv.call(tx,e)&&tx[e]}let tw={name:"characterReference",tokenize:function(e,t,n){let r,i;let a=this,o=0;return function(t){return e.enter("characterReference"),e.enter("characterReferenceMarker"),e.consume(t),e.exit("characterReferenceMarker"),l};function l(t){return 35===t?(e.enter("characterReferenceMarkerNumeric"),e.consume(t),e.exit("characterReferenceMarkerNumeric"),s):(e.enter("characterReferenceValue"),r=31,i=ez,c(t))}function s(t){return 88===t||120===t?(e.enter("characterReferenceMarkerHexadecimal"),e.consume(t),e.exit("characterReferenceMarkerHexadecimal"),e.enter("characterReferenceValue"),r=6,i=eq,c):(e.enter("characterReferenceValue"),r=7,i=eF,c(t))}function c(l){if(59===l&&o){let r=e.exit("characterReferenceValue");return i!==ez||tk(a.sliceSerialize(r))?(e.enter("characterReferenceMarker"),e.consume(l),e.exit("characterReferenceMarker"),e.exit("characterReference"),t):n(l)}return i(l)&&o++<r?(e.consume(l),c):n(l)}}},t_={name:"characterEscape",tokenize:function(e,t,n){return function(t){return e.enter("characterEscape"),e.enter("escapeMarker"),e.consume(t),e.exit("escapeMarker"),r};function r(r){return eU(r)?(e.enter("characterEscapeValue"),e.consume(r),e.exit("characterEscapeValue"),e.exit("characterEscape"),t):n(r)}}},tE={name:"lineEnding",tokenize:function(e,t){return function(n){return e.enter("lineEnding"),e.consume(n),e.exit("lineEnding"),eW(e,t,"linePrefix")}}};function tN(e,t,n){let r=[],i=-1;for(;++i<e.length;){let a=e[i].resolveAll;a&&!r.includes(a)&&(t=a(t,n),r.push(a))}return t}let tS={name:"labelEnd",resolveAll:function(e){let t=-1,n=[];for(;++t<e.length;){let r=e[t][1];if(n.push(e[t]),"labelImage"===r.type||"labelLink"===r.type||"labelEnd"===r.type){let e="labelImage"===r.type?4:2;r.type="data",t+=e}}return e.length!==n.length&&eM(e,0,e.length,n),e},resolveTo:function(e,t){let n,r,i,a,o=e.length,l=0;for(;o--;)if(n=e[o][1],r){if("link"===n.type||"labelLink"===n.type&&n._inactive)break;"enter"===e[o][0]&&"labelLink"===n.type&&(n._inactive=!0)}else if(i){if("enter"===e[o][0]&&("labelImage"===n.type||"labelLink"===n.type)&&!n._balanced&&(r=o,"labelLink"!==n.type)){l=2;break}}else"labelEnd"===n.type&&(i=o);let s={type:"labelLink"===e[r][1].type?"link":"image",start:{...e[r][1].start},end:{...e[e.length-1][1].end}},c={type:"label",start:{...e[r][1].start},end:{...e[i][1].end}},u={type:"labelText",start:{...e[r+l+2][1].end},end:{...e[i-2][1].start}};return a=eO(a=[["enter",s,t],["enter",c,t]],e.slice(r+1,r+l+3)),a=eO(a,[["enter",u,t]]),a=eO(a,tN(t.parser.constructs.insideSpan.null,e.slice(r+l+4,i-3),t)),a=eO(a,[["exit",u,t],e[i-2],e[i-1],["exit",c,t]]),a=eO(a,e.slice(i+1)),a=eO(a,[["exit",s,t]]),eM(e,r,e.length,a),e},tokenize:function(e,t,n){let r,i;let a=this,o=a.events.length;for(;o--;)if(("labelImage"===a.events[o][1].type||"labelLink"===a.events[o][1].type)&&!a.events[o][1]._balanced){r=a.events[o][1];break}return function(t){return r?r._inactive?u(t):(i=a.parser.defined.includes(ts(a.sliceSerialize({start:r.end,end:a.now()}))),e.enter("labelEnd"),e.enter("labelMarker"),e.consume(t),e.exit("labelMarker"),e.exit("labelEnd"),l):n(t)};function l(t){return 40===t?e.attempt(tC,c,i?c:u)(t):91===t?e.attempt(tA,c,i?s:u)(t):i?c(t):u(t)}function s(t){return e.attempt(tM,c,u)(t)}function c(e){return t(e)}function u(e){return r._balanced=!0,n(e)}}},tC={tokenize:function(e,t,n){return function(t){return e.enter("resource"),e.enter("resourceMarker"),e.consume(t),e.exit("resourceMarker"),r};function r(t){return eH(t)?tl(e,i)(t):i(t)}function i(t){return 41===t?c(t):ti(e,a,o,"resourceDestination","resourceDestinationLiteral","resourceDestinationLiteralMarker","resourceDestinationRaw","resourceDestinationString",32)(t)}function a(t){return eH(t)?tl(e,l)(t):c(t)}function o(e){return n(e)}function l(t){return 34===t||39===t||40===t?to(e,s,n,"resourceTitle","resourceTitleMarker","resourceTitleString")(t):c(t)}function s(t){return eH(t)?tl(e,c)(t):c(t)}function c(r){return 41===r?(e.enter("resourceMarker"),e.consume(r),e.exit("resourceMarker"),e.exit("resource"),t):n(r)}}},tA={tokenize:function(e,t,n){let r=this;return function(t){return ta.call(r,e,i,a,"reference","referenceMarker","referenceString")(t)};function i(e){return r.parser.defined.includes(ts(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)))?t(e):n(e)}function a(e){return n(e)}}},tM={tokenize:function(e,t,n){return function(t){return e.enter("reference"),e.enter("referenceMarker"),e.consume(t),e.exit("referenceMarker"),r};function r(r){return 93===r?(e.enter("referenceMarker"),e.consume(r),e.exit("referenceMarker"),e.exit("reference"),t):n(r)}}},tO={name:"labelStartImage",resolveAll:tS.resolveAll,tokenize:function(e,t,n){let r=this;return function(t){return e.enter("labelImage"),e.enter("labelImageMarker"),e.consume(t),e.exit("labelImageMarker"),i};function i(t){return 91===t?(e.enter("labelMarker"),e.consume(t),e.exit("labelMarker"),e.exit("labelImage"),a):n(t)}function a(e){return 94===e&&"_hiddenFootnoteSupport"in r.parser.constructs?n(e):t(e)}}};function tT(e){return null===e||eH(e)||eV(e)?1:eK(e)?2:void 0}let tD={name:"attention",resolveAll:function(e,t){let n,r,i,a,o,l,s,c,u=-1;for(;++u<e.length;)if("enter"===e[u][0]&&"attentionSequence"===e[u][1].type&&e[u][1]._close){for(n=u;n--;)if("exit"===e[n][0]&&"attentionSequence"===e[n][1].type&&e[n][1]._open&&t.sliceSerialize(e[n][1]).charCodeAt(0)===t.sliceSerialize(e[u][1]).charCodeAt(0)){if((e[n][1]._close||e[u][1]._open)&&(e[u][1].end.offset-e[u][1].start.offset)%3&&!((e[n][1].end.offset-e[n][1].start.offset+e[u][1].end.offset-e[u][1].start.offset)%3))continue;l=e[n][1].end.offset-e[n][1].start.offset>1&&e[u][1].end.offset-e[u][1].start.offset>1?2:1;let d={...e[n][1].end},p={...e[u][1].start};tI(d,-l),tI(p,l),a={type:l>1?"strongSequence":"emphasisSequence",start:d,end:{...e[n][1].end}},o={type:l>1?"strongSequence":"emphasisSequence",start:{...e[u][1].start},end:p},i={type:l>1?"strongText":"emphasisText",start:{...e[n][1].end},end:{...e[u][1].start}},r={type:l>1?"strong":"emphasis",start:{...a.start},end:{...o.end}},e[n][1].end={...a.start},e[u][1].start={...o.end},s=[],e[n][1].end.offset-e[n][1].start.offset&&(s=eO(s,[["enter",e[n][1],t],["exit",e[n][1],t]])),s=eO(s,[["enter",r,t],["enter",a,t],["exit",a,t],["enter",i,t]]),s=eO(s,tN(t.parser.constructs.insideSpan.null,e.slice(n+1,u),t)),s=eO(s,[["exit",i,t],["enter",o,t],["exit",o,t],["exit",r,t]]),e[u][1].end.offset-e[u][1].start.offset?(c=2,s=eO(s,[["enter",e[u][1],t],["exit",e[u][1],t]])):c=0,eM(e,n-1,u-n+3,s),u=n+s.length-c-2;break}}for(u=-1;++u<e.length;)"attentionSequence"===e[u][1].type&&(e[u][1].type="data");return e},tokenize:function(e,t){let n;let r=this.parser.constructs.attentionMarkers.null,i=this.previous,a=tT(i);return function(o){return n=o,e.enter("attentionSequence"),function o(l){if(l===n)return e.consume(l),o;let s=e.exit("attentionSequence"),c=tT(l),u=!c||2===c&&a||r.includes(l),d=!a||2===a&&c||r.includes(i);return s._open=!!(42===n?u:u&&(a||!d)),s._close=!!(42===n?d:d&&(c||!u)),t(l)}(o)}}};function tI(e,t){e.column+=t,e.offset+=t,e._bufferIndex+=t}let tj={name:"labelStartLink",resolveAll:tS.resolveAll,tokenize:function(e,t,n){let r=this;return function(t){return e.enter("labelLink"),e.enter("labelMarker"),e.consume(t),e.exit("labelMarker"),e.exit("labelLink"),i};function i(e){return 94===e&&"_hiddenFootnoteSupport"in r.parser.constructs?n(e):t(e)}}},tL={42:te,43:te,45:te,48:te,49:te,50:te,51:te,52:te,53:te,54:te,55:te,56:te,57:te,62:tr},tR={91:{name:"definition",tokenize:function(e,t,n){let r;let i=this;return function(t){return e.enter("definition"),ta.call(i,e,a,n,"definitionLabel","definitionLabelMarker","definitionLabelString")(t)};function a(t){return(r=ts(i.sliceSerialize(i.events[i.events.length-1][1]).slice(1,-1)),58===t)?(e.enter("definitionMarker"),e.consume(t),e.exit("definitionMarker"),o):n(t)}function o(t){return eH(t)?tl(e,l)(t):l(t)}function l(t){return ti(e,s,n,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(t)}function s(t){return e.attempt(tc,c,c)(t)}function c(t){return eG(t)?eW(e,u,"whitespace")(t):u(t)}function u(a){return null===a||e$(a)?(e.exit("definition"),i.parser.defined.push(r),t(a)):n(a)}}}},tz={[-2]:tu,[-1]:tu,32:tu},tB={35:{name:"headingAtx",resolve:function(e,t){let n,r,i=e.length-2,a=3;return"whitespace"===e[3][1].type&&(a+=2),i-2>a&&"whitespace"===e[i][1].type&&(i-=2),"atxHeadingSequence"===e[i][1].type&&(a===i-1||i-4>a&&"whitespace"===e[i-2][1].type)&&(i-=a+1===i?2:4),i>a&&(n={type:"atxHeadingText",start:e[a][1].start,end:e[i][1].end},r={type:"chunkText",start:e[a][1].start,end:e[i][1].end,contentType:"text"},eM(e,a,i-a+1,[["enter",n,t],["enter",r,t],["exit",r,t],["exit",n,t]])),e},tokenize:function(e,t,n){let r=0;return function(i){return e.enter("atxHeading"),e.enter("atxHeadingSequence"),function i(a){return 35===a&&r++<6?(e.consume(a),i):null===a||eH(a)?(e.exit("atxHeadingSequence"),function n(r){return 35===r?(e.enter("atxHeadingSequence"),function t(r){return 35===r?(e.consume(r),t):(e.exit("atxHeadingSequence"),n(r))}(r)):null===r||e$(r)?(e.exit("atxHeading"),t(r)):eG(r)?eW(e,n,"whitespace")(r):(e.enter("atxHeadingText"),function t(r){return null===r||35===r||eH(r)?(e.exit("atxHeadingText"),n(r)):(e.consume(r),t)}(r))}(a)):n(a)}(i)}}},42:e8,45:[tp,e8],60:{concrete:!0,name:"htmlFlow",resolveTo:function(e){let t=e.length;for(;t--&&("enter"!==e[t][0]||"htmlFlow"!==e[t][1].type););return t>1&&"linePrefix"===e[t-2][1].type&&(e[t][1].start=e[t-2][1].start,e[t+1][1].start=e[t-2][1].start,e.splice(t-2,2)),e},tokenize:function(e,t,n){let r,i,a,o,l;let s=this;return function(t){return e.enter("htmlFlow"),e.enter("htmlFlowData"),e.consume(t),c};function c(o){return 33===o?(e.consume(o),u):47===o?(e.consume(o),i=!0,g):63===o?(e.consume(o),r=3,s.interrupt?t:D):eR(o)?(e.consume(o),a=String.fromCharCode(o),f):n(o)}function u(i){return 45===i?(e.consume(i),r=2,d):91===i?(e.consume(i),r=5,o=0,p):eR(i)?(e.consume(i),r=4,s.interrupt?t:D):n(i)}function d(r){return 45===r?(e.consume(r),s.interrupt?t:D):n(r)}function p(r){let i="CDATA[";return r===i.charCodeAt(o++)?(e.consume(r),o===i.length)?s.interrupt?t:E:p:n(r)}function g(t){return eR(t)?(e.consume(t),a=String.fromCharCode(t),f):n(t)}function f(o){if(null===o||47===o||62===o||eH(o)){let l=47===o,c=a.toLowerCase();return!l&&!i&&tf.includes(c)?(r=1,s.interrupt?t(o):E(o)):tg.includes(a.toLowerCase())?(r=6,l)?(e.consume(o),m):s.interrupt?t(o):E(o):(r=7,s.interrupt&&!s.parser.lazy[s.now().line]?n(o):i?function t(n){return eG(n)?(e.consume(n),t):w(n)}(o):h(o))}return 45===o||ez(o)?(e.consume(o),a+=String.fromCharCode(o),f):n(o)}function m(r){return 62===r?(e.consume(r),s.interrupt?t:E):n(r)}function h(t){return 47===t?(e.consume(t),w):58===t||95===t||eR(t)?(e.consume(t),b):eG(t)?(e.consume(t),h):w(t)}function b(t){return 45===t||46===t||58===t||95===t||ez(t)?(e.consume(t),b):y(t)}function y(t){return 61===t?(e.consume(t),x):eG(t)?(e.consume(t),y):h(t)}function x(t){return null===t||60===t||61===t||62===t||96===t?n(t):34===t||39===t?(e.consume(t),l=t,v):eG(t)?(e.consume(t),x):function t(n){return null===n||34===n||39===n||47===n||60===n||61===n||62===n||96===n||eH(n)?y(n):(e.consume(n),t)}(t)}function v(t){return t===l?(e.consume(t),l=null,k):null===t||e$(t)?n(t):(e.consume(t),v)}function k(e){return 47===e||62===e||eG(e)?h(e):n(e)}function w(t){return 62===t?(e.consume(t),_):n(t)}function _(t){return null===t||e$(t)?E(t):eG(t)?(e.consume(t),_):n(t)}function E(t){return 45===t&&2===r?(e.consume(t),A):60===t&&1===r?(e.consume(t),M):62===t&&4===r?(e.consume(t),I):63===t&&3===r?(e.consume(t),D):93===t&&5===r?(e.consume(t),T):e$(t)&&(6===r||7===r)?(e.exit("htmlFlowData"),e.check(tm,j,N)(t)):null===t||e$(t)?(e.exit("htmlFlowData"),N(t)):(e.consume(t),E)}function N(t){return e.check(th,S,j)(t)}function S(t){return e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),C}function C(t){return null===t||e$(t)?N(t):(e.enter("htmlFlowData"),E(t))}function A(t){return 45===t?(e.consume(t),D):E(t)}function M(t){return 47===t?(e.consume(t),a="",O):E(t)}function O(t){if(62===t){let n=a.toLowerCase();return tf.includes(n)?(e.consume(t),I):E(t)}return eR(t)&&a.length<8?(e.consume(t),a+=String.fromCharCode(t),O):E(t)}function T(t){return 93===t?(e.consume(t),D):E(t)}function D(t){return 62===t?(e.consume(t),I):45===t&&2===r?(e.consume(t),D):E(t)}function I(t){return null===t||e$(t)?(e.exit("htmlFlowData"),j(t)):(e.consume(t),I)}function j(n){return e.exit("htmlFlow"),t(n)}}},61:tp,95:e8,96:ty,126:ty},tP={38:tw,92:t_},tF={[-5]:tE,[-4]:tE,[-3]:tE,33:tO,38:tw,42:tD,60:[{name:"autolink",tokenize:function(e,t,n){let r=0;return function(t){return e.enter("autolink"),e.enter("autolinkMarker"),e.consume(t),e.exit("autolinkMarker"),e.enter("autolinkProtocol"),i};function i(t){return eR(t)?(e.consume(t),a):64===t?n(t):l(t)}function a(t){return 43===t||45===t||46===t||ez(t)?(r=1,function t(n){return 58===n?(e.consume(n),r=0,o):(43===n||45===n||46===n||ez(n))&&r++<32?(e.consume(n),t):(r=0,l(n))}(t)):l(t)}function o(r){return 62===r?(e.exit("autolinkProtocol"),e.enter("autolinkMarker"),e.consume(r),e.exit("autolinkMarker"),e.exit("autolink"),t):null===r||32===r||60===r||eP(r)?n(r):(e.consume(r),o)}function l(t){return 64===t?(e.consume(t),s):eB(t)?(e.consume(t),l):n(t)}function s(i){return ez(i)?function i(a){return 46===a?(e.consume(a),r=0,s):62===a?(e.exit("autolinkProtocol").type="autolinkEmail",e.enter("autolinkMarker"),e.consume(a),e.exit("autolinkMarker"),e.exit("autolink"),t):function t(a){if((45===a||ez(a))&&r++<63){let n=45===a?t:i;return e.consume(a),n}return n(a)}(a)}(i):n(i)}}},{name:"htmlText",tokenize:function(e,t,n){let r,i,a;let o=this;return function(t){return e.enter("htmlText"),e.enter("htmlTextData"),e.consume(t),l};function l(t){return 33===t?(e.consume(t),s):47===t?(e.consume(t),v):63===t?(e.consume(t),y):eR(t)?(e.consume(t),w):n(t)}function s(t){return 45===t?(e.consume(t),c):91===t?(e.consume(t),i=0,g):eR(t)?(e.consume(t),b):n(t)}function c(t){return 45===t?(e.consume(t),p):n(t)}function u(t){return null===t?n(t):45===t?(e.consume(t),d):e$(t)?(a=u,O(t)):(e.consume(t),u)}function d(t){return 45===t?(e.consume(t),p):u(t)}function p(e){return 62===e?M(e):45===e?d(e):u(e)}function g(t){let r="CDATA[";return t===r.charCodeAt(i++)?(e.consume(t),i===r.length?f:g):n(t)}function f(t){return null===t?n(t):93===t?(e.consume(t),m):e$(t)?(a=f,O(t)):(e.consume(t),f)}function m(t){return 93===t?(e.consume(t),h):f(t)}function h(t){return 62===t?M(t):93===t?(e.consume(t),h):f(t)}function b(t){return null===t||62===t?M(t):e$(t)?(a=b,O(t)):(e.consume(t),b)}function y(t){return null===t?n(t):63===t?(e.consume(t),x):e$(t)?(a=y,O(t)):(e.consume(t),y)}function x(e){return 62===e?M(e):y(e)}function v(t){return eR(t)?(e.consume(t),k):n(t)}function k(t){return 45===t||ez(t)?(e.consume(t),k):function t(n){return e$(n)?(a=t,O(n)):eG(n)?(e.consume(n),t):M(n)}(t)}function w(t){return 45===t||ez(t)?(e.consume(t),w):47===t||62===t||eH(t)?_(t):n(t)}function _(t){return 47===t?(e.consume(t),M):58===t||95===t||eR(t)?(e.consume(t),E):e$(t)?(a=_,O(t)):eG(t)?(e.consume(t),_):M(t)}function E(t){return 45===t||46===t||58===t||95===t||ez(t)?(e.consume(t),E):function t(n){return 61===n?(e.consume(n),N):e$(n)?(a=t,O(n)):eG(n)?(e.consume(n),t):_(n)}(t)}function N(t){return null===t||60===t||61===t||62===t||96===t?n(t):34===t||39===t?(e.consume(t),r=t,S):e$(t)?(a=N,O(t)):eG(t)?(e.consume(t),N):(e.consume(t),C)}function S(t){return t===r?(e.consume(t),r=void 0,A):null===t?n(t):e$(t)?(a=S,O(t)):(e.consume(t),S)}function C(t){return null===t||34===t||39===t||60===t||61===t||96===t?n(t):47===t||62===t||eH(t)?_(t):(e.consume(t),C)}function A(e){return 47===e||62===e||eH(e)?_(e):n(e)}function M(r){return 62===r?(e.consume(r),e.exit("htmlTextData"),e.exit("htmlText"),t):n(r)}function O(t){return e.exit("htmlTextData"),e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),T}function T(t){return eG(t)?eW(e,D,"linePrefix",o.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(t):D(t)}function D(t){return e.enter("htmlTextData"),a(t)}}}],91:tj,92:[{name:"hardBreakEscape",tokenize:function(e,t,n){return function(t){return e.enter("hardBreakEscape"),e.consume(t),r};function r(r){return e$(r)?(e.exit("hardBreakEscape"),t(r)):n(r)}}},t_],93:tS,95:tD,96:{name:"codeText",previous:function(e){return 96!==e||"characterEscape"===this.events[this.events.length-1][1].type},resolve:function(e){let t,n,r=e.length-4,i=3;if(("lineEnding"===e[3][1].type||"space"===e[i][1].type)&&("lineEnding"===e[r][1].type||"space"===e[r][1].type)){for(t=i;++t<r;)if("codeTextData"===e[t][1].type){e[i][1].type="codeTextPadding",e[r][1].type="codeTextPadding",i+=2,r-=2;break}}for(t=i-1,r++;++t<=r;)void 0===n?t!==r&&"lineEnding"!==e[t][1].type&&(n=t):(t===r||"lineEnding"===e[t][1].type)&&(e[n][1].type="codeTextData",t!==n+2&&(e[n][1].end=e[t-1][1].end,e.splice(n+2,t-n-2),r-=t-n-2,t=n+2),n=void 0);return e},tokenize:function(e,t,n){let r,i,a=0;return function(t){return e.enter("codeText"),e.enter("codeTextSequence"),function t(n){return 96===n?(e.consume(n),a++,t):(e.exit("codeTextSequence"),o(n))}(t)};function o(s){return null===s?n(s):32===s?(e.enter("space"),e.consume(s),e.exit("space"),o):96===s?(i=e.enter("codeTextSequence"),r=0,function n(o){return 96===o?(e.consume(o),r++,n):r===a?(e.exit("codeTextSequence"),e.exit("codeText"),t(o)):(i.type="codeTextData",l(o))}(s)):e$(s)?(e.enter("lineEnding"),e.consume(s),e.exit("lineEnding"),o):(e.enter("codeTextData"),l(s))}function l(t){return null===t||32===t||96===t||e$(t)?(e.exit("codeTextData"),o(t)):(e.consume(t),l)}}}},tq={null:[tD,e3]},tU={null:[42,95]},t$={null:[]},tH=/[\0\t\n\r]/g;function tG(e,t){let n=Number.parseInt(e,t);return n<9||11===n||n>13&&n<32||n>126&&n<160||n>55295&&n<57344||n>64975&&n<65008||(65535&n)==65535||(65535&n)==65534||n>1114111?"�":String.fromCodePoint(n)}let tK=/\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi;function tV(e,t,n){if(t)return t;if(35===n.charCodeAt(0)){let e=n.charCodeAt(1),t=120===e||88===e;return tG(n.slice(t?2:1),t?16:10)}return tk(n)||e}let tZ={}.hasOwnProperty;function tW(e){return{line:e.line,column:e.column,offset:e.offset}}function tQ(e,t){if(e)throw Error("Cannot close `"+e.type+"` ("+eo({start:e.start,end:e.end})+"): a different token (`"+t.type+"`, "+eo({start:t.start,end:t.end})+") is open");throw Error("Cannot close document, a token (`"+t.type+"`, "+eo({start:t.start,end:t.end})+") is still open")}function tX(e){let t=this;t.parser=function(n){var r,a;let o,l,s,c;return"object"==typeof(r={...t.data("settings"),...e,extensions:t.data("micromarkExtensions")||[],mdastExtensions:t.data("fromMarkdownExtensions")||[]})&&(a=r,r=void 0),(function(e){let t={transforms:[],canContainEols:["emphasis","fragment","heading","paragraph","strong"],enter:{autolink:r(b),autolinkProtocol:c,autolinkEmail:c,atxHeading:r(f),blockQuote:r(function(){return{type:"blockquote",children:[]}}),characterEscape:c,characterReference:c,codeFenced:r(g),codeFencedFenceInfo:i,codeFencedFenceMeta:i,codeIndented:r(g,i),codeText:r(function(){return{type:"inlineCode",value:""}},i),codeTextData:c,data:c,codeFlowValue:c,definition:r(function(){return{type:"definition",identifier:"",label:null,title:null,url:""}}),definitionDestinationString:i,definitionLabelString:i,definitionTitleString:i,emphasis:r(function(){return{type:"emphasis",children:[]}}),hardBreakEscape:r(m),hardBreakTrailing:r(m),htmlFlow:r(h,i),htmlFlowData:c,htmlText:r(h,i),htmlTextData:c,image:r(function(){return{type:"image",title:null,url:"",alt:null}}),label:i,link:r(b),listItem:r(function(e){return{type:"listItem",spread:e._spread,checked:null,children:[]}}),listItemValue:function(e){this.data.expectingFirstListItemValue&&(this.stack[this.stack.length-2].start=Number.parseInt(this.sliceSerialize(e),10),this.data.expectingFirstListItemValue=void 0)},listOrdered:r(y,function(){this.data.expectingFirstListItemValue=!0}),listUnordered:r(y),paragraph:r(function(){return{type:"paragraph",children:[]}}),reference:function(){this.data.referenceType="collapsed"},referenceString:i,resourceDestinationString:i,resourceTitleString:i,setextHeading:r(f),strong:r(function(){return{type:"strong",children:[]}}),thematicBreak:r(function(){return{type:"thematicBreak"}})},exit:{atxHeading:o(),atxHeadingSequence:function(e){let t=this.stack[this.stack.length-1];if(!t.depth){let n=this.sliceSerialize(e).length;t.depth=n}},autolink:o(),autolinkEmail:function(e){u.call(this,e),this.stack[this.stack.length-1].url="mailto:"+this.sliceSerialize(e)},autolinkProtocol:function(e){u.call(this,e),this.stack[this.stack.length-1].url=this.sliceSerialize(e)},blockQuote:o(),characterEscapeValue:u,characterReferenceMarkerHexadecimal:p,characterReferenceMarkerNumeric:p,characterReferenceValue:function(e){let t;let n=this.sliceSerialize(e),r=this.data.characterReferenceType;r?(t=tG(n,"characterReferenceMarkerNumeric"===r?10:16),this.data.characterReferenceType=void 0):t=tk(n);let i=this.stack[this.stack.length-1];i.value+=t},characterReference:function(e){this.stack.pop().position.end=tW(e.end)},codeFenced:o(function(){let e=this.resume();this.stack[this.stack.length-1].value=e.replace(/^(\r?\n|\r)|(\r?\n|\r)$/g,""),this.data.flowCodeInside=void 0}),codeFencedFence:function(){this.data.flowCodeInside||(this.buffer(),this.data.flowCodeInside=!0)},codeFencedFenceInfo:function(){let e=this.resume();this.stack[this.stack.length-1].lang=e},codeFencedFenceMeta:function(){let e=this.resume();this.stack[this.stack.length-1].meta=e},codeFlowValue:u,codeIndented:o(function(){let e=this.resume();this.stack[this.stack.length-1].value=e.replace(/(\r?\n|\r)$/g,"")}),codeText:o(function(){let e=this.resume();this.stack[this.stack.length-1].value=e}),codeTextData:u,data:u,definition:o(),definitionDestinationString:function(){let e=this.resume();this.stack[this.stack.length-1].url=e},definitionLabelString:function(e){let t=this.resume(),n=this.stack[this.stack.length-1];n.label=t,n.identifier=ts(this.sliceSerialize(e)).toLowerCase()},definitionTitleString:function(){let e=this.resume();this.stack[this.stack.length-1].title=e},emphasis:o(),hardBreakEscape:o(d),hardBreakTrailing:o(d),htmlFlow:o(function(){let e=this.resume();this.stack[this.stack.length-1].value=e}),htmlFlowData:u,htmlText:o(function(){let e=this.resume();this.stack[this.stack.length-1].value=e}),htmlTextData:u,image:o(function(){let e=this.stack[this.stack.length-1];if(this.data.inReference){let t=this.data.referenceType||"shortcut";e.type+="Reference",e.referenceType=t,delete e.url,delete e.title}else delete e.identifier,delete e.label;this.data.referenceType=void 0}),label:function(){let e=this.stack[this.stack.length-1],t=this.resume(),n=this.stack[this.stack.length-1];if(this.data.inReference=!0,"link"===n.type){let t=e.children;n.children=t}else n.alt=t},labelText:function(e){let t=this.sliceSerialize(e),n=this.stack[this.stack.length-2];n.label=t.replace(tK,tV),n.identifier=ts(t).toLowerCase()},lineEnding:function(e){let n=this.stack[this.stack.length-1];if(this.data.atHardBreak){n.children[n.children.length-1].position.end=tW(e.end),this.data.atHardBreak=void 0;return}!this.data.setextHeadingSlurpLineEnding&&t.canContainEols.includes(n.type)&&(c.call(this,e),u.call(this,e))},link:o(function(){let e=this.stack[this.stack.length-1];if(this.data.inReference){let t=this.data.referenceType||"shortcut";e.type+="Reference",e.referenceType=t,delete e.url,delete e.title}else delete e.identifier,delete e.label;this.data.referenceType=void 0}),listItem:o(),listOrdered:o(),listUnordered:o(),paragraph:o(),referenceString:function(e){let t=this.resume(),n=this.stack[this.stack.length-1];n.label=t,n.identifier=ts(this.sliceSerialize(e)).toLowerCase(),this.data.referenceType="full"},resourceDestinationString:function(){let e=this.resume();this.stack[this.stack.length-1].url=e},resourceTitleString:function(){let e=this.resume();this.stack[this.stack.length-1].title=e},resource:function(){this.data.inReference=void 0},setextHeading:o(function(){this.data.setextHeadingSlurpLineEnding=void 0}),setextHeadingLineSequence:function(e){this.stack[this.stack.length-1].depth=61===this.sliceSerialize(e).codePointAt(0)?1:2},setextHeadingText:function(){this.data.setextHeadingSlurpLineEnding=!0},strong:o(),thematicBreak:o()}};(function e(t,n){let r=-1;for(;++r<n.length;){let i=n[r];Array.isArray(i)?e(t,i):function(e,t){let n;for(n in t)if(tZ.call(t,n))switch(n){case"canContainEols":{let r=t[n];r&&e[n].push(...r);break}case"transforms":{let r=t[n];r&&e[n].push(...r);break}case"enter":case"exit":{let r=t[n];r&&Object.assign(e[n],r)}}}(t,i)}})(t,(e||{}).mdastExtensions||[]);let n={};return function(e){let r={type:"root",children:[]},o={stack:[r],tokenStack:[],config:t,enter:a,exit:l,buffer:i,resume:s,data:n},c=[],u=-1;for(;++u<e.length;)("listOrdered"===e[u][1].type||"listUnordered"===e[u][1].type)&&("enter"===e[u][0]?c.push(u):u=function(e,t,n){let r,i,a,o,l=t-1,s=-1,c=!1;for(;++l<=n;){let t=e[l];switch(t[1].type){case"listUnordered":case"listOrdered":case"blockQuote":"enter"===t[0]?s++:s--,o=void 0;break;case"lineEndingBlank":"enter"===t[0]&&(!r||o||s||a||(a=l),o=void 0);break;case"linePrefix":case"listItemValue":case"listItemMarker":case"listItemPrefix":case"listItemPrefixWhitespace":break;default:o=void 0}if(!s&&"enter"===t[0]&&"listItemPrefix"===t[1].type||-1===s&&"exit"===t[0]&&("listUnordered"===t[1].type||"listOrdered"===t[1].type)){if(r){let o=l;for(i=void 0;o--;){let t=e[o];if("lineEnding"===t[1].type||"lineEndingBlank"===t[1].type){if("exit"===t[0])continue;i&&(e[i][1].type="lineEndingBlank",c=!0),t[1].type="lineEnding",i=o}else if("linePrefix"===t[1].type||"blockQuotePrefix"===t[1].type||"blockQuotePrefixWhitespace"===t[1].type||"blockQuoteMarker"===t[1].type||"listItemIndent"===t[1].type);else break}a&&(!i||a<i)&&(r._spread=!0),r.end=Object.assign({},i?e[i][1].start:t[1].end),e.splice(i||l,0,["exit",r,t[2]]),l++,n++}if("listItemPrefix"===t[1].type){let i={type:"listItem",_spread:!1,start:Object.assign({},t[1].start),end:void 0};r=i,e.splice(l,0,["enter",i,t[2]]),l++,n++,a=void 0,o=!0}}}return e[t][1]._spread=c,n}(e,c.pop(),u));for(u=-1;++u<e.length;){let n=t[e[u][0]];tZ.call(n,e[u][1].type)&&n[e[u][1].type].call(Object.assign({sliceSerialize:e[u][2].sliceSerialize},o),e[u][1])}if(o.tokenStack.length>0){let e=o.tokenStack[o.tokenStack.length-1];(e[1]||tQ).call(o,void 0,e[0])}for(r.position={start:tW(e.length>0?e[0][1].start:{line:1,column:1,offset:0}),end:tW(e.length>0?e[e.length-2][1].end:{line:1,column:1,offset:0})},u=-1;++u<t.transforms.length;)r=t.transforms[u](r)||r;return r};function r(e,t){return function(n){a.call(this,e(n),n),t&&t.call(this,n)}}function i(){this.stack.push({type:"fragment",children:[]})}function a(e,t,n){this.stack[this.stack.length-1].children.push(e),this.stack.push(e),this.tokenStack.push([t,n||void 0]),e.position={start:tW(t.start),end:void 0}}function o(e){return function(t){e&&e.call(this,t),l.call(this,t)}}function l(e,t){let n=this.stack.pop(),r=this.tokenStack.pop();if(r)r[0].type!==e.type&&(t?t.call(this,e,r[0]):(r[1]||tQ).call(this,e,r[0]));else throw Error("Cannot close `"+e.type+"` ("+eo({start:e.start,end:e.end})+"): it’s not open");n.position.end=tW(e.end)}function s(){return eS(this.stack.pop())}function c(e){let t=this.stack[this.stack.length-1].children,n=t[t.length-1];n&&"text"===n.type||((n={type:"text",value:""}).position={start:tW(e.start),end:void 0},t.push(n)),this.stack.push(n)}function u(e){let t=this.stack.pop();t.value+=this.sliceSerialize(e),t.position.end=tW(e.end)}function d(){this.data.atHardBreak=!0}function p(e){this.data.characterReferenceType=e.type}function g(){return{type:"code",lang:null,meta:null,value:""}}function f(){return{type:"heading",depth:0,children:[]}}function m(){return{type:"break"}}function h(){return{type:"html",value:""}}function b(){return{type:"link",title:null,url:"",children:[]}}function y(e){return{type:"list",ordered:"listOrdered"===e.type,start:null,spread:e._spread,children:[]}}})(a)(function(e){for(;!eI(e););return e}((function(e){let t={constructs:eL([i,...(e||{}).extensions||[]]),content:n(eQ),defined:[],document:n(eX),flow:n(e2),lazy:{},string:n(e5),text:n(e4)};return t;function n(e){return function(n){return function(e,t,n){let r={_bufferIndex:-1,_index:0,line:n&&n.line||1,column:n&&n.column||1,offset:n&&n.offset||0},i={},a=[],o=[],l=[],s={attempt:f(function(e,t){m(e,t.from)}),check:f(g),consume:function(e){e$(e)?(r.line++,r.column=1,r.offset+=-3===e?2:1,h()):-1!==e&&(r.column++,r.offset++),r._bufferIndex<0?r._index++:(r._bufferIndex++,r._bufferIndex===o[r._index].length&&(r._bufferIndex=-1,r._index++)),c.previous=e},enter:function(e,t){let n=t||{};return n.type=e,n.start=p(),c.events.push(["enter",n,c]),l.push(n),n},exit:function(e){let t=l.pop();return t.end=p(),c.events.push(["exit",t,c]),t},interrupt:f(g,{interrupt:!0})},c={code:null,containerState:{},defineSkip:function(e){i[e.line]=e.column,h()},events:[],now:p,parser:e,previous:null,sliceSerialize:function(e,t){return function(e,t){let n,r=-1,i=[];for(;++r<e.length;){let a;let o=e[r];if("string"==typeof o)a=o;else switch(o){case -5:a="\r";break;case -4:a="\n";break;case -3:a="\r\n";break;case -2:a=t?" ":" ";break;case -1:if(!t&&n)continue;a=" ";break;default:a=String.fromCharCode(o)}n=-2===o,i.push(a)}return i.join("")}(d(e),t)},sliceStream:d,write:function(e){return(o=eO(o,e),function(){let e;for(;r._index<o.length;){let n=o[r._index];if("string"==typeof n)for(e=r._index,r._bufferIndex<0&&(r._bufferIndex=0);r._index===e&&r._bufferIndex<n.length;){var t;t=n.charCodeAt(r._bufferIndex),u=u(t)}else u=u(n)}}(),null!==o[o.length-1])?[]:(m(t,0),c.events=tN(a,c.events,c),c.events)}},u=t.tokenize.call(c,s);return t.resolveAll&&a.push(t),c;function d(e){return function(e,t){let n;let r=t.start._index,i=t.start._bufferIndex,a=t.end._index,o=t.end._bufferIndex;if(r===a)n=[e[r].slice(i,o)];else{if(n=e.slice(r,a),i>-1){let e=n[0];"string"==typeof e?n[0]=e.slice(i):n.shift()}o>0&&n.push(e[a].slice(0,o))}return n}(o,e)}function p(){let{_bufferIndex:e,_index:t,line:n,column:i,offset:a}=r;return{_bufferIndex:e,_index:t,line:n,column:i,offset:a}}function g(e,t){t.restore()}function f(e,t){return function(n,i,a){let o,u,d,g;return Array.isArray(n)?f(n):"tokenize"in n?f([n]):function(e){let t=null!==e&&n[e],r=null!==e&&n.null;return f([...Array.isArray(t)?t:t?[t]:[],...Array.isArray(r)?r:r?[r]:[]])(e)};function f(e){return(o=e,u=0,0===e.length)?a:m(e[u])}function m(e){return function(n){return(g=function(){let e=p(),t=c.previous,n=c.currentConstruct,i=c.events.length,a=Array.from(l);return{from:i,restore:function(){r=e,c.previous=t,c.currentConstruct=n,c.events.length=i,l=a,h()}}}(),d=e,e.partial||(c.currentConstruct=e),e.name&&c.parser.constructs.disable.null.includes(e.name))?y(n):e.tokenize.call(t?Object.assign(Object.create(c),t):c,s,b,y)(n)}}function b(t){return e(d,g),i}function y(e){return(g.restore(),++u<o.length)?m(o[u]):a}}}function m(e,t){e.resolveAll&&!a.includes(e)&&a.push(e),e.resolve&&eM(c.events,t,c.events.length-t,e.resolve(c.events.slice(t),c)),e.resolveTo&&(c.events=e.resolveTo(c.events,c))}function h(){r.line in i&&r.column<2&&(r.column=i[r.line],r.offset+=i[r.line]-1)}}(t,e,n)}}})(a).document().write((l=1,s="",c=!0,function(e,t,n){let r,i,a,u,d;let p=[];for(e=s+("string"==typeof e?e.toString():new TextDecoder(t||void 0).decode(e)),a=0,s="",c&&(65279===e.charCodeAt(0)&&a++,c=void 0);a<e.length;){if(tH.lastIndex=a,u=(r=tH.exec(e))&&void 0!==r.index?r.index:e.length,d=e.charCodeAt(u),!r){s=e.slice(a);break}if(10===d&&a===u&&o)p.push(-3),o=void 0;else switch(o&&(p.push(-5),o=void 0),a<u&&(p.push(e.slice(a,u)),l+=u-a),d){case 0:p.push(65533),l++;break;case 9:for(i=4*Math.ceil(l/4),p.push(-2);l++<i;)p.push(-1);break;case 10:p.push(-4),l=1;break;default:o=!0,l=1}a=u+1}return n&&(o&&p.push(-5),s&&p.push(s),p.push(null)),p})(n,r,!0))))}}let tJ="object"==typeof self?self:globalThis,tY=(e,t)=>{switch(e){case"Function":case"SharedWorker":case"Worker":case"eval":case"setInterval":case"setTimeout":throw TypeError("unable to deserialize "+e)}return new tJ[e](t)},t0=(e,t)=>{let n=(t,n)=>(e.set(n,t),t),r=i=>{if(e.has(i))return e.get(i);let[a,o]=t[i];switch(a){case 0:case -1:return n(o,i);case 1:{let e=n([],i);for(let t of o)e.push(r(t));return e}case 2:{let e=n({},i);for(let[t,n]of o)e[r(t)]=r(n);return e}case 3:return n(new Date(o),i);case 4:{let{source:e,flags:t}=o;return n(new RegExp(e,t),i)}case 5:{let e=n(new Map,i);for(let[t,n]of o)e.set(r(t),r(n));return e}case 6:{let e=n(new Set,i);for(let t of o)e.add(r(t));return e}case 7:{let{name:e,message:t}=o;return n("function"==typeof tJ[e]?tY(e,t):Error(t),i)}case 8:return n(BigInt(o),i);case"BigInt":return n(Object(BigInt(o)),i);case"ArrayBuffer":return n(new Uint8Array(o).buffer,o);case"DataView":{let{buffer:e}=new Uint8Array(o);return n(new DataView(e),o)}}return n(tY(a,o),i)};return r},t1=e=>t0(new Map,e)(0),{toString:t2}={},{keys:t3}=Object,t5=e=>{let t=typeof e;if("object"!==t||!e)return[0,t];let n=t2.call(e).slice(8,-1);switch(n){case"Array":return[1,""];case"Object":return[2,""];case"Date":return[3,""];case"RegExp":return[4,""];case"Map":return[5,""];case"Set":return[6,""];case"DataView":return[1,n]}return n.includes("Array")?[1,n]:e instanceof Error?[7,e.name||"Error"]:[2,n]},t4=([e,t])=>0===e&&("function"===t||"symbol"===t),t9=(e,t,n,r)=>{let i=(e,t)=>{let i=r.push(e)-1;return n.set(t,i),i},a=r=>{if(n.has(r))return n.get(r);let[o,l]=t5(r);switch(o){case 0:{let t=r;switch(l){case"bigint":o=8,t=r.toString();break;case"function":case"symbol":if(e)throw TypeError("unable to serialize "+l);t=null;break;case"undefined":return i([-1],r)}return i([o,t],r)}case 1:{if(l){let e=r;return"DataView"===l?e=new Uint8Array(r.buffer):"ArrayBuffer"===l&&(e=new Uint8Array(r)),i([l,[...e]],r)}let e=[],t=i([o,e],r);for(let t of r)e.push(a(t));return t}case 2:{if(l)switch(l){case"BigInt":return i([l,r.toString()],r);case"Boolean":case"Number":case"String":return i([l,r.valueOf()],r)}if(t&&"toJSON"in r)return a(r.toJSON());let n=[],s=i([o,n],r);for(let t of t3(r))(e||!t4(t5(r[t])))&&n.push([a(t),a(r[t])]);return s}case 3:return i([o,isNaN(r.getTime())?"":r.toISOString()],r);case 4:{let{source:e,flags:t}=r;return i([o,{source:e,flags:t}],r)}case 5:{let t=[],n=i([o,t],r);for(let[n,i]of r)(e||!(t4(t5(n))||t4(t5(i))))&&t.push([a(n),a(i)]);return n}case 6:{let t=[],n=i([o,t],r);for(let n of r)(e||!t4(t5(n)))&&t.push(a(n));return n}}let{message:s}=r;return i([o,{name:l,message:s}],r)};return a},t6=(e,{json:t,lossy:n}={})=>{let r=[];return t9(!(t||n),!!t,new Map,r)(e),r},t7="function"==typeof structuredClone?(e,t)=>t&&("json"in t||"lossy"in t)?t1(t6(e,t)):structuredClone(e):(e,t)=>t1(t6(e,t));function t8(e){let t=[],n=-1,r=0,i=0;for(;++n<e.length;){let a=e.charCodeAt(n),o="";if(37===a&&ez(e.charCodeAt(n+1))&&ez(e.charCodeAt(n+2)))i=2;else if(a<128)/[!#$&-;=?-Z_a-z~]/.test(String.fromCharCode(a))||(o=String.fromCharCode(a));else if(a>55295&&a<57344){let t=e.charCodeAt(n+1);a<56320&&t>56319&&t<57344?(o=String.fromCharCode(a,t),i=1):o="�"}else o=String.fromCharCode(a);o&&(t.push(e.slice(r,n),encodeURIComponent(o)),r=n+i+1,o=""),i&&(n+=i,i=0)}return t.join("")+e.slice(r)}function ne(e,t){let n=[{type:"text",value:"↩"}];return t>1&&n.push({type:"element",tagName:"sup",properties:{},children:[{type:"text",value:String(t)}]}),n}function nt(e,t){return"Back to reference "+(e+1)+(t>1?"-"+t:"")}let nn=function(e){if(null==e)return ni;if("function"==typeof e)return nr(e);if("object"==typeof e)return Array.isArray(e)?function(e){let t=[],n=-1;for(;++n<e.length;)t[n]=nn(e[n]);return nr(function(...e){let n=-1;for(;++n<t.length;)if(t[n].apply(this,e))return!0;return!1})}(e):nr(function(t){let n;for(n in e)if(t[n]!==e[n])return!1;return!0});if("string"==typeof e)return nr(function(t){return t&&t.type===e});throw Error("Expected function, string, or object as test")};function nr(e){return function(t,n,r){var i;return!!(null!==(i=t)&&"object"==typeof i&&"type"in i&&e.call(this,t,"number"==typeof n?n:void 0,r||void 0))}}function ni(){return!0}let na=[];function no(e,t,n,r){let i;"function"==typeof t&&"function"!=typeof n?(r=n,n=t):i=t;let a=nn(i),o=r?-1:1;(function e(i,l,s){let c=i&&"object"==typeof i?i:{};if("string"==typeof c.type){let e="string"==typeof c.tagName?c.tagName:"string"==typeof c.name?c.name:void 0;Object.defineProperty(u,"name",{value:"node (\x1b[33m"+i.type+(e?"<"+e+">":"")+"\x1b[39m)"})}return u;function u(){var c;let u,d,p,g=na;if((!t||a(i,l,s[s.length-1]||void 0))&&!1===(g=Array.isArray(c=n(i,s))?c:"number"==typeof c?[!0,c]:null==c?na:[c])[0])return g;if("children"in i&&i.children&&i.children&&"skip"!==g[0])for(d=(r?i.children.length:-1)+o,p=s.concat(i);d>-1&&d<i.children.length;){if(!1===(u=e(i.children[d],d,p)())[0])return u;d="number"==typeof u[1]?u[1]:d+o}return g}})(e,void 0,[])()}function nl(e,t,n,r){let i,a,o;"function"==typeof t&&"function"!=typeof n?(a=void 0,o=t,i=n):(a=t,o=n,i=r),no(e,a,function(e,t){let n=t[t.length-1],r=n?n.children.indexOf(e):void 0;return o(e,r,n)},i)}function ns(e,t){let n=t.referenceType,r="]";if("collapsed"===n?r+="[]":"full"===n&&(r+="["+(t.label||t.identifier)+"]"),"imageReference"===t.type)return[{type:"text",value:"!["+t.alt+r}];let i=e.all(t),a=i[0];a&&"text"===a.type?a.value="["+a.value:i.unshift({type:"text",value:"["});let o=i[i.length-1];return o&&"text"===o.type?o.value+=r:i.push({type:"text",value:r}),i}function nc(e){let t=e.spread;return null==t?e.children.length>1:t}function nu(e,t,n){let r=0,i=e.length;if(t){let t=e.codePointAt(r);for(;9===t||32===t;)r++,t=e.codePointAt(r)}if(n){let t=e.codePointAt(i-1);for(;9===t||32===t;)i--,t=e.codePointAt(i-1)}return i>r?e.slice(r,i):""}let nd={blockquote:function(e,t){let n={type:"element",tagName:"blockquote",properties:{},children:e.wrap(e.all(t),!0)};return e.patch(t,n),e.applyData(t,n)},break:function(e,t){let n={type:"element",tagName:"br",properties:{},children:[]};return e.patch(t,n),[e.applyData(t,n),{type:"text",value:"\n"}]},code:function(e,t){let n=t.value?t.value+"\n":"",r={},i=t.lang?t.lang.split(/\s+/):[];i.length>0&&(r.className=["language-"+i[0]]);let a={type:"element",tagName:"code",properties:r,children:[{type:"text",value:n}]};return t.meta&&(a.data={meta:t.meta}),e.patch(t,a),a={type:"element",tagName:"pre",properties:{},children:[a=e.applyData(t,a)]},e.patch(t,a),a},delete:function(e,t){let n={type:"element",tagName:"del",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)},emphasis:function(e,t){let n={type:"element",tagName:"em",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)},footnoteReference:function(e,t){let n;let r="string"==typeof e.options.clobberPrefix?e.options.clobberPrefix:"user-content-",i=String(t.identifier).toUpperCase(),a=t8(i.toLowerCase()),o=e.footnoteOrder.indexOf(i),l=e.footnoteCounts.get(i);void 0===l?(l=0,e.footnoteOrder.push(i),n=e.footnoteOrder.length):n=o+1,l+=1,e.footnoteCounts.set(i,l);let s={type:"element",tagName:"a",properties:{href:"#"+r+"fn-"+a,id:r+"fnref-"+a+(l>1?"-"+l:""),dataFootnoteRef:!0,ariaDescribedBy:["footnote-label"]},children:[{type:"text",value:String(n)}]};e.patch(t,s);let c={type:"element",tagName:"sup",properties:{},children:[s]};return e.patch(t,c),e.applyData(t,c)},heading:function(e,t){let n={type:"element",tagName:"h"+t.depth,properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)},html:function(e,t){if(e.options.allowDangerousHtml){let n={type:"raw",value:t.value};return e.patch(t,n),e.applyData(t,n)}},imageReference:function(e,t){let n=String(t.identifier).toUpperCase(),r=e.definitionById.get(n);if(!r)return ns(e,t);let i={src:t8(r.url||""),alt:t.alt};null!==r.title&&void 0!==r.title&&(i.title=r.title);let a={type:"element",tagName:"img",properties:i,children:[]};return e.patch(t,a),e.applyData(t,a)},image:function(e,t){let n={src:t8(t.url)};null!==t.alt&&void 0!==t.alt&&(n.alt=t.alt),null!==t.title&&void 0!==t.title&&(n.title=t.title);let r={type:"element",tagName:"img",properties:n,children:[]};return e.patch(t,r),e.applyData(t,r)},inlineCode:function(e,t){let n={type:"text",value:t.value.replace(/\r?\n|\r/g," ")};e.patch(t,n);let r={type:"element",tagName:"code",properties:{},children:[n]};return e.patch(t,r),e.applyData(t,r)},linkReference:function(e,t){let n=String(t.identifier).toUpperCase(),r=e.definitionById.get(n);if(!r)return ns(e,t);let i={href:t8(r.url||"")};null!==r.title&&void 0!==r.title&&(i.title=r.title);let a={type:"element",tagName:"a",properties:i,children:e.all(t)};return e.patch(t,a),e.applyData(t,a)},link:function(e,t){let n={href:t8(t.url)};null!==t.title&&void 0!==t.title&&(n.title=t.title);let r={type:"element",tagName:"a",properties:n,children:e.all(t)};return e.patch(t,r),e.applyData(t,r)},listItem:function(e,t,n){let r=e.all(t),i=n?function(e){let t=!1;if("list"===e.type){t=e.spread||!1;let n=e.children,r=-1;for(;!t&&++r<n.length;)t=nc(n[r])}return t}(n):nc(t),a={},o=[];if("boolean"==typeof t.checked){let e;let n=r[0];n&&"element"===n.type&&"p"===n.tagName?e=n:(e={type:"element",tagName:"p",properties:{},children:[]},r.unshift(e)),e.children.length>0&&e.children.unshift({type:"text",value:" "}),e.children.unshift({type:"element",tagName:"input",properties:{type:"checkbox",checked:t.checked,disabled:!0},children:[]}),a.className=["task-list-item"]}let l=-1;for(;++l<r.length;){let e=r[l];(i||0!==l||"element"!==e.type||"p"!==e.tagName)&&o.push({type:"text",value:"\n"}),"element"!==e.type||"p"!==e.tagName||i?o.push(e):o.push(...e.children)}let s=r[r.length-1];s&&(i||"element"!==s.type||"p"!==s.tagName)&&o.push({type:"text",value:"\n"});let c={type:"element",tagName:"li",properties:a,children:o};return e.patch(t,c),e.applyData(t,c)},list:function(e,t){let n={},r=e.all(t),i=-1;for("number"==typeof t.start&&1!==t.start&&(n.start=t.start);++i<r.length;){let e=r[i];if("element"===e.type&&"li"===e.tagName&&e.properties&&Array.isArray(e.properties.className)&&e.properties.className.includes("task-list-item")){n.className=["contains-task-list"];break}}let a={type:"element",tagName:t.ordered?"ol":"ul",properties:n,children:e.wrap(r,!0)};return e.patch(t,a),e.applyData(t,a)},paragraph:function(e,t){let n={type:"element",tagName:"p",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)},root:function(e,t){let n={type:"root",children:e.wrap(e.all(t))};return e.patch(t,n),e.applyData(t,n)},strong:function(e,t){let n={type:"element",tagName:"strong",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)},table:function(e,t){let n=e.all(t),r=n.shift(),i=[];if(r){let n={type:"element",tagName:"thead",properties:{},children:e.wrap([r],!0)};e.patch(t.children[0],n),i.push(n)}if(n.length>0){let r={type:"element",tagName:"tbody",properties:{},children:e.wrap(n,!0)},a=ei(t.children[1]),o=er(t.children[t.children.length-1]);a&&o&&(r.position={start:a,end:o}),i.push(r)}let a={type:"element",tagName:"table",properties:{},children:e.wrap(i,!0)};return e.patch(t,a),e.applyData(t,a)},tableCell:function(e,t){let n={type:"element",tagName:"td",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)},tableRow:function(e,t,n){let r=n?n.children:void 0,i=0===(r?r.indexOf(t):1)?"th":"td",a=n&&"table"===n.type?n.align:void 0,o=a?a.length:t.children.length,l=-1,s=[];for(;++l<o;){let n=t.children[l],r={},o=a?a[l]:void 0;o&&(r.align=o);let c={type:"element",tagName:i,properties:r,children:[]};n&&(c.children=e.all(n),e.patch(n,c),c=e.applyData(n,c)),s.push(c)}let c={type:"element",tagName:"tr",properties:{},children:e.wrap(s,!0)};return e.patch(t,c),e.applyData(t,c)},text:function(e,t){let n={type:"text",value:function(e){let t=String(e),n=/\r?\n|\r/g,r=n.exec(t),i=0,a=[];for(;r;)a.push(nu(t.slice(i,r.index),i>0,!0),r[0]),i=r.index+r[0].length,r=n.exec(t);return a.push(nu(t.slice(i),i>0,!1)),a.join("")}(String(t.value))};return e.patch(t,n),e.applyData(t,n)},thematicBreak:function(e,t){let n={type:"element",tagName:"hr",properties:{},children:[]};return e.patch(t,n),e.applyData(t,n)},toml:np,yaml:np,definition:np,footnoteDefinition:np};function np(){}let ng={}.hasOwnProperty,nf={};function nm(e,t){e.position&&(t.position=function(e){let t=ei(e),n=er(e);if(t&&n)return{start:t,end:n}}(e))}function nh(e,t){let n=t;if(e&&e.data){let t=e.data.hName,r=e.data.hChildren,i=e.data.hProperties;"string"==typeof t&&("element"===n.type?n.tagName=t:n={type:"element",tagName:t,properties:{},children:"children"in n?n.children:[n]}),"element"===n.type&&i&&Object.assign(n.properties,t7(i)),"children"in n&&n.children&&null!=r&&(n.children=r)}return n}function nb(e,t){let n=[],r=-1;for(t&&n.push({type:"text",value:"\n"});++r<e.length;)r&&n.push({type:"text",value:"\n"}),n.push(e[r]);return t&&e.length>0&&n.push({type:"text",value:"\n"}),n}function ny(e){let t=0,n=e.charCodeAt(t);for(;9===n||32===n;)t++,n=e.charCodeAt(t);return e.slice(t)}function nx(e,t){let n=function(e,t){let n=t||nf,r=new Map,i=new Map,a={all:function(e){let t=[];if("children"in e){let n=e.children,r=-1;for(;++r<n.length;){let i=a.one(n[r],e);if(i){if(r&&"break"===n[r-1].type&&(Array.isArray(i)||"text"!==i.type||(i.value=ny(i.value)),!Array.isArray(i)&&"element"===i.type)){let e=i.children[0];e&&"text"===e.type&&(e.value=ny(e.value))}Array.isArray(i)?t.push(...i):t.push(i)}}}return t},applyData:nh,definitionById:r,footnoteById:i,footnoteCounts:new Map,footnoteOrder:[],handlers:{...nd,...n.handlers},one:function(e,t){let n=e.type,r=a.handlers[n];if(ng.call(a.handlers,n)&&r)return r(a,e,t);if(a.options.passThrough&&a.options.passThrough.includes(n)){if("children"in e){let{children:t,...n}=e,r=t7(n);return r.children=a.all(e),r}return t7(e)}return(a.options.unknownHandler||function(e,t){let n=t.data||{},r="value"in t&&!(ng.call(n,"hProperties")||ng.call(n,"hChildren"))?{type:"text",value:t.value}:{type:"element",tagName:"div",properties:{},children:e.all(t)};return e.patch(t,r),e.applyData(t,r)})(a,e,t)},options:n,patch:nm,wrap:nb};return nl(e,function(e){if("definition"===e.type||"footnoteDefinition"===e.type){let t="definition"===e.type?r:i,n=String(e.identifier).toUpperCase();t.has(n)||t.set(n,e)}}),a}(e,t),r=n.one(e,void 0),i=function(e){let t="string"==typeof e.options.clobberPrefix?e.options.clobberPrefix:"user-content-",n=e.options.footnoteBackContent||ne,r=e.options.footnoteBackLabel||nt,i=e.options.footnoteLabel||"Footnotes",a=e.options.footnoteLabelTagName||"h2",o=e.options.footnoteLabelProperties||{className:["sr-only"]},l=[],s=-1;for(;++s<e.footnoteOrder.length;){let i=e.footnoteById.get(e.footnoteOrder[s]);if(!i)continue;let a=e.all(i),o=String(i.identifier).toUpperCase(),c=t8(o.toLowerCase()),u=0,d=[],p=e.footnoteCounts.get(o);for(;void 0!==p&&++u<=p;){d.length>0&&d.push({type:"text",value:" "});let e="string"==typeof n?n:n(s,u);"string"==typeof e&&(e={type:"text",value:e}),d.push({type:"element",tagName:"a",properties:{href:"#"+t+"fnref-"+c+(u>1?"-"+u:""),dataFootnoteBackref:"",ariaLabel:"string"==typeof r?r:r(s,u),className:["data-footnote-backref"]},children:Array.isArray(e)?e:[e]})}let g=a[a.length-1];if(g&&"element"===g.type&&"p"===g.tagName){let e=g.children[g.children.length-1];e&&"text"===e.type?e.value+=" ":g.children.push({type:"text",value:" "}),g.children.push(...d)}else a.push(...d);let f={type:"element",tagName:"li",properties:{id:t+"fn-"+c},children:e.wrap(a,!0)};e.patch(i,f),l.push(f)}if(0!==l.length)return{type:"element",tagName:"section",properties:{dataFootnotes:!0,className:["footnotes"]},children:[{type:"element",tagName:a,properties:{...t7(o),id:"footnote-label"},children:[{type:"text",value:i}]},{type:"text",value:"\n"},{type:"element",tagName:"ol",properties:{},children:e.wrap(l,!0)},{type:"text",value:"\n"}]}}(n),a=Array.isArray(r)?{type:"root",children:r}:r||{type:"root",children:[]};return i&&a.children.push({type:"text",value:"\n"},i),a}function nv(e,t){return e&&"run"in e?async function(n,r){let i=nx(n,{file:r,...t});await e.run(i,r)}:function(n,r){return nx(n,{file:r,...e||t})}}function nk(e){if(e)throw e}var nw=n(55149);function n_(e){if("object"!=typeof e||null===e)return!1;let t=Object.getPrototypeOf(e);return(null===t||t===Object.prototype||null===Object.getPrototypeOf(t))&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)}let nE=require("node:path"),nN=require("node:process");function nS(e){return!!(null!==e&&"object"==typeof e&&"href"in e&&e.href&&"protocol"in e&&e.protocol&&void 0===e.auth)}let nC=require("node:url"),nA=["history","path","basename","stem","extname","dirname"];class nM{constructor(e){let t,n;t=e?nS(e)?{path:e}:"string"==typeof e||function(e){return!!(e&&"object"==typeof e&&"byteLength"in e&&"byteOffset"in e)}(e)?{value:e}:e:{},this.cwd="cwd"in t?"":nN.cwd(),this.data={},this.history=[],this.messages=[],this.value,this.map,this.result,this.stored;let r=-1;for(;++r<nA.length;){let e=nA[r];e in t&&void 0!==t[e]&&null!==t[e]&&(this[e]="history"===e?[...t[e]]:t[e])}for(n in t)nA.includes(n)||(this[n]=t[n])}get basename(){return"string"==typeof this.path?nE.basename(this.path):void 0}set basename(e){nT(e,"basename"),nO(e,"basename"),this.path=nE.join(this.dirname||"",e)}get dirname(){return"string"==typeof this.path?nE.dirname(this.path):void 0}set dirname(e){nD(this.basename,"dirname"),this.path=nE.join(e||"",this.basename)}get extname(){return"string"==typeof this.path?nE.extname(this.path):void 0}set extname(e){if(nO(e,"extname"),nD(this.dirname,"extname"),e){if(46!==e.codePointAt(0))throw Error("`extname` must start with `.`");if(e.includes(".",1))throw Error("`extname` cannot contain multiple dots")}this.path=nE.join(this.dirname,this.stem+(e||""))}get path(){return this.history[this.history.length-1]}set path(e){nS(e)&&(e=(0,nC.fileURLToPath)(e)),nT(e,"path"),this.path!==e&&this.history.push(e)}get stem(){return"string"==typeof this.path?nE.basename(this.path,this.extname):void 0}set stem(e){nT(e,"stem"),nO(e,"stem"),this.path=nE.join(this.dirname||"",e+(this.extname||""))}fail(e,t,n){let r=this.message(e,t,n);throw r.fatal=!0,r}info(e,t,n){let r=this.message(e,t,n);return r.fatal=void 0,r}message(e,t,n){let r=new eu(e,t,n);return this.path&&(r.name=this.path+":"+r.name,r.file=this.path),r.fatal=!1,this.messages.push(r),r}toString(e){return void 0===this.value?"":"string"==typeof this.value?this.value:new TextDecoder(e||void 0).decode(this.value)}}function nO(e,t){if(e&&e.includes(nE.sep))throw Error("`"+t+"` cannot be a path: did not expect `"+nE.sep+"`")}function nT(e,t){if(!e)throw Error("`"+t+"` cannot be empty")}function nD(e,t){if(!e)throw Error("Setting `"+t+"` requires `path` to be set too")}let nI=function(e){let t=this.constructor.prototype,n=t[e],r=function(){return n.apply(r,arguments)};return Object.setPrototypeOf(r,t),r},nj={}.hasOwnProperty;class nL extends nI{constructor(){super("copy"),this.Compiler=void 0,this.Parser=void 0,this.attachers=[],this.compiler=void 0,this.freezeIndex=-1,this.frozen=void 0,this.namespace={},this.parser=void 0,this.transformers=function(){let e=[],t={run:function(...t){let n=-1,r=t.pop();if("function"!=typeof r)throw TypeError("Expected function as last argument, not "+r);(function i(a,...o){let l=e[++n],s=-1;if(a){r(a);return}for(;++s<t.length;)(null===o[s]||void 0===o[s])&&(o[s]=t[s]);t=o,l?(function(e,t){let n;return function(...t){let a;let o=e.length>t.length;o&&t.push(r);try{a=e.apply(this,t)}catch(e){if(o&&n)throw e;return r(e)}o||(a&&a.then&&"function"==typeof a.then?a.then(i,r):a instanceof Error?r(a):i(a))};function r(e,...i){n||(n=!0,t(e,...i))}function i(e){r(null,e)}})(l,i)(...o):r(null,...o)})(null,...t)},use:function(n){if("function"!=typeof n)throw TypeError("Expected `middelware` to be a function, not "+n);return e.push(n),t}};return t}()}copy(){let e=new nL,t=-1;for(;++t<this.attachers.length;){let n=this.attachers[t];e.use(...n)}return e.data(nw(!0,{},this.namespace)),e}data(e,t){return"string"==typeof e?2==arguments.length?(nP("data",this.frozen),this.namespace[e]=t,this):nj.call(this.namespace,e)&&this.namespace[e]||void 0:e?(nP("data",this.frozen),this.namespace=e,this):this.namespace}freeze(){if(this.frozen)return this;for(;++this.freezeIndex<this.attachers.length;){let[e,...t]=this.attachers[this.freezeIndex];if(!1===t[0])continue;!0===t[0]&&(t[0]=void 0);let n=e.call(this,...t);"function"==typeof n&&this.transformers.use(n)}return this.frozen=!0,this.freezeIndex=Number.POSITIVE_INFINITY,this}parse(e){this.freeze();let t=nU(e),n=this.parser||this.Parser;return nz("parse",n),n(String(t),t)}process(e,t){let n=this;return this.freeze(),nz("process",this.parser||this.Parser),nB("process",this.compiler||this.Compiler),t?r(void 0,t):new Promise(r);function r(r,i){let a=nU(e),o=n.parse(a);function l(e,n){e||!n?i(e):r?r(n):t(void 0,n)}n.run(o,a,function(e,t,r){if(e||!t||!r)return l(e);let i=n.stringify(t,r);"string"==typeof i||i&&"object"==typeof i&&"byteLength"in i&&"byteOffset"in i?r.value=i:r.result=i,l(e,r)})}}processSync(e){let t,n=!1;return this.freeze(),nz("processSync",this.parser||this.Parser),nB("processSync",this.compiler||this.Compiler),this.process(e,function(e,r){n=!0,nk(e),t=r}),nq("processSync","process",n),t}run(e,t,n){nF(e),this.freeze();let r=this.transformers;return n||"function"!=typeof t||(n=t,t=void 0),n?i(void 0,n):new Promise(i);function i(i,a){let o=nU(t);r.run(e,o,function(t,r,o){let l=r||e;t?a(t):i?i(l):n(void 0,l,o)})}}runSync(e,t){let n,r=!1;return this.run(e,t,function(e,t){nk(e),n=t,r=!0}),nq("runSync","run",r),n}stringify(e,t){this.freeze();let n=nU(t),r=this.compiler||this.Compiler;return nB("stringify",r),nF(e),r(e,n)}use(e,...t){let n=this.attachers,r=this.namespace;if(nP("use",this.frozen),null==e);else if("function"==typeof e)o(e,t);else if("object"==typeof e)Array.isArray(e)?a(e):i(e);else throw TypeError("Expected usable value, not `"+e+"`");return this;function i(e){if(!("plugins"in e)&&!("settings"in e))throw Error("Expected usable value but received an empty preset, which is probably a mistake: presets typically come with `plugins` and sometimes with `settings`, but this has neither");a(e.plugins),e.settings&&(r.settings=nw(!0,r.settings,e.settings))}function a(e){let t=-1;if(null==e);else if(Array.isArray(e))for(;++t<e.length;)!function(e){if("function"==typeof e)o(e,[]);else if("object"==typeof e){if(Array.isArray(e)){let[t,...n]=e;o(t,n)}else i(e)}else throw TypeError("Expected usable value, not `"+e+"`")}(e[t]);else throw TypeError("Expected a list of plugins, not `"+e+"`")}function o(e,t){let r=-1,i=-1;for(;++r<n.length;)if(n[r][0]===e){i=r;break}if(-1===i)n.push([e,...t]);else if(t.length>0){let[r,...a]=t,o=n[i][1];n_(o)&&n_(r)&&(r=nw(!0,o,r)),n[i]=[e,r,...a]}}}}let nR=new nL().freeze();function nz(e,t){if("function"!=typeof t)throw TypeError("Cannot `"+e+"` without `parser`")}function nB(e,t){if("function"!=typeof t)throw TypeError("Cannot `"+e+"` without `compiler`")}function nP(e,t){if(t)throw Error("Cannot call `"+e+"` on a frozen processor.\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.")}function nF(e){if(!n_(e)||"string"!=typeof e.type)throw TypeError("Expected node, got `"+e+"`")}function nq(e,t,n){if(!n)throw Error("`"+e+"` finished async. Use `"+t+"` instead")}function nU(e){return e&&"object"==typeof e&&"message"in e&&"messages"in e?e:new nM(e)}let n$=[],nH={allowDangerousHtml:!0},nG=/^(https?|ircs?|mailto|xmpp)$/i,nK=[{from:"astPlugins",id:"remove-buggy-html-in-markdown-parser"},{from:"allowDangerousHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"allowNode",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowElement"},{from:"allowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowedElements"},{from:"disallowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"disallowedElements"},{from:"escapeHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"includeElementIndex",id:"#remove-includeelementindex"},{from:"includeNodeIndex",id:"change-includenodeindex-to-includeelementindex"},{from:"linkTarget",id:"remove-linktarget"},{from:"plugins",id:"change-plugins-to-remarkplugins",to:"remarkPlugins"},{from:"rawSourcePos",id:"#remove-rawsourcepos"},{from:"renderers",id:"change-renderers-to-components",to:"components"},{from:"source",id:"change-source-to-children",to:"children"},{from:"sourcePos",id:"#remove-sourcepos"},{from:"transformImageUri",id:"#add-urltransform",to:"urlTransform"},{from:"transformLinkUri",id:"#add-urltransform",to:"urlTransform"}];function nV(e){let t=function(e){let t=e.rehypePlugins||n$,n=e.remarkPlugins||n$,r=e.remarkRehypeOptions?{...e.remarkRehypeOptions,...nH}:nH;return nR().use(tX).use(n).use(nv,r).use(t)}(e),n=function(e){let t=e.children||"",n=new nM;return"string"==typeof t&&(n.value=t),n}(e);return function(e,t){let n=t.allowedElements,r=t.allowElement,i=t.components,o=t.disallowedElements,l=t.skipHtml,s=t.unwrapDisallowed,c=t.urlTransform||nZ;for(let e of nK)Object.hasOwn(t,e.from)&&(e.from,e.to&&e.to,e.id);return t.className&&(e={type:"element",tagName:"div",properties:{className:t.className},children:"root"===e.type?e.children:[e]}),nl(e,function(e,t,i){if("raw"===e.type&&i&&"number"==typeof t)return l?i.children.splice(t,1):i.children[t]={type:"text",value:e.value},t;if("element"===e.type){let t;for(t in eE)if(Object.hasOwn(eE,t)&&Object.hasOwn(e.properties,t)){let n=e.properties[t],r=eE[t];(null===r||r.includes(e.tagName))&&(e.properties[t]=c(String(n||""),t,e))}}if("element"===e.type){let a=n?!n.includes(e.tagName):!!o&&o.includes(e.tagName);if(!a&&r&&"number"==typeof t&&(a=!r(e,t,i)),a&&i&&"number"==typeof t)return s&&e.children?i.children.splice(t,1,...e.children):i.children.splice(t,1),t}}),function(e,t){var n,r,i;let a;if(!t||void 0===t.Fragment)throw TypeError("Expected `Fragment` in options");let o=t.filePath||void 0;if(t.development){if("function"!=typeof t.jsxDEV)throw TypeError("Expected `jsxDEV` in options when `development: true`");n=t.jsxDEV,a=function(e,t,r,i){let a=Array.isArray(r.children),l=ei(e);return n(t,r,i,a,{columnNumber:l?l.column-1:void 0,fileName:o,lineNumber:l?l.line:void 0},void 0)}}else{if("function"!=typeof t.jsx)throw TypeError("Expected `jsx` in production options");if("function"!=typeof t.jsxs)throw TypeError("Expected `jsxs` in production options");r=t.jsx,i=t.jsxs,a=function(e,t,n,a){let o=Array.isArray(n.children)?i:r;return a?o(t,n,a):o(t,n)}}let l={Fragment:t.Fragment,ancestors:[],components:t.components||{},create:a,elementAttributeNameCase:t.elementAttributeNameCase||"react",evaluater:t.createEvaluater?t.createEvaluater():void 0,filePath:o,ignoreInvalidStyle:t.ignoreInvalidStyle||!1,passKeys:!1!==t.passKeys,passNode:t.passNode||!1,schema:"svg"===t.space?W:Z,stylePropertyNameCase:t.stylePropertyNameCase||"dom",tableCellAlignToStyle:!1!==t.tableCellAlignToStyle},s=eb(l,e,void 0);return s&&"string"!=typeof s?s:l.create(e,l.Fragment,{children:s||void 0},void 0)}(e,{Fragment:a.Fragment,components:i,ignoreInvalidStyle:!0,jsx:a.jsx,jsxs:a.jsxs,passKeys:!0,passNode:!0})}(t.runSync(t.parse(n),n),e)}function nZ(e){let t=e.indexOf(":"),n=e.indexOf("?"),r=e.indexOf("#"),i=e.indexOf("/");return -1===t||-1!==i&&t>i||-1!==n&&t>n||-1!==r&&t>r||nG.test(e.slice(0,t))?e:""}function nW(e,t){let n=String(e);if("string"!=typeof t)throw TypeError("Expected character");let r=0,i=n.indexOf(t);for(;-1!==i;)r++,i=n.indexOf(t,i+t.length);return r}let nQ="phrasing",nX=["autolink","link","image","label"];function nJ(e){this.enter({type:"link",title:null,url:"",children:[]},e)}function nY(e){this.config.enter.autolinkProtocol.call(this,e)}function n0(e){this.config.exit.autolinkProtocol.call(this,e)}function n1(e){this.config.exit.data.call(this,e);let t=this.stack[this.stack.length-1];t.type,t.url="http://"+this.sliceSerialize(e)}function n2(e){this.config.exit.autolinkEmail.call(this,e)}function n3(e){this.exit(e)}function n5(e){!function(e,t,n){let r=nn((n||{}).ignore||[]),i=function(e){let t=[];if(!Array.isArray(e))throw TypeError("Expected find and replace tuple or list of tuples");let n=!e[0]||Array.isArray(e[0])?e:[e],r=-1;for(;++r<n.length;){var i;let e=n[r];t.push(["string"==typeof(i=e[0])?RegExp(function(e){if("string"!=typeof e)throw TypeError("Expected a string");return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}(i),"g"):i,function(e){return"function"==typeof e?e:function(){return e}}(e[1])])}return t}(t),a=-1;for(;++a<i.length;)no(e,"text",o);function o(e,t){let n,o=-1;for(;++o<t.length;){let e=t[o],i=n?n.children:void 0;if(r(e,i?i.indexOf(e):void 0,n))return;n=e}if(n)return function(e,t){let n=t[t.length-1],r=i[a][0],o=i[a][1],l=0,s=n.children.indexOf(e),c=!1,u=[];r.lastIndex=0;let d=r.exec(e.value);for(;d;){let n=d.index,i={index:d.index,input:d.input,stack:[...t,e]},a=o(...d,i);if("string"==typeof a&&(a=a.length>0?{type:"text",value:a}:void 0),!1===a?r.lastIndex=n+1:(l!==n&&u.push({type:"text",value:e.value.slice(l,n)}),Array.isArray(a)?u.push(...a):a&&u.push(a),l=n+d[0].length,c=!0),!r.global)break;d=r.exec(e.value)}return c?(l<e.value.length&&u.push({type:"text",value:e.value.slice(l)}),n.children.splice(s,1,...u)):u=[e],s+u.length}(e,t)}}(e,[[/(https?:\/\/|www(?=\.))([-.\w]+)([^ \t\r\n]*)/gi,n4],[/(?<=^|\s|\p{P}|\p{S})([-.\w+]+)@([-\w]+(?:\.[-\w]+)+)/gu,n9]],{ignore:["link","linkReference"]})}function n4(e,t,n,r,i){let a="";if(!n6(i)||(/^w/i.test(t)&&(n=t+n,t="",a="http://"),!function(e){let t=e.split(".");return!(t.length<2||t[t.length-1]&&(/_/.test(t[t.length-1])||!/[a-zA-Z\d]/.test(t[t.length-1]))||t[t.length-2]&&(/_/.test(t[t.length-2])||!/[a-zA-Z\d]/.test(t[t.length-2])))}(n)))return!1;let o=function(e){let t=/[!"&'),.:;<>?\]}]+$/.exec(e);if(!t)return[e,void 0];e=e.slice(0,t.index);let n=t[0],r=n.indexOf(")"),i=nW(e,"("),a=nW(e,")");for(;-1!==r&&i>a;)e+=n.slice(0,r+1),r=(n=n.slice(r+1)).indexOf(")"),a++;return[e,n]}(n+r);if(!o[0])return!1;let l={type:"link",title:null,url:a+t+o[0],children:[{type:"text",value:t+o[0]}]};return o[1]?[l,{type:"text",value:o[1]}]:l}function n9(e,t,n,r){return!(!n6(r,!0)||/[-\d_]$/.test(n))&&{type:"link",title:null,url:"mailto:"+t+"@"+n,children:[{type:"text",value:t+"@"+n}]}}function n6(e,t){let n=e.input.charCodeAt(e.index-1);return(0===e.index||eV(n)||eK(n))&&(!t||47!==n)}function n7(){this.buffer()}function n8(e){this.enter({type:"footnoteReference",identifier:"",label:""},e)}function re(){this.buffer()}function rt(e){this.enter({type:"footnoteDefinition",identifier:"",label:"",children:[]},e)}function rn(e){let t=this.resume(),n=this.stack[this.stack.length-1];n.type,n.identifier=ts(this.sliceSerialize(e)).toLowerCase(),n.label=t}function rr(e){this.exit(e)}function ri(e){let t=this.resume(),n=this.stack[this.stack.length-1];n.type,n.identifier=ts(this.sliceSerialize(e)).toLowerCase(),n.label=t}function ra(e){this.exit(e)}function ro(e,t,n,r){let i=n.createTracker(r),a=i.move("[^"),o=n.enter("footnoteReference"),l=n.enter("reference");return a+=i.move(n.safe(n.associationId(e),{after:"]",before:a})),l(),o(),a+=i.move("]")}function rl(e,t,n){return 0===t?e:rs(e,t,n)}function rs(e,t,n){return(n?"":" ")+e}ro.peek=function(){return"["};let rc=["autolink","destinationLiteral","destinationRaw","reference","titleQuote","titleApostrophe"];function ru(e){this.enter({type:"delete",children:[]},e)}function rd(e){this.exit(e)}function rp(e,t,n,r){let i=n.createTracker(r),a=n.enter("strikethrough"),o=i.move("~~");return o+=n.containerPhrasing(e,{...i.current(),before:o,after:"~"}),o+=i.move("~~"),a(),o}function rg(e){return e.length}function rf(e){let t="string"==typeof e?e.codePointAt(0):0;return 67===t||99===t?99:76===t||108===t?108:82===t||114===t?114:0}rp.peek=function(){return"~"};function rm(e,t,n){let r=e.value||"",i="`",a=-1;for(;RegExp("(^|[^`])"+i+"([^`]|$)").test(r);)i+="`";for(/[^ \r\n]/.test(r)&&(/^[ \r\n]/.test(r)&&/[ \r\n]$/.test(r)||/^`|`$/.test(r))&&(r=" "+r+" ");++a<n.unsafe.length;){let e;let t=n.unsafe[a],i=n.compilePattern(t);if(t.atBreak)for(;e=i.exec(r);){let t=e.index;10===r.charCodeAt(t)&&13===r.charCodeAt(t-1)&&t--,r=r.slice(0,t)+" "+r.slice(e.index+1)}}return i+r+i}rm.peek=function(){return"`"},nn(["break","delete","emphasis","footnote","footnoteReference","image","imageReference","inlineCode","inlineMath","link","linkReference","mdxJsxTextElement","mdxTextExpression","strong","text","textDirective"]);let rh={inlineCode:rm,listItem:function(e,t,n,r){let i=function(e){let t=e.options.listItemIndent||"one";if("tab"!==t&&"one"!==t&&"mixed"!==t)throw Error("Cannot serialize items with `"+t+"` for `options.listItemIndent`, expected `tab`, `one`, or `mixed`");return t}(n),a=n.bulletCurrent||function(e){let t=e.options.bullet||"*";if("*"!==t&&"+"!==t&&"-"!==t)throw Error("Cannot serialize items with `"+t+"` for `options.bullet`, expected `*`, `+`, or `-`");return t}(n);t&&"list"===t.type&&t.ordered&&(a=("number"==typeof t.start&&t.start>-1?t.start:1)+(!1===n.options.incrementListMarker?0:t.children.indexOf(e))+a);let o=a.length+1;("tab"===i||"mixed"===i&&(t&&"list"===t.type&&t.spread||e.spread))&&(o=4*Math.ceil(o/4));let l=n.createTracker(r);l.move(a+" ".repeat(o-a.length)),l.shift(o);let s=n.enter("listItem"),c=n.indentLines(n.containerFlow(e,l.current()),function(e,t,n){return t?(n?"":" ".repeat(o))+e:(n?a:a+" ".repeat(o-a.length))+e});return s(),c}};function rb(e){let t=e._align;this.enter({type:"table",align:t.map(function(e){return"none"===e?null:e}),children:[]},e),this.data.inTable=!0}function ry(e){this.exit(e),this.data.inTable=void 0}function rx(e){this.enter({type:"tableRow",children:[]},e)}function rv(e){this.exit(e)}function rk(e){this.enter({type:"tableCell",children:[]},e)}function rw(e){let t=this.resume();this.data.inTable&&(t=t.replace(/\\([\\|])/g,r_));let n=this.stack[this.stack.length-1];n.type,n.value=t,this.exit(e)}function r_(e,t){return"|"===t?t:e}function rE(e){let t=this.stack[this.stack.length-2];t.type,t.checked="taskListCheckValueChecked"===e.type}function rN(e){let t=this.stack[this.stack.length-2];if(t&&"listItem"===t.type&&"boolean"==typeof t.checked){let e=this.stack[this.stack.length-1];e.type;let n=e.children[0];if(n&&"text"===n.type){let r;let i=t.children,a=-1;for(;++a<i.length;){let e=i[a];if("paragraph"===e.type){r=e;break}}r===e&&(n.value=n.value.slice(1),0===n.value.length?e.children.shift():e.position&&n.position&&"number"==typeof n.position.start.offset&&(n.position.start.column++,n.position.start.offset++,e.position.start=Object.assign({},n.position.start)))}}this.exit(e)}function rS(e,t,n,r){let i=e.children[0],a="boolean"==typeof e.checked&&i&&"paragraph"===i.type,o="["+(e.checked?"x":" ")+"] ",l=n.createTracker(r);a&&l.move(o);let s=rh.listItem(e,t,n,{...r,...l.current()});return a&&(s=s.replace(/^(?:[*+-]|\d+\.)([\r\n]| {1,3})/,function(e){return e+o})),s}let rC={tokenize:function(e,t,n){let r=0;return function t(a){return(87===a||119===a)&&r<3?(r++,e.consume(a),t):46===a&&3===r?(e.consume(a),i):n(a)};function i(e){return null===e?n(e):t(e)}},partial:!0},rA={tokenize:function(e,t,n){let r,i,a;return o;function o(t){return 46===t||95===t?e.check(rO,s,l)(t):null===t||eH(t)||eV(t)||45!==t&&eK(t)?s(t):(a=!0,e.consume(t),o)}function l(t){return 95===t?r=!0:(i=r,r=void 0),e.consume(t),o}function s(e){return i||r||!a?n(e):t(e)}},partial:!0},rM={tokenize:function(e,t){let n=0,r=0;return i;function i(o){return 40===o?(n++,e.consume(o),i):41===o&&r<n?a(o):33===o||34===o||38===o||39===o||41===o||42===o||44===o||46===o||58===o||59===o||60===o||63===o||93===o||95===o||126===o?e.check(rO,t,a)(o):null===o||eH(o)||eV(o)?t(o):(e.consume(o),i)}function a(t){return 41===t&&r++,e.consume(t),i}},partial:!0},rO={tokenize:function(e,t,n){return r;function r(o){return 33===o||34===o||39===o||41===o||42===o||44===o||46===o||58===o||59===o||63===o||95===o||126===o?(e.consume(o),r):38===o?(e.consume(o),a):93===o?(e.consume(o),i):60===o||null===o||eH(o)||eV(o)?t(o):n(o)}function i(e){return null===e||40===e||91===e||eH(e)||eV(e)?t(e):r(e)}function a(t){return eR(t)?function t(i){return 59===i?(e.consume(i),r):eR(i)?(e.consume(i),t):n(i)}(t):n(t)}},partial:!0},rT={tokenize:function(e,t,n){return function(t){return e.consume(t),r};function r(e){return ez(e)?n(e):t(e)}},partial:!0},rD={name:"wwwAutolink",tokenize:function(e,t,n){let r=this;return function(t){return 87!==t&&119!==t||!rz.call(r,r.previous)||rq(r.events)?n(t):(e.enter("literalAutolink"),e.enter("literalAutolinkWww"),e.check(rC,e.attempt(rA,e.attempt(rM,i),n),n)(t))};function i(n){return e.exit("literalAutolinkWww"),e.exit("literalAutolink"),t(n)}},previous:rz},rI={name:"protocolAutolink",tokenize:function(e,t,n){let r=this,i="",a=!1;return function(t){return(72===t||104===t)&&rB.call(r,r.previous)&&!rq(r.events)?(e.enter("literalAutolink"),e.enter("literalAutolinkHttp"),i+=String.fromCodePoint(t),e.consume(t),o):n(t)};function o(t){if(eR(t)&&i.length<5)return i+=String.fromCodePoint(t),e.consume(t),o;if(58===t){let n=i.toLowerCase();if("http"===n||"https"===n)return e.consume(t),l}return n(t)}function l(t){return 47===t?(e.consume(t),a)?s:(a=!0,l):n(t)}function s(t){return null===t||eP(t)||eH(t)||eV(t)||eK(t)?n(t):e.attempt(rA,e.attempt(rM,c),n)(t)}function c(n){return e.exit("literalAutolinkHttp"),e.exit("literalAutolink"),t(n)}},previous:rB},rj={name:"emailAutolink",tokenize:function(e,t,n){let r,i;let a=this;return function(t){return!rF(t)||!rP.call(a,a.previous)||rq(a.events)?n(t):(e.enter("literalAutolink"),e.enter("literalAutolinkEmail"),function t(r){return rF(r)?(e.consume(r),t):64===r?(e.consume(r),o):n(r)}(t))};function o(t){return 46===t?e.check(rT,s,l)(t):45===t||95===t||ez(t)?(i=!0,e.consume(t),o):s(t)}function l(t){return e.consume(t),r=!0,o}function s(o){return i&&r&&eR(a.previous)?(e.exit("literalAutolinkEmail"),e.exit("literalAutolink"),t(o)):n(o)}},previous:rP},rL={},rR=48;for(;rR<123;)rL[rR]=rj,58==++rR?rR=65:91===rR&&(rR=97);function rz(e){return null===e||40===e||42===e||95===e||91===e||93===e||126===e||eH(e)}function rB(e){return!eR(e)}function rP(e){return!(47===e||rF(e))}function rF(e){return 43===e||45===e||46===e||95===e||ez(e)}function rq(e){let t=e.length,n=!1;for(;t--;){let r=e[t][1];if(("labelLink"===r.type||"labelImage"===r.type)&&!r._balanced){n=!0;break}if(r._gfmAutolinkLiteralWalkedInto){n=!1;break}}return e.length>0&&!n&&(e[e.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),n}rL[43]=rj,rL[45]=rj,rL[46]=rj,rL[95]=rj,rL[72]=[rj,rI],rL[104]=[rj,rI],rL[87]=[rj,rD],rL[119]=[rj,rD];let rU={tokenize:function(e,t,n){let r=this;return eW(e,function(e){let i=r.events[r.events.length-1];return i&&"gfmFootnoteDefinitionIndent"===i[1].type&&4===i[2].sliceSerialize(i[1],!0).length?t(e):n(e)},"gfmFootnoteDefinitionIndent",5)},partial:!0};function r$(e,t,n){let r;let i=this,a=i.events.length,o=i.parser.gfmFootnotes||(i.parser.gfmFootnotes=[]);for(;a--;){let e=i.events[a][1];if("labelImage"===e.type){r=e;break}if("gfmFootnoteCall"===e.type||"labelLink"===e.type||"label"===e.type||"image"===e.type||"link"===e.type)break}return function(a){if(!r||!r._balanced)return n(a);let l=ts(i.sliceSerialize({start:r.end,end:i.now()}));return 94===l.codePointAt(0)&&o.includes(l.slice(1))?(e.enter("gfmFootnoteCallLabelMarker"),e.consume(a),e.exit("gfmFootnoteCallLabelMarker"),t(a)):n(a)}}function rH(e,t){let n=e.length;for(;n--;)if("labelImage"===e[n][1].type&&"enter"===e[n][0]){e[n][1];break}e[n+1][1].type="data",e[n+3][1].type="gfmFootnoteCallLabelMarker";let r={type:"gfmFootnoteCall",start:Object.assign({},e[n+3][1].start),end:Object.assign({},e[e.length-1][1].end)},i={type:"gfmFootnoteCallMarker",start:Object.assign({},e[n+3][1].end),end:Object.assign({},e[n+3][1].end)};i.end.column++,i.end.offset++,i.end._bufferIndex++;let a={type:"gfmFootnoteCallString",start:Object.assign({},i.end),end:Object.assign({},e[e.length-1][1].start)},o={type:"chunkString",contentType:"string",start:Object.assign({},a.start),end:Object.assign({},a.end)},l=[e[n+1],e[n+2],["enter",r,t],e[n+3],e[n+4],["enter",i,t],["exit",i,t],["enter",a,t],["enter",o,t],["exit",o,t],["exit",a,t],e[e.length-2],e[e.length-1],["exit",r,t]];return e.splice(n,e.length-n+1,...l),e}function rG(e,t,n){let r;let i=this,a=i.parser.gfmFootnotes||(i.parser.gfmFootnotes=[]),o=0;return function(t){return e.enter("gfmFootnoteCall"),e.enter("gfmFootnoteCallLabelMarker"),e.consume(t),e.exit("gfmFootnoteCallLabelMarker"),l};function l(t){return 94!==t?n(t):(e.enter("gfmFootnoteCallMarker"),e.consume(t),e.exit("gfmFootnoteCallMarker"),e.enter("gfmFootnoteCallString"),e.enter("chunkString").contentType="string",s)}function s(l){if(o>999||93===l&&!r||null===l||91===l||eH(l))return n(l);if(93===l){e.exit("chunkString");let r=e.exit("gfmFootnoteCallString");return a.includes(ts(i.sliceSerialize(r)))?(e.enter("gfmFootnoteCallLabelMarker"),e.consume(l),e.exit("gfmFootnoteCallLabelMarker"),e.exit("gfmFootnoteCall"),t):n(l)}return eH(l)||(r=!0),o++,e.consume(l),92===l?c:s}function c(t){return 91===t||92===t||93===t?(e.consume(t),o++,s):s(t)}}function rK(e,t,n){let r,i;let a=this,o=a.parser.gfmFootnotes||(a.parser.gfmFootnotes=[]),l=0;return function(t){return e.enter("gfmFootnoteDefinition")._container=!0,e.enter("gfmFootnoteDefinitionLabel"),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(t),e.exit("gfmFootnoteDefinitionLabelMarker"),s};function s(t){return 94===t?(e.enter("gfmFootnoteDefinitionMarker"),e.consume(t),e.exit("gfmFootnoteDefinitionMarker"),e.enter("gfmFootnoteDefinitionLabelString"),e.enter("chunkString").contentType="string",c):n(t)}function c(t){if(l>999||93===t&&!i||null===t||91===t||eH(t))return n(t);if(93===t){e.exit("chunkString");let n=e.exit("gfmFootnoteDefinitionLabelString");return r=ts(a.sliceSerialize(n)),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(t),e.exit("gfmFootnoteDefinitionLabelMarker"),e.exit("gfmFootnoteDefinitionLabel"),d}return eH(t)||(i=!0),l++,e.consume(t),92===t?u:c}function u(t){return 91===t||92===t||93===t?(e.consume(t),l++,c):c(t)}function d(t){return 58===t?(e.enter("definitionMarker"),e.consume(t),e.exit("definitionMarker"),o.includes(r)||o.push(r),eW(e,p,"gfmFootnoteDefinitionWhitespace")):n(t)}function p(e){return t(e)}}function rV(e,t,n){return e.check(eY,t,e.attempt(rU,t,n))}function rZ(e){e.exit("gfmFootnoteDefinition")}class rW{constructor(){this.map=[]}add(e,t,n){(function(e,t,n,r){let i=0;if(0!==n||0!==r.length){for(;i<e.map.length;){if(e.map[i][0]===t){e.map[i][1]+=n,e.map[i][2].push(...r);return}i+=1}e.map.push([t,n,r])}})(this,e,t,n)}consume(e){if(this.map.sort(function(e,t){return e[0]-t[0]}),0===this.map.length)return;let t=this.map.length,n=[];for(;t>0;)t-=1,n.push(e.slice(this.map[t][0]+this.map[t][1]),this.map[t][2]),e.length=this.map[t][0];n.push(e.slice()),e.length=0;let r=n.pop();for(;r;){for(let t of r)e.push(t);r=n.pop()}this.map.length=0}}function rQ(e,t,n){let r;let i=this,a=0,o=0;return function(e){let t=i.events.length-1;for(;t>-1;){let e=i.events[t][1].type;if("lineEnding"===e||"linePrefix"===e)t--;else break}let r=t>-1?i.events[t][1].type:null,a="tableHead"===r||"tableRow"===r?y:l;return a===y&&i.parser.lazy[i.now().line]?n(e):a(e)};function l(t){return e.enter("tableHead"),e.enter("tableRow"),124===t||(r=!0,o+=1),s(t)}function s(t){return null===t?n(t):e$(t)?o>1?(o=0,i.interrupt=!0,e.exit("tableRow"),e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),d):n(t):eG(t)?eW(e,s,"whitespace")(t):(o+=1,r&&(r=!1,a+=1),124===t)?(e.enter("tableCellDivider"),e.consume(t),e.exit("tableCellDivider"),r=!0,s):(e.enter("data"),c(t))}function c(t){return null===t||124===t||eH(t)?(e.exit("data"),s(t)):(e.consume(t),92===t?u:c)}function u(t){return 92===t||124===t?(e.consume(t),c):c(t)}function d(t){return(i.interrupt=!1,i.parser.lazy[i.now().line])?n(t):(e.enter("tableDelimiterRow"),r=!1,eG(t))?eW(e,p,"linePrefix",i.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(t):p(t)}function p(t){return 45===t||58===t?f(t):124===t?(r=!0,e.enter("tableCellDivider"),e.consume(t),e.exit("tableCellDivider"),g):n(t)}function g(t){return eG(t)?eW(e,f,"whitespace")(t):f(t)}function f(t){return 58===t?(o+=1,r=!0,e.enter("tableDelimiterMarker"),e.consume(t),e.exit("tableDelimiterMarker"),m):45===t?(o+=1,m(t)):null===t||e$(t)?b(t):n(t)}function m(t){return 45===t?(e.enter("tableDelimiterFiller"),function t(n){return 45===n?(e.consume(n),t):58===n?(r=!0,e.exit("tableDelimiterFiller"),e.enter("tableDelimiterMarker"),e.consume(n),e.exit("tableDelimiterMarker"),h):(e.exit("tableDelimiterFiller"),h(n))}(t)):n(t)}function h(t){return eG(t)?eW(e,b,"whitespace")(t):b(t)}function b(i){return 124===i?p(i):null===i||e$(i)?r&&a===o?(e.exit("tableDelimiterRow"),e.exit("tableHead"),t(i)):n(i):n(i)}function y(t){return e.enter("tableRow"),x(t)}function x(n){return 124===n?(e.enter("tableCellDivider"),e.consume(n),e.exit("tableCellDivider"),x):null===n||e$(n)?(e.exit("tableRow"),t(n)):eG(n)?eW(e,x,"whitespace")(n):(e.enter("data"),v(n))}function v(t){return null===t||124===t||eH(t)?(e.exit("data"),x(t)):(e.consume(t),92===t?k:v)}function k(t){return 92===t||124===t?(e.consume(t),v):v(t)}}function rX(e,t){let n,r,i,a=-1,o=!0,l=0,s=[0,0,0,0],c=[0,0,0,0],u=!1,d=0,p=new rW;for(;++a<e.length;){let g=e[a],f=g[1];"enter"===g[0]?"tableHead"===f.type?(u=!1,0!==d&&(rY(p,t,d,n,r),r=void 0,d=0),n={type:"table",start:Object.assign({},f.start),end:Object.assign({},f.end)},p.add(a,0,[["enter",n,t]])):"tableRow"===f.type||"tableDelimiterRow"===f.type?(o=!0,i=void 0,s=[0,0,0,0],c=[0,a+1,0,0],u&&(u=!1,r={type:"tableBody",start:Object.assign({},f.start),end:Object.assign({},f.end)},p.add(a,0,[["enter",r,t]])),l="tableDelimiterRow"===f.type?2:r?3:1):l&&("data"===f.type||"tableDelimiterMarker"===f.type||"tableDelimiterFiller"===f.type)?(o=!1,0===c[2]&&(0!==s[1]&&(c[0]=c[1],i=rJ(p,t,s,l,void 0,i),s=[0,0,0,0]),c[2]=a)):"tableCellDivider"===f.type&&(o?o=!1:(0!==s[1]&&(c[0]=c[1],i=rJ(p,t,s,l,void 0,i)),c=[(s=c)[1],a,0,0])):"tableHead"===f.type?(u=!0,d=a):"tableRow"===f.type||"tableDelimiterRow"===f.type?(d=a,0!==s[1]?(c[0]=c[1],i=rJ(p,t,s,l,a,i)):0!==c[1]&&(i=rJ(p,t,c,l,a,i)),l=0):l&&("data"===f.type||"tableDelimiterMarker"===f.type||"tableDelimiterFiller"===f.type)&&(c[3]=a)}for(0!==d&&rY(p,t,d,n,r),p.consume(t.events),a=-1;++a<t.events.length;){let e=t.events[a];"enter"===e[0]&&"table"===e[1].type&&(e[1]._align=function(e,t){let n=!1,r=[];for(;t<e.length;){let i=e[t];if(n){if("enter"===i[0])"tableContent"===i[1].type&&r.push("tableDelimiterMarker"===e[t+1][1].type?"left":"none");else if("tableContent"===i[1].type){if("tableDelimiterMarker"===e[t-1][1].type){let e=r.length-1;r[e]="left"===r[e]?"center":"right"}}else if("tableDelimiterRow"===i[1].type)break}else"enter"===i[0]&&"tableDelimiterRow"===i[1].type&&(n=!0);t+=1}return r}(t.events,a))}return e}function rJ(e,t,n,r,i,a){0!==n[0]&&(a.end=Object.assign({},r0(t.events,n[0])),e.add(n[0],0,[["exit",a,t]]));let o=r0(t.events,n[1]);if(a={type:1===r?"tableHeader":2===r?"tableDelimiter":"tableData",start:Object.assign({},o),end:Object.assign({},o)},e.add(n[1],0,[["enter",a,t]]),0!==n[2]){let i=r0(t.events,n[2]),a=r0(t.events,n[3]),o={type:"tableContent",start:Object.assign({},i),end:Object.assign({},a)};if(e.add(n[2],0,[["enter",o,t]]),2!==r){let r=t.events[n[2]],i=t.events[n[3]];if(r[1].end=Object.assign({},i[1].end),r[1].type="chunkText",r[1].contentType="text",n[3]>n[2]+1){let t=n[2]+1,r=n[3]-n[2]-1;e.add(t,r,[])}}e.add(n[3]+1,0,[["exit",o,t]])}return void 0!==i&&(a.end=Object.assign({},r0(t.events,i)),e.add(i,0,[["exit",a,t]]),a=void 0),a}function rY(e,t,n,r,i){let a=[],o=r0(t.events,n);i&&(i.end=Object.assign({},o),a.push(["exit",i,t])),r.end=Object.assign({},o),a.push(["exit",r,t]),e.add(n+1,0,a)}function r0(e,t){let n=e[t],r="enter"===n[0]?"start":"end";return n[1][r]}let r1={name:"tasklistCheck",tokenize:function(e,t,n){let r=this;return function(t){return null===r.previous&&r._gfmTasklistFirstContentOfListItem?(e.enter("taskListCheck"),e.enter("taskListCheckMarker"),e.consume(t),e.exit("taskListCheckMarker"),i):n(t)};function i(t){return eH(t)?(e.enter("taskListCheckValueUnchecked"),e.consume(t),e.exit("taskListCheckValueUnchecked"),a):88===t||120===t?(e.enter("taskListCheckValueChecked"),e.consume(t),e.exit("taskListCheckValueChecked"),a):n(t)}function a(t){return 93===t?(e.enter("taskListCheckMarker"),e.consume(t),e.exit("taskListCheckMarker"),e.exit("taskListCheck"),o):n(t)}function o(r){return e$(r)?t(r):eG(r)?e.check({tokenize:r2},t,n)(r):n(r)}}};function r2(e,t,n){return eW(e,function(e){return null===e?n(e):t(e)},"whitespace")}let r3={};function r5(e){let t;let n=e||r3,r=this.data(),i=r.micromarkExtensions||(r.micromarkExtensions=[]),a=r.fromMarkdownExtensions||(r.fromMarkdownExtensions=[]),o=r.toMarkdownExtensions||(r.toMarkdownExtensions=[]);i.push(eL([{text:rL},{document:{91:{name:"gfmFootnoteDefinition",tokenize:rK,continuation:{tokenize:rV},exit:rZ}},text:{91:{name:"gfmFootnoteCall",tokenize:rG},93:{name:"gfmPotentialFootnoteCall",add:"after",tokenize:r$,resolveTo:rH}}},function(e){let t=(e||{}).singleTilde,n={name:"strikethrough",tokenize:function(e,n,r){let i=this.previous,a=this.events,o=0;return function(l){return 126===i&&"characterEscape"!==a[a.length-1][1].type?r(l):(e.enter("strikethroughSequenceTemporary"),function a(l){let s=tT(i);if(126===l)return o>1?r(l):(e.consume(l),o++,a);if(o<2&&!t)return r(l);let c=e.exit("strikethroughSequenceTemporary"),u=tT(l);return c._open=!u||2===u&&!!s,c._close=!s||2===s&&!!u,n(l)}(l))}},resolveAll:function(e,t){let n=-1;for(;++n<e.length;)if("enter"===e[n][0]&&"strikethroughSequenceTemporary"===e[n][1].type&&e[n][1]._close){let r=n;for(;r--;)if("exit"===e[r][0]&&"strikethroughSequenceTemporary"===e[r][1].type&&e[r][1]._open&&e[n][1].end.offset-e[n][1].start.offset==e[r][1].end.offset-e[r][1].start.offset){e[n][1].type="strikethroughSequence",e[r][1].type="strikethroughSequence";let i={type:"strikethrough",start:Object.assign({},e[r][1].start),end:Object.assign({},e[n][1].end)},a={type:"strikethroughText",start:Object.assign({},e[r][1].end),end:Object.assign({},e[n][1].start)},o=[["enter",i,t],["enter",e[r][1],t],["exit",e[r][1],t],["enter",a,t]],l=t.parser.constructs.insideSpan.null;l&&eM(o,o.length,0,tN(l,e.slice(r+1,n),t)),eM(o,o.length,0,[["exit",a,t],["enter",e[n][1],t],["exit",e[n][1],t],["exit",i,t]]),eM(e,r-1,n-r+3,o),n=r+o.length-2;break}}for(n=-1;++n<e.length;)"strikethroughSequenceTemporary"===e[n][1].type&&(e[n][1].type="data");return e}};return null==t&&(t=!0),{text:{126:n},insideSpan:{null:[n]},attentionMarkers:{null:[126]}}}(n),{flow:{null:{name:"table",tokenize:rQ,resolveAll:rX}}},{text:{91:r1}}])),a.push([{transforms:[n5],enter:{literalAutolink:nJ,literalAutolinkEmail:nY,literalAutolinkHttp:nY,literalAutolinkWww:nY},exit:{literalAutolink:n3,literalAutolinkEmail:n2,literalAutolinkHttp:n0,literalAutolinkWww:n1}},{enter:{gfmFootnoteCallString:n7,gfmFootnoteCall:n8,gfmFootnoteDefinitionLabelString:re,gfmFootnoteDefinition:rt},exit:{gfmFootnoteCallString:rn,gfmFootnoteCall:rr,gfmFootnoteDefinitionLabelString:ri,gfmFootnoteDefinition:ra}},{canContainEols:["delete"],enter:{strikethrough:ru},exit:{strikethrough:rd}},{enter:{table:rb,tableData:rk,tableHeader:rk,tableRow:rx},exit:{codeText:rw,table:ry,tableData:rv,tableHeader:rv,tableRow:rv}},{exit:{taskListCheckValueChecked:rE,taskListCheckValueUnchecked:rE,paragraph:rN}}]),o.push({extensions:[{unsafe:[{character:"@",before:"[+\\-.\\w]",after:"[\\-.\\w]",inConstruct:nQ,notInConstruct:nX},{character:".",before:"[Ww]",after:"[\\-.\\w]",inConstruct:nQ,notInConstruct:nX},{character:":",before:"[ps]",after:"\\/",inConstruct:nQ,notInConstruct:nX}]},(t=!1,n&&n.firstLineBlank&&(t=!0),{handlers:{footnoteDefinition:function(e,n,r,i){let a=r.createTracker(i),o=a.move("[^"),l=r.enter("footnoteDefinition"),s=r.enter("label");return o+=a.move(r.safe(r.associationId(e),{before:o,after:"]"})),s(),o+=a.move("]:"),e.children&&e.children.length>0&&(a.shift(4),o+=a.move((t?"\n":" ")+r.indentLines(r.containerFlow(e,a.current()),t?rs:rl))),l(),o},footnoteReference:ro},unsafe:[{character:"[",inConstruct:["label","phrasing","reference"]}]}),{unsafe:[{character:"~",inConstruct:"phrasing",notInConstruct:rc}],handlers:{delete:rp}},function(e){let t=e||{},n=t.tableCellPadding,r=t.tablePipeAlign,i=t.stringLength,a=n?" ":"|";return{unsafe:[{character:"\r",inConstruct:"tableCell"},{character:"\n",inConstruct:"tableCell"},{atBreak:!0,character:"|",after:"[ :-]"},{character:"|",inConstruct:"tableCell"},{atBreak:!0,character:":",after:"-"},{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{inlineCode:function(e,t,n){let r=rh.inlineCode(e,t,n);return n.stack.includes("tableCell")&&(r=r.replace(/\|/g,"\\$&")),r},table:function(e,t,n,r){return l(function(e,t,n){let r=e.children,i=-1,a=[],o=t.enter("table");for(;++i<r.length;)a[i]=s(r[i],t,n);return o(),a}(e,n,r),e.align)},tableCell:o,tableRow:function(e,t,n,r){let i=l([s(e,n,r)]);return i.slice(0,i.indexOf("\n"))}}};function o(e,t,n,r){let i=n.enter("tableCell"),o=n.enter("phrasing"),l=n.containerPhrasing(e,{...r,before:a,after:a});return o(),i(),l}function l(e,t){return function(e,t){let n=t||{},r=(n.align||[]).concat(),i=n.stringLength||rg,a=[],o=[],l=[],s=[],c=0,u=-1;for(;++u<e.length;){let t=[],r=[],a=-1;for(e[u].length>c&&(c=e[u].length);++a<e[u].length;){var d;let o=null==(d=e[u][a])?"":String(d);if(!1!==n.alignDelimiters){let e=i(o);r[a]=e,(void 0===s[a]||e>s[a])&&(s[a]=e)}t.push(o)}o[u]=t,l[u]=r}let p=-1;if("object"==typeof r&&"length"in r)for(;++p<c;)a[p]=rf(r[p]);else{let e=rf(r);for(;++p<c;)a[p]=e}p=-1;let g=[],f=[];for(;++p<c;){let e=a[p],t="",r="";99===e?(t=":",r=":"):108===e?t=":":114===e&&(r=":");let i=!1===n.alignDelimiters?1:Math.max(1,s[p]-t.length-r.length),o=t+"-".repeat(i)+r;!1!==n.alignDelimiters&&((i=t.length+i+r.length)>s[p]&&(s[p]=i),f[p]=i),g[p]=o}o.splice(1,0,g),l.splice(1,0,f),u=-1;let m=[];for(;++u<o.length;){let e=o[u],t=l[u];p=-1;let r=[];for(;++p<c;){let i=e[p]||"",o="",l="";if(!1!==n.alignDelimiters){let e=s[p]-(t[p]||0),n=a[p];114===n?o=" ".repeat(e):99===n?e%2?(o=" ".repeat(e/2+.5),l=" ".repeat(e/2-.5)):l=o=" ".repeat(e/2):l=" ".repeat(e)}!1===n.delimiterStart||p||r.push("|"),!1!==n.padding&&!(!1===n.alignDelimiters&&""===i)&&(!1!==n.delimiterStart||p)&&r.push(" "),!1!==n.alignDelimiters&&r.push(o),r.push(i),!1!==n.alignDelimiters&&r.push(l),!1!==n.padding&&r.push(" "),(!1!==n.delimiterEnd||p!==c-1)&&r.push("|")}m.push(!1===n.delimiterEnd?r.join("").replace(/ +$/,""):r.join(""))}return m.join("\n")}(e,{align:t,alignDelimiters:r,padding:n,stringLength:i})}function s(e,t,n){let r=e.children,i=-1,a=[],l=t.enter("tableRow");for(;++i<r.length;)a[i]=o(r[i],e,t,n);return l(),a}}(n),{unsafe:[{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{listItem:rS}}]})}let r4=function(e,t,n){let r=nn(n);if(!e||!e.type||!e.children)throw Error("Expected parent node");if("number"==typeof t){if(t<0||t===Number.POSITIVE_INFINITY)throw Error("Expected positive finite number as index")}else if((t=e.children.indexOf(t))<0)throw Error("Expected child node or index");for(;++t<e.children.length;)if(r(e.children[t],t,e))return e.children[t]},r9=function(e){if(null==e)return r7;if("string"==typeof e)return r6(function(t){return t.tagName===e});if("object"==typeof e)return function(e){let t=[],n=-1;for(;++n<e.length;)t[n]=r9(e[n]);return r6(function(...e){let n=-1;for(;++n<t.length;)if(t[n].apply(this,e))return!0;return!1})}(e);if("function"==typeof e)return r6(e);throw Error("Expected function, string, or array as `test`")};function r6(e){return function(t,n,r){return!!(null!==t&&"object"==typeof t&&"type"in t&&"tagName"in t&&e.call(this,t,"number"==typeof n?n:void 0,r||void 0))}}function r7(e){return!!(e&&"object"==typeof e&&"type"in e&&"element"===e.type&&"tagName"in e&&"string"==typeof e.tagName)}let r8=/\n/g,ie=/[\t ]+/g,it=r9("br"),ir=r9(function(e){return"td"===e.tagName||"th"===e.tagName}),ii=r9("p"),ia=r9("tr"),io=r9(["datalist","head","noembed","noframes","noscript","rp","script","style","template","title",function(e){return!!(e.properties||{}).hidden},function(e){return"dialog"===e.tagName&&!(e.properties||{}).open}]),il=r9(["address","article","aside","blockquote","body","caption","center","dd","dialog","dir","dl","dt","div","figure","figcaption","footer","form,","h1","h2","h3","h4","h5","h6","header","hgroup","hr","html","legend","li","listing","main","menu","nav","ol","p","plaintext","pre","section","ul","xmp"]);function is(e,t){let n;let r=String(e.value),i=[],a=[],o=0;for(;o<=r.length;){r8.lastIndex=o;let e=r8.exec(r),n=e&&"index"in e?e.index:r.length;i.push(function(e,t,n){let r;let i=[],a=0;for(;a<e.length;){ie.lastIndex=a;let n=ie.exec(e);r=n?n.index:e.length,a||r||!n||t||i.push(""),a!==r&&i.push(e.slice(a,r)),a=n?r+n[0].length:r}return a===r||n||i.push(""),i.join(" ")}(r.slice(o,n).replace(/[\u061C\u200E\u200F\u202A-\u202E\u2066-\u2069]/g,""),0!==o||t.breakBefore,n!==r.length||t.breakAfter)),o=n+1}let l=-1;for(;++l<i.length;)8203===i[l].charCodeAt(i[l].length-1)||l<i.length-1&&8203===i[l+1].charCodeAt(0)?(a.push(i[l]),n=void 0):i[l]?("number"==typeof n&&a.push(n),a.push(i[l]),n=0):(0===l||l===i.length-1)&&a.push(0);return a}function ic(e,t){if("element"===e.type){let n=e.properties||{};switch(e.tagName){case"listing":case"plaintext":case"xmp":return"pre";case"nobr":return"nowrap";case"pre":return n.wrap?"pre-wrap":"pre";case"td":case"th":return n.noWrap?"nowrap":t.whitespace;case"textarea":return"pre-wrap"}}return t.whitespace}let iu=e=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:e.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:e.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}),id=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video","defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],ip=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),ig=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),im=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),ih=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-end-end-radius","border-end-start-radius","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","margin-trim","marker","marker-end","marker-mid","marker-start","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","masonry-auto-flow","math-depth","math-shift","math-style","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse();var ib="[0-9](_*[0-9])*",iy=`\\.(${ib})`,ix="[0-9a-fA-F](_*[0-9a-fA-F])*",iv={className:"number",variants:[{begin:`(\\b(${ib})((${iy})|\\.)?|(${iy}))[eE][+-]?(${ib})[fFdD]?\\b`},{begin:`\\b(${ib})((${iy})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${iy})[fFdD]?\\b`},{begin:`\\b(${ib})[fFdD]\\b`},{begin:`\\b0[xX]((${ix})\\.?|(${ix})?\\.(${ix}))[pP][+-]?(${ib})[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${ix})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0};let ik="[A-Za-z$_][0-9A-Za-z$_]*",iw=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends","using"],i_=["true","false","null","undefined","NaN","Infinity"],iE=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],iN=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],iS=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],iC=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],iA=[].concat(iS,iE,iN);var iM="[0-9](_*[0-9])*",iO=`\\.(${iM})`,iT="[0-9a-fA-F](_*[0-9a-fA-F])*",iD={className:"number",variants:[{begin:`(\\b(${iM})((${iO})|\\.)?|(${iO}))[eE][+-]?(${iM})[fFdD]?\\b`},{begin:`\\b(${iM})((${iO})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${iO})[fFdD]?\\b`},{begin:`\\b(${iM})[fFdD]\\b`},{begin:`\\b0[xX]((${iT})\\.?|(${iT})?\\.(${iT}))[pP][+-]?(${iM})[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${iT})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0};let iI=e=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:e.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:e.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}),ij=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video","defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],iL=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),iR=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),iz=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),iB=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-end-end-radius","border-end-start-radius","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","margin-trim","marker","marker-end","marker-mid","marker-start","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","masonry-auto-flow","math-depth","math-shift","math-style","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse(),iP=iR.concat(iz).sort().reverse(),iF=e=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:e.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:e.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}),iq=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video","defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],iU=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),i$=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),iH=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),iG=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-end-end-radius","border-end-start-radius","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","margin-trim","marker","marker-end","marker-mid","marker-start","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","masonry-auto-flow","math-depth","math-shift","math-style","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse();function iK(e){return e?"string"==typeof e?e:e.source:null}function iV(e){return iZ("(?=",e,")")}function iZ(...e){return e.map(e=>iK(e)).join("")}function iW(...e){return"("+(function(e){let t=e[e.length-1];return"object"==typeof t&&t.constructor===Object?(e.splice(e.length-1,1),t):{}}(e).capture?"":"?:")+e.map(e=>iK(e)).join("|")+")"}let iQ=e=>iZ(/\b/,e,/\w$/.test(e)?/\b/:/\B/),iX=["Protocol","Type"].map(iQ),iJ=["init","self"].map(iQ),iY=["Any","Self"],i0=["actor","any","associatedtype","async","await",/as\?/,/as!/,"as","borrowing","break","case","catch","class","consume","consuming","continue","convenience","copy","default","defer","deinit","didSet","distributed","do","dynamic","each","else","enum","extension","fallthrough",/fileprivate\(set\)/,"fileprivate","final","for","func","get","guard","if","import","indirect","infix",/init\?/,/init!/,"inout",/internal\(set\)/,"internal","in","is","isolated","nonisolated","lazy","let","macro","mutating","nonmutating",/open\(set\)/,"open","operator","optional","override","package","postfix","precedencegroup","prefix",/private\(set\)/,"private","protocol",/public\(set\)/,"public","repeat","required","rethrows","return","set","some","static","struct","subscript","super","switch","throws","throw",/try\?/,/try!/,"try","typealias",/unowned\(safe\)/,/unowned\(unsafe\)/,"unowned","var","weak","where","while","willSet"],i1=["false","nil","true"],i2=["assignment","associativity","higherThan","left","lowerThan","none","right"],i3=["#colorLiteral","#column","#dsohandle","#else","#elseif","#endif","#error","#file","#fileID","#fileLiteral","#filePath","#function","#if","#imageLiteral","#keyPath","#line","#selector","#sourceLocation","#warning"],i5=["abs","all","any","assert","assertionFailure","debugPrint","dump","fatalError","getVaList","isKnownUniquelyReferenced","max","min","numericCast","pointwiseMax","pointwiseMin","precondition","preconditionFailure","print","readLine","repeatElement","sequence","stride","swap","swift_unboxFromSwiftValueWithType","transcode","type","unsafeBitCast","unsafeDowncast","withExtendedLifetime","withUnsafeMutablePointer","withUnsafePointer","withVaList","withoutActuallyEscaping","zip"],i4=iW(/[/=\-+!*%<>&|^~?]/,/[\u00A1-\u00A7]/,/[\u00A9\u00AB]/,/[\u00AC\u00AE]/,/[\u00B0\u00B1]/,/[\u00B6\u00BB\u00BF\u00D7\u00F7]/,/[\u2016-\u2017]/,/[\u2020-\u2027]/,/[\u2030-\u203E]/,/[\u2041-\u2053]/,/[\u2055-\u205E]/,/[\u2190-\u23FF]/,/[\u2500-\u2775]/,/[\u2794-\u2BFF]/,/[\u2E00-\u2E7F]/,/[\u3001-\u3003]/,/[\u3008-\u3020]/,/[\u3030]/),i9=iW(i4,/[\u0300-\u036F]/,/[\u1DC0-\u1DFF]/,/[\u20D0-\u20FF]/,/[\uFE00-\uFE0F]/,/[\uFE20-\uFE2F]/),i6=iZ(i4,i9,"*"),i7=iW(/[a-zA-Z_]/,/[\u00A8\u00AA\u00AD\u00AF\u00B2-\u00B5\u00B7-\u00BA]/,/[\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]/,/[\u0100-\u02FF\u0370-\u167F\u1681-\u180D\u180F-\u1DBF]/,/[\u1E00-\u1FFF]/,/[\u200B-\u200D\u202A-\u202E\u203F-\u2040\u2054\u2060-\u206F]/,/[\u2070-\u20CF\u2100-\u218F\u2460-\u24FF\u2776-\u2793]/,/[\u2C00-\u2DFF\u2E80-\u2FFF]/,/[\u3004-\u3007\u3021-\u302F\u3031-\u303F\u3040-\uD7FF]/,/[\uF900-\uFD3D\uFD40-\uFDCF\uFDF0-\uFE1F\uFE30-\uFE44]/,/[\uFE47-\uFEFE\uFF00-\uFFFD]/),i8=iW(i7,/\d/,/[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F]/),ae=iZ(i7,i8,"*"),at=iZ(/[A-Z]/,i8,"*"),an=["attached","autoclosure",iZ(/convention\(/,iW("swift","block","c"),/\)/),"discardableResult","dynamicCallable","dynamicMemberLookup","escaping","freestanding","frozen","GKInspectable","IBAction","IBDesignable","IBInspectable","IBOutlet","IBSegueAction","inlinable","main","nonobjc","NSApplicationMain","NSCopying","NSManaged",iZ(/objc\(/,ae,/\)/),"objc","objcMembers","propertyWrapper","requires_stored_property_inits","resultBuilder","Sendable","testable","UIApplicationMain","unchecked","unknown","usableFromInline","warn_unqualified_access"],ar=["iOS","iOSApplicationExtension","macOS","macOSApplicationExtension","macCatalyst","macCatalystApplicationExtension","watchOS","watchOSApplicationExtension","tvOS","tvOSApplicationExtension","swift"],ai="[A-Za-z$_][0-9A-Za-z$_]*",aa=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends","using"],ao=["true","false","null","undefined","NaN","Infinity"],al=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],as=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],ac=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],au=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],ad=[].concat(ac,al,as),ap={arduino:function(e){let t=function(e){let t=e.regex,n=e.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),r="decltype\\(auto\\)",i="[a-zA-Z_]\\w*::",a="(?!struct)("+r+"|"+t.optional(i)+"[a-zA-Z_]\\w*"+t.optional("<[^<>]+>")+")",o={className:"type",begin:"\\b[a-z\\d_]*_t\\b"},l={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)",end:"'",illegal:"."},e.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},s={className:"number",variants:[{begin:"[+-]?(?:(?:[0-9](?:'?[0-9])*\\.(?:[0-9](?:'?[0-9])*)?|\\.[0-9](?:'?[0-9])*)(?:[Ee][+-]?[0-9](?:'?[0-9])*)?|[0-9](?:'?[0-9])*[Ee][+-]?[0-9](?:'?[0-9])*|0[Xx](?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*(?:\\.(?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)?)?|\\.[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)[Pp][+-]?[0-9](?:'?[0-9])*)(?:[Ff](?:16|32|64|128)?|(BF|bf)16|[Ll]|)"},{begin:"[+-]?\\b(?:0[Bb][01](?:'?[01])*|0[Xx][0-9A-Fa-f](?:'?[0-9A-Fa-f])*|0(?:'?[0-7])*|[1-9](?:'?[0-9])*)(?:[Uu](?:LL?|ll?)|[Uu][Zz]?|(?:LL?|ll?)[Uu]?|[Zz][Uu]|)"}],relevance:0},c={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},e.inherit(l,{className:"string"}),{className:"string",begin:/<.*?>/},n,e.C_BLOCK_COMMENT_MODE]},u={className:"title",begin:t.optional(i)+e.IDENT_RE,relevance:0},d=t.optional(i)+e.IDENT_RE+"\\s*\\(",p={type:["bool","char","char16_t","char32_t","char8_t","double","float","int","long","short","void","wchar_t","unsigned","signed","const","static"],keyword:["alignas","alignof","and","and_eq","asm","atomic_cancel","atomic_commit","atomic_noexcept","auto","bitand","bitor","break","case","catch","class","co_await","co_return","co_yield","compl","concept","const_cast|10","consteval","constexpr","constinit","continue","decltype","default","delete","do","dynamic_cast|10","else","enum","explicit","export","extern","false","final","for","friend","goto","if","import","inline","module","mutable","namespace","new","noexcept","not","not_eq","nullptr","operator","or","or_eq","override","private","protected","public","reflexpr","register","reinterpret_cast|10","requires","return","sizeof","static_assert","static_cast|10","struct","switch","synchronized","template","this","thread_local","throw","transaction_safe","transaction_safe_dynamic","true","try","typedef","typeid","typename","union","using","virtual","volatile","while","xor","xor_eq"],literal:["NULL","false","nullopt","nullptr","true"],built_in:["_Pragma"],_type_hints:["any","auto_ptr","barrier","binary_semaphore","bitset","complex","condition_variable","condition_variable_any","counting_semaphore","deque","false_type","flat_map","flat_set","future","imaginary","initializer_list","istringstream","jthread","latch","lock_guard","multimap","multiset","mutex","optional","ostringstream","packaged_task","pair","promise","priority_queue","queue","recursive_mutex","recursive_timed_mutex","scoped_lock","set","shared_future","shared_lock","shared_mutex","shared_timed_mutex","shared_ptr","stack","string_view","stringstream","timed_mutex","thread","true_type","tuple","unique_lock","unique_ptr","unordered_map","unordered_multimap","unordered_multiset","unordered_set","variant","vector","weak_ptr","wstring","wstring_view"]},g={className:"function.dispatch",relevance:0,keywords:{_hint:["abort","abs","acos","apply","as_const","asin","atan","atan2","calloc","ceil","cerr","cin","clog","cos","cosh","cout","declval","endl","exchange","exit","exp","fabs","floor","fmod","forward","fprintf","fputs","free","frexp","fscanf","future","invoke","isalnum","isalpha","iscntrl","isdigit","isgraph","islower","isprint","ispunct","isspace","isupper","isxdigit","labs","launder","ldexp","log","log10","make_pair","make_shared","make_shared_for_overwrite","make_tuple","make_unique","malloc","memchr","memcmp","memcpy","memset","modf","move","pow","printf","putchar","puts","realloc","scanf","sin","sinh","snprintf","sprintf","sqrt","sscanf","std","stderr","stdin","stdout","strcat","strchr","strcmp","strcpy","strcspn","strlen","strncat","strncmp","strncpy","strpbrk","strrchr","strspn","strstr","swap","tan","tanh","terminate","to_underlying","tolower","toupper","vfprintf","visit","vprintf","vsprintf"]},begin:t.concat(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!switch)/,/(?!while)/,e.IDENT_RE,t.lookahead(/(<[^<>]+>|)\s*\(/))},f=[g,c,o,n,e.C_BLOCK_COMMENT_MODE,s,l],m={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:p,contains:f.concat([{begin:/\(/,end:/\)/,keywords:p,contains:f.concat(["self"]),relevance:0}]),relevance:0},h={className:"function",begin:"("+a+"[\\*&\\s]+)+"+d,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:p,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:r,keywords:p,relevance:0},{begin:d,returnBegin:!0,contains:[u],relevance:0},{begin:/::/,relevance:0},{begin:/:/,endsWithParent:!0,contains:[l,s]},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:p,relevance:0,contains:[n,e.C_BLOCK_COMMENT_MODE,l,s,o,{begin:/\(/,end:/\)/,keywords:p,relevance:0,contains:["self",n,e.C_BLOCK_COMMENT_MODE,l,s,o]}]},o,n,e.C_BLOCK_COMMENT_MODE,c]};return{name:"C++",aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:p,illegal:"</",classNameAliases:{"function.dispatch":"built_in"},contains:[].concat(m,h,g,f,[c,{begin:"\\b(deque|list|queue|priority_queue|pair|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array|tuple|optional|variant|function|flat_map|flat_set)\\s*<(?!<)",end:">",keywords:p,contains:["self",o]},{begin:e.IDENT_RE+"::",keywords:p},{match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/],className:{1:"keyword",3:"title.class"}}])}}(e),n=t.keywords;return n.type=[...n.type,"boolean","byte","word","String"],n.literal=[...n.literal,"DIGITAL_MESSAGE","FIRMATA_STRING","ANALOG_MESSAGE","REPORT_DIGITAL","REPORT_ANALOG","INPUT_PULLUP","SET_PIN_MODE","INTERNAL2V56","SYSTEM_RESET","LED_BUILTIN","INTERNAL1V1","SYSEX_START","INTERNAL","EXTERNAL","DEFAULT","OUTPUT","INPUT","HIGH","LOW"],n.built_in=[...n.built_in,"KeyboardController","MouseController","SoftwareSerial","EthernetServer","EthernetClient","LiquidCrystal","RobotControl","GSMVoiceCall","EthernetUDP","EsploraTFT","HttpClient","RobotMotor","WiFiClient","GSMScanner","FileSystem","Scheduler","GSMServer","YunClient","YunServer","IPAddress","GSMClient","GSMModem","Keyboard","Ethernet","Console","GSMBand","Esplora","Stepper","Process","WiFiUDP","GSM_SMS","Mailbox","USBHost","Firmata","PImage","Client","Server","GSMPIN","FileIO","Bridge","Serial","EEPROM","Stream","Mouse","Audio","Servo","File","Task","GPRS","WiFi","Wire","TFT","GSM","SPI","SD"],n._hints=["setup","loop","runShellCommandAsynchronously","analogWriteResolution","retrieveCallingNumber","printFirmwareVersion","analogReadResolution","sendDigitalPortPair","noListenOnLocalhost","readJoystickButton","setFirmwareVersion","readJoystickSwitch","scrollDisplayRight","getVoiceCallStatus","scrollDisplayLeft","writeMicroseconds","delayMicroseconds","beginTransmission","getSignalStrength","runAsynchronously","getAsynchronously","listenOnLocalhost","getCurrentCarrier","readAccelerometer","messageAvailable","sendDigitalPorts","lineFollowConfig","countryNameWrite","runShellCommand","readStringUntil","rewindDirectory","readTemperature","setClockDivider","readLightSensor","endTransmission","analogReference","detachInterrupt","countryNameRead","attachInterrupt","encryptionType","readBytesUntil","robotNameWrite","readMicrophone","robotNameRead","cityNameWrite","userNameWrite","readJoystickY","readJoystickX","mouseReleased","openNextFile","scanNetworks","noInterrupts","digitalWrite","beginSpeaker","mousePressed","isActionDone","mouseDragged","displayLogos","noAutoscroll","addParameter","remoteNumber","getModifiers","keyboardRead","userNameRead","waitContinue","processInput","parseCommand","printVersion","readNetworks","writeMessage","blinkVersion","cityNameRead","readMessage","setDataMode","parsePacket","isListening","setBitOrder","beginPacket","isDirectory","motorsWrite","drawCompass","digitalRead","clearScreen","serialEvent","rightToLeft","setTextSize","leftToRight","requestFrom","keyReleased","compassRead","analogWrite","interrupts","WiFiServer","disconnect","playMelody","parseFloat","autoscroll","getPINUsed","setPINUsed","setTimeout","sendAnalog","readSlider","analogRead","beginWrite","createChar","motorsStop","keyPressed","tempoWrite","readButton","subnetMask","debugPrint","macAddress","writeGreen","randomSeed","attachGPRS","readString","sendString","remotePort","releaseAll","mouseMoved","background","getXChange","getYChange","answerCall","getResult","voiceCall","endPacket","constrain","getSocket","writeJSON","getButton","available","connected","findUntil","readBytes","exitValue","readGreen","writeBlue","startLoop","IPAddress","isPressed","sendSysex","pauseMode","gatewayIP","setCursor","getOemKey","tuneWrite","noDisplay","loadImage","switchPIN","onRequest","onReceive","changePIN","playFile","noBuffer","parseInt","overflow","checkPIN","knobRead","beginTFT","bitClear","updateIR","bitWrite","position","writeRGB","highByte","writeRed","setSpeed","readBlue","noStroke","remoteIP","transfer","shutdown","hangCall","beginSMS","endWrite","attached","maintain","noCursor","checkReg","checkPUK","shiftOut","isValid","shiftIn","pulseIn","connect","println","localIP","pinMode","getIMEI","display","noBlink","process","getBand","running","beginSD","drawBMP","lowByte","setBand","release","bitRead","prepare","pointTo","readRed","setMode","noFill","remove","listen","stroke","detach","attach","noTone","exists","buffer","height","bitSet","circle","config","cursor","random","IRread","setDNS","endSMS","getKey","micros","millis","begin","print","write","ready","flush","width","isPIN","blink","clear","press","mkdir","rmdir","close","point","yield","image","BSSID","click","delay","read","text","move","peek","beep","rect","line","open","seek","fill","size","turn","stop","home","find","step","tone","sqrt","RSSI","SSID","end","bit","tan","cos","sin","pow","map","abs","max","min","get","run","put"],t.name="Arduino",t.aliases=["ino"],t.supersetOf="cpp",t},bash:function(e){let t=e.regex,n={};Object.assign(n,{className:"variable",variants:[{begin:t.concat(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},{begin:/\$\{/,end:/\}/,contains:["self",{begin:/:-/,contains:[n]}]}]});let r={className:"subst",begin:/\$\(/,end:/\)/,contains:[e.BACKSLASH_ESCAPE]},i=e.inherit(e.COMMENT(),{match:[/(^|\s)/,/#.*$/],scope:{2:"comment"}}),a={begin:/<<-?\s*(?=\w+)/,starts:{contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,className:"string"})]}},o={className:"string",begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,n,r]};r.contains.push(o);let l={begin:/\$?\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},e.NUMBER_MODE,n]},s=e.SHEBANG({binary:"(fish|bash|zsh|sh|csh|ksh|tcsh|dash|scsh)",relevance:10}),c={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[e.inherit(e.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0};return{name:"Bash",aliases:["sh","zsh"],keywords:{$pattern:/\b[a-z][a-z0-9._-]+\b/,keyword:["if","then","else","elif","fi","time","for","while","until","in","do","done","case","esac","coproc","function","select"],literal:["true","false"],built_in:["break","cd","continue","eval","exec","exit","export","getopts","hash","pwd","readonly","return","shift","test","times","trap","umask","unset","alias","bind","builtin","caller","command","declare","echo","enable","help","let","local","logout","mapfile","printf","read","readarray","source","sudo","type","typeset","ulimit","unalias","set","shopt","autoload","bg","bindkey","bye","cap","chdir","clone","comparguments","compcall","compctl","compdescribe","compfiles","compgroups","compquote","comptags","comptry","compvalues","dirs","disable","disown","echotc","echoti","emulate","fc","fg","float","functions","getcap","getln","history","integer","jobs","kill","limit","log","noglob","popd","print","pushd","pushln","rehash","sched","setcap","setopt","stat","suspend","ttyctl","unfunction","unhash","unlimit","unsetopt","vared","wait","whence","where","which","zcompile","zformat","zftp","zle","zmodload","zparseopts","zprof","zpty","zregexparse","zsocket","zstyle","ztcp","chcon","chgrp","chown","chmod","cp","dd","df","dir","dircolors","ln","ls","mkdir","mkfifo","mknod","mktemp","mv","realpath","rm","rmdir","shred","sync","touch","truncate","vdir","b2sum","base32","base64","cat","cksum","comm","csplit","cut","expand","fmt","fold","head","join","md5sum","nl","numfmt","od","paste","ptx","pr","sha1sum","sha224sum","sha256sum","sha384sum","sha512sum","shuf","sort","split","sum","tac","tail","tr","tsort","unexpand","uniq","wc","arch","basename","chroot","date","dirname","du","echo","env","expr","factor","groups","hostid","id","link","logname","nice","nohup","nproc","pathchk","pinky","printenv","printf","pwd","readlink","runcon","seq","sleep","stat","stdbuf","stty","tee","test","timeout","tty","uname","unlink","uptime","users","who","whoami","yes"]},contains:[s,e.SHEBANG(),c,l,i,a,{match:/(\/[a-z._-]+)+/},o,{match:/\\"/},{className:"string",begin:/'/,end:/'/},{match:/\\'/},n]}},c:function(e){let t=e.regex,n=e.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),r="decltype\\(auto\\)",i="[a-zA-Z_]\\w*::",a="("+r+"|"+t.optional(i)+"[a-zA-Z_]\\w*"+t.optional("<[^<>]+>")+")",o={className:"type",variants:[{begin:"\\b[a-z\\d_]*_t\\b"},{match:/\batomic_[a-z]{3,6}\b/}]},l={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)",end:"'",illegal:"."},e.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},s={className:"number",variants:[{match:/\b(0b[01']+)/},{match:/(-?)\b([\d']+(\.[\d']*)?|\.[\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)/},{match:/(-?)\b(0[xX][a-fA-F0-9]+(?:'[a-fA-F0-9]+)*(?:\.[a-fA-F0-9]*(?:'[a-fA-F0-9]*)*)?(?:[pP][-+]?[0-9]+)?(l|L)?(u|U)?)/},{match:/(-?)\b\d+(?:'\d+)*(?:\.\d*(?:'\d*)*)?(?:[eE][-+]?\d+)?/}],relevance:0},c={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef elifdef elifndef include"},contains:[{begin:/\\\n/,relevance:0},e.inherit(l,{className:"string"}),{className:"string",begin:/<.*?>/},n,e.C_BLOCK_COMMENT_MODE]},u={className:"title",begin:t.optional(i)+e.IDENT_RE,relevance:0},d=t.optional(i)+e.IDENT_RE+"\\s*\\(",p={keyword:["asm","auto","break","case","continue","default","do","else","enum","extern","for","fortran","goto","if","inline","register","restrict","return","sizeof","typeof","typeof_unqual","struct","switch","typedef","union","volatile","while","_Alignas","_Alignof","_Atomic","_Generic","_Noreturn","_Static_assert","_Thread_local","alignas","alignof","noreturn","static_assert","thread_local","_Pragma"],type:["float","double","signed","unsigned","int","short","long","char","void","_Bool","_BitInt","_Complex","_Imaginary","_Decimal32","_Decimal64","_Decimal96","_Decimal128","_Decimal64x","_Decimal128x","_Float16","_Float32","_Float64","_Float128","_Float32x","_Float64x","_Float128x","const","static","constexpr","complex","bool","imaginary"],literal:"true false NULL",built_in:"std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set pair bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap priority_queue make_pair array shared_ptr abort terminate abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr"},g=[c,o,n,e.C_BLOCK_COMMENT_MODE,s,l],f={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:p,contains:g.concat([{begin:/\(/,end:/\)/,keywords:p,contains:g.concat(["self"]),relevance:0}]),relevance:0},m={begin:"("+a+"[\\*&\\s]+)+"+d,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:p,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:r,keywords:p,relevance:0},{begin:d,returnBegin:!0,contains:[e.inherit(u,{className:"title.function"})],relevance:0},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:p,relevance:0,contains:[n,e.C_BLOCK_COMMENT_MODE,l,s,o,{begin:/\(/,end:/\)/,keywords:p,relevance:0,contains:["self",n,e.C_BLOCK_COMMENT_MODE,l,s,o]}]},o,n,e.C_BLOCK_COMMENT_MODE,c]};return{name:"C",aliases:["h"],keywords:p,disableAutodetect:!0,illegal:"</",contains:[].concat(f,m,g,[c,{begin:e.IDENT_RE+"::",keywords:p},{className:"class",beginKeywords:"enum class struct union",end:/[{;:<>=]/,contains:[{beginKeywords:"final class struct"},e.TITLE_MODE]}]),exports:{preprocessor:c,strings:l,keywords:p}}},cpp:function(e){let t=e.regex,n=e.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),r="decltype\\(auto\\)",i="[a-zA-Z_]\\w*::",a="(?!struct)("+r+"|"+t.optional(i)+"[a-zA-Z_]\\w*"+t.optional("<[^<>]+>")+")",o={className:"type",begin:"\\b[a-z\\d_]*_t\\b"},l={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)",end:"'",illegal:"."},e.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},s={className:"number",variants:[{begin:"[+-]?(?:(?:[0-9](?:'?[0-9])*\\.(?:[0-9](?:'?[0-9])*)?|\\.[0-9](?:'?[0-9])*)(?:[Ee][+-]?[0-9](?:'?[0-9])*)?|[0-9](?:'?[0-9])*[Ee][+-]?[0-9](?:'?[0-9])*|0[Xx](?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*(?:\\.(?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)?)?|\\.[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)[Pp][+-]?[0-9](?:'?[0-9])*)(?:[Ff](?:16|32|64|128)?|(BF|bf)16|[Ll]|)"},{begin:"[+-]?\\b(?:0[Bb][01](?:'?[01])*|0[Xx][0-9A-Fa-f](?:'?[0-9A-Fa-f])*|0(?:'?[0-7])*|[1-9](?:'?[0-9])*)(?:[Uu](?:LL?|ll?)|[Uu][Zz]?|(?:LL?|ll?)[Uu]?|[Zz][Uu]|)"}],relevance:0},c={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},e.inherit(l,{className:"string"}),{className:"string",begin:/<.*?>/},n,e.C_BLOCK_COMMENT_MODE]},u={className:"title",begin:t.optional(i)+e.IDENT_RE,relevance:0},d=t.optional(i)+e.IDENT_RE+"\\s*\\(",p={type:["bool","char","char16_t","char32_t","char8_t","double","float","int","long","short","void","wchar_t","unsigned","signed","const","static"],keyword:["alignas","alignof","and","and_eq","asm","atomic_cancel","atomic_commit","atomic_noexcept","auto","bitand","bitor","break","case","catch","class","co_await","co_return","co_yield","compl","concept","const_cast|10","consteval","constexpr","constinit","continue","decltype","default","delete","do","dynamic_cast|10","else","enum","explicit","export","extern","false","final","for","friend","goto","if","import","inline","module","mutable","namespace","new","noexcept","not","not_eq","nullptr","operator","or","or_eq","override","private","protected","public","reflexpr","register","reinterpret_cast|10","requires","return","sizeof","static_assert","static_cast|10","struct","switch","synchronized","template","this","thread_local","throw","transaction_safe","transaction_safe_dynamic","true","try","typedef","typeid","typename","union","using","virtual","volatile","while","xor","xor_eq"],literal:["NULL","false","nullopt","nullptr","true"],built_in:["_Pragma"],_type_hints:["any","auto_ptr","barrier","binary_semaphore","bitset","complex","condition_variable","condition_variable_any","counting_semaphore","deque","false_type","flat_map","flat_set","future","imaginary","initializer_list","istringstream","jthread","latch","lock_guard","multimap","multiset","mutex","optional","ostringstream","packaged_task","pair","promise","priority_queue","queue","recursive_mutex","recursive_timed_mutex","scoped_lock","set","shared_future","shared_lock","shared_mutex","shared_timed_mutex","shared_ptr","stack","string_view","stringstream","timed_mutex","thread","true_type","tuple","unique_lock","unique_ptr","unordered_map","unordered_multimap","unordered_multiset","unordered_set","variant","vector","weak_ptr","wstring","wstring_view"]},g={className:"function.dispatch",relevance:0,keywords:{_hint:["abort","abs","acos","apply","as_const","asin","atan","atan2","calloc","ceil","cerr","cin","clog","cos","cosh","cout","declval","endl","exchange","exit","exp","fabs","floor","fmod","forward","fprintf","fputs","free","frexp","fscanf","future","invoke","isalnum","isalpha","iscntrl","isdigit","isgraph","islower","isprint","ispunct","isspace","isupper","isxdigit","labs","launder","ldexp","log","log10","make_pair","make_shared","make_shared_for_overwrite","make_tuple","make_unique","malloc","memchr","memcmp","memcpy","memset","modf","move","pow","printf","putchar","puts","realloc","scanf","sin","sinh","snprintf","sprintf","sqrt","sscanf","std","stderr","stdin","stdout","strcat","strchr","strcmp","strcpy","strcspn","strlen","strncat","strncmp","strncpy","strpbrk","strrchr","strspn","strstr","swap","tan","tanh","terminate","to_underlying","tolower","toupper","vfprintf","visit","vprintf","vsprintf"]},begin:t.concat(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!switch)/,/(?!while)/,e.IDENT_RE,t.lookahead(/(<[^<>]+>|)\s*\(/))},f=[g,c,o,n,e.C_BLOCK_COMMENT_MODE,s,l],m={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:p,contains:f.concat([{begin:/\(/,end:/\)/,keywords:p,contains:f.concat(["self"]),relevance:0}]),relevance:0},h={className:"function",begin:"("+a+"[\\*&\\s]+)+"+d,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:p,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:r,keywords:p,relevance:0},{begin:d,returnBegin:!0,contains:[u],relevance:0},{begin:/::/,relevance:0},{begin:/:/,endsWithParent:!0,contains:[l,s]},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:p,relevance:0,contains:[n,e.C_BLOCK_COMMENT_MODE,l,s,o,{begin:/\(/,end:/\)/,keywords:p,relevance:0,contains:["self",n,e.C_BLOCK_COMMENT_MODE,l,s,o]}]},o,n,e.C_BLOCK_COMMENT_MODE,c]};return{name:"C++",aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:p,illegal:"</",classNameAliases:{"function.dispatch":"built_in"},contains:[].concat(m,h,g,f,[c,{begin:"\\b(deque|list|queue|priority_queue|pair|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array|tuple|optional|variant|function|flat_map|flat_set)\\s*<(?!<)",end:">",keywords:p,contains:["self",o]},{begin:e.IDENT_RE+"::",keywords:p},{match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/],className:{1:"keyword",3:"title.class"}}])}},csharp:function(e){let t={keyword:["abstract","as","base","break","case","catch","class","const","continue","do","else","event","explicit","extern","finally","fixed","for","foreach","goto","if","implicit","in","interface","internal","is","lock","namespace","new","operator","out","override","params","private","protected","public","readonly","record","ref","return","scoped","sealed","sizeof","stackalloc","static","struct","switch","this","throw","try","typeof","unchecked","unsafe","using","virtual","void","volatile","while"].concat(["add","alias","and","ascending","args","async","await","by","descending","dynamic","equals","file","from","get","global","group","init","into","join","let","nameof","not","notnull","on","or","orderby","partial","record","remove","required","scoped","select","set","unmanaged","value|0","var","when","where","with","yield"]),built_in:["bool","byte","char","decimal","delegate","double","dynamic","enum","float","int","long","nint","nuint","object","sbyte","short","string","ulong","uint","ushort"],literal:["default","false","null","true"]},n=e.inherit(e.TITLE_MODE,{begin:"[a-zA-Z](\\.?\\w)*"}),r={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},i={className:"string",begin:'@"',end:'"',contains:[{begin:'""'}]},a=e.inherit(i,{illegal:/\n/}),o={className:"subst",begin:/\{/,end:/\}/,keywords:t},l=e.inherit(o,{illegal:/\n/}),s={className:"string",begin:/\$"/,end:'"',illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},e.BACKSLASH_ESCAPE,l]},c={className:"string",begin:/\$@"/,end:'"',contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},o]},u=e.inherit(c,{illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},l]});o.contains=[c,s,i,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,r,e.C_BLOCK_COMMENT_MODE],l.contains=[u,s,a,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,r,e.inherit(e.C_BLOCK_COMMENT_MODE,{illegal:/\n/})];let d={variants:[{className:"string",begin:/"""("*)(?!")(.|\n)*?"""\1/,relevance:1},c,s,i,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},p={begin:"<",end:">",contains:[{beginKeywords:"in out"},n]},g=e.IDENT_RE+"(<"+e.IDENT_RE+"(\\s*,\\s*"+e.IDENT_RE+")*>)?(\\[\\])?",f={begin:"@"+e.IDENT_RE,relevance:0};return{name:"C#",aliases:["cs","c#"],keywords:t,illegal:/::/,contains:[e.COMMENT("///","$",{returnBegin:!0,contains:[{className:"doctag",variants:[{begin:"///",relevance:0},{begin:"\x3c!--|--\x3e"},{begin:"</?",end:">"}]}]}),e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"meta",begin:"#",end:"$",keywords:{keyword:"if else elif endif define undef warning error line region endregion pragma checksum"}},d,r,{beginKeywords:"class interface",relevance:0,end:/[{;=]/,illegal:/[^\s:,]/,contains:[{beginKeywords:"where class"},n,p,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"namespace",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[n,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"record",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[n,p,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"meta",begin:"^\\s*\\[(?=[\\w])",excludeBegin:!0,end:"\\]",excludeEnd:!0,contains:[{className:"string",begin:/"/,end:/"/}]},{beginKeywords:"new return throw await else",relevance:0},{className:"function",begin:"("+g+"\\s+)+"+e.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,end:/\s*[{;=]/,excludeEnd:!0,keywords:t,contains:[{beginKeywords:"public private protected static internal protected abstract async extern override unsafe virtual new sealed partial",relevance:0},{begin:e.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,contains:[e.TITLE_MODE,p],relevance:0},{match:/\(\)/},{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:t,relevance:0,contains:[d,r,e.C_BLOCK_COMMENT_MODE]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},f]}},css:function(e){let t=e.regex,n=iu(e),r=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE];return{name:"CSS",case_insensitive:!0,illegal:/[=|'\$]/,keywords:{keyframePosition:"from to"},classNameAliases:{keyframePosition:"selector-tag"},contains:[n.BLOCK_COMMENT,{begin:/-(webkit|moz|ms|o)-(?=[a-z])/},n.CSS_NUMBER_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/,relevance:0},{className:"selector-class",begin:"\\.[a-zA-Z-][a-zA-Z0-9_-]*",relevance:0},n.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",variants:[{begin:":("+ig.join("|")+")"},{begin:":(:)?("+im.join("|")+")"}]},n.CSS_VARIABLE,{className:"attribute",begin:"\\b("+ih.join("|")+")\\b"},{begin:/:/,end:/[;}{]/,contains:[n.BLOCK_COMMENT,n.HEXCOLOR,n.IMPORTANT,n.CSS_NUMBER_MODE,...r,{begin:/(url|data-uri)\(/,end:/\)/,relevance:0,keywords:{built_in:"url data-uri"},contains:[...r,{className:"string",begin:/[^)]/,endsWithParent:!0,excludeEnd:!0}]},n.FUNCTION_DISPATCH]},{begin:t.lookahead(/@/),end:"[{;]",relevance:0,illegal:/:/,contains:[{className:"keyword",begin:/@-?\w[\w]*(-\w+)*/},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:{$pattern:/[a-z-]+/,keyword:"and or not only",attribute:ip.join(" ")},contains:[{begin:/[a-z-]+(?=:)/,className:"attribute"},...r,n.CSS_NUMBER_MODE]}]},{className:"selector-tag",begin:"\\b("+id.join("|")+")\\b"}]}},diff:function(e){let t=e.regex;return{name:"Diff",aliases:["patch"],contains:[{className:"meta",relevance:10,match:t.either(/^@@ +-\d+,\d+ +\+\d+,\d+ +@@/,/^\*\*\* +\d+,\d+ +\*\*\*\*$/,/^--- +\d+,\d+ +----$/)},{className:"comment",variants:[{begin:t.either(/Index: /,/^index/,/={3,}/,/^-{3}/,/^\*{3} /,/^\+{3}/,/^diff --git/),end:/$/},{match:/^\*{15}$/}]},{className:"addition",begin:/^\+/,end:/$/},{className:"deletion",begin:/^-/,end:/$/},{className:"addition",begin:/^!/,end:/$/}]}},go:function(e){let t={keyword:["break","case","chan","const","continue","default","defer","else","fallthrough","for","func","go","goto","if","import","interface","map","package","range","return","select","struct","switch","type","var"],type:["bool","byte","complex64","complex128","error","float32","float64","int8","int16","int32","int64","string","uint8","uint16","uint32","uint64","int","uint","uintptr","rune"],literal:["true","false","iota","nil"],built_in:["append","cap","close","complex","copy","imag","len","make","new","panic","print","println","real","recover","delete"]};return{name:"Go",aliases:["golang"],keywords:t,illegal:"</",contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"string",variants:[e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,{begin:"`",end:"`"}]},{className:"number",variants:[{match:/-?\b0[xX]\.[a-fA-F0-9](_?[a-fA-F0-9])*[pP][+-]?\d(_?\d)*i?/,relevance:0},{match:/-?\b0[xX](_?[a-fA-F0-9])+((\.([a-fA-F0-9](_?[a-fA-F0-9])*)?)?[pP][+-]?\d(_?\d)*)?i?/,relevance:0},{match:/-?\b0[oO](_?[0-7])*i?/,relevance:0},{match:/-?\.\d(_?\d)*([eE][+-]?\d(_?\d)*)?i?/,relevance:0},{match:/-?\b\d(_?\d)*(\.(\d(_?\d)*)?)?([eE][+-]?\d(_?\d)*)?i?/,relevance:0}]},{begin:/:=/},{className:"function",beginKeywords:"func",end:"\\s*(\\{|$)",excludeEnd:!0,contains:[e.TITLE_MODE,{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:t,illegal:/["']/}]}]}},graphql:function(e){let t=e.regex;return{name:"GraphQL",aliases:["gql"],case_insensitive:!0,disableAutodetect:!1,keywords:{keyword:["query","mutation","subscription","type","input","schema","directive","interface","union","scalar","fragment","enum","on"],literal:["true","false","null"]},contains:[e.HASH_COMMENT_MODE,e.QUOTE_STRING_MODE,e.NUMBER_MODE,{scope:"punctuation",match:/[.]{3}/,relevance:0},{scope:"punctuation",begin:/[\!\(\)\:\=\[\]\{\|\}]{1}/,relevance:0},{scope:"variable",begin:/\$/,end:/\W/,excludeEnd:!0,relevance:0},{scope:"meta",match:/@\w+/,excludeEnd:!0},{scope:"symbol",begin:t.concat(/[_A-Za-z][_0-9A-Za-z]*/,t.lookahead(/\s*:/)),relevance:0}],illegal:[/[;<']/,/BEGIN/]}},ini:function(e){let t=e.regex,n={className:"number",relevance:0,variants:[{begin:/([+-]+)?[\d]+_[\d_]+/},{begin:e.NUMBER_RE}]},r=e.COMMENT();r.variants=[{begin:/;/,end:/$/},{begin:/#/,end:/$/}];let i={className:"variable",variants:[{begin:/\$[\w\d"][\w\d_]*/},{begin:/\$\{(.*?)\}/}]},a={className:"literal",begin:/\bon|off|true|false|yes|no\b/},o={className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{begin:"'''",end:"'''",relevance:10},{begin:'"""',end:'"""',relevance:10},{begin:'"',end:'"'},{begin:"'",end:"'"}]},l=t.either(/[A-Za-z0-9_-]+/,/"(\\"|[^"])*"/,/'[^']*'/);return{name:"TOML, also INI",aliases:["toml"],case_insensitive:!0,illegal:/\S/,contains:[r,{className:"section",begin:/\[+/,end:/\]+/},{begin:t.concat(l,"(\\s*\\.\\s*",l,")*",t.lookahead(/\s*=\s*[^#\s]/)),className:"attr",starts:{end:/$/,contains:[r,{begin:/\[/,end:/\]/,contains:[r,a,i,o,n,"self"],relevance:0},a,i,o,n]}}]}},java:function(e){let t=e.regex,n="[\xc0-ʸa-zA-Z_$][\xc0-ʸa-zA-Z_$0-9]*",r=n+function e(t,n,r){return -1===r?"":t.replace(n,i=>e(t,n,r-1))}("(?:<"+n+"~~~(?:\\s*,\\s*"+n+"~~~)*>)?",/~~~/g,2),i={keyword:["synchronized","abstract","private","var","static","if","const ","for","while","strictfp","finally","protected","import","native","final","void","enum","else","break","transient","catch","instanceof","volatile","case","assert","package","default","public","try","switch","continue","throws","protected","public","private","module","requires","exports","do","sealed","yield","permits","goto","when"],literal:["false","true","null"],type:["char","boolean","long","float","int","byte","short","double"],built_in:["super","this"]},a={className:"meta",begin:"@"+n,contains:[{begin:/\(/,end:/\)/,contains:["self"]}]},o={className:"params",begin:/\(/,end:/\)/,keywords:i,relevance:0,contains:[e.C_BLOCK_COMMENT_MODE],endsParent:!0};return{name:"Java",aliases:["jsp"],keywords:i,illegal:/<\/|#/,contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{begin:/\w+@/,relevance:0},{className:"doctag",begin:"@[A-Za-z]+"}]}),{begin:/import java\.[a-z]+\./,keywords:"import",relevance:2},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{begin:/"""/,end:/"""/,className:"string",contains:[e.BACKSLASH_ESCAPE]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{match:[/\b(?:class|interface|enum|extends|implements|new)/,/\s+/,n],className:{1:"keyword",3:"title.class"}},{match:/non-sealed/,scope:"keyword"},{begin:[t.concat(/(?!else)/,n),/\s+/,n,/\s+/,/=(?!=)/],className:{1:"type",3:"variable",5:"operator"}},{begin:[/record/,/\s+/,n],className:{1:"keyword",3:"title.class"},contains:[o,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"new throw return else",relevance:0},{begin:["(?:"+r+"\\s+)",e.UNDERSCORE_IDENT_RE,/\s*(?=\()/],className:{2:"title.function"},keywords:i,contains:[{className:"params",begin:/\(/,end:/\)/,keywords:i,relevance:0,contains:[a,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,iv,e.C_BLOCK_COMMENT_MODE]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},iv,a]}},javascript:function(e){var t;let n=e.regex,r=(e,{after:t})=>{let n="</"+e[0].slice(1);return -1!==e.input.indexOf(n,t)},i=/<[A-Za-z0-9\\._:-]+/,a=/\/[A-Za-z0-9\\._:-]+>|\/>/,o={$pattern:ik,keyword:iw,literal:i_,built_in:iA,"variable.language":iC},l="[0-9](_?[0-9])*",s=`\\.(${l})`,c="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",u={className:"number",variants:[{begin:`(\\b(${c})((${s})|\\.)?|(${s}))[eE][+-]?(${l})\\b`},{begin:`\\b(${c})\\b((${s})\\b|\\.)?|(${s})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},d={className:"subst",begin:"\\$\\{",end:"\\}",keywords:o,contains:[]},p={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,d],subLanguage:"xml"}},g={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,d],subLanguage:"css"}},f={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,d],subLanguage:"graphql"}},m={className:"string",begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE,d]},h={className:"comment",variants:[e.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:ik+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE]},b=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,p,g,f,m,{match:/\$\d+/},u];d.contains=b.concat({begin:/\{/,end:/\}/,keywords:o,contains:["self"].concat(b)});let y=[].concat(h,d.contains),x=y.concat([{begin:/(\s*)\(/,end:/\)/,keywords:o,contains:["self"].concat(y)}]),v={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:o,contains:x},k={variants:[{match:[/class/,/\s+/,ik,/\s+/,/extends/,/\s+/,n.concat(ik,"(",n.concat(/\./,ik),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,ik],scope:{1:"keyword",3:"title.class"}}]},w={relevance:0,match:n.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[...iE,...iN]}},_={match:n.concat(/\b/,(t=[...iS,"super","import"].map(e=>`${e}\\s*\\(`),n.concat("(?!",t.join("|"),")")),ik,n.lookahead(/\s*\(/)),className:"title.function",relevance:0},E={begin:n.concat(/\./,n.lookahead(n.concat(ik,/(?![0-9A-Za-z$_(])/))),end:ik,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},N="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+e.UNDERSCORE_IDENT_RE+")\\s*=>",S={match:[/const|var|let/,/\s+/,ik,/\s*/,/=\s*/,/(async\s*)?/,n.lookahead(N)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[v]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:o,exports:{PARAMS_CONTAINS:x,CLASS_REFERENCE:w},illegal:/#(?![$_A-z])/,contains:[e.SHEBANG({label:"shebang",binary:"node",relevance:5}),{label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,p,g,f,m,h,{match:/\$\d+/},u,w,{scope:"attr",match:ik+n.lookahead(":"),relevance:0},S,{begin:"("+e.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[h,e.REGEXP_MODE,{className:"function",begin:N,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:e.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:o,contains:x}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:"<>",end:"</>"},{match:/<[A-Za-z0-9\\._:-]+\s*\/>/},{begin:i,"on:begin":(e,t)=>{let n;let i=e[0].length+e.index,a=e.input[i];if("<"===a||","===a){t.ignoreMatch();return}">"!==a||r(e,{after:i})||t.ignoreMatch();let o=e.input.substring(i);if((n=o.match(/^\s*=/))||(n=o.match(/^\s+extends\s+/))&&0===n.index){t.ignoreMatch();return}},end:a}],subLanguage:"xml",contains:[{begin:i,end:a,skip:!0,contains:["self"]}]}]},{variants:[{match:[/function/,/\s+/,ik,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[v],illegal:/%/},{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+e.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[v,e.inherit(e.TITLE_MODE,{begin:ik,className:"title.function"})]},{match:/\.\.\./,relevance:0},E,{match:"\\$"+ik,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[v]},_,{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"},k,{match:[/get|set/,/\s+/,ik,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},v]},{match:/\$[(.]/}]}},json:function(e){let t=["true","false","null"],n={scope:"literal",beginKeywords:t.join(" ")};return{name:"JSON",aliases:["jsonc"],keywords:{literal:t},contains:[{className:"attr",begin:/"(\\.|[^\\"\r\n])*"(?=\s*:)/,relevance:1.01},{match:/[{}[\],:]/,className:"punctuation",relevance:0},e.QUOTE_STRING_MODE,n,e.C_NUMBER_MODE,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE],illegal:"\\S"}},kotlin:function(e){let t={keyword:"abstract as val var vararg get set class object open private protected public noinline crossinline dynamic final enum if else do while for when throw try catch finally import package is in fun override companion reified inline lateinit init interface annotation data sealed internal infix operator out by constructor super tailrec where const inner suspend typealias external expect actual",built_in:"Byte Short Char Int Long Boolean Float Double Void Unit Nothing",literal:"true false null"},n={className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"@"},r={className:"subst",begin:/\$\{/,end:/\}/,contains:[e.C_NUMBER_MODE]},i={className:"variable",begin:"\\$"+e.UNDERSCORE_IDENT_RE},a={className:"string",variants:[{begin:'"""',end:'"""(?=[^"])',contains:[i,r]},{begin:"'",end:"'",illegal:/\n/,contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"',illegal:/\n/,contains:[e.BACKSLASH_ESCAPE,i,r]}]};r.contains.push(a);let o={className:"meta",begin:"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*"+e.UNDERSCORE_IDENT_RE+")?"},l={className:"meta",begin:"@"+e.UNDERSCORE_IDENT_RE,contains:[{begin:/\(/,end:/\)/,contains:[e.inherit(a,{className:"string"}),"self"]}]},s=e.COMMENT("/\\*","\\*/",{contains:[e.C_BLOCK_COMMENT_MODE]}),c={variants:[{className:"type",begin:e.UNDERSCORE_IDENT_RE},{begin:/\(/,end:/\)/,contains:[]}]};return c.variants[1].contains=[c],c.variants[1].contains=[c],{name:"Kotlin",aliases:["kt","kts"],keywords:t,contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"}]}),e.C_LINE_COMMENT_MODE,s,{className:"keyword",begin:/\b(break|continue|return|this)\b/,starts:{contains:[{className:"symbol",begin:/@\w+/}]}},n,o,l,{className:"function",beginKeywords:"fun",end:"[(]|$",returnBegin:!0,excludeEnd:!0,keywords:t,relevance:5,contains:[{begin:e.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0,contains:[e.UNDERSCORE_TITLE_MODE]},{className:"type",begin:/</,end:/>/,keywords:"reified",relevance:0},{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:t,relevance:0,contains:[{begin:/:/,end:/[=,\/]/,endsWithParent:!0,contains:[c,e.C_LINE_COMMENT_MODE,s],relevance:0},e.C_LINE_COMMENT_MODE,s,o,l,a,e.C_NUMBER_MODE]},s]},{begin:[/class|interface|trait/,/\s+/,e.UNDERSCORE_IDENT_RE],beginScope:{3:"title.class"},keywords:"class interface trait",end:/[:\{(]|$/,excludeEnd:!0,illegal:"extends implements",contains:[{beginKeywords:"public protected internal private constructor"},e.UNDERSCORE_TITLE_MODE,{className:"type",begin:/</,end:/>/,excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:/[,:]\s*/,end:/[<\(,){\s]|$/,excludeBegin:!0,returnEnd:!0},o,l]},a,{className:"meta",begin:"^#!/usr/bin/env",end:"$",illegal:"\n"},iD]}},less:function(e){let t=iI(e),n="[\\w-]+",r="("+n+"|@\\{"+n+"\\})",i=[],a=[],o=function(e){return{className:"string",begin:"~?"+e+".*?"+e}},l=function(e,t,n){return{className:e,begin:t,relevance:n}},s={$pattern:/[a-z-]+/,keyword:"and or not only",attribute:iL.join(" ")};a.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,o("'"),o('"'),t.CSS_NUMBER_MODE,{begin:"(url|data-uri)\\(",starts:{className:"string",end:"[\\)\\n]",excludeEnd:!0}},t.HEXCOLOR,{begin:"\\(",end:"\\)",contains:a,keywords:s,relevance:0},l("variable","@@?"+n,10),l("variable","@\\{"+n+"\\}"),l("built_in","~?`[^`]*?`"),{className:"attribute",begin:n+"\\s*:",end:":",returnBegin:!0,excludeEnd:!0},t.IMPORTANT,{beginKeywords:"and not"},t.FUNCTION_DISPATCH);let c=a.concat({begin:/\{/,end:/\}/,contains:i}),u={beginKeywords:"when",endsWithParent:!0,contains:[{beginKeywords:"and not"}].concat(a)},d={begin:r+"\\s*:",returnBegin:!0,end:/[;}]/,relevance:0,contains:[{begin:/-(webkit|moz|ms|o)-/},t.CSS_VARIABLE,{className:"attribute",begin:"\\b("+iB.join("|")+")\\b",end:/(?=:)/,starts:{endsWithParent:!0,illegal:"[<=$]",relevance:0,contains:a}}]},p={variants:[{begin:"[\\.#:&\\[>]",end:"[;{}]"},{begin:r,end:/\{/}],returnBegin:!0,returnEnd:!0,illegal:"[<='$\"]",relevance:0,contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,u,l("keyword","all\\b"),l("variable","@\\{"+n+"\\}"),{begin:"\\b("+ij.join("|")+")\\b",className:"selector-tag"},t.CSS_NUMBER_MODE,l("selector-tag",r,0),l("selector-id","#"+r),l("selector-class","\\."+r,0),l("selector-tag","&",0),t.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",begin:":("+iR.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+iz.join("|")+")"},{begin:/\(/,end:/\)/,relevance:0,contains:c},{begin:"!important"},t.FUNCTION_DISPATCH]},g={begin:n+":(:)?"+`(${iP.join("|")})`,returnBegin:!0,contains:[p]};return i.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"keyword",begin:"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b",starts:{end:"[;{}]",keywords:s,returnEnd:!0,contains:a,relevance:0}},{className:"variable",variants:[{begin:"@"+n+"\\s*:",relevance:15},{begin:"@"+n}],starts:{end:"[;}]",returnEnd:!0,contains:c}},g,d,p,u,t.FUNCTION_DISPATCH),{name:"Less",case_insensitive:!0,illegal:"[=>'/<($\"]",contains:i}},lua:function(e){let t="\\[=*\\[",n="\\]=*\\]",r={begin:t,end:n,contains:["self"]},i=[e.COMMENT("--(?!"+t+")","$"),e.COMMENT("--"+t,n,{contains:[r],relevance:10})];return{name:"Lua",aliases:["pluto"],keywords:{$pattern:e.UNDERSCORE_IDENT_RE,literal:"true false nil",keyword:"and break do else elseif end for goto if in local not or repeat return then until while",built_in:"_G _ENV _VERSION __index __newindex __mode __call __metatable __tostring __len __gc __add __sub __mul __div __mod __pow __concat __unm __eq __lt __le assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstring module next pairs pcall print rawequal rawget rawset require select setfenv setmetatable tonumber tostring type unpack xpcall arg self coroutine resume yield status wrap create running debug getupvalue debug sethook getmetatable gethook setmetatable setlocal traceback setfenv getinfo setupvalue getlocal getregistry getfenv io lines write close flush open output type read stderr stdin input stdout popen tmpfile math log max acos huge ldexp pi cos tanh pow deg tan cosh sinh random randomseed frexp ceil floor rad abs sqrt modf asin min mod fmod log10 atan2 exp sin atan os exit setlocale date getenv difftime remove time clock tmpname rename execute package preload loadlib loaded loaders cpath config path seeall string sub upper len gfind rep find match char dump gmatch reverse byte format gsub lower table setn insert getn foreachi maxn foreach concat sort remove"},contains:i.concat([{className:"function",beginKeywords:"function",end:"\\)",contains:[e.inherit(e.TITLE_MODE,{begin:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),{className:"params",begin:"\\(",endsWithParent:!0,contains:i}].concat(i)},e.C_NUMBER_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{className:"string",begin:t,end:n,contains:[r],relevance:5}])}},makefile:function(e){let t={className:"variable",variants:[{begin:"\\$\\("+e.UNDERSCORE_IDENT_RE+"\\)",contains:[e.BACKSLASH_ESCAPE]},{begin:/\$[@%<?\^\+\*]/}]},n={className:"string",begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,t]},r={begin:"^"+e.UNDERSCORE_IDENT_RE+"\\s*(?=[:+?]?=)"};return{name:"Makefile",aliases:["mk","mak","make"],keywords:{$pattern:/[\w-]+/,keyword:"define endef undefine ifdef ifndef ifeq ifneq else endif include -include sinclude override export unexport private vpath"},contains:[e.HASH_COMMENT_MODE,t,n,{className:"variable",begin:/\$\([\w-]+\s/,end:/\)/,keywords:{built_in:"subst patsubst strip findstring filter filter-out sort word wordlist firstword lastword dir notdir suffix basename addsuffix addprefix join wildcard realpath abspath error warning shell origin flavor foreach if or and call eval file value"},contains:[t,n]},r,{className:"meta",begin:/^\.PHONY:/,end:/$/,keywords:{$pattern:/[\.\w]+/,keyword:".PHONY"}},{className:"section",begin:/^[^\s]+:/,end:/$/,contains:[t]}]}},markdown:function(e){let t=e.regex,n={begin:/<\/?[A-Za-z_]/,end:">",subLanguage:"xml",relevance:0},r={variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0},{begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/,relevance:2},{begin:t.concat(/\[.+?\]\(/,/[A-Za-z][A-Za-z0-9+.-]*/,/:\/\/.*?\)/),relevance:2},{begin:/\[.+?\]\([./?&#].*?\)/,relevance:1},{begin:/\[.*?\]\(.*?\)/,relevance:0}],returnBegin:!0,contains:[{match:/\[(?=\])/},{className:"string",relevance:0,begin:"\\[",end:"\\]",excludeBegin:!0,returnEnd:!0},{className:"link",relevance:0,begin:"\\]\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0},{className:"symbol",relevance:0,begin:"\\]\\[",end:"\\]",excludeBegin:!0,excludeEnd:!0}]},i={className:"strong",contains:[],variants:[{begin:/_{2}(?!\s)/,end:/_{2}/},{begin:/\*{2}(?!\s)/,end:/\*{2}/}]},a={className:"emphasis",contains:[],variants:[{begin:/\*(?![*\s])/,end:/\*/},{begin:/_(?![_\s])/,end:/_/,relevance:0}]},o=e.inherit(i,{contains:[]}),l=e.inherit(a,{contains:[]});i.contains.push(l),a.contains.push(o);let s=[n,r];return[i,a,o,l].forEach(e=>{e.contains=e.contains.concat(s)}),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:s=s.concat(i,a)},{begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n",contains:s}]}]},n,{className:"bullet",begin:"^[ ]*([*+-]|(\\d+\\.))(?=\\s+)",end:"\\s+",excludeEnd:!0},i,a,{className:"quote",begin:"^>\\s+",contains:s,end:"$"},{className:"code",variants:[{begin:"(`{3,})[^`](.|\\n)*?\\1`*[ ]*"},{begin:"(~{3,})[^~](.|\\n)*?\\1~*[ ]*"},{begin:"```",end:"```+[ ]*$"},{begin:"~~~",end:"~~~+[ ]*$"},{begin:"`.+?`"},{begin:"(?=^( {4}|\\t))",contains:[{begin:"^( {4}|\\t)",end:"(\\n)$"}],relevance:0}]},{begin:"^[-\\*]{3,}",end:"$"},r,{begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]},{scope:"literal",match:/&([a-zA-Z0-9]+|#[0-9]{1,7}|#[Xx][0-9a-fA-F]{1,6});/}]}},objectivec:function(e){let t=/[a-zA-Z@][a-zA-Z0-9_]*/,n={$pattern:t,keyword:["@interface","@class","@protocol","@implementation"]};return{name:"Objective-C",aliases:["mm","objc","obj-c","obj-c++","objective-c++"],keywords:{"variable.language":["this","super"],$pattern:t,keyword:["while","export","sizeof","typedef","const","struct","for","union","volatile","static","mutable","if","do","return","goto","enum","else","break","extern","asm","case","default","register","explicit","typename","switch","continue","inline","readonly","assign","readwrite","self","@synchronized","id","typeof","nonatomic","IBOutlet","IBAction","strong","weak","copy","in","out","inout","bycopy","byref","oneway","__strong","__weak","__block","__autoreleasing","@private","@protected","@public","@try","@property","@end","@throw","@catch","@finally","@autoreleasepool","@synthesize","@dynamic","@selector","@optional","@required","@encode","@package","@import","@defs","@compatibility_alias","__bridge","__bridge_transfer","__bridge_retained","__bridge_retain","__covariant","__contravariant","__kindof","_Nonnull","_Nullable","_Null_unspecified","__FUNCTION__","__PRETTY_FUNCTION__","__attribute__","getter","setter","retain","unsafe_unretained","nonnull","nullable","null_unspecified","null_resettable","class","instancetype","NS_DESIGNATED_INITIALIZER","NS_UNAVAILABLE","NS_REQUIRES_SUPER","NS_RETURNS_INNER_POINTER","NS_INLINE","NS_AVAILABLE","NS_DEPRECATED","NS_ENUM","NS_OPTIONS","NS_SWIFT_UNAVAILABLE","NS_ASSUME_NONNULL_BEGIN","NS_ASSUME_NONNULL_END","NS_REFINED_FOR_SWIFT","NS_SWIFT_NAME","NS_SWIFT_NOTHROW","NS_DURING","NS_HANDLER","NS_ENDHANDLER","NS_VALUERETURN","NS_VOIDRETURN"],literal:["false","true","FALSE","TRUE","nil","YES","NO","NULL"],built_in:["dispatch_once_t","dispatch_queue_t","dispatch_sync","dispatch_async","dispatch_once"],type:["int","float","char","unsigned","signed","short","long","double","wchar_t","unichar","void","bool","BOOL","id|0","_Bool"]},illegal:"</",contains:[{className:"built_in",begin:"\\b(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)\\w+"},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.C_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,{className:"string",variants:[{begin:'@"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]}]},{className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},e.inherit(e.QUOTE_STRING_MODE,{className:"string"}),{className:"string",begin:/<.*?>/,end:/$/,illegal:"\\n"},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"class",begin:"("+n.keyword.join("|")+")\\b",end:/(\{|$)/,excludeEnd:!0,keywords:n,contains:[e.UNDERSCORE_TITLE_MODE]},{begin:"\\."+e.UNDERSCORE_IDENT_RE,relevance:0}]}},perl:function(e){let t=e.regex,n=/[dualxmsipngr]{0,12}/,r={$pattern:/[\w.]+/,keyword:"abs accept alarm and atan2 bind binmode bless break caller chdir chmod chomp chop chown chr chroot class close closedir connect continue cos crypt dbmclose dbmopen defined delete die do dump each else elsif endgrent endhostent endnetent endprotoent endpwent endservent eof eval exec exists exit exp fcntl field fileno flock for foreach fork format formline getc getgrent getgrgid getgrnam gethostbyaddr gethostbyname gethostent getlogin getnetbyaddr getnetbyname getnetent getpeername getpgrp getpriority getprotobyname getprotobynumber getprotoent getpwent getpwnam getpwuid getservbyname getservbyport getservent getsockname getsockopt given glob gmtime goto grep gt hex if index int ioctl join keys kill last lc lcfirst length link listen local localtime log lstat lt ma map method mkdir msgctl msgget msgrcv msgsnd my ne next no not oct open opendir or ord our pack package pipe pop pos print printf prototype push q|0 qq quotemeta qw qx rand read readdir readline readlink readpipe recv redo ref rename require reset return reverse rewinddir rindex rmdir say scalar seek seekdir select semctl semget semop send setgrent sethostent setnetent setpgrp setpriority setprotoent setpwent setservent setsockopt shift shmctl shmget shmread shmwrite shutdown sin sleep socket socketpair sort splice split sprintf sqrt srand stat state study sub substr symlink syscall sysopen sysread sysseek system syswrite tell telldir tie tied time times tr truncate uc ucfirst umask undef unless unlink unpack unshift untie until use utime values vec wait waitpid wantarray warn when while write x|0 xor y|0"},i={className:"subst",begin:"[$@]\\{",end:"\\}",keywords:r},a={begin:/->\{/,end:/\}/},o={scope:"attr",match:/\s+:\s*\w+(\s*\(.*?\))?/},l={scope:"variable",variants:[{begin:/\$\d/},{begin:t.concat(/[$%@](?!")(\^\w\b|#\w+(::\w+)*|\{\w+\}|\w+(::\w*)*)/,"(?![A-Za-z])(?![@$%])")},{begin:/[$%@](?!")[^\s\w{=]|\$=/,relevance:0}],contains:[o]},s={className:"number",variants:[{match:/0?\.[0-9][0-9_]+\b/},{match:/\bv?(0|[1-9][0-9_]*(\.[0-9_]+)?|[1-9][0-9_]*)\b/},{match:/\b0[0-7][0-7_]*\b/},{match:/\b0x[0-9a-fA-F][0-9a-fA-F_]*\b/},{match:/\b0b[0-1][0-1_]*\b/}],relevance:0},c=[e.BACKSLASH_ESCAPE,i,l],u=[/!/,/\//,/\|/,/\?/,/'/,/"/,/#/],d=(e,r,i="\\1")=>{let a="\\1"===i?i:t.concat(i,r);return t.concat(t.concat("(?:",e,")"),r,/(?:\\.|[^\\\/])*?/,a,/(?:\\.|[^\\\/])*?/,i,n)},p=(e,r,i)=>t.concat(t.concat("(?:",e,")"),r,/(?:\\.|[^\\\/])*?/,i,n),g=[l,e.HASH_COMMENT_MODE,e.COMMENT(/^=\w/,/=cut/,{endsWithParent:!0}),a,{className:"string",contains:c,variants:[{begin:"q[qwxr]?\\s*\\(",end:"\\)",relevance:5},{begin:"q[qwxr]?\\s*\\[",end:"\\]",relevance:5},{begin:"q[qwxr]?\\s*\\{",end:"\\}",relevance:5},{begin:"q[qwxr]?\\s*\\|",end:"\\|",relevance:5},{begin:"q[qwxr]?\\s*<",end:">",relevance:5},{begin:"qw\\s+q",end:"q",relevance:5},{begin:"'",end:"'",contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"'},{begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE]},{begin:/\{\w+\}/,relevance:0},{begin:"-?\\w+\\s*=>",relevance:0}]},s,{begin:"(\\/\\/|"+e.RE_STARTERS_RE+"|\\b(split|return|print|reverse|grep)\\b)\\s*",keywords:"split return print reverse grep",relevance:0,contains:[e.HASH_COMMENT_MODE,{className:"regexp",variants:[{begin:d("s|tr|y",t.either(...u,{capture:!0}))},{begin:d("s|tr|y","\\(","\\)")},{begin:d("s|tr|y","\\[","\\]")},{begin:d("s|tr|y","\\{","\\}")}],relevance:2},{className:"regexp",variants:[{begin:/(m|qr)\/\//,relevance:0},{begin:p("(?:m|qr)?",/\//,/\//)},{begin:p("m|qr",t.either(...u,{capture:!0}),/\1/)},{begin:p("m|qr",/\(/,/\)/)},{begin:p("m|qr",/\[/,/\]/)},{begin:p("m|qr",/\{/,/\}/)}]}]},{className:"function",beginKeywords:"sub method",end:"(\\s*\\(.*?\\))?[;{]",excludeEnd:!0,relevance:5,contains:[e.TITLE_MODE,o]},{className:"class",beginKeywords:"class",end:"[;{]",excludeEnd:!0,relevance:5,contains:[e.TITLE_MODE,o,s]},{begin:"-\\w\\b",relevance:0},{begin:"^__DATA__$",end:"^__END__$",subLanguage:"mojolicious",contains:[{begin:"^@@.*",end:"$",className:"comment"}]}];return i.contains=g,a.contains=g,{name:"Perl",aliases:["pl","pm"],keywords:r,contains:g}},php:function(e){let t=e.regex,n=/(?![A-Za-z0-9])(?![$])/,r=t.concat(/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/,n),i=t.concat(/(\\?[A-Z][a-z0-9_\x7f-\xff]+|\\?[A-Z]+(?=[A-Z][a-z0-9_\x7f-\xff])){1,}/,n),a=t.concat(/[A-Z]+/,n),o={scope:"variable",match:"\\$+"+r},l={scope:"subst",variants:[{begin:/\$\w+/},{begin:/\{\$/,end:/\}/}]},s=e.inherit(e.APOS_STRING_MODE,{illegal:null}),c=e.inherit(e.QUOTE_STRING_MODE,{illegal:null,contains:e.QUOTE_STRING_MODE.contains.concat(l)}),u={begin:/<<<[ \t]*(?:(\w+)|"(\w+)")\n/,end:/[ \t]*(\w+)\b/,contains:e.QUOTE_STRING_MODE.contains.concat(l),"on:begin":(e,t)=>{t.data._beginMatch=e[1]||e[2]},"on:end":(e,t)=>{t.data._beginMatch!==e[1]&&t.ignoreMatch()}},d=e.END_SAME_AS_BEGIN({begin:/<<<[ \t]*'(\w+)'\n/,end:/[ \t]*(\w+)\b/}),p="[ \n]",g={scope:"string",variants:[c,s,u,d]},f={scope:"number",variants:[{begin:"\\b0[bB][01]+(?:_[01]+)*\\b"},{begin:"\\b0[oO][0-7]+(?:_[0-7]+)*\\b"},{begin:"\\b0[xX][\\da-fA-F]+(?:_[\\da-fA-F]+)*\\b"},{begin:"(?:\\b\\d+(?:_\\d+)*(\\.(?:\\d+(?:_\\d+)*))?|\\B\\.\\d+)(?:[eE][+-]?\\d+)?"}],relevance:0},m=["false","null","true"],h=["__CLASS__","__DIR__","__FILE__","__FUNCTION__","__COMPILER_HALT_OFFSET__","__LINE__","__METHOD__","__NAMESPACE__","__TRAIT__","die","echo","exit","include","include_once","print","require","require_once","array","abstract","and","as","binary","bool","boolean","break","callable","case","catch","class","clone","const","continue","declare","default","do","double","else","elseif","empty","enddeclare","endfor","endforeach","endif","endswitch","endwhile","enum","eval","extends","final","finally","float","for","foreach","from","global","goto","if","implements","instanceof","insteadof","int","integer","interface","isset","iterable","list","match|0","mixed","new","never","object","or","private","protected","public","readonly","real","return","string","switch","throw","trait","try","unset","use","var","void","while","xor","yield"],b=["Error|0","AppendIterator","ArgumentCountError","ArithmeticError","ArrayIterator","ArrayObject","AssertionError","BadFunctionCallException","BadMethodCallException","CachingIterator","CallbackFilterIterator","CompileError","Countable","DirectoryIterator","DivisionByZeroError","DomainException","EmptyIterator","ErrorException","Exception","FilesystemIterator","FilterIterator","GlobIterator","InfiniteIterator","InvalidArgumentException","IteratorIterator","LengthException","LimitIterator","LogicException","MultipleIterator","NoRewindIterator","OutOfBoundsException","OutOfRangeException","OuterIterator","OverflowException","ParentIterator","ParseError","RangeException","RecursiveArrayIterator","RecursiveCachingIterator","RecursiveCallbackFilterIterator","RecursiveDirectoryIterator","RecursiveFilterIterator","RecursiveIterator","RecursiveIteratorIterator","RecursiveRegexIterator","RecursiveTreeIterator","RegexIterator","RuntimeException","SeekableIterator","SplDoublyLinkedList","SplFileInfo","SplFileObject","SplFixedArray","SplHeap","SplMaxHeap","SplMinHeap","SplObjectStorage","SplObserver","SplPriorityQueue","SplQueue","SplStack","SplSubject","SplTempFileObject","TypeError","UnderflowException","UnexpectedValueException","UnhandledMatchError","ArrayAccess","BackedEnum","Closure","Fiber","Generator","Iterator","IteratorAggregate","Serializable","Stringable","Throwable","Traversable","UnitEnum","WeakReference","WeakMap","Directory","__PHP_Incomplete_Class","parent","php_user_filter","self","static","stdClass"],y={keyword:h,literal:(e=>{let t=[];return e.forEach(e=>{t.push(e),e.toLowerCase()===e?t.push(e.toUpperCase()):t.push(e.toLowerCase())}),t})(m),built_in:b},x=e=>e.map(e=>e.replace(/\|\d+$/,"")),v={variants:[{match:[/new/,t.concat(p,"+"),t.concat("(?!",x(b).join("\\b|"),"\\b)"),i],scope:{1:"keyword",4:"title.class"}}]},k=t.concat(r,"\\b(?!\\()"),w={variants:[{match:[t.concat(/::/,t.lookahead(/(?!class\b)/)),k],scope:{2:"variable.constant"}},{match:[/::/,/class/],scope:{2:"variable.language"}},{match:[i,t.concat(/::/,t.lookahead(/(?!class\b)/)),k],scope:{1:"title.class",3:"variable.constant"}},{match:[i,t.concat("::",t.lookahead(/(?!class\b)/))],scope:{1:"title.class"}},{match:[i,/::/,/class/],scope:{1:"title.class",3:"variable.language"}}]},_={scope:"attr",match:t.concat(r,t.lookahead(":"),t.lookahead(/(?!::)/))},E={relevance:0,begin:/\(/,end:/\)/,keywords:y,contains:[_,o,w,e.C_BLOCK_COMMENT_MODE,g,f,v]},N={relevance:0,match:[/\b/,t.concat("(?!fn\\b|function\\b|",x(h).join("\\b|"),"|",x(b).join("\\b|"),"\\b)"),r,t.concat(p,"*"),t.lookahead(/(?=\()/)],scope:{3:"title.function.invoke"},contains:[E]};E.contains.push(N);let S=[_,w,e.C_BLOCK_COMMENT_MODE,g,f,v],C={begin:t.concat(/#\[\s*\\?/,t.either(i,a)),beginScope:"meta",end:/]/,endScope:"meta",keywords:{literal:m,keyword:["new","array"]},contains:[{begin:/\[/,end:/]/,keywords:{literal:m,keyword:["new","array"]},contains:["self",...S]},...S,{scope:"meta",variants:[{match:i},{match:a}]}]};return{case_insensitive:!1,keywords:y,contains:[C,e.HASH_COMMENT_MODE,e.COMMENT("//","$"),e.COMMENT("/\\*","\\*/",{contains:[{scope:"doctag",match:"@[A-Za-z]+"}]}),{match:/__halt_compiler\(\);/,keywords:"__halt_compiler",starts:{scope:"comment",end:e.MATCH_NOTHING_RE,contains:[{match:/\?>/,scope:"meta",endsParent:!0}]}},{scope:"meta",variants:[{begin:/<\?php/,relevance:10},{begin:/<\?=/},{begin:/<\?/,relevance:.1},{begin:/\?>/}]},{scope:"variable.language",match:/\$this\b/},o,N,w,{match:[/const/,/\s/,r],scope:{1:"keyword",3:"variable.constant"}},v,{scope:"function",relevance:0,beginKeywords:"fn function",end:/[;{]/,excludeEnd:!0,illegal:"[$%\\[]",contains:[{beginKeywords:"use"},e.UNDERSCORE_TITLE_MODE,{begin:"=>",endsParent:!0},{scope:"params",begin:"\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0,keywords:y,contains:["self",C,o,w,e.C_BLOCK_COMMENT_MODE,g,f]}]},{scope:"class",variants:[{beginKeywords:"enum",illegal:/[($"]/},{beginKeywords:"class interface trait",illegal:/[:($"]/}],relevance:0,end:/\{/,excludeEnd:!0,contains:[{beginKeywords:"extends implements"},e.UNDERSCORE_TITLE_MODE]},{beginKeywords:"namespace",relevance:0,end:";",illegal:/[.']/,contains:[e.inherit(e.UNDERSCORE_TITLE_MODE,{scope:"title.class"})]},{beginKeywords:"use",relevance:0,end:";",contains:[{match:/\b(as|const|function)\b/,scope:"keyword"},e.UNDERSCORE_TITLE_MODE]},g,f]}},"php-template":function(e){return{name:"PHP template",subLanguage:"xml",contains:[{begin:/<\?(php|=)?/,end:/\?>/,subLanguage:"php",contains:[{begin:"/\\*",end:"\\*/",skip:!0},{begin:'b"',end:'"',skip:!0},{begin:"b'",end:"'",skip:!0},e.inherit(e.APOS_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0}),e.inherit(e.QUOTE_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0})]}]}},plaintext:function(e){return{name:"Plain text",aliases:["text","txt"],disableAutodetect:!0}},python:function(e){let t=e.regex,n=/[\p{XID_Start}_]\p{XID_Continue}*/u,r=["and","as","assert","async","await","break","case","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","in","is","lambda","match","nonlocal|10","not","or","pass","raise","return","try","while","with","yield"],i={$pattern:/[A-Za-z]\w+|__\w+__/,keyword:r,built_in:["__import__","abs","all","any","ascii","bin","bool","breakpoint","bytearray","bytes","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","exec","filter","float","format","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","print","property","range","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip"],literal:["__debug__","Ellipsis","False","None","NotImplemented","True"],type:["Any","Callable","Coroutine","Dict","List","Literal","Generic","Optional","Sequence","Set","Tuple","Type","Union"]},a={className:"meta",begin:/^(>>>|\.\.\.) /},o={className:"subst",begin:/\{/,end:/\}/,keywords:i,illegal:/#/},l={begin:/\{\{/,relevance:0},s={className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,a],relevance:10},{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,a],relevance:10},{begin:/([fF][rR]|[rR][fF]|[fF])'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,a,l,o]},{begin:/([fF][rR]|[rR][fF]|[fF])"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,a,l,o]},{begin:/([uU]|[rR])'/,end:/'/,relevance:10},{begin:/([uU]|[rR])"/,end:/"/,relevance:10},{begin:/([bB]|[bB][rR]|[rR][bB])'/,end:/'/},{begin:/([bB]|[bB][rR]|[rR][bB])"/,end:/"/},{begin:/([fF][rR]|[rR][fF]|[fF])'/,end:/'/,contains:[e.BACKSLASH_ESCAPE,l,o]},{begin:/([fF][rR]|[rR][fF]|[fF])"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,l,o]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},c="[0-9](_?[0-9])*",u=`(\\b(${c}))?\\.(${c})|\\b(${c})\\.`,d=`\\b|${r.join("|")}`,p={className:"number",relevance:0,variants:[{begin:`(\\b(${c})|(${u}))[eE][+-]?(${c})[jJ]?(?=${d})`},{begin:`(${u})[jJ]?`},{begin:`\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${d})`},{begin:`\\b0[bB](_?[01])+[lL]?(?=${d})`},{begin:`\\b0[oO](_?[0-7])+[lL]?(?=${d})`},{begin:`\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${d})`},{begin:`\\b(${c})[jJ](?=${d})`}]},g={className:"comment",begin:t.lookahead(/# type:/),end:/$/,keywords:i,contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},f={className:"params",variants:[{className:"",begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:i,contains:["self",a,p,s,e.HASH_COMMENT_MODE]}]};return o.contains=[s,p,a],{name:"Python",aliases:["py","gyp","ipython"],unicodeRegex:!0,keywords:i,illegal:/(<\/|\?)|=>/,contains:[a,p,{scope:"variable.language",match:/\bself\b/},{beginKeywords:"if",relevance:0},{match:/\bor\b/,scope:"keyword"},s,g,e.HASH_COMMENT_MODE,{match:[/\bdef/,/\s+/,n],scope:{1:"keyword",3:"title.function"},contains:[f]},{variants:[{match:[/\bclass/,/\s+/,n,/\s*/,/\(\s*/,n,/\s*\)/]},{match:[/\bclass/,/\s+/,n]}],scope:{1:"keyword",3:"title.class",6:"title.class.inherited"}},{className:"meta",begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[p,f,s]}]}},"python-repl":function(e){return{aliases:["pycon"],contains:[{className:"meta.prompt",starts:{end:/ |$/,starts:{end:"$",subLanguage:"python"}},variants:[{begin:/^>>>(?=[ ]|$)/},{begin:/^\.\.\.(?=[ ]|$)/}]}]}},r:function(e){let t=e.regex,n=/(?:(?:[a-zA-Z]|\.[._a-zA-Z])[._a-zA-Z0-9]*)|\.(?!\d)/,r=t.either(/0[xX][0-9a-fA-F]+\.[0-9a-fA-F]*[pP][+-]?\d+i?/,/0[xX][0-9a-fA-F]+(?:[pP][+-]?\d+)?[Li]?/,/(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?[Li]?/),i=/[=!<>:]=|\|\||&&|:::?|<-|<<-|->>|->|\|>|[-+*\/?!$&|:<=>@^~]|\*\*/,a=t.either(/[()]/,/[{}]/,/\[\[/,/[[\]]/,/\\/,/,/);return{name:"R",keywords:{$pattern:n,keyword:"function if in break next repeat else for while",literal:"NULL NA TRUE FALSE Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10",built_in:"LETTERS letters month.abb month.name pi T F abs acos acosh all any anyNA Arg as.call as.character as.complex as.double as.environment as.integer as.logical as.null.default as.numeric as.raw asin asinh atan atanh attr attributes baseenv browser c call ceiling class Conj cos cosh cospi cummax cummin cumprod cumsum digamma dim dimnames emptyenv exp expression floor forceAndCall gamma gc.time globalenv Im interactive invisible is.array is.atomic is.call is.character is.complex is.double is.environment is.expression is.finite is.function is.infinite is.integer is.language is.list is.logical is.matrix is.na is.name is.nan is.null is.numeric is.object is.pairlist is.raw is.recursive is.single is.symbol lazyLoadDBfetch length lgamma list log max min missing Mod names nargs nzchar oldClass on.exit pos.to.env proc.time prod quote range Re rep retracemem return round seq_along seq_len seq.int sign signif sin sinh sinpi sqrt standardGeneric substitute sum switch tan tanh tanpi tracemem trigamma trunc unclass untracemem UseMethod xtfrm"},contains:[e.COMMENT(/#'/,/$/,{contains:[{scope:"doctag",match:/@examples/,starts:{end:t.lookahead(t.either(/\n^#'\s*(?=@[a-zA-Z]+)/,/\n^(?!#')/)),endsParent:!0}},{scope:"doctag",begin:"@param",end:/$/,contains:[{scope:"variable",variants:[{match:n},{match:/`(?:\\.|[^`\\])+`/}],endsParent:!0}]},{scope:"doctag",match:/@[a-zA-Z]+/},{scope:"keyword",match:/\\[a-zA-Z]+/}]}),e.HASH_COMMENT_MODE,{scope:"string",contains:[e.BACKSLASH_ESCAPE],variants:[e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\(/,end:/\)(-*)"/}),e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\{/,end:/\}(-*)"/}),e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\[/,end:/\](-*)"/}),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\(/,end:/\)(-*)'/}),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\{/,end:/\}(-*)'/}),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\[/,end:/\](-*)'/}),{begin:'"',end:'"',relevance:0},{begin:"'",end:"'",relevance:0}]},{relevance:0,variants:[{scope:{1:"operator",2:"number"},match:[i,r]},{scope:{1:"operator",2:"number"},match:[/%[^%]*%/,r]},{scope:{1:"punctuation",2:"number"},match:[a,r]},{scope:{2:"number"},match:[/[^a-zA-Z0-9._]|^/,r]}]},{scope:{3:"operator"},match:[n,/\s+/,/<-/,/\s+/]},{scope:"operator",relevance:0,variants:[{match:i},{match:/%[^%]*%/}]},{scope:"punctuation",relevance:0,match:a},{begin:"`",end:"`",contains:[{begin:/\\./}]}]}},ruby:function(e){let t=e.regex,n="([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)",r=t.either(/\b([A-Z]+[a-z0-9]+)+/,/\b([A-Z]+[a-z0-9]+)+[A-Z]+/),i=t.concat(r,/(::\w+)*/),a={"variable.constant":["__FILE__","__LINE__","__ENCODING__"],"variable.language":["self","super"],keyword:["alias","and","begin","BEGIN","break","case","class","defined","do","else","elsif","end","END","ensure","for","if","in","module","next","not","or","redo","require","rescue","retry","return","then","undef","unless","until","when","while","yield","include","extend","prepend","public","private","protected","raise","throw"],built_in:["proc","lambda","attr_accessor","attr_reader","attr_writer","define_method","private_constant","module_function"],literal:["true","false","nil"]},o={className:"doctag",begin:"@[A-Za-z]+"},l={begin:"#<",end:">"},s=[e.COMMENT("#","$",{contains:[o]}),e.COMMENT("^=begin","^=end",{contains:[o],relevance:10}),e.COMMENT("^__END__",e.MATCH_NOTHING_RE)],c={className:"subst",begin:/#\{/,end:/\}/,keywords:a},u={className:"string",contains:[e.BACKSLASH_ESCAPE,c],variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/`/,end:/`/},{begin:/%[qQwWx]?\(/,end:/\)/},{begin:/%[qQwWx]?\[/,end:/\]/},{begin:/%[qQwWx]?\{/,end:/\}/},{begin:/%[qQwWx]?</,end:/>/},{begin:/%[qQwWx]?\//,end:/\//},{begin:/%[qQwWx]?%/,end:/%/},{begin:/%[qQwWx]?-/,end:/-/},{begin:/%[qQwWx]?\|/,end:/\|/},{begin:/\B\?(\\\d{1,3})/},{begin:/\B\?(\\x[A-Fa-f0-9]{1,2})/},{begin:/\B\?(\\u\{?[A-Fa-f0-9]{1,6}\}?)/},{begin:/\B\?(\\M-\\C-|\\M-\\c|\\c\\M-|\\M-|\\C-\\M-)[\x20-\x7e]/},{begin:/\B\?\\(c|C-)[\x20-\x7e]/},{begin:/\B\?\\?\S/},{begin:t.concat(/<<[-~]?'?/,t.lookahead(/(\w+)(?=\W)[^\n]*\n(?:[^\n]*\n)*?\s*\1\b/)),contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,contains:[e.BACKSLASH_ESCAPE,c]})]}]},d="[0-9](_?[0-9])*",p={className:"number",relevance:0,variants:[{begin:`\\b([1-9](_?[0-9])*|0)(\\.(${d}))?([eE][+-]?(${d})|r)?i?\\b`},{begin:"\\b0[dD][0-9](_?[0-9])*r?i?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*r?i?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*r?i?\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*r?i?\\b"},{begin:"\\b0(_?[0-7])+r?i?\\b"}]},g={variants:[{match:/\(\)/},{className:"params",begin:/\(/,end:/(?=\))/,excludeBegin:!0,endsParent:!0,keywords:a}]},f=[u,{variants:[{match:[/class\s+/,i,/\s+<\s+/,i]},{match:[/\b(class|module)\s+/,i]}],scope:{2:"title.class",4:"title.class.inherited"},keywords:a},{match:[/(include|extend)\s+/,i],scope:{2:"title.class"},keywords:a},{relevance:0,match:[i,/\.new[. (]/],scope:{1:"title.class"}},{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"},{relevance:0,match:r,scope:"title.class"},{match:[/def/,/\s+/,n],scope:{1:"keyword",3:"title.function"},contains:[g]},{begin:e.IDENT_RE+"::"},{className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"(!|\\?)?:",relevance:0},{className:"symbol",begin:":(?!\\s)",contains:[u,{begin:n}],relevance:0},p,{className:"variable",begin:"(\\$\\W)|((\\$|@@?)(\\w+))(?=[^@$?])(?![A-Za-z])(?![@$?'])"},{className:"params",begin:/\|(?!=)/,end:/\|/,excludeBegin:!0,excludeEnd:!0,relevance:0,keywords:a},{begin:"("+e.RE_STARTERS_RE+"|unless)\\s*",keywords:"unless",contains:[{className:"regexp",contains:[e.BACKSLASH_ESCAPE,c],illegal:/\n/,variants:[{begin:"/",end:"/[a-z]*"},{begin:/%r\{/,end:/\}[a-z]*/},{begin:"%r\\(",end:"\\)[a-z]*"},{begin:"%r!",end:"![a-z]*"},{begin:"%r\\[",end:"\\][a-z]*"}]}].concat(l,s),relevance:0}].concat(l,s);c.contains=f,g.contains=f;let m=[{begin:/^\s*=>/,starts:{end:"$",contains:f}},{className:"meta.prompt",begin:"^([>?]>|[\\w#]+\\(\\w+\\):\\d+:\\d+[>*]|(\\w+-)?\\d+\\.\\d+\\.\\d+(p\\d+)?[^\\d][^>]+>)(?=[ ])",starts:{end:"$",keywords:a,contains:f}}];return s.unshift(l),{name:"Ruby",aliases:["rb","gemspec","podspec","thor","irb"],keywords:a,illegal:/\/\*/,contains:[e.SHEBANG({binary:"ruby"})].concat(m).concat(s).concat(f)}},rust:function(e){let t=e.regex,n=/(r#)?/,r=t.concat(n,e.UNDERSCORE_IDENT_RE),i=t.concat(n,e.IDENT_RE),a={className:"title.function.invoke",relevance:0,begin:t.concat(/\b/,/(?!let|for|while|if|else|match\b)/,i,t.lookahead(/\s*\(/))},o="([ui](8|16|32|64|128|size)|f(32|64))?",l=["drop ","Copy","Send","Sized","Sync","Drop","Fn","FnMut","FnOnce","ToOwned","Clone","Debug","PartialEq","PartialOrd","Eq","Ord","AsRef","AsMut","Into","From","Default","Iterator","Extend","IntoIterator","DoubleEndedIterator","ExactSizeIterator","SliceConcatExt","ToString","assert!","assert_eq!","bitflags!","bytes!","cfg!","col!","concat!","concat_idents!","debug_assert!","debug_assert_eq!","env!","eprintln!","panic!","file!","format!","format_args!","include_bytes!","include_str!","line!","local_data_key!","module_path!","option_env!","print!","println!","select!","stringify!","try!","unimplemented!","unreachable!","vec!","write!","writeln!","macro_rules!","assert_ne!","debug_assert_ne!"],s=["i8","i16","i32","i64","i128","isize","u8","u16","u32","u64","u128","usize","f32","f64","str","char","bool","Box","Option","Result","String","Vec"];return{name:"Rust",aliases:["rs"],keywords:{$pattern:e.IDENT_RE+"!?",type:s,keyword:["abstract","as","async","await","become","box","break","const","continue","crate","do","dyn","else","enum","extern","false","final","fn","for","if","impl","in","let","loop","macro","match","mod","move","mut","override","priv","pub","ref","return","self","Self","static","struct","super","trait","true","try","type","typeof","union","unsafe","unsized","use","virtual","where","while","yield"],literal:["true","false","Some","None","Ok","Err"],built_in:l},illegal:"</",contains:[e.C_LINE_COMMENT_MODE,e.COMMENT("/\\*","\\*/",{contains:["self"]}),e.inherit(e.QUOTE_STRING_MODE,{begin:/b?"/,illegal:null}),{className:"symbol",begin:/'[a-zA-Z_][a-zA-Z0-9_]*(?!')/},{scope:"string",variants:[{begin:/b?r(#*)"(.|\n)*?"\1(?!#)/},{begin:/b?'/,end:/'/,contains:[{scope:"char.escape",match:/\\('|\w|x\w{2}|u\w{4}|U\w{8})/}]}]},{className:"number",variants:[{begin:"\\b0b([01_]+)"+o},{begin:"\\b0o([0-7_]+)"+o},{begin:"\\b0x([A-Fa-f0-9_]+)"+o},{begin:"\\b(\\d[\\d_]*(\\.[0-9_]+)?([eE][+-]?[0-9_]+)?)"+o}],relevance:0},{begin:[/fn/,/\s+/,r],className:{1:"keyword",3:"title.function"}},{className:"meta",begin:"#!?\\[",end:"\\]",contains:[{className:"string",begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE]}]},{begin:[/let/,/\s+/,/(?:mut\s+)?/,r],className:{1:"keyword",3:"keyword",4:"variable"}},{begin:[/for/,/\s+/,r,/\s+/,/in/],className:{1:"keyword",3:"variable",5:"keyword"}},{begin:[/type/,/\s+/,r],className:{1:"keyword",3:"title.class"}},{begin:[/(?:trait|enum|struct|union|impl|for)/,/\s+/,r],className:{1:"keyword",3:"title.class"}},{begin:e.IDENT_RE+"::",keywords:{keyword:"Self",built_in:l,type:s}},{className:"punctuation",begin:"->"},a]}},scss:function(e){let t=iF(e),n="@[a-z-]+",r={className:"variable",begin:"(\\$[a-zA-Z-][a-zA-Z0-9_-]*)\\b",relevance:0};return{name:"SCSS",case_insensitive:!0,illegal:"[=/|']",contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,t.CSS_NUMBER_MODE,{className:"selector-id",begin:"#[A-Za-z0-9_-]+",relevance:0},{className:"selector-class",begin:"\\.[A-Za-z0-9_-]+",relevance:0},t.ATTRIBUTE_SELECTOR_MODE,{className:"selector-tag",begin:"\\b("+iq.join("|")+")\\b",relevance:0},{className:"selector-pseudo",begin:":("+i$.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+iH.join("|")+")"},r,{begin:/\(/,end:/\)/,contains:[t.CSS_NUMBER_MODE]},t.CSS_VARIABLE,{className:"attribute",begin:"\\b("+iG.join("|")+")\\b"},{begin:"\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\b"},{begin:/:/,end:/[;}{]/,relevance:0,contains:[t.BLOCK_COMMENT,r,t.HEXCOLOR,t.CSS_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,t.IMPORTANT,t.FUNCTION_DISPATCH]},{begin:"@(page|font-face)",keywords:{$pattern:n,keyword:"@page @font-face"}},{begin:"@",end:"[{;]",returnBegin:!0,keywords:{$pattern:/[a-z-]+/,keyword:"and or not only",attribute:iU.join(" ")},contains:[{begin:n,className:"keyword"},{begin:/[a-z-]+(?=:)/,className:"attribute"},r,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,t.HEXCOLOR,t.CSS_NUMBER_MODE]},t.FUNCTION_DISPATCH]}},shell:function(e){return{name:"Shell Session",aliases:["console","shellsession"],contains:[{className:"meta.prompt",begin:/^\s{0,3}[/~\w\d[\]()@-]*[>%$#][ ]?/,starts:{end:/[^\\](?=\s*$)/,subLanguage:"bash"}}]}},sql:function(e){let t=e.regex,n=e.COMMENT("--","$"),r=["abs","acos","array_agg","asin","atan","avg","cast","ceil","ceiling","coalesce","corr","cos","cosh","count","covar_pop","covar_samp","cume_dist","dense_rank","deref","element","exp","extract","first_value","floor","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","last_value","lead","listagg","ln","log","log10","lower","max","min","mod","nth_value","ntile","nullif","percent_rank","percentile_cont","percentile_disc","position","position_regex","power","rank","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","row_number","sin","sinh","sqrt","stddev_pop","stddev_samp","substring","substring_regex","sum","tan","tanh","translate","translate_regex","treat","trim","trim_array","unnest","upper","value_of","var_pop","var_samp","width_bucket"],i=["abs","acos","all","allocate","alter","and","any","are","array","array_agg","array_max_cardinality","as","asensitive","asin","asymmetric","at","atan","atomic","authorization","avg","begin","begin_frame","begin_partition","between","bigint","binary","blob","boolean","both","by","call","called","cardinality","cascaded","case","cast","ceil","ceiling","char","char_length","character","character_length","check","classifier","clob","close","coalesce","collate","collect","column","commit","condition","connect","constraint","contains","convert","copy","corr","corresponding","cos","cosh","count","covar_pop","covar_samp","create","cross","cube","cume_dist","current","current_catalog","current_date","current_default_transform_group","current_path","current_role","current_row","current_schema","current_time","current_timestamp","current_path","current_role","current_transform_group_for_type","current_user","cursor","cycle","date","day","deallocate","dec","decimal","decfloat","declare","default","define","delete","dense_rank","deref","describe","deterministic","disconnect","distinct","double","drop","dynamic","each","element","else","empty","end","end_frame","end_partition","end-exec","equals","escape","every","except","exec","execute","exists","exp","external","extract","false","fetch","filter","first_value","float","floor","for","foreign","frame_row","free","from","full","function","fusion","get","global","grant","group","grouping","groups","having","hold","hour","identity","in","indicator","initial","inner","inout","insensitive","insert","int","integer","intersect","intersection","interval","into","is","join","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","language","large","last_value","lateral","lead","leading","left","like","like_regex","listagg","ln","local","localtime","localtimestamp","log","log10","lower","match","match_number","match_recognize","matches","max","member","merge","method","min","minute","mod","modifies","module","month","multiset","national","natural","nchar","nclob","new","no","none","normalize","not","nth_value","ntile","null","nullif","numeric","octet_length","occurrences_regex","of","offset","old","omit","on","one","only","open","or","order","out","outer","over","overlaps","overlay","parameter","partition","pattern","per","percent","percent_rank","percentile_cont","percentile_disc","period","portion","position","position_regex","power","precedes","precision","prepare","primary","procedure","ptf","range","rank","reads","real","recursive","ref","references","referencing","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","release","result","return","returns","revoke","right","rollback","rollup","row","row_number","rows","running","savepoint","scope","scroll","search","second","seek","select","sensitive","session_user","set","show","similar","sin","sinh","skip","smallint","some","specific","specifictype","sql","sqlexception","sqlstate","sqlwarning","sqrt","start","static","stddev_pop","stddev_samp","submultiset","subset","substring","substring_regex","succeeds","sum","symmetric","system","system_time","system_user","table","tablesample","tan","tanh","then","time","timestamp","timezone_hour","timezone_minute","to","trailing","translate","translate_regex","translation","treat","trigger","trim","trim_array","true","truncate","uescape","union","unique","unknown","unnest","update","upper","user","using","value","values","value_of","var_pop","var_samp","varbinary","varchar","varying","versioning","when","whenever","where","width_bucket","window","with","within","without","year","add","asc","collation","desc","final","first","last","view"].filter(e=>!r.includes(e)),a={match:t.concat(/\b/,t.either(...r),/\s*\(/),relevance:0,keywords:{built_in:r}};function o(e){return t.concat(/\b/,t.either(...e.map(e=>e.replace(/\s+/,"\\s+"))),/\b/)}let l={scope:"keyword",match:o(["create table","insert into","primary key","foreign key","not null","alter table","add constraint","grouping sets","on overflow","character set","respect nulls","ignore nulls","nulls first","nulls last","depth first","breadth first"]),relevance:0};return{name:"SQL",case_insensitive:!0,illegal:/[{}]|<\//,keywords:{$pattern:/\b[\w\.]+/,keyword:function(e,{exceptions:t,when:n}={}){return t=t||[],e.map(e=>e.match(/\|\d+$/)||t.includes(e)?e:n(e)?`${e}|0`:e)}(i,{when:e=>e.length<3}),literal:["true","false","unknown"],type:["bigint","binary","blob","boolean","char","character","clob","date","dec","decfloat","decimal","float","int","integer","interval","nchar","nclob","national","numeric","real","row","smallint","time","timestamp","varchar","varying","varbinary"],built_in:["current_catalog","current_date","current_default_transform_group","current_path","current_role","current_schema","current_transform_group_for_type","current_user","session_user","system_time","system_user","current_time","localtime","current_timestamp","localtimestamp"]},contains:[{scope:"type",match:o(["double precision","large object","with timezone","without timezone"])},l,a,{scope:"variable",match:/@[a-z0-9][a-z0-9_]*/},{scope:"string",variants:[{begin:/'/,end:/'/,contains:[{match:/''/}]}]},{begin:/"/,end:/"/,contains:[{match:/""/}]},e.C_NUMBER_MODE,e.C_BLOCK_COMMENT_MODE,n,{scope:"operator",match:/[-+*/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?/,relevance:0}]}},swift:function(e){let t={match:/\s+/,relevance:0},n=e.COMMENT("/\\*","\\*/",{contains:["self"]}),r=[e.C_LINE_COMMENT_MODE,n],i={match:[/\./,iW(...iX,...iJ)],className:{2:"keyword"}},a={match:iZ(/\./,iW(...i0)),relevance:0},o=i0.filter(e=>"string"==typeof e).concat(["_|0"]),l={variants:[{className:"keyword",match:iW(...i0.filter(e=>"string"!=typeof e).concat(iY).map(iQ),...iJ)}]},s={$pattern:iW(/\b\w+/,/#\w+/),keyword:o.concat(i3),literal:i1},c=[i,a,l],u=[{match:iZ(/\./,iW(...i5)),relevance:0},{className:"built_in",match:iZ(/\b/,iW(...i5),/(?=\()/)}],d={match:/->/,relevance:0},p=[d,{className:"operator",relevance:0,variants:[{match:i6},{match:`\\.(\\.|${i9})+`}]}],g="([0-9]_*)+",f="([0-9a-fA-F]_*)+",m={className:"number",relevance:0,variants:[{match:`\\b(${g})(\\.(${g}))?([eE][+-]?(${g}))?\\b`},{match:`\\b0x(${f})(\\.(${f}))?([pP][+-]?(${g}))?\\b`},{match:/\b0o([0-7]_*)+\b/},{match:/\b0b([01]_*)+\b/}]},h=(e="")=>({className:"subst",variants:[{match:iZ(/\\/,e,/[0\\tnr"']/)},{match:iZ(/\\/,e,/u\{[0-9a-fA-F]{1,8}\}/)}]}),b=(e="")=>({className:"subst",match:iZ(/\\/,e,/[\t ]*(?:[\r\n]|\r\n)/)}),y=(e="")=>({className:"subst",label:"interpol",begin:iZ(/\\/,e,/\(/),end:/\)/}),x=(e="")=>({begin:iZ(e,/"""/),end:iZ(/"""/,e),contains:[h(e),b(e),y(e)]}),v=(e="")=>({begin:iZ(e,/"/),end:iZ(/"/,e),contains:[h(e),y(e)]}),k={className:"string",variants:[x(),x("#"),x("##"),x("###"),v(),v("#"),v("##"),v("###")]},w=[e.BACKSLASH_ESCAPE,{begin:/\[/,end:/\]/,relevance:0,contains:[e.BACKSLASH_ESCAPE]}],_=e=>{let t=iZ(e,/\//),n=iZ(/\//,e);return{begin:t,end:n,contains:[...w,{scope:"comment",begin:`#(?!.*${n})`,end:/$/}]}},E={scope:"regexp",variants:[_("###"),_("##"),_("#"),{begin:/\/[^\s](?=[^/\n]*\/)/,end:/\//,contains:w}]},N={match:iZ(/`/,ae,/`/)},S=[N,{className:"variable",match:/\$\d+/},{className:"variable",match:`\\$${i8}+`}],C=[{match:/(@|#(un)?)available/,scope:"keyword",starts:{contains:[{begin:/\(/,end:/\)/,keywords:ar,contains:[...p,m,k]}]}},{scope:"keyword",match:iZ(/@/,iW(...an),iV(iW(/\(/,/\s+/)))},{scope:"meta",match:iZ(/@/,ae)}],A={match:iV(/\b[A-Z]/),relevance:0,contains:[{className:"type",match:iZ(/(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)/,i8,"+")},{className:"type",match:at,relevance:0},{match:/[?!]+/,relevance:0},{match:/\.\.\./,relevance:0},{match:iZ(/\s+&\s+/,iV(at)),relevance:0}]},M={begin:/</,end:/>/,keywords:s,contains:[...r,...c,...C,d,A]};A.contains.push(M);let O={begin:/\(/,end:/\)/,relevance:0,keywords:s,contains:["self",{match:iZ(ae,/\s*:/),keywords:"_|0",relevance:0},...r,E,...c,...u,...p,m,k,...S,...C,A]},T={begin:/</,end:/>/,keywords:"repeat each",contains:[...r,A]},D={begin:/\(/,end:/\)/,keywords:s,contains:[{begin:iW(iV(iZ(ae,/\s*:/)),iV(iZ(ae,/\s+/,ae,/\s*:/))),end:/:/,relevance:0,contains:[{className:"keyword",match:/\b_\b/},{className:"params",match:ae}]},...r,...c,...p,m,k,...C,A,O],endsParent:!0,illegal:/["']/},I={match:[/(func|macro)/,/\s+/,iW(N.match,ae,i6)],className:{1:"keyword",3:"title.function"},contains:[T,D,t],illegal:[/\[/,/%/]},j={begin:[/precedencegroup/,/\s+/,at],className:{1:"keyword",3:"title"},contains:[A],keywords:[...i2,...i1],end:/}/},L={begin:[/(struct|protocol|class|extension|enum|actor)/,/\s+/,ae,/\s*/],beginScope:{1:"keyword",3:"title.class"},keywords:s,contains:[T,...c,{begin:/:/,end:/\{/,keywords:s,contains:[{scope:"title.class.inherited",match:at},...c],relevance:0}]};for(let e of k.variants){let t=e.contains.find(e=>"interpol"===e.label);t.keywords=s;let n=[...c,...u,...p,m,k,...S];t.contains=[...n,{begin:/\(/,end:/\)/,contains:["self",...n]}]}return{name:"Swift",keywords:s,contains:[...r,I,{match:[/\b(?:subscript|init[?!]?)/,/\s*(?=[<(])/],className:{1:"keyword"},contains:[T,D,t],illegal:/\[|%/},{match:[/class\b/,/\s+/,/func\b/,/\s+/,/\b[A-Za-z_][A-Za-z0-9_]*\b/],scope:{1:"keyword",3:"keyword",5:"title.function"}},{match:[/class\b/,/\s+/,/var\b/],scope:{1:"keyword",3:"keyword"}},L,{match:[/operator/,/\s+/,i6],className:{1:"keyword",3:"title"}},j,{beginKeywords:"import",end:/$/,contains:[...r],relevance:0},E,...c,...u,...p,m,k,...S,...C,A,O]}},typescript:function(e){let t=e.regex,n=function(e){var t;let n=e.regex,r=(e,{after:t})=>{let n="</"+e[0].slice(1);return -1!==e.input.indexOf(n,t)},i=/<[A-Za-z0-9\\._:-]+/,a=/\/[A-Za-z0-9\\._:-]+>|\/>/,o={$pattern:ai,keyword:aa,literal:ao,built_in:ad,"variable.language":au},l="[0-9](_?[0-9])*",s=`\\.(${l})`,c="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",u={className:"number",variants:[{begin:`(\\b(${c})((${s})|\\.)?|(${s}))[eE][+-]?(${l})\\b`},{begin:`\\b(${c})\\b((${s})\\b|\\.)?|(${s})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},d={className:"subst",begin:"\\$\\{",end:"\\}",keywords:o,contains:[]},p={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,d],subLanguage:"xml"}},g={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,d],subLanguage:"css"}},f={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,d],subLanguage:"graphql"}},m={className:"string",begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE,d]},h={className:"comment",variants:[e.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:ai+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE]},b=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,p,g,f,m,{match:/\$\d+/},u];d.contains=b.concat({begin:/\{/,end:/\}/,keywords:o,contains:["self"].concat(b)});let y=[].concat(h,d.contains),x=y.concat([{begin:/(\s*)\(/,end:/\)/,keywords:o,contains:["self"].concat(y)}]),v={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:o,contains:x},k={variants:[{match:[/class/,/\s+/,ai,/\s+/,/extends/,/\s+/,n.concat(ai,"(",n.concat(/\./,ai),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,ai],scope:{1:"keyword",3:"title.class"}}]},w={relevance:0,match:n.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[...al,...as]}},_={match:n.concat(/\b/,(t=[...ac,"super","import"].map(e=>`${e}\\s*\\(`),n.concat("(?!",t.join("|"),")")),ai,n.lookahead(/\s*\(/)),className:"title.function",relevance:0},E={begin:n.concat(/\./,n.lookahead(n.concat(ai,/(?![0-9A-Za-z$_(])/))),end:ai,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},N="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+e.UNDERSCORE_IDENT_RE+")\\s*=>",S={match:[/const|var|let/,/\s+/,ai,/\s*/,/=\s*/,/(async\s*)?/,n.lookahead(N)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[v]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:o,exports:{PARAMS_CONTAINS:x,CLASS_REFERENCE:w},illegal:/#(?![$_A-z])/,contains:[e.SHEBANG({label:"shebang",binary:"node",relevance:5}),{label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,p,g,f,m,h,{match:/\$\d+/},u,w,{scope:"attr",match:ai+n.lookahead(":"),relevance:0},S,{begin:"("+e.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[h,e.REGEXP_MODE,{className:"function",begin:N,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:e.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:o,contains:x}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:"<>",end:"</>"},{match:/<[A-Za-z0-9\\._:-]+\s*\/>/},{begin:i,"on:begin":(e,t)=>{let n;let i=e[0].length+e.index,a=e.input[i];if("<"===a||","===a){t.ignoreMatch();return}">"!==a||r(e,{after:i})||t.ignoreMatch();let o=e.input.substring(i);if((n=o.match(/^\s*=/))||(n=o.match(/^\s+extends\s+/))&&0===n.index){t.ignoreMatch();return}},end:a}],subLanguage:"xml",contains:[{begin:i,end:a,skip:!0,contains:["self"]}]}]},{variants:[{match:[/function/,/\s+/,ai,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[v],illegal:/%/},{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+e.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[v,e.inherit(e.TITLE_MODE,{begin:ai,className:"title.function"})]},{match:/\.\.\./,relevance:0},E,{match:"\\$"+ai,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[v]},_,{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"},k,{match:[/get|set/,/\s+/,ai,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},v]},{match:/\$[(.]/}]}}(e),r=["any","void","number","boolean","string","object","never","symbol","bigint","unknown"],i={begin:[/namespace/,/\s+/,e.IDENT_RE],beginScope:{1:"keyword",3:"title.class"}},a={beginKeywords:"interface",end:/\{/,excludeEnd:!0,keywords:{keyword:"interface extends",built_in:r},contains:[n.exports.CLASS_REFERENCE]},o={$pattern:ai,keyword:aa.concat(["type","interface","public","private","protected","implements","declare","abstract","readonly","enum","override","satisfies"]),literal:ao,built_in:ad.concat(r),"variable.language":au},l={className:"meta",begin:"@"+ai},s=(e,t,n)=>{let r=e.contains.findIndex(e=>e.label===t);if(-1===r)throw Error("can not find mode to replace");e.contains.splice(r,1,n)};Object.assign(n.keywords,o),n.exports.PARAMS_CONTAINS.push(l);let c=n.contains.find(e=>"attr"===e.scope),u=Object.assign({},c,{match:t.concat(ai,t.lookahead(/\s*\?:/))});return n.exports.PARAMS_CONTAINS.push([n.exports.CLASS_REFERENCE,c,u]),n.contains=n.contains.concat([l,i,a,u]),s(n,"shebang",e.SHEBANG()),s(n,"use_strict",{className:"meta",relevance:10,begin:/^\s*['"]use strict['"]/}),n.contains.find(e=>"func.def"===e.label).relevance=0,Object.assign(n,{name:"TypeScript",aliases:["ts","tsx","mts","cts"]}),n},vbnet:function(e){let t=e.regex,n=/\d{1,2}\/\d{1,2}\/\d{4}/,r=/\d{4}-\d{1,2}-\d{1,2}/,i=/(\d|1[012])(:\d+){0,2} *(AM|PM)/,a=/\d{1,2}(:\d{1,2}){1,2}/,o={className:"literal",variants:[{begin:t.concat(/# */,t.either(r,n),/ *#/)},{begin:t.concat(/# */,a,/ *#/)},{begin:t.concat(/# */,i,/ *#/)},{begin:t.concat(/# */,t.either(r,n),/ +/,t.either(i,a),/ *#/)}]},l=e.COMMENT(/'''/,/$/,{contains:[{className:"doctag",begin:/<\/?/,end:/>/}]}),s=e.COMMENT(null,/$/,{variants:[{begin:/'/},{begin:/([\t ]|^)REM(?=\s)/}]});return{name:"Visual Basic .NET",aliases:["vb"],case_insensitive:!0,classNameAliases:{label:"symbol"},keywords:{keyword:"addhandler alias aggregate ansi as async assembly auto binary by byref byval call case catch class compare const continue custom declare default delegate dim distinct do each equals else elseif end enum erase error event exit explicit finally for friend from function get global goto group handles if implements imports in inherits interface into iterator join key let lib loop me mid module mustinherit mustoverride mybase myclass namespace narrowing new next notinheritable notoverridable of off on operator option optional order overloads overridable overrides paramarray partial preserve private property protected public raiseevent readonly redim removehandler resume return select set shadows shared skip static step stop structure strict sub synclock take text then throw to try unicode until using when where while widening with withevents writeonly yield",built_in:"addressof and andalso await directcast gettype getxmlnamespace is isfalse isnot istrue like mod nameof new not or orelse trycast typeof xor cbool cbyte cchar cdate cdbl cdec cint clng cobj csbyte cshort csng cstr cuint culng cushort",type:"boolean byte char date decimal double integer long object sbyte short single string uinteger ulong ushort",literal:"true false nothing"},illegal:"//|\\{|\\}|endif|gosub|variant|wend|^\\$ ",contains:[{className:"string",begin:/"(""|[^/n])"C\b/},{className:"string",begin:/"/,end:/"/,illegal:/\n/,contains:[{begin:/""/}]},o,{className:"number",relevance:0,variants:[{begin:/\b\d[\d_]*((\.[\d_]+(E[+-]?[\d_]+)?)|(E[+-]?[\d_]+))[RFD@!#]?/},{begin:/\b\d[\d_]*((U?[SIL])|[%&])?/},{begin:/&H[\dA-F_]+((U?[SIL])|[%&])?/},{begin:/&O[0-7_]+((U?[SIL])|[%&])?/},{begin:/&B[01_]+((U?[SIL])|[%&])?/}]},{className:"label",begin:/^\w+:/},l,s,{className:"meta",begin:/[\t ]*#(const|disable|else|elseif|enable|end|externalsource|if|region)\b/,end:/$/,keywords:{keyword:"const disable else elseif enable end externalsource if region then"},contains:[s]}]}},wasm:function(e){e.regex;let t=e.COMMENT(/\(;/,/;\)/);return t.contains.push("self"),{name:"WebAssembly",keywords:{$pattern:/[\w.]+/,keyword:["anyfunc","block","br","br_if","br_table","call","call_indirect","data","drop","elem","else","end","export","func","global.get","global.set","local.get","local.set","local.tee","get_global","get_local","global","if","import","local","loop","memory","memory.grow","memory.size","module","mut","nop","offset","param","result","return","select","set_global","set_local","start","table","tee_local","then","type","unreachable"]},contains:[e.COMMENT(/;;/,/$/),t,{match:[/(?:offset|align)/,/\s*/,/=/],className:{1:"keyword",3:"operator"}},{className:"variable",begin:/\$[\w_]+/},{match:/(\((?!;)|\))+/,className:"punctuation",relevance:0},{begin:[/(?:func|call|call_indirect)/,/\s+/,/\$[^\s)]+/],className:{1:"keyword",3:"title.function"}},e.QUOTE_STRING_MODE,{match:/(i32|i64|f32|f64)(?!\.)/,className:"type"},{className:"keyword",match:/\b(f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|nearest|neg?|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|store(?:8|16|32)?|sqrt|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))\b/},{className:"number",relevance:0,match:/[+-]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[eE][+-]?\d(?:_?\d)*)?|0x[\da-fA-F](?:_?[\da-fA-F])*(?:\.[\da-fA-F](?:_?[\da-fA-D])*)?(?:[pP][+-]?\d(?:_?\d)*)?)\b|\binf\b|\bnan(?::0x[\da-fA-F](?:_?[\da-fA-D])*)?\b/}]}},xml:function(e){let t=e.regex,n=t.concat(/[\p{L}_]/u,t.optional(/[\p{L}0-9_.-]*:/u),/[\p{L}0-9_.-]*/u),r={className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},i={begin:/\s/,contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},a=e.inherit(i,{begin:/\(/,end:/\)/}),o=e.inherit(e.APOS_STRING_MODE,{className:"string"}),l=e.inherit(e.QUOTE_STRING_MODE,{className:"string"}),s={endsWithParent:!0,illegal:/</,relevance:0,contains:[{className:"attr",begin:/[\p{L}0-9._:-]+/u,relevance:0},{begin:/=\s*/,relevance:0,contains:[{className:"string",endsParent:!0,variants:[{begin:/"/,end:/"/,contains:[r]},{begin:/'/,end:/'/,contains:[r]},{begin:/[^\s"'=<>`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:!0,unicodeRegex:!0,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,relevance:10,contains:[i,l,o,a,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,contains:[i,a,l,o]}]}]},e.COMMENT(/<!--/,/-->/,{relevance:10}),{begin:/<!\[CDATA\[/,end:/\]\]>/,relevance:10},r,{className:"meta",end:/\?>/,variants:[{begin:/<\?xml/,relevance:10,contains:[l]},{begin:/<\?[a-z][a-z0-9]+/}]},{className:"tag",begin:/<style(?=\s|>)/,end:/>/,keywords:{name:"style"},contains:[s],starts:{end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:/<script(?=\s|>)/,end:/>/,keywords:{name:"script"},contains:[s],starts:{end:/<\/script>/,returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{className:"tag",begin:/<>|<\/>/},{className:"tag",begin:t.concat(/</,t.lookahead(t.concat(n,t.either(/\/>/,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name",begin:n,relevance:0,starts:s}]},{className:"tag",begin:t.concat(/<\//,t.lookahead(t.concat(n,/>/))),contains:[{className:"name",begin:n,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}},yaml:function(e){let t="true false yes no null",n="[\\w#;/?:@&=+$,.~*'()[\\]]+",r={className:"string",relevance:0,variants:[{begin:/"/,end:/"/},{begin:/\S+/}],contains:[e.BACKSLASH_ESCAPE,{className:"template-variable",variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]}]},i=e.inherit(r,{variants:[{begin:/'/,end:/'/,contains:[{begin:/''/,relevance:0}]},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),a={end:",",endsWithParent:!0,excludeEnd:!0,keywords:t,relevance:0},o=[{className:"attr",variants:[{begin:/[\w*@][\w*@ :()\./-]*:(?=[ \t]|$)/},{begin:/"[\w*@][\w*@ :()\./-]*":(?=[ \t]|$)/},{begin:/'[\w*@][\w*@ :()\./-]*':(?=[ \t]|$)/}]},{className:"meta",begin:"^---\\s*$",relevance:10},{className:"string",begin:"[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*"},{begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:"!\\w+!"+n},{className:"type",begin:"!<"+n+">"},{className:"type",begin:"!"+n},{className:"type",begin:"!!"+n},{className:"meta",begin:"&"+e.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+e.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)",relevance:0},e.HASH_COMMENT_MODE,{beginKeywords:t,keywords:{literal:t}},{className:"number",begin:"\\b[0-9]{4}(-[0-9][0-9]){0,2}([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?(\\.[0-9]*)?([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?\\b"},{className:"number",begin:e.C_NUMBER_RE+"\\b",relevance:0},{begin:/\{/,end:/\}/,contains:[a],illegal:"\\n",relevance:0},{begin:"\\[",end:"\\]",contains:[a],illegal:"\\n",relevance:0},{className:"string",relevance:0,begin:/'/,end:/'/,contains:[{match:/''/,scope:"char.escape",relevance:0}]},r],l=[...o];return l.pop(),l.push(i),a.contains=l,{name:"YAML",case_insensitive:!0,aliases:["yml"],contains:o}}};var ag=n(92825);let af={};class am{constructor(e){this.options=e,this.root={type:"root",children:[],data:{language:void 0,relevance:0}},this.stack=[this.root]}addText(e){if(""===e)return;let t=this.stack[this.stack.length-1],n=t.children[t.children.length-1];n&&"text"===n.type?n.value+=e:t.children.push({type:"text",value:e})}startScope(e){this.openNode(String(e))}endScope(){this.closeNode()}__addSublanguage(e,t){let n=this.stack[this.stack.length-1],r=e.root.children;t?n.children.push({type:"element",tagName:"span",properties:{className:[t]},children:r}):n.children.push(...r)}openNode(e){let t=this,n=e.split(".").map(function(e,n){return n?e+"_".repeat(n):t.options.classPrefix+e}),r=this.stack[this.stack.length-1],i={type:"element",tagName:"span",properties:{className:n},children:[]};r.children.push(i),this.stack.push(i)}closeNode(){this.stack.pop()}finalize(){}toHTML(){return""}}let ah={};function ab(e){let t=e||ah,n=t.aliases,r=t.detect||!1,i=t.languages||ap,a=t.plainText,o=t.prefix,l=t.subset,s="hljs",c=function(e){let t=ag.newInstance();return e&&i(e),{highlight:n,highlightAuto:function(e,i){let a;let o=(i||af).subset||r(),l=-1,s=0;for(;++l<o.length;){let r=o[l];if(!t.getLanguage(r))continue;let c=n(r,e,i);c.data&&void 0!==c.data.relevance&&c.data.relevance>s&&(s=c.data.relevance,a=c)}return a||{type:"root",children:[],data:{language:void 0,relevance:s}}},listLanguages:r,register:i,registerAlias:function(e,n){if("string"==typeof e)t.registerAliases("string"==typeof n?n:[...n],{languageName:e});else{let n;for(n in e)if(Object.hasOwn(e,n)){let r=e[n];t.registerAliases("string"==typeof r?r:[...r],{languageName:n})}}},registered:function(e){return!!t.getLanguage(e)}};function n(e,n,r){let i=r||af,a="string"==typeof i.prefix?i.prefix:"hljs-";if(!t.getLanguage(e))throw Error("Unknown language: `"+e+"` is not registered");t.configure({__emitter:am,classPrefix:a});let o=t.highlight(n,{ignoreIllegals:!0,language:e});if(o.errorRaised)throw Error("Could not highlight with `Highlight.js`",{cause:o.errorRaised});let l=o._emitter.root,s=l.data;return s.language=o.language,s.relevance=o.relevance,l}function r(){return t.listLanguages()}function i(e,n){if("string"==typeof e)t.registerLanguage(e,n);else{let n;for(n in e)Object.hasOwn(e,n)&&t.registerLanguage(n,e[n])}}}(i);if(n&&c.registerAlias(n),o){let e=o.indexOf("-");s=-1===e?o:o.slice(0,e)}return function(e,t){nl(e,"element",function(e,n,i){let u;if("code"!==e.tagName||!i||"element"!==i.type||"pre"!==i.tagName)return;let d=function(e){let t;let n=e.properties.className,r=-1;if(Array.isArray(n)){for(;++r<n.length;){let e=String(n[r]);if("no-highlight"===e||"nohighlight"===e)return!1;t||"lang-"!==e.slice(0,5)||(t=e.slice(5)),t||"language-"!==e.slice(0,9)||(t=e.slice(9))}return t}}(e);if(!1===d||!d&&!r||d&&a&&a.includes(d))return;Array.isArray(e.properties.className)||(e.properties.className=[]),e.properties.className.includes(s)||e.properties.className.unshift(s);let p=function(e,t){let n;let r="children"in e?e.children:[],i=il(e),a=ic(e,{whitespace:(t||{}).whitespace||"normal",breakBefore:!1,breakAfter:!1}),o=[];("text"===e.type||"comment"===e.type)&&o.push(...is(e,{whitespace:a,breakBefore:!0,breakAfter:!0}));let l=-1;for(;++l<r.length;)o.push(...function e(t,n,r){return"element"===t.type?function(t,n,r){let i,a;let o=ic(t,r),l=t.children||[],s=-1,c=[];if(io(t))return c;for(it(t)?a="\n":ia(t)&&r4(n,t,ia)?a="\n":ii(t)?(i=2,a=2):il(t)&&(i=1,a=1);++s<l.length;)c=c.concat(e(l[s],t,{whitespace:o,breakBefore:s?void 0:i,breakAfter:s<l.length-1?it(l[s+1]):a}));return ir(t)&&r4(n,t,ir)&&c.push(" "),i&&c.unshift(i),a&&c.push(a),c}(t,n,r):"text"===t.type?"normal"===r.whitespace?is(t,r):[String(t.value)]:[]}(r[l],e,{whitespace:a,breakBefore:l?void 0:i,breakAfter:l<r.length-1?it(r[l+1]):i}));let s=[];for(l=-1;++l<o.length;){let e=o[l];"number"==typeof e?void 0!==n&&e>n&&(n=e):e&&(void 0!==n&&n>-1&&s.push("\n".repeat(n)||" "),n=-1,s.push(e))}return s.join("")}(e,{whitespace:"pre"});try{u=d?c.highlight(d,p,{prefix:o}):c.highlightAuto(p,{prefix:o,subset:l})}catch(n){if(d&&/Unknown language/.test(n.message)){t.message("Cannot highlight as `"+d+"`, it’s not registered",{ancestors:[i,e],cause:n,place:e.position,ruleId:"missing-language",source:"rehype-highlight"});return}throw n}!d&&u.data&&u.data.language&&e.properties.className.push("language-"+u.data.language),u.children.length>0&&(e.children=u.children)})}}var ay=n(78397),ax=n(99905),av=n(42163),ak=n(12592),aw=n(92557);let a_=(0,d.A)("GitBranch",[["line",{x1:"6",x2:"6",y1:"3",y2:"15",key:"17qcm7"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["path",{d:"M18 9a9 9 0 0 1-9 9",key:"n2h4wq"}]]);var aE=n(73388),aN=n(86235);let aS=(0,d.A)("Wrench",[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z",key:"cbrjhi"}]]);var aC=n(44195);let aA=/(?:\/(?:Users|home|tmp|var|root)\S+|~\/\S+)\.(?:png|jpg|jpeg|gif|webp|svg|mp4|webm|mov)/gi,aM=new Set(["png","jpg","jpeg","gif","webp","svg"]),aO=new Set(["mp4","webm","mov"]);function aT(e){return`/api/file-serve?path=${encodeURIComponent(e)}`}function aD({message:e,agentName:t,agentAvatar:n,showTimestamp:r,onRetry:i,onFork:s,onSpeak:c}){let u=(0,l.useTranslations)("chat"),[d,p]=(0,o.useState)(!1),[g,f]=(0,o.useState)(!1),m="user"===e.role,y=(0,o.useMemo)(()=>!m&&e.content?function(e){let t=[...e.matchAll(aA)],n=new Set;return t.map(e=>e[0]).filter(e=>!n.has(e)&&(n.add(e),!0)).map(e=>{let t=e.split(".").pop()?.toLowerCase()??"";return{path:e,type:aM.has(t)?"image":aO.has(t)?"video":"image"}})}(e.content):[],[m,e.content]);return(0,a.jsxs)("div",{className:"px-3",children:[r&&(0,a.jsx)("div",{className:"flex justify-center my-2",children:(0,a.jsx)("span",{className:"text-[11px] text-gray-500 neo-card bg-white dark:bg-slate-800/50 dark:backdrop-blur-sm rounded-full px-3 py-1 dark:border-slate-700/50",children:function(e){let t=new Date,n=new Date(e),r=Math.floor((t.getTime()-n.getTime())/864e5),i=n.toLocaleTimeString("zh-CN",{hour:"2-digit",minute:"2-digit"});return 0===r?i:1===r?`昨天 ${i}`:r<7?`${["周日","周一","周二","周三","周四","周五","周六"][n.getDay()]} ${i}`:n.toLocaleDateString("zh-CN",{month:"numeric",day:"numeric"})+" "+i}(e.createdAt)})}),(0,a.jsxs)("div",{className:(0,aC.cn)("group flex items-end gap-2 mb-1",m?"flex-row-reverse":"flex-row"),children:[(0,a.jsx)("div",{className:(0,aC.cn)("flex h-9 w-9 shrink-0 items-center justify-center rounded-xl text-lg shadow-lg transition-all duration-200 border",m?"neo-card bg-gradient-to-br from-blue-500 to-indigo-500 dark:from-cyan-600 dark:to-blue-600 text-white text-sm font-bold border-blue-400/50 dark:border-cyan-500/50 group-hover:scale-110 group-hover:shadow-blue-500/30 dark:group-hover:shadow-cyan-500/50":"neo-card bg-white dark:bg-slate-800 text-xl border-gray-200 dark:border-slate-700 group-hover:scale-110 dark:group-hover:shadow-purple-500/30"),children:m?"我":n}),(0,a.jsxs)("div",{className:(0,aC.cn)("flex flex-col gap-1.5 max-w-[75%]",m?"items-end":"items-start"),children:[!m&&t&&(0,a.jsx)("span",{className:"text-xs text-gray-500 px-1",children:t}),!m&&e.thinking&&(0,a.jsxs)("button",{type:"button",onClick:()=>f(!g),className:"flex items-center gap-1.5 rounded-xl border neo-card border-purple-200 bg-purple-50 dark:border-purple-500/30 dark:bg-purple-900/20 dark:backdrop-blur-sm px-3 py-1.5 text-xs text-purple-700 dark:text-purple-300 hover:bg-purple-100 dark:hover:bg-purple-900/30 dark:hover:border-purple-500/50 transition-all duration-200 w-full text-left group/think hover:scale-[1.02]",children:[(0,a.jsx)(ay.A,{className:"h-3.5 w-3.5 shrink-0 transition-transform duration-200 group-hover/think:rotate-12"}),(0,a.jsx)("span",{className:"flex-1 font-medium",children:"思考过程"}),g?(0,a.jsx)(h.A,{className:"h-3 w-3"}):(0,a.jsx)(ax.A,{className:"h-3 w-3"})]}),g&&e.thinking&&(0,a.jsx)("div",{className:"rounded-xl border neo-card-inset border-purple-200 bg-purple-50/50 dark:border-purple-500/30 dark:bg-purple-900/10 dark:backdrop-blur-sm px-3 py-2 text-xs text-purple-800 dark:text-purple-200 w-full",children:(0,a.jsx)("div",{className:"prose prose-xs max-w-none dark:prose-invert whitespace-pre-wrap leading-relaxed font-mono",children:e.thinking})}),(0,a.jsxs)("div",{className:"relative",children:[m?(0,a.jsx)("span",{className:"absolute right-[-5px] bottom-3 w-0 h-0 border-t-[5px] border-t-transparent border-b-[5px] border-b-transparent border-l-[6px] border-l-blue-500 dark:border-l-cyan-600"}):(0,a.jsx)("span",{className:"absolute left-[-5px] bottom-3 w-0 h-0 border-t-[5px] border-t-transparent border-b-[5px] border-b-transparent border-r-[6px] border-r-white dark:border-r-slate-800"}),(0,a.jsxs)("div",{className:(0,aC.cn)("group/msg relative rounded-xl text-[14px] leading-[1.6] shadow-lg overflow-hidden transition-all duration-200 border backdrop-blur-sm",m?"bg-gradient-to-br from-blue-500 to-indigo-500 dark:from-cyan-600 dark:to-blue-600 text-white rounded-br-[3px] border-blue-400/50 dark:border-cyan-500/50 hover:shadow-blue-500/20 dark:hover:shadow-cyan-500/30":"neo-card bg-white dark:bg-slate-800/90 text-gray-800 dark:text-gray-100 rounded-bl-[3px] border-gray-200 dark:border-slate-700/50 dark:hover:border-slate-600"),children:[m&&e.images&&e.images.length>0&&(0,a.jsx)("div",{className:"flex flex-wrap gap-1.5 p-2 pb-0",children:e.images.map(e=>(0,a.jsx)("img",{src:e.previewUrl,alt:e.name,className:"h-32 max-w-[180px] object-cover rounded-md"},e.id))}),(0,a.jsx)("div",{className:"px-3.5 py-2.5",children:m?e.content?(0,a.jsx)("p",{className:"whitespace-pre-wrap break-words",children:e.content}):null:(0,a.jsx)("div",{className:(0,aC.cn)("prose prose-sm max-w-none break-words","prose-p:my-1 prose-headings:my-2 prose-ul:my-1 prose-ol:my-1","prose-code:bg-gray-100 dark:prose-code:bg-black/10 prose-code:rounded prose-code:px-1 prose-code:text-[13px]","prose-pre:bg-gray-100 dark:prose-pre:bg-black/30 prose-pre:rounded-md prose-pre:text-[13px]","dark:prose-invert"),children:(0,a.jsx)(nV,{remarkPlugins:[r5],rehypePlugins:[ab],children:e.content})})})]})]}),y.length>0&&(0,a.jsx)("div",{className:"w-full space-y-2 mt-1",children:y.map(({path:e,type:t})=>(0,a.jsx)("div",{className:"rounded-xl overflow-hidden border border-border/40 bg-black/5 dark:bg-white/5",children:"image"===t?(0,a.jsxs)("div",{className:"relative group/media",children:[(0,a.jsx)("img",{src:aT(e),alt:e.split("/").pop(),className:"w-full max-h-[480px] object-contain",loading:"lazy"}),(0,a.jsxs)("a",{href:aT(e),target:"_blank",rel:"noopener noreferrer",download:e.split("/").pop(),className:"absolute top-2 right-2 opacity-0 group-hover/media:opacity-100 transition-opacity bg-black/60 text-white rounded-lg px-2 py-1 text-xs flex items-center gap-1",children:[(0,a.jsx)(av.A,{className:"h-3 w-3"}),"打开原图"]}),(0,a.jsx)("p",{className:"px-2 py-1 text-[10px] text-muted-foreground font-mono truncate border-t border-border/30",children:e})]}):(0,a.jsxs)("div",{children:[(0,a.jsx)("video",{src:aT(e),controls:!0,className:"w-full max-h-[360px]",preload:"metadata"}),(0,a.jsx)("p",{className:"px-2 py-1 text-[10px] text-muted-foreground font-mono truncate border-t border-border/30",children:e})]})},e))}),e.toolCalls&&e.toolCalls.length>0&&(0,a.jsx)("div",{className:"w-full space-y-1",children:e.toolCalls.map(e=>(0,a.jsx)(aj,{toolCall:e},e.id))}),(0,a.jsxs)("div",{className:(0,aC.cn)("flex items-center gap-1 opacity-0 group-hover:opacity-100 transition-all duration-200",m?"self-end":"self-start"),children:[(0,a.jsxs)("button",{type:"button",onClick:()=>{navigator.clipboard.writeText(e.content),p(!0),setTimeout(()=>p(!1),2e3)},className:"flex items-center gap-1 text-[11px] neo-button text-gray-600 hover:text-blue-600 dark:text-gray-400 dark:hover:bg-cyan-500/20 dark:hover:text-cyan-400 px-2.5 py-1 rounded-lg border-transparent dark:hover:border-cyan-500/50 transition-all duration-200 hover:scale-105",children:[d?(0,a.jsx)(b.A,{className:"h-3 w-3"}):(0,a.jsx)(ak.A,{className:"h-3 w-3"}),u(d?"copied":"copyMessage")]}),!m&&i&&(0,a.jsxs)("button",{type:"button",onClick:()=>i(e),className:"flex items-center gap-1 text-[11px] neo-button text-gray-600 hover:text-purple-600 dark:text-gray-400 dark:hover:bg-purple-500/20 dark:hover:text-purple-400 px-2.5 py-1 rounded-lg border-transparent dark:hover:border-purple-500/50 transition-all duration-200 hover:scale-105",children:[(0,a.jsx)(aw.A,{className:"h-3 w-3 transition-transform duration-200 hover:rotate-180"}),"重试"]}),!m&&s&&(0,a.jsxs)("button",{type:"button",onClick:()=>s(e),className:"flex items-center gap-1 text-[11px] neo-button text-gray-600 hover:text-indigo-600 dark:text-gray-400 dark:hover:bg-blue-500/20 dark:hover:text-blue-400 px-2.5 py-1 rounded-lg border-transparent dark:hover:border-blue-500/50 transition-all duration-200 hover:scale-105",children:[(0,a.jsx)(a_,{className:"h-3 w-3"}),"分叉"]}),!m&&c&&(0,a.jsxs)("button",{type:"button",onClick:()=>c(e.content),className:"flex items-center gap-1 text-[11px] neo-button text-gray-600 hover:text-green-600 dark:text-gray-400 dark:hover:bg-green-500/20 dark:hover:text-green-400 px-2.5 py-1 rounded-lg border-transparent dark:hover:border-green-500/50 transition-all duration-200 hover:scale-105",children:[(0,a.jsx)(aE.A,{className:"h-3 w-3"}),"朗读"]})]})]})]})]})}function aI({agentAvatar:e}){return(0,a.jsx)("div",{className:"px-3",children:(0,a.jsxs)("div",{className:"flex items-end gap-2 mb-1",children:[(0,a.jsx)("div",{className:"flex h-9 w-9 shrink-0 items-center justify-center rounded-[6px] bg-white dark:bg-zinc-700 text-xl shadow-sm",children:e}),(0,a.jsxs)("div",{className:"relative",children:[(0,a.jsx)("span",{className:(0,aC.cn)("absolute left-[-5px] bottom-3 w-0 h-0 border-t-[5px] border-t-transparent border-b-[5px] border-b-transparent border-r-[6px] border-r-white dark:border-r-zinc-700")}),(0,a.jsx)("div",{className:"bg-white dark:bg-zinc-700 rounded-lg rounded-bl-[3px] px-4 py-3 shadow-sm",children:(0,a.jsx)("div",{className:"flex items-center gap-1.5",children:[0,1,2].map(e=>(0,a.jsx)("span",{className:"h-2 w-2 rounded-full bg-zinc-400 animate-bounce",style:{animationDelay:`${150*e}ms`}},e))})})]})]})})}function aj({toolCall:e}){let t=(0,l.useTranslations)("chat"),[n,r]=(0,o.useState)(!1),[i,s]=(0,o.useState)(null),[c,u]=(0,o.useState)(!1),d="bash"===e.name||"user_bash"===e.name,p=(()=>{if(!e.input)return null;if(d)return e.input;try{let t=JSON.parse(e.input);if("string"==typeof t)return t;return JSON.stringify(t,null,2)}catch{return e.input}})(),g=i??e.output,f=async()=>{if(e.fullOutputPath&&!c){u(!0);try{let t=await fetch(`/api/bash-output?path=${encodeURIComponent(e.fullOutputPath)}`),n=await t.json();s(n.output??n.error??"加载失败")}catch(e){s(`加载失败: ${String(e)}`)}finally{u(!1)}}};return(0,a.jsxs)("div",{className:(0,aC.cn)("rounded-lg border text-[12px] overflow-hidden w-full",d?"bg-gray-100 dark:bg-zinc-950 border-gray-300 dark:border-zinc-700":"bg-black/5 dark:bg-white/5"),children:[(0,a.jsxs)("button",{type:"button",onClick:()=>r(!n),className:(0,aC.cn)("flex w-full items-center gap-2 px-3 py-2 transition-colors text-left",d?"text-gray-700 hover:bg-gray-200 dark:text-zinc-300 dark:hover:bg-zinc-800":"hover:bg-black/5 dark:hover:bg-white/5"),children:[e.isLoading?(0,a.jsx)(aN.A,{className:"h-3 w-3 text-muted-foreground animate-spin shrink-0"}):d?(0,a.jsx)("span",{className:"text-[10px] font-bold text-zinc-500 shrink-0 font-mono",children:"$_"}):(0,a.jsx)(aS,{className:"h-3 w-3 text-muted-foreground shrink-0"}),d&&p?(0,a.jsx)("span",{className:"font-mono flex-1 text-left truncate text-zinc-200",children:p}):(0,a.jsx)("span",{className:"font-mono font-medium flex-1 text-left truncate",children:e.name}),!e.isLoading&&(0,a.jsx)("span",{className:(0,aC.cn)("text-xs shrink-0",e.isError?"text-red-400":"text-green-400"),children:e.isError?"✗":"✓"}),e.isLoading&&(0,a.jsx)("span",{className:"text-muted-foreground text-[11px] animate-pulse shrink-0",children:t("thinking")}),n?(0,a.jsx)(h.A,{className:"h-3 w-3 shrink-0 text-zinc-500"}):(0,a.jsx)(ax.A,{className:"h-3 w-3 shrink-0 text-zinc-500"})]}),n&&(0,a.jsxs)("div",{className:(0,aC.cn)("border-t space-y-0",d?"border-zinc-700":"border-border"),children:[!d&&p&&(0,a.jsxs)("div",{className:"px-3 py-2 border-b border-border",children:[(0,a.jsx)("p",{className:"text-muted-foreground mb-1 text-[11px] uppercase tracking-wide",children:t("toolCall")}),(0,a.jsx)("pre",{className:"whitespace-pre-wrap break-all text-[12px]",children:p})]}),void 0!==g&&(0,a.jsxs)("div",{className:(0,aC.cn)("px-3 py-2",d&&"bg-zinc-950"),children:[!d&&(0,a.jsx)("p",{className:"text-muted-foreground mb-1 text-[11px] uppercase tracking-wide",children:t("toolResult")}),(0,a.jsx)("pre",{className:(0,aC.cn)("whitespace-pre-wrap break-all text-[12px] max-h-64 overflow-auto leading-relaxed",d?"text-zinc-200 font-mono":"",e.isError?"text-red-400":""),children:g}),e.truncated&&e.fullOutputPath&&!i&&(0,a.jsxs)("button",{type:"button",onClick:f,disabled:c,className:"mt-2 flex items-center gap-1.5 text-[11px] text-zinc-400 hover:text-zinc-200 transition-colors disabled:opacity-50",children:[c?(0,a.jsx)(aN.A,{className:"h-3 w-3 animate-spin"}):(0,a.jsx)(h.A,{className:"h-3 w-3"}),c?"加载中…":"输出已截断,点击加载完整内容"]})]}),!g&&!e.isLoading&&(0,a.jsx)("div",{className:"px-3 py-2",children:(0,a.jsx)("span",{className:"text-[11px] text-zinc-500 italic",children:"(无输出)"})})]})]})}var aL=n(20169),aR=n(44269);let az=(0,d.A)("ImagePlus",[["path",{d:"M16 5h6",key:"1vod17"}],["path",{d:"M19 2v6",key:"4bpg5p"}],["path",{d:"M21 11.5V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7.5",key:"1ue2ih"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",key:"1xmnt7"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}]]);var aB=n(17803);let aP=(0,d.A)("VolumeX",[["path",{d:"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z",key:"uqj9uw"}],["line",{x1:"22",x2:"16",y1:"9",y2:"15",key:"1ewh16"}],["line",{x1:"16",x2:"22",y1:"9",y2:"15",key:"5ykzw1"}]]),aF=(0,d.A)("MicOff",[["line",{x1:"2",x2:"22",y1:"2",y2:"22",key:"a6p6uj"}],["path",{d:"M18.89 13.23A7.12 7.12 0 0 0 19 12v-2",key:"80xlxr"}],["path",{d:"M5 10v2a7 7 0 0 0 12 5",key:"p2k8kg"}],["path",{d:"M15 9.34V5a3 3 0 0 0-5.68-1.33",key:"1gzdoj"}],["path",{d:"M9 9v3a3 3 0 0 0 5.12 2.12",key:"r2i35w"}],["line",{x1:"12",x2:"12",y1:"19",y2:"22",key:"x3vr5v"}]]),aq=(0,d.A)("Mic",[["path",{d:"M12 2a3 3 0 0 0-3 3v7a3 3 0 0 0 6 0V5a3 3 0 0 0-3-3Z",key:"131961"}],["path",{d:"M19 10v2a7 7 0 0 1-14 0v-2",key:"1vc78b"}],["line",{x1:"12",x2:"12",y1:"19",y2:"22",key:"x3vr5v"}]]),aU=(0,d.A)("Send",[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]]),a$={normal:{label:"发送",color:"bg-blue-500 hover:bg-blue-600 dark:bg-cyan-600 dark:hover:bg-cyan-500",activeColor:"text-blue-600 dark:text-cyan-400",desc:"普通发送"},steer:{label:"引导",color:"bg-orange-500 hover:bg-orange-600 dark:bg-orange-600 dark:hover:bg-orange-500",activeColor:"text-orange-600 dark:text-orange-400",desc:"中断并引导当前生成"},followup:{label:"追加",color:"bg-indigo-500 hover:bg-indigo-600 dark:bg-purple-600 dark:hover:bg-purple-500",activeColor:"text-indigo-600 dark:text-purple-400",desc:"完成后追加"}};async function aH(e){return new Promise((t,n)=>{let r=new FileReader;r.onload=()=>{let n=r.result,i=n.split(",")[1];t({id:Math.random().toString(36).slice(2),data:i,mimeType:e.type||"image/jpeg",name:e.name,previewUrl:n})},r.onerror=n,r.readAsDataURL(e)})}function aG({onSend:e,disabled:t,voiceEnabled:n,voiceSpeed:r=1,agentLanguage:i="zh-CN",ttsProvider:s="browser",ttsModel:d,voiceId:p,pendingReply:g,onSpeakDone:f,installedSkills:b=[],onNewSession:y,onClearMessages:x,isStreaming:v,currentModel:k,onModelChange:w}){let _=(0,l.useTranslations)("chat"),[E,N]=(0,o.useState)(""),[S,C]=(0,o.useState)([]),[A,M]=(0,o.useState)("normal"),[O,T]=(0,o.useState)(!1),[D,I]=(0,o.useState)(!1),[j,L]=(0,o.useState)([]),[R,z]=(0,o.useState)(!1),[B,P]=(0,o.useState)(!1),[F,q]=(0,o.useState)(!1),[U,$]=(0,o.useState)(""),[H,G]=(0,o.useState)(0),[K,V]=(0,o.useState)([]),[Z,W]=(0,o.useState)(-1),[Q,X]=(0,o.useState)(""),[J,Y]=(0,o.useState)(!1),ee=(0,o.useRef)(null),et=(0,o.useRef)(null),en=(0,o.useRef)(null),er=(0,o.useRef)(null),ei=(0,o.useRef)(0),ea=(0,o.useCallback)(async e=>{let t=e.filter(e=>e.type.startsWith("image/")).slice(0,4);if(!t.length)return;let n=await Promise.all(t.map(aH));C(e=>[...e,...n].slice(0,4))},[]),eo=e=>C(t=>t.filter(t=>t.id!==e)),el=[{id:"new",label:"新建会话",description:"开始全新对话",icon:(0,a.jsx)(c.A,{className:"h-4 w-4 text-blue-500"}),category:"system",action:()=>{y?.(),N(""),q(!1)}},{id:"clear",label:"清空消息",description:"清空当前窗口消息",icon:(0,a.jsx)(u.A,{className:"h-4 w-4 text-red-500"}),category:"system",action:()=>{x?.(),N(""),q(!1)}},...b.map(e=>({id:`skill:${e.name}`,label:e.name,description:e.description||"执行此 Skill",icon:(0,a.jsx)(m,{className:"h-4 w-4 text-purple-500"}),category:"skill",insert:`/${e.name} `}))].filter(e=>!U||e.label.toLowerCase().includes(U.toLowerCase())||e.description.toLowerCase().includes(U.toLowerCase())),es=(0,o.useCallback)(e=>{if(e.action){e.action();return}e.insert&&(N(E.replace(/(?:^|\n)\/[^\s]*$/,t=>t.startsWith("\n")?"\n"+e.insert:e.insert??"")??""),q(!1),ee.current?.focus())},[E]),ec=()=>{if(!E.trim()&&!S.length||t)return;let n=E.trim();e(n,A,S.length?S:void 0),n&&V(e=>[n,...e.filter(e=>e!==n)].slice(0,50)),N(""),C([]),W(-1),q(!1),("steer"===A||"followup"===A)&&M("normal")},eu=el.reduce((e,t)=>(e[t.category]||(e[t.category]=[]),e[t.category].push(t),e),{}),ed={system:"系统命令",skill:"Skills"},ep=0,eg=a$[A],ef=(E.trim().length>0||S.length>0)&&!(t&&"normal"===A),em="steer"===A?"border-orange-400/60 dark:border-orange-700/60":"followup"===A?"border-blue-400/60 dark:border-blue-700/60":J?"border-[#57BE6B] border-dashed":"border-border";return(0,a.jsxs)("div",{className:"border-t bg-background px-3 py-2 relative",onDragEnter:e=>{e.preventDefault(),ei.current++,Array.from(e.dataTransfer.items).some(e=>e.type.startsWith("image/"))&&Y(!0)},onDragLeave:e=>{e.preventDefault(),ei.current--,ei.current<=0&&(ei.current=0,Y(!1))},onDragOver:e=>e.preventDefault(),onDrop:e=>{e.preventDefault(),ei.current=0,Y(!1),ea(Array.from(e.dataTransfer.files))},children:[(0,a.jsx)("input",{ref:et,type:"file",accept:"image/jpeg,image/png,image/gif,image/webp",multiple:!0,className:"hidden",onChange:e=>{e.target.files&&(ea(Array.from(e.target.files)),e.target.value="")}}),F&&(0,a.jsxs)("div",{ref:er,className:"absolute bottom-full left-3 right-3 mb-2 rounded-xl border bg-white dark:bg-zinc-800 shadow-2xl overflow-hidden z-50 max-h-64 overflow-y-auto",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 px-3 py-2 border-b bg-secondary/30",children:[(0,a.jsx)(aL.A,{className:"h-3.5 w-3.5 text-muted-foreground"}),(0,a.jsx)("span",{className:"text-xs text-muted-foreground",children:U?`/${U}`:"输入命令名称过滤…"}),(0,a.jsx)("span",{className:"ml-auto text-[10px] text-muted-foreground",children:"↑↓ \xb7 Enter \xb7 Esc"})]}),0===el.length?(0,a.jsx)("div",{className:"px-4 py-5 text-center text-sm text-muted-foreground",children:"没有匹配的命令"}):(0,a.jsx)("div",{className:"p-1",children:Object.entries(eu).map(([e,t])=>(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{className:"px-2 py-1 text-[10px] font-semibold text-muted-foreground uppercase tracking-wider",children:ed[e]??e}),t.map(e=>{let t=ep++,n=t===H;return(0,a.jsxs)("button",{type:"button","data-idx":t,onClick:()=>es(e),onMouseEnter:()=>G(t),className:(0,aC.cn)("w-full flex items-center gap-3 rounded-lg px-3 py-2.5 text-left transition-colors",n?"bg-secondary":"hover:bg-secondary/50"),children:[(0,a.jsx)("div",{className:"h-7 w-7 rounded-lg bg-secondary flex items-center justify-center shrink-0",children:e.icon}),(0,a.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("span",{className:"text-sm font-medium",children:e.label}),(0,a.jsxs)("code",{className:"text-[10px] text-muted-foreground font-mono bg-secondary px-1.5 py-0.5 rounded",children:["/",e.id.replace("skill:","")]})]}),(0,a.jsx)("p",{className:"text-xs text-muted-foreground truncate mt-0.5",children:e.description})]})]},e.id)})]},e))})]}),(0,a.jsxs)("div",{className:(0,aC.cn)("rounded-xl border transition-colors",em,"steer"===A?"bg-orange-50/40 dark:bg-orange-900/10":"followup"===A?"bg-blue-50/40 dark:bg-blue-900/10":"bg-background"),children:[S.length>0&&(0,a.jsxs)("div",{className:"flex gap-2 p-2 flex-wrap border-b border-border/60 rounded-t-xl overflow-hidden",children:[S.map(e=>(0,a.jsxs)("div",{className:"relative group/img",children:[(0,a.jsx)("img",{src:e.previewUrl,alt:e.name,className:"h-16 w-16 object-cover rounded-lg border border-border/60"}),(0,a.jsx)("button",{type:"button",onClick:()=>eo(e.id),className:"absolute -top-1.5 -right-1.5 h-5 w-5 rounded-full bg-zinc-800 dark:bg-zinc-600 text-white flex items-center justify-center opacity-0 group-hover/img:opacity-100 transition-opacity shadow",children:(0,a.jsx)(aR.A,{className:"h-3 w-3"})})]},e.id)),S.length<4&&(0,a.jsx)("button",{type:"button",onClick:()=>et.current?.click(),className:"h-16 w-16 rounded-lg border-2 border-dashed border-border/60 flex items-center justify-center text-muted-foreground hover:border-[#57BE6B] hover:text-[#57BE6B] transition-colors",children:(0,a.jsx)(az,{className:"h-5 w-5"})})]}),(0,a.jsx)("textarea",{ref:ee,value:E,onChange:e=>{let t=e.target.value;if(N(t),W(-1),"/"===t||/(?:^|\n)\/$/.test(t))$(""),G(0),q(!0);else if(F){let e=t.match(/(?:^|\n)\/([^\s]*)$/);e?($(e[1]),G(0)):q(!1)}},onKeyDown:e=>{if(F){"ArrowDown"===e.key?(e.preventDefault(),G(e=>Math.min(e+1,el.length-1))):"ArrowUp"===e.key?(e.preventDefault(),G(e=>Math.max(e-1,0))):"Enter"!==e.key||e.shiftKey?"Escape"===e.key&&q(!1):(e.preventDefault(),el[H]&&es(el[H]));return}if("Enter"===e.key&&!e.shiftKey){e.preventDefault(),ec();return}if("ArrowUp"===e.key&&!E.trim()){e.preventDefault();let t=Math.min(Z+1,K.length-1);t>=0&&K[t]&&(-1===Z&&X(E),N(K[t]),W(t))}if("ArrowDown"===e.key&&Z>=0){e.preventDefault();let t=Z-1;t<0?(N(Q),W(-1)):(N(K[t]),W(t))}},onPaste:e=>{let t=Array.from(e.clipboardData.items).filter(e=>e.type.startsWith("image/")).map(e=>e.getAsFile()).filter(Boolean);t.length&&(e.preventDefault(),ea(t))},onBlur:()=>setTimeout(()=>q(!1),150),placeholder:"steer"===A?"引导生成方向(将中断当前输出)…":"followup"===A?"追加消息(当前完成后发送)…":`${_("inputPlaceholder")} ( / 唤出命令 \xb7 粘贴/拖拽图片 )`,rows:1,disabled:t&&"normal"===A,className:"w-full resize-none bg-transparent text-sm outline-none placeholder:text-muted-foreground disabled:opacity-50 px-3 pt-2.5 pb-1 max-h-[150px]"}),(0,a.jsxs)("div",{className:"flex items-center gap-1 px-2 py-1.5",children:[(0,a.jsx)("button",{type:"button",onClick:()=>et.current?.click(),title:`上传图片(最多 4 张,支持拖拽/粘贴)`,disabled:S.length>=4,className:"flex items-center justify-center h-7 w-7 rounded-lg text-muted-foreground hover:bg-secondary/60 hover:text-foreground transition-colors disabled:opacity-30 disabled:cursor-not-allowed",children:(0,a.jsx)(az,{className:"h-4 w-4"})}),w&&(0,a.jsxs)("div",{className:"relative",children:[(0,a.jsxs)("button",{type:"button",onClick:()=>{I(!D),T(!1)},title:k?`当前模型:${k.provider}/${k.modelId}`:"切换模型",className:(0,aC.cn)("flex items-center gap-1 h-7 px-2 rounded-lg text-xs transition-colors hover:bg-secondary/60",k?"text-muted-foreground hover:text-foreground":"text-muted-foreground"),children:[(0,a.jsx)(aB.A,{className:"h-3.5 w-3.5 shrink-0"}),k&&(0,a.jsx)("span",{className:"font-mono max-w-[80px] truncate",children:k.modelId.split("-").slice(-2).join("-")}),(0,a.jsx)(h.A,{className:"h-3 w-3 opacity-50 shrink-0"})]}),D&&(0,a.jsxs)("div",{className:"absolute bottom-full left-0 mb-1 w-72 rounded-xl border bg-white dark:bg-zinc-800 shadow-xl z-50 overflow-hidden",children:[(0,a.jsx)("div",{className:"px-3 py-2 border-b text-xs text-muted-foreground font-medium bg-secondary/30",children:"切换模型(本次会话有效)"}),(0,a.jsx)("div",{className:"max-h-72 overflow-y-auto",children:0===j.length?(0,a.jsx)("div",{className:"px-4 py-6 text-center text-sm text-muted-foreground",children:"加载中…"}):j.map(e=>(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{className:"px-3 py-1.5 text-[10px] font-semibold text-muted-foreground uppercase tracking-wider bg-secondary/20 sticky top-0",children:e.name}),e.models.map(e=>{let t=k?.provider===e.providerId&&k?.modelId===e.id;return(0,a.jsx)("button",{type:"button",onClick:()=>{w(e.providerId,e.id),I(!1)},className:(0,aC.cn)("w-full flex items-start gap-2.5 px-3 py-2 text-left transition-colors hover:bg-secondary/50",t&&"bg-[#57BE6B]/10 dark:bg-[#57BE6B]/15"),children:(0,a.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("span",{className:(0,aC.cn)("text-sm font-medium truncate",t&&"text-[#57BE6B]"),children:e.name}),t&&(0,a.jsx)("span",{className:"text-[10px] text-[#57BE6B] font-medium shrink-0",children:"当前"})]}),(0,a.jsxs)("div",{className:"flex items-center gap-2 mt-0.5",children:[(0,a.jsxs)("span",{className:"text-[10px] text-muted-foreground font-mono",children:[Math.round(e.contextWindow/1e3),"K ctx"]}),e.supportsThinking&&(0,a.jsx)("span",{className:"text-[10px] text-purple-500",children:"\uD83E\uDDE0 thinking"}),e.inputTypes.includes("image")&&(0,a.jsx)("span",{className:"text-[10px] text-blue-500",children:"\uD83D\uDDBC vision"}),e.costInput&&(0,a.jsxs)("span",{className:"text-[10px] text-muted-foreground ml-auto shrink-0",children:["$",e.costInput,"/M"]})]})]})},e.id)})]},e.id))})]})]}),n&&(B?(0,a.jsx)("button",{type:"button",onClick:()=>{window.speechSynthesis?.cancel(),P(!1),f?.()},title:"停止朗读",className:"flex items-center justify-center h-7 w-7 rounded-lg text-primary hover:bg-secondary/60 transition-colors",children:(0,a.jsx)(aP,{className:"h-4 w-4"})}):(0,a.jsx)("button",{type:"button",onClick:()=>{if(R){en.current?.stop(),z(!1);return}let e=window,t=e.SpeechRecognition??e.webkitSpeechRecognition;if(!t)return;let n=new t;n.lang=i,n.continuous=!1,n.interimResults=!1,n.onresult=e=>N(t=>t+(t?" ":"")+e.results[0][0].transcript),n.onend=()=>z(!1),n.onerror=()=>z(!1),n.start(),en.current=n,z(!0)},title:R?"停止录音":"语音输入",className:(0,aC.cn)("flex items-center justify-center h-7 w-7 rounded-lg transition-colors hover:bg-secondary/60",R?"text-destructive animate-pulse":"text-muted-foreground hover:text-foreground"),children:R?(0,a.jsx)(aF,{className:"h-4 w-4"}):(0,a.jsx)(aq,{className:"h-4 w-4"})})),(0,a.jsx)("div",{className:"flex-1"}),(0,a.jsxs)("div",{className:"relative",children:[(0,a.jsxs)("button",{type:"button",onClick:()=>T(!O),className:(0,aC.cn)("flex items-center gap-1 rounded-lg px-2 py-1 text-xs font-medium transition-colors hover:bg-secondary/60",eg.activeColor),children:[eg.label,(0,a.jsx)(h.A,{className:"h-3 w-3 opacity-60"})]}),O&&(0,a.jsx)("div",{className:"absolute bottom-full right-0 mb-1 min-w-[160px] rounded-xl border bg-white dark:bg-zinc-800 shadow-xl z-50 p-1 space-y-0.5",children:Object.entries(a$).map(([e,t])=>(0,a.jsxs)("button",{type:"button",onClick:()=>{M(e),T(!1)},className:(0,aC.cn)("w-full text-left rounded-lg px-3 py-2 text-sm transition-colors",A===e?"bg-secondary":"hover:bg-secondary/50"),children:[(0,a.jsx)("div",{className:(0,aC.cn)("font-medium",a$[e].activeColor),children:t.label}),(0,a.jsx)("div",{className:"text-[11px] text-muted-foreground",children:t.desc})]},e))})]}),(0,a.jsx)("button",{type:"button",onClick:ec,disabled:!ef,title:"发送(Enter)",className:(0,aC.cn)("flex items-center justify-center h-7 w-7 rounded-lg text-white transition-colors disabled:opacity-40 disabled:cursor-not-allowed",eg.color),children:(0,a.jsx)(aU,{className:"h-3.5 w-3.5"})})]})]}),J&&(0,a.jsxs)("div",{className:"absolute inset-0 m-1 rounded-xl border-2 border-dashed border-[#57BE6B] bg-[#57BE6B]/5 flex flex-col items-center justify-center gap-1 pointer-events-none",children:[(0,a.jsx)(az,{className:"h-6 w-6 text-[#57BE6B]"}),(0,a.jsx)("p",{className:"text-sm font-medium text-[#57BE6B]",children:"松开鼠标上传图片"})]})]})}var aK=n(37637),aV=n(55511);let aZ={randomUUID:aV.randomUUID},aW=new Uint8Array(256),aQ=aW.length,aX=[];for(let e=0;e<256;++e)aX.push((e+256).toString(16).slice(1));let aJ=function(e,t,n){if(aZ.randomUUID&&!t&&!e)return aZ.randomUUID();let r=(e=e||{}).random??e.rng?.()??(aQ>aW.length-16&&((0,aV.randomFillSync)(aW),aQ=0),aW.slice(aQ,aQ+=16));if(r.length<16)throw Error("Random bytes length must be >= 16");if(r[6]=15&r[6]|64,r[8]=63&r[8]|128,t){if((n=n||0)<0||n+16>t.length)throw RangeError(`UUID byte range ${n}:${n+15} is out of buffer bounds`);for(let e=0;e<16;++e)t[n+e]=r[e];return t}return function(e,t=0){return(aX[e[t+0]]+aX[e[t+1]]+aX[e[t+2]]+aX[e[t+3]]+"-"+aX[e[t+4]]+aX[e[t+5]]+"-"+aX[e[t+6]]+aX[e[t+7]]+"-"+aX[e[t+8]]+aX[e[t+9]]+"-"+aX[e[t+10]]+aX[e[t+11]]+aX[e[t+12]]+aX[e[t+13]]+aX[e[t+14]]+aX[e[t+15]]).toLowerCase()}(r)};var aY=n(54716);function a0({params:e}){let t=(0,l.useTranslations)("chat"),n=(0,l.useLocale)(),[r,i]=(0,o.useState)(""),[d,y]=(0,o.useState)(null),[x,v]=(0,o.useState)([]),[k,w]=(0,o.useState)([]),[_,E]=(0,o.useState)(),[N,S]=(0,o.useState)(!1),[C,A]=(0,o.useState)(!1),[M,O]=(0,o.useState)(!1),[T,D]=(0,o.useState)(),[I,j]=(0,o.useState)(!1),[L,R]=(0,o.useState)(null),[z,B]=(0,o.useState)(!1),[P,F]=(0,o.useState)(!1),[q,U]=(0,o.useState)(null),[$,H]=(0,o.useState)(null),[G,K]=(0,o.useState)([]),[V,Z]=(0,o.useState)(null),W=(0,o.useRef)(null),Q=(0,o.useRef)(null),X=(0,o.useRef)(null),J=(0,o.useRef)(null),Y=(0,o.useRef)(d),ee=(0,o.useRef)(r),et=(0,o.useRef)(_),en=(0,o.useRef)($),er=(0,o.useRef)(V),ei=(0,o.useCallback)(()=>{let e=Q.current;e&&B(e.scrollHeight-e.scrollTop-e.clientHeight>120)},[]),ea=$??d?.enabledSkills??[],eo=(0,o.useCallback)(()=>{X.current?.abort(),X.current=null,S(!1)},[]),el=(0,o.useCallback)(async(e,t)=>{let n=Y.current,r=ee.current;if(!n||!r)return;let i={id:aJ(),role:"user",content:e,images:t,createdAt:new Date};v(e=>[...e,i]),S(!0);let a=aJ();v(e=>[...e,{id:a,role:"assistant",content:"",toolCalls:[],createdAt:new Date}]);let o=new Map,l=new AbortController;X.current=l;try{let n=await fetch(`/api/chat/${r}`,{method:"POST",headers:{"Content-Type":"application/json"},signal:l.signal,body:JSON.stringify({message:e,sessionFile:et.current,overrideSkills:en.current??void 0,overrideProvider:er.current?.provider,overrideModelId:er.current?.modelId,images:t?.map(e=>({data:e.data,mimeType:e.mimeType}))})});if(!n.ok||!n.body)throw Error(`HTTP ${n.status}`);let i=n.body.getReader(),s=new TextDecoder,c="";for(;;){let{done:t,value:n}=await i.read();if(t)break;let r=(c+=s.decode(n,{stream:!0})).split("\n");for(let t of(c=r.pop()??"",r))if(t.startsWith("data: "))try{let n=JSON.parse(t.slice(6));(function(e,t,n,r,i){switch(e.type){case"message_update":v(n=>n.map(n=>n.id===t?{...n,content:n.content+e.delta}:n));break;case"thinking_delta":v(n=>n.map(n=>n.id===t?{...n,thinking:(n.thinking??"")+e.delta}:n));break;case"tool_start":{let r={id:e.toolCallId,name:e.toolName,isLoading:!0};n.set(e.toolCallId,r),v(e=>e.map(e=>e.id===t?{...e,toolCalls:[...e.toolCalls??[],r]}:e));break}case"tool_update":{let r=n.get(e.toolCallId);if(r){let i={...r,input:e.content};n.set(e.toolCallId,i),v(n=>n.map(n=>n.id===t?{...n,toolCalls:n.toolCalls?.map(t=>t.id===e.toolCallId?i:t)}:n))}break}case"tool_end":{let r=n.get(e.toolCallId);if(r){let i={...r,isLoading:!1,isError:e.isError,output:e.output,fullOutputPath:e.fullOutputPath,truncated:e.truncated};n.set(e.toolCallId,i),v(n=>n.map(n=>n.id===t?{...n,toolCalls:n.toolCalls?.map(t=>t.id===e.toolCallId?i:t)}:n))}break}case"compaction_start":j(!0);break;case"compaction_end":j(!1);break;case"error":(0,aY.oR)({title:"对话出错",description:e.message,variant:"destructive"}),v(n=>n.map(n=>n.id!==t||n.content?n:{...n,content:`⚠️ ${e.message}`}));break;case"aborted":case"done":S(!1);break;case"session_file":{let t=e.path;E(t);let n=r.slice(0,60)||"新对话";w(e=>e.find(e=>e.session_file===t)?e:[{id:aJ(),title:n,session_file:t,created_at:Date.now()},...e]);break}case"session_stats":R(e.stats)}})(n,a,o,e,0)}catch{}}}catch(t){if("AbortError"===t.name)return;let e=String(t);v(t=>t.map(t=>t.id===a?{...t,content:`⚠️ ${e}`}:t)),(0,aY.oR)({title:"发送失败",description:e,variant:"destructive"})}finally{X.current=null,S(!1)}},[]),es=(0,o.useCallback)((e,t="normal",n)=>{if("steer"===t){N?(J.current=e,eo()):el(e,n);return}if("followup"===t){N?(U(e),(0,aY.oR)({title:"消息已排队",description:"当前回复完成后自动发送"})):el(e,n);return}N||el(e,n)},[N,el,eo]),ec=()=>{E(void 0),v([]),H(null),R(null),Z(null)},eu=async e=>{E(e),v([]),A(!1),R(null);try{let{messages:t}=await fetch("/api/sessions/history",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sessionFile:e})}).then(e=>e.json());v(t.map(e=>({id:e.id,role:e.role,content:e.content,thinking:e.thinking,toolCalls:e.toolCalls??[],createdAt:new Date(e.createdAt)})))}catch(e){(0,aY.oR)({title:"加载历史失败",description:String(e),variant:"destructive"})}},ed=(0,o.useCallback)(e=>{if(N)return;let t=x.findIndex(t=>t.id===e.id);for(let e=t-1;e>=0;e--)if("user"===x[e].role){v(t=>t.slice(0,e+1)),el(x[e].content);return}},[x,N,el]),ep=(0,o.useCallback)(e=>{let t=x.findIndex(t=>t.id===e.id);E(void 0),v(t>=0?x.slice(0,t):[]),H(null),R(null),(0,aY.oR)({title:"会话已分叉",description:"从所选消息之前创建了新分支",variant:"success"})},[x]),eg=async(e,t,n)=>{e.stopPropagation(),await fetch(`/api/sessions/${r}/${t}`,{method:"DELETE"}),w(e=>e.filter(e=>e.id!==t)),_===n&&(E(void 0),v([]))},ef=async()=>{if(!P){F(!0),setTimeout(()=>F(!1),3e3);return}await fetch(`/api/sessions/${r}`,{method:"DELETE"}),w([]),E(void 0),v([]),F(!1)},em=e=>{let t=$??d?.enabledSkills??[];H(t.includes(e)?t.filter(t=>t!==e):[...t,e])};if(!d)return(0,a.jsx)("div",{className:"flex h-full items-center justify-center text-muted-foreground",children:"Loading…"});let eh=e=>0===e||new Date(x[e].createdAt).getTime()-new Date(x[e-1].createdAt).getTime()>3e5,eb=L?.contextUsage?.percent??0,ey=eb>80?"bg-red-500":eb>60?"bg-yellow-500":"bg-[#57BE6B]";return(0,a.jsxs)("div",{className:"flex h-full bg-gradient-to-br from-gray-50 to-gray-100 dark:from-slate-900 dark:via-purple-900/10 dark:to-slate-900",children:[(0,a.jsxs)("div",{className:(0,aC.cn)("shrink-0 transition-all duration-300 overflow-hidden","bg-[hsl(var(--neo-bg))] backdrop-blur-xl border-r border-gray-200 dark:bg-slate-900/95 dark:backdrop-blur-2xl dark:border-slate-700/50",C?"w-[280px]":"w-0"),children:[(0,a.jsxs)("div",{className:"p-4 space-y-3",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,a.jsx)("span",{className:"text-[14px] font-bold text-gray-800 dark:text-white",children:"会话历史"}),(0,a.jsx)("button",{onClick:()=>A(!1),className:"h-8 w-8 rounded-xl neo-button hover:text-blue-600 dark:hover:bg-cyan-500/20 dark:border-transparent dark:hover:border-cyan-500/50 flex items-center justify-center transition-all duration-200 hover:scale-110",title:"关闭侧边栏",children:(0,a.jsx)(s.A,{className:"h-4 w-4 text-gray-500 dark:text-gray-400 dark:group-hover:text-cyan-400 transition-colors"})})]}),(0,a.jsxs)("button",{onClick:ec,className:"group w-full h-10 rounded-xl neo-button bg-gradient-to-r from-blue-500 to-indigo-500 hover:from-blue-600 hover:to-indigo-600 dark:from-cyan-600 dark:to-blue-600 dark:hover:from-cyan-500 dark:hover:to-blue-500 text-white text-[13px] font-semibold shadow-lg hover:shadow-blue-500/30 dark:hover:shadow-cyan-500/50 transition-all duration-200 hover:scale-[1.02] hover:-translate-y-0.5 flex items-center justify-center gap-2",children:[(0,a.jsx)(c.A,{className:"h-4 w-4 transition-transform duration-200 group-hover:rotate-90"}),(0,a.jsx)("span",{children:t("newSession")})]}),k.length>0&&(0,a.jsxs)("button",{onClick:ef,className:(0,aC.cn)("w-full h-8 rounded-xl text-[12px] font-medium transition-all duration-200 flex items-center justify-center gap-2 border hover:scale-[1.02]",P?"bg-red-100 text-red-600 border-red-300 hover:bg-red-200 dark:bg-red-500/20 dark:text-red-400 dark:border-red-500/50 dark:hover:bg-red-500/30":"neo-button text-gray-600 hover:text-red-600 dark:hover:bg-slate-800 dark:text-gray-400 dark:hover:text-red-400 border-transparent dark:hover:border-red-500/30"),children:[(0,a.jsx)(u.A,{className:"h-3.5 w-3.5 transition-transform duration-200 hover:rotate-12"}),(0,a.jsx)("span",{children:P?"再次点击确认清空":"清空全部历史"})]})]}),(0,a.jsx)(aK.F,{className:"h-[calc(100vh-10rem)]",children:(0,a.jsx)("div",{className:"px-3 pb-3 space-y-2",children:0===k.length?(0,a.jsxs)("div",{className:"text-center py-12",children:[(0,a.jsx)("div",{className:"w-16 h-16 mx-auto mb-4 rounded-2xl neo-card bg-white dark:bg-slate-800 border-gray-200 dark:border-slate-700 flex items-center justify-center",children:(0,a.jsx)(p,{className:"h-7 w-7 text-gray-400 dark:text-slate-500"})}),(0,a.jsx)("p",{className:"text-[13px] text-gray-500",children:t("noSessions")})]}):k.map(e=>(0,a.jsxs)("div",{className:"relative group",children:[(0,a.jsxs)("button",{type:"button",onClick:()=>eu(e.session_file),className:(0,aC.cn)("w-full text-left px-3 py-3 rounded-xl transition-all duration-200 border hover:scale-[1.02] hover:-translate-y-0.5",e.session_file===_?"neo-card-inset bg-blue-50 text-blue-700 border-blue-200 dark:bg-gradient-to-r dark:from-cyan-600/20 dark:to-blue-600/20 dark:border-cyan-500/50 dark:shadow-lg dark:shadow-cyan-500/20":"neo-button text-gray-700 dark:border-slate-700/50 dark:hover:border-cyan-500/30 dark:hover:bg-slate-800/50"),children:[e.session_file===_&&(0,a.jsx)("div",{className:"absolute left-0 top-1/2 -translate-y-1/2 w-1 h-8 bg-gradient-to-b from-blue-500 to-indigo-500 dark:from-cyan-400 dark:to-blue-500 rounded-r-full shadow-lg dark:shadow-cyan-500/50"}),(0,a.jsx)("p",{className:(0,aC.cn)("text-[13px] truncate leading-snug transition-colors",e.session_file===_?"font-bold text-cyan-400":"font-medium text-gray-300 group-hover:text-white"),children:e.title}),(0,a.jsxs)("p",{className:"text-[11px] text-gray-500 mt-1 flex items-center gap-1.5 group-hover:text-gray-400 transition-colors",children:[(0,a.jsx)("span",{className:"w-1 h-1 rounded-full bg-cyan-500"}),new Date(e.created_at).toLocaleDateString(n)]})]}),(0,a.jsx)("button",{type:"button",onClick:t=>eg(t,e.id,e.session_file),className:"absolute right-2 top-1/2 -translate-y-1/2 opacity-0 group-hover:opacity-100 h-7 w-7 rounded-lg hover:bg-red-500/20 text-gray-500 hover:text-red-400 flex items-center justify-center transition-all duration-200 border border-transparent hover:border-red-500/50 hover:scale-110",children:(0,a.jsx)(u.A,{className:"h-3.5 w-3.5"})})]},e.id))})})]}),(0,a.jsxs)("div",{className:"flex flex-1 flex-col min-w-0",children:[(0,a.jsxs)("div",{className:"flex items-center h-[56px] px-4 shrink-0 glass-effect border-b border-purple-500/20",children:[(0,a.jsx)("button",{onClick:()=>{A(!0),O(!1)},className:"h-9 w-9 rounded-lg hover:bg-white/10 flex items-center justify-center transition-all hover:scale-110 border border-transparent hover:border-purple-500/30",title:"打开历史记录",children:(0,a.jsx)(p,{className:"h-4 w-4 text-cyan-400"})}),(0,a.jsxs)("div",{className:"flex-1 flex items-center justify-center gap-3",children:[(0,a.jsx)("div",{className:"h-10 w-10 rounded-xl bg-gradient-to-br from-purple-600/30 to-cyan-500/30 flex items-center justify-center text-2xl shadow-lg neon-glow-purple border border-purple-500/30",children:d.avatar}),(0,a.jsx)("span",{className:"text-[16px] font-bold bg-gradient-to-r from-cyan-400 to-purple-400 bg-clip-text text-transparent",children:d.name})]}),(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[I&&(0,a.jsxs)("div",{className:"flex items-center gap-2 px-3 py-1.5 rounded-full glass-effect border border-cyan-500/30",children:[(0,a.jsx)("div",{className:"w-2 h-2 rounded-full bg-cyan-400 animate-pulse neon-glow"}),(0,a.jsx)("span",{className:"text-[11px] font-semibold text-cyan-400",children:"压缩中"})]}),L?.contextUsage&&(0,a.jsxs)("div",{className:"flex items-center gap-2 px-3 py-1.5 rounded-full glass-effect border border-purple-500/30",title:`Context: ${eb}%`,children:[(0,a.jsx)("div",{className:"h-1.5 w-16 rounded-full bg-white/10 overflow-hidden",children:(0,a.jsx)("div",{className:(0,aC.cn)("h-full rounded-full transition-all duration-500",ey),style:{width:`${eb}%`}})}),(0,a.jsxs)("span",{className:"text-[11px] font-semibold text-gray-300",children:[eb,"%"]})]}),N&&(0,a.jsx)("button",{onClick:eo,className:"h-9 w-9 rounded-lg hover:bg-red-500/20 text-red-400 flex items-center justify-center transition-all hover:scale-110 border border-transparent hover:border-red-500/50",title:"停止生成",children:(0,a.jsx)(g,{className:"h-4 w-4 fill-current"})}),(0,a.jsx)("button",{onClick:()=>{O(!M),A(!1)},className:(0,aC.cn)("h-9 w-9 rounded-lg flex items-center justify-center transition-all hover:scale-110 border",M?"bg-purple-500/20 text-purple-400 border-purple-500/50 neon-glow-purple":"hover:bg-white/10 text-gray-400 border-transparent hover:border-purple-500/30"),title:"数字人信息 & Skills",children:(0,a.jsx)(f.A,{className:"h-4 w-4"})})]})]}),L&&(0,a.jsxs)("div",{className:"flex items-center justify-center gap-3 px-4 py-2 glass-effect border-b border-purple-500/20 text-[11px] shrink-0",children:[(0,a.jsxs)("div",{className:"flex items-center gap-1.5 px-2.5 py-1 rounded-lg bg-cyan-500/10 border border-cyan-500/30",children:[(0,a.jsx)("span",{className:"text-cyan-400 font-semibold",children:"↑"}),(0,a.jsx)("span",{className:"font-bold text-cyan-300",children:L.tokens.input.toLocaleString()})]}),(0,a.jsxs)("div",{className:"flex items-center gap-1.5 px-2.5 py-1 rounded-lg bg-purple-500/10 border border-purple-500/30",children:[(0,a.jsx)("span",{className:"text-purple-400 font-semibold",children:"↓"}),(0,a.jsx)("span",{className:"font-bold text-purple-300",children:L.tokens.output.toLocaleString()})]}),L.cost>0&&(0,a.jsx)("div",{className:"flex items-center gap-1.5 px-2.5 py-1 rounded-lg bg-green-500/10 border border-green-500/30",children:(0,a.jsxs)("span",{className:"font-bold text-green-300",children:["≈ $",L.cost.toFixed(4)]})}),L.contextUsage&&(0,a.jsx)("div",{className:(0,aC.cn)("flex items-center gap-1.5 px-2.5 py-1 rounded-lg border",eb>80?"bg-red-500/10 border-red-500/30 text-red-400":"bg-white/5 border-white/10 text-gray-300"),children:(0,a.jsxs)("span",{className:"font-bold",children:["context ",eb,"% / ",L.contextUsage.contextWindow.toLocaleString()]})})]}),(0,a.jsxs)("div",{className:"flex flex-1 min-h-0",children:[(0,a.jsxs)("div",{className:"flex flex-col flex-1 min-w-0 relative",children:[(0,a.jsx)("div",{ref:Q,onScroll:ei,className:"flex-1 overflow-y-auto bg-white dark:bg-slate-900/50",children:(0,a.jsxs)("div",{className:"py-4 space-y-1",children:[0===x.length&&(0,a.jsx)("div",{className:"flex justify-center mt-20 mb-4 text-center",children:(0,a.jsxs)("div",{className:"max-w-sm",children:[(0,a.jsxs)("div",{className:"relative w-24 h-24 mx-auto mb-6",children:[(0,a.jsx)("div",{className:"absolute inset-0 bg-gradient-to-r from-blue-400/20 to-indigo-400/20 dark:from-purple-600/30 dark:to-cyan-500/30 blur-2xl animate-pulse"}),(0,a.jsx)("div",{className:"relative w-24 h-24 rounded-2xl neo-card bg-gradient-to-br from-blue-100 to-indigo-100 dark:from-purple-600/20 dark:to-cyan-500/20 border-2 border-blue-200 dark:border-purple-500/30 flex items-center justify-center text-5xl neon-glow-purple",children:d.avatar})]}),(0,a.jsx)("p",{className:"text-[18px] font-bold text-gray-800 dark:bg-gradient-to-r dark:from-cyan-400 dark:to-purple-400 dark:bg-clip-text dark:text-transparent mb-3",children:d.name}),(0,a.jsx)("p",{className:"text-[13px] text-gray-600 dark:text-gray-400 leading-relaxed px-4",children:d.description||t("welcomeTitle")}),ea.length>0&&(0,a.jsx)("div",{className:"flex flex-wrap justify-center gap-2 mt-4",children:ea.map(e=>(0,a.jsxs)("span",{className:"inline-flex items-center gap-1.5 text-[11px] px-3 py-1.5 rounded-lg glass-effect border border-purple-500/30 text-purple-300 font-medium",children:[(0,a.jsx)(m,{className:"h-3 w-3 text-cyan-400"}),e]},e))})]})}),x.map((e,t)=>N&&t===x.length-1&&"assistant"===e.role&&""===e.content&&!e.toolCalls?.length?(0,a.jsx)(aI,{agentAvatar:d.avatar},e.id):(0,a.jsx)(aD,{message:e,agentName:d.name,agentAvatar:d.avatar,showTimestamp:eh(t),onRetry:"assistant"===e.role?ed:void 0,onFork:"assistant"===e.role?ep:void 0,onSpeak:"assistant"===e.role?e=>D(e):void 0},e.id)),(0,a.jsx)("div",{ref:W,className:"h-2"})]})}),z&&(0,a.jsx)("button",{type:"button",onClick:()=>{W.current?.scrollIntoView({behavior:"smooth"}),B(!1)},className:"absolute bottom-24 right-6 z-10 h-11 w-11 rounded-full glass-effect border border-cyan-500/50 flex items-center justify-center hover:scale-110 transition-all neon-glow shadow-xl",children:(0,a.jsx)(h.A,{className:"h-5 w-5 text-cyan-400"})}),(0,a.jsx)(aG,{onSend:es,disabled:N,isStreaming:N,voiceEnabled:d.voice.enabled,voiceSpeed:d.voice.speed,agentLanguage:d.persona.language,ttsProvider:d.voice.ttsProvider,ttsModel:d.voice.ttsModel,voiceId:d.voice.voiceId,pendingReply:T,onSpeakDone:()=>D(void 0),installedSkills:G,onNewSession:ec,onClearMessages:()=>v([]),currentModel:V??{provider:d.model.provider,modelId:d.model.modelId},onModelChange:(e,t)=>Z({provider:e,modelId:t})})]}),M&&(0,a.jsxs)("div",{className:"w-[320px] shrink-0 border-l border-purple-500/20 glass-effect flex flex-col overflow-hidden",children:[(0,a.jsxs)("div",{className:"px-4 py-3 border-b border-purple-500/20 flex items-center justify-between",children:[(0,a.jsx)("span",{className:"text-[14px] font-bold bg-gradient-to-r from-cyan-400 to-purple-400 bg-clip-text text-transparent",children:"数字人信息"}),(0,a.jsx)("button",{onClick:()=>O(!1),className:"h-8 w-8 rounded-lg hover:bg-white/10 flex items-center justify-center transition-all hover:scale-110",children:(0,a.jsx)(s.A,{className:"h-4 w-4 text-cyan-400"})})]}),(0,a.jsx)(aK.F,{className:"flex-1",children:(0,a.jsxs)("div",{className:"p-4 space-y-4",children:[(0,a.jsxs)("div",{className:"flex items-start gap-3 p-3 rounded-xl glass-effect border border-purple-500/30 neon-glow-purple",children:[(0,a.jsx)("div",{className:"h-12 w-12 rounded-xl bg-gradient-to-br from-purple-600/30 to-cyan-500/30 flex items-center justify-center text-2xl shrink-0 border border-purple-500/30",children:d.avatar}),(0,a.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,a.jsx)("p",{className:"font-bold text-[13px] bg-gradient-to-r from-cyan-400 to-purple-400 bg-clip-text text-transparent",children:d.name}),(0,a.jsx)("p",{className:"text-[11px] text-gray-400 mt-1 leading-relaxed",children:d.description||"暂无描述"})]})]}),(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)("p",{className:"text-[11px] font-bold text-cyan-400 uppercase tracking-wide",children:"当前模型"}),(0,a.jsxs)("div",{className:"rounded-xl glass-effect border border-cyan-500/30 p-3",children:[(0,a.jsxs)("p",{className:"text-[12px] font-mono font-bold text-cyan-300",children:[d.model.provider," / ",d.model.modelId]}),(0,a.jsxs)("div",{className:"flex gap-2 mt-2 flex-wrap",children:["off"!==d.model.thinkingLevel&&(0,a.jsxs)("span",{className:"text-[10px] px-2 py-1 rounded-md glass-effect border border-purple-500/30 text-purple-300 font-medium",children:["\uD83E\uDDE0 ",d.model.thinkingLevel]}),(0,a.jsxs)("span",{className:"text-[10px] px-2 py-1 rounded-md glass-effect border border-cyan-500/30 text-cyan-300 font-medium",children:["temp ",d.model.temperature]})]})]})]}),L&&(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)("p",{className:"text-[11px] font-bold text-purple-400 uppercase tracking-wide",children:"本次会话用量"}),(0,a.jsxs)("div",{className:"rounded-xl glass-effect border border-purple-500/30 p-3 space-y-2",children:[(0,a.jsxs)("div",{className:"flex justify-between text-[11px] items-center",children:[(0,a.jsx)("span",{className:"text-gray-400",children:"输入 tokens"}),(0,a.jsx)("span",{className:"font-mono font-bold text-cyan-300",children:L.tokens.input.toLocaleString()})]}),(0,a.jsxs)("div",{className:"flex justify-between text-[11px] items-center",children:[(0,a.jsx)("span",{className:"text-gray-400",children:"输出 tokens"}),(0,a.jsx)("span",{className:"font-mono font-bold text-purple-300",children:L.tokens.output.toLocaleString()})]}),L.cost>0&&(0,a.jsxs)("div",{className:"flex justify-between text-[11px] items-center pt-2 border-t border-white/10",children:[(0,a.jsx)("span",{className:"text-gray-400",children:"费用"}),(0,a.jsxs)("span",{className:"font-mono font-bold text-green-300",children:["$",L.cost.toFixed(4)]})]}),L.contextUsage&&(0,a.jsxs)("div",{className:"space-y-1.5 pt-2 border-t border-white/10",children:[(0,a.jsxs)("div",{className:"flex justify-between text-[11px] items-center",children:[(0,a.jsx)("span",{className:"text-gray-400",children:"Context 用量"}),(0,a.jsxs)("span",{className:(0,aC.cn)("font-mono font-bold",eb>80?"text-red-400":"text-cyan-300"),children:[eb,"%"]})]}),(0,a.jsx)("div",{className:"h-1.5 w-full rounded-full bg-white/10 overflow-hidden",children:(0,a.jsx)("div",{className:(0,aC.cn)("h-full rounded-full transition-all duration-500",ey),style:{width:`${eb}%`}})})]})]})]}),Object.entries(d.tools).some(([,e])=>e)&&(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)("p",{className:"text-[11px] font-bold text-green-400 uppercase tracking-wide",children:"已开启工具"}),(0,a.jsx)("div",{className:"flex flex-wrap gap-2",children:Object.entries(d.tools).filter(([,e])=>e).map(([e])=>(0,a.jsx)("span",{className:"text-[11px] px-3 py-1 rounded-lg glass-effect border border-green-500/30 text-green-300 font-medium",children:e},e))})]}),(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsxs)("p",{className:"text-[11px] font-bold text-cyan-400 uppercase tracking-wide",children:["Skills ",(0,a.jsx)("span",{className:"normal-case font-normal text-[10px] text-gray-500",children:"(本次会话)"})]}),null!==$&&(0,a.jsx)("button",{type:"button",onClick:()=>H(null),className:"text-[10px] text-purple-400 hover:text-purple-300 font-medium transition-colors",children:"重置"})]}),0===G.length?(0,a.jsxs)("div",{className:"text-center py-8 px-4 rounded-xl glass-effect border border-dashed border-purple-500/30",children:[(0,a.jsx)(m,{className:"h-8 w-8 mx-auto mb-2 text-purple-400"}),(0,a.jsx)("p",{className:"text-[11px] text-gray-400",children:"还没有安装任何 Skill"})]}):(0,a.jsx)("div",{className:"space-y-2",children:G.map(e=>{let t=ea.includes(e.name);return(0,a.jsxs)("button",{type:"button",onClick:()=>em(e.name),className:(0,aC.cn)("w-full flex items-center gap-2.5 rounded-xl px-3 py-2.5 text-left transition-all border",t?"glass-effect border-purple-500/50 neon-glow-purple":"border-white/10 hover:border-purple-500/30 hover:bg-white/5"),children:[(0,a.jsx)("div",{className:(0,aC.cn)("h-5 w-5 rounded-lg shrink-0 flex items-center justify-center transition-all border",t?"bg-gradient-to-br from-purple-600 to-cyan-500 border-purple-500/50":"bg-white/10 border-white/20"),children:t&&(0,a.jsx)(b.A,{className:"h-3 w-3 text-white stroke-[3]"})}),(0,a.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,a.jsx)("p",{className:(0,aC.cn)("text-[11px] font-mono font-bold truncate",t?"text-cyan-400":"text-gray-300"),children:e.name}),e.description&&(0,a.jsx)("p",{className:"text-[10px] text-gray-500 truncate mt-0.5",children:e.description})]})]},e.name)})})]}),d.systemPrompt&&(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)("p",{className:"text-[11px] font-bold text-purple-400 uppercase tracking-wide",children:"人设提示词"}),(0,a.jsx)("div",{className:"rounded-xl glass-effect border border-purple-500/30 p-3",children:(0,a.jsx)("p",{className:"text-[11px] text-gray-400 leading-relaxed line-clamp-6 whitespace-pre-wrap",children:d.systemPrompt})})]})]})})]})]})]})]})}},21702:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>r});let r=(0,n(46760).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Users/duan/files/pi-web/digital-agent-platform/src/app/[locale]/agents/[id]/chat/page.tsx","default")},92825:e=>{class t{constructor(e){void 0===e.data&&(e.data={}),this.data=e.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function n(e){return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function r(e,...t){let n=Object.create(null);for(let t in e)n[t]=e[t];return t.forEach(function(e){for(let t in e)n[t]=e[t]}),n}let i=e=>!!e.scope,a=(e,{prefix:t})=>{if(e.startsWith("language:"))return e.replace("language:","language-");if(e.includes(".")){let n=e.split(".");return[`${t}${n.shift()}`,...n.map((e,t)=>`${e}${"_".repeat(t+1)}`)].join(" ")}return`${t}${e}`};class o{constructor(e,t){this.buffer="",this.classPrefix=t.classPrefix,e.walk(this)}addText(e){this.buffer+=n(e)}openNode(e){if(!i(e))return;let t=a(e.scope,{prefix:this.classPrefix});this.span(t)}closeNode(e){i(e)&&(this.buffer+="</span>")}value(){return this.buffer}span(e){this.buffer+=`<span class="${e}">`}}let l=(e={})=>{let t={children:[]};return Object.assign(t,e),t};class s{constructor(){this.rootNode=l(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(e){this.top.children.push(e)}openNode(e){let t=l({scope:e});this.add(t),this.stack.push(t)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(e){return this.constructor._walk(e,this.rootNode)}static _walk(e,t){return"string"==typeof t?e.addText(t):t.children&&(e.openNode(t),t.children.forEach(t=>this._walk(e,t)),e.closeNode(t)),e}static _collapse(e){"string"!=typeof e&&e.children&&(e.children.every(e=>"string"==typeof e)?e.children=[e.children.join("")]:e.children.forEach(e=>{s._collapse(e)}))}}class c extends s{constructor(e){super(),this.options=e}addText(e){""!==e&&this.add(e)}startScope(e){this.openNode(e)}endScope(){this.closeNode()}__addSublanguage(e,t){let n=e.root;t&&(n.scope=`language:${t}`),this.add(n)}toHTML(){return new o(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}}function u(e){return e?"string"==typeof e?e:e.source:null}function d(e){return f("(?=",e,")")}function p(e){return f("(?:",e,")*")}function g(e){return f("(?:",e,")?")}function f(...e){return e.map(e=>u(e)).join("")}function m(...e){return"("+(function(e){let t=e[e.length-1];return"object"==typeof t&&t.constructor===Object?(e.splice(e.length-1,1),t):{}}(e).capture?"":"?:")+e.map(e=>u(e)).join("|")+")"}function h(e){return RegExp(e.toString()+"|").exec("").length-1}let b=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function y(e,{joinWith:t}){let n=0;return e.map(e=>{let t=n+=1,r=u(e),i="";for(;r.length>0;){let e=b.exec(r);if(!e){i+=r;break}i+=r.substring(0,e.index),r=r.substring(e.index+e[0].length),"\\"===e[0][0]&&e[1]?i+="\\"+String(Number(e[1])+t):(i+=e[0],"("===e[0]&&n++)}return i}).map(e=>`(${e})`).join(t)}let x="[a-zA-Z]\\w*",v="[a-zA-Z_]\\w*",k="\\b\\d+(\\.\\d+)?",w="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",_="\\b(0b[01]+)",E={begin:"\\\\[\\s\\S]",relevance:0},N=function(e,t,n={}){let i=r({scope:"comment",begin:e,end:t,contains:[]},n);i.contains.push({scope:"doctag",begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});let a=m("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return i.contains.push({begin:f(/[ ]+/,"(",a,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),i},S=N("//","$"),C=N("/\\*","\\*/"),A=N("#","$");var M=Object.freeze({__proto__:null,APOS_STRING_MODE:{scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[E]},BACKSLASH_ESCAPE:E,BINARY_NUMBER_MODE:{scope:"number",begin:_,relevance:0},BINARY_NUMBER_RE:_,COMMENT:N,C_BLOCK_COMMENT_MODE:C,C_LINE_COMMENT_MODE:S,C_NUMBER_MODE:{scope:"number",begin:w,relevance:0},C_NUMBER_RE:w,END_SAME_AS_BEGIN:function(e){return Object.assign(e,{"on:begin":(e,t)=>{t.data._beginMatch=e[1]},"on:end":(e,t)=>{t.data._beginMatch!==e[1]&&t.ignoreMatch()}})},HASH_COMMENT_MODE:A,IDENT_RE:x,MATCH_NOTHING_RE:/\b\B/,METHOD_GUARD:{begin:"\\.\\s*"+v,relevance:0},NUMBER_MODE:{scope:"number",begin:k,relevance:0},NUMBER_RE:k,PHRASAL_WORDS_MODE:{begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},QUOTE_STRING_MODE:{scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[E]},REGEXP_MODE:{scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[E,{begin:/\[/,end:/\]/,relevance:0,contains:[E]}]},RE_STARTERS_RE:"!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",SHEBANG:(e={})=>{let t=/^#![ ]*\//;return e.binary&&(e.begin=f(t,/.*\b/,e.binary,/\b.*/)),r({scope:"meta",begin:t,end:/$/,relevance:0,"on:begin":(e,t)=>{0!==e.index&&t.ignoreMatch()}},e)},TITLE_MODE:{scope:"title",begin:x,relevance:0},UNDERSCORE_IDENT_RE:v,UNDERSCORE_TITLE_MODE:{scope:"title",begin:v,relevance:0}});function O(e,t){"."===e.input[e.index-1]&&t.ignoreMatch()}function T(e,t){void 0!==e.className&&(e.scope=e.className,delete e.className)}function D(e,t){t&&e.beginKeywords&&(e.begin="\\b("+e.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",e.__beforeBegin=O,e.keywords=e.keywords||e.beginKeywords,delete e.beginKeywords,void 0===e.relevance&&(e.relevance=0))}function I(e,t){Array.isArray(e.illegal)&&(e.illegal=m(...e.illegal))}function j(e,t){if(e.match){if(e.begin||e.end)throw Error("begin & end are not supported with match");e.begin=e.match,delete e.match}}function L(e,t){void 0===e.relevance&&(e.relevance=1)}let R=(e,t)=>{if(!e.beforeMatch)return;if(e.starts)throw Error("beforeMatch cannot be used with starts");let n=Object.assign({},e);Object.keys(e).forEach(t=>{delete e[t]}),e.keywords=n.keywords,e.begin=f(n.beforeMatch,d(n.begin)),e.starts={relevance:0,contains:[Object.assign(n,{endsParent:!0})]},e.relevance=0,delete n.beforeMatch},z=["of","and","for","in","not","or","if","then","parent","list","value"],B={},P=e=>{console.error(e)},F=(e,...t)=>{console.log(`WARN: ${e}`,...t)},q=(e,t)=>{B[`${e}/${t}`]||(console.log(`Deprecated as of ${e}. ${t}`),B[`${e}/${t}`]=!0)},U=Error();function $(e,t,{key:n}){let r=0,i=e[n],a={},o={};for(let e=1;e<=t.length;e++)o[e+r]=i[e],a[e+r]=!0,r+=h(t[e-1]);e[n]=o,e[n]._emit=a,e[n]._multi=!0}function H(e){e.scope&&"object"==typeof e.scope&&null!==e.scope&&(e.beginScope=e.scope,delete e.scope),"string"==typeof e.beginScope&&(e.beginScope={_wrap:e.beginScope}),"string"==typeof e.endScope&&(e.endScope={_wrap:e.endScope}),function(e){if(Array.isArray(e.begin)){if(e.skip||e.excludeBegin||e.returnBegin)throw P("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),U;if("object"!=typeof e.beginScope||null===e.beginScope)throw P("beginScope must be object"),U;$(e,e.begin,{key:"beginScope"}),e.begin=y(e.begin,{joinWith:""})}}(e),function(e){if(Array.isArray(e.end)){if(e.skip||e.excludeEnd||e.returnEnd)throw P("skip, excludeEnd, returnEnd not compatible with endScope: {}"),U;if("object"!=typeof e.endScope||null===e.endScope)throw P("endScope must be object"),U;$(e,e.end,{key:"endScope"}),e.end=y(e.end,{joinWith:""})}}(e)}class G extends Error{constructor(e,t){super(e),this.name="HTMLInjectionError",this.html=t}}let K=Symbol("nomatch"),V=function(e){let i=Object.create(null),a=Object.create(null),o=[],l=!0,s="Could not find the language '{}', did you forget to load/include a language module?",b={disableAutodetect:!0,name:"Plain text",contains:[]},x={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:c};function v(e){return x.noHighlightRe.test(e)}function k(e,t,n){let r="",i="";"object"==typeof t?(r=e,n=t.ignoreIllegals,i=t.language):(q("10.7.0","highlight(lang, code, ...args) has been deprecated."),q("10.7.0","Please use highlight(code, options) instead.\nhttps://github.com/highlightjs/highlight.js/issues/2277"),i=e,r=t),void 0===n&&(n=!0);let a={code:r,language:i};B("before:highlight",a);let o=a.result?a.result:w(a.language,a.code,n);return o.code=a.code,B("after:highlight",o),o}function w(e,a,o,c){let d=Object.create(null);function p(){if(!A.keywords){O.addText(B);return}let e=0;A.keywordPatternRe.lastIndex=0;let t=A.keywordPatternRe.exec(B),n="";for(;t;){n+=B.substring(e,t.index);let r=E.case_insensitive?t[0].toLowerCase():t[0],i=A.keywords[r];if(i){let[e,a]=i;if(O.addText(n),n="",d[r]=(d[r]||0)+1,d[r]<=7&&(F+=a),e.startsWith("_"))n+=t[0];else{let n=E.classNameAliases[e]||e;f(t[0],n)}}else n+=t[0];e=A.keywordPatternRe.lastIndex,t=A.keywordPatternRe.exec(B)}n+=B.substring(e),O.addText(n)}function g(){null!=A.subLanguage?function(){if(""===B)return;let e=null;if("string"==typeof A.subLanguage){if(!i[A.subLanguage]){O.addText(B);return}e=w(A.subLanguage,B,!0,M[A.subLanguage]),M[A.subLanguage]=e._top}else e=_(B,A.subLanguage.length?A.subLanguage:null);A.relevance>0&&(F+=e.relevance),O.__addSublanguage(e._emitter,e.language)}():p(),B=""}function f(e,t){""!==e&&(O.startScope(t),O.addText(e),O.endScope())}function m(e,t){let n=1,r=t.length-1;for(;n<=r;){if(!e._emit[n]){n++;continue}let r=E.classNameAliases[e[n]]||e[n],i=t[n];r?f(i,r):(B=i,p(),B=""),n++}}function b(e,t){return e.scope&&"string"==typeof e.scope&&O.openNode(E.classNameAliases[e.scope]||e.scope),e.beginScope&&(e.beginScope._wrap?(f(B,E.classNameAliases[e.beginScope._wrap]||e.beginScope._wrap),B=""):e.beginScope._multi&&(m(e.beginScope,t),B="")),A=Object.create(e,{parent:{value:A}})}let v={};function k(n,r){let i=r&&r[0];if(B+=n,null==i)return g(),0;if("begin"===v.type&&"end"===r.type&&v.index===r.index&&""===i){if(B+=a.slice(r.index,r.index+1),!l){let t=Error(`0 width match regex (${e})`);throw t.languageName=e,t.badRule=v.rule,t}return 1}if(v=r,"begin"===r.type)return function(e){let n=e[0],r=e.rule,i=new t(r);for(let t of[r.__beforeBegin,r["on:begin"]])if(t&&(t(e,i),i.isMatchIgnored))return 0===A.matcher.regexIndex?(B+=n[0],1):($=!0,0);return r.skip?B+=n:(r.excludeBegin&&(B+=n),g(),r.returnBegin||r.excludeBegin||(B=n)),b(r,e),r.returnBegin?0:n.length}(r);if("illegal"!==r.type||o){if("end"===r.type){let e=function(e){let n=e[0],r=a.substring(e.index),i=function e(n,r,i){let a=function(e,t){let n=e&&e.exec(t);return n&&0===n.index}(n.endRe,i);if(a){if(n["on:end"]){let e=new t(n);n["on:end"](r,e),e.isMatchIgnored&&(a=!1)}if(a){for(;n.endsParent&&n.parent;)n=n.parent;return n}}if(n.endsWithParent)return e(n.parent,r,i)}(A,e,r);if(!i)return K;let o=A;A.endScope&&A.endScope._wrap?(g(),f(n,A.endScope._wrap)):A.endScope&&A.endScope._multi?(g(),m(A.endScope,e)):o.skip?B+=n:(o.returnEnd||o.excludeEnd||(B+=n),g(),o.excludeEnd&&(B=n));do A.scope&&O.closeNode(),A.skip||A.subLanguage||(F+=A.relevance),A=A.parent;while(A!==i.parent);return i.starts&&b(i.starts,e),o.returnEnd?0:n.length}(r);if(e!==K)return e}}else{let e=Error('Illegal lexeme "'+i+'" for mode "'+(A.scope||"<unnamed>")+'"');throw e.mode=A,e}if("illegal"===r.type&&""===i)return B+="\n",1;if(U>1e5&&U>3*r.index)throw Error("potential infinite loop, way more iterations than matches");return B+=i,i.length}let E=C(e);if(!E)throw P(s.replace("{}",e)),Error('Unknown language: "'+e+'"');let N=function(e){function t(t,n){return RegExp(u(t),"m"+(e.case_insensitive?"i":"")+(e.unicodeRegex?"u":"")+(n?"g":""))}class n{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(e,t){t.position=this.position++,this.matchIndexes[this.matchAt]=t,this.regexes.push([t,e]),this.matchAt+=h(e)+1}compile(){0===this.regexes.length&&(this.exec=()=>null);let e=this.regexes.map(e=>e[1]);this.matcherRe=t(y(e,{joinWith:"|"}),!0),this.lastIndex=0}exec(e){this.matcherRe.lastIndex=this.lastIndex;let t=this.matcherRe.exec(e);if(!t)return null;let n=t.findIndex((e,t)=>t>0&&void 0!==e),r=this.matchIndexes[n];return t.splice(0,n),Object.assign(t,r)}}class i{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(e){if(this.multiRegexes[e])return this.multiRegexes[e];let t=new n;return this.rules.slice(e).forEach(([e,n])=>t.addRule(e,n)),t.compile(),this.multiRegexes[e]=t,t}resumingScanAtSamePosition(){return 0!==this.regexIndex}considerAll(){this.regexIndex=0}addRule(e,t){this.rules.push([e,t]),"begin"===t.type&&this.count++}exec(e){let t=this.getMatcher(this.regexIndex);t.lastIndex=this.lastIndex;let n=t.exec(e);if(this.resumingScanAtSamePosition()){if(n&&n.index===this.lastIndex);else{let t=this.getMatcher(0);t.lastIndex=this.lastIndex+1,n=t.exec(e)}}return n&&(this.regexIndex+=n.position+1,this.regexIndex===this.count&&this.considerAll()),n}}if(e.compilerExtensions||(e.compilerExtensions=[]),e.contains&&e.contains.includes("self"))throw Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return e.classNameAliases=r(e.classNameAliases||{}),function n(a,o){if(a.isCompiled)return a;[T,j,H,R].forEach(e=>e(a,o)),e.compilerExtensions.forEach(e=>e(a,o)),a.__beforeBegin=null,[D,I,L].forEach(e=>e(a,o)),a.isCompiled=!0;let l=null;return"object"==typeof a.keywords&&a.keywords.$pattern&&(a.keywords=Object.assign({},a.keywords),l=a.keywords.$pattern,delete a.keywords.$pattern),l=l||/\w+/,a.keywords&&(a.keywords=function e(t,n,r="keyword"){let i=Object.create(null);return"string"==typeof t?a(r,t.split(" ")):Array.isArray(t)?a(r,t):Object.keys(t).forEach(function(r){Object.assign(i,e(t[r],n,r))}),i;function a(e,t){n&&(t=t.map(e=>e.toLowerCase())),t.forEach(function(t){var n,r;let a=t.split("|");i[a[0]]=[e,(n=a[0],(r=a[1])?Number(r):z.includes(n.toLowerCase())?0:1)]})}}(a.keywords,e.case_insensitive)),a.keywordPatternRe=t(l,!0),o&&(a.begin||(a.begin=/\B|\b/),a.beginRe=t(a.begin),a.end||a.endsWithParent||(a.end=/\B|\b/),a.end&&(a.endRe=t(a.end)),a.terminatorEnd=u(a.end)||"",a.endsWithParent&&o.terminatorEnd&&(a.terminatorEnd+=(a.end?"|":"")+o.terminatorEnd)),a.illegal&&(a.illegalRe=t(a.illegal)),a.contains||(a.contains=[]),a.contains=[].concat(...a.contains.map(function(e){var t;return((t="self"===e?a:e).variants&&!t.cachedVariants&&(t.cachedVariants=t.variants.map(function(e){return r(t,{variants:null},e)})),t.cachedVariants)?t.cachedVariants:!function e(t){return!!t&&(t.endsWithParent||e(t.starts))}(t)?Object.isFrozen(t)?r(t):t:r(t,{starts:t.starts?r(t.starts):null})})),a.contains.forEach(function(e){n(e,a)}),a.starts&&n(a.starts,o),a.matcher=function(e){let t=new i;return e.contains.forEach(e=>t.addRule(e.begin,{rule:e,type:"begin"})),e.terminatorEnd&&t.addRule(e.terminatorEnd,{type:"end"}),e.illegal&&t.addRule(e.illegal,{type:"illegal"}),t}(a),a}(e)}(E),S="",A=c||N,M={},O=new x.__emitter(x);!function(){let e=[];for(let t=A;t!==E;t=t.parent)t.scope&&e.unshift(t.scope);e.forEach(e=>O.openNode(e))}();let B="",F=0,q=0,U=0,$=!1;try{if(E.__emitTokens)E.__emitTokens(a,O);else{for(A.matcher.considerAll();;){U++,$?$=!1:A.matcher.considerAll(),A.matcher.lastIndex=q;let e=A.matcher.exec(a);if(!e)break;let t=a.substring(q,e.index),n=k(t,e);q=e.index+n}k(a.substring(q))}return O.finalize(),S=O.toHTML(),{language:e,value:S,relevance:F,illegal:!1,_emitter:O,_top:A}}catch(t){if(t.message&&t.message.includes("Illegal"))return{language:e,value:n(a),illegal:!0,relevance:0,_illegalBy:{message:t.message,index:q,context:a.slice(q-100,q+100),mode:t.mode,resultSoFar:S},_emitter:O};if(l)return{language:e,value:n(a),illegal:!1,relevance:0,errorRaised:t,_emitter:O,_top:A};throw t}}function _(e,t){t=t||x.languages||Object.keys(i);let r=function(e){let t={value:n(e),illegal:!1,relevance:0,_top:b,_emitter:new x.__emitter(x)};return t._emitter.addText(e),t}(e),a=t.filter(C).filter(O).map(t=>w(t,e,!1));a.unshift(r);let[o,l]=a.sort((e,t)=>{if(e.relevance!==t.relevance)return t.relevance-e.relevance;if(e.language&&t.language){if(C(e.language).supersetOf===t.language)return 1;if(C(t.language).supersetOf===e.language)return -1}return 0});return o.secondBest=l,o}function E(e){let t=function(e){let t=e.className+" ";t+=e.parentNode?e.parentNode.className:"";let n=x.languageDetectRe.exec(t);if(n){let t=C(n[1]);return t||(F(s.replace("{}",n[1])),F("Falling back to no-highlight mode for this block.",e)),t?n[1]:"no-highlight"}return t.split(/\s+/).find(e=>v(e)||C(e))}(e);if(v(t))return;if(B("before:highlightElement",{el:e,language:t}),e.dataset.highlighted){console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",e);return}if(e.children.length>0&&(x.ignoreUnescapedHTML||(console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."),console.warn("https://github.com/highlightjs/highlight.js/wiki/security"),console.warn("The element with unescaped HTML:"),console.warn(e)),x.throwUnescapedHTML))throw new G("One of your code blocks includes unescaped HTML.",e.innerHTML);let n=e.textContent,r=t?k(n,{language:t,ignoreIllegals:!0}):_(n);e.innerHTML=r.value,e.dataset.highlighted="yes",function(e,t,n){let r=t&&a[t]||n;e.classList.add("hljs"),e.classList.add(`language-${r}`)}(e,t,r.language),e.result={language:r.language,re:r.relevance,relevance:r.relevance},r.secondBest&&(e.secondBest={language:r.secondBest.language,relevance:r.secondBest.relevance}),B("after:highlightElement",{el:e,result:r,text:n})}let N=!1;function S(){if("loading"===document.readyState){N||window.addEventListener("DOMContentLoaded",function(){S()},!1),N=!0;return}document.querySelectorAll(x.cssSelector).forEach(E)}function C(e){return i[e=(e||"").toLowerCase()]||i[a[e]]}function A(e,{languageName:t}){"string"==typeof e&&(e=[e]),e.forEach(e=>{a[e.toLowerCase()]=t})}function O(e){let t=C(e);return t&&!t.disableAutodetect}function B(e,t){o.forEach(function(n){n[e]&&n[e](t)})}for(let t in Object.assign(e,{highlight:k,highlightAuto:_,highlightAll:S,highlightElement:E,highlightBlock:function(e){return q("10.7.0","highlightBlock will be removed entirely in v12.0"),q("10.7.0","Please use highlightElement now."),E(e)},configure:function(e){x=r(x,e)},initHighlighting:()=>{S(),q("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")},initHighlightingOnLoad:function(){S(),q("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")},registerLanguage:function(t,n){let r=null;try{r=n(e)}catch(e){if(P("Language definition for '{}' could not be registered.".replace("{}",t)),l)P(e);else throw e;r=b}r.name||(r.name=t),i[t]=r,r.rawDefinition=n.bind(null,e),r.aliases&&A(r.aliases,{languageName:t})},unregisterLanguage:function(e){for(let t of(delete i[e],Object.keys(a)))a[t]===e&&delete a[t]},listLanguages:function(){return Object.keys(i)},getLanguage:C,registerAliases:A,autoDetection:O,inherit:r,addPlugin:function(e){var t;(t=e)["before:highlightBlock"]&&!t["before:highlightElement"]&&(t["before:highlightElement"]=e=>{t["before:highlightBlock"](Object.assign({block:e.el},e))}),t["after:highlightBlock"]&&!t["after:highlightElement"]&&(t["after:highlightElement"]=e=>{t["after:highlightBlock"](Object.assign({block:e.el},e))}),o.push(e)},removePlugin:function(e){let t=o.indexOf(e);-1!==t&&o.splice(t,1)}}),e.debugMode=function(){l=!1},e.safeMode=function(){l=!0},e.versionString="11.11.1",e.regex={concat:f,lookahead:d,either:m,optional:g,anyNumberOfTimes:p},M)"object"==typeof M[t]&&function e(t){return t instanceof Map?t.clear=t.delete=t.set=function(){throw Error("map is read-only")}:t instanceof Set&&(t.add=t.clear=t.delete=function(){throw Error("set is read-only")}),Object.freeze(t),Object.getOwnPropertyNames(t).forEach(n=>{let r=t[n],i=typeof r;"object"!==i&&"function"!==i||Object.isFrozen(r)||e(r)}),t}(M[t]);return Object.assign(e,M),e},Z=V({});Z.newInstance=()=>V({}),e.exports=Z,Z.HighlightJS=Z,Z.default=Z}};var t=require("../../../../../webpack-runtime.js");t.C(e);var n=e=>t(t.s=e),r=t.X(0,[5994,8403,5051,9251],()=>n(38457));module.exports=r})();
|