- Collapsible glassmorphism sidebar with navigation items - Top navbar with global status banner, search, actions, avatar - 4 KPI metric cards with sparkline charts using recharts - Bento-grid style service cards with hover actions - Full Framer Motion animations throughout - Dark theme with emerald/cyan accents - Responsive layout (1-3 columns) - Add monitor modal with animations
218 lines
232 KiB
JavaScript
218 lines
232 KiB
JavaScript
/*
|
|
* 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/).
|
|
*/
|
|
(() => {
|
|
var exports = {};
|
|
exports.id = "app/page";
|
|
exports.ids = ["app/page"];
|
|
exports.modules = {
|
|
|
|
/***/ "next/dist/compiled/next-server/app-page.runtime.dev.js":
|
|
/*!*************************************************************************!*\
|
|
!*** external "next/dist/compiled/next-server/app-page.runtime.dev.js" ***!
|
|
\*************************************************************************/
|
|
/***/ ((module) => {
|
|
|
|
"use strict";
|
|
module.exports = require("next/dist/compiled/next-server/app-page.runtime.dev.js");
|
|
|
|
/***/ }),
|
|
|
|
/***/ "../app-render/action-async-storage.external":
|
|
/*!*******************************************************************************!*\
|
|
!*** external "next/dist/server/app-render/action-async-storage.external.js" ***!
|
|
\*******************************************************************************/
|
|
/***/ ((module) => {
|
|
|
|
"use strict";
|
|
module.exports = require("next/dist/server/app-render/action-async-storage.external.js");
|
|
|
|
/***/ }),
|
|
|
|
/***/ "../app-render/after-task-async-storage.external":
|
|
/*!***********************************************************************************!*\
|
|
!*** external "next/dist/server/app-render/after-task-async-storage.external.js" ***!
|
|
\***********************************************************************************/
|
|
/***/ ((module) => {
|
|
|
|
"use strict";
|
|
module.exports = require("next/dist/server/app-render/after-task-async-storage.external.js");
|
|
|
|
/***/ }),
|
|
|
|
/***/ "../app-render/work-async-storage.external":
|
|
/*!*****************************************************************************!*\
|
|
!*** external "next/dist/server/app-render/work-async-storage.external.js" ***!
|
|
\*****************************************************************************/
|
|
/***/ ((module) => {
|
|
|
|
"use strict";
|
|
module.exports = require("next/dist/server/app-render/work-async-storage.external.js");
|
|
|
|
/***/ }),
|
|
|
|
/***/ "./work-unit-async-storage.external":
|
|
/*!**********************************************************************************!*\
|
|
!*** external "next/dist/server/app-render/work-unit-async-storage.external.js" ***!
|
|
\**********************************************************************************/
|
|
/***/ ((module) => {
|
|
|
|
"use strict";
|
|
module.exports = require("next/dist/server/app-render/work-unit-async-storage.external.js");
|
|
|
|
/***/ }),
|
|
|
|
/***/ "path":
|
|
/*!***********************!*\
|
|
!*** external "path" ***!
|
|
\***********************/
|
|
/***/ ((module) => {
|
|
|
|
"use strict";
|
|
module.exports = require("path");
|
|
|
|
/***/ }),
|
|
|
|
/***/ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader/index.js?name=app%2Fpage&page=%2Fpage&appPaths=%2Fpage&pagePath=private-next-app-dir%2Fpage.tsx&appDir=%2FUsers%2Fmattbruce%2FDocuments%2FProjects%2FOpenClaw%2FWeb%2Fheartbeat-monitor%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fmattbruce%2FDocuments%2FProjects%2FOpenClaw%2FWeb%2Fheartbeat-monitor&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!":
|
|
/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
|
|
!*** ./node_modules/next/dist/build/webpack/loaders/next-app-loader/index.js?name=app%2Fpage&page=%2Fpage&appPaths=%2Fpage&pagePath=private-next-app-dir%2Fpage.tsx&appDir=%2FUsers%2Fmattbruce%2FDocuments%2FProjects%2FOpenClaw%2FWeb%2Fheartbeat-monitor%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fmattbruce%2FDocuments%2FProjects%2FOpenClaw%2FWeb%2Fheartbeat-monitor&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D! ***!
|
|
\**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
|
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
|
|
"use strict";
|
|
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 page4 = () => Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/app/page.tsx */ \"(rsc)/./src/app/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: ['__PAGE__', {}, {\n page: [page4, \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\"],\n \n }]\n },\n {\n 'layout': [module0, \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/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/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/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: \"/page\",\n pathname: \"/\",\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/bmFtZT1hcHAlMkZwYWdlJnBhZ2U9JTJGcGFnZSZhcHBQYXRocz0lMkZwYWdlJnBhZ2VQYXRoPXByaXZhdGUtbmV4dC1hcHAtZGlyJTJGcGFnZS50c3gmYXBwRGlyPSUyRlVzZXJzJTJGbWF0dGJydWNlJTJGRG9jdW1lbnRzJTJGUHJvamVjdHMlMkZPcGVuQ2xhdyUyRldlYiUyRmhlYXJ0YmVhdC1tb25pdG9yJTJGc3JjJTJGYXBwJnBhZ2VFeHRlbnNpb25zPXRzeCZwYWdlRXh0ZW5zaW9ucz10cyZwYWdlRXh0ZW5zaW9ucz1qc3gmcGFnZUV4dGVuc2lvbnM9anMmcm9vdERpcj0lMkZVc2VycyUyRm1hdHRicnVjZSUyRkRvY3VtZW50cyUyRlByb2plY3RzJTJGT3BlbkNsYXclMkZXZWIlMkZoZWFydGJlYXQtbW9uaXRvciZpc0Rldj10cnVlJnRzY29uZmlnUGF0aD10c2NvbmZpZy5qc29uJmJhc2VQYXRoPSZhc3NldFByZWZpeD0mbmV4dENvbmZpZ091dHB1dD0mcHJlZmVycmVkUmVnaW9uPSZtaWRkbGV3YXJlQ29uZmlnPWUzMCUzRCEiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsc0JBQXNCLG9KQUEwSDtBQUNoSixzQkFBc0IsME5BQWdGO0FBQ3RHLHNCQUFzQiwwTkFBZ0Y7QUFDdEcsc0JBQXNCLGdPQUFtRjtBQUN6RyxvQkFBb0IsZ0pBQXdIO0FBRzFJO0FBQ3NEO0FBQ3hEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlDQUFpQztBQUNqQztBQUNBO0FBQ0EsU0FBUztBQUNULE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ3VCO0FBQzZEO0FBQ3BGLDZCQUE2QixtQkFBbUI7QUFDaEQ7QUFDTztBQUNQO0FBQ0E7QUFDQTtBQUN1RDtBQUN2RDtBQUNPLHdCQUF3Qix1R0FBa0I7QUFDakQ7QUFDQSxjQUFjLGtFQUFTO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxDQUFDOztBQUVEIiwic291cmNlcyI6WyIiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgbW9kdWxlMCA9ICgpID0+IGltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiL1VzZXJzL21hdHRicnVjZS9Eb2N1bWVudHMvUHJvamVjdHMvT3BlbkNsYXcvV2ViL2hlYXJ0YmVhdC1tb25pdG9yL3NyYy9hcHAvbGF5b3V0LnRzeFwiKTtcbmNvbnN0IG1vZHVsZTEgPSAoKSA9PiBpbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIm5leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9ub3QtZm91bmQtZXJyb3JcIik7XG5jb25zdCBtb2R1bGUyID0gKCkgPT4gaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJuZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvZm9yYmlkZGVuLWVycm9yXCIpO1xuY29uc3QgbW9kdWxlMyA9ICgpID0+IGltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwibmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3VuYXV0aG9yaXplZC1lcnJvclwiKTtcbmNvbnN0IHBhZ2U0ID0gKCkgPT4gaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCIvVXNlcnMvbWF0dGJydWNlL0RvY3VtZW50cy9Qcm9qZWN0cy9PcGVuQ2xhdy9XZWIvaGVhcnRiZWF0LW1vbml0b3Ivc3JjL2FwcC9wYWdlLnRzeFwiKTtcbmltcG9ydCB7IEFwcFBhZ2VSb3V0ZU1vZHVsZSB9IGZyb20gXCJuZXh0L2Rpc3Qvc2VydmVyL3JvdXRlLW1vZHVsZXMvYXBwLXBhZ2UvbW9kdWxlLmNvbXBpbGVkXCIgd2l0aCB7XG4gICAgJ3R1cmJvcGFjay10cmFuc2l0aW9uJzogJ25leHQtc3NyJ1xufTtcbmltcG9ydCB7IFJvdXRlS2luZCB9IGZyb20gXCJuZXh0L2Rpc3Qvc2VydmVyL3JvdXRlLWtpbmRcIjtcbi8vIFdlIGluamVjdCB0aGUgdHJlZSBhbmQgcGFnZXMgaGVyZSBzbyB0aGF0IHdlIGNhbiB1c2UgdGhlbSBpbiB0aGUgcm91dGVcbi8vIG1vZHVsZS5cbmNvbnN0IHRyZWUgPSB7XG4gICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICcnLFxuICAgICAgICB7XG4gICAgICAgIGNoaWxkcmVuOiBbJ19fUEFHRV9fJywge30sIHtcbiAgICAgICAgICBwYWdlOiBbcGFnZTQsIFwiL1VzZXJzL21hdHRicnVjZS9Eb2N1bWVudHMvUHJvamVjdHMvT3BlbkNsYXcvV2ViL2hlYXJ0YmVhdC1tb25pdG9yL3NyYy9hcHAvcGFnZS50c3hcIl0sXG4gICAgICAgICAgXG4gICAgICAgIH1dXG4gICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICdsYXlvdXQnOiBbbW9kdWxlMCwgXCIvVXNlcnMvbWF0dGJydWNlL0RvY3VtZW50cy9Qcm9qZWN0cy9PcGVuQ2xhdy9XZWIvaGVhcnRiZWF0LW1vbml0b3Ivc3JjL2FwcC9sYXlvdXQudHN4XCJdLFxuJ25vdC1mb3VuZCc6IFttb2R1bGUxLCBcIm5leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9ub3QtZm91bmQtZXJyb3JcIl0sXG4nZm9yYmlkZGVuJzogW21vZHVsZTIsIFwibmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2ZvcmJpZGRlbi1lcnJvclwiXSxcbid1bmF1dGhvcml6ZWQnOiBbbW9kdWxlMywgXCJuZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvdW5hdXRob3JpemVkLWVycm9yXCJdLFxuICAgICAgICBcbiAgICAgIH1cbiAgICAgIF1cbiAgICAgIH0uY2hpbGRyZW47XG5jb25zdCBwYWdlcyA9IFtcIi9Vc2Vycy9tYXR0YnJ1Y2UvRG9jdW1lbnRzL1Byb2plY3RzL09wZW5DbGF3L1dlYi9oZWFydGJlYXQtbW9uaXRvci9zcmMvYXBwL3BhZ2UudHN4XCJdO1xuZXhwb3J0IHsgdHJlZSwgcGFnZXMgfTtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgR2xvYmFsRXJyb3IgfSBmcm9tIFwibmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2Vycm9yLWJvdW5kYXJ5XCI7XG5jb25zdCBfX25leHRfYXBwX3JlcXVpcmVfXyA9IF9fd2VicGFja19yZXF1aXJlX19cbmNvbnN0IF9fbmV4dF9hcHBfbG9hZF9jaHVua19fID0gKCkgPT4gUHJvbWlzZS5yZXNvbHZlKClcbmV4cG9ydCBjb25zdCBfX25leHRfYXBwX18gPSB7XG4gICAgcmVxdWlyZTogX19uZXh0X2FwcF9yZXF1aXJlX18sXG4gICAgbG9hZENodW5rOiBfX25leHRfYXBwX2xvYWRfY2h1bmtfX1xufTtcbmV4cG9ydCAqIGZyb20gXCJuZXh0L2Rpc3Qvc2VydmVyL2FwcC1yZW5kZXIvZW50cnktYmFzZVwiO1xuLy8gQ3JlYXRlIGFuZCBleHBvcnQgdGhlIHJvdXRlIG1vZHVsZSB0aGF0IHdpbGwgYmUgY29uc3VtZWQuXG5leHBvcnQgY29uc3Qgcm91dGVNb2R1bGUgPSBuZXcgQXBwUGFnZVJvdXRlTW9kdWxlKHtcbiAgICBkZWZpbml0aW9uOiB7XG4gICAgICAgIGtpbmQ6IFJvdXRlS2luZC5BUFBfUEFHRSxcbiAgICAgICAgcGFnZTogXCIvcGFnZVwiLFxuICAgICAgICBwYXRobmFtZTogXCIvXCIsXG4gICAgICAgIC8vIFRoZSBmb2xsb3dpbmcgYXJlbid0IHVzZWQgaW4gcHJvZHVjdGlvbi5cbiAgICAgICAgYnVuZGxlUGF0aDogJycsXG4gICAgICAgIGZpbGVuYW1lOiAnJyxcbiAgICAgICAgYXBwUGF0aHM6IFtdXG4gICAgfSxcbiAgICB1c2VybGFuZDoge1xuICAgICAgICBsb2FkZXJUcmVlOiB0cmVlXG4gICAgfVxufSk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWFwcC1wYWdlLmpzLm1hcCJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader/index.js?name=app%2Fpage&page=%2Fpage&appPaths=%2Fpage&pagePath=private-next-app-dir%2Fpage.tsx&appDir=%2FUsers%2Fmattbruce%2FDocuments%2FProjects%2FOpenClaw%2FWeb%2Fheartbeat-monitor%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fmattbruce%2FDocuments%2FProjects%2FOpenClaw%2FWeb%2Fheartbeat-monitor&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!\n");
|
|
|
|
/***/ }),
|
|
|
|
/***/ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fmattbruce%2FDocuments%2FProjects%2FOpenClaw%2FWeb%2Fheartbeat-monitor%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fmattbruce%2FDocuments%2FProjects%2FOpenClaw%2FWeb%2Fheartbeat-monitor%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-segment.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fmattbruce%2FDocuments%2FProjects%2FOpenClaw%2FWeb%2Fheartbeat-monitor%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Ferror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fmattbruce%2FDocuments%2FProjects%2FOpenClaw%2FWeb%2Fheartbeat-monitor%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%2Fmattbruce%2FDocuments%2FProjects%2FOpenClaw%2FWeb%2Fheartbeat-monitor%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Flayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fmattbruce%2FDocuments%2FProjects%2FOpenClaw%2FWeb%2Fheartbeat-monitor%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%2Fmattbruce%2FDocuments%2FProjects%2FOpenClaw%2FWeb%2Fheartbeat-monitor%2Fnode_modules%2Fnext%2Fdist%2Flib%2Fmetadata%2Fmetadata-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&server=true!":
|
|
/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
|
|
!*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fmattbruce%2FDocuments%2FProjects%2FOpenClaw%2FWeb%2Fheartbeat-monitor%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fmattbruce%2FDocuments%2FProjects%2FOpenClaw%2FWeb%2Fheartbeat-monitor%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-segment.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fmattbruce%2FDocuments%2FProjects%2FOpenClaw%2FWeb%2Fheartbeat-monitor%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Ferror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fmattbruce%2FDocuments%2FProjects%2FOpenClaw%2FWeb%2Fheartbeat-monitor%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%2Fmattbruce%2FDocuments%2FProjects%2FOpenClaw%2FWeb%2Fheartbeat-monitor%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Flayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fmattbruce%2FDocuments%2FProjects%2FOpenClaw%2FWeb%2Fheartbeat-monitor%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%2Fmattbruce%2FDocuments%2FProjects%2FOpenClaw%2FWeb%2Fheartbeat-monitor%2Fnode_modules%2Fnext%2Fdist%2Flib%2Fmetadata%2Fmetadata-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&server=true! ***!
|
|
\************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
|
|
/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
|
|
|
|
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGbWF0dGJydWNlJTJGRG9jdW1lbnRzJTJGUHJvamVjdHMlMkZPcGVuQ2xhdyUyRldlYiUyRmhlYXJ0YmVhdC1tb25pdG9yJTJGbm9kZV9tb2R1bGVzJTJGbmV4dCUyRmRpc3QlMkZjbGllbnQlMkZjb21wb25lbnRzJTJGY2xpZW50LXBhZ2UuanMlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGVXNlcnMlMkZtYXR0YnJ1Y2UlMkZEb2N1bWVudHMlMkZQcm9qZWN0cyUyRk9wZW5DbGF3JTJGV2ViJTJGaGVhcnRiZWF0LW1vbml0b3IlMkZub2RlX21vZHVsZXMlMkZuZXh0JTJGZGlzdCUyRmNsaWVudCUyRmNvbXBvbmVudHMlMkZjbGllbnQtc2VnbWVudC5qcyUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjIlMkZVc2VycyUyRm1hdHRicnVjZSUyRkRvY3VtZW50cyUyRlByb2plY3RzJTJGT3BlbkNsYXclMkZXZWIlMkZoZWFydGJlYXQtbW9uaXRvciUyRm5vZGVfbW9kdWxlcyUyRm5leHQlMkZkaXN0JTJGY2xpZW50JTJGY29tcG9uZW50cyUyRmVycm9yLWJvdW5kYXJ5LmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGbWF0dGJydWNlJTJGRG9jdW1lbnRzJTJGUHJvamVjdHMlMkZPcGVuQ2xhdyUyRldlYiUyRmhlYXJ0YmVhdC1tb25pdG9yJTJGbm9kZV9tb2R1bGVzJTJGbmV4dCUyRmRpc3QlMkZjbGllbnQlMkZjb21wb25lbnRzJTJGaHR0cC1hY2Nlc3MtZmFsbGJhY2slMkZlcnJvci1ib3VuZGFyeS5qcyUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjIlMkZVc2VycyUyRm1hdHRicnVjZSUyRkRvY3VtZW50cyUyRlByb2plY3RzJTJGT3BlbkNsYXclMkZXZWIlMkZoZWFydGJlYXQtbW9uaXRvciUyRm5vZGVfbW9kdWxlcyUyRm5leHQlMkZkaXN0JTJGY2xpZW50JTJGY29tcG9uZW50cyUyRmxheW91dC1yb3V0ZXIuanMlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGVXNlcnMlMkZtYXR0YnJ1Y2UlMkZEb2N1bWVudHMlMkZQcm9qZWN0cyUyRk9wZW5DbGF3JTJGV2ViJTJGaGVhcnRiZWF0LW1vbml0b3IlMkZub2RlX21vZHVsZXMlMkZuZXh0JTJGZGlzdCUyRmNsaWVudCUyRmNvbXBvbmVudHMlMkZyZW5kZXItZnJvbS10ZW1wbGF0ZS1jb250ZXh0LmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGbWF0dGJydWNlJTJGRG9jdW1lbnRzJTJGUHJvamVjdHMlMkZPcGVuQ2xhdyUyRldlYiUyRmhlYXJ0YmVhdC1tb25pdG9yJTJGbm9kZV9tb2R1bGVzJTJGbmV4dCUyRmRpc3QlMkZsaWIlMkZtZXRhZGF0YSUyRm1ldGFkYXRhLWJvdW5kYXJ5LmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJnNlcnZlcj10cnVlISIsIm1hcHBpbmdzIjoiQUFBQSxvT0FBK0o7QUFDL0o7QUFDQSwwT0FBa0s7QUFDbEs7QUFDQSwwT0FBa0s7QUFDbEs7QUFDQSxvUkFBdUw7QUFDdkw7QUFDQSx3T0FBaUs7QUFDaks7QUFDQSxzUUFBZ0w7QUFDaEw7QUFDQSxzT0FBZ0siLCJzb3VyY2VzIjpbIiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIi9Vc2Vycy9tYXR0YnJ1Y2UvRG9jdW1lbnRzL1Byb2plY3RzL09wZW5DbGF3L1dlYi9oZWFydGJlYXQtbW9uaXRvci9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2NsaWVudC1wYWdlLmpzXCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCIvVXNlcnMvbWF0dGJydWNlL0RvY3VtZW50cy9Qcm9qZWN0cy9PcGVuQ2xhdy9XZWIvaGVhcnRiZWF0LW1vbml0b3Ivbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9jbGllbnQtc2VnbWVudC5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiL1VzZXJzL21hdHRicnVjZS9Eb2N1bWVudHMvUHJvamVjdHMvT3BlbkNsYXcvV2ViL2hlYXJ0YmVhdC1tb25pdG9yL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvZXJyb3ItYm91bmRhcnkuanNcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIi9Vc2Vycy9tYXR0YnJ1Y2UvRG9jdW1lbnRzL1Byb2plY3RzL09wZW5DbGF3L1dlYi9oZWFydGJlYXQtbW9uaXRvci9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2h0dHAtYWNjZXNzLWZhbGxiYWNrL2Vycm9yLWJvdW5kYXJ5LmpzXCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCIvVXNlcnMvbWF0dGJydWNlL0RvY3VtZW50cy9Qcm9qZWN0cy9PcGVuQ2xhdy9XZWIvaGVhcnRiZWF0LW1vbml0b3Ivbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9sYXlvdXQtcm91dGVyLmpzXCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCIvVXNlcnMvbWF0dGJydWNlL0RvY3VtZW50cy9Qcm9qZWN0cy9PcGVuQ2xhdy9XZWIvaGVhcnRiZWF0LW1vbml0b3Ivbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9yZW5kZXItZnJvbS10ZW1wbGF0ZS1jb250ZXh0LmpzXCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCIvVXNlcnMvbWF0dGJydWNlL0RvY3VtZW50cy9Qcm9qZWN0cy9PcGVuQ2xhdy9XZWIvaGVhcnRiZWF0LW1vbml0b3Ivbm9kZV9tb2R1bGVzL25leHQvZGlzdC9saWIvbWV0YWRhdGEvbWV0YWRhdGEtYm91bmRhcnkuanNcIik7XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\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%2Fmattbruce%2FDocuments%2FProjects%2FOpenClaw%2FWeb%2Fheartbeat-monitor%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fmattbruce%2FDocuments%2FProjects%2FOpenClaw%2FWeb%2Fheartbeat-monitor%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-segment.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fmattbruce%2FDocuments%2FProjects%2FOpenClaw%2FWeb%2Fheartbeat-monitor%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Ferror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fmattbruce%2FDocuments%2FProjects%2FOpenClaw%2FWeb%2Fheartbeat-monitor%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%2Fmattbruce%2FDocuments%2FProjects%2FOpenClaw%2FWeb%2Fheartbeat-monitor%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Flayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fmattbruce%2FDocuments%2FProjects%2FOpenClaw%2FWeb%2Fheartbeat-monitor%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%2Fmattbruce%2FDocuments%2FProjects%2FOpenClaw%2FWeb%2Fheartbeat-monitor%2Fnode_modules%2Fnext%2Fdist%2Flib%2Fmetadata%2Fmetadata-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&server=true!\n");
|
|
|
|
/***/ }),
|
|
|
|
/***/ "(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fmattbruce%2FDocuments%2FProjects%2FOpenClaw%2FWeb%2Fheartbeat-monitor%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fmattbruce%2FDocuments%2FProjects%2FOpenClaw%2FWeb%2Fheartbeat-monitor%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-segment.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fmattbruce%2FDocuments%2FProjects%2FOpenClaw%2FWeb%2Fheartbeat-monitor%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Ferror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fmattbruce%2FDocuments%2FProjects%2FOpenClaw%2FWeb%2Fheartbeat-monitor%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%2Fmattbruce%2FDocuments%2FProjects%2FOpenClaw%2FWeb%2Fheartbeat-monitor%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Flayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fmattbruce%2FDocuments%2FProjects%2FOpenClaw%2FWeb%2Fheartbeat-monitor%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%2Fmattbruce%2FDocuments%2FProjects%2FOpenClaw%2FWeb%2Fheartbeat-monitor%2Fnode_modules%2Fnext%2Fdist%2Flib%2Fmetadata%2Fmetadata-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&server=true!":
|
|
/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
|
|
!*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fmattbruce%2FDocuments%2FProjects%2FOpenClaw%2FWeb%2Fheartbeat-monitor%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fmattbruce%2FDocuments%2FProjects%2FOpenClaw%2FWeb%2Fheartbeat-monitor%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-segment.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fmattbruce%2FDocuments%2FProjects%2FOpenClaw%2FWeb%2Fheartbeat-monitor%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Ferror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fmattbruce%2FDocuments%2FProjects%2FOpenClaw%2FWeb%2Fheartbeat-monitor%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%2Fmattbruce%2FDocuments%2FProjects%2FOpenClaw%2FWeb%2Fheartbeat-monitor%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Flayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fmattbruce%2FDocuments%2FProjects%2FOpenClaw%2FWeb%2Fheartbeat-monitor%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%2Fmattbruce%2FDocuments%2FProjects%2FOpenClaw%2FWeb%2Fheartbeat-monitor%2Fnode_modules%2Fnext%2Fdist%2Flib%2Fmetadata%2Fmetadata-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&server=true! ***!
|
|
\************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
|
|
/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
|
|
|
|
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGbWF0dGJydWNlJTJGRG9jdW1lbnRzJTJGUHJvamVjdHMlMkZPcGVuQ2xhdyUyRldlYiUyRmhlYXJ0YmVhdC1tb25pdG9yJTJGbm9kZV9tb2R1bGVzJTJGbmV4dCUyRmRpc3QlMkZjbGllbnQlMkZjb21wb25lbnRzJTJGY2xpZW50LXBhZ2UuanMlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGVXNlcnMlMkZtYXR0YnJ1Y2UlMkZEb2N1bWVudHMlMkZQcm9qZWN0cyUyRk9wZW5DbGF3JTJGV2ViJTJGaGVhcnRiZWF0LW1vbml0b3IlMkZub2RlX21vZHVsZXMlMkZuZXh0JTJGZGlzdCUyRmNsaWVudCUyRmNvbXBvbmVudHMlMkZjbGllbnQtc2VnbWVudC5qcyUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjIlMkZVc2VycyUyRm1hdHRicnVjZSUyRkRvY3VtZW50cyUyRlByb2plY3RzJTJGT3BlbkNsYXclMkZXZWIlMkZoZWFydGJlYXQtbW9uaXRvciUyRm5vZGVfbW9kdWxlcyUyRm5leHQlMkZkaXN0JTJGY2xpZW50JTJGY29tcG9uZW50cyUyRmVycm9yLWJvdW5kYXJ5LmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGbWF0dGJydWNlJTJGRG9jdW1lbnRzJTJGUHJvamVjdHMlMkZPcGVuQ2xhdyUyRldlYiUyRmhlYXJ0YmVhdC1tb25pdG9yJTJGbm9kZV9tb2R1bGVzJTJGbmV4dCUyRmRpc3QlMkZjbGllbnQlMkZjb21wb25lbnRzJTJGaHR0cC1hY2Nlc3MtZmFsbGJhY2slMkZlcnJvci1ib3VuZGFyeS5qcyUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjIlMkZVc2VycyUyRm1hdHRicnVjZSUyRkRvY3VtZW50cyUyRlByb2plY3RzJTJGT3BlbkNsYXclMkZXZWIlMkZoZWFydGJlYXQtbW9uaXRvciUyRm5vZGVfbW9kdWxlcyUyRm5leHQlMkZkaXN0JTJGY2xpZW50JTJGY29tcG9uZW50cyUyRmxheW91dC1yb3V0ZXIuanMlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGVXNlcnMlMkZtYXR0YnJ1Y2UlMkZEb2N1bWVudHMlMkZQcm9qZWN0cyUyRk9wZW5DbGF3JTJGV2ViJTJGaGVhcnRiZWF0LW1vbml0b3IlMkZub2RlX21vZHVsZXMlMkZuZXh0JTJGZGlzdCUyRmNsaWVudCUyRmNvbXBvbmVudHMlMkZyZW5kZXItZnJvbS10ZW1wbGF0ZS1jb250ZXh0LmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGbWF0dGJydWNlJTJGRG9jdW1lbnRzJTJGUHJvamVjdHMlMkZPcGVuQ2xhdyUyRldlYiUyRmhlYXJ0YmVhdC1tb25pdG9yJTJGbm9kZV9tb2R1bGVzJTJGbmV4dCUyRmRpc3QlMkZsaWIlMkZtZXRhZGF0YSUyRm1ldGFkYXRhLWJvdW5kYXJ5LmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJnNlcnZlcj10cnVlISIsIm1hcHBpbmdzIjoiQUFBQSxvT0FBK0o7QUFDL0o7QUFDQSwwT0FBa0s7QUFDbEs7QUFDQSwwT0FBa0s7QUFDbEs7QUFDQSxvUkFBdUw7QUFDdkw7QUFDQSx3T0FBaUs7QUFDaks7QUFDQSxzUUFBZ0w7QUFDaEw7QUFDQSxzT0FBZ0siLCJzb3VyY2VzIjpbIiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIi9Vc2Vycy9tYXR0YnJ1Y2UvRG9jdW1lbnRzL1Byb2plY3RzL09wZW5DbGF3L1dlYi9oZWFydGJlYXQtbW9uaXRvci9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2NsaWVudC1wYWdlLmpzXCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCIvVXNlcnMvbWF0dGJydWNlL0RvY3VtZW50cy9Qcm9qZWN0cy9PcGVuQ2xhdy9XZWIvaGVhcnRiZWF0LW1vbml0b3Ivbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9jbGllbnQtc2VnbWVudC5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiL1VzZXJzL21hdHRicnVjZS9Eb2N1bWVudHMvUHJvamVjdHMvT3BlbkNsYXcvV2ViL2hlYXJ0YmVhdC1tb25pdG9yL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvZXJyb3ItYm91bmRhcnkuanNcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIi9Vc2Vycy9tYXR0YnJ1Y2UvRG9jdW1lbnRzL1Byb2plY3RzL09wZW5DbGF3L1dlYi9oZWFydGJlYXQtbW9uaXRvci9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2h0dHAtYWNjZXNzLWZhbGxiYWNrL2Vycm9yLWJvdW5kYXJ5LmpzXCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCIvVXNlcnMvbWF0dGJydWNlL0RvY3VtZW50cy9Qcm9qZWN0cy9PcGVuQ2xhdy9XZWIvaGVhcnRiZWF0LW1vbml0b3Ivbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9sYXlvdXQtcm91dGVyLmpzXCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCIvVXNlcnMvbWF0dGJydWNlL0RvY3VtZW50cy9Qcm9qZWN0cy9PcGVuQ2xhdy9XZWIvaGVhcnRiZWF0LW1vbml0b3Ivbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9yZW5kZXItZnJvbS10ZW1wbGF0ZS1jb250ZXh0LmpzXCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCIvVXNlcnMvbWF0dGJydWNlL0RvY3VtZW50cy9Qcm9qZWN0cy9PcGVuQ2xhdy9XZWIvaGVhcnRiZWF0LW1vbml0b3Ivbm9kZV9tb2R1bGVzL25leHQvZGlzdC9saWIvbWV0YWRhdGEvbWV0YWRhdGEtYm91bmRhcnkuanNcIik7XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\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%2Fmattbruce%2FDocuments%2FProjects%2FOpenClaw%2FWeb%2Fheartbeat-monitor%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fmattbruce%2FDocuments%2FProjects%2FOpenClaw%2FWeb%2Fheartbeat-monitor%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-segment.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fmattbruce%2FDocuments%2FProjects%2FOpenClaw%2FWeb%2Fheartbeat-monitor%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Ferror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fmattbruce%2FDocuments%2FProjects%2FOpenClaw%2FWeb%2Fheartbeat-monitor%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%2Fmattbruce%2FDocuments%2FProjects%2FOpenClaw%2FWeb%2Fheartbeat-monitor%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Flayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fmattbruce%2FDocuments%2FProjects%2FOpenClaw%2FWeb%2Fheartbeat-monitor%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%2Fmattbruce%2FDocuments%2FProjects%2FOpenClaw%2FWeb%2Fheartbeat-monitor%2Fnode_modules%2Fnext%2Fdist%2Flib%2Fmetadata%2Fmetadata-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&server=true!\n");
|
|
|
|
/***/ }),
|
|
|
|
/***/ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fmattbruce%2FDocuments%2FProjects%2FOpenClaw%2FWeb%2Fheartbeat-monitor%2Fsrc%2Fapp%2Fglobals.css%22%2C%22ids%22%3A%5B%5D%7D&server=true!":
|
|
/*!**************************************************************************************************************************************************************************************************************************************************************************!*\
|
|
!*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fmattbruce%2FDocuments%2FProjects%2FOpenClaw%2FWeb%2Fheartbeat-monitor%2Fsrc%2Fapp%2Fglobals.css%22%2C%22ids%22%3A%5B%5D%7D&server=true! ***!
|
|
\**************************************************************************************************************************************************************************************************************************************************************************/
|
|
/***/ (() => {
|
|
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ "(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fmattbruce%2FDocuments%2FProjects%2FOpenClaw%2FWeb%2Fheartbeat-monitor%2Fsrc%2Fapp%2Fglobals.css%22%2C%22ids%22%3A%5B%5D%7D&server=true!":
|
|
/*!**************************************************************************************************************************************************************************************************************************************************************************!*\
|
|
!*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fmattbruce%2FDocuments%2FProjects%2FOpenClaw%2FWeb%2Fheartbeat-monitor%2Fsrc%2Fapp%2Fglobals.css%22%2C%22ids%22%3A%5B%5D%7D&server=true! ***!
|
|
\**************************************************************************************************************************************************************************************************************************************************************************/
|
|
/***/ (() => {
|
|
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fmattbruce%2FDocuments%2FProjects%2FOpenClaw%2FWeb%2Fheartbeat-monitor%2Fsrc%2Fapp%2Fpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=true!":
|
|
/*!***********************************************************************************************************************************************************************************************************************************************************************!*\
|
|
!*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fmattbruce%2FDocuments%2FProjects%2FOpenClaw%2FWeb%2Fheartbeat-monitor%2Fsrc%2Fapp%2Fpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=true! ***!
|
|
\***********************************************************************************************************************************************************************************************************************************************************************/
|
|
/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
|
|
|
|
eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/app/page.tsx */ \"(rsc)/./src/app/page.tsx\"));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGbWF0dGJydWNlJTJGRG9jdW1lbnRzJTJGUHJvamVjdHMlMkZPcGVuQ2xhdyUyRldlYiUyRmhlYXJ0YmVhdC1tb25pdG9yJTJGc3JjJTJGYXBwJTJGcGFnZS50c3glMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0Qmc2VydmVyPXRydWUhIiwibWFwcGluZ3MiOiJBQUFBLGdKQUF3SCIsInNvdXJjZXMiOlsiIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiL1VzZXJzL21hdHRicnVjZS9Eb2N1bWVudHMvUHJvamVjdHMvT3BlbkNsYXcvV2ViL2hlYXJ0YmVhdC1tb25pdG9yL3NyYy9hcHAvcGFnZS50c3hcIik7XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\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%2Fmattbruce%2FDocuments%2FProjects%2FOpenClaw%2FWeb%2Fheartbeat-monitor%2Fsrc%2Fapp%2Fpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=true!\n");
|
|
|
|
/***/ }),
|
|
|
|
/***/ "(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fmattbruce%2FDocuments%2FProjects%2FOpenClaw%2FWeb%2Fheartbeat-monitor%2Fsrc%2Fapp%2Fpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=true!":
|
|
/*!***********************************************************************************************************************************************************************************************************************************************************************!*\
|
|
!*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fmattbruce%2FDocuments%2FProjects%2FOpenClaw%2FWeb%2Fheartbeat-monitor%2Fsrc%2Fapp%2Fpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=true! ***!
|
|
\***********************************************************************************************************************************************************************************************************************************************************************/
|
|
/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
|
|
|
|
eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/app/page.tsx */ \"(ssr)/./src/app/page.tsx\"));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGbWF0dGJydWNlJTJGRG9jdW1lbnRzJTJGUHJvamVjdHMlMkZPcGVuQ2xhdyUyRldlYiUyRmhlYXJ0YmVhdC1tb25pdG9yJTJGc3JjJTJGYXBwJTJGcGFnZS50c3glMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0Qmc2VydmVyPXRydWUhIiwibWFwcGluZ3MiOiJBQUFBLGdKQUF3SCIsInNvdXJjZXMiOlsiIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiL1VzZXJzL21hdHRicnVjZS9Eb2N1bWVudHMvUHJvamVjdHMvT3BlbkNsYXcvV2ViL2hlYXJ0YmVhdC1tb25pdG9yL3NyYy9hcHAvcGFnZS50c3hcIik7XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\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%2Fmattbruce%2FDocuments%2FProjects%2FOpenClaw%2FWeb%2Fheartbeat-monitor%2Fsrc%2Fapp%2Fpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=true!\n");
|
|
|
|
/***/ }),
|
|
|
|
/***/ "(ssr)/./src/app/page.tsx":
|
|
/*!**************************!*\
|
|
!*** ./src/app/page.tsx ***!
|
|
\**************************/
|
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
|
|
"use strict";
|
|
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ Dashboard)\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 framer_motion__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! framer-motion */ \"(ssr)/./node_modules/framer-motion/dist/es/render/components/motion/proxy.mjs\");\n/* harmony import */ var framer_motion__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! framer-motion */ \"(ssr)/./node_modules/framer-motion/dist/es/components/AnimatePresence/index.mjs\");\n/* harmony import */ var _barrel_optimize_names_Line_LineChart_ResponsiveContainer_recharts__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! __barrel_optimize__?names=Line,LineChart,ResponsiveContainer!=!recharts */ \"(ssr)/./node_modules/recharts/es6/component/ResponsiveContainer.js\");\n/* harmony import */ var _barrel_optimize_names_Line_LineChart_ResponsiveContainer_recharts__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! __barrel_optimize__?names=Line,LineChart,ResponsiveContainer!=!recharts */ \"(ssr)/./node_modules/recharts/es6/chart/LineChart.js\");\n/* harmony import */ var _barrel_optimize_names_Line_LineChart_ResponsiveContainer_recharts__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! __barrel_optimize__?names=Line,LineChart,ResponsiveContainer!=!recharts */ \"(ssr)/./node_modules/recharts/es6/cartesian/Line.js\");\n/* harmony import */ var _barrel_optimize_names_Activity_AlertTriangle_Bell_CheckCircle2_ChevronLeft_ChevronRight_Clock_ExternalLink_History_LayoutDashboard_Monitor_Plus_RefreshCw_Search_Server_Settings_Trash2_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! __barrel_optimize__?names=Activity,AlertTriangle,Bell,CheckCircle2,ChevronLeft,ChevronRight,Clock,ExternalLink,History,LayoutDashboard,Monitor,Plus,RefreshCw,Search,Server,Settings,Trash2,Zap!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/server.js\");\n/* harmony import */ var _barrel_optimize_names_Activity_AlertTriangle_Bell_CheckCircle2_ChevronLeft_ChevronRight_Clock_ExternalLink_History_LayoutDashboard_Monitor_Plus_RefreshCw_Search_Server_Settings_Trash2_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! __barrel_optimize__?names=Activity,AlertTriangle,Bell,CheckCircle2,ChevronLeft,ChevronRight,Clock,ExternalLink,History,LayoutDashboard,Monitor,Plus,RefreshCw,Search,Server,Settings,Trash2,Zap!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/external-link.js\");\n/* harmony import */ var _barrel_optimize_names_Activity_AlertTriangle_Bell_CheckCircle2_ChevronLeft_ChevronRight_Clock_ExternalLink_History_LayoutDashboard_Monitor_Plus_RefreshCw_Search_Server_Settings_Trash2_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! __barrel_optimize__?names=Activity,AlertTriangle,Bell,CheckCircle2,ChevronLeft,ChevronRight,Clock,ExternalLink,History,LayoutDashboard,Monitor,Plus,RefreshCw,Search,Server,Settings,Trash2,Zap!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/clock.js\");\n/* harmony import */ var _barrel_optimize_names_Activity_AlertTriangle_Bell_CheckCircle2_ChevronLeft_ChevronRight_Clock_ExternalLink_History_LayoutDashboard_Monitor_Plus_RefreshCw_Search_Server_Settings_Trash2_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! __barrel_optimize__?names=Activity,AlertTriangle,Bell,CheckCircle2,ChevronLeft,ChevronRight,Clock,ExternalLink,History,LayoutDashboard,Monitor,Plus,RefreshCw,Search,Server,Settings,Trash2,Zap!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/refresh-cw.js\");\n/* harmony import */ var _barrel_optimize_names_Activity_AlertTriangle_Bell_CheckCircle2_ChevronLeft_ChevronRight_Clock_ExternalLink_History_LayoutDashboard_Monitor_Plus_RefreshCw_Search_Server_Settings_Trash2_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! __barrel_optimize__?names=Activity,AlertTriangle,Bell,CheckCircle2,ChevronLeft,ChevronRight,Clock,ExternalLink,History,LayoutDashboard,Monitor,Plus,RefreshCw,Search,Server,Settings,Trash2,Zap!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/settings.js\");\n/* harmony import */ var _barrel_optimize_names_Activity_AlertTriangle_Bell_CheckCircle2_ChevronLeft_ChevronRight_Clock_ExternalLink_History_LayoutDashboard_Monitor_Plus_RefreshCw_Search_Server_Settings_Trash2_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! __barrel_optimize__?names=Activity,AlertTriangle,Bell,CheckCircle2,ChevronLeft,ChevronRight,Clock,ExternalLink,History,LayoutDashboard,Monitor,Plus,RefreshCw,Search,Server,Settings,Trash2,Zap!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/trash-2.js\");\n/* harmony import */ var _barrel_optimize_names_Activity_AlertTriangle_Bell_CheckCircle2_ChevronLeft_ChevronRight_Clock_ExternalLink_History_LayoutDashboard_Monitor_Plus_RefreshCw_Search_Server_Settings_Trash2_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! __barrel_optimize__?names=Activity,AlertTriangle,Bell,CheckCircle2,ChevronLeft,ChevronRight,Clock,ExternalLink,History,LayoutDashboard,Monitor,Plus,RefreshCw,Search,Server,Settings,Trash2,Zap!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/layout-dashboard.js\");\n/* harmony import */ var _barrel_optimize_names_Activity_AlertTriangle_Bell_CheckCircle2_ChevronLeft_ChevronRight_Clock_ExternalLink_History_LayoutDashboard_Monitor_Plus_RefreshCw_Search_Server_Settings_Trash2_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! __barrel_optimize__?names=Activity,AlertTriangle,Bell,CheckCircle2,ChevronLeft,ChevronRight,Clock,ExternalLink,History,LayoutDashboard,Monitor,Plus,RefreshCw,Search,Server,Settings,Trash2,Zap!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/monitor.js\");\n/* harmony import */ var _barrel_optimize_names_Activity_AlertTriangle_Bell_CheckCircle2_ChevronLeft_ChevronRight_Clock_ExternalLink_History_LayoutDashboard_Monitor_Plus_RefreshCw_Search_Server_Settings_Trash2_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! __barrel_optimize__?names=Activity,AlertTriangle,Bell,CheckCircle2,ChevronLeft,ChevronRight,Clock,ExternalLink,History,LayoutDashboard,Monitor,Plus,RefreshCw,Search,Server,Settings,Trash2,Zap!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/triangle-alert.js\");\n/* harmony import */ var _barrel_optimize_names_Activity_AlertTriangle_Bell_CheckCircle2_ChevronLeft_ChevronRight_Clock_ExternalLink_History_LayoutDashboard_Monitor_Plus_RefreshCw_Search_Server_Settings_Trash2_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! __barrel_optimize__?names=Activity,AlertTriangle,Bell,CheckCircle2,ChevronLeft,ChevronRight,Clock,ExternalLink,History,LayoutDashboard,Monitor,Plus,RefreshCw,Search,Server,Settings,Trash2,Zap!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/history.js\");\n/* harmony import */ var _barrel_optimize_names_Activity_AlertTriangle_Bell_CheckCircle2_ChevronLeft_ChevronRight_Clock_ExternalLink_History_LayoutDashboard_Monitor_Plus_RefreshCw_Search_Server_Settings_Trash2_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! __barrel_optimize__?names=Activity,AlertTriangle,Bell,CheckCircle2,ChevronLeft,ChevronRight,Clock,ExternalLink,History,LayoutDashboard,Monitor,Plus,RefreshCw,Search,Server,Settings,Trash2,Zap!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/activity.js\");\n/* harmony import */ var _barrel_optimize_names_Activity_AlertTriangle_Bell_CheckCircle2_ChevronLeft_ChevronRight_Clock_ExternalLink_History_LayoutDashboard_Monitor_Plus_RefreshCw_Search_Server_Settings_Trash2_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! __barrel_optimize__?names=Activity,AlertTriangle,Bell,CheckCircle2,ChevronLeft,ChevronRight,Clock,ExternalLink,History,LayoutDashboard,Monitor,Plus,RefreshCw,Search,Server,Settings,Trash2,Zap!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/chevron-right.js\");\n/* harmony import */ var _barrel_optimize_names_Activity_AlertTriangle_Bell_CheckCircle2_ChevronLeft_ChevronRight_Clock_ExternalLink_History_LayoutDashboard_Monitor_Plus_RefreshCw_Search_Server_Settings_Trash2_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! __barrel_optimize__?names=Activity,AlertTriangle,Bell,CheckCircle2,ChevronLeft,ChevronRight,Clock,ExternalLink,History,LayoutDashboard,Monitor,Plus,RefreshCw,Search,Server,Settings,Trash2,Zap!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/chevron-left.js\");\n/* harmony import */ var _barrel_optimize_names_Activity_AlertTriangle_Bell_CheckCircle2_ChevronLeft_ChevronRight_Clock_ExternalLink_History_LayoutDashboard_Monitor_Plus_RefreshCw_Search_Server_Settings_Trash2_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! __barrel_optimize__?names=Activity,AlertTriangle,Bell,CheckCircle2,ChevronLeft,ChevronRight,Clock,ExternalLink,History,LayoutDashboard,Monitor,Plus,RefreshCw,Search,Server,Settings,Trash2,Zap!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/search.js\");\n/* harmony import */ var _barrel_optimize_names_Activity_AlertTriangle_Bell_CheckCircle2_ChevronLeft_ChevronRight_Clock_ExternalLink_History_LayoutDashboard_Monitor_Plus_RefreshCw_Search_Server_Settings_Trash2_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! __barrel_optimize__?names=Activity,AlertTriangle,Bell,CheckCircle2,ChevronLeft,ChevronRight,Clock,ExternalLink,History,LayoutDashboard,Monitor,Plus,RefreshCw,Search,Server,Settings,Trash2,Zap!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/plus.js\");\n/* harmony import */ var _barrel_optimize_names_Activity_AlertTriangle_Bell_CheckCircle2_ChevronLeft_ChevronRight_Clock_ExternalLink_History_LayoutDashboard_Monitor_Plus_RefreshCw_Search_Server_Settings_Trash2_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! __barrel_optimize__?names=Activity,AlertTriangle,Bell,CheckCircle2,ChevronLeft,ChevronRight,Clock,ExternalLink,History,LayoutDashboard,Monitor,Plus,RefreshCw,Search,Server,Settings,Trash2,Zap!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/bell.js\");\n/* harmony import */ var _barrel_optimize_names_Activity_AlertTriangle_Bell_CheckCircle2_ChevronLeft_ChevronRight_Clock_ExternalLink_History_LayoutDashboard_Monitor_Plus_RefreshCw_Search_Server_Settings_Trash2_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! __barrel_optimize__?names=Activity,AlertTriangle,Bell,CheckCircle2,ChevronLeft,ChevronRight,Clock,ExternalLink,History,LayoutDashboard,Monitor,Plus,RefreshCw,Search,Server,Settings,Trash2,Zap!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/circle-check.js\");\n/* harmony import */ var _barrel_optimize_names_Activity_AlertTriangle_Bell_CheckCircle2_ChevronLeft_ChevronRight_Clock_ExternalLink_History_LayoutDashboard_Monitor_Plus_RefreshCw_Search_Server_Settings_Trash2_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! __barrel_optimize__?names=Activity,AlertTriangle,Bell,CheckCircle2,ChevronLeft,ChevronRight,Clock,ExternalLink,History,LayoutDashboard,Monitor,Plus,RefreshCw,Search,Server,Settings,Trash2,Zap!=!lucide-react */ \"(ssr)/./node_modules/lucide-react/dist/esm/icons/zap.js\");\n/* __next_internal_client_entry_do_not_use__ default auto */ \n\n\n\n\n// Mock data generator for sparklines\nconst generateSparklineData = (points, isUp)=>{\n return Array.from({\n length: points\n }, (_, i)=>({\n value: isUp ? 80 + Math.random() * 20 : Math.random() * 30,\n time: i\n }));\n};\n// Components\nconst SidebarItem = ({ item, isActive, isCollapsed, onClick })=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(framer_motion__WEBPACK_IMPORTED_MODULE_2__.motion.button, {\n onClick: onClick,\n whileHover: {\n x: 2\n },\n whileTap: {\n scale: 0.98\n },\n className: `w-full flex items-center gap-3 px-3 py-2.5 rounded-lg transition-all duration-200 ${isActive ? \"bg-emerald-500/10 text-emerald-400 border border-emerald-500/20\" : \"text-slate-400 hover:text-slate-100 hover:bg-slate-800/50\"}`,\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"flex-shrink-0\",\n children: item.icon\n }, void 0, false, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 96,\n columnNumber: 5\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(framer_motion__WEBPACK_IMPORTED_MODULE_3__.AnimatePresence, {\n mode: \"wait\",\n children: !isCollapsed && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(framer_motion__WEBPACK_IMPORTED_MODULE_2__.motion.span, {\n initial: {\n opacity: 0,\n width: 0\n },\n animate: {\n opacity: 1,\n width: \"auto\"\n },\n exit: {\n opacity: 0,\n width: 0\n },\n className: \"text-sm font-medium whitespace-nowrap overflow-hidden\",\n children: item.label\n }, void 0, false, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 99,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 97,\n columnNumber: 5\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 86,\n columnNumber: 3\n }, undefined);\nconst MetricCard = ({ title, value, subtitle, icon: Icon, color, data, trend })=>{\n const colorClasses = {\n emerald: \"from-emerald-500/20 to-emerald-500/5 border-emerald-500/20\",\n blue: \"from-blue-500/20 to-blue-500/5 border-blue-500/20\",\n purple: \"from-purple-500/20 to-purple-500/5 border-purple-500/20\",\n amber: \"from-amber-500/20 to-amber-500/5 border-amber-500/20\"\n };\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(framer_motion__WEBPACK_IMPORTED_MODULE_2__.motion.div, {\n whileHover: {\n y: -4,\n transition: {\n duration: 0.2\n }\n },\n className: `relative overflow-hidden rounded-xl border bg-gradient-to-br p-5 ${colorClasses[color]} backdrop-blur-sm`,\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-start justify-between\",\n children: [\n /*#__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: \"text-slate-400 text-sm font-medium mb-1\",\n children: title\n }, void 0, false, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 143,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-3xl font-bold text-white\",\n children: value\n }, void 0, false, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 144,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-2 mt-2\",\n children: [\n trend && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: `text-xs ${trend === \"up\" ? \"text-emerald-400\" : trend === \"down\" ? \"text-red-400\" : \"text-slate-400\"}`,\n children: trend === \"up\" ? \"↑\" : trend === \"down\" ? \"↓\" : \"→\"\n }, void 0, false, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 147,\n columnNumber: 15\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-slate-500 text-xs\",\n children: subtitle\n }, void 0, false, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 151,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 145,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 142,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: `p-2.5 rounded-lg bg-${color}-500/10`,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(Icon, {\n className: `w-5 h-5 text-${color}-400`,\n style: {\n color: color === \"emerald\" ? \"#34d399\" : color === \"blue\" ? \"#60a5fa\" : color === \"purple\" ? \"#a78bfa\" : \"#fbbf24\"\n }\n }, void 0, false, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 155,\n columnNumber: 11\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 154,\n columnNumber: 9\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 141,\n columnNumber: 7\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mt-4 h-12\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Line_LineChart_ResponsiveContainer_recharts__WEBPACK_IMPORTED_MODULE_4__.ResponsiveContainer, {\n width: \"100%\",\n height: \"100%\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Line_LineChart_ResponsiveContainer_recharts__WEBPACK_IMPORTED_MODULE_5__.LineChart, {\n data: data,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Line_LineChart_ResponsiveContainer_recharts__WEBPACK_IMPORTED_MODULE_6__.Line, {\n type: \"monotone\",\n dataKey: \"value\",\n stroke: color === \"emerald\" ? \"#34d399\" : color === \"blue\" ? \"#60a5fa\" : color === \"purple\" ? \"#a78bfa\" : \"#fbbf24\",\n strokeWidth: 2,\n dot: false\n }, void 0, false, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 162,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 161,\n columnNumber: 11\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 160,\n columnNumber: 9\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 159,\n columnNumber: 7\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 137,\n columnNumber: 5\n }, undefined);\n};\nconst ServiceCard = ({ app, status, onDelete })=>{\n const [isHovered, setIsHovered] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const sparklineData = generateSparklineData(12, status.isUp);\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(framer_motion__WEBPACK_IMPORTED_MODULE_2__.motion.div, {\n layout: true,\n initial: {\n opacity: 0,\n scale: 0.95\n },\n animate: {\n opacity: 1,\n scale: 1\n },\n exit: {\n opacity: 0,\n scale: 0.95\n },\n whileHover: {\n y: -2\n },\n onHoverStart: ()=>setIsHovered(true),\n onHoverEnd: ()=>setIsHovered(false),\n className: \"group relative bg-slate-900/50 border border-slate-800 rounded-xl p-5 hover:border-slate-700 transition-all duration-300\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: `absolute top-0 left-4 right-4 h-0.5 rounded-full ${status.isUp ? \"bg-emerald-500\" : \"bg-red-500\"}`\n }, void 0, false, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 200,\n columnNumber: 7\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-start justify-between mb-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-3\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: `w-10 h-10 rounded-lg flex items-center justify-center ${status.isUp ? \"bg-emerald-500/10\" : \"bg-red-500/10\"}`,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Activity_AlertTriangle_Bell_CheckCircle2_ChevronLeft_ChevronRight_Clock_ExternalLink_History_LayoutDashboard_Monitor_Plus_RefreshCw_Search_Server_Settings_Trash2_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_7__[\"default\"], {\n className: `w-5 h-5 ${status.isUp ? \"text-emerald-400\" : \"text-red-400\"}`\n }, void 0, false, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 205,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 204,\n columnNumber: 11\n }, undefined),\n /*#__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)(\"h3\", {\n className: \"font-semibold text-white flex items-center gap-2\",\n children: [\n app.name,\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n href: app.url,\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n className: \"text-slate-500 hover:text-emerald-400 transition-colors\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Activity_AlertTriangle_Bell_CheckCircle2_ChevronLeft_ChevronRight_Clock_ExternalLink_History_LayoutDashboard_Monitor_Plus_RefreshCw_Search_Server_Settings_Trash2_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_8__[\"default\"], {\n className: \"w-3.5 h-3.5\"\n }, void 0, false, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 211,\n columnNumber: 17\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 210,\n columnNumber: 15\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 208,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-xs text-slate-500\",\n children: [\n \"Port \",\n app.port\n ]\n }, void 0, true, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 214,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 207,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 203,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: `inline-flex items-center gap-1.5 px-2.5 py-1 rounded-full text-xs font-medium border ${status.isUp ? \"bg-emerald-500/10 border-emerald-500/20 text-emerald-400\" : \"bg-red-500/10 border-red-500/20 text-red-400\"}`,\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"relative flex h-1.5 w-1.5\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: `animate-ping absolute inline-flex h-full w-full rounded-full opacity-75 ${status.isUp ? \"bg-emerald-400\" : \"bg-red-400\"}`\n }, void 0, false, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 224,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: `relative inline-flex rounded-full h-1.5 w-1.5 ${status.isUp ? \"bg-emerald-500\" : \"bg-red-500\"}`\n }, void 0, false, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 225,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 223,\n columnNumber: 11\n }, undefined),\n status.isUp ? \"Operational\" : \"Down\"\n ]\n }, void 0, true, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 218,\n columnNumber: 9\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 202,\n columnNumber: 7\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-4\",\n children: [\n /*#__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: \"flex items-center justify-between mb-1.5\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-xs text-slate-400\",\n children: \"Uptime\"\n }, void 0, false, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 236,\n columnNumber: 13\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-sm font-semibold text-white\",\n children: [\n status.uptime,\n \"%\"\n ]\n }, void 0, true, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 237,\n columnNumber: 13\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 235,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"h-1.5 w-full bg-slate-800 rounded-full overflow-hidden\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(framer_motion__WEBPACK_IMPORTED_MODULE_2__.motion.div, {\n initial: {\n width: 0\n },\n animate: {\n width: `${status.uptime}%`\n },\n transition: {\n duration: 1,\n delay: 0.2\n },\n className: `h-full rounded-full ${status.uptime > 95 ? \"bg-emerald-500\" : status.uptime > 80 ? \"bg-amber-500\" : \"bg-red-500\"}`\n }, void 0, false, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 240,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 239,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 234,\n columnNumber: 9\n }, undefined),\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)(\"span\", {\n className: \"text-xs text-slate-400\",\n children: \"Response Time\"\n }, void 0, false, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 251,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-lg font-semibold text-white\",\n children: status.avgResponseTime > 0 ? `${status.avgResponseTime}ms` : \"—\"\n }, void 0, false, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 252,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 250,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"h-10 -mx-1\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Line_LineChart_ResponsiveContainer_recharts__WEBPACK_IMPORTED_MODULE_4__.ResponsiveContainer, {\n width: \"100%\",\n height: \"100%\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Line_LineChart_ResponsiveContainer_recharts__WEBPACK_IMPORTED_MODULE_5__.LineChart, {\n data: sparklineData,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Line_LineChart_ResponsiveContainer_recharts__WEBPACK_IMPORTED_MODULE_6__.Line, {\n type: \"monotone\",\n dataKey: \"value\",\n stroke: status.isUp ? \"#34d399\" : \"#f87171\",\n strokeWidth: 1.5,\n dot: false\n }, void 0, false, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 261,\n columnNumber: 15\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 260,\n columnNumber: 13\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 259,\n columnNumber: 11\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 258,\n columnNumber: 9\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center justify-between text-xs text-slate-500\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"flex items-center gap-1\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Activity_AlertTriangle_Bell_CheckCircle2_ChevronLeft_ChevronRight_Clock_ExternalLink_History_LayoutDashboard_Monitor_Plus_RefreshCw_Search_Server_Settings_Trash2_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_9__[\"default\"], {\n className: \"w-3 h-3\"\n }, void 0, false, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 275,\n columnNumber: 13\n }, undefined),\n status.latest ? new Date(status.latest.timestamp).toLocaleTimeString() : \"Never\"\n ]\n }, void 0, true, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 274,\n columnNumber: 11\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(framer_motion__WEBPACK_IMPORTED_MODULE_3__.AnimatePresence, {\n children: isHovered && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(framer_motion__WEBPACK_IMPORTED_MODULE_2__.motion.div, {\n initial: {\n opacity: 0,\n x: 10\n },\n animate: {\n opacity: 1,\n x: 0\n },\n exit: {\n opacity: 0,\n x: 10\n },\n className: \"flex items-center gap-1\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n className: \"p-1.5 text-slate-400 hover:text-white hover:bg-slate-800 rounded transition-colors\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Activity_AlertTriangle_Bell_CheckCircle2_ChevronLeft_ChevronRight_Clock_ExternalLink_History_LayoutDashboard_Monitor_Plus_RefreshCw_Search_Server_Settings_Trash2_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_10__[\"default\"], {\n className: \"w-3.5 h-3.5\"\n }, void 0, false, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 289,\n columnNumber: 19\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 288,\n columnNumber: 17\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n className: \"p-1.5 text-slate-400 hover:text-white hover:bg-slate-800 rounded transition-colors\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Activity_AlertTriangle_Bell_CheckCircle2_ChevronLeft_ChevronRight_Clock_ExternalLink_History_LayoutDashboard_Monitor_Plus_RefreshCw_Search_Server_Settings_Trash2_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_11__[\"default\"], {\n className: \"w-3.5 h-3.5\"\n }, void 0, false, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 292,\n columnNumber: 19\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 291,\n columnNumber: 17\n }, undefined),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n onClick: onDelete,\n className: \"p-1.5 text-slate-400 hover:text-red-400 hover:bg-red-500/10 rounded transition-colors\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Activity_AlertTriangle_Bell_CheckCircle2_ChevronLeft_ChevronRight_Clock_ExternalLink_History_LayoutDashboard_Monitor_Plus_RefreshCw_Search_Server_Settings_Trash2_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_12__[\"default\"], {\n className: \"w-3.5 h-3.5\"\n }, void 0, false, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 298,\n columnNumber: 19\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 294,\n columnNumber: 17\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 282,\n columnNumber: 15\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 280,\n columnNumber: 11\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 273,\n columnNumber: 9\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 232,\n columnNumber: 7\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 189,\n columnNumber: 5\n }, undefined);\n};\nfunction Dashboard() {\n const [apps, setApps] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)([]);\n const [status, setStatus] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)([]);\n const [loading, setLoading] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(true);\n const [sidebarCollapsed, setSidebarCollapsed] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const [activeNav, setActiveNav] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(\"overview\");\n const [showAddModal, setShowAddModal] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const [newApp, setNewApp] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)({\n name: \"\",\n url: \"http://localhost:\",\n port: 3000,\n enabled: true\n });\n const navItems = [\n {\n id: \"overview\",\n label: \"Overview\",\n icon: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Activity_AlertTriangle_Bell_CheckCircle2_ChevronLeft_ChevronRight_Clock_ExternalLink_History_LayoutDashboard_Monitor_Plus_RefreshCw_Search_Server_Settings_Trash2_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_13__[\"default\"], {\n className: \"w-5 h-5\"\n }, void 0, false, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 324,\n columnNumber: 48\n }, this)\n },\n {\n id: \"services\",\n label: \"Monitored Services\",\n icon: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Activity_AlertTriangle_Bell_CheckCircle2_ChevronLeft_ChevronRight_Clock_ExternalLink_History_LayoutDashboard_Monitor_Plus_RefreshCw_Search_Server_Settings_Trash2_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_14__[\"default\"], {\n className: \"w-5 h-5\"\n }, void 0, false, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 325,\n columnNumber: 58\n }, this)\n },\n {\n id: \"incidents\",\n label: \"Incidents\",\n icon: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Activity_AlertTriangle_Bell_CheckCircle2_ChevronLeft_ChevronRight_Clock_ExternalLink_History_LayoutDashboard_Monitor_Plus_RefreshCw_Search_Server_Settings_Trash2_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_15__[\"default\"], {\n className: \"w-5 h-5\"\n }, void 0, false, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 326,\n columnNumber: 50\n }, this)\n },\n {\n id: \"history\",\n label: \"History / Logs\",\n icon: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Activity_AlertTriangle_Bell_CheckCircle2_ChevronLeft_ChevronRight_Clock_ExternalLink_History_LayoutDashboard_Monitor_Plus_RefreshCw_Search_Server_Settings_Trash2_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_16__[\"default\"], {\n className: \"w-5 h-5\"\n }, void 0, false, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 327,\n columnNumber: 53\n }, this)\n },\n {\n id: \"settings\",\n label: \"Settings\",\n icon: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Activity_AlertTriangle_Bell_CheckCircle2_ChevronLeft_ChevronRight_Clock_ExternalLink_History_LayoutDashboard_Monitor_Plus_RefreshCw_Search_Server_Settings_Trash2_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_11__[\"default\"], {\n className: \"w-5 h-5\"\n }, void 0, false, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 328,\n columnNumber: 48\n }, this)\n }\n ];\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)({\n \"Dashboard.useEffect\": ()=>{\n fetchData();\n const interval = setInterval(fetchData, 30000);\n return ({\n \"Dashboard.useEffect\": ()=>clearInterval(interval)\n })[\"Dashboard.useEffect\"];\n }\n }[\"Dashboard.useEffect\"], []);\n async function fetchData() {\n try {\n const res = await fetch(\"/api/monitor\");\n const data = await res.json();\n setApps(data.apps || []);\n setStatus(data.status || []);\n } catch (err) {\n console.error(\"Failed to fetch data:\", err);\n } finally{\n setLoading(false);\n }\n }\n async function addApp(e) {\n e.preventDefault();\n if (!newApp.name || !newApp.url) return;\n await fetch(\"/api/monitor\", {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\"\n },\n body: JSON.stringify({\n action: \"addApp\",\n app: newApp\n })\n });\n setShowAddModal(false);\n setNewApp({\n name: \"\",\n url: \"http://localhost:\",\n port: 3000,\n enabled: true\n });\n fetchData();\n }\n async function deleteApp(id) {\n if (!confirm(\"Delete this monitor?\")) return;\n await fetch(\"/api/monitor\", {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\"\n },\n body: JSON.stringify({\n action: \"deleteApp\",\n id\n })\n });\n fetchData();\n }\n function getAppStatus(appId) {\n const appStatus = status.filter((s)=>s.appId === appId);\n const latest = appStatus[appStatus.length - 1];\n const isUp = latest?.status === \"up\";\n const uptime = appStatus.length > 0 ? Math.round(appStatus.filter((s)=>s.status === \"up\").length / appStatus.length * 100) : 100;\n const avgResponseTime = appStatus.length > 0 ? Math.round(appStatus.filter((s)=>s.responseTime).reduce((acc, s)=>acc + (s.responseTime || 0), 0) / appStatus.filter((s)=>s.responseTime).length) || 0 : 0;\n return {\n latest,\n isUp,\n uptime,\n avgResponseTime\n };\n }\n const stats = {\n total: apps.length,\n online: apps.filter((app)=>getAppStatus(app.id).isUp).length,\n offline: apps.filter((app)=>!getAppStatus(app.id).isUp).length,\n avgUptime: apps.length > 0 ? Math.round(apps.reduce((acc, app)=>acc + getAppStatus(app.id).uptime, 0) / apps.length) : 0,\n avgResponseTime: apps.length > 0 ? Math.round(apps.reduce((acc, app)=>acc + getAppStatus(app.id).avgResponseTime, 0) / apps.length) : 0,\n incidents: status.filter((s)=>s.status === \"down\").length\n };\n const allUp = stats.online === stats.total && stats.total > 0;\n // Generate sparkline data for metrics\n const servicesData = generateSparklineData(20, true);\n const uptimeData = generateSparklineData(20, true);\n const responseData = generateSparklineData(20, true).map((d)=>({\n ...d,\n value: d.value * 2\n }));\n const incidentsData = generateSparklineData(20, false);\n if (loading) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"min-h-screen bg-slate-950 flex items-center justify-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(framer_motion__WEBPACK_IMPORTED_MODULE_2__.motion.div, {\n initial: {\n opacity: 0\n },\n animate: {\n opacity: 1\n },\n className: \"flex flex-col items-center gap-4\",\n children: [\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)(framer_motion__WEBPACK_IMPORTED_MODULE_2__.motion.div, {\n animate: {\n rotate: 360\n },\n transition: {\n duration: 2,\n repeat: Infinity,\n ease: \"linear\"\n },\n className: \"w-12 h-12 rounded-xl bg-gradient-to-br from-emerald-500 to-cyan-500\"\n }, void 0, false, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 416,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute inset-0 w-12 h-12 rounded-xl bg-gradient-to-br from-emerald-500 to-cyan-500 blur-xl opacity-50\"\n }, void 0, false, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 421,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 415,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-slate-400\",\n children: \"Loading dashboard...\"\n }, void 0, false, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 423,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 410,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 409,\n columnNumber: 7\n }, this);\n }\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"min-h-screen bg-slate-950 text-slate-100 flex\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(framer_motion__WEBPACK_IMPORTED_MODULE_2__.motion.aside, {\n initial: false,\n animate: {\n width: sidebarCollapsed ? 72 : 240\n },\n className: \"fixed left-0 top-0 bottom-0 bg-slate-900/80 backdrop-blur-xl border-r border-slate-800 z-50 flex flex-col\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"h-16 flex items-center px-4 border-b border-slate-800\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-8 h-8 rounded-lg bg-gradient-to-br from-emerald-500 to-cyan-500 flex items-center justify-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Activity_AlertTriangle_Bell_CheckCircle2_ChevronLeft_ChevronRight_Clock_ExternalLink_History_LayoutDashboard_Monitor_Plus_RefreshCw_Search_Server_Settings_Trash2_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_17__[\"default\"], {\n className: \"w-4 h-4 text-white\"\n }, void 0, false, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 440,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 439,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(framer_motion__WEBPACK_IMPORTED_MODULE_3__.AnimatePresence, {\n mode: \"wait\",\n children: !sidebarCollapsed && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(framer_motion__WEBPACK_IMPORTED_MODULE_2__.motion.span, {\n initial: {\n opacity: 0,\n width: 0\n },\n animate: {\n opacity: 1,\n width: \"auto\"\n },\n exit: {\n opacity: 0,\n width: 0\n },\n className: \"ml-3 font-bold text-lg whitespace-nowrap overflow-hidden\",\n children: \"Heartbeat\"\n }, void 0, false, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 444,\n columnNumber: 15\n }, this)\n }, void 0, false, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 442,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 438,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"nav\", {\n className: \"flex-1 p-3 space-y-1\",\n children: navItems.map((item)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(SidebarItem, {\n item: item,\n isActive: activeNav === item.id,\n isCollapsed: sidebarCollapsed,\n onClick: ()=>setActiveNav(item.id)\n }, item.id, false, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 459,\n columnNumber: 13\n }, this))\n }, void 0, false, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 457,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"p-3 border-t border-slate-800\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n onClick: ()=>setSidebarCollapsed(!sidebarCollapsed),\n className: \"w-full flex items-center justify-center p-2 text-slate-400 hover:text-white hover:bg-slate-800/50 rounded-lg transition-colors\",\n children: sidebarCollapsed ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Activity_AlertTriangle_Bell_CheckCircle2_ChevronLeft_ChevronRight_Clock_ExternalLink_History_LayoutDashboard_Monitor_Plus_RefreshCw_Search_Server_Settings_Trash2_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_18__[\"default\"], {\n className: \"w-5 h-5\"\n }, void 0, false, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 475,\n columnNumber: 33\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Activity_AlertTriangle_Bell_CheckCircle2_ChevronLeft_ChevronRight_Clock_ExternalLink_History_LayoutDashboard_Monitor_Plus_RefreshCw_Search_Server_Settings_Trash2_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_19__[\"default\"], {\n className: \"w-5 h-5\"\n }, void 0, false, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 475,\n columnNumber: 72\n }, this)\n }, void 0, false, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 471,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 470,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 432,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"main\", {\n className: \"flex-1 min-h-screen transition-all duration-300\",\n style: {\n marginLeft: sidebarCollapsed ? 72 : 240\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"header\", {\n className: \"h-16 bg-slate-900/50 backdrop-blur-sm border-b border-slate-800 sticky top-0 z-40 px-6 flex items-center justify-between\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-4\",\n children: /*#__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 border ${allUp ? \"bg-emerald-500/10 border-emerald-500/20\" : \"bg-amber-500/10 border-amber-500/20\"}`,\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: `relative flex h-2 w-2`,\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: `animate-ping absolute inline-flex h-full w-full rounded-full opacity-75 ${allUp ? \"bg-emerald-400\" : \"bg-amber-400\"}`\n }, void 0, false, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 495,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: `relative inline-flex rounded-full h-2 w-2 ${allUp ? \"bg-emerald-500\" : \"bg-amber-500\"}`\n }, void 0, false, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 496,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 494,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: `text-sm font-medium ${allUp ? \"text-emerald-400\" : \"text-amber-400\"}`,\n children: allUp ? \"All Systems Operational\" : `${stats.offline} Service${stats.offline > 1 ? 's' : ''} Down`\n }, void 0, false, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 498,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-slate-500 text-xs\",\n children: [\n \"• Updated \",\n new Date().toLocaleTimeString()\n ]\n }, void 0, true, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 501,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 489,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 488,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-3\",\n children: [\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)(_barrel_optimize_names_Activity_AlertTriangle_Bell_CheckCircle2_ChevronLeft_ChevronRight_Clock_ExternalLink_History_LayoutDashboard_Monitor_Plus_RefreshCw_Search_Server_Settings_Trash2_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_20__[\"default\"], {\n className: \"w-4 h-4 absolute left-3 top-1/2 -translate-y-1/2 text-slate-500\"\n }, void 0, false, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 509,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"input\", {\n type: \"text\",\n placeholder: \"Search...\",\n className: \"w-64 bg-slate-800/50 border border-slate-700 rounded-lg pl-10 pr-4 py-2 text-sm text-white placeholder-slate-500 focus:border-emerald-500/50 focus:outline-none transition-colors\"\n }, void 0, false, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 510,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 508,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n onClick: ()=>setShowAddModal(true),\n className: \"flex items-center gap-2 px-4 py-2 bg-emerald-600 hover:bg-emerald-500 text-white rounded-lg text-sm font-medium transition-colors\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Activity_AlertTriangle_Bell_CheckCircle2_ChevronLeft_ChevronRight_Clock_ExternalLink_History_LayoutDashboard_Monitor_Plus_RefreshCw_Search_Server_Settings_Trash2_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_21__[\"default\"], {\n className: \"w-4 h-4\"\n }, void 0, false, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 522,\n columnNumber: 15\n }, this),\n \"Add Monitor\"\n ]\n }, void 0, true, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 518,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n onClick: fetchData,\n className: \"p-2 text-slate-400 hover:text-white hover:bg-slate-800 rounded-lg transition-colors\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Activity_AlertTriangle_Bell_CheckCircle2_ChevronLeft_ChevronRight_Clock_ExternalLink_History_LayoutDashboard_Monitor_Plus_RefreshCw_Search_Server_Settings_Trash2_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_10__[\"default\"], {\n className: \"w-5 h-5\"\n }, void 0, false, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 531,\n columnNumber: 15\n }, this)\n }, void 0, false, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 527,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n className: \"p-2 text-slate-400 hover:text-white hover:bg-slate-800 rounded-lg transition-colors relative\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Activity_AlertTriangle_Bell_CheckCircle2_ChevronLeft_ChevronRight_Clock_ExternalLink_History_LayoutDashboard_Monitor_Plus_RefreshCw_Search_Server_Settings_Trash2_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_22__[\"default\"], {\n className: \"w-5 h-5\"\n }, void 0, false, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 536,\n columnNumber: 15\n }, this),\n stats.incidents > 0 && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"absolute top-1 right-1 w-2 h-2 bg-red-500 rounded-full\"\n }, void 0, false, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 538,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 535,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-9 h-9 rounded-full bg-gradient-to-br from-emerald-500 to-cyan-500 flex items-center justify-center text-white font-medium text-sm\",\n children: \"MB\"\n }, void 0, false, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 543,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 506,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 486,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"p-6 space-y-6\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(MetricCard, {\n title: \"Services Online\",\n value: `${stats.online}/${stats.total}`,\n subtitle: allUp ? \"All healthy\" : `${stats.offline} down`,\n icon: _barrel_optimize_names_Activity_AlertTriangle_Bell_CheckCircle2_ChevronLeft_ChevronRight_Clock_ExternalLink_History_LayoutDashboard_Monitor_Plus_RefreshCw_Search_Server_Settings_Trash2_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_7__[\"default\"],\n color: \"emerald\",\n data: servicesData,\n trend: \"up\"\n }, void 0, false, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 553,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(MetricCard, {\n title: \"Average Uptime\",\n value: `${stats.avgUptime}%`,\n subtitle: \"Last 30 days\",\n icon: _barrel_optimize_names_Activity_AlertTriangle_Bell_CheckCircle2_ChevronLeft_ChevronRight_Clock_ExternalLink_History_LayoutDashboard_Monitor_Plus_RefreshCw_Search_Server_Settings_Trash2_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_23__[\"default\"],\n color: \"blue\",\n data: uptimeData,\n trend: \"up\"\n }, void 0, false, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 562,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(MetricCard, {\n title: \"Avg Response Time\",\n value: `${stats.avgResponseTime}ms`,\n subtitle: \"Across all services\",\n icon: _barrel_optimize_names_Activity_AlertTriangle_Bell_CheckCircle2_ChevronLeft_ChevronRight_Clock_ExternalLink_History_LayoutDashboard_Monitor_Plus_RefreshCw_Search_Server_Settings_Trash2_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_24__[\"default\"],\n color: \"purple\",\n data: responseData,\n trend: stats.avgResponseTime < 200 ? \"up\" : \"down\"\n }, void 0, false, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 571,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(MetricCard, {\n title: \"Total Incidents\",\n value: stats.incidents,\n subtitle: \"Last 24 hours\",\n icon: _barrel_optimize_names_Activity_AlertTriangle_Bell_CheckCircle2_ChevronLeft_ChevronRight_Clock_ExternalLink_History_LayoutDashboard_Monitor_Plus_RefreshCw_Search_Server_Settings_Trash2_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_15__[\"default\"],\n color: \"amber\",\n data: incidentsData,\n trend: stats.incidents === 0 ? \"up\" : \"down\"\n }, void 0, false, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 580,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 552,\n columnNumber: 11\n }, this),\n /*#__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: \"flex items-center justify-between mb-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h2\", {\n className: \"text-lg font-semibold text-white\",\n children: \"Monitored Services\"\n }, void 0, false, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 594,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-sm text-slate-500\",\n children: [\n stats.total,\n \" services\"\n ]\n }, void 0, true, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 595,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 593,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(framer_motion__WEBPACK_IMPORTED_MODULE_2__.motion.div, {\n layout: true,\n className: \"grid grid-cols-1 md:grid-cols-2 xl:grid-cols-3 gap-4\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(framer_motion__WEBPACK_IMPORTED_MODULE_3__.AnimatePresence, {\n mode: \"popLayout\",\n children: apps.map((app)=>{\n const appStatus = getAppStatus(app.id);\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(ServiceCard, {\n app: app,\n status: appStatus,\n onDelete: ()=>deleteApp(app.id)\n }, app.id, false, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 606,\n columnNumber: 21\n }, this);\n })\n }, void 0, false, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 602,\n columnNumber: 15\n }, this)\n }, void 0, false, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 598,\n columnNumber: 13\n }, this),\n apps.length === 0 && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(framer_motion__WEBPACK_IMPORTED_MODULE_2__.motion.div, {\n initial: {\n opacity: 0,\n y: 20\n },\n animate: {\n opacity: 1,\n y: 0\n },\n className: \"text-center py-16 bg-slate-900/30 rounded-xl border border-dashed border-slate-800\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-16 h-16 bg-slate-800 rounded-2xl flex items-center justify-center mx-auto mb-4\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_Activity_AlertTriangle_Bell_CheckCircle2_ChevronLeft_ChevronRight_Clock_ExternalLink_History_LayoutDashboard_Monitor_Plus_RefreshCw_Search_Server_Settings_Trash2_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_14__[\"default\"], {\n className: \"w-8 h-8 text-slate-600\"\n }, void 0, false, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 624,\n columnNumber: 19\n }, this)\n }, void 0, false, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 623,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"text-lg font-semibold text-white mb-2\",\n children: \"No monitors yet\"\n }, void 0, false, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 626,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-slate-500 mb-4\",\n children: \"Start monitoring your services\"\n }, void 0, false, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 627,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n onClick: ()=>setShowAddModal(true),\n className: \"px-4 py-2 bg-emerald-600 hover:bg-emerald-500 text-white rounded-lg transition-colors\",\n children: \"Add Your First Monitor\"\n }, void 0, false, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 628,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 618,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 592,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 550,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 481,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(framer_motion__WEBPACK_IMPORTED_MODULE_3__.AnimatePresence, {\n children: showAddModal && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(framer_motion__WEBPACK_IMPORTED_MODULE_2__.motion.div, {\n initial: {\n opacity: 0\n },\n animate: {\n opacity: 1\n },\n exit: {\n opacity: 0\n },\n className: \"fixed inset-0 bg-black/60 backdrop-blur-sm flex items-center justify-center z-50 p-4\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(framer_motion__WEBPACK_IMPORTED_MODULE_2__.motion.div, {\n initial: {\n opacity: 0,\n scale: 0.95,\n y: 20\n },\n animate: {\n opacity: 1,\n scale: 1,\n y: 0\n },\n exit: {\n opacity: 0,\n scale: 0.95,\n y: 20\n },\n className: \"bg-slate-900 border border-slate-800 rounded-xl p-6 w-full max-w-md shadow-2xl\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h2\", {\n className: \"text-xl font-bold text-white mb-2\",\n children: \"Add New Monitor\"\n }, void 0, false, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 655,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-slate-400 text-sm mb-6\",\n children: \"Configure a new service to monitor\"\n }, void 0, false, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 656,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"form\", {\n onSubmit: addApp,\n className: \"space-y-4\",\n children: [\n /*#__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)(\"label\", {\n className: \"block text-sm font-medium text-slate-300 mb-2\",\n children: \"Service Name\"\n }, void 0, false, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 660,\n columnNumber: 19\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"input\", {\n type: \"text\",\n value: newApp.name,\n onChange: (e)=>setNewApp({\n ...newApp,\n name: e.target.value\n }),\n className: \"w-full bg-slate-800/50 border border-slate-700 rounded-lg px-4 py-2.5 text-white placeholder-slate-500 focus:border-emerald-500/50 focus:outline-none transition-colors\",\n placeholder: \"My Service\",\n required: true\n }, void 0, false, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 661,\n columnNumber: 19\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 659,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid grid-cols-2 gap-4\",\n children: [\n /*#__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)(\"label\", {\n className: \"block text-sm font-medium text-slate-300 mb-2\",\n children: \"URL\"\n }, void 0, false, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 673,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"input\", {\n type: \"url\",\n value: newApp.url,\n onChange: (e)=>setNewApp({\n ...newApp,\n url: e.target.value\n }),\n className: \"w-full bg-slate-800/50 border border-slate-700 rounded-lg px-4 py-2.5 text-white placeholder-slate-500 focus:border-emerald-500/50 focus:outline-none transition-colors\",\n placeholder: \"http://localhost:3000\",\n required: true\n }, void 0, false, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 674,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 672,\n columnNumber: 19\n }, this),\n /*#__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)(\"label\", {\n className: \"block text-sm font-medium text-slate-300 mb-2\",\n children: \"Port\"\n }, void 0, false, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 684,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"input\", {\n type: \"number\",\n value: newApp.port,\n onChange: (e)=>setNewApp({\n ...newApp,\n port: parseInt(e.target.value)\n }),\n className: \"w-full bg-slate-800/50 border border-slate-700 rounded-lg px-4 py-2.5 text-white placeholder-slate-500 focus:border-emerald-500/50 focus:outline-none transition-colors\",\n required: true\n }, void 0, false, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 685,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 683,\n columnNumber: 19\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 671,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex gap-3 pt-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n type: \"button\",\n onClick: ()=>setShowAddModal(false),\n className: \"flex-1 px-4 py-2.5 border border-slate-700 rounded-lg text-slate-300 hover:bg-slate-800 transition-colors\",\n children: \"Cancel\"\n }, void 0, false, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 696,\n columnNumber: 19\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n type: \"submit\",\n className: \"flex-1 px-4 py-2.5 bg-emerald-600 hover:bg-emerald-500 text-white rounded-lg font-medium transition-colors\",\n children: \"Add Monitor\"\n }, void 0, false, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 703,\n columnNumber: 19\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 695,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 658,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 649,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 643,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 641,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx\",\n lineNumber: 430,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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Z0RBQ0xuQyxTQUFTLElBQU00RSxnQkFBZ0I7Z0RBQy9CdEUsV0FBVTswREFDWDs7Ozs7OzBEQUdELDhEQUFDTDtnREFDQ2tDLE1BQUs7Z0RBQ0w3QixXQUFVOzBEQUNYOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBV25CIiwic291cmNlcyI6WyIvVXNlcnMvbWF0dGJydWNlL0RvY3VtZW50cy9Qcm9qZWN0cy9PcGVuQ2xhdy9XZWIvaGVhcnRiZWF0LW1vbml0b3Ivc3JjL2FwcC9wYWdlLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBjbGllbnRcIjtcblxuaW1wb3J0IFJlYWN0LCB7IHVzZVN0YXRlLCB1c2VFZmZlY3QgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IG1vdGlvbiwgQW5pbWF0ZVByZXNlbmNlIH0gZnJvbSBcImZyYW1lci1tb3Rpb25cIjtcbmltcG9ydCB7XG4gIExpbmVDaGFydCxcbiAgTGluZSxcbiAgUmVzcG9uc2l2ZUNvbnRhaW5lcixcbiAgWUF4aXMsXG59IGZyb20gXCJyZWNoYXJ0c1wiO1xuaW1wb3J0IHtcbiAgQWN0aXZpdHksXG4gIFBsdXMsXG4gIFJlZnJlc2hDdyxcbiAgVHJhc2gyLFxuICBFeHRlcm5hbExpbmssXG4gIFNlYXJjaCxcbiAgQmVsbCxcbiAgU2V0dGluZ3MsXG4gIENoZXZyb25MZWZ0LFxuICBDaGV2cm9uUmlnaHQsXG4gIExheW91dERhc2hib2FyZCxcbiAgTW9uaXRvcixcbiAgQWxlcnRUcmlhbmdsZSxcbiAgSGlzdG9yeSxcbiAgTW9yZVZlcnRpY2FsLFxuICBDaGVja0NpcmNsZTIsXG4gIFhDaXJjbGUsXG4gIEFsZXJ0Q2lyY2xlLFxuICBDbG9jayxcbiAgWmFwLFxuICBUcmVuZGluZ1VwLFxuICBTZXJ2ZXIsXG4gIE1lbnUsXG59IGZyb20gXCJsdWNpZGUtcmVhY3RcIjtcblxuLy8gVHlwZXNcbmludGVyZmFjZSBBcHAge1xuICBpZDogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIHVybDogc3RyaW5nO1xuICBwb3J0OiBudW1iZXI7XG4gIHBhdGg6IHN0cmluZztcbiAgY29tbWFuZDogc3RyaW5nO1xuICBjYXRlZ29yeTogc3RyaW5nO1xuICBjb2xvcjogc3RyaW5nO1xuICBlbmFibGVkOiBib29sZWFuO1xufVxuXG5pbnRlcmZhY2UgU3RhdHVzRW50cnkge1xuICBhcHBJZDogc3RyaW5nO1xuICB0aW1lc3RhbXA6IHN0cmluZztcbiAgc3RhdHVzOiBcInVwXCIgfCBcImRvd25cIjtcbiAgcmVzcG9uc2VUaW1lPzogbnVtYmVyO1xufVxuXG5pbnRlcmZhY2UgTmF2SXRlbSB7XG4gIGlkOiBzdHJpbmc7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIGljb246IFJlYWN0LlJlYWN0Tm9kZTtcbn1cblxuLy8gTW9jayBkYXRhIGdlbmVyYXRvciBmb3Igc3BhcmtsaW5lc1xuY29uc3QgZ2VuZXJhdGVTcGFya2xpbmVEYXRhID0gKHBvaW50czogbnVtYmVyLCBpc1VwOiBib29sZWFuKSA9PiB7XG4gIHJldHVybiBBcnJheS5mcm9tKHsgbGVuZ3RoOiBwb2ludHMgfSwgKF8sIGkpID0+ICh7XG4gICAgdmFsdWU6IGlzVXAgXG4gICAgICA/IDgwICsgTWF0aC5yYW5kb20oKSAqIDIwIFxuICAgICAgOiBNYXRoLnJhbmRvbSgpICogMzAsXG4gICAgdGltZTogaSxcbiAgfSkpO1xufTtcblxuLy8gQ29tcG9uZW50c1xuY29uc3QgU2lkZWJhckl0ZW0gPSAoeyBcbiAgaXRlbSwgXG4gIGlzQWN0aXZlLCBcbiAgaXNDb2xsYXBzZWQsIFxuICBvbkNsaWNrIFxufTogeyBcbiAgaXRlbTogTmF2SXRlbTsgXG4gIGlzQWN0aXZlOiBib29sZWFuOyBcbiAgaXNDb2xsYXBzZWQ6IGJvb2xlYW47XG4gIG9uQ2xpY2s6ICgpID0+IHZvaWQ7XG59KSA9PiAoXG4gIDxtb3Rpb24uYnV0dG9uXG4gICAgb25DbGljaz17b25DbGlja31cbiAgICB3aGlsZUhvdmVyPXt7IHg6IDIgfX1cbiAgICB3aGlsZVRhcD17eyBzY2FsZTogMC45OCB9fVxuICAgIGNsYXNzTmFtZT17YHctZnVsbCBmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMyBweC0zIHB5LTIuNSByb3VuZGVkLWxnIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTIwMCAke1xuICAgICAgaXNBY3RpdmUgXG4gICAgICAgID8gXCJiZy1lbWVyYWxkLTUwMC8xMCB0ZXh0LWVtZXJhbGQtNDAwIGJvcmRlciBib3JkZXItZW1lcmFsZC01MDAvMjBcIiBcbiAgICAgICAgOiBcInRleHQtc2xhdGUtNDAwIGhvdmVyOnRleHQtc2xhdGUtMTAwIGhvdmVyOmJnLXNsYXRlLTgwMC81MFwiXG4gICAgfWB9XG4gID5cbiAgICA8c3BhbiBjbGFzc05hbWU9XCJmbGV4LXNocmluay0wXCI+e2l0ZW0uaWNvbn08L3NwYW4+XG4gICAgPEFuaW1hdGVQcmVzZW5jZSBtb2RlPVwid2FpdFwiPlxuICAgICAgeyFpc0NvbGxhcHNlZCAmJiAoXG4gICAgICAgIDxtb3Rpb24uc3BhblxuICAgICAgICAgIGluaXRpYWw9e3sgb3BhY2l0eTogMCwgd2lkdGg6IDAgfX1cbiAgICAgICAgICBhbmltYXRlPXt7IG9wYWNpdHk6IDEsIHdpZHRoOiBcImF1dG9cIiB9fVxuICAgICAgICAgIGV4aXQ9e3sgb3BhY2l0eTogMCwgd2lkdGg6IDAgfX1cbiAgICAgICAgICBjbGFzc05hbWU9XCJ0ZXh0LXNtIGZvbnQtbWVkaXVtIHdoaXRlc3BhY2Utbm93cmFwIG92ZXJmbG93LWhpZGRlblwiXG4gICAgICAgID5cbiAgICAgICAgICB7aXRlbS5sYWJlbH1cbiAgICAgICAgPC9tb3Rpb24uc3Bhbj5cbiAgICAgICl9XG4gICAgPC9BbmltYXRlUHJlc2VuY2U+XG4gIDwvbW90aW9uLmJ1dHRvbj5cbik7XG5cbmNvbnN0IE1ldHJpY0NhcmQgPSAoeyBcbiAgdGl0bGUsIFxuICB2YWx1ZSwgXG4gIHN1YnRpdGxlLCBcbiAgaWNvbjogSWNvbiwgXG4gIGNvbG9yLCBcbiAgZGF0YSxcbiAgdHJlbmQgXG59OiB7IFxuICB0aXRsZTogc3RyaW5nOyBcbiAgdmFsdWU6IHN0cmluZyB8IG51bWJlcjsgXG4gIHN1YnRpdGxlOiBzdHJpbmc7XG4gIGljb246IGFueTtcbiAgY29sb3I6IHN0cmluZztcbiAgZGF0YTogYW55W107XG4gIHRyZW5kPzogXCJ1cFwiIHwgXCJkb3duXCIgfCBcIm5ldXRyYWxcIjtcbn0pID0+IHtcbiAgY29uc3QgY29sb3JDbGFzc2VzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICAgIGVtZXJhbGQ6IFwiZnJvbS1lbWVyYWxkLTUwMC8yMCB0by1lbWVyYWxkLTUwMC81IGJvcmRlci1lbWVyYWxkLTUwMC8yMFwiLFxuICAgIGJsdWU6IFwiZnJvbS1ibHVlLTUwMC8yMCB0by1ibHVlLTUwMC81IGJvcmRlci1ibHVlLTUwMC8yMFwiLFxuICAgIHB1cnBsZTogXCJmcm9tLXB1cnBsZS01MDAvMjAgdG8tcHVycGxlLTUwMC81IGJvcmRlci1wdXJwbGUtNTAwLzIwXCIsXG4gICAgYW1iZXI6IFwiZnJvbS1hbWJlci01MDAvMjAgdG8tYW1iZXItNTAwLzUgYm9yZGVyLWFtYmVyLTUwMC8yMFwiLFxuICB9O1xuXG4gIHJldHVybiAoXG4gICAgPG1vdGlvbi5kaXZcbiAgICAgIHdoaWxlSG92ZXI9e3sgeTogLTQsIHRyYW5zaXRpb246IHsgZHVyYXRpb246IDAuMiB9IH19XG4gICAgICBjbGFzc05hbWU9e2ByZWxhdGl2ZSBvdmVyZmxvdy1oaWRkZW4gcm91bmRlZC14bCBib3JkZXIgYmctZ3JhZGllbnQtdG8tYnIgcC01ICR7Y29sb3JDbGFzc2VzW2NvbG9yXX0gYmFja2Ryb3AtYmx1ci1zbWB9XG4gICAgPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLXN0YXJ0IGp1c3RpZnktYmV0d2VlblwiPlxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQtc2xhdGUtNDAwIHRleHQtc20gZm9udC1tZWRpdW0gbWItMVwiPnt0aXRsZX08L3A+XG4gICAgICAgICAgPHAgY2xhc3NOYW1lPVwidGV4dC0zeGwgZm9udC1ib2xkIHRleHQtd2hpdGVcIj57dmFsdWV9PC9wPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTIgbXQtMlwiPlxuICAgICAgICAgICAge3RyZW5kICYmIChcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXtgdGV4dC14cyAke3RyZW5kID09PSBcInVwXCIgPyBcInRleHQtZW1lcmFsZC00MDBcIiA6IHRyZW5kID09PSBcImRvd25cIiA/IFwidGV4dC1yZWQtNDAwXCIgOiBcInRleHQtc2xhdGUtNDAwXCJ9YH0+XG4gICAgICAgICAgICAgICAge3RyZW5kID09PSBcInVwXCIgPyBcIuKGkVwiIDogdHJlbmQgPT09IFwiZG93blwiID8gXCLihpNcIiA6IFwi4oaSXCJ9IFxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICApfVxuICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC1zbGF0ZS01MDAgdGV4dC14c1wiPntzdWJ0aXRsZX08L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17YHAtMi41IHJvdW5kZWQtbGcgYmctJHtjb2xvcn0tNTAwLzEwYH0+XG4gICAgICAgICAgPEljb24gY2xhc3NOYW1lPXtgdy01IGgtNSB0ZXh0LSR7Y29sb3J9LTQwMGB9IHN0eWxlPXt7IGNvbG9yOiBjb2xvciA9PT0gXCJlbWVyYWxkXCIgPyBcIiMzNGQzOTlcIiA6IGNvbG9yID09PSBcImJsdWVcIiA/IFwiIzYwYTVmYVwiIDogY29sb3IgPT09IFwicHVycGxlXCIgPyBcIiNhNzhiZmFcIiA6IFwiI2ZiYmYyNFwiIH19IC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICBcbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXQtNCBoLTEyXCI+XG4gICAgICAgIDxSZXNwb25zaXZlQ29udGFpbmVyIHdpZHRoPVwiMTAwJVwiIGhlaWdodD1cIjEwMCVcIj5cbiAgICAgICAgICA8TGluZUNoYXJ0IGRhdGE9e2RhdGF9PlxuICAgICAgICAgICAgPExpbmVcbiAgICAgICAgICAgICAgdHlwZT1cIm1vbm90b25lXCJcbiAgICAgICAgICAgICAgZGF0YUtleT1cInZhbHVlXCJcbiAgICAgICAgICAgICAgc3Ryb2tlPXtjb2xvciA9PT0gXCJlbWVyYWxkXCIgPyBcIiMzNGQzOTlcIiA6IGNvbG9yID09PSBcImJsdWVcIiA/IFwiIzYwYTVmYVwiIDogY29sb3IgPT09IFwicHVycGxlXCIgPyBcIiNhNzhiZmFcIiA6IFwiI2ZiYmYyNFwifVxuICAgICAgICAgICAgICBzdHJva2VXaWR0aD17Mn1cbiAgICAgICAgICAgICAgZG90PXtmYWxzZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9MaW5lQ2hhcnQ+XG4gICAgICAgIDwvUmVzcG9uc2l2ZUNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbW90aW9uLmRpdj5cbiAgKTtcbn07XG5cbmNvbnN0IFNlcnZpY2VDYXJkID0gKHsgXG4gIGFwcCwgXG4gIHN0YXR1cywgXG4gIG9uRGVsZXRlIFxufTogeyBcbiAgYXBwOiBBcHA7IFxuICBzdGF0dXM6IHsgaXNVcDogYm9vbGVhbjsgdXB0aW1lOiBudW1iZXI7IGF2Z1Jlc3BvbnNlVGltZTogbnVtYmVyOyBsYXRlc3Q/OiBTdGF0dXNFbnRyeSB9OyBcbiAgb25EZWxldGU6ICgpID0+IHZvaWQ7XG59KSA9PiB7XG4gIGNvbnN0IFtpc0hvdmVyZWQsIHNldElzSG92ZXJlZF0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IHNwYXJrbGluZURhdGEgPSBnZW5lcmF0ZVNwYXJrbGluZURhdGEoMTIsIHN0YXR1cy5pc1VwKTtcblxuICByZXR1cm4gKFxuICAgIDxtb3Rpb24uZGl2XG4gICAgICBsYXlvdXRcbiAgICAgIGluaXRpYWw9e3sgb3BhY2l0eTogMCwgc2NhbGU6IDAuOTUgfX1cbiAgICAgIGFuaW1hdGU9e3sgb3BhY2l0eTogMSwgc2NhbGU6IDEgfX1cbiAgICAgIGV4aXQ9e3sgb3BhY2l0eTogMCwgc2NhbGU6IDAuOTUgfX1cbiAgICAgIHdoaWxlSG92ZXI9e3sgeTogLTIgfX1cbiAgICAgIG9uSG92ZXJTdGFydD17KCkgPT4gc2V0SXNIb3ZlcmVkKHRydWUpfVxuICAgICAgb25Ib3ZlckVuZD17KCkgPT4gc2V0SXNIb3ZlcmVkKGZhbHNlKX1cbiAgICAgIGNsYXNzTmFtZT1cImdyb3VwIHJlbGF0aXZlIGJnLXNsYXRlLTkwMC81MCBib3JkZXIgYm9yZGVyLXNsYXRlLTgwMCByb3VuZGVkLXhsIHAtNSBob3Zlcjpib3JkZXItc2xhdGUtNzAwIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTMwMFwiXG4gICAgPlxuICAgICAgey8qIFN0YXR1cyBJbmRpY2F0b3IgTGluZSAqL31cbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtgYWJzb2x1dGUgdG9wLTAgbGVmdC00IHJpZ2h0LTQgaC0wLjUgcm91bmRlZC1mdWxsICR7c3RhdHVzLmlzVXAgPyBcImJnLWVtZXJhbGQtNTAwXCIgOiBcImJnLXJlZC01MDBcIn1gfSAvPlxuICAgICAgXG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtc3RhcnQganVzdGlmeS1iZXR3ZWVuIG1iLTRcIj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtM1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtgdy0xMCBoLTEwIHJvdW5kZWQtbGcgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgJHtzdGF0dXMuaXNVcCA/IFwiYmctZW1lcmFsZC01MDAvMTBcIiA6IFwiYmctcmVkLTUwMC8xMFwifWB9PlxuICAgICAgICAgICAgPFNlcnZlciBjbGFzc05hbWU9e2B3LTUgaC01ICR7c3RhdHVzLmlzVXAgPyBcInRleHQtZW1lcmFsZC00MDBcIiA6IFwidGV4dC1yZWQtNDAwXCJ9YH0gLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgPGgzIGNsYXNzTmFtZT1cImZvbnQtc2VtaWJvbGQgdGV4dC13aGl0ZSBmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMlwiPlxuICAgICAgICAgICAgICB7YXBwLm5hbWV9XG4gICAgICAgICAgICAgIDxhIGhyZWY9e2FwcC51cmx9IHRhcmdldD1cIl9ibGFua1wiIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIiBjbGFzc05hbWU9XCJ0ZXh0LXNsYXRlLTUwMCBob3Zlcjp0ZXh0LWVtZXJhbGQtNDAwIHRyYW5zaXRpb24tY29sb3JzXCI+XG4gICAgICAgICAgICAgICAgPEV4dGVybmFsTGluayBjbGFzc05hbWU9XCJ3LTMuNSBoLTMuNVwiIC8+XG4gICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgIDwvaDM+XG4gICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJ0ZXh0LXhzIHRleHQtc2xhdGUtNTAwXCI+UG9ydCB7YXBwLnBvcnR9PC9wPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtgaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIGdhcC0xLjUgcHgtMi41IHB5LTEgcm91bmRlZC1mdWxsIHRleHQteHMgZm9udC1tZWRpdW0gYm9yZGVyICR7XG4gICAgICAgICAgc3RhdHVzLmlzVXAgXG4gICAgICAgICAgICA/IFwiYmctZW1lcmFsZC01MDAvMTAgYm9yZGVyLWVtZXJhbGQtNTAwLzIwIHRleHQtZW1lcmFsZC00MDBcIiBcbiAgICAgICAgICAgIDogXCJiZy1yZWQtNTAwLzEwIGJvcmRlci1yZWQtNTAwLzIwIHRleHQtcmVkLTQwMFwiXG4gICAgICAgIH1gfT5cbiAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJyZWxhdGl2ZSBmbGV4IGgtMS41IHctMS41XCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9e2BhbmltYXRlLXBpbmcgYWJzb2x1dGUgaW5saW5lLWZsZXggaC1mdWxsIHctZnVsbCByb3VuZGVkLWZ1bGwgb3BhY2l0eS03NSAke3N0YXR1cy5pc1VwID8gXCJiZy1lbWVyYWxkLTQwMFwiIDogXCJiZy1yZWQtNDAwXCJ9YH0+PC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXtgcmVsYXRpdmUgaW5saW5lLWZsZXggcm91bmRlZC1mdWxsIGgtMS41IHctMS41ICR7c3RhdHVzLmlzVXAgPyBcImJnLWVtZXJhbGQtNTAwXCIgOiBcImJnLXJlZC01MDBcIn1gfT48L3NwYW4+XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIHtzdGF0dXMuaXNVcCA/IFwiT3BlcmF0aW9uYWxcIiA6IFwiRG93blwifVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICB7LyogTWV0cmljcyAqL31cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwic3BhY2UteS00XCI+XG4gICAgICAgIHsvKiBVcHRpbWUgKi99XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gbWItMS41XCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LXhzIHRleHQtc2xhdGUtNDAwXCI+VXB0aW1lPC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC1zbSBmb250LXNlbWlib2xkIHRleHQtd2hpdGVcIj57c3RhdHVzLnVwdGltZX0lPC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiaC0xLjUgdy1mdWxsIGJnLXNsYXRlLTgwMCByb3VuZGVkLWZ1bGwgb3ZlcmZsb3ctaGlkZGVuXCI+XG4gICAgICAgICAgICA8bW90aW9uLmRpdiBcbiAgICAgICAgICAgICAgaW5pdGlhbD17eyB3aWR0aDogMCB9fVxuICAgICAgICAgICAgICBhbmltYXRlPXt7IHdpZHRoOiBgJHtzdGF0dXMudXB0aW1lfSVgIH19XG4gICAgICAgICAgICAgIHRyYW5zaXRpb249e3sgZHVyYXRpb246IDEsIGRlbGF5OiAwLjIgfX1cbiAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgaC1mdWxsIHJvdW5kZWQtZnVsbCAke3N0YXR1cy51cHRpbWUgPiA5NSA/IFwiYmctZW1lcmFsZC01MDBcIiA6IHN0YXR1cy51cHRpbWUgPiA4MCA/IFwiYmctYW1iZXItNTAwXCIgOiBcImJnLXJlZC01MDBcIn1gfSBcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIHsvKiBSZXNwb25zZSBUaW1lICovfVxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlblwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQteHMgdGV4dC1zbGF0ZS00MDBcIj5SZXNwb25zZSBUaW1lPC9zcGFuPlxuICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQtbGcgZm9udC1zZW1pYm9sZCB0ZXh0LXdoaXRlXCI+XG4gICAgICAgICAgICB7c3RhdHVzLmF2Z1Jlc3BvbnNlVGltZSA+IDAgPyBgJHtzdGF0dXMuYXZnUmVzcG9uc2VUaW1lfW1zYCA6IFwi4oCUXCJ9XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICB7LyogU3BhcmtsaW5lICovfVxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImgtMTAgLW14LTFcIj5cbiAgICAgICAgICA8UmVzcG9uc2l2ZUNvbnRhaW5lciB3aWR0aD1cIjEwMCVcIiBoZWlnaHQ9XCIxMDAlXCI+XG4gICAgICAgICAgICA8TGluZUNoYXJ0IGRhdGE9e3NwYXJrbGluZURhdGF9PlxuICAgICAgICAgICAgICA8TGluZVxuICAgICAgICAgICAgICAgIHR5cGU9XCJtb25vdG9uZVwiXG4gICAgICAgICAgICAgICAgZGF0YUtleT1cInZhbHVlXCJcbiAgICAgICAgICAgICAgICBzdHJva2U9e3N0YXR1cy5pc1VwID8gXCIjMzRkMzk5XCIgOiBcIiNmODcxNzFcIn1cbiAgICAgICAgICAgICAgICBzdHJva2VXaWR0aD17MS41fVxuICAgICAgICAgICAgICAgIGRvdD17ZmFsc2V9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L0xpbmVDaGFydD5cbiAgICAgICAgICA8L1Jlc3BvbnNpdmVDb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIHsvKiBMYXN0IENoZWNrZWQgKi99XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuIHRleHQteHMgdGV4dC1zbGF0ZS01MDBcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMVwiPlxuICAgICAgICAgICAgPENsb2NrIGNsYXNzTmFtZT1cInctMyBoLTNcIiAvPlxuICAgICAgICAgICAge3N0YXR1cy5sYXRlc3QgPyBuZXcgRGF0ZShzdGF0dXMubGF0ZXN0LnRpbWVzdGFtcCkudG9Mb2NhbGVUaW1lU3RyaW5nKCkgOiBcIk5ldmVyXCJ9XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIFxuICAgICAgICAgIHsvKiBIb3ZlciBBY3Rpb25zICovfVxuICAgICAgICAgIDxBbmltYXRlUHJlc2VuY2U+XG4gICAgICAgICAgICB7aXNIb3ZlcmVkICYmIChcbiAgICAgICAgICAgICAgPG1vdGlvbi5kaXZcbiAgICAgICAgICAgICAgICBpbml0aWFsPXt7IG9wYWNpdHk6IDAsIHg6IDEwIH19XG4gICAgICAgICAgICAgICAgYW5pbWF0ZT17eyBvcGFjaXR5OiAxLCB4OiAwIH19XG4gICAgICAgICAgICAgICAgZXhpdD17eyBvcGFjaXR5OiAwLCB4OiAxMCB9fVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0xXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3NOYW1lPVwicC0xLjUgdGV4dC1zbGF0ZS00MDAgaG92ZXI6dGV4dC13aGl0ZSBob3ZlcjpiZy1zbGF0ZS04MDAgcm91bmRlZCB0cmFuc2l0aW9uLWNvbG9yc1wiPlxuICAgICAgICAgICAgICAgICAgPFJlZnJlc2hDdyBjbGFzc05hbWU9XCJ3LTMuNSBoLTMuNVwiIC8+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzc05hbWU9XCJwLTEuNSB0ZXh0LXNsYXRlLTQwMCBob3Zlcjp0ZXh0LXdoaXRlIGhvdmVyOmJnLXNsYXRlLTgwMCByb3VuZGVkIHRyYW5zaXRpb24tY29sb3JzXCI+XG4gICAgICAgICAgICAgICAgICA8U2V0dGluZ3MgY2xhc3NOYW1lPVwidy0zLjUgaC0zLjVcIiAvPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxidXR0b24gXG4gICAgICAgICAgICAgICAgICBvbkNsaWNrPXtvbkRlbGV0ZX1cbiAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInAtMS41IHRleHQtc2xhdGUtNDAwIGhvdmVyOnRleHQtcmVkLTQwMCBob3ZlcjpiZy1yZWQtNTAwLzEwIHJvdW5kZWQgdHJhbnNpdGlvbi1jb2xvcnNcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxUcmFzaDIgY2xhc3NOYW1lPVwidy0zLjUgaC0zLjVcIiAvPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8L21vdGlvbi5kaXY+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvQW5pbWF0ZVByZXNlbmNlPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbW90aW9uLmRpdj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIERhc2hib2FyZCgpIHtcbiAgY29uc3QgW2FwcHMsIHNldEFwcHNdID0gdXNlU3RhdGU8QXBwW10+KFtdKTtcbiAgY29uc3QgW3N0YXR1cywgc2V0U3RhdHVzXSA9IHVzZVN0YXRlPFN0YXR1c0VudHJ5W10+KFtdKTtcbiAgY29uc3QgW2xvYWRpbmcsIHNldExvYWRpbmddID0gdXNlU3RhdGUodHJ1ZSk7XG4gIGNvbnN0IFtzaWRlYmFyQ29sbGFwc2VkLCBzZXRTaWRlYmFyQ29sbGFwc2VkXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgW2FjdGl2ZU5hdiwgc2V0QWN0aXZlTmF2XSA9IHVzZVN0YXRlKFwib3ZlcnZpZXdcIik7XG4gIGNvbnN0IFtzaG93QWRkTW9kYWwsIHNldFNob3dBZGRNb2RhbF0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IFtuZXdBcHAsIHNldE5ld0FwcF0gPSB1c2VTdGF0ZTxQYXJ0aWFsPEFwcD4+KHtcbiAgICBuYW1lOiBcIlwiLFxuICAgIHVybDogXCJodHRwOi8vbG9jYWxob3N0OlwiLFxuICAgIHBvcnQ6IDMwMDAsXG4gICAgZW5hYmxlZDogdHJ1ZSxcbiAgfSk7XG5cbiAgY29uc3QgbmF2SXRlbXM6IE5hdkl0ZW1bXSA9IFtcbiAgICB7IGlkOiBcIm92ZXJ2aWV3XCIsIGxhYmVsOiBcIk92ZXJ2aWV3XCIsIGljb246IDxMYXlvdXREYXNoYm9hcmQgY2xhc3NOYW1lPVwidy01IGgtNVwiIC8+IH0sXG4gICAgeyBpZDogXCJzZXJ2aWNlc1wiLCBsYWJlbDogXCJNb25pdG9yZWQgU2VydmljZXNcIiwgaWNvbjogPE1vbml0b3IgY2xhc3NOYW1lPVwidy01IGgtNVwiIC8+IH0sXG4gICAgeyBpZDogXCJpbmNpZGVudHNcIiwgbGFiZWw6IFwiSW5jaWRlbnRzXCIsIGljb246IDxBbGVydFRyaWFuZ2xlIGNsYXNzTmFtZT1cInctNSBoLTVcIiAvPiB9LFxuICAgIHsgaWQ6IFwiaGlzdG9yeVwiLCBsYWJlbDogXCJIaXN0b3J5IC8gTG9nc1wiLCBpY29uOiA8SGlzdG9yeSBjbGFzc05hbWU9XCJ3LTUgaC01XCIgLz4gfSxcbiAgICB7IGlkOiBcInNldHRpbmdzXCIsIGxhYmVsOiBcIlNldHRpbmdzXCIsIGljb246IDxTZXR0aW5ncyBjbGFzc05hbWU9XCJ3LTUgaC01XCIgLz4gfSxcbiAgXTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGZldGNoRGF0YSgpO1xuICAgIGNvbnN0IGludGVydmFsID0gc2V0SW50ZXJ2YWwoZmV0Y2hEYXRhLCAzMDAwMCk7XG4gICAgcmV0dXJuICgpID0+IGNsZWFySW50ZXJ2YWwoaW50ZXJ2YWwpO1xuICB9LCBbXSk7XG5cbiAgYXN5bmMgZnVuY3Rpb24gZmV0Y2hEYXRhKCkge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXMgPSBhd2FpdCBmZXRjaChcIi9hcGkvbW9uaXRvclwiKTtcbiAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCByZXMuanNvbigpO1xuICAgICAgc2V0QXBwcyhkYXRhLmFwcHMgfHwgW10pO1xuICAgICAgc2V0U3RhdHVzKGRhdGEuc3RhdHVzIHx8IFtdKTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoXCJGYWlsZWQgdG8gZmV0Y2ggZGF0YTpcIiwgZXJyKTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgc2V0TG9hZGluZyhmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgZnVuY3Rpb24gYWRkQXBwKGU6IFJlYWN0LkZvcm1FdmVudCkge1xuICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICBpZiAoIW5ld0FwcC5uYW1lIHx8ICFuZXdBcHAudXJsKSByZXR1cm47XG4gICAgYXdhaXQgZmV0Y2goXCIvYXBpL21vbml0b3JcIiwge1xuICAgICAgbWV0aG9kOiBcIlBPU1RcIixcbiAgICAgIGhlYWRlcnM6IHsgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIgfSxcbiAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHsgYWN0aW9uOiBcImFkZEFwcFwiLCBhcHA6IG5ld0FwcCB9KSxcbiAgICB9KTtcbiAgICBzZXRTaG93QWRkTW9kYWwoZmFsc2UpO1xuICAgIHNldE5ld0FwcCh7IG5hbWU6IFwiXCIsIHVybDogXCJodHRwOi8vbG9jYWxob3N0OlwiLCBwb3J0OiAzMDAwLCBlbmFibGVkOiB0cnVlIH0pO1xuICAgIGZldGNoRGF0YSgpO1xuICB9XG5cbiAgYXN5bmMgZnVuY3Rpb24gZGVsZXRlQXBwKGlkOiBzdHJpbmcpIHtcbiAgICBpZiAoIWNvbmZpcm0oXCJEZWxldGUgdGhpcyBtb25pdG9yP1wiKSkgcmV0dXJuO1xuICAgIGF3YWl0IGZldGNoKFwiL2FwaS9tb25pdG9yXCIsIHtcbiAgICAgIG1ldGhvZDogXCJQT1NUXCIsXG4gICAgICBoZWFkZXJzOiB7IFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiIH0sXG4gICAgICBib2R5OiBKU09OLnN0cmluZ2lmeSh7IGFjdGlvbjogXCJkZWxldGVBcHBcIiwgaWQgfSksXG4gICAgfSk7XG4gICAgZmV0Y2hEYXRhKCk7XG4gIH1cblxuICBmdW5jdGlvbiBnZXRBcHBTdGF0dXMoYXBwSWQ6IHN0cmluZykge1xuICAgIGNvbnN0IGFwcFN0YXR1cyA9IHN0YXR1cy5maWx0ZXIoKHMpID0+IHMuYXBwSWQgPT09IGFwcElkKTtcbiAgICBjb25zdCBsYXRlc3QgPSBhcHBTdGF0dXNbYXBwU3RhdHVzLmxlbmd0aCAtIDFdO1xuICAgIGNvbnN0IGlzVXAgPSBsYXRlc3Q/LnN0YXR1cyA9PT0gXCJ1cFwiO1xuICAgIGNvbnN0IHVwdGltZSA9IGFwcFN0YXR1cy5sZW5ndGggPiAwIFxuICAgICAgPyBNYXRoLnJvdW5kKChhcHBTdGF0dXMuZmlsdGVyKHMgPT4gcy5zdGF0dXMgPT09IFwidXBcIikubGVuZ3RoIC8gYXBwU3RhdHVzLmxlbmd0aCkgKiAxMDApXG4gICAgICA6IDEwMDtcbiAgICBjb25zdCBhdmdSZXNwb25zZVRpbWUgPSBhcHBTdGF0dXMubGVuZ3RoID4gMFxuICAgICAgPyBNYXRoLnJvdW5kKGFwcFN0YXR1cy5maWx0ZXIocyA9PiBzLnJlc3BvbnNlVGltZSkucmVkdWNlKChhY2MsIHMpID0+IGFjYyArIChzLnJlc3BvbnNlVGltZSB8fCAwKSwgMCkgLyBhcHBTdGF0dXMuZmlsdGVyKHMgPT4gcy5yZXNwb25zZVRpbWUpLmxlbmd0aCkgfHwgMFxuICAgICAgOiAwO1xuICAgIHJldHVybiB7IGxhdGVzdCwgaXNVcCwgdXB0aW1lLCBhdmdSZXNwb25zZVRpbWUgfTtcbiAgfVxuXG4gIGNvbnN0IHN0YXRzID0ge1xuICAgIHRvdGFsOiBhcHBzLmxlbmd0aCxcbiAgICBvbmxpbmU6IGFwcHMuZmlsdGVyKChhcHApID0+IGdldEFwcFN0YXR1cyhhcHAuaWQpLmlzVXApLmxlbmd0aCxcbiAgICBvZmZsaW5lOiBhcHBzLmZpbHRlcigoYXBwKSA9PiAhZ2V0QXBwU3RhdHVzKGFwcC5pZCkuaXNVcCkubGVuZ3RoLFxuICAgIGF2Z1VwdGltZTogYXBwcy5sZW5ndGggPiAwIFxuICAgICAgPyBNYXRoLnJvdW5kKGFwcHMucmVkdWNlKChhY2MsIGFwcCkgPT4gYWNjICsgZ2V0QXBwU3RhdHVzKGFwcC5pZCkudXB0aW1lLCAwKSAvIGFwcHMubGVuZ3RoKVxuICAgICAgOiAwLFxuICAgIGF2Z1Jlc3BvbnNlVGltZTogYXBwcy5sZW5ndGggPiAwXG4gICAgICA/IE1hdGgucm91bmQoYXBwcy5yZWR1Y2UoKGFjYywgYXBwKSA9PiBhY2MgKyBnZXRBcHBTdGF0dXMoYXBwLmlkKS5hdmdSZXNwb25zZVRpbWUsIDApIC8gYXBwcy5sZW5ndGgpXG4gICAgICA6IDAsXG4gICAgaW5jaWRlbnRzOiBzdGF0dXMuZmlsdGVyKHMgPT4gcy5zdGF0dXMgPT09IFwiZG93blwiKS5sZW5ndGgsXG4gIH07XG5cbiAgY29uc3QgYWxsVXAgPSBzdGF0cy5vbmxpbmUgPT09IHN0YXRzLnRvdGFsICYmIHN0YXRzLnRvdGFsID4gMDtcblxuICAvLyBHZW5lcmF0ZSBzcGFya2xpbmUgZGF0YSBmb3IgbWV0cmljc1xuICBjb25zdCBzZXJ2aWNlc0RhdGEgPSBnZW5lcmF0ZVNwYXJrbGluZURhdGEoMjAsIHRydWUpO1xuICBjb25zdCB1cHRpbWVEYXRhID0gZ2VuZXJhdGVTcGFya2xpbmVEYXRhKDIwLCB0cnVlKTtcbiAgY29uc3QgcmVzcG9uc2VEYXRhID0gZ2VuZXJhdGVTcGFya2xpbmVEYXRhKDIwLCB0cnVlKS5tYXAoZCA9PiAoeyAuLi5kLCB2YWx1ZTogZC52YWx1ZSAqIDIgfSkpO1xuICBjb25zdCBpbmNpZGVudHNEYXRhID0gZ2VuZXJhdGVTcGFya2xpbmVEYXRhKDIwLCBmYWxzZSk7XG5cbiAgaWYgKGxvYWRpbmcpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJtaW4taC1zY3JlZW4gYmctc2xhdGUtOTUwIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyXCI+XG4gICAgICAgIDxtb3Rpb24uZGl2XG4gICAgICAgICAgaW5pdGlhbD17eyBvcGFjaXR5OiAwIH19XG4gICAgICAgICAgYW5pbWF0ZT17eyBvcGFjaXR5OiAxIH19XG4gICAgICAgICAgY2xhc3NOYW1lPVwiZmxleCBmbGV4LWNvbCBpdGVtcy1jZW50ZXIgZ2FwLTRcIlxuICAgICAgICA+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyZWxhdGl2ZVwiPlxuICAgICAgICAgICAgPG1vdGlvbi5kaXYgXG4gICAgICAgICAgICAgIGFuaW1hdGU9e3sgcm90YXRlOiAzNjAgfX1cbiAgICAgICAgICAgICAgdHJhbnNpdGlvbj17eyBkdXJhdGlvbjogMiwgcmVwZWF0OiBJbmZpbml0eSwgZWFzZTogXCJsaW5lYXJcIiB9fVxuICAgICAgICAgICAgICBjbGFzc05hbWU9XCJ3LTEyIGgtMTIgcm91bmRlZC14bCBiZy1ncmFkaWVudC10by1iciBmcm9tLWVtZXJhbGQtNTAwIHRvLWN5YW4tNTAwXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImFic29sdXRlIGluc2V0LTAgdy0xMiBoLTEyIHJvdW5kZWQteGwgYmctZ3JhZGllbnQtdG8tYnIgZnJvbS1lbWVyYWxkLTUwMCB0by1jeWFuLTUwMCBibHVyLXhsIG9wYWNpdHktNTBcIiAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQtc2xhdGUtNDAwXCI+TG9hZGluZyBkYXNoYm9hcmQuLi48L3A+XG4gICAgICAgIDwvbW90aW9uLmRpdj5cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwibWluLWgtc2NyZWVuIGJnLXNsYXRlLTk1MCB0ZXh0LXNsYXRlLTEwMCBmbGV4XCI+XG4gICAgICB7LyogQ29sbGFwc2libGUgU2lkZWJhciAqL31cbiAgICAgIDxtb3Rpb24uYXNpZGVcbiAgICAgICAgaW5pdGlhbD17ZmFsc2V9XG4gICAgICAgIGFuaW1hdGU9e3sgd2lkdGg6IHNpZGViYXJDb2xsYXBzZWQgPyA3MiA6IDI0MCB9fVxuICAgICAgICBjbGFzc05hbWU9XCJmaXhlZCBsZWZ0LTAgdG9wLTAgYm90dG9tLTAgYmctc2xhdGUtOTAwLzgwIGJhY2tkcm9wLWJsdXIteGwgYm9yZGVyLXIgYm9yZGVyLXNsYXRlLTgwMCB6LTUwIGZsZXggZmxleC1jb2xcIlxuICAgICAgPlxuICAgICAgICB7LyogTG9nbyBBcmVhICovfVxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImgtMTYgZmxleCBpdGVtcy1jZW50ZXIgcHgtNCBib3JkZXItYiBib3JkZXItc2xhdGUtODAwXCI+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ3LTggaC04IHJvdW5kZWQtbGcgYmctZ3JhZGllbnQtdG8tYnIgZnJvbS1lbWVyYWxkLTUwMCB0by1jeWFuLTUwMCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlclwiPlxuICAgICAgICAgICAgPEFjdGl2aXR5IGNsYXNzTmFtZT1cInctNCBoLTQgdGV4dC13aGl0ZVwiIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPEFuaW1hdGVQcmVzZW5jZSBtb2RlPVwid2FpdFwiPlxuICAgICAgICAgICAgeyFzaWRlYmFyQ29sbGFwc2VkICYmIChcbiAgICAgICAgICAgICAgPG1vdGlvbi5zcGFuXG4gICAgICAgICAgICAgICAgaW5pdGlhbD17eyBvcGFjaXR5OiAwLCB3aWR0aDogMCB9fVxuICAgICAgICAgICAgICAgIGFuaW1hdGU9e3sgb3BhY2l0eTogMSwgd2lkdGg6IFwiYXV0b1wiIH19XG4gICAgICAgICAgICAgICAgZXhpdD17eyBvcGFjaXR5OiAwLCB3aWR0aDogMCB9fVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cIm1sLTMgZm9udC1ib2xkIHRleHQtbGcgd2hpdGVzcGFjZS1ub3dyYXAgb3ZlcmZsb3ctaGlkZGVuXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIEhlYXJ0YmVhdFxuICAgICAgICAgICAgICA8L21vdGlvbi5zcGFuPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L0FuaW1hdGVQcmVzZW5jZT5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgey8qIE5hdmlnYXRpb24gKi99XG4gICAgICAgIDxuYXYgY2xhc3NOYW1lPVwiZmxleC0xIHAtMyBzcGFjZS15LTFcIj5cbiAgICAgICAgICB7bmF2SXRlbXMubWFwKChpdGVtKSA9PiAoXG4gICAgICAgICAgICA8U2lkZWJhckl0ZW1cbiAgICAgICAgICAgICAga2V5PXtpdGVtLmlkfVxuICAgICAgICAgICAgICBpdGVtPXtpdGVtfVxuICAgICAgICAgICAgICBpc0FjdGl2ZT17YWN0aXZlTmF2ID09PSBpdGVtLmlkfVxuICAgICAgICAgICAgICBpc0NvbGxhcHNlZD17c2lkZWJhckNvbGxhcHNlZH1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gc2V0QWN0aXZlTmF2KGl0ZW0uaWQpfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApKX1cbiAgICAgICAgPC9uYXY+XG5cbiAgICAgICAgey8qIENvbGxhcHNlIEJ1dHRvbiAqL31cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJwLTMgYm9yZGVyLXQgYm9yZGVyLXNsYXRlLTgwMFwiPlxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHNldFNpZGViYXJDb2xsYXBzZWQoIXNpZGViYXJDb2xsYXBzZWQpfVxuICAgICAgICAgICAgY2xhc3NOYW1lPVwidy1mdWxsIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHAtMiB0ZXh0LXNsYXRlLTQwMCBob3Zlcjp0ZXh0LXdoaXRlIGhvdmVyOmJnLXNsYXRlLTgwMC81MCByb3VuZGVkLWxnIHRyYW5zaXRpb24tY29sb3JzXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7c2lkZWJhckNvbGxhcHNlZCA/IDxDaGV2cm9uUmlnaHQgY2xhc3NOYW1lPVwidy01IGgtNVwiIC8+IDogPENoZXZyb25MZWZ0IGNsYXNzTmFtZT1cInctNSBoLTVcIiAvPn1cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L21vdGlvbi5hc2lkZT5cblxuICAgICAgey8qIE1haW4gQ29udGVudCAqL31cbiAgICAgIDxtYWluIFxuICAgICAgICBjbGFzc05hbWU9XCJmbGV4LTEgbWluLWgtc2NyZWVuIHRyYW5zaXRpb24tYWxsIGR1cmF0aW9uLTMwMFwiXG4gICAgICAgIHN0eWxlPXt7IG1hcmdpbkxlZnQ6IHNpZGViYXJDb2xsYXBzZWQgPyA3MiA6IDI0MCB9fVxuICAgICAgPlxuICAgICAgICB7LyogVG9wIE5hdmJhciAqL31cbiAgICAgICAgPGhlYWRlciBjbGFzc05hbWU9XCJoLTE2IGJnLXNsYXRlLTkwMC81MCBiYWNrZHJvcC1ibHVyLXNtIGJvcmRlci1iIGJvcmRlci1zbGF0ZS04MDAgc3RpY2t5IHRvcC0wIHotNDAgcHgtNiBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW5cIj5cbiAgICAgICAgICB7LyogR2xvYmFsIFN0YXR1cyBCYW5uZXIgKi99XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtNFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2BmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMiBweC0zIHB5LTEuNSByb3VuZGVkLWZ1bGwgYm9yZGVyICR7XG4gICAgICAgICAgICAgIGFsbFVwIFxuICAgICAgICAgICAgICAgID8gXCJiZy1lbWVyYWxkLTUwMC8xMCBib3JkZXItZW1lcmFsZC01MDAvMjBcIiBcbiAgICAgICAgICAgICAgICA6IFwiYmctYW1iZXItNTAwLzEwIGJvcmRlci1hbWJlci01MDAvMjBcIlxuICAgICAgICAgICAgfWB9PlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9e2ByZWxhdGl2ZSBmbGV4IGgtMiB3LTJgfT5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9e2BhbmltYXRlLXBpbmcgYWJzb2x1dGUgaW5saW5lLWZsZXggaC1mdWxsIHctZnVsbCByb3VuZGVkLWZ1bGwgb3BhY2l0eS03NSAke2FsbFVwID8gXCJiZy1lbWVyYWxkLTQwMFwiIDogXCJiZy1hbWJlci00MDBcIn1gfT48L3NwYW4+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXtgcmVsYXRpdmUgaW5saW5lLWZsZXggcm91bmRlZC1mdWxsIGgtMiB3LTIgJHthbGxVcCA/IFwiYmctZW1lcmFsZC01MDBcIiA6IFwiYmctYW1iZXItNTAwXCJ9YH0+PC9zcGFuPlxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT17YHRleHQtc20gZm9udC1tZWRpdW0gJHthbGxVcCA/IFwidGV4dC1lbWVyYWxkLTQwMFwiIDogXCJ0ZXh0LWFtYmVyLTQwMFwifWB9PlxuICAgICAgICAgICAgICAgIHthbGxVcCA/IFwiQWxsIFN5c3RlbXMgT3BlcmF0aW9uYWxcIiA6IGAke3N0YXRzLm9mZmxpbmV9IFNlcnZpY2Uke3N0YXRzLm9mZmxpbmUgPiAxID8gJ3MnIDogJyd9IERvd25gfVxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQtc2xhdGUtNTAwIHRleHQteHNcIj7igKIgVXBkYXRlZCB7bmV3IERhdGUoKS50b0xvY2FsZVRpbWVTdHJpbmcoKX08L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIHsvKiBSaWdodCBTaWRlIEFjdGlvbnMgKi99XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtM1wiPlxuICAgICAgICAgICAgey8qIFNlYXJjaCAqL31cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicmVsYXRpdmVcIj5cbiAgICAgICAgICAgICAgPFNlYXJjaCBjbGFzc05hbWU9XCJ3LTQgaC00IGFic29sdXRlIGxlZnQtMyB0b3AtMS8yIC10cmFuc2xhdGUteS0xLzIgdGV4dC1zbGF0ZS01MDBcIiAvPlxuICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJTZWFyY2guLi5cIlxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInctNjQgYmctc2xhdGUtODAwLzUwIGJvcmRlciBib3JkZXItc2xhdGUtNzAwIHJvdW5kZWQtbGcgcGwtMTAgcHItNCBweS0yIHRleHQtc20gdGV4dC13aGl0ZSBwbGFjZWhvbGRlci1zbGF0ZS01MDAgZm9jdXM6Ym9yZGVyLWVtZXJhbGQtNTAwLzUwIGZvY3VzOm91dGxpbmUtbm9uZSB0cmFuc2l0aW9uLWNvbG9yc1wiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgey8qIEFkZCBNb25pdG9yICovfVxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBzZXRTaG93QWRkTW9kYWwodHJ1ZSl9XG4gICAgICAgICAgICAgIGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0yIHB4LTQgcHktMiBiZy1lbWVyYWxkLTYwMCBob3ZlcjpiZy1lbWVyYWxkLTUwMCB0ZXh0LXdoaXRlIHJvdW5kZWQtbGcgdGV4dC1zbSBmb250LW1lZGl1bSB0cmFuc2l0aW9uLWNvbG9yc1wiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxQbHVzIGNsYXNzTmFtZT1cInctNCBoLTRcIiAvPlxuICAgICAgICAgICAgICBBZGQgTW9uaXRvclxuICAgICAgICAgICAgPC9idXR0b24+XG5cbiAgICAgICAgICAgIHsvKiBSZWZyZXNoICovfVxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICBvbkNsaWNrPXtmZXRjaERhdGF9XG4gICAgICAgICAgICAgIGNsYXNzTmFtZT1cInAtMiB0ZXh0LXNsYXRlLTQwMCBob3Zlcjp0ZXh0LXdoaXRlIGhvdmVyOmJnLXNsYXRlLTgwMCByb3VuZGVkLWxnIHRyYW5zaXRpb24tY29sb3JzXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPFJlZnJlc2hDdyBjbGFzc05hbWU9XCJ3LTUgaC01XCIgLz5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuXG4gICAgICAgICAgICB7LyogTm90aWZpY2F0aW9ucyAqL31cbiAgICAgICAgICAgIDxidXR0b24gY2xhc3NOYW1lPVwicC0yIHRleHQtc2xhdGUtNDAwIGhvdmVyOnRleHQtd2hpdGUgaG92ZXI6Ymctc2xhdGUtODAwIHJvdW5kZWQtbGcgdHJhbnNpdGlvbi1jb2xvcnMgcmVsYXRpdmVcIj5cbiAgICAgICAgICAgICAgPEJlbGwgY2xhc3NOYW1lPVwidy01IGgtNVwiIC8+XG4gICAgICAgICAgICAgIHtzdGF0cy5pbmNpZGVudHMgPiAwICYmIChcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJhYnNvbHV0ZSB0b3AtMSByaWdodC0xIHctMiBoLTIgYmctcmVkLTUwMCByb3VuZGVkLWZ1bGxcIiAvPlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC9idXR0b24+XG5cbiAgICAgICAgICAgIHsvKiBBdmF0YXIgKi99XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInctOSBoLTkgcm91bmRlZC1mdWxsIGJnLWdyYWRpZW50LXRvLWJyIGZyb20tZW1lcmFsZC01MDAgdG8tY3lhbi01MDAgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgdGV4dC13aGl0ZSBmb250LW1lZGl1bSB0ZXh0LXNtXCI+XG4gICAgICAgICAgICAgIE1CXG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9oZWFkZXI+XG5cbiAgICAgICAgey8qIERhc2hib2FyZCBDb250ZW50ICovfVxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInAtNiBzcGFjZS15LTZcIj5cbiAgICAgICAgICB7LyogS1BJIFJvdyAqL31cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImdyaWQgZ3JpZC1jb2xzLTEgc206Z3JpZC1jb2xzLTIgbGc6Z3JpZC1jb2xzLTQgZ2FwLTRcIj5cbiAgICAgICAgICAgIDxNZXRyaWNDYXJkXG4gICAgICAgICAgICAgIHRpdGxlPVwiU2VydmljZXMgT25saW5lXCJcbiAgICAgICAgICAgICAgdmFsdWU9e2Ake3N0YXRzLm9ubGluZX0vJHtzdGF0cy50b3RhbH1gfVxuICAgICAgICAgICAgICBzdWJ0aXRsZT17YWxsVXAgPyBcIkFsbCBoZWFsdGh5XCIgOiBgJHtzdGF0cy5vZmZsaW5lfSBkb3duYH1cbiAgICAgICAgICAgICAgaWNvbj17U2VydmVyfVxuICAgICAgICAgICAgICBjb2xvcj1cImVtZXJhbGRcIlxuICAgICAgICAgICAgICBkYXRhPXtzZXJ2aWNlc0RhdGF9XG4gICAgICAgICAgICAgIHRyZW5kPVwidXBcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxNZXRyaWNDYXJkXG4gICAgICAgICAgICAgIHRpdGxlPVwiQXZlcmFnZSBVcHRpbWVcIlxuICAgICAgICAgICAgICB2YWx1ZT17YCR7c3RhdHMuYXZnVXB0aW1lfSVgfVxuICAgICAgICAgICAgICBzdWJ0aXRsZT1cIkxhc3QgMzAgZGF5c1wiXG4gICAgICAgICAgICAgIGljb249e0NoZWNrQ2lyY2xlMn1cbiAgICAgICAgICAgICAgY29sb3I9XCJibHVlXCJcbiAgICAgICAgICAgICAgZGF0YT17dXB0aW1lRGF0YX1cbiAgICAgICAgICAgICAgdHJlbmQ9XCJ1cFwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPE1ldHJpY0NhcmRcbiAgICAgICAgICAgICAgdGl0bGU9XCJBdmcgUmVzcG9uc2UgVGltZVwiXG4gICAgICAgICAgICAgIHZhbHVlPXtgJHtzdGF0cy5hdmdSZXNwb25zZVRpbWV9bXNgfVxuICAgICAgICAgICAgICBzdWJ0aXRsZT1cIkFjcm9zcyBhbGwgc2VydmljZXNcIlxuICAgICAgICAgICAgICBpY29uPXtaYXB9XG4gICAgICAgICAgICAgIGNvbG9yPVwicHVycGxlXCJcbiAgICAgICAgICAgICAgZGF0YT17cmVzcG9uc2VEYXRhfVxuICAgICAgICAgICAgICB0cmVuZD17c3RhdHMuYXZnUmVzcG9uc2VUaW1lIDwgMjAwID8gXCJ1cFwiIDogXCJkb3duXCJ9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPE1ldHJpY0NhcmRcbiAgICAgICAgICAgICAgdGl0bGU9XCJUb3RhbCBJbmNpZGVudHNcIlxuICAgICAgICAgICAgICB2YWx1ZT17c3RhdHMuaW5jaWRlbnRzfVxuICAgICAgICAgICAgICBzdWJ0aXRsZT1cIkxhc3QgMjQgaG91cnNcIlxuICAgICAgICAgICAgICBpY29uPXtBbGVydFRyaWFuZ2xlfVxuICAgICAgICAgICAgICBjb2xvcj1cImFtYmVyXCJcbiAgICAgICAgICAgICAgZGF0YT17aW5jaWRlbnRzRGF0YX1cbiAgICAgICAgICAgICAgdHJlbmQ9e3N0YXRzLmluY2lkZW50cyA9PT0gMCA/IFwidXBcIiA6IFwiZG93blwifVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIHsvKiBTZXJ2aWNlcyBHcmlkICovfVxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlbiBtYi00XCI+XG4gICAgICAgICAgICAgIDxoMiBjbGFzc05hbWU9XCJ0ZXh0LWxnIGZvbnQtc2VtaWJvbGQgdGV4dC13aGl0ZVwiPk1vbml0b3JlZCBTZXJ2aWNlczwvaDI+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQtc20gdGV4dC1zbGF0ZS01MDBcIj57c3RhdHMudG90YWx9IHNlcnZpY2VzPC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIDxtb3Rpb24uZGl2IFxuICAgICAgICAgICAgICBsYXlvdXRcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiZ3JpZCBncmlkLWNvbHMtMSBtZDpncmlkLWNvbHMtMiB4bDpncmlkLWNvbHMtMyBnYXAtNFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxBbmltYXRlUHJlc2VuY2UgbW9kZT1cInBvcExheW91dFwiPlxuICAgICAgICAgICAgICAgIHthcHBzLm1hcCgoYXBwKSA9PiB7XG4gICAgICAgICAgICAgICAgICBjb25zdCBhcHBTdGF0dXMgPSBnZXRBcHBTdGF0dXMoYXBwLmlkKTtcbiAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgIDxTZXJ2aWNlQ2FyZFxuICAgICAgICAgICAgICAgICAgICAgIGtleT17YXBwLmlkfVxuICAgICAgICAgICAgICAgICAgICAgIGFwcD17YXBwfVxuICAgICAgICAgICAgICAgICAgICAgIHN0YXR1cz17YXBwU3RhdHVzfVxuICAgICAgICAgICAgICAgICAgICAgIG9uRGVsZXRlPXsoKSA9PiBkZWxldGVBcHAoYXBwLmlkKX1cbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICAgIDwvQW5pbWF0ZVByZXNlbmNlPlxuICAgICAgICAgICAgPC9tb3Rpb24uZGl2PlxuXG4gICAgICAgICAgICB7YXBwcy5sZW5ndGggPT09IDAgJiYgKFxuICAgICAgICAgICAgICA8bW90aW9uLmRpdlxuICAgICAgICAgICAgICAgIGluaXRpYWw9e3sgb3BhY2l0eTogMCwgeTogMjAgfX1cbiAgICAgICAgICAgICAgICBhbmltYXRlPXt7IG9wYWNpdHk6IDEsIHk6IDAgfX1cbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJ0ZXh0LWNlbnRlciBweS0xNiBiZy1zbGF0ZS05MDAvMzAgcm91bmRlZC14bCBib3JkZXIgYm9yZGVyLWRhc2hlZCBib3JkZXItc2xhdGUtODAwXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidy0xNiBoLTE2IGJnLXNsYXRlLTgwMCByb3VuZGVkLTJ4bCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBteC1hdXRvIG1iLTRcIj5cbiAgICAgICAgICAgICAgICAgIDxNb25pdG9yIGNsYXNzTmFtZT1cInctOCBoLTggdGV4dC1zbGF0ZS02MDBcIiAvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxoMyBjbGFzc05hbWU9XCJ0ZXh0LWxnIGZvbnQtc2VtaWJvbGQgdGV4dC13aGl0ZSBtYi0yXCI+Tm8gbW9uaXRvcnMgeWV0PC9oMz5cbiAgICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJ0ZXh0LXNsYXRlLTUwMCBtYi00XCI+U3RhcnQgbW9uaXRvcmluZyB5b3VyIHNlcnZpY2VzPC9wPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHNldFNob3dBZGRNb2RhbCh0cnVlKX1cbiAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInB4LTQgcHktMiBiZy1lbWVyYWxkLTYwMCBob3ZlcjpiZy1lbWVyYWxkLTUwMCB0ZXh0LXdoaXRlIHJvdW5kZWQtbGcgdHJhbnNpdGlvbi1jb2xvcnNcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIEFkZCBZb3VyIEZpcnN0IE1vbml0b3JcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgPC9tb3Rpb24uZGl2PlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L21haW4+XG5cbiAgICAgIHsvKiBBZGQgTW9uaXRvciBNb2RhbCAqL31cbiAgICAgIDxBbmltYXRlUHJlc2VuY2U+XG4gICAgICAgIHtzaG93QWRkTW9kYWwgJiYgKFxuICAgICAgICAgIDxtb3Rpb24uZGl2XG4gICAgICAgICAgICBpbml0aWFsPXt7IG9wYWNpdHk6IDAgfX1cbiAgICAgICAgICAgIGFuaW1hdGU9e3sgb3BhY2l0eTogMSB9fVxuICAgICAgICAgICAgZXhpdD17eyBvcGFjaXR5OiAwIH19XG4gICAgICAgICAgICBjbGFzc05hbWU9XCJmaXhlZCBpbnNldC0wIGJnLWJsYWNrLzYwIGJhY2tkcm9wLWJsdXItc20gZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgei01MCBwLTRcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxtb3Rpb24uZGl2XG4gICAgICAgICAgICAgIGluaXRpYWw9e3sgb3BhY2l0eTogMCwgc2NhbGU6IDAuOTUsIHk6IDIwIH19XG4gICAgICAgICAgICAgIGFuaW1hdGU9e3sgb3BhY2l0eTogMSwgc2NhbGU6IDEsIHk6IDAgfX1cbiAgICAgICAgICAgICAgZXhpdD17eyBvcGFjaXR5OiAwLCBzY2FsZTogMC45NSwgeTogMjAgfX1cbiAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiYmctc2xhdGUtOTAwIGJvcmRlciBib3JkZXItc2xhdGUtODAwIHJvdW5kZWQteGwgcC02IHctZnVsbCBtYXgtdy1tZCBzaGFkb3ctMnhsXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGgyIGNsYXNzTmFtZT1cInRleHQteGwgZm9udC1ib2xkIHRleHQtd2hpdGUgbWItMlwiPkFkZCBOZXcgTW9uaXRvcjwvaDI+XG4gICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQtc2xhdGUtNDAwIHRleHQtc20gbWItNlwiPkNvbmZpZ3VyZSBhIG5ldyBzZXJ2aWNlIHRvIG1vbml0b3I8L3A+XG4gICAgICAgICAgICAgIFxuICAgICAgICAgICAgICA8Zm9ybSBvblN1Ym1pdD17YWRkQXBwfSBjbGFzc05hbWU9XCJzcGFjZS15LTRcIj5cbiAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzTmFtZT1cImJsb2NrIHRleHQtc20gZm9udC1tZWRpdW0gdGV4dC1zbGF0ZS0zMDAgbWItMlwiPlNlcnZpY2UgTmFtZTwvbGFiZWw+XG4gICAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgICAgICB2YWx1ZT17bmV3QXBwLm5hbWV9XG4gICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsoZSkgPT4gc2V0TmV3QXBwKHsgLi4ubmV3QXBwLCBuYW1lOiBlLnRhcmdldC52YWx1ZSB9KX1cbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwidy1mdWxsIGJnLXNsYXRlLTgwMC81MCBib3JkZXIgYm9yZGVyLXNsYXRlLTcwMCByb3VuZGVkLWxnIHB4LTQgcHktMi41IHRleHQtd2hpdGUgcGxhY2Vob2xkZXItc2xhdGUtNTAwIGZvY3VzOmJvcmRlci1lbWVyYWxkLTUwMC81MCBmb2N1czpvdXRsaW5lLW5vbmUgdHJhbnNpdGlvbi1jb2xvcnNcIlxuICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIk15IFNlcnZpY2VcIlxuICAgICAgICAgICAgICAgICAgICByZXF1aXJlZFxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImdyaWQgZ3JpZC1jb2xzLTIgZ2FwLTRcIj5cbiAgICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzc05hbWU9XCJibG9jayB0ZXh0LXNtIGZvbnQtbWVkaXVtIHRleHQtc2xhdGUtMzAwIG1iLTJcIj5VUkw8L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwidXJsXCJcbiAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT17bmV3QXBwLnVybH1cbiAgICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZT17KGUpID0+IHNldE5ld0FwcCh7IC4uLm5ld0FwcCwgdXJsOiBlLnRhcmdldC52YWx1ZSB9KX1cbiAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJ3LWZ1bGwgYmctc2xhdGUtODAwLzUwIGJvcmRlciBib3JkZXItc2xhdGUtNzAwIHJvdW5kZWQtbGcgcHgtNCBweS0yLjUgdGV4dC13aGl0ZSBwbGFjZWhvbGRlci1zbGF0ZS01MDAgZm9jdXM6Ym9yZGVyLWVtZXJhbGQtNTAwLzUwIGZvY3VzOm91dGxpbmUtbm9uZSB0cmFuc2l0aW9uLWNvbG9yc1wiXG4gICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJodHRwOi8vbG9jYWxob3N0OjMwMDBcIlxuICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkXG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzc05hbWU9XCJibG9jayB0ZXh0LXNtIGZvbnQtbWVkaXVtIHRleHQtc2xhdGUtMzAwIG1iLTJcIj5Qb3J0PC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXG4gICAgICAgICAgICAgICAgICAgICAgdmFsdWU9e25ld0FwcC5wb3J0fVxuICAgICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsoZSkgPT4gc2V0TmV3QXBwKHsgLi4ubmV3QXBwLCBwb3J0OiBwYXJzZUludChlLnRhcmdldC52YWx1ZSkgfSl9XG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwidy1mdWxsIGJnLXNsYXRlLTgwMC81MCBib3JkZXIgYm9yZGVyLXNsYXRlLTcwMCByb3VuZGVkLWxnIHB4LTQgcHktMi41IHRleHQtd2hpdGUgcGxhY2Vob2xkZXItc2xhdGUtNTAwIGZvY3VzOmJvcmRlci1lbWVyYWxkLTUwMC81MCBmb2N1czpvdXRsaW5lLW5vbmUgdHJhbnNpdGlvbi1jb2xvcnNcIlxuICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkXG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBnYXAtMyBwdC00XCI+XG4gICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBzZXRTaG93QWRkTW9kYWwoZmFsc2UpfVxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJmbGV4LTEgcHgtNCBweS0yLjUgYm9yZGVyIGJvcmRlci1zbGF0ZS03MDAgcm91bmRlZC1sZyB0ZXh0LXNsYXRlLTMwMCBob3ZlcjpiZy1zbGF0ZS04MDAgdHJhbnNpdGlvbi1jb2xvcnNcIlxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICBDYW5jZWxcbiAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwic3VibWl0XCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiZmxleC0xIHB4LTQgcHktMi41IGJnLWVtZXJhbGQtNjAwIGhvdmVyOmJnLWVtZXJhbGQtNTAwIHRleHQtd2hpdGUgcm91bmRlZC1sZyBmb250LW1lZGl1bSB0cmFuc2l0aW9uLWNvbG9yc1wiXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIEFkZCBNb25pdG9yXG4gICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9mb3JtPlxuICAgICAgICAgICAgPC9tb3Rpb24uZGl2PlxuICAgICAgICAgIDwvbW90aW9uLmRpdj5cbiAgICAgICAgKX1cbiAgICAgIDwvQW5pbWF0ZVByZXNlbmNlPlxuICAgIDwvZGl2PlxuICApO1xufSJdLCJuYW1lcyI6WyJSZWFjdCIsInVzZVN0YXRlIiwidXNlRWZmZWN0IiwibW90aW9uIiwiQW5pbWF0ZVByZXNlbmNlIiwiTGluZUNoYXJ0IiwiTGluZSIsIlJlc3BvbnNpdmVDb250YWluZXIiLCJBY3Rpdml0eSIsIlBsdXMiLCJSZWZyZXNoQ3ciLCJUcmFzaDIiLCJFeHRlcm5hbExpbmsiLCJTZWFyY2giLCJCZWxsIiwiU2V0dGluZ3MiLCJDaGV2cm9uTGVmdCIsIkNoZXZyb25SaWdodCIsIkxheW91dERhc2hib2FyZCIsIk1vbml0b3IiLCJBbGVydFRyaWFuZ2xlIiwiSGlzdG9yeSIsIkNoZWNrQ2lyY2xlMiIsIkNsb2NrIiwiWmFwIiwiU2VydmVyIiwiZ2VuZXJhdGVTcGFya2xpbmVEYXRhIiwicG9pbnRzIiwiaXNVcCIsIkFycmF5IiwiZnJvbSIsImxlbmd0aCIsIl8iLCJpIiwidmFsdWUiLCJNYXRoIiwicmFuZG9tIiwidGltZSIsIlNpZGViYXJJdGVtIiwiaXRlbSIsImlzQWN0aXZlIiwiaXNDb2xsYXBzZWQiLCJvbkNsaWNrIiwiYnV0dG9uIiwid2hpbGVIb3ZlciIsIngiLCJ3aGlsZVRhcCIsInNjYWxlIiwiY2xhc3NOYW1lIiwic3BhbiIsImljb24iLCJtb2RlIiwiaW5pdGlhbCIsIm9wYWNpdHkiLCJ3aWR0aCIsImFuaW1hdGUiLCJleGl0IiwibGFiZWwiLCJNZXRyaWNDYXJkIiwidGl0bGUiLCJzdWJ0aXRsZSIsIkljb24iLCJjb2xvciIsImRhdGEiLCJ0cmVuZCIsImNvbG9yQ2xhc3NlcyIsImVtZXJhbGQiLCJibHVlIiwicHVycGxlIiwiYW1iZXIiLCJkaXYiLCJ5IiwidHJhbnNpdGlvbiIsImR1cmF0aW9uIiwicCIsInN0eWxlIiwiaGVpZ2h0IiwidHlwZSIsImRhdGFLZXkiLCJzdHJva2UiLCJzdHJva2VXaWR0aCIsImRvdCIsIlNlcnZpY2VDYXJkIiwiYXBwIiwic3RhdHVzIiwib25EZWxldGUiLCJpc0hvdmVyZWQiLCJzZXRJc0hvdmVyZWQiLCJzcGFya2xpbmVEYXRhIiwibGF5b3V0Iiwib25Ib3ZlclN0YXJ0Iiwib25Ib3ZlckVuZCIsImgzIiwibmFtZSIsImEiLCJocmVmIiwidXJsIiwidGFyZ2V0IiwicmVsIiwicG9ydCIsInVwdGltZSIsImRlbGF5IiwiYXZnUmVzcG9uc2VUaW1lIiwibGF0ZXN0IiwiRGF0ZSIsInRpbWVzdGFtcCIsInRvTG9jYWxlVGltZVN0cmluZyIsIkRhc2hib2FyZCIsImFwcHMiLCJzZXRBcHBzIiwic2V0U3RhdHVzIiwibG9hZGluZyIsInNldExvYWRpbmciLCJzaWRlYmFyQ29sbGFwc2VkIiwic2V0U2lkZWJhckNvbGxhcHNlZCIsImFjdGl2ZU5hdiIsInNldEFjdGl2ZU5hdiIsInNob3dBZGRNb2RhbCIsInNldFNob3dBZGRNb2RhbCIsIm5ld0FwcCIsInNldE5ld0FwcCIsImVuYWJsZWQiLCJuYXZJdGVtcyIsImlkIiwiZmV0Y2hEYXRhIiwiaW50ZXJ2YWwiLCJzZXRJbnRlcnZhbCIsImNsZWFySW50ZXJ2YWwiLCJyZXMiLCJmZXRjaCIsImpzb24iLCJlcnIiLCJjb25zb2xlIiwiZXJyb3IiLCJhZGRBcHAiLCJlIiwicHJldmVudERlZmF1bHQiLCJtZXRob2QiLCJoZWFkZXJzIiwiYm9keSIsIkpTT04iLCJzdHJpbmdpZnkiLCJhY3Rpb24iLCJkZWxldGVBcHAiLCJjb25maXJtIiwiZ2V0QXBwU3RhdHVzIiwiYXBwSWQiLCJhcHBTdGF0dXMiLCJmaWx0ZXIiLCJzIiwicm91bmQiLCJyZXNwb25zZVRpbWUiLCJyZWR1Y2UiLCJhY2MiLCJzdGF0cyIsInRvdGFsIiwib25saW5lIiwib2ZmbGluZSIsImF2Z1VwdGltZSIsImluY2lkZW50cyIsImFsbFVwIiwic2VydmljZXNEYXRhIiwidXB0aW1lRGF0YSIsInJlc3BvbnNlRGF0YSIsIm1hcCIsImQiLCJpbmNpZGVudHNEYXRhIiwicm90YXRlIiwicmVwZWF0IiwiSW5maW5pdHkiLCJlYXNlIiwiYXNpZGUiLCJuYXYiLCJtYWluIiwibWFyZ2luTGVmdCIsImhlYWRlciIsImlucHV0IiwicGxhY2Vob2xkZXIiLCJoMiIsImZvcm0iLCJvblN1Ym1pdCIsIm9uQ2hhbmdlIiwicmVxdWlyZWQiLCJwYXJzZUludCJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./src/app/page.tsx\n");
|
|
|
|
/***/ }),
|
|
|
|
/***/ "(rsc)/./src/app/globals.css":
|
|
/*!*****************************!*\
|
|
!*** ./src/app/globals.css ***!
|
|
\*****************************/
|
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
|
|
"use strict";
|
|
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__ = (\"43019ed0b75a\");\nif (false) {}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvYXBwL2dsb2JhbHMuY3NzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQSxpRUFBZSxjQUFjO0FBQzdCLElBQUksS0FBVSxFQUFFLEVBQXVCIiwic291cmNlcyI6WyIvVXNlcnMvbWF0dGJydWNlL0RvY3VtZW50cy9Qcm9qZWN0cy9PcGVuQ2xhdy9XZWIvaGVhcnRiZWF0LW1vbml0b3Ivc3JjL2FwcC9nbG9iYWxzLmNzcyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCBcIjQzMDE5ZWQwYjc1YVwiXG5pZiAobW9kdWxlLmhvdCkgeyBtb2R1bGUuaG90LmFjY2VwdCgpIH1cbiJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./src/app/globals.css\n");
|
|
|
|
/***/ }),
|
|
|
|
/***/ "(rsc)/./src/app/layout.tsx":
|
|
/*!****************************!*\
|
|
!*** ./src/app/layout.tsx ***!
|
|
\****************************/
|
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
|
|
"use strict";
|
|
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 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 _globals_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./globals.css */ \"(rsc)/./src/app/globals.css\");\n\n\nconst metadata = {\n title: \"Heartbeat Monitor\",\n description: \"Real-time monitoring dashboard for your web applications\"\n};\nfunction RootLayout({ children }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"html\", {\n lang: \"en\",\n className: \"dark\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"body\", {\n className: \"antialiased\",\n children: children\n }, void 0, false, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/layout.tsx\",\n lineNumber: 16,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/layout.tsx\",\n lineNumber: 15,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9zcmMvYXBwL2xheW91dC50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQ3VCO0FBRWhCLE1BQU1BLFdBQXFCO0lBQ2hDQyxPQUFPO0lBQ1BDLGFBQWE7QUFDZixFQUFFO0FBRWEsU0FBU0MsV0FBVyxFQUNqQ0MsUUFBUSxFQUdSO0lBQ0EscUJBQ0UsOERBQUNDO1FBQUtDLE1BQUs7UUFBS0MsV0FBVTtrQkFDeEIsNEVBQUNDO1lBQUtELFdBQVU7c0JBQWVIOzs7Ozs7Ozs7OztBQUdyQyIsInNvdXJjZXMiOlsiL1VzZXJzL21hdHRicnVjZS9Eb2N1bWVudHMvUHJvamVjdHMvT3BlbkNsYXcvV2ViL2hlYXJ0YmVhdC1tb25pdG9yL3NyYy9hcHAvbGF5b3V0LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IE1ldGFkYXRhIH0gZnJvbSBcIm5leHRcIjtcbmltcG9ydCBcIi4vZ2xvYmFscy5jc3NcIjtcblxuZXhwb3J0IGNvbnN0IG1ldGFkYXRhOiBNZXRhZGF0YSA9IHtcbiAgdGl0bGU6IFwiSGVhcnRiZWF0IE1vbml0b3JcIixcbiAgZGVzY3JpcHRpb246IFwiUmVhbC10aW1lIG1vbml0b3JpbmcgZGFzaGJvYXJkIGZvciB5b3VyIHdlYiBhcHBsaWNhdGlvbnNcIixcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIFJvb3RMYXlvdXQoe1xuICBjaGlsZHJlbixcbn06IFJlYWRvbmx5PHtcbiAgY2hpbGRyZW46IFJlYWN0LlJlYWN0Tm9kZTtcbn0+KSB7XG4gIHJldHVybiAoXG4gICAgPGh0bWwgbGFuZz1cImVuXCIgY2xhc3NOYW1lPVwiZGFya1wiPlxuICAgICAgPGJvZHkgY2xhc3NOYW1lPVwiYW50aWFsaWFzZWRcIj57Y2hpbGRyZW59PC9ib2R5PlxuICAgIDwvaHRtbD5cbiAgKTtcbn1cbiJdLCJuYW1lcyI6WyJtZXRhZGF0YSIsInRpdGxlIiwiZGVzY3JpcHRpb24iLCJSb290TGF5b3V0IiwiY2hpbGRyZW4iLCJodG1sIiwibGFuZyIsImNsYXNzTmFtZSIsImJvZHkiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./src/app/layout.tsx\n");
|
|
|
|
/***/ }),
|
|
|
|
/***/ "(rsc)/./src/app/page.tsx":
|
|
/*!**************************!*\
|
|
!*** ./src/app/page.tsx ***!
|
|
\**************************/
|
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
|
|
"use strict";
|
|
__webpack_require__.r(__webpack_exports__);
|
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
/* harmony export */ });
|
|
/* 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");
|
|
/* 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__);
|
|
|
|
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,react_server_dom_webpack_server_edge__WEBPACK_IMPORTED_MODULE_0__.registerClientReference)(
|
|
function() { throw new Error("Attempted to call the default export of \"/Users/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/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/mattbruce/Documents/Projects/OpenClaw/Web/heartbeat-monitor/src/app/page.tsx",
|
|
"default",
|
|
));
|
|
|
|
|
|
/***/ })
|
|
|
|
};
|
|
;
|
|
|
|
// load runtime
|
|
var __webpack_require__ = require("../webpack-runtime.js");
|
|
__webpack_require__.C(exports);
|
|
var __webpack_exec__ = (moduleId) => (__webpack_require__(__webpack_require__.s = moduleId))
|
|
var __webpack_exports__ = __webpack_require__.X(0, ["vendor-chunks/next","vendor-chunks/lodash","vendor-chunks/motion-dom","vendor-chunks/recharts","vendor-chunks/framer-motion","vendor-chunks/d3-shape","vendor-chunks/motion-utils","vendor-chunks/d3-scale","vendor-chunks/lucide-react","vendor-chunks/d3-array","vendor-chunks/d3-format","vendor-chunks/d3-interpolate","vendor-chunks/d3-time","vendor-chunks/react-smooth","vendor-chunks/react-transition-group","vendor-chunks/prop-types","vendor-chunks/@babel","vendor-chunks/@swc","vendor-chunks/recharts-scale","vendor-chunks/d3-time-format","vendor-chunks/d3-color","vendor-chunks/victory-vendor","vendor-chunks/react-is","vendor-chunks/tiny-invariant","vendor-chunks/internmap","vendor-chunks/fast-equals","vendor-chunks/decimal.js-light","vendor-chunks/d3-path","vendor-chunks/clsx","vendor-chunks/object-assign","vendor-chunks/eventemitter3"], () => (__webpack_exec__("(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader/index.js?name=app%2Fpage&page=%2Fpage&appPaths=%2Fpage&pagePath=private-next-app-dir%2Fpage.tsx&appDir=%2FUsers%2Fmattbruce%2FDocuments%2FProjects%2FOpenClaw%2FWeb%2Fheartbeat-monitor%2Fsrc%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fmattbruce%2FDocuments%2FProjects%2FOpenClaw%2FWeb%2Fheartbeat-monitor&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!")));
|
|
module.exports = __webpack_exports__;
|
|
|
|
})(); |