You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
NextWeb/.next/static/webpack/app/page.ceb3d31a0cb05107.hot-u...

22 lines
57 KiB
JavaScript

"use strict";
/*
* ATTENTION: An "eval-source-map" devtool has been used.
* This devtool is neither made for production nor for readable output files.
* It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools.
* If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
* or disable the default devtool with "devtool: false".
* If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
*/
self["webpackHotUpdate_N_E"]("app/page",{
/***/ "(app-pages-browser)/./app/components/sidebar.tsx":
/*!************************************!*\
!*** ./app/components/sidebar.tsx ***!
\************************************/
/***/ (function(module, __webpack_exports__, __webpack_require__) {
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ SideBar: function() { return /* binding */ SideBar; },\n/* harmony export */ SideBarBody: function() { return /* binding */ SideBarBody; },\n/* harmony export */ SideBarContainer: function() { return /* binding */ SideBarContainer; },\n/* harmony export */ SideBarHeader: function() { return /* binding */ SideBarHeader; },\n/* harmony export */ SideBarTail: function() { return /* binding */ SideBarTail; },\n/* harmony export */ useDragSideBar: function() { return /* binding */ useDragSideBar; },\n/* harmony export */ useHotKey: function() { return /* binding */ useHotKey; }\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-dev-runtime.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _home_module_scss__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./home.module.scss */ \"(app-pages-browser)/./app/components/home.module.scss\");\n/* harmony import */ var _home_module_scss__WEBPACK_IMPORTED_MODULE_17___default = /*#__PURE__*/__webpack_require__.n(_home_module_scss__WEBPACK_IMPORTED_MODULE_17__);\n/* harmony import */ var _button__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./button */ \"(app-pages-browser)/./app/components/button.tsx\");\n/* harmony import */ var _icons_settings_svg__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../icons/settings.svg */ \"(app-pages-browser)/./app/icons/settings.svg\");\n/* harmony import */ var _icons_chatgpt_svg__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../icons/chatgpt.svg */ \"(app-pages-browser)/./app/icons/chatgpt.svg\");\n/* harmony import */ var _icons_add_svg__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../icons/add.svg */ \"(app-pages-browser)/./app/icons/add.svg\");\n/* harmony import */ var _icons_delete_svg__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../icons/delete.svg */ \"(app-pages-browser)/./app/icons/delete.svg\");\n/* harmony import */ var _icons_mask_svg__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../icons/mask.svg */ \"(app-pages-browser)/./app/icons/mask.svg\");\n/* harmony import */ var _icons_drag_svg__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../icons/drag.svg */ \"(app-pages-browser)/./app/icons/drag.svg\");\n/* harmony import */ var _locales__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../locales */ \"(app-pages-browser)/./app/locales/index.ts\");\n/* harmony import */ var _store__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../store */ \"(app-pages-browser)/./app/store/index.ts\");\n/* harmony import */ var _constant__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../constant */ \"(app-pages-browser)/./app/constant.ts\");\n/* harmony import */ var react_router_dom__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! react-router-dom */ \"(app-pages-browser)/./node_modules/react-router/dist/index.js\");\n/* harmony import */ var react_router_dom__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! react-router-dom */ \"(app-pages-browser)/./node_modules/react-router-dom/dist/index.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../utils */ \"(app-pages-browser)/./app/utils.ts\");\n/* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! next/dynamic */ \"(app-pages-browser)/./node_modules/next/dist/api/app-dynamic.js\");\n/* harmony import */ var _ui_lib__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./ui-lib */ \"(app-pages-browser)/./app/components/ui-lib.tsx\");\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! clsx */ \"(app-pages-browser)/./node_modules/clsx/dist/clsx.mjs\");\n/* harmony import */ var _mcp_actions__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../mcp/actions */ \"(app-pages-browser)/./app/mcp/actions.ts\");\n\nvar _s = $RefreshSig$(), _s1 = $RefreshSig$(), _s2 = $RefreshSig$(), _s3 = $RefreshSig$();\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst DISCOVERY = [\n {\n name: _locales__WEBPACK_IMPORTED_MODULE_9__[\"default\"].Plugin.Name,\n path: _constant__WEBPACK_IMPORTED_MODULE_11__.Path.Plugins\n },\n {\n name: \"Stable Diffusion\",\n path: _constant__WEBPACK_IMPORTED_MODULE_11__.Path.Sd\n },\n {\n name: _locales__WEBPACK_IMPORTED_MODULE_9__[\"default\"].SearchChat.Page.Title,\n path: _constant__WEBPACK_IMPORTED_MODULE_11__.Path.SearchChat\n }\n];\nconst ChatList = (0,next_dynamic__WEBPACK_IMPORTED_MODULE_13__[\"default\"])(async ()=>(await __webpack_require__.e(/*! import() */ \"_app-pages-browser_app_components_chat-list_tsx\").then(__webpack_require__.bind(__webpack_require__, /*! ./chat-list */ \"(app-pages-browser)/./app/components/chat-list.tsx\"))).ChatList, {\n loadableGenerated: {\n modules: [\n \"D:\\\\NextChatCD\\\\app\\\\components\\\\sidebar.tsx -> \" + \"./chat-list\"\n ]\n },\n loading: ()=>null\n});\n_c = ChatList;\nfunction useHotKey() {\n _s();\n const chatStore = (0,_store__WEBPACK_IMPORTED_MODULE_10__.useChatStore)();\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n const onKeyDown = (e)=>{\n if (e.altKey || e.ctrlKey) {\n if (e.key === \"ArrowUp\") {\n chatStore.nextSession(-1);\n } else if (e.key === \"ArrowDown\") {\n chatStore.nextSession(1);\n }\n }\n };\n window.addEventListener(\"keydown\", onKeyDown);\n return ()=>window.removeEventListener(\"keydown\", onKeyDown);\n });\n}\n_s(useHotKey, \"FzvLXhlKJxQuM4lHoDi2MSNJT+U=\", false, function() {\n return [\n _store__WEBPACK_IMPORTED_MODULE_10__.useChatStore\n ];\n});\nfunction useDragSideBar() {\n _s1();\n const limit = (x)=>Math.min(_constant__WEBPACK_IMPORTED_MODULE_11__.MAX_SIDEBAR_WIDTH, x);\n const config = (0,_store__WEBPACK_IMPORTED_MODULE_10__.useAppConfig)();\n const startX = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(0);\n var _config_sidebarWidth;\n const startDragWidth = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)((_config_sidebarWidth = config.sidebarWidth) !== null && _config_sidebarWidth !== void 0 ? _config_sidebarWidth : _constant__WEBPACK_IMPORTED_MODULE_11__.DEFAULT_SIDEBAR_WIDTH);\n const lastUpdateTime = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(Date.now());\n const toggleSideBar = ()=>{\n config.update((config)=>{\n if (config.sidebarWidth < _constant__WEBPACK_IMPORTED_MODULE_11__.MIN_SIDEBAR_WIDTH) {\n config.sidebarWidth = _constant__WEBPACK_IMPORTED_MODULE_11__.DEFAULT_SIDEBAR_WIDTH;\n } else {\n config.sidebarWidth = _constant__WEBPACK_IMPORTED_MODULE_11__.NARROW_SIDEBAR_WIDTH;\n }\n });\n };\n const onDragStart = (e)=>{\n // Remembers the initial width each time the mouse is pressed\n startX.current = e.clientX;\n startDragWidth.current = config.sidebarWidth;\n const dragStartTime = Date.now();\n const handleDragMove = (e)=>{\n if (Date.now() < lastUpdateTime.current + 20) {\n return;\n }\n lastUpdateTime.current = Date.now();\n const d = e.clientX - startX.current;\n const nextWidth = limit(startDragWidth.current + d);\n config.update((config)=>{\n if (nextWidth < _constant__WEBPACK_IMPORTED_MODULE_11__.MIN_SIDEBAR_WIDTH) {\n config.sidebarWidth = _constant__WEBPACK_IMPORTED_MODULE_11__.NARROW_SIDEBAR_WIDTH;\n } else {\n config.sidebarWidth = nextWidth;\n }\n });\n };\n const handleDragEnd = ()=>{\n // In useRef the data is non-responsive, so `config.sidebarWidth` can't get the dynamic sidebarWidth\n window.removeEventListener(\"pointermove\", handleDragMove);\n window.removeEventListener(\"pointerup\", handleDragEnd);\n // if user click the drag icon, should toggle the sidebar\n const shouldFireClick = Date.now() - dragStartTime < 300;\n if (shouldFireClick) {\n toggleSideBar();\n }\n };\n window.addEventListener(\"pointermove\", handleDragMove);\n window.addEventListener(\"pointerup\", handleDragEnd);\n };\n const isMobileScreen = (0,_utils__WEBPACK_IMPORTED_MODULE_12__.useMobileScreen)();\n const shouldNarrow = !isMobileScreen && config.sidebarWidth < _constant__WEBPACK_IMPORTED_MODULE_11__.MIN_SIDEBAR_WIDTH;\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n var _config_sidebarWidth;\n const barWidth = shouldNarrow ? _constant__WEBPACK_IMPORTED_MODULE_11__.NARROW_SIDEBAR_WIDTH : limit((_config_sidebarWidth = config.sidebarWidth) !== null && _config_sidebarWidth !== void 0 ? _config_sidebarWidth : _constant__WEBPACK_IMPORTED_MODULE_11__.DEFAULT_SIDEBAR_WIDTH);\n const sideBarWidth = isMobileScreen ? \"100vw\" : \"\".concat(barWidth, \"px\");\n document.documentElement.style.setProperty(\"--sidebar-width\", sideBarWidth);\n }, [\n config.sidebarWidth,\n isMobileScreen,\n shouldNarrow\n ]);\n return {\n onDragStart,\n shouldNarrow\n };\n}\n_s1(useDragSideBar, \"9sAuy9Iv7h5+fcBNiGeE2YvGON8=\", false, function() {\n return [\n _store__WEBPACK_IMPORTED_MODULE_10__.useAppConfig,\n _utils__WEBPACK_IMPORTED_MODULE_12__.useMobileScreen\n ];\n});\nfunction SideBarContainer(props) {\n _s2();\n const isMobileScreen = (0,_utils__WEBPACK_IMPORTED_MODULE_12__.useMobileScreen)();\n const isIOSMobile = (0,react__WEBPACK_IMPORTED_MODULE_1__.useMemo)(()=>(0,_utils__WEBPACK_IMPORTED_MODULE_12__.isIOS)() && isMobileScreen, [\n isMobileScreen\n ]);\n const { children, className, onDragStart, shouldNarrow } = props;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_15__[\"default\"])((_home_module_scss__WEBPACK_IMPORTED_MODULE_17___default().sidebar), className, {\n [(_home_module_scss__WEBPACK_IMPORTED_MODULE_17___default()[\"narrow-sidebar\"])]: shouldNarrow\n }),\n style: {\n // #3016 disable transition on ios mobile screen\n transition: isMobileScreen && isIOSMobile ? \"none\" : undefined\n },\n children: [\n children,\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (_home_module_scss__WEBPACK_IMPORTED_MODULE_17___default()[\"sidebar-drag\"]),\n onPointerDown: (e)=>onDragStart(e),\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_icons_drag_svg__WEBPACK_IMPORTED_MODULE_8__[\"default\"], {}, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\sidebar.tsx\",\n lineNumber: 164,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\sidebar.tsx\",\n lineNumber: 160,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\sidebar.tsx\",\n lineNumber: 150,\n columnNumber: 5\n }, this);\n}\n_s2(SideBarContainer, \"G8svrsL9du90jZRzgR3EOvl9Bcg=\", false, function() {\n return [\n _utils__WEBPACK_IMPORTED_MODULE_12__.useMobileScreen\n ];\n});\n_c1 = SideBarContainer;\nfunction SideBarHeader(props) {\n const { title, subTitle, logo, children, shouldNarrow } = props;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react__WEBPACK_IMPORTED_MODULE_1__.Fragment, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_15__[\"default\"])((_home_module_scss__WEBPACK_IMPORTED_MODULE_17___default()[\"sidebar-header\"]), {\n [(_home_module_scss__WEBPACK_IMPORTED_MODULE_17___default()[\"sidebar-header-narrow\"])]: shouldNarrow\n }),\n \"data-tauri-drag-region\": true\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\sidebar.tsx\",\n lineNumber: 180,\n columnNumber: 7\n }, this),\n children\n ]\n }, void 0, true, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\sidebar.tsx\",\n lineNumber: 179,\n columnNumber: 5\n }, this);\n}\n_c2 = SideBarHeader;\nfunction SideBarBody(props) {\n const { onClick, children } = props;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (_home_module_scss__WEBPACK_IMPORTED_MODULE_17___default()[\"sidebar-body\"]),\n onClick: onClick,\n children: children\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\sidebar.tsx\",\n lineNumber: 198,\n columnNumber: 5\n }, this);\n}\n_c3 = SideBarBody;\nfunction SideBarTail(props) {\n const { primaryAction, secondaryAction } = props;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (_home_module_scss__WEBPACK_IMPORTED_MODULE_17___default()[\"sidebar-tail\"]),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (_home_module_scss__WEBPACK_IMPORTED_MODULE_17___default()[\"sidebar-actions\"]),\n children: primaryAction\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\sidebar.tsx\",\n lineNumber: 212,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (_home_module_scss__WEBPACK_IMPORTED_MODULE_17___default()[\"sidebar-actions\"]),\n children: secondaryAction\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\sidebar.tsx\",\n lineNumber: 213,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\sidebar.tsx\",\n lineNumber: 211,\n columnNumber: 5\n }, this);\n}\n_c4 = SideBarTail;\nfunction SideBar(props) {\n _s3();\n useHotKey();\n const { onDragStart, shouldNarrow } = useDragSideBar();\n const [showDiscoverySelector, setshowDiscoverySelector] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const navigate = (0,react_router_dom__WEBPACK_IMPORTED_MODULE_18__.useNavigate)();\n const config = (0,_store__WEBPACK_IMPORTED_MODULE_10__.useAppConfig)();\n const chatStore = (0,_store__WEBPACK_IMPORTED_MODULE_10__.useChatStore)();\n const [mcpEnabled, setMcpEnabled] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n // 检查 MCP 是否启用\n const checkMcpStatus = async ()=>{\n const enabled = await (0,_mcp_actions__WEBPACK_IMPORTED_MODULE_16__.isMcpEnabled)();\n setMcpEnabled(enabled);\n console.log(\"[SideBar] MCP enabled:\", enabled);\n };\n checkMcpStatus();\n }, []);\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(SideBarContainer, {\n onDragStart: onDragStart,\n shouldNarrow: shouldNarrow,\n ...props,\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(SideBarHeader, {\n title: \"NextChat\",\n subTitle: \"Build your own AI assistant.\",\n logo: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_icons_chatgpt_svg__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {}, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\sidebar.tsx\",\n lineNumber: 246,\n columnNumber: 15\n }, void 0),\n shouldNarrow: shouldNarrow,\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (_home_module_scss__WEBPACK_IMPORTED_MODULE_17___default()[\"sidebar-header-bar\"]),\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_button__WEBPACK_IMPORTED_MODULE_2__.IconButton, {\n icon: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_icons_add_svg__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {}, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\sidebar.tsx\",\n lineNumber: 251,\n columnNumber: 21\n }, void 0),\n text: shouldNarrow ? undefined : _locales__WEBPACK_IMPORTED_MODULE_9__[\"default\"].Home.NewChat,\n className: (_home_module_scss__WEBPACK_IMPORTED_MODULE_17___default()[\"sidebar-bar-button\"]),\n onClick: ()=>{\n if (config.dontShowMaskSplashScreen) {\n chatStore.newSession();\n navigate(_constant__WEBPACK_IMPORTED_MODULE_11__.Path.Chat);\n } else {\n navigate(_constant__WEBPACK_IMPORTED_MODULE_11__.Path.NewChat);\n }\n },\n shadow: true\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\sidebar.tsx\",\n lineNumber: 250,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\sidebar.tsx\",\n lineNumber: 249,\n columnNumber: 9\n }, this),\n showDiscoverySelector && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ui_lib__WEBPACK_IMPORTED_MODULE_14__.Selector, {\n items: [\n ...DISCOVERY.map((item)=>{\n return {\n title: item.name,\n value: item.path\n };\n })\n ],\n onClose: ()=>setshowDiscoverySelector(false),\n onSelection: (s)=>{\n navigate(s[0], {\n state: {\n fromHome: true\n }\n });\n }\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\sidebar.tsx\",\n lineNumber: 266,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\sidebar.tsx\",\n lineNumber: 243,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(SideBarBody, {\n onClick: (e)=>{\n if (e.target === e.currentTarget) {\n navigate(_constant__WEBPACK_IMPORTED_MODULE_11__.Path.Home);\n }\n },\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(ChatList, {\n narrow: shouldNarrow\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\sidebar.tsx\",\n lineNumber: 289,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\sidebar.tsx\",\n lineNumber: 282,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(SideBarTail, {\n primaryAction: /*#__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: (0,clsx__WEBPACK_IMPORTED_MODULE_15__[\"default\"])((_home_module_scss__WEBPACK_IMPORTED_MODULE_17___default()[\"sidebar-action\"]), (_home_module_scss__WEBPACK_IMPORTED_MODULE_17___default().mobile)),\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_button__WEBPACK_IMPORTED_MODULE_2__.IconButton, {\n icon: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_icons_delete_svg__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {}, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\sidebar.tsx\",\n lineNumber: 296,\n columnNumber: 23\n }, void 0),\n onClick: async ()=>{\n if (await (0,_ui_lib__WEBPACK_IMPORTED_MODULE_14__.showConfirm)(_locales__WEBPACK_IMPORTED_MODULE_9__[\"default\"].Home.DeleteChat)) {\n chatStore.deleteSession(chatStore.currentSessionIndex);\n }\n }\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\sidebar.tsx\",\n lineNumber: 295,\n columnNumber: 15\n }, void 0)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\sidebar.tsx\",\n lineNumber: 294,\n columnNumber: 13\n }, void 0),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: (_home_module_scss__WEBPACK_IMPORTED_MODULE_17___default()[\"sidebar-action\"]),\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_router_dom__WEBPACK_IMPORTED_MODULE_19__.Link, {\n to: _constant__WEBPACK_IMPORTED_MODULE_11__.Path.Settings,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_button__WEBPACK_IMPORTED_MODULE_2__.IconButton, {\n aria: _locales__WEBPACK_IMPORTED_MODULE_9__[\"default\"].Settings.Title,\n icon: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_icons_settings_svg__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {}, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\sidebar.tsx\",\n lineNumber: 308,\n columnNumber: 25\n }, void 0),\n shadow: true\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\sidebar.tsx\",\n lineNumber: 306,\n columnNumber: 17\n }, void 0)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\sidebar.tsx\",\n lineNumber: 305,\n columnNumber: 15\n }, void 0)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\sidebar.tsx\",\n lineNumber: 304,\n columnNumber: 13\n }, void 0)\n ]\n }, void 0, true),\n secondaryAction: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_button__WEBPACK_IMPORTED_MODULE_2__.IconButton, {\n icon: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_icons_mask_svg__WEBPACK_IMPORTED_MODULE_7__[\"default\"], {}, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\sidebar.tsx\",\n lineNumber: 317,\n columnNumber: 21\n }, void 0),\n text: shouldNarrow ? undefined : _locales__WEBPACK_IMPORTED_MODULE_9__[\"default\"].Mask.Name,\n onClick: ()=>{\n if (config.dontShowMaskSplashScreen !== true) {\n navigate(_constant__WEBPACK_IMPORTED_MODULE_11__.Path.NewChat, {\n state: {\n fromHome: true\n }\n });\n } else {\n navigate(_constant__WEBPACK_IMPORTED_MODULE_11__.Path.Masks, {\n state: {\n fromHome: true\n }\n });\n }\n },\n shadow: true\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\sidebar.tsx\",\n lineNumber: 316,\n columnNumber: 11\n }, void 0)\n }, void 0, false, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\sidebar.tsx\",\n lineNumber: 291,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"D:\\\\NextChatCD\\\\app\\\\components\\\\sidebar.tsx\",\n lineNumber: 238,\n columnNumber: 5\n }, this);\n}\n_s3(SideBar, \"iSaWbHwCifIibzferT/kPvTq2Ek=\", false, function() {\n return [\n useHotKey,\n useDragSideBar,\n react_router_dom__WEBPACK_IMPORTED_MODULE_18__.useNavigate,\n _store__WEBPACK_IMPORTED_MODULE_10__.useAppConfig,\n _store__WEBPACK_IMPORTED_MODULE_10__.useChatStore\n ];\n});\n_c5 = SideBar;\nvar _c, _c1, _c2, _c3, _c4, _c5;\n$RefreshReg$(_c, \"ChatList\");\n$RefreshReg$(_c1, \"SideBarContainer\");\n$RefreshReg$(_c2, \"SideBarHeader\");\n$RefreshReg$(_c3, \"SideBarBody\");\n$RefreshReg$(_c4, \"SideBarTail\");\n$RefreshReg$(_c5, \"SideBar\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL2FwcC9jb21wb25lbnRzL3NpZGViYXIudHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBOEU7QUFFdEM7QUFFRjtBQUNXO0FBRUY7QUFDUjtBQUNNO0FBQ0o7QUFDQTtBQUVUO0FBRXNCO0FBU2pDO0FBRWdDO0FBQ0g7QUFDZjtBQUNjO0FBQ3pCO0FBQ3NCO0FBRTlDLE1BQU0rQixZQUFZO0lBQ2hCO1FBQUVDLE1BQU1sQixnREFBTUEsQ0FBQ21CLE1BQU0sQ0FBQ0MsSUFBSTtRQUFFQyxNQUFNZCw0Q0FBSUEsQ0FBQ2UsT0FBTztJQUFDO0lBQy9DO1FBQUVKLE1BQU07UUFBb0JHLE1BQU1kLDRDQUFJQSxDQUFDZ0IsRUFBRTtJQUFDO0lBQzFDO1FBQUVMLE1BQU1sQixnREFBTUEsQ0FBQ3dCLFVBQVUsQ0FBQ0MsSUFBSSxDQUFDQyxLQUFLO1FBQUVMLE1BQU1kLDRDQUFJQSxDQUFDaUIsVUFBVTtJQUFDO0NBQzdEO0FBRUQsTUFBTUcsV0FBV2YseURBQU9BLENBQUMsVUFBWSxDQUFDLE1BQU0scU5BQW9CLEVBQUdlLFFBQVE7Ozs7OztJQUN6RUMsU0FBUyxJQUFNOztLQURYRDtBQUlDLFNBQVNFOztJQUNkLE1BQU1DLFlBQVk1QixxREFBWUE7SUFFOUJkLGdEQUFTQSxDQUFDO1FBQ1IsTUFBTTJDLFlBQVksQ0FBQ0M7WUFDakIsSUFBSUEsRUFBRUMsTUFBTSxJQUFJRCxFQUFFRSxPQUFPLEVBQUU7Z0JBQ3pCLElBQUlGLEVBQUVHLEdBQUcsS0FBSyxXQUFXO29CQUN2QkwsVUFBVU0sV0FBVyxDQUFDLENBQUM7Z0JBQ3pCLE9BQU8sSUFBSUosRUFBRUcsR0FBRyxLQUFLLGFBQWE7b0JBQ2hDTCxVQUFVTSxXQUFXLENBQUM7Z0JBQ3hCO1lBQ0Y7UUFDRjtRQUVBQyxPQUFPQyxnQkFBZ0IsQ0FBQyxXQUFXUDtRQUNuQyxPQUFPLElBQU1NLE9BQU9FLG1CQUFtQixDQUFDLFdBQVdS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Ozs7c0NBR0osOERBQUNoRDs0QkFBSUQsV0FBV25GLDZFQUF3QjtzQ0FDdEMsNEVBQUNnQixtREFBSUE7Z0NBQUNxSCxJQUFJdEgsNENBQUlBLENBQUN1SCxRQUFROzBDQUNyQiw0RUFBQ3JJLCtDQUFVQTtvQ0FDVHNJLE1BQU0vSCxnREFBTUEsQ0FBQzhILFFBQVEsQ0FBQ3BHLEtBQUs7b0NBQzNCMkUsb0JBQU0sOERBQUMzRywyREFBWUE7Ozs7O29DQUNuQmtILE1BQU07Ozs7Ozs7Ozs7Ozs7Ozs7OztnQkFNaEJsQiwrQkFDRSw4REFBQ2pHLCtDQUFVQTtvQkFDUDRHLG9CQUFNLDhEQUFDdkcsdURBQVFBOzs7OztvQkFDZndHLE1BQU10QyxlQUFlZSxZQUFZL0UsZ0RBQU1BLENBQUNnSSxJQUFJLENBQUM1RyxJQUFJO29CQUNqRG1FLFNBQVM7d0JBQ1AsSUFBSTFDLE9BQU80RCx3QkFBd0IsS0FBSyxNQUFNOzRCQUM1Q1gsU0FBU3ZGLDRDQUFJQSxDQUFDaUcsT0FBTyxFQUFFO2dDQUFFWSxPQUFPO29DQUFFQyxVQUFVO2dDQUFLOzRCQUFFO3dCQUNyRCxPQUFPOzRCQUNMdkIsU0FBU3ZGLDRDQUFJQSxDQUFDMEgsS0FBSyxFQUFFO2dDQUFFYixPQUFPO29DQUFFQyxVQUFVO2dDQUFLOzRCQUFFO3dCQUNuRDtvQkFDRjtvQkFDQVQsTUFBTTs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFNcEI7SUFsSGdCakI7O1FBQ2Q5RDtRQUNzQ1c7UUFFckIvQiwwREFBV0E7UUFDYlIsaURBQVlBO1FBQ1RDLGlEQUFZQTs7O01BTmhCeUYiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vYXBwL2NvbXBvbmVudHMvc2lkZWJhci50c3g/M2MxNyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgRnJhZ21lbnQsIHVzZUVmZmVjdCwgdXNlTWVtbywgdXNlUmVmLCB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xyXG5cclxuaW1wb3J0IHN0eWxlcyBmcm9tIFwiLi9ob21lLm1vZHVsZS5zY3NzXCI7XHJcblxyXG5pbXBvcnQgeyBJY29uQnV0dG9uIH0gZnJvbSBcIi4vYnV0dG9uXCI7XHJcbmltcG9ydCBTZXR0aW5nc0ljb24gZnJvbSBcIi4uL2ljb25zL3NldHRpbmdzLnN2Z1wiO1xyXG5pbXBvcnQgR2l0aHViSWNvbiBmcm9tIFwiLi4vaWNvbnMvZ2l0aHViLnN2Z1wiO1xyXG5pbXBvcnQgQ2hhdEdwdEljb24gZnJvbSBcIi4uL2ljb25zL2NoYXRncHQuc3ZnXCI7XHJcbmltcG9ydCBBZGRJY29uIGZyb20gXCIuLi9pY29ucy9hZGQuc3ZnXCI7XHJcbmltcG9ydCBEZWxldGVJY29uIGZyb20gXCIuLi9pY29ucy9kZWxldGUuc3ZnXCI7XHJcbmltcG9ydCBNYXNrSWNvbiBmcm9tIFwiLi4vaWNvbnMvbWFzay5zdmdcIjtcclxuaW1wb3J0IERyYWdJY29uIGZyb20gXCIuLi9pY29ucy9kcmFnLnN2Z1wiO1xyXG5cclxuaW1wb3J0IExvY2FsZSBmcm9tIFwiLi4vbG9jYWxlc1wiO1xyXG5cclxuaW1wb3J0IHsgdXNlQXBwQ29uZmlnLCB1c2VDaGF0U3RvcmUgfSBmcm9tIFwiLi4vc3RvcmVcIjtcclxuXHJcbmltcG9ydCB7XHJcbiAgREVGQVVMVF9TSURFQkFSX1dJRFRILFxyXG4gIE1BWF9TSURFQkFSX1dJRFRILFxyXG4gIE1JTl9TSURFQkFSX1dJRFRILFxyXG4gIE5BUlJPV19TSURFQkFSX1dJRFRILFxyXG4gIFBhdGgsXHJcbiAgUkVQT19VUkwsXHJcbn0gZnJvbSBcIi4uL2NvbnN0YW50XCI7XHJcblxyXG5pbXBvcnQgeyBMaW5rLCB1c2VOYXZpZ2F0ZSB9IGZyb20gXCJyZWFjdC1yb3V0ZXItZG9tXCI7XHJcbmltcG9ydCB7IGlzSU9TLCB1c2VNb2JpbGVTY3JlZW4gfSBmcm9tIFwiLi4vdXRpbHNcIjtcclxuaW1wb3J0IGR5bmFtaWMgZnJvbSBcIm5leHQvZHluYW1pY1wiO1xyXG5pbXBvcnQgeyBTZWxlY3Rvciwgc2hvd0NvbmZpcm0gfSBmcm9tIFwiLi91aS1saWJcIjtcclxuaW1wb3J0IGNsc3ggZnJvbSBcImNsc3hcIjtcclxuaW1wb3J0IHsgaXNNY3BFbmFibGVkIH0gZnJvbSBcIi4uL21jcC9hY3Rpb25zXCI7XHJcblxyXG5jb25zdCBESVNDT1ZFUlkgPSBbXHJcbiAgeyBuYW1lOiBMb2NhbGUuUGx1Z2luLk5hbWUsIHBhdGg6IFBhdGguUGx1Z2lucyB9LFxyXG4gIHsgbmFtZTogXCJTdGFibGUgRGlmZnVzaW9uXCIsIHBhdGg6IFBhdGguU2QgfSxcclxuICB7IG5hbWU6IExvY2FsZS5TZWFyY2hDaGF0LlBhZ2UuVGl0bGUsIHBhdGg6IFBhdGguU2VhcmNoQ2hhdCB9LFxyXG5dO1xyXG5cclxuY29uc3QgQ2hhdExpc3QgPSBkeW5hbWljKGFzeW5jICgpID0+IChhd2FpdCBpbXBvcnQoXCIuL2NoYXQtbGlzdFwiKSkuQ2hhdExpc3QsIHtcclxuICBsb2FkaW5nOiAoKSA9PiBudWxsLFxyXG59KTtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiB1c2VIb3RLZXkoKSB7XHJcbiAgY29uc3QgY2hhdFN0b3JlID0gdXNlQ2hhdFN0b3JlKCk7XHJcblxyXG4gIHVzZUVmZmVjdCgoKSA9PiB7XHJcbiAgICBjb25zdCBvbktleURvd24gPSAoZTogS2V5Ym9hcmRFdmVudCkgPT4ge1xyXG4gICAgICBpZiAoZS5hbHRLZXkgfHwgZS5jdHJsS2V5KSB7XHJcbiAgICAgICAgaWYgKGUua2V5ID09PSBcIkFycm93VXBcIikge1xyXG4gICAgICAgICAgY2hhdFN0b3JlLm5leHRTZXNzaW9uKC0xKTtcclxuICAgICAgICB9IGVsc2UgaWYgKGUua2V5ID09PSBcIkFycm93RG93blwiKSB7XHJcbiAgICAgICAgICBjaGF0U3RvcmUubmV4dFNlc3Npb24oMSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9O1xyXG5cclxuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwia2V5ZG93blwiLCBvbktleURvd24pO1xyXG4gICAgcmV0dXJuICgpID0+IHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKFwia2V5ZG93blwiLCBvbktleURvd24pO1xyXG4gIH0pO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gdXNlRHJhZ1NpZGVCYXIoKSB7XHJcbiAgY29uc3QgbGltaXQgPSAoeDogbnVtYmVyKSA9PiBNYXRoLm1pbihNQVhfU0lERUJBUl9XSURUSCwgeCk7XHJcblxyXG4gIGNvbnN0IGNvbmZpZyA9IHVzZUFwcENvbmZpZygpO1xyXG4gIGNvbnN0IHN0YXJ0WCA9IHVzZVJlZigwKTtcclxuICBjb25zdCBzdGFydERyYWdXaWR0aCA9IHVzZVJlZihjb25maWcuc2lkZWJhcldpZHRoID8/IERFRkFVTFRfU0lERUJBUl9XSURUSCk7XHJcbiAgY29uc3QgbGFzdFVwZGF0ZVRpbWUgPSB1c2VSZWYoRGF0ZS5ub3coKSk7XHJcblxyXG4gIGNvbnN0IHRvZ2dsZVNpZGVCYXIgPSAoKSA9PiB7XHJcbiAgICBjb25maWcudXBkYXRlKChjb25maWcpID0+IHtcclxuICAgICAgaWYgKGNvbmZpZy5zaWRlYmFyV2lkdGggPCBNSU5fU0lERUJBUl9XSURUSCkge1xyXG4gICAgICAgIGNvbmZpZy5zaWRlYmFyV2lkdGggPSBERUZBVUxUX1NJREVCQVJfV0lEVEg7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgY29uZmlnLnNpZGViYXJXaWR0aCA9IE5BUlJPV19TSURFQkFSX1dJRFRIO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9O1xyXG5cclxuICBjb25zdCBvbkRyYWdTdGFydCA9IChlOiBNb3VzZUV2ZW50KSA9PiB7XHJcbiAgICAvLyBSZW1lbWJlcnMgdGhlIGluaXRpYWwgd2lkdGggZWFjaCB0aW1lIHRoZSBtb3VzZSBpcyBwcmVzc2VkXHJcbiAgICBzdGFydFguY3VycmVudCA9IGUuY2xpZW50WDtcclxuICAgIHN0YXJ0RHJhZ1dpZHRoLmN1cnJlbnQgPSBjb25maWcuc2lkZWJhcldpZHRoO1xyXG4gICAgY29uc3QgZHJhZ1N0YXJ0VGltZSA9IERhdGUubm93KCk7XHJcblxyXG4gICAgY29uc3QgaGFuZGxlRHJhZ01vdmUgPSAoZTogTW91c2VFdmVudCkgPT4ge1xyXG4gICAgICBpZiAoRGF0ZS5ub3coKSA8IGxhc3RVcGRhdGVUaW1lLmN1cnJlbnQgKyAyMCkge1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICBsYXN0VXBkYXRlVGltZS5jdXJyZW50ID0gRGF0ZS5ub3coKTtcclxuICAgICAgY29uc3QgZCA9IGUuY2xpZW50WCAtIHN0YXJ0WC5jdXJyZW50O1xyXG4gICAgICBjb25zdCBuZXh0V2lkdGggPSBsaW1pdChzdGFydERyYWdXaWR0aC5jdXJyZW50ICsgZCk7XHJcbiAgICAgIGNvbmZpZy51cGRhdGUoKGNvbmZpZykgPT4ge1xyXG4gICAgICAgIGlmIChuZXh0V2lkdGggPCBNSU5fU0lERUJBUl9XSURUSCkge1xyXG4gICAgICAgICAgY29uZmlnLnNpZGViYXJXaWR0aCA9IE5BUlJPV19TSURFQkFSX1dJRFRIO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBjb25maWcuc2lkZWJhcldpZHRoID0gbmV4dFdpZHRoO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9O1xyXG5cclxuICAgIGNvbnN0IGhhbmRsZURyYWdFbmQgPSAoKSA9PiB7XHJcbiAgICAgIC8vIEluIHVzZVJlZiB0aGUgZGF0YSBpcyBub24tcmVzcG9uc2l2ZSwgc28gYGNvbmZpZy5zaWRlYmFyV2lkdGhgIGNhbid0IGdldCB0aGUgZHluYW1pYyBzaWRlYmFyV2lkdGhcclxuICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJwb2ludGVybW92ZVwiLCBoYW5kbGVEcmFnTW92ZSk7XHJcbiAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKFwicG9pbnRlcnVwXCIsIGhhbmRsZURyYWdFbmQpO1xyXG5cclxuICAgICAgLy8gaWYgdXNlciBjbGljayB0aGUgZHJhZyBpY29uLCBzaG91bGQgdG9nZ2xlIHRoZSBzaWRlYmFyXHJcbiAgICAgIGNvbnN0IHNob3VsZEZpcmVDbGljayA9IERhdGUubm93KCkgLSBkcmFnU3RhcnRUaW1lIDwgMzAwO1xyXG4gICAgICBpZiAoc2hvdWxkRmlyZUNsaWNrKSB7XHJcbiAgICAgICAgdG9nZ2xlU2lkZUJhcigpO1xyXG4gICAgICB9XHJcbiAgICB9O1xyXG5cclxuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwicG9pbnRlcm1vdmVcIiwgaGFuZGxlRHJhZ01vdmUpO1xyXG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJwb2ludGVydXBcIiwgaGFuZGxlRHJhZ0VuZCk7XHJcbiAgfTtcclxuXHJcbiAgY29uc3QgaXNNb2JpbGVTY3JlZW4gPSB1c2VNb2JpbGVTY3JlZW4oKTtcclxuICBjb25zdCBzaG91bGROYXJyb3cgPVxyXG4gICAgIWlzTW9iaWxlU2NyZWVuICYmIGNvbmZpZy5zaWRlYmFyV2lkdGggPCBNSU5fU0lERUJBUl9XSURUSDtcclxuXHJcbiAgdXNlRWZmZWN0KCgpID0+IHtcclxuICAgIGNvbnN0IGJhcldpZHRoID0gc2hvdWxkTmFycm93XHJcbiAgICAgID8gTkFSUk9XX1NJREVCQVJfV0lEVEhcclxuICAgICAgOiBsaW1pdChjb25maWcuc2lkZWJhcldpZHRoID8/IERFRkFVTFRfU0lERUJBUl9XSURUSCk7XHJcbiAgICBjb25zdCBzaWRlQmFyV2lkdGggPSBpc01vYmlsZVNjcmVlbiA/IFwiMTAwdndcIiA6IGAke2JhcldpZHRofXB4YDtcclxuICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eShcIi0tc2lkZWJhci13aWR0aFwiLCBzaWRlQmFyV2lkdGgpO1xyXG4gIH0sIFtjb25maWcuc2lkZWJhcldpZHRoLCBpc01vYmlsZVNjcmVlbiwgc2hvdWxkTmFycm93XSk7XHJcblxyXG4gIHJldHVybiB7XHJcbiAgICBvbkRyYWdTdGFydCxcclxuICAgIHNob3VsZE5hcnJvdyxcclxuICB9O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gU2lkZUJhckNvbnRhaW5lcihwcm9wczoge1xyXG4gIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGU7XHJcbiAgb25EcmFnU3RhcnQ6IChlOiBNb3VzZUV2ZW50KSA9PiB2b2lkO1xyXG4gIHNob3VsZE5hcnJvdzogYm9vbGVhbjtcclxuICBjbGFzc05hbWU/OiBzdHJpbmc7XHJcbn0pIHtcclxuICBjb25zdCBpc01vYmlsZVNjcmVlbiA9IHVzZU1vYmlsZVNjcmVlbigpO1xyXG4gIGNvbnN0IGlzSU9TTW9iaWxlID0gdXNlTWVtbyhcclxuICAgICgpID0+IGlzSU9TKCkgJiYgaXNNb2JpbGVTY3JlZW4sXHJcbiAgICBbaXNNb2JpbGVTY3JlZW5dLFxyXG4gICk7XHJcbiAgY29uc3QgeyBjaGlsZHJlbiwgY2xhc3NOYW1lLCBvbkRyYWdTdGFydCwgc2hvdWxkTmFycm93IH0gPSBwcm9wcztcclxuICByZXR1cm4gKFxyXG4gICAgPGRpdlxyXG4gICAgICBjbGFzc05hbWU9e2Nsc3goc3R5bGVzLnNpZGViYXIsIGNsYXNzTmFtZSwge1xyXG4gICAgICAgIFtzdHlsZXNbXCJuYXJyb3ctc2lkZWJhclwiXV06IHNob3VsZE5hcnJvdyxcclxuICAgICAgfSl9XHJcbiAgICAgIHN0eWxlPXt7XHJcbiAgICAgICAgLy8gIzMwMTYgZGlzYWJsZSB0cmFuc2l0aW9uIG9uIGlvcyBtb2JpbGUgc2NyZWVuXHJcbiAgICAgICAgdHJhbnNpdGlvbjogaXNNb2JpbGVTY3JlZW4gJiYgaXNJT1NNb2JpbGUgPyBcIm5vbmVcIiA6IHVuZGVmaW5lZCxcclxuICAgICAgfX1cclxuICAgID5cclxuICAgICAge2NoaWxkcmVufVxyXG4gICAgICA8ZGl2XHJcbiAgICAgICAgY2xhc3NOYW1lPXtzdHlsZXNbXCJzaWRlYmFyLWRyYWdcIl19XHJcbiAgICAgICAgb25Qb2ludGVyRG93bj17KGUpID0+IG9uRHJhZ1N0YXJ0KGUgYXMgYW55KX1cclxuICAgICAgPlxyXG4gICAgICAgIDxEcmFnSWNvbiAvPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBTaWRlQmFySGVhZGVyKHByb3BzOiB7XHJcbiAgdGl0bGU/OiBzdHJpbmcgfCBSZWFjdC5SZWFjdE5vZGU7XHJcbiAgc3ViVGl0bGU/OiBzdHJpbmcgfCBSZWFjdC5SZWFjdE5vZGU7XHJcbiAgbG9nbz86IFJlYWN0LlJlYWN0Tm9kZTtcclxuICBjaGlsZHJlbj86IFJlYWN0LlJlYWN0Tm9kZTtcclxuICBzaG91bGROYXJyb3c/OiBib29sZWFuO1xyXG59KSB7XHJcbiAgY29uc3QgeyB0aXRsZSwgc3ViVGl0bGUsIGxvZ28sIGNoaWxkcmVuLCBzaG91bGROYXJyb3cgfSA9IHByb3BzO1xyXG4gIHJldHVybiAoXHJcbiAgICA8RnJhZ21lbnQ+XHJcbiAgICAgIDxkaXZcclxuICAgICAgICBjbGFzc05hbWU9e2Nsc3goc3R5bGVzW1wic2lkZWJhci1oZWFkZXJcIl0sIHtcclxuICAgICAgICAgIFtzdHlsZXNbXCJzaWRlYmFyLWhlYWRlci1uYXJyb3dcIl1dOiBzaG91bGROYXJyb3csXHJcbiAgICAgICAgfSl9XHJcbiAgICAgICAgZGF0YS10YXVyaS1kcmFnLXJlZ2lvblxyXG4gICAgICA+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICB7Y2hpbGRyZW59XHJcbiAgICA8L0ZyYWdtZW50PlxyXG4gICk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBTaWRlQmFyQm9keShwcm9wczoge1xyXG4gIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGU7XHJcbiAgb25DbGljaz86IChlOiBSZWFjdC5Nb3VzZUV2ZW50PEhUTUxEaXZFbGVtZW50LCBNb3VzZUV2ZW50PikgPT4gdm9pZDtcclxufSkge1xyXG4gIGNvbnN0IHsgb25DbGljaywgY2hpbGRyZW4gfSA9IHByb3BzO1xyXG4gIHJldHVybiAoXHJcbiAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzW1wic2lkZWJhci1ib2R5XCJdfSBvbkNsaWNrPXtvbkNsaWNrfT5cclxuICAgICAge2NoaWxkcmVufVxyXG4gICAgPC9kaXY+XHJcbiAgKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIFNpZGVCYXJUYWlsKHByb3BzOiB7XHJcbiAgcHJpbWFyeUFjdGlvbj86IFJlYWN0LlJlYWN0Tm9kZTtcclxuICBzZWNvbmRhcnlBY3Rpb24/OiBSZWFjdC5SZWFjdE5vZGU7XHJcbn0pIHtcclxuICBjb25zdCB7IHByaW1hcnlBY3Rpb24sIHNlY29uZGFyeUFjdGlvbiB9ID0gcHJvcHM7XHJcblxyXG4gIHJldHVybiAoXHJcbiAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzW1wic2lkZWJhci10YWlsXCJdfT5cclxuICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1tcInNpZGViYXItYWN0aW9uc1wiXX0+e3ByaW1hcnlBY3Rpb259PC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbXCJzaWRlYmFyLWFjdGlvbnNcIl19PntzZWNvbmRhcnlBY3Rpb259PC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICApO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gU2lkZUJhcihwcm9wczogeyBjbGFzc05hbWU/OiBzdHJpbmcgfSkge1xyXG4gIHVzZUhvdEtleSgpO1xyXG4gIGNvbnN0IHsgb25EcmFnU3RhcnQsIHNob3VsZE5hcnJvdyB9ID0gdXNlRHJhZ1NpZGVCYXIoKTtcclxuICBjb25zdCBbc2hvd0Rpc2NvdmVyeVNlbGVjdG9yLCBzZXRzaG93RGlzY292ZXJ5U2VsZWN0b3JdID0gdXNlU3RhdGUoZmFsc2UpO1xyXG4gIGNvbnN0IG5hdmlnYXRlID0gdXNlTmF2aWdhdGUoKTtcclxuICBjb25zdCBjb25maWcgPSB1c2VBcHBDb25maWcoKTtcclxuICBjb25zdCBjaGF0U3RvcmUgPSB1c2VDaGF0U3RvcmUoKTtcclxuICBjb25zdCBbbWNwRW5hYmxlZCwgc2V0TWNwRW5hYmxlZF0gPSB1c2VTdGF0ZShmYWxzZSk7XHJcblxyXG4gIHVzZUVmZmVjdCgoKSA9PiB7XHJcbiAgICAvLyDmo4Dmn6UgTUNQIOaYr+WQpuWQr+eUqFxyXG4gICAgY29uc3QgY2hlY2tNY3BTdGF0dXMgPSBhc3luYyAoKSA9PiB7XHJcbiAgICAgIGNvbnN0IGVuYWJsZWQgPSBhd2FpdCBpc01jcEVuYWJsZWQoKTtcclxuICAgICAgc2V0TWNwRW5hYmxlZChlbmFibGVkKTtcclxuICAgICAgY29uc29sZS5sb2coXCJbU2lkZUJhcl0gTUNQIGVuYWJsZWQ6XCIsIGVuYWJsZWQpO1xyXG4gICAgfTtcclxuICAgIGNoZWNrTWNwU3RhdHVzKCk7XHJcbiAgfSwgW10pO1xyXG5cclxuICByZXR1cm4gKFxyXG4gICAgPFNpZGVCYXJDb250YWluZXJcclxuICAgICAgb25EcmFnU3RhcnQ9e29uRHJhZ1N0YXJ0fVxyXG4gICAgICBzaG91bGROYXJyb3c9e3Nob3VsZE5hcnJvd31cclxuICAgICAgey4uLnByb3BzfVxyXG4gICAgPlxyXG4gICAgICA8U2lkZUJhckhlYWRlclxyXG4gICAgICAgIHRpdGxlPVwiTmV4dENoYXRcIlxyXG4gICAgICAgIHN1YlRpdGxlPVwiQnVpbGQgeW91ciBvd24gQUkgYXNzaXN0YW50LlwiXHJcbiAgICAgICAgbG9nbz17PENoYXRHcHRJY29uIC8+fVxyXG4gICAgICAgIHNob3VsZE5hcnJvdz17c2hvdWxkTmFycm93fVxyXG4gICAgICA+XHJcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1tcInNpZGViYXItaGVhZGVyLWJhclwiXX0+XHJcbiAgICAgICAgICA8SWNvbkJ1dHRvblxyXG4gICAgICAgICAgICAgIGljb249ezxBZGRJY29uIC8+fVxyXG4gICAgICAgICAgICAgIHRleHQ9e3Nob3VsZE5hcnJvdyA/IHVuZGVmaW5lZCA6IExvY2FsZS5Ib21lLk5ld0NoYXR9XHJcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPXtzdHlsZXNbXCJzaWRlYmFyLWJhci1idXR0b25cIl19XHJcbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKGNvbmZpZy5kb250U2hvd01hc2tTcGxhc2hTY3JlZW4pIHtcclxuICAgICAgICAgICAgICAgICAgY2hhdFN0b3JlLm5ld1Nlc3Npb24oKTtcclxuICAgICAgICAgICAgICAgICAgbmF2aWdhdGUoUGF0aC5DaGF0KTtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgIG5hdmlnYXRlKFBhdGguTmV3Q2hhdCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICBzaGFkb3dcclxuICAgICAgICAgIC8+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAge3Nob3dEaXNjb3ZlcnlTZWxlY3RvciAmJiAoXHJcbiAgICAgICAgICA8U2VsZWN0b3JcclxuICAgICAgICAgICAgaXRlbXM9e1tcclxuICAgICAgICAgICAgICAuLi5ESVNDT1ZFUlkubWFwKChpdGVtKSA9PiB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgICB0aXRsZTogaXRlbS5uYW1lLFxyXG4gICAgICAgICAgICAgICAgICB2YWx1ZTogaXRlbS5wYXRoLFxyXG4gICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgXX1cclxuICAgICAgICAgICAgb25DbG9zZT17KCkgPT4gc2V0c2hvd0Rpc2NvdmVyeVNlbGVjdG9yKGZhbHNlKX1cclxuICAgICAgICAgICAgb25TZWxlY3Rpb249eyhzKSA9PiB7XHJcbiAgICAgICAgICAgICAgbmF2aWdhdGUoc1swXSwgeyBzdGF0ZTogeyBmcm9tSG9tZTogdHJ1ZSB9IH0pO1xyXG4gICAgICAgICAgICB9fVxyXG4gICAgICAgICAgLz5cclxuICAgICAgICApfVxyXG4gICAgICA8L1NpZGVCYXJIZWFkZXI+XHJcbiAgICAgIDxTaWRlQmFyQm9keVxyXG4gICAgICAgIG9uQ2xpY2s9eyhlKSA9PiB7XHJcbiAgICAgICAgICBpZiAoZS50YXJnZXQgPT09IGUuY3VycmVudFRhcmdldCkge1xyXG4gICAgICAgICAgICBuYXZpZ2F0ZShQYXRoLkhvbWUpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH19XHJcbiAgICAgID5cclxuICAgICAgICA8Q2hhdExpc3QgbmFycm93PXtzaG91bGROYXJyb3d9IC8+XHJcbiAgICAgIDwvU2lkZUJhckJvZHk+XHJcbiAgICAgIDxTaWRlQmFyVGFpbFxyXG4gICAgICAgIHByaW1hcnlBY3Rpb249e1xyXG4gICAgICAgICAgPD5cclxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2Nsc3goc3R5bGVzW1wic2lkZWJhci1hY3Rpb25cIl0sIHN0eWxlcy5tb2JpbGUpfT5cclxuICAgICAgICAgICAgICA8SWNvbkJ1dHRvblxyXG4gICAgICAgICAgICAgICAgaWNvbj17PERlbGV0ZUljb24gLz59XHJcbiAgICAgICAgICAgICAgICBvbkNsaWNrPXthc3luYyAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgIGlmIChhd2FpdCBzaG93Q29uZmlybShMb2NhbGUuSG9tZS5EZWxldGVDaGF0KSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNoYXRTdG9yZS5kZWxldGVTZXNzaW9uKGNoYXRTdG9yZS5jdXJyZW50U2Vzc2lvbkluZGV4KTtcclxuICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1tcInNpZGViYXItYWN0aW9uXCJdfT5cclxuICAgICAgICAgICAgICA8TGluayB0bz17UGF0aC5TZXR0aW5nc30+XHJcbiAgICAgICAgICAgICAgICA8SWNvbkJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICBhcmlhPXtMb2NhbGUuU2V0dGluZ3MuVGl0bGV9XHJcbiAgICAgICAgICAgICAgICAgIGljb249ezxTZXR0aW5nc0ljb24gLz59XHJcbiAgICAgICAgICAgICAgICAgIHNoYWRvd1xyXG4gICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICA8L0xpbms+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC8+XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHNlY29uZGFyeUFjdGlvbj17XHJcbiAgICAgICAgICA8SWNvbkJ1dHRvblxyXG4gICAgICAgICAgICAgIGljb249ezxNYXNrSWNvbiAvPn1cclxuICAgICAgICAgICAgICB0ZXh0PXtzaG91bGROYXJyb3cgPyB1bmRlZmluZWQgOiBMb2NhbGUuTWFzay5OYW1lfVxyXG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChjb25maWcuZG9udFNob3dNYXNrU3BsYXNoU2NyZWVuICE9PSB0cnVlKSB7XHJcbiAgICAgICAgICAgICAgICAgIG5hdmlnYXRlKFBhdGguTmV3Q2hhdCwgeyBzdGF0ZTogeyBmcm9tSG9tZTogdHJ1ZSB9IH0pO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgbmF2aWdhdGUoUGF0aC5NYXNrcywgeyBzdGF0ZTogeyBmcm9tSG9tZTogdHJ1ZSB9IH0pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgc2hhZG93XHJcbiAgICAgICAgICAvPlxyXG4gICAgICAgIH1cclxuICAgICAgLz5cclxuICAgIDwvU2lkZUJhckNvbnRhaW5lcj5cclxuICApO1xyXG59XHJcbiJdLCJuYW1lcyI6WyJSZWFjdCIsIkZyYWdtZW50IiwidXNlRWZmZWN0IiwidXNlTWVtbyIsInVzZVJlZiIsInVzZVN0YXRlIiwic3R5bGVzIiwiSWNvbkJ1dHRvbiIsIlNldHRpbmdzSWNvbiIsIkNoYXRHcHRJY29uIiwiQWRkSWNvbiIsIkRlbGV0ZUljb24iLCJNYXNrSWNvbiIsIkRyYWdJY29uIiwiTG9jYWxlIiwidXNlQXBwQ29uZmlnIiwidXNlQ2hhdFN0b3JlIiwiREVGQVVMVF9TSURFQkFSX1dJRFRIIiwiTUFYX1NJREVCQVJfV0lEVEgiLCJNSU5fU0lERUJBUl9XSURUSCIsIk5BUlJPV19TSURFQkFSX1dJRFRIIiwiUGF0aCIsIkxpbmsiLCJ1c2VOYXZpZ2F0ZSIsImlzSU9TIiwidXNlTW9iaWxlU2NyZWVuIiwiZHluYW1pYyIsIlNlbGVjdG9yIiwic2hvd0NvbmZpcm0iLCJjbHN4IiwiaXNNY3BFbmFibGVkIiwiRElTQ09WRVJZIiwibmFtZSIsIlBsdWdpbiIsIk5hbWUiLCJwYXRoIiwiUGx1Z2lucyIsIlNkIiwiU2VhcmNoQ2hhdCIsIlBhZ2UiLCJUaXRsZSIsIkNoYXRMaXN0IiwibG9hZGluZyIsInVzZUhvdEtleSIsImNoYXRTdG9yZSIsIm9uS2V5RG93biIsImUiLCJhbHRLZXkiLCJjdHJsS2V5Iiwia2V5IiwibmV4dFNlc3Npb24iLCJ3aW5kb3ciLCJhZGRFdmVudExpc3RlbmVyIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsInVzZURyYWdTaWRlQmFyIiwibGltaXQiLCJ4IiwiTWF0aCIsIm1pbiIsImNvbmZpZyIsInN0YXJ0WCIsInN0YXJ0RHJhZ1dpZHRoIiwic2lkZWJhcldpZHRoIiwibGFzdFVwZGF0ZVRpbWUiLCJEYXRlIiwibm93IiwidG9nZ2xlU2lkZUJhciIsInVwZGF0ZSIsIm9uRHJhZ1N0YXJ0IiwiY3VycmVudCIsImNsaWVudFgiLCJkcmFnU3RhcnRUaW1lIiwiaGFuZGxlRHJhZ01vdmUiLCJkIiwibmV4dFdpZHRoIiwiaGFuZGxlRHJhZ0VuZCIsInNob3VsZEZpcmVDbGljayIsImlzTW9iaWxlU2NyZWVuIiwic2hvdWxkTmFycm93IiwiYmFyV2lkdGgiLCJzaWRlQmFyV2lkdGgiLCJkb2N1bWVudCIsImRvY3VtZW50RWxlbWVudCIsInN0eWxlIiwic2V0UHJvcGVydHkiLCJTaWRlQmFyQ29udGFpbmVyIiwicHJvcHMiLCJpc0lPU01vYmlsZSIsImNoaWxkcmVuIiwiY2xhc3NOYW1lIiwiZGl2Iiwic2lkZWJhciIsInRyYW5zaXRpb24iLCJ1bmRlZmluZWQiLCJvblBvaW50ZXJEb3duIiwiU2lkZUJhckhlYWRlciIsInRpdGxlIiwic3ViVGl0bGUiLCJsb2dvIiwiZGF0YS10YXVyaS1kcmFnLXJlZ2lvbiIsIlNpZGVCYXJCb2R5Iiwib25DbGljayIsIlNpZGVCYXJUYWlsIiwicHJpbWFyeUFjdGlvbiIsInNlY29uZGFyeUFjdGlvbiIsIlNpZGVCYXIiLCJzaG93RGlzY292ZXJ5U2VsZWN0b3IiLCJzZXRzaG93RGlzY292ZXJ5U2VsZWN0b3IiLCJuYXZpZ2F0ZSIsIm1jcEVuYWJsZWQiLCJzZXRNY3BFbmFibGVkIiwiY2hlY2tNY3BTdGF0dXMiLCJlbmFibGVkIiwiY29uc29sZSIsImxvZyIsImljb24iLCJ0ZXh0IiwiSG9tZSIsIk5ld0NoYXQiLCJkb250U2hvd01hc2tTcGxhc2hTY3JlZW4iLCJuZXdTZXNzaW9uIiwiQ2hhdCIsInNoYWRvdyIsIml0ZW1zIiwibWFwIiwiaXRlbSIsInZhbHVlIiwib25DbG9zZSIsIm9uU2VsZWN0aW9uIiwicyIsInN0YXRlIiwiZnJvbUhvbWUiLCJ0YXJnZXQiLCJjdXJyZW50VGFyZ2V0IiwibmFycm93IiwibW9iaWxlIiwiRGVsZXRlQ2hhdCIsImRlbGV0ZVNlc3Npb24iLCJjdXJyZW50U2Vzc2lvbkluZGV4IiwidG8iLCJTZXR0aW5ncyIsImFyaWEiLCJNYXNrIiwiTWFza3MiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./app/components/sidebar.tsx\n"));
/***/ })
});