Files
mamad-app/.next/static/webpack/app/admin/page.6a7bf00818a3f3c3.hot-update.js
2026-01-16 17:48:46 +02:00

22 lines
476 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
"use strict";
/*
* ATTENTION: An "eval-source-map" devtool has been used.
* This devtool is neither made for production nor for readable output files.
* It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools.
* If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
* or disable the default devtool with "devtool: false".
* If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
*/
self["webpackHotUpdate_N_E"]("app/admin/page",{
/***/ "(app-pages-browser)/./app/admin/page.tsx":
/*!****************************!*\
!*** ./app/admin/page.tsx ***!
\****************************/
/***/ (function(module, __webpack_exports__, __webpack_require__) {
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* binding */ AdminPage; }\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-dev-runtime.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var next_navigation__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next/navigation */ \"(app-pages-browser)/./node_modules/next/dist/api/navigation.js\");\n/* harmony import */ var _types_user__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/types/user */ \"(app-pages-browser)/./types/user.ts\");\n/* harmony import */ var _components_ui_button__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/components/ui/button */ \"(app-pages-browser)/./components/ui/button.tsx\");\n/* harmony import */ var _components_ui_card__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/components/ui/card */ \"(app-pages-browser)/./components/ui/card.tsx\");\n/* harmony import */ var _components_ui_input__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/components/ui/input */ \"(app-pages-browser)/./components/ui/input.tsx\");\n/* harmony import */ var _components_ui_label__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @/components/ui/label */ \"(app-pages-browser)/./components/ui/label.tsx\");\n/* harmony import */ var _components_ui_select__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @/components/ui/select */ \"(app-pages-browser)/./components/ui/select.tsx\");\n/* harmony import */ var _components_ui_alert__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @/components/ui/alert */ \"(app-pages-browser)/./components/ui/alert.tsx\");\n/* harmony import */ var _components_ui_tabs__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @/components/ui/tabs */ \"(app-pages-browser)/./components/ui/tabs.tsx\");\n/* harmony import */ var _barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! __barrel_optimize__?names=BarChart3,Building2,Clock,Eye,Globe,Home,Lock,LockOpen,MessageSquare,Pencil,PieChart,RefreshCw,RotateCcw,Trash2,UserCog,UserPlus,Users,UsersIcon,WifiOff,Zap!=!lucide-react */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/users.js\");\n/* harmony import */ var _barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! __barrel_optimize__?names=BarChart3,Building2,Clock,Eye,Globe,Home,Lock,LockOpen,MessageSquare,Pencil,PieChart,RefreshCw,RotateCcw,Trash2,UserCog,UserPlus,Users,UsersIcon,WifiOff,Zap!=!lucide-react */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/refresh-cw.js\");\n/* harmony import */ var _barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! __barrel_optimize__?names=BarChart3,Building2,Clock,Eye,Globe,Home,Lock,LockOpen,MessageSquare,Pencil,PieChart,RefreshCw,RotateCcw,Trash2,UserCog,UserPlus,Users,UsersIcon,WifiOff,Zap!=!lucide-react */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/chart-column.js\");\n/* harmony import */ var _barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! __barrel_optimize__?names=BarChart3,Building2,Clock,Eye,Globe,Home,Lock,LockOpen,MessageSquare,Pencil,PieChart,RefreshCw,RotateCcw,Trash2,UserCog,UserPlus,Users,UsersIcon,WifiOff,Zap!=!lucide-react */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/chart-pie.js\");\n/* harmony import */ var _barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! __barrel_optimize__?names=BarChart3,Building2,Clock,Eye,Globe,Home,Lock,LockOpen,MessageSquare,Pencil,PieChart,RefreshCw,RotateCcw,Trash2,UserCog,UserPlus,Users,UsersIcon,WifiOff,Zap!=!lucide-react */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/pencil.js\");\n/* harmony import */ var _barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! __barrel_optimize__?names=BarChart3,Building2,Clock,Eye,Globe,Home,Lock,LockOpen,MessageSquare,Pencil,PieChart,RefreshCw,RotateCcw,Trash2,UserCog,UserPlus,Users,UsersIcon,WifiOff,Zap!=!lucide-react */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/message-square.js\");\n/* harmony import */ var _barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! __barrel_optimize__?names=BarChart3,Building2,Clock,Eye,Globe,Home,Lock,LockOpen,MessageSquare,Pencil,PieChart,RefreshCw,RotateCcw,Trash2,UserCog,UserPlus,Users,UsersIcon,WifiOff,Zap!=!lucide-react */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/lock.js\");\n/* harmony import */ var _barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! __barrel_optimize__?names=BarChart3,Building2,Clock,Eye,Globe,Home,Lock,LockOpen,MessageSquare,Pencil,PieChart,RefreshCw,RotateCcw,Trash2,UserCog,UserPlus,Users,UsersIcon,WifiOff,Zap!=!lucide-react */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/lock-open.js\");\n/* harmony import */ var _barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! __barrel_optimize__?names=BarChart3,Building2,Clock,Eye,Globe,Home,Lock,LockOpen,MessageSquare,Pencil,PieChart,RefreshCw,RotateCcw,Trash2,UserCog,UserPlus,Users,UsersIcon,WifiOff,Zap!=!lucide-react */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/zap.js\");\n/* harmony import */ var _barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! __barrel_optimize__?names=BarChart3,Building2,Clock,Eye,Globe,Home,Lock,LockOpen,MessageSquare,Pencil,PieChart,RefreshCw,RotateCcw,Trash2,UserCog,UserPlus,Users,UsersIcon,WifiOff,Zap!=!lucide-react */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/wifi-off.js\");\n/* harmony import */ var _barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! __barrel_optimize__?names=BarChart3,Building2,Clock,Eye,Globe,Home,Lock,LockOpen,MessageSquare,Pencil,PieChart,RefreshCw,RotateCcw,Trash2,UserCog,UserPlus,Users,UsersIcon,WifiOff,Zap!=!lucide-react */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/user-cog.js\");\n/* harmony import */ var _barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(/*! __barrel_optimize__?names=BarChart3,Building2,Clock,Eye,Globe,Home,Lock,LockOpen,MessageSquare,Pencil,PieChart,RefreshCw,RotateCcw,Trash2,UserCog,UserPlus,Users,UsersIcon,WifiOff,Zap!=!lucide-react */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/house.js\");\n/* harmony import */ var _barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(/*! __barrel_optimize__?names=BarChart3,Building2,Clock,Eye,Globe,Home,Lock,LockOpen,MessageSquare,Pencil,PieChart,RefreshCw,RotateCcw,Trash2,UserCog,UserPlus,Users,UsersIcon,WifiOff,Zap!=!lucide-react */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/building-2.js\");\n/* harmony import */ var _barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(/*! __barrel_optimize__?names=BarChart3,Building2,Clock,Eye,Globe,Home,Lock,LockOpen,MessageSquare,Pencil,PieChart,RefreshCw,RotateCcw,Trash2,UserCog,UserPlus,Users,UsersIcon,WifiOff,Zap!=!lucide-react */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/globe.js\");\n/* harmony import */ var _barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(/*! __barrel_optimize__?names=BarChart3,Building2,Clock,Eye,Globe,Home,Lock,LockOpen,MessageSquare,Pencil,PieChart,RefreshCw,RotateCcw,Trash2,UserCog,UserPlus,Users,UsersIcon,WifiOff,Zap!=!lucide-react */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/rotate-ccw.js\");\n/* harmony import */ var _barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__(/*! __barrel_optimize__?names=BarChart3,Building2,Clock,Eye,Globe,Home,Lock,LockOpen,MessageSquare,Pencil,PieChart,RefreshCw,RotateCcw,Trash2,UserCog,UserPlus,Users,UsersIcon,WifiOff,Zap!=!lucide-react */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/clock.js\");\n/* harmony import */ var _barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__(/*! __barrel_optimize__?names=BarChart3,Building2,Clock,Eye,Globe,Home,Lock,LockOpen,MessageSquare,Pencil,PieChart,RefreshCw,RotateCcw,Trash2,UserCog,UserPlus,Users,UsersIcon,WifiOff,Zap!=!lucide-react */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/eye.js\");\n/* harmony import */ var _barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__(/*! __barrel_optimize__?names=BarChart3,Building2,Clock,Eye,Globe,Home,Lock,LockOpen,MessageSquare,Pencil,PieChart,RefreshCw,RotateCcw,Trash2,UserCog,UserPlus,Users,UsersIcon,WifiOff,Zap!=!lucide-react */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/user-plus.js\");\n/* harmony import */ var _barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_42__ = __webpack_require__(/*! __barrel_optimize__?names=BarChart3,Building2,Clock,Eye,Globe,Home,Lock,LockOpen,MessageSquare,Pencil,PieChart,RefreshCw,RotateCcw,Trash2,UserCog,UserPlus,Users,UsersIcon,WifiOff,Zap!=!lucide-react */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/trash-2.js\");\n/* harmony import */ var _components_ui_table__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @/components/ui/table */ \"(app-pages-browser)/./components/ui/table.tsx\");\n/* harmony import */ var _components_user_category_modal__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @/components/user-category-modal */ \"(app-pages-browser)/./components/user-category-modal.tsx\");\n/* harmony import */ var _components_team_user_category_modal__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @/components/team-user-category-modal */ \"(app-pages-browser)/./components/team-user-category-modal.tsx\");\n/* harmony import */ var _components_stats_pie_chart__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! @/components/stats-pie-chart */ \"(app-pages-browser)/./components/stats-pie-chart.tsx\");\n/* harmony import */ var _components_simple_pie_chart__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! @/components/simple-pie-chart */ \"(app-pages-browser)/./components/simple-pie-chart.tsx\");\n/* harmony import */ var _hooks_useRealTimeUpdates__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! @/hooks/useRealTimeUpdates */ \"(app-pages-browser)/./hooks/useRealTimeUpdates.ts\");\n/* harmony import */ var _hooks_useTeamRealTimeUpdates__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! @/hooks/useTeamRealTimeUpdates */ \"(app-pages-browser)/./hooks/useTeamRealTimeUpdates.ts\");\n/* harmony import */ var _components_department_user_category_modal__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! @/components/department-user-category-modal */ \"(app-pages-browser)/./components/department-user-category-modal.tsx\");\n/* harmony import */ var _hooks_useDepartmentRealTimeUpdates__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! @/hooks/useDepartmentRealTimeUpdates */ \"(app-pages-browser)/./hooks/useDepartmentRealTimeUpdates.ts\");\n/* harmony import */ var _components_field_user_category_modal__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! @/components/field-user-category-modal */ \"(app-pages-browser)/./components/field-user-category-modal.tsx\");\n/* harmony import */ var _hooks_useFieldRealTimeUpdates__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! @/hooks/useFieldRealTimeUpdates */ \"(app-pages-browser)/./hooks/useFieldRealTimeUpdates.ts\");\n/* harmony import */ var _components_report_on_behalf_modal__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! @/components/report-on-behalf-modal */ \"(app-pages-browser)/./components/report-on-behalf-modal.tsx\");\n/* harmony import */ var _components_user_scope_modal__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! @/components/user-scope-modal */ \"(app-pages-browser)/./components/user-scope-modal.tsx\");\n/* provided dependency */ var process = __webpack_require__(/*! process */ \"(app-pages-browser)/./node_modules/next/dist/build/polyfills/process.js\");\n/* __next_internal_client_entry_do_not_use__ default auto */ \nvar _s = $RefreshSig$();\n\n\n// app/admin/page.tsx\n// ... (other imports)\n// Updated import to get all necessary types and constants from types/user.ts\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nfunction AdminPage() {\n var _this = this;\n _s();\n const [user, setUser] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n const [activeTab, setActiveTab] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(\"team\");\n // Global stats and data\n const [globalStats, setGlobalStats] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n const [globalUsers, setGlobalUsers] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)([]);\n const [globalLastReset, setGlobalLastReset] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n const [globalResetCooldown, setGlobalResetCooldown] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(0);\n // Team stats and data\n const [teamStats, setTeamStats] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n const [teamUsers, setTeamUsers] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)([]);\n const [teamName, setTeamName] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(\"\");\n const [teamResetCooldown, setTeamResetCooldown] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(0);\n // Department stats and data\n const [departmentStats, setDepartmentStats] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n const [departmentUsers, setDepartmentUsers] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)([]);\n const [departmentName, setDepartmentName] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(\"\");\n const [departmentResetCooldown, setDepartmentResetCooldown] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(0);\n const [departmentChangedRows, setDepartmentChangedRows] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(new Set());\n const [departmentModalOpen, setDepartmentModalOpen] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n // Field stats and data\n const [fieldStats, setFieldStats] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n const [fieldUsers, setFieldUsers] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)([]);\n const [fieldName, setFieldName] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(\"\");\n const [fieldResetCooldown, setFieldResetCooldown] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(0);\n const [fieldChangedRows, setFieldChangedRows] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(new Set());\n const [fieldModalOpen, setFieldModalOpen] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const [newUser, setNewUser] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)({\n name: \"\",\n isAdmin: false,\n field: \"\",\n department: \"\",\n team: \"\",\n role: \"\"\n });\n const [managedTypes, setManagedTypes] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)({\n fields: [],\n departments: [],\n teams: []\n });\n const [managedTypesLoading, setManagedTypesLoading] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const [managedTypeTab, setManagedTypeTab] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(\"field\");\n const [newFieldName, setNewFieldName] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(\"\");\n const [newDepartmentName, setNewDepartmentName] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(\"\");\n const [newTeamName, setNewTeamName] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(\"\");\n const [newDepartmentParentId, setNewDepartmentParentId] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(\"\");\n const [newTeamParentId, setNewTeamParentId] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(\"\");\n const [scopeModalOpen, setScopeModalOpen] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const [scopeUser, setScopeUser] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n const [scopeSaving, setScopeSaving] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const [message, setMessage] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(\"\");\n const [loadingUsers, setLoadingUsers] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const [modalOpen, setModalOpen] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const [teamModalOpen, setTeamModalOpen] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const [selectedCategory, setSelectedCategory] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(\"\");\n const [selectedCategoryName, setSelectedCategoryName] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(\"\");\n const [isRefreshing, setIsRefreshing] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const [changedRows, setChangedRows] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(new Set());\n const [teamChangedRows, setTeamChangedRows] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(new Set());\n const [viewMode, setViewMode] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(\"list\");\n const [debugMode, setDebugMode] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const [useSimpleChart, setUseSimpleChart] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const router = (0,next_navigation__WEBPACK_IMPORTED_MODULE_2__.useRouter)();\n const [reportModalOpen, setReportModalOpen] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const [selectedUserForReport, setSelectedUserForReport] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n // Global real-time updates\n const { isConnected: globalConnected, refetch: refetchGlobal } = (0,_hooks_useRealTimeUpdates__WEBPACK_IMPORTED_MODULE_16__.useRealTimeUpdates)((data)=>{\n var _data_lastReset;\n if (data.stats) {\n setGlobalStats(data.stats);\n }\n if (data.users) {\n const newChangedRows = new Set();\n data.users.forEach((newUser)=>{\n const existingUser = globalUsers.find((u)=>u.national_id === newUser.national_id);\n if (existingUser && (existingUser.in_shelter !== newUser.in_shelter || existingUser.last_updated !== newUser.last_updated)) {\n newChangedRows.add(newUser.national_id);\n }\n });\n setGlobalUsers(data.users);\n setChangedRows(newChangedRows);\n if (newChangedRows.size > 0) {\n setTimeout(()=>setChangedRows(new Set()), 3000);\n }\n }\n if ((_data_lastReset = data.lastReset) === null || _data_lastReset === void 0 ? void 0 : _data_lastReset.lastReset) {\n setGlobalLastReset(data.lastReset.lastReset);\n if (data.lastReset.timestamp) {\n const resetTime = new Date(data.lastReset.timestamp).getTime();\n const now = new Date().getTime();\n const cooldownMs = 2 * 60 // 2 minutes\n ;\n const remaining = Math.max(0, cooldownMs - (now - resetTime));\n setGlobalResetCooldown(Math.ceil(remaining / 1000));\n }\n }\n });\n // Team real-time updates\n const { isConnected: teamConnected, refetch: refetchTeam } = (0,_hooks_useTeamRealTimeUpdates__WEBPACK_IMPORTED_MODULE_17__.useTeamRealTimeUpdates)((user === null || user === void 0 ? void 0 : user.national_id) || \"\", (data)=>{\n if (data.stats) {\n setTeamStats(data.stats);\n }\n if (data.users) {\n const newChangedRows = new Set();\n data.users.forEach((newUser)=>{\n const existingUser = teamUsers.find((u)=>u.national_id === newUser.national_id);\n if (existingUser && (existingUser.in_shelter !== newUser.in_shelter || existingUser.last_updated !== newUser.last_updated)) {\n newChangedRows.add(newUser.national_id);\n }\n });\n setTeamUsers(data.users);\n setTeamChangedRows(newChangedRows);\n if (newChangedRows.size > 0) {\n setTimeout(()=>setTeamChangedRows(new Set()), 3000);\n }\n }\n if (data.team) {\n setTeamName(data.team);\n }\n });\n // Department real-time updates\n const { isConnected: departmentConnected, refetch: refetchDepartment } = (0,_hooks_useDepartmentRealTimeUpdates__WEBPACK_IMPORTED_MODULE_19__.useDepartmentRealTimeUpdates)((user === null || user === void 0 ? void 0 : user.national_id) || \"\", (data)=>{\n if (data.stats) {\n setDepartmentStats(data.stats);\n }\n if (data.users) {\n const newChangedRows = new Set();\n data.users.forEach((newUser)=>{\n const existingUser = departmentUsers.find((u)=>u.national_id === newUser.national_id);\n if (existingUser && (existingUser.in_shelter !== newUser.in_shelter || existingUser.last_updated !== newUser.last_updated)) {\n newChangedRows.add(newUser.national_id);\n }\n });\n setDepartmentUsers(data.users);\n setDepartmentChangedRows(newChangedRows);\n if (newChangedRows.size > 0) {\n setTimeout(()=>setDepartmentChangedRows(new Set()), 3000);\n }\n }\n if (data.department) {\n setDepartmentName(data.department);\n }\n });\n // Field real-time updates\n const { isConnected: fieldConnected, refetch: refetchField } = (0,_hooks_useFieldRealTimeUpdates__WEBPACK_IMPORTED_MODULE_21__.useFieldRealTimeUpdates)((user === null || user === void 0 ? void 0 : user.national_id) || \"\", (data)=>{\n if (data.stats) {\n setFieldStats(data.stats);\n }\n if (data.users) {\n const newChangedRows = new Set();\n data.users.forEach((newUser)=>{\n const existingUser = fieldUsers.find((u)=>u.national_id === newUser.national_id);\n if (existingUser && (existingUser.in_shelter !== newUser.in_shelter || existingUser.last_updated !== newUser.last_updated)) {\n newChangedRows.add(newUser.national_id);\n }\n });\n setFieldUsers(data.users);\n setFieldChangedRows(newChangedRows);\n if (newChangedRows.size > 0) {\n setTimeout(()=>setFieldChangedRows(new Set()), 3000);\n }\n }\n if (data.field) {\n setFieldName(data.field);\n }\n });\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n const userData = localStorage.getItem(\"user\");\n if (!userData) {\n router.push(\"/login\");\n return;\n }\n const parsedUser = JSON.parse(userData);\n if (![\n \"global_admin\",\n \"field_admin\",\n \"department_admin\",\n \"team_admin\"\n ].includes(parsedUser.role)) {\n router.push(\"/dashboard\");\n return;\n }\n setUser(parsedUser);\n }, [\n router\n ]);\n const fetchManagedTypes = async ()=>{\n setManagedTypesLoading(true);\n try {\n const response = await fetch(\"/api/admin/managed-types?adminId=\".concat(encodeURIComponent((user === null || user === void 0 ? void 0 : user.national_id) || \"\")));\n const data = await response.json();\n if (response.ok) {\n setManagedTypes({\n fields: data.fields || [],\n departments: data.departments || [],\n teams: data.teams || []\n });\n } else {\n setMessage(data.error || \"Failed to load managed types.\");\n }\n } catch (error) {\n console.error(\"Managed types fetch error:\", error);\n setMessage(\"Failed to load managed types.\");\n } finally{\n setManagedTypesLoading(false);\n }\n };\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n if (user === null || user === void 0 ? void 0 : user.national_id) {\n fetchManagedTypes();\n }\n }, [\n user === null || user === void 0 ? void 0 : user.national_id\n ]);\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n if (!newDepartmentParentId && managedTypes.fields.length === 1 && managedTypes.fields[0].id) {\n setNewDepartmentParentId(String(managedTypes.fields[0].id));\n }\n if (!newTeamParentId && managedTypes.departments.length === 1 && managedTypes.departments[0].id) {\n setNewTeamParentId(String(managedTypes.departments[0].id));\n }\n }, [\n managedTypes,\n newDepartmentParentId,\n newTeamParentId\n ]);\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n if (globalResetCooldown > 0) {\n const timer = setTimeout(()=>setGlobalResetCooldown(globalResetCooldown - 1), 1000);\n return ()=>clearTimeout(timer);\n }\n }, [\n globalResetCooldown\n ]);\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n if (teamResetCooldown > 0) {\n const timer = setTimeout(()=>setTeamResetCooldown(teamResetCooldown - 1), 1000);\n return ()=>clearTimeout(timer);\n }\n }, [\n teamResetCooldown\n ]);\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n if (departmentResetCooldown > 0) {\n const timer = setTimeout(()=>setDepartmentResetCooldown(departmentResetCooldown - 1), 1000);\n return ()=>clearTimeout(timer);\n }\n }, [\n departmentResetCooldown\n ]);\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n if (fieldResetCooldown > 0) {\n const timer = setTimeout(()=>setFieldResetCooldown(fieldResetCooldown - 1), 1000);\n return ()=>clearTimeout(timer);\n }\n }, [\n fieldResetCooldown\n ]);\n const handleGlobalResetAll = async ()=>{\n if (globalResetCooldown > 0) return;\n try {\n const response = await fetch(\"/api/admin/reset-all\", {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\"\n },\n body: JSON.stringify({\n adminId: user === null || user === void 0 ? void 0 : user.national_id\n })\n });\n const data = await response.json();\n if (response.ok) {\n setMessage(data.message || \"כל הסטטוסים אופסו בהצלחה\");\n setGlobalResetCooldown(30) // 2 minutes\n ;\n setGlobalLastReset(\"\".concat(user === null || user === void 0 ? void 0 : user.name, \" - \").concat(new Date().toLocaleString(\"he-IL\")));\n refetchGlobal();\n refetchTeam() // Also refresh team data\n ;\n refetchDepartment();\n refetchField();\n } else {\n // Handle cooldown error specifically\n if (response.status === 429 && data.remainingSeconds) {\n setGlobalResetCooldown(data.remainingSeconds);\n setMessage(\"יש להמתין \".concat(data.remainingSeconds, \" שניות לפני איפוס נוסף\"));\n } else {\n setMessage(data.error || \"שגיאה באיפוס הסטטוסים\");\n }\n }\n } catch (err) {\n setMessage(\"שגיאה באיפוס הסטטוסים\");\n }\n };\n const handleTeamReset = async ()=>{\n if (teamResetCooldown > 0) return;\n try {\n const response = await fetch(\"/api/admin/team-reset\", {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\"\n },\n body: JSON.stringify({\n adminId: user === null || user === void 0 ? void 0 : user.national_id\n })\n });\n const data = await response.json();\n if (response.ok) {\n setMessage(data.message || \"כל הסטטוסים של צוות \".concat(data.team, \" אופסו בהצלחה\"));\n setTeamResetCooldown(60) // 1 minute\n ;\n refetchTeam();\n refetchGlobal() // Also refresh global data\n ;\n refetchDepartment();\n refetchField();\n } else {\n if (response.status === 429 && data.remainingSeconds) {\n setTeamResetCooldown(data.remainingSeconds);\n setMessage(\"יש להמתין \".concat(data.remainingSeconds, \" שניות לפני איפוס צוות נוסף\"));\n } else {\n setMessage(data.error || \"שגיאה באיפוס הצוות\");\n }\n }\n } catch (err) {\n setMessage(\"שגיאה באיפוס הצוות\");\n }\n };\n const handleDepartmentReset = async ()=>{\n if (departmentResetCooldown > 0) return;\n try {\n const response = await fetch(\"/api/admin/department-reset\", {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\"\n },\n body: JSON.stringify({\n adminId: user === null || user === void 0 ? void 0 : user.national_id\n })\n });\n const data = await response.json();\n if (response.ok) {\n setMessage(data.message || \"כל הסטטוסים של מסגרת \".concat(data.department, \" אופסו בהצלחה\"));\n setDepartmentResetCooldown(90) // 1.5 minutes\n ;\n refetchDepartment();\n refetchGlobal() // Also refresh global data\n ;\n refetchTeam();\n refetchField();\n } else {\n if (response.status === 429 && data.remainingSeconds) {\n setDepartmentResetCooldown(data.remainingSeconds);\n setMessage(\"יש להמתין \".concat(data.remainingSeconds, \" שניות לפני איפוס מסגרת נוסף\"));\n } else {\n setMessage(data.error || \"שגיאה באיפוס המסגרת\");\n }\n }\n } catch (err) {\n setMessage(\"שגיאה באיפוס המסגרת\");\n }\n };\n const handleFieldReset = async ()=>{\n if (fieldResetCooldown > 0) return;\n try {\n const response = await fetch(\"/api/admin/field-reset\", {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\"\n },\n body: JSON.stringify({\n adminId: user === null || user === void 0 ? void 0 : user.national_id\n })\n });\n const data = await response.json();\n if (response.ok) {\n setMessage(data.message || \"כל הסטטוסים של תחום \".concat(data.field, \" אופסו בהצלחה\"));\n setFieldResetCooldown(120) // 2 minutes\n ;\n refetchField();\n refetchGlobal() // Also refresh global data\n ;\n refetchTeam();\n refetchDepartment();\n } else {\n if (response.status === 429 && data.remainingSeconds) {\n setFieldResetCooldown(data.remainingSeconds);\n setMessage(\"יש להמתין \".concat(data.remainingSeconds, \" שניות לפני איפוס תחום נוסף\"));\n } else {\n setMessage(data.error || \"שגיאה באיפוס התחום\");\n }\n }\n } catch (err) {\n setMessage(\"שגיאה באיפוס התחום\");\n }\n };\n const handleAddManagedType = async (type)=>{\n const name = type === \"field\" ? newFieldName : type === \"department\" ? newDepartmentName : newTeamName;\n if (!name.trim()) {\n return;\n }\n const parentId = type === \"department\" ? newDepartmentParentId : type === \"team\" ? newTeamParentId : \"\";\n if ((type === \"department\" || type === \"team\") && !parentId) {\n setMessage(\"Select a parent before adding.\");\n return;\n }\n try {\n const response = await fetch(\"/api/admin/managed-types\", {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\"\n },\n body: JSON.stringify({\n adminId: user === null || user === void 0 ? void 0 : user.national_id,\n type,\n name: name.trim(),\n parentId: parentId ? Number(parentId) : undefined\n })\n });\n const data = await response.json();\n if (response.ok) {\n if (type === \"field\") setNewFieldName(\"\");\n if (type === \"department\") setNewDepartmentName(\"\");\n if (type === \"team\") setNewTeamName(\"\");\n if (type === \"department\") setNewDepartmentParentId(\"\");\n if (type === \"team\") setNewTeamParentId(\"\");\n await fetchManagedTypes();\n } else {\n setMessage(data.error || \"Failed to add managed type.\");\n }\n } catch (error) {\n console.error(\"Managed type add error:\", error);\n setMessage(\"Failed to add managed type.\");\n }\n };\n const handleDeleteManagedType = async (id)=>{\n if (!id || !(user === null || user === void 0 ? void 0 : user.national_id)) return;\n if (!confirm(\"Delete this value? Users assigned to it must be moved first.\")) {\n return;\n }\n try {\n const response = await fetch(\"/api/admin/managed-types/\".concat(id), {\n method: \"DELETE\",\n headers: {\n \"Content-Type\": \"application/json\"\n },\n body: JSON.stringify({\n adminId: user.national_id\n })\n });\n const data = await response.json();\n if (response.ok) {\n await fetchManagedTypes();\n } else {\n setMessage(data.error || \"Failed to delete managed type.\");\n }\n } catch (error) {\n console.error(\"Managed type delete error:\", error);\n setMessage(\"Failed to delete managed type.\");\n }\n };\n const handleRenameManagedType = async (id, currentName)=>{\n if (!id || !(user === null || user === void 0 ? void 0 : user.national_id) || !currentName) return;\n const nextName = prompt(\"Rename value:\", currentName);\n if (!nextName || nextName.trim() === currentName) return;\n try {\n const response = await fetch(\"/api/admin/managed-types/\".concat(id), {\n method: \"PATCH\",\n headers: {\n \"Content-Type\": \"application/json\"\n },\n body: JSON.stringify({\n adminId: user.national_id,\n name: nextName.trim()\n })\n });\n const data = await response.json();\n if (response.ok) {\n await fetchManagedTypes();\n await Promise.all([\n refetchGlobal(),\n refetchTeam(),\n refetchDepartment(),\n refetchField()\n ]);\n } else {\n setMessage(data.error || \"Failed to rename managed type.\");\n }\n } catch (error) {\n console.error(\"Managed type rename error:\", error);\n setMessage(\"Failed to rename managed type.\");\n }\n };\n const handleAddUser = async (e)=>{\n e.preventDefault();\n if (!newUser.field || !newUser.department || !newUser.team || !newUser.role) {\n setMessage(\"יש לבחור תפקיד, תחום, מסגרת וצוות\");\n return;\n }\n try {\n const response = await fetch(\"/api/admin/add-user\", {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\"\n },\n body: JSON.stringify({\n ...newUser,\n adminId: user === null || user === void 0 ? void 0 : user.national_id\n })\n });\n const data = await response.json();\n if (response.ok) {\n setMessage(\"\".concat(data.message, \". הסיסמה הזמנית: password123\"));\n setNewUser({\n name: \"\",\n isAdmin: false,\n field: \"\",\n department: \"\",\n team: \"\",\n role: \"\"\n });\n refetchGlobal();\n refetchTeam();\n refetchDepartment();\n refetchField();\n } else {\n setMessage(data.error || \"שגיאה בהוספת משתמש\");\n }\n } catch (err) {\n setMessage(\"שגיאה בחיבור לשרת\");\n }\n };\n const handleDeleteUser = async (nationalId)=>{\n try {\n const response = await fetch(\"/api/admin/users/\".concat(nationalId), {\n method: \"DELETE\"\n });\n if (response.ok) {\n setMessage(\"משתמש נמחק בהצלחה\");\n refetchGlobal();\n refetchTeam();\n refetchDepartment();\n refetchField();\n } else {\n const data = await response.json();\n setMessage(data.error || \"שגיאה במחיקת משתמש\");\n }\n } catch (err) {\n setMessage(\"שגיאה בחיבור לשרת\");\n }\n };\n const handleResetPassword = async (nationalId, userName)=>{\n try {\n const response = await fetch(\"/api/admin/reset-password\", {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\"\n },\n body: JSON.stringify({\n adminId: user === null || user === void 0 ? void 0 : user.national_id,\n targetUserId: nationalId\n })\n });\n if (response.ok) {\n setMessage(\"סיסמה אופסה בהצלחה עבור \".concat(userName, \". הסיסמה החדשה: password123\"));\n refetchGlobal();\n refetchTeam();\n refetchDepartment();\n refetchField();\n } else {\n const data = await response.json();\n setMessage(data.error || \"שגיאה באיפוס סיסמה\");\n }\n } catch (err) {\n setMessage(\"שגיאה בחיבור לשרת\");\n }\n };\n const handleToggleUserLock = async (nationalId, currentLockStatus, userName)=>{\n try {\n const response = await fetch(\"/api/admin/toggle-user-lock\", {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\"\n },\n body: JSON.stringify({\n adminId: user === null || user === void 0 ? void 0 : user.national_id,\n targetUserId: nationalId,\n lockStatus: !currentLockStatus\n })\n });\n const data = await response.json();\n if (response.ok) {\n setMessage(data.message);\n // Immediately update the local state to reflect the change\n const updateUserLockStatus = (users)=>users.map((u)=>u.national_id === nationalId ? {\n ...u,\n lock_status: !currentLockStatus\n } : u);\n setGlobalUsers((prev)=>updateUserLockStatus(prev));\n setTeamUsers((prev)=>updateUserLockStatus(prev));\n setDepartmentUsers((prev)=>updateUserLockStatus(prev));\n setFieldUsers((prev)=>updateUserLockStatus(prev));\n // Also refresh from server to ensure consistency\n setTimeout(()=>{\n refetchGlobal();\n refetchTeam();\n refetchDepartment();\n refetchField();\n }, 100);\n } else {\n setMessage(data.error || \"שגיאה בשינוי סטטוס נעילה\");\n }\n } catch (err) {\n setMessage(\"שגיאה בחיבור לשרת\");\n }\n };\n const handleUpdateUserScope = async (payload)=>{\n if (!(user === null || user === void 0 ? void 0 : user.national_id)) return;\n setScopeSaving(true);\n try {\n const response = await fetch(\"/api/admin/update-user-scope\", {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\"\n },\n body: JSON.stringify({\n adminId: user.national_id,\n targetUserId: payload.userId,\n field: payload.field,\n department: payload.department,\n team: payload.team\n })\n });\n const data = await response.json();\n if (response.ok) {\n setMessage(data.message || \"User updated.\");\n setScopeModalOpen(false);\n setScopeUser(null);\n await Promise.all([\n refetchGlobal(),\n refetchTeam(),\n refetchDepartment(),\n refetchField()\n ]);\n } else {\n setMessage(data.error || \"Failed to update user.\");\n }\n } catch (error) {\n console.error(\"User scope update error:\", error);\n setMessage(\"Failed to update user.\");\n } finally{\n setScopeSaving(false);\n }\n };\n const getStatusText = (status)=>{\n switch(status){\n case \"yes\":\n return {\n text: \"במקלט/חדר מוגן\",\n color: \"text-green-600\"\n };\n case \"no\":\n return {\n text: \"לא במקלט\",\n color: \"text-orange-600\"\n };\n case \"no_alarm\":\n return {\n text: \"אין אזעקה\",\n color: \"text-blue-600\"\n };\n case \"safe_after_exit\":\n return {\n text: \"אני בטוח.ה (סוף אירוע)\",\n color: \"text-emerald-600\"\n };\n default:\n return {\n text: \"דיווח חסר\",\n color: \"text-gray-500\"\n };\n }\n };\n const handleGlobalCategoryClick = (category, categoryName)=>{\n setSelectedCategory(category);\n setSelectedCategoryName(categoryName);\n setModalOpen(true);\n };\n const handleTeamCategoryClick = (category, categoryName)=>{\n setSelectedCategory(category);\n setSelectedCategoryName(categoryName);\n setTeamModalOpen(true);\n };\n const handleDepartmentCategoryClick = (category, categoryName)=>{\n setSelectedCategory(category);\n setSelectedCategoryName(categoryName);\n setDepartmentModalOpen(true);\n };\n const handleFieldCategoryClick = (category, categoryName)=>{\n setSelectedCategory(category);\n setSelectedCategoryName(categoryName);\n setFieldModalOpen(true);\n };\n const handleManualRefresh = async ()=>{\n setIsRefreshing(true);\n try {\n await Promise.all([\n refetchGlobal(),\n refetchTeam(),\n refetchDepartment(),\n refetchField()\n ]);\n } catch (error) {\n console.error(\"Manual refresh failed:\", error);\n setMessage(\"שגיאה ברענון הנתונים\");\n } finally{\n setTimeout(()=>setIsRefreshing(false), 500);\n }\n };\n const handleReportOnBehalf = async (userId, status)=>{\n try {\n const response = await fetch(\"/api/admin/report-on-behalf\", {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\"\n },\n body: JSON.stringify({\n adminId: user === null || user === void 0 ? void 0 : user.national_id,\n targetUserId: userId,\n status\n })\n });\n const data = await response.json();\n if (response.ok) {\n setMessage(data.message);\n refetchGlobal();\n refetchTeam();\n refetchDepartment();\n refetchField();\n } else {\n setMessage(data.error || \"שגיאה בדיווח\");\n }\n } catch (err) {\n setMessage(\"שגיאה בחיבור לשרת\");\n }\n };\n const formatCooldownTime = (seconds)=>{\n if (seconds <= 0) return \"\";\n const minutes = Math.floor(seconds / 60);\n const remainingSeconds = seconds % 60;\n if (minutes > 0) {\n return \"\".concat(minutes, \":\").concat(remainingSeconds.toString().padStart(2, \"0\"));\n }\n return \"\".concat(remainingSeconds, \" שניות\");\n };\n const renderStatsSection = function(stats, onCategoryClick) {\n let isTeam = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : false, customName = arguments.length > 3 ? arguments[3] : void 0;\n const displayName = customName || (isTeam ? \"צוות \".concat(teamName) : \"כלליות\");\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_5__.Card, {\n dir: \"rtl\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_5__.CardHeader, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_5__.CardTitle, {\n className: \"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-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_24__[\"default\"], {\n className: \"h-5 w-5\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 898,\n columnNumber: 15\n }, _this),\n isTeam ? \"צוות \".concat(teamName) : customName ? \"מסגרת \".concat(customName) : \"כללי\",\n \" \",\n isRefreshing && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_25__[\"default\"], {\n className: \"h-4 w-4 animate-spin text-blue-500\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 904,\n columnNumber: 32\n }, _this),\n (isTeam ? teamConnected : departmentConnected ? departmentConnected : fieldConnected ? fieldConnected : globalConnected) && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-2 h-2 bg-green-500 rounded-full animate-pulse\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 911,\n columnNumber: 43\n }, _this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 897,\n columnNumber: 13\n }, _this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex gap-1\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_4__.Button, {\n variant: viewMode === \"list\" ? \"default\" : \"outline\",\n size: \"sm\",\n onClick: ()=>setViewMode(\"list\"),\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_26__[\"default\"], {\n className: \"h-4 w-4\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 919,\n columnNumber: 17\n }, _this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 914,\n columnNumber: 15\n }, _this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_4__.Button, {\n variant: viewMode === \"pie\" ? \"default\" : \"outline\",\n size: \"sm\",\n onClick: ()=>setViewMode(\"pie\"),\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_27__[\"default\"], {\n className: \"h-4 w-4\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 922,\n columnNumber: 17\n }, _this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 921,\n columnNumber: 15\n }, _this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 913,\n columnNumber: 13\n }, _this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 896,\n columnNumber: 11\n }, _this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 895,\n columnNumber: 9\n }, _this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_5__.CardContent, {\n className: \"text-center\",\n dir: \"rtl\",\n children: [\n stats ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: viewMode === \"list\" ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-2 text-center\",\n dir: \"rtl\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex justify-between p-2 rounded hover:bg-gray-100 cursor-pointer transition-colors\",\n onClick: ()=>onCategoryClick(\"no_report\", \"לא דיווחו\"),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: \"לא דיווחו:\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 936,\n columnNumber: 21\n }, _this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"font-semibold text-red-600\",\n children: stats.no_report\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 937,\n columnNumber: 21\n }, _this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 932,\n columnNumber: 19\n }, _this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex justify-between p-2 rounded hover:bg-gray-100 cursor-pointer transition-colors\",\n onClick: ()=>onCategoryClick(\"in_shelter\", \"במקלט/חדר מוגן\"),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: \"במקלט:\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 943,\n columnNumber: 21\n }, _this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"font-semibold text-green-600\",\n children: stats.in_shelter\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 944,\n columnNumber: 21\n }, _this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 939,\n columnNumber: 19\n }, _this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex justify-between p-2 rounded hover:bg-gray-100 cursor-pointer transition-colors\",\n onClick: ()=>onCategoryClick(\"not_in_shelter\", \"לא במקלט - אין מקלט בקרבת מקום\"),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: \"לא במקלט:\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 950,\n columnNumber: 21\n }, _this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"font-semibold text-orange-600\",\n children: stats.not_in_shelter\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 951,\n columnNumber: 21\n }, _this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 946,\n columnNumber: 19\n }, _this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex justify-between p-2 rounded hover:bg-gray-100 cursor-pointer transition-colors\",\n onClick: ()=>onCategoryClick(\"no_alarm\", \"אין אזעקה באזור\"),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: \"אין אזעקה:\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 957,\n columnNumber: 21\n }, _this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"font-semibold text-blue-600\",\n children: stats.no_alarm\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 958,\n columnNumber: 21\n }, _this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 953,\n columnNumber: 19\n }, _this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex justify-between p-2 rounded hover:bg-gray-100 cursor-point transition-colors\",\n onClick: ()=>onCategoryClick(\"safe_after_exit\", \"אני בטוח.ה (סוף אירוע)\"),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: \"אני בטוח.ה (סוף אירוע)\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 964,\n columnNumber: 21\n }, _this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"font-semibold text-emerald-600\",\n children: stats.safe_after_exit\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 965,\n columnNumber: 21\n }, _this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 960,\n columnNumber: 19\n }, _this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 931,\n columnNumber: 17\n }, _this) : useSimpleChart ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_simple_pie_chart__WEBPACK_IMPORTED_MODULE_15__.SimplePieChart, {\n stats: stats,\n onCategoryClick: onCategoryClick\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 969,\n columnNumber: 17\n }, _this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_stats_pie_chart__WEBPACK_IMPORTED_MODULE_14__.StatsPieChart, {\n stats: stats,\n onCategoryClick: onCategoryClick\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 971,\n columnNumber: 17\n }, _this)\n }, void 0, false) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-center py-8 text-gray-500\",\n children: \"טוען סטטיסטיקות...\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 975,\n columnNumber: 13\n }, _this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mt-4 text-xs text-gray-500 text-center\",\n children: (isTeam ? teamConnected : departmentConnected ? departmentConnected : fieldConnected ? fieldConnected : globalConnected) ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-green-600 font-medium\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 987,\n columnNumber: 15\n }, _this) : \"מנסה להתחבר לעדכונים...\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 977,\n columnNumber: 11\n }, _this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 927,\n columnNumber: 9\n }, _this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 894,\n columnNumber: 7\n }, _this);\n };\n const renderUsersTable = function(users, changedRows) {\n let isReadOnly = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : false;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"overflow-x-auto\",\n dir: \"rtl\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_table__WEBPACK_IMPORTED_MODULE_11__.Table, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_table__WEBPACK_IMPORTED_MODULE_11__.TableHeader, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_table__WEBPACK_IMPORTED_MODULE_11__.TableRow, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_table__WEBPACK_IMPORTED_MODULE_11__.TableHead, {\n className: \"text-right\",\n children: \"שם\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1003,\n columnNumber: 15\n }, _this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_table__WEBPACK_IMPORTED_MODULE_11__.TableHead, {\n className: \"text-right\",\n children: \"דיווח\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1004,\n columnNumber: 15\n }, _this),\n !isReadOnly && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_table__WEBPACK_IMPORTED_MODULE_11__.TableHead, {\n className: \"text-right\",\n children: \"פעולות\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1005,\n columnNumber: 31\n }, _this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_table__WEBPACK_IMPORTED_MODULE_11__.TableHead, {\n className: \"text-right\",\n children: \"תחום\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1006,\n columnNumber: 15\n }, _this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_table__WEBPACK_IMPORTED_MODULE_11__.TableHead, {\n className: \"text-right\",\n children: \"מסגרת\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1007,\n columnNumber: 15\n }, _this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_table__WEBPACK_IMPORTED_MODULE_11__.TableHead, {\n className: \"text-right\",\n children: \"צוות\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1008,\n columnNumber: 15\n }, _this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1002,\n columnNumber: 13\n }, _this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1001,\n columnNumber: 11\n }, _this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_table__WEBPACK_IMPORTED_MODULE_11__.TableBody, {\n children: users.map((userData)=>{\n const status = getStatusText(userData.in_shelter);\n const isChanged = changedRows.has(userData.national_id);\n const isLocked = userData.lock_status || false;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_table__WEBPACK_IMPORTED_MODULE_11__.TableRow, {\n className: isChanged ? \"bg-green-50 border-green-200 animate-pulse\" : \"\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_table__WEBPACK_IMPORTED_MODULE_11__.TableCell, {\n className: \"font-medium\",\n children: [\n userData.name,\n isChanged && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"ml-2 text-green-600\",\n children: \"\\uD83D\\uDD04\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1023,\n columnNumber: 35\n }, _this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1021,\n columnNumber: 19\n }, _this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_table__WEBPACK_IMPORTED_MODULE_11__.TableCell, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: status.color,\n children: status.text\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1026,\n columnNumber: 21\n }, _this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1025,\n columnNumber: 19\n }, _this),\n !isReadOnly && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_table__WEBPACK_IMPORTED_MODULE_11__.TableCell, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex gap-2\",\n children: [\n (user === null || user === void 0 ? void 0 : user.role) !== \"user\" && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_4__.Button, {\n variant: \"outline\",\n size: \"sm\",\n onClick: ()=>{\n setScopeUser(userData);\n setScopeModalOpen(true);\n },\n className: \"text-blue-600 hover:text-blue-700\",\n title: \"Edit assignment\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_28__[\"default\"], {\n className: \"h-4 w-4\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1042,\n columnNumber: 29\n }, _this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1032,\n columnNumber: 27\n }, _this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_4__.Button, {\n variant: \"outline\",\n size: \"sm\",\n onClick: ()=>{\n setSelectedUserForReport(userData);\n setReportModalOpen(true);\n },\n className: \"text-green-600 hover:text-green-700\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_29__[\"default\"], {\n className: \"h-4 w-4\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1054,\n columnNumber: 27\n }, _this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1045,\n columnNumber: 25\n }, _this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_4__.Button, {\n variant: \"outline\",\n size: \"sm\",\n onClick: ()=>handleToggleUserLock(userData.national_id, isLocked, userData.name),\n className: isLocked ? \"text-yellow-600 hover:text-yellow-700 bg-yellow-50 border-yellow-200\" : \"text-gray-600 hover:text-gray-700 bg-gray-50 border-gray-200\",\n title: isLocked ? \"לחץ לביטול נעילה\" : \"לחץ לנעילה\",\n children: isLocked ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_30__[\"default\"], {\n className: \"h-4 w-4\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1068,\n columnNumber: 39\n }, _this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_31__[\"default\"], {\n className: \"h-4 w-4\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1068,\n columnNumber: 70\n }, _this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1057,\n columnNumber: 25\n }, _this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1030,\n columnNumber: 23\n }, _this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1029,\n columnNumber: 21\n }, _this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_table__WEBPACK_IMPORTED_MODULE_11__.TableCell, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-sm bg-green-100 text-green-800 px-2 py-1 rounded\",\n children: userData.field || \"לא הוגדר\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1074,\n columnNumber: 21\n }, _this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1073,\n columnNumber: 19\n }, _this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_table__WEBPACK_IMPORTED_MODULE_11__.TableCell, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-sm bg-blue-100 text-blue-800 px-2 py-1 rounded\",\n children: userData.department || \"לא הוגדר\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1079,\n columnNumber: 21\n }, _this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1078,\n columnNumber: 19\n }, _this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_table__WEBPACK_IMPORTED_MODULE_11__.TableCell, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-sm bg-purple-100 text-purple-800 px-2 py-1 rounded\",\n children: userData.team || \"לא הוגדר\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1084,\n columnNumber: 21\n }, _this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1083,\n columnNumber: 19\n }, _this)\n ]\n }, userData.national_id, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1017,\n columnNumber: 17\n }, _this);\n })\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1011,\n columnNumber: 11\n }, _this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1000,\n columnNumber: 9\n }, _this),\n users.length === 0 && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-center py-8 text-gray-500\",\n children: \"אין משתמשים\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1096,\n columnNumber: 32\n }, _this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 999,\n columnNumber: 7\n }, _this);\n };\n const fieldNameById = new Map(managedTypes.fields.map((field)=>[\n field.id,\n field.name\n ]));\n const departmentNameById = new Map(managedTypes.departments.map((dept)=>[\n dept.id,\n dept.name\n ]));\n const allowedManagedTabs = (user === null || user === void 0 ? void 0 : user.role) === \"global_admin\" || (user === null || user === void 0 ? void 0 : user.role) === \"field_admin\" ? [\n \"field\",\n \"department\",\n \"team\"\n ] : (user === null || user === void 0 ? void 0 : user.role) === \"department_admin\" ? [\n \"department\",\n \"team\"\n ] : [];\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n if (allowedManagedTabs.length > 0 && !allowedManagedTabs.includes(managedTypeTab)) {\n setManagedTypeTab(allowedManagedTabs[0]);\n }\n }, [\n allowedManagedTabs,\n managedTypeTab\n ]);\n if (!user) return null;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"min-h-screen bg-gray-50 p-4\",\n dir: \"rtl\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"max-w-6xl mx-auto space-y-6\",\n dir: \"rtl\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_5__.Card, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_5__.CardHeader, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex justify-between items-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_5__.CardTitle, {\n className: \"text-xl\",\n children: \"ניהול\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1124,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-2 text-sm text-gray-600 text-center\",\n children: globalConnected || teamConnected || departmentConnected || fieldConnected ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_32__[\"default\"], {\n className: \"h-4 w-4 text-green-500\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1129,\n columnNumber: 23\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-green-600\",\n children: \"מקוון\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1130,\n columnNumber: 23\n }, this)\n ]\n }, void 0, true) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_33__[\"default\"], {\n className: \"h-4 w-4 text-red-500\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1134,\n columnNumber: 23\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-red-600\",\n children: \"מתחבר...\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1135,\n columnNumber: 23\n }, this)\n ]\n }, void 0, true)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1126,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_4__.Button, {\n variant: \"outline\",\n size: \"sm\",\n onClick: handleManualRefresh,\n disabled: isRefreshing,\n className: \"flex items-center gap-1\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_25__[\"default\"], {\n className: \"h-4 w-4 \".concat(isRefreshing ? \"animate-spin\" : \"\")\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1146,\n columnNumber: 19\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1139,\n columnNumber: 17\n }, this),\n (user === null || user === void 0 ? void 0 : user.role) !== \"user\" && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_4__.Button, {\n variant: \"outline\",\n onClick: ()=>router.push(\"/role-admin\"),\n className: \"flex items-center gap-2\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_34__[\"default\"], {\n className: \"h-4 w-4\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1154,\n columnNumber: 21\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1149,\n columnNumber: 19\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_4__.Button, {\n variant: \"outline\",\n onClick: ()=>router.push(\"/dashboard\"),\n className: \"flex items-center gap-2\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_35__[\"default\"], {\n className: \"h-4 w-4\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1158,\n columnNumber: 19\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1157,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1125,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1123,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1122,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1121,\n columnNumber: 9\n }, this),\n message && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_alert__WEBPACK_IMPORTED_MODULE_9__.Alert, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_alert__WEBPACK_IMPORTED_MODULE_9__.AlertDescription, {\n children: message\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1167,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1166,\n columnNumber: 11\n }, this),\n debugMode && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_alert__WEBPACK_IMPORTED_MODULE_9__.Alert, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_alert__WEBPACK_IMPORTED_MODULE_9__.AlertDescription, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"strong\", {\n children: \"Debug Info:\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1174,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-xs mt-2 bg-gray-100 p-2 rounded space-y-1\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n \"User: \",\n user === null || user === void 0 ? void 0 : user.name,\n \" (\",\n user === null || user === void 0 ? void 0 : user.role,\n \")\"\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1176,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n \"Team: \",\n teamName\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1177,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n \"Global Users: \",\n globalUsers.length\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1178,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n \"Global Connected: \",\n globalConnected ? \"Yes\" : \"No\"\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1179,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n \"Global Reset Cooldown: \",\n globalResetCooldown,\n \" seconds\"\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1180,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n \"Team Reset Cooldown: \",\n teamResetCooldown,\n \" seconds\"\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1181,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n \"Department Reset Cooldown: \",\n departmentResetCooldown,\n \" seconds\"\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1182,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n \"Field Reset Cooldown: \",\n fieldResetCooldown,\n \" seconds\"\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1183,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1175,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1173,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1172,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_tabs__WEBPACK_IMPORTED_MODULE_10__.Tabs, {\n value: activeTab,\n onValueChange: setActiveTab,\n className: \"w-full\",\n dir: \"rtl\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_tabs__WEBPACK_IMPORTED_MODULE_10__.TabsList, {\n className: \"grid w-full grid-cols-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_tabs__WEBPACK_IMPORTED_MODULE_10__.TabsTrigger, {\n value: \"team\",\n className: \"flex items-center gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_24__[\"default\"], {\n className: \"h-4 w-4\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1192,\n columnNumber: 15\n }, this),\n \"צוות\"\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1191,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_tabs__WEBPACK_IMPORTED_MODULE_10__.TabsTrigger, {\n value: \"department\",\n className: \"flex items-center gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_36__[\"default\"], {\n className: \"h-4 w-4\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1196,\n columnNumber: 15\n }, this),\n \"מסגרת\"\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1195,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_tabs__WEBPACK_IMPORTED_MODULE_10__.TabsTrigger, {\n value: \"field\",\n className: \"flex items-center gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_37__[\"default\"], {\n className: \"h-4 w-4\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1200,\n columnNumber: 15\n }, this),\n \"תחום\"\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1199,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_tabs__WEBPACK_IMPORTED_MODULE_10__.TabsTrigger, {\n value: \"global\",\n className: \"flex items-center gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_37__[\"default\"], {\n className: \"h-4 w-4\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1204,\n columnNumber: 15\n }, this),\n \"כללי\"\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1203,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1190,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_tabs__WEBPACK_IMPORTED_MODULE_10__.TabsContent, {\n value: \"team\",\n className: \"space-y-6\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid md:grid-cols-2 gap-6\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_5__.Card, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_5__.CardHeader, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_5__.CardTitle, {\n className: \"flex items-center gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_38__[\"default\"], {\n className: \"h-5 w-5\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1214,\n columnNumber: 21\n }, this),\n \"איפוס סטטוסי הצוות\"\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1213,\n columnNumber: 19\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1212,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_5__.CardContent, {\n className: \"space-y-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_4__.Button, {\n onClick: handleTeamReset,\n disabled: teamResetCooldown > 0,\n className: \"w-full\",\n variant: teamResetCooldown > 0 ? \"secondary\" : \"destructive\",\n children: teamResetCooldown > 0 ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_39__[\"default\"], {\n className: \"h-4 w-4\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1227,\n columnNumber: 25\n }, this),\n \"המתן \",\n formatCooldownTime(teamResetCooldown)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1226,\n columnNumber: 23\n }, this) : \"אפס את כל הסטטוסים של צוות \".concat(teamName)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1219,\n columnNumber: 19\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-xs text-gray-500 bg-yellow-50 p-2 rounded\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"strong\", {\n children: \"הערה:\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1235,\n columnNumber: 21\n }, this),\n \" איפוס יאפס רק את המשתמשים מהצוות שלך (\",\n teamName,\n \") שאינם נעולים\"\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1234,\n columnNumber: 19\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1218,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1211,\n columnNumber: 15\n }, this),\n renderStatsSection(teamStats, handleTeamCategoryClick, true)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1210,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_5__.Card, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_5__.CardHeader, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_5__.CardTitle, {\n className: \"flex items-center gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_40__[\"default\"], {\n className: \"h-5 w-5\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1246,\n columnNumber: 19\n }, this),\n \"ניהול משתמשי צוות \",\n teamName,\n teamChangedRows.size > 0 && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-xs bg-green-100 text-green-800 px-2 py-1 rounded-full\",\n children: [\n teamChangedRows.size,\n \" עדכונים חדשים\"\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1249,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1245,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1244,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_5__.CardContent, {\n children: loadingUsers ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-center py-4\",\n children: \"טוען משתמשים...\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1257,\n columnNumber: 19\n }, this) : renderUsersTable(teamUsers, teamChangedRows)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1255,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1243,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1209,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_tabs__WEBPACK_IMPORTED_MODULE_10__.TabsContent, {\n value: \"department\",\n className: \"space-y-6\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid md:grid-cols-2 gap-6\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_5__.Card, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_5__.CardHeader, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_5__.CardTitle, {\n className: \"flex items-center gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_38__[\"default\"], {\n className: \"h-5 w-5\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1270,\n columnNumber: 21\n }, this),\n (user === null || user === void 0 ? void 0 : user.role) === \"team_admin\" ? \"צפייה במסגרת\" : \"איפוס סטטוסי המסגרת\"\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1269,\n columnNumber: 19\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1268,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_5__.CardContent, {\n className: \"space-y-4\",\n children: (user === null || user === void 0 ? void 0 : user.role) === \"team_admin\" ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-center p-4 bg-blue-50 rounded\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-blue-800 font-semibold\",\n children: \"צפייה בלבד\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1277,\n columnNumber: 23\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-sm text-blue-600\",\n children: \"כמנהל צוות, אתה יכול לראות את המסגרת שלך אך לא לאפס אותה\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1278,\n columnNumber: 23\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1276,\n columnNumber: 21\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_4__.Button, {\n onClick: handleDepartmentReset,\n disabled: departmentResetCooldown > 0,\n className: \"w-full\",\n variant: departmentResetCooldown > 0 ? \"secondary\" : \"destructive\",\n children: departmentResetCooldown > 0 ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_39__[\"default\"], {\n className: \"h-4 w-4\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1290,\n columnNumber: 29\n }, this),\n \"המתן \",\n formatCooldownTime(departmentResetCooldown)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1289,\n columnNumber: 27\n }, this) : \"אפס את כל הסטטוסים של מסגרת \".concat(departmentName)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1282,\n columnNumber: 23\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-xs text-gray-500 bg-yellow-50 p-2 rounded\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"strong\", {\n children: \"הערה:\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1298,\n columnNumber: 25\n }, this),\n \" איפוס יאפס את כל המשתמשים מהמסגרת שלך (\",\n departmentName,\n \") שאינם נעולים\"\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1297,\n columnNumber: 23\n }, this)\n ]\n }, void 0, true)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1274,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1267,\n columnNumber: 15\n }, this),\n renderStatsSection(departmentStats, handleDepartmentCategoryClick, false, departmentName)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1266,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_5__.Card, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_5__.CardHeader, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_5__.CardTitle, {\n className: \"flex items-center gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_40__[\"default\"], {\n className: \"h-5 w-5\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1311,\n columnNumber: 19\n }, this),\n (user === null || user === void 0 ? void 0 : user.role) === \"team_admin\" ? \"צפייה במשתמשי מסגרת\" : \"ניהול משתמשי מסגרת\",\n \" \",\n departmentName,\n departmentChangedRows.size > 0 && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-xs bg-green-100 text-green-800 px-2 py-1 rounded-full\",\n children: [\n departmentChangedRows.size,\n \" עדכונים חדשים\"\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1314,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1310,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1309,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_5__.CardContent, {\n children: loadingUsers ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-center py-4\",\n children: \"טוען משתמשים...\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1322,\n columnNumber: 19\n }, this) : renderUsersTable(departmentUsers, departmentChangedRows, (user === null || user === void 0 ? void 0 : user.role) === \"team_admin\")\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1320,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1308,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1265,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_tabs__WEBPACK_IMPORTED_MODULE_10__.TabsContent, {\n value: \"field\",\n className: \"space-y-6\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid md:grid-cols-2 gap-6\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_5__.Card, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_5__.CardHeader, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_5__.CardTitle, {\n className: \"flex items-center gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_38__[\"default\"], {\n className: \"h-5 w-5\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1335,\n columnNumber: 21\n }, this),\n \"איפוס סטטוסי התחום\"\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1334,\n columnNumber: 19\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1333,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_5__.CardContent, {\n className: \"space-y-4\",\n children: (user === null || user === void 0 ? void 0 : user.role) === \"department_admin\" || (user === null || user === void 0 ? void 0 : user.role) === \"team_admin\" ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-center p-4 bg-blue-50 rounded\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-blue-800 font-semibold\",\n children: \"צפייה בלבד\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1342,\n columnNumber: 23\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-sm text-blue-600\",\n children: [\n \"כ\",\n _types_user__WEBPACK_IMPORTED_MODULE_3__.ROLE_NAMES[user.role],\n \", אתה יכול לראות את התחום שלך אך לא לאפס אותו\"\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1343,\n columnNumber: 23\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1341,\n columnNumber: 21\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_4__.Button, {\n onClick: handleFieldReset,\n disabled: fieldResetCooldown > 0,\n className: \"w-full\",\n variant: fieldResetCooldown > 0 ? \"secondary\" : \"destructive\",\n children: fieldResetCooldown > 0 ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_39__[\"default\"], {\n className: \"h-4 w-4\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1355,\n columnNumber: 25\n }, this),\n \"המתן \",\n formatCooldownTime(fieldResetCooldown)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1354,\n columnNumber: 23\n }, this) : \"אפס את כל הסטטוסים של תחום \".concat(fieldName)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1347,\n columnNumber: 19\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-xs text-gray-500 bg-yellow-50 p-2 rounded\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"strong\", {\n children: \"הערה:\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1363,\n columnNumber: 21\n }, this),\n \" איפוס יאפס את כל המשתמשים מהתחום שלך (\",\n fieldName,\n \") שאינם נעולים\"\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1362,\n columnNumber: 19\n }, this)\n ]\n }, void 0, true)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1339,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1332,\n columnNumber: 15\n }, this),\n renderStatsSection(fieldStats, handleFieldCategoryClick, false, fieldName)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1331,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_5__.Card, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_5__.CardHeader, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_5__.CardTitle, {\n className: \"flex items-center gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_40__[\"default\"], {\n className: \"h-5 w-5\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1376,\n columnNumber: 19\n }, this),\n (user === null || user === void 0 ? void 0 : user.role) === \"team_admin\" || (user === null || user === void 0 ? void 0 : user.role) === \"department_admin\" ? \"צפייה במשתמשי תחום\" : \"ניהול משתמשי תחום\",\n \" \",\n fieldName,\n fieldChangedRows.size > 0 && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-xs bg-green-100 text-green-800 px-2 py-1 rounded-full\",\n children: [\n fieldChangedRows.size,\n \" עדכונים חדשים\"\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1379,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1375,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1374,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_5__.CardContent, {\n children: loadingUsers ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-center py-4\",\n children: \"טוען משתמשים...\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1387,\n columnNumber: 19\n }, this) : renderUsersTable(fieldUsers, fieldChangedRows, (user === null || user === void 0 ? void 0 : user.role) === \"team_admin\" || (user === null || user === void 0 ? void 0 : user.role) === \"department_admin\")\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1385,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1373,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1330,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_tabs__WEBPACK_IMPORTED_MODULE_10__.TabsContent, {\n value: \"global\",\n className: \"space-y-6\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid md:grid-cols-2 gap-6\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_5__.Card, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_5__.CardHeader, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_5__.CardTitle, {\n className: \"flex items-center gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_38__[\"default\"], {\n className: \"h-5 w-5\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1400,\n columnNumber: 21\n }, this),\n \"איפוס סטטוסים כללי\"\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1399,\n columnNumber: 19\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1398,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_5__.CardContent, {\n className: \"space-y-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_4__.Button, {\n onClick: handleGlobalResetAll,\n disabled: globalResetCooldown > 0,\n className: \"w-full\",\n variant: globalResetCooldown > 0 ? \"secondary\" : \"destructive\",\n children: globalResetCooldown > 0 ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_39__[\"default\"], {\n className: \"h-4 w-4\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1413,\n columnNumber: 25\n }, this),\n \"המתן \",\n formatCooldownTime(globalResetCooldown)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1412,\n columnNumber: 23\n }, this) : \"אפס את כל הסטטוסים\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1405,\n columnNumber: 19\n }, this),\n globalLastReset && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-sm text-gray-600\",\n children: [\n \"איפוס אחרון: \",\n globalLastReset\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1420,\n columnNumber: 39\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-xs text-gray-500 bg-yellow-50 p-2 rounded\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"strong\", {\n children: \"הערה:\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1422,\n columnNumber: 21\n }, this),\n \" איפוס יאפס את כל המשתמשים במערכת (כולל מנהלים) שאינם נעולים\"\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1421,\n columnNumber: 19\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1404,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1397,\n columnNumber: 15\n }, this),\n renderStatsSection(globalStats, handleGlobalCategoryClick, false)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1396,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_5__.Card, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_5__.CardHeader, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_5__.CardTitle, {\n className: \"flex items-center gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_41__[\"default\"], {\n className: \"h-5 w-5\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1433,\n columnNumber: 19\n }, this),\n \"הוספת משתמש חדש\"\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1432,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1431,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_5__.CardContent, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"form\", {\n onSubmit: handleAddUser,\n className: \"space-y-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-4\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_label__WEBPACK_IMPORTED_MODULE_7__.Label, {\n htmlFor: \"name\",\n children: \"שם\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1441,\n columnNumber: 23\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_input__WEBPACK_IMPORTED_MODULE_6__.Input, {\n id: \"name\",\n value: newUser.name,\n onChange: (e)=>setNewUser({\n ...newUser,\n name: e.target.value\n }),\n placeholder: \"שם\",\n required: true\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1442,\n columnNumber: 23\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1440,\n columnNumber: 21\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1439,\n columnNumber: 19\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid md:grid-cols-2 gap-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_label__WEBPACK_IMPORTED_MODULE_7__.Label, {\n htmlFor: \"field\",\n children: \"תחום\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1453,\n columnNumber: 23\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_8__.Select, {\n value: newUser.field,\n onValueChange: (value)=>setNewUser({\n ...newUser,\n field: value\n }),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_8__.SelectTrigger, {\n dir: \"rtl\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_8__.SelectValue, {\n placeholder: \"בחר תחום\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1456,\n columnNumber: 27\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1455,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_8__.SelectContent, {\n dir: \"rtl\",\n children: managedTypes.fields.map((field)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_8__.SelectItem, {\n value: field.name,\n children: field.name\n }, field.name, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1460,\n columnNumber: 29\n }, this))\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1458,\n columnNumber: 25\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1454,\n columnNumber: 23\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1452,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_label__WEBPACK_IMPORTED_MODULE_7__.Label, {\n htmlFor: \"department\",\n children: \"מסגרת\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1468,\n columnNumber: 23\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_8__.Select, {\n value: newUser.department,\n onValueChange: (value)=>setNewUser({\n ...newUser,\n department: value\n }),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_8__.SelectTrigger, {\n dir: \"rtl\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_8__.SelectValue, {\n placeholder: \"בחר מסגרת\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1474,\n columnNumber: 27\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1473,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_8__.SelectContent, {\n dir: \"rtl\",\n children: managedTypes.departments.map((dept)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_8__.SelectItem, {\n value: dept.name,\n children: dept.name\n }, dept.name, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1478,\n columnNumber: 29\n }, this))\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1476,\n columnNumber: 25\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1469,\n columnNumber: 23\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1467,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_label__WEBPACK_IMPORTED_MODULE_7__.Label, {\n htmlFor: \"team\",\n children: \"צוות\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1486,\n columnNumber: 23\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_8__.Select, {\n value: newUser.team,\n onValueChange: (value)=>setNewUser({\n ...newUser,\n team: value\n }),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_8__.SelectTrigger, {\n dir: \"rtl\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_8__.SelectValue, {\n placeholder: \"בחר צוות\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1489,\n columnNumber: 27\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1488,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_8__.SelectContent, {\n dir: \"rtl\",\n children: managedTypes.teams.map((team)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_8__.SelectItem, {\n value: team.name,\n children: team.name\n }, team.name, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1493,\n columnNumber: 29\n }, this))\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1491,\n columnNumber: 25\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1487,\n columnNumber: 23\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1485,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_label__WEBPACK_IMPORTED_MODULE_7__.Label, {\n htmlFor: \"role\",\n children: \"הרשאה\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1501,\n columnNumber: 23\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_8__.Select, {\n value: newUser.role,\n onValueChange: (value)=>setNewUser({\n ...newUser,\n role: value,\n isAdmin: value !== \"user\"\n }),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_8__.SelectTrigger, {\n dir: \"rtl\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_8__.SelectValue, {\n placeholder: \"בחר הרשאה\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1513,\n columnNumber: 27\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1512,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_8__.SelectContent, {\n dir: \"rtl\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_8__.SelectItem, {\n value: \"user\",\n children: \"משתמש רגיל\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1516,\n columnNumber: 27\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_8__.SelectItem, {\n value: \"team_admin\",\n children: \"מנהל צוות\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1517,\n columnNumber: 27\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_8__.SelectItem, {\n value: \"department_admin\",\n children: \"מנהל מסגרת\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1518,\n columnNumber: 27\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_8__.SelectItem, {\n value: \"field_admin\",\n children: \"מנהל תחום\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1519,\n columnNumber: 27\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1515,\n columnNumber: 25\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1502,\n columnNumber: 23\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1500,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1451,\n columnNumber: 19\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-sm text-gray-600 bg-blue-50 p-3 rounded\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"strong\", {\n children: \"הערה:\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1525,\n columnNumber: 21\n }, this),\n ' המשתמש יקבל את הסיסמה הזמנית \"password123\" ויידרש לשנותה בכניסה הראשונה'\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1524,\n columnNumber: 19\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_4__.Button, {\n type: \"submit\",\n className: \"w-full\",\n children: \"הוסף משתמש\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1527,\n columnNumber: 19\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1438,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1437,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1430,\n columnNumber: 13\n }, this),\n allowedManagedTabs.length > 0 && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_5__.Card, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_5__.CardHeader, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_5__.CardTitle, {\n className: \"flex items-center gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_24__[\"default\"], {\n className: \"h-5 w-5\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1538,\n columnNumber: 21\n }, this),\n \"ניהול תחומים, מסגרות וצוותים\"\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1537,\n columnNumber: 19\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1536,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_5__.CardContent, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_tabs__WEBPACK_IMPORTED_MODULE_10__.Tabs, {\n value: managedTypeTab,\n onValueChange: (value)=>setManagedTypeTab(value),\n className: \"w-full\",\n dir: \"rtl\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_tabs__WEBPACK_IMPORTED_MODULE_10__.TabsList, {\n className: \"grid w-full grid-cols-3\",\n children: [\n allowedManagedTabs.includes(\"field\") && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_tabs__WEBPACK_IMPORTED_MODULE_10__.TabsTrigger, {\n value: \"field\",\n children: \"תחומים\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1550,\n columnNumber: 64\n }, this),\n allowedManagedTabs.includes(\"department\") && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_tabs__WEBPACK_IMPORTED_MODULE_10__.TabsTrigger, {\n value: \"department\",\n children: \"מסגרות\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1552,\n columnNumber: 25\n }, this),\n allowedManagedTabs.includes(\"team\") && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_tabs__WEBPACK_IMPORTED_MODULE_10__.TabsTrigger, {\n value: \"team\",\n children: \"צוותים\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1554,\n columnNumber: 63\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1549,\n columnNumber: 21\n }, this),\n allowedManagedTabs.includes(\"field\") && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_tabs__WEBPACK_IMPORTED_MODULE_10__.TabsContent, {\n value: \"field\",\n className: \"space-y-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_input__WEBPACK_IMPORTED_MODULE_6__.Input, {\n value: newFieldName,\n onChange: (e)=>setNewFieldName(e.target.value),\n placeholder: \"New field\",\n disabled: managedTypesLoading\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1560,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_4__.Button, {\n onClick: ()=>handleAddManagedType(\"field\"),\n disabled: managedTypesLoading || !newFieldName.trim(),\n children: \"הוספה\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1566,\n columnNumber: 25\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1559,\n columnNumber: 23\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-xs text-gray-500\",\n children: \"יש לשייך משתמשים קיימים מחדש לפני מחיקה!\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1573,\n columnNumber: 23\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-2\",\n children: managedTypes.fields.length === 0 ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-sm text-gray-500\",\n children: \"No fields yet.\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1578,\n columnNumber: 27\n }, this) : managedTypes.fields.map((item)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center justify-between rounded border p-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex flex-col\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: item.name\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1583,\n columnNumber: 33\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1582,\n columnNumber: 31\n }, this),\n item.managed ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_4__.Button, {\n variant: \"ghost\",\n size: \"sm\",\n onClick: ()=>handleRenameManagedType(item.id, item.name),\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_28__[\"default\"], {\n className: \"h-4 w-4 text-blue-600\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1592,\n columnNumber: 37\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1587,\n columnNumber: 35\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_4__.Button, {\n variant: \"ghost\",\n size: \"sm\",\n onClick: ()=>handleDeleteManagedType(item.id),\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_42__[\"default\"], {\n className: \"h-4 w-4 text-red-600\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1599,\n columnNumber: 37\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1594,\n columnNumber: 35\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1586,\n columnNumber: 33\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-xs text-gray-400\",\n children: \"In use\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1603,\n columnNumber: 33\n }, this)\n ]\n }, item.name, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1581,\n columnNumber: 29\n }, this))\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1576,\n columnNumber: 23\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1558,\n columnNumber: 21\n }, this),\n allowedManagedTabs.includes(\"department\") && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_tabs__WEBPACK_IMPORTED_MODULE_10__.TabsContent, {\n value: \"department\",\n className: \"space-y-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_8__.Select, {\n value: newDepartmentParentId,\n onValueChange: setNewDepartmentParentId,\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_8__.SelectTrigger, {\n dir: \"rtl\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_8__.SelectValue, {\n placeholder: \"Select field\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1617,\n columnNumber: 31\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1616,\n columnNumber: 29\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_8__.SelectContent, {\n dir: \"rtl\",\n children: managedTypes.fields.filter((field)=>field.id).map((field)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_8__.SelectItem, {\n value: String(field.id),\n children: field.name\n }, field.name, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1621,\n columnNumber: 33\n }, this))\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1619,\n columnNumber: 29\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1615,\n columnNumber: 27\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_input__WEBPACK_IMPORTED_MODULE_6__.Input, {\n value: newDepartmentName,\n onChange: (e)=>setNewDepartmentName(e.target.value),\n placeholder: \"New department\",\n disabled: managedTypesLoading\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1627,\n columnNumber: 27\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_4__.Button, {\n onClick: ()=>handleAddManagedType(\"department\"),\n disabled: managedTypesLoading || !newDepartmentName.trim(),\n children: \"Add\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1633,\n columnNumber: 27\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1614,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-xs text-gray-500\",\n children: \"Values assigned to users must be reassigned before deletion.\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1640,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-2\",\n children: managedTypes.departments.length === 0 ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-sm text-gray-500\",\n children: \"No departments yet.\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1645,\n columnNumber: 29\n }, this) : managedTypes.departments.map((item)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center justify-between rounded border p-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex flex-col\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: item.name\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1650,\n columnNumber: 35\n }, this),\n item.parentId && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-xs text-gray-500\",\n children: [\n \"Field: \",\n fieldNameById.get(item.parentId) || \"Unknown\"\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1652,\n columnNumber: 37\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1649,\n columnNumber: 33\n }, this),\n item.managed ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_4__.Button, {\n variant: \"ghost\",\n size: \"sm\",\n onClick: ()=>handleRenameManagedType(item.id, item.name),\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_28__[\"default\"], {\n className: \"h-4 w-4 text-blue-600\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1664,\n columnNumber: 39\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1659,\n columnNumber: 37\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_4__.Button, {\n variant: \"ghost\",\n size: \"sm\",\n onClick: ()=>handleDeleteManagedType(item.id),\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_42__[\"default\"], {\n className: \"h-4 w-4 text-red-600\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1671,\n columnNumber: 39\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1666,\n columnNumber: 37\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1658,\n columnNumber: 35\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-xs text-gray-400\",\n children: \"In use\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1675,\n columnNumber: 35\n }, this)\n ]\n }, item.name, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1648,\n columnNumber: 31\n }, this))\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1643,\n columnNumber: 25\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1613,\n columnNumber: 23\n }, this),\n allowedManagedTabs.includes(\"team\") && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_tabs__WEBPACK_IMPORTED_MODULE_10__.TabsContent, {\n value: \"team\",\n className: \"space-y-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_8__.Select, {\n value: newTeamParentId,\n onValueChange: setNewTeamParentId,\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_8__.SelectTrigger, {\n dir: \"rtl\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_8__.SelectValue, {\n placeholder: \"Select department\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1689,\n columnNumber: 31\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1688,\n columnNumber: 29\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_8__.SelectContent, {\n dir: \"rtl\",\n children: managedTypes.departments.filter((dept)=>dept.id).map((dept)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_select__WEBPACK_IMPORTED_MODULE_8__.SelectItem, {\n value: String(dept.id),\n children: dept.name\n }, dept.name, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1693,\n columnNumber: 33\n }, this))\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1691,\n columnNumber: 29\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1687,\n columnNumber: 27\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_input__WEBPACK_IMPORTED_MODULE_6__.Input, {\n value: newTeamName,\n onChange: (e)=>setNewTeamName(e.target.value),\n placeholder: \"New team\",\n disabled: managedTypesLoading\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1699,\n columnNumber: 27\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_4__.Button, {\n onClick: ()=>handleAddManagedType(\"team\"),\n disabled: managedTypesLoading || !newTeamName.trim(),\n children: \"Add\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1705,\n columnNumber: 27\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1686,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-xs text-gray-500\",\n children: \"Values assigned to users must be reassigned before deletion.\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1712,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-2\",\n children: managedTypes.teams.length === 0 ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-sm text-gray-500\",\n children: \"No teams yet.\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1717,\n columnNumber: 29\n }, this) : managedTypes.teams.map((item)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center justify-between rounded border p-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex flex-col\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: item.name\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1722,\n columnNumber: 35\n }, this),\n item.parentId && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-xs text-gray-500\",\n children: [\n \"Department: \",\n departmentNameById.get(item.parentId) || \"Unknown\"\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1724,\n columnNumber: 37\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1721,\n columnNumber: 33\n }, this),\n item.managed ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_4__.Button, {\n variant: \"ghost\",\n size: \"sm\",\n onClick: ()=>handleRenameManagedType(item.id, item.name),\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_28__[\"default\"], {\n className: \"h-4 w-4 text-blue-600\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1736,\n columnNumber: 39\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1731,\n columnNumber: 37\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_4__.Button, {\n variant: \"ghost\",\n size: \"sm\",\n onClick: ()=>handleDeleteManagedType(item.id),\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_42__[\"default\"], {\n className: \"h-4 w-4 text-red-600\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1743,\n columnNumber: 39\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1738,\n columnNumber: 37\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1730,\n columnNumber: 35\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-xs text-gray-400\",\n children: \"In use\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1747,\n columnNumber: 35\n }, this)\n ]\n }, item.name, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1720,\n columnNumber: 31\n }, this))\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1715,\n columnNumber: 25\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1685,\n columnNumber: 23\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1543,\n columnNumber: 19\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1542,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1535,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_5__.Card, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_5__.CardHeader, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_5__.CardTitle, {\n className: \"flex items-center gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_BarChart3_Building2_Clock_Eye_Globe_Home_Lock_LockOpen_MessageSquare_Pencil_PieChart_RefreshCw_RotateCcw_Trash2_UserCog_UserPlus_Users_UsersIcon_WifiOff_Zap_lucide_react__WEBPACK_IMPORTED_MODULE_40__[\"default\"], {\n className: \"h-5 w-5\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1764,\n columnNumber: 19\n }, this),\n \"ניהול כל המשתמשים\",\n changedRows.size > 0 && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-xs bg-green-100 text-green-800 px-2 py-1 rounded-full\",\n children: [\n changedRows.size,\n \" עדכונים חדשים\"\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1767,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1763,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1762,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_5__.CardContent, {\n children: loadingUsers ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-center py-4\",\n children: \"טוען משתמשים...\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1775,\n columnNumber: 19\n }, this) : renderUsersTable(globalUsers, changedRows)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1773,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1761,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1395,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1189,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_user_category_modal__WEBPACK_IMPORTED_MODULE_12__.UserCategoryModal, {\n isOpen: modalOpen,\n onClose: ()=>setModalOpen(false),\n category: selectedCategory,\n categoryName: selectedCategoryName\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1784,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_team_user_category_modal__WEBPACK_IMPORTED_MODULE_13__.TeamUserCategoryModal, {\n isOpen: teamModalOpen,\n onClose: ()=>setTeamModalOpen(false),\n category: selectedCategory,\n categoryName: selectedCategoryName,\n adminId: (user === null || user === void 0 ? void 0 : user.national_id) || \"\",\n teamName: teamName\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1791,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_department_user_category_modal__WEBPACK_IMPORTED_MODULE_18__.DepartmentUserCategoryModal, {\n isOpen: departmentModalOpen,\n onClose: ()=>setDepartmentModalOpen(false),\n category: selectedCategory,\n categoryName: selectedCategoryName,\n adminId: (user === null || user === void 0 ? void 0 : user.national_id) || \"\",\n departmentName: departmentName\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1800,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_field_user_category_modal__WEBPACK_IMPORTED_MODULE_20__.FieldUserCategoryModal, {\n isOpen: fieldModalOpen,\n onClose: ()=>setFieldModalOpen(false),\n category: selectedCategory,\n categoryName: selectedCategoryName,\n adminId: (user === null || user === void 0 ? void 0 : user.national_id) || \"\",\n fieldName: fieldName\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1809,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_user_scope_modal__WEBPACK_IMPORTED_MODULE_23__.UserScopeModal, {\n isOpen: scopeModalOpen,\n onClose: ()=>setScopeModalOpen(false),\n user: scopeUser,\n fields: managedTypes.fields,\n departments: managedTypes.departments,\n teams: managedTypes.teams,\n onSave: handleUpdateUserScope,\n isSaving: scopeSaving\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1818,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_report_on_behalf_modal__WEBPACK_IMPORTED_MODULE_22__.ReportOnBehalfModal, {\n isOpen: reportModalOpen,\n onClose: ()=>setReportModalOpen(false),\n user: selectedUserForReport,\n onReport: handleReportOnBehalf\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1829,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_5__.Card, {\n className: \"mt-8\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_5__.CardContent, {\n className: \"py-3\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-center text-xs text-gray-500\",\n children: [\n \"סביבה: \",\n process.env.NEXT_PUBLIC_HOSTNAME || \"vmx-k3s-01\" || 0,\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"br\", {}, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1841,\n columnNumber: 15\n }, this),\n \"גרסה: \",\n \"1.0.4\" || 0,\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"br\", {}, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1843,\n columnNumber: 15\n }, this),\n \"2025 COPYRIGHT TR-WEB\"\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1839,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1838,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1837,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1120,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\tom\\\\VS Code\\\\MamadApp\\\\mamad-app\\\\app\\\\admin\\\\page.tsx\",\n lineNumber: 1119,\n columnNumber: 5\n }, this);\n}\n_s(AdminPage, \"vqeQxkpWd1KXdhJpseX8L3VdTIo=\", false, function() {\n return [\n next_navigation__WEBPACK_IMPORTED_MODULE_2__.useRouter,\n _hooks_useRealTimeUpdates__WEBPACK_IMPORTED_MODULE_16__.useRealTimeUpdates,\n _hooks_useTeamRealTimeUpdates__WEBPACK_IMPORTED_MODULE_17__.useTeamRealTimeUpdates,\n _hooks_useDepartmentRealTimeUpdates__WEBPACK_IMPORTED_MODULE_19__.useDepartmentRealTimeUpdates,\n _hooks_useFieldRealTimeUpdates__WEBPACK_IMPORTED_MODULE_21__.useFieldRealTimeUpdates\n ];\n});\n_c = AdminPage;\nvar _c;\n$RefreshReg$(_c, \"AdminPage\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL2FwcC9hZG1pbi9wYWdlLnRzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFJMkM7QUFDQTtBQUMzQyxxQkFBcUI7QUFFckIsc0JBQXNCO0FBRXRCLDZFQUE2RTtBQUNWO0FBZ0JwQjtBQUNnQztBQUNsQztBQUNBO0FBRXlEO0FBQ3ZDO0FBQ2dCO0FBeUIxRDtBQUNnRjtBQUNqQztBQUNTO0FBQ2pCO0FBQ0U7QUFDQztBQUNRO0FBQ2tCO0FBQ047QUFDSjtBQUNOO0FBQ0E7QUFDWDtBQThCL0MsU0FBUzREOzs7SUFDdEIsTUFBTSxDQUFDQyxNQUFNQyxRQUFRLEdBQUc5RCwrQ0FBUUEsQ0FBYztJQUM5QyxNQUFNLENBQUMrRCxXQUFXQyxhQUFhLEdBQUdoRSwrQ0FBUUEsQ0FBQztJQUUzQyx3QkFBd0I7SUFDeEIsTUFBTSxDQUFDaUUsYUFBYUMsZUFBZSxHQUFHbEUsK0NBQVFBLENBQWU7SUFDN0QsTUFBTSxDQUFDbUUsYUFBYUMsZUFBZSxHQUFHcEUsK0NBQVFBLENBQWEsRUFBRTtJQUM3RCxNQUFNLENBQUNxRSxpQkFBaUJDLG1CQUFtQixHQUFHdEUsK0NBQVFBLENBQWdCO0lBQ3RFLE1BQU0sQ0FBQ3VFLHFCQUFxQkMsdUJBQXVCLEdBQUd4RSwrQ0FBUUEsQ0FBQztJQUUvRCxzQkFBc0I7SUFDdEIsTUFBTSxDQUFDeUUsV0FBV0MsYUFBYSxHQUFHMUUsK0NBQVFBLENBQWU7SUFDekQsTUFBTSxDQUFDMkUsV0FBV0MsYUFBYSxHQUFHNUUsK0NBQVFBLENBQWEsRUFBRTtJQUN6RCxNQUFNLENBQUM2RSxVQUFVQyxZQUFZLEdBQUc5RSwrQ0FBUUEsQ0FBUztJQUNqRCxNQUFNLENBQUMrRSxtQkFBbUJDLHFCQUFxQixHQUFHaEYsK0NBQVFBLENBQUM7SUFFM0QsNEJBQTRCO0lBQzVCLE1BQU0sQ0FBQ2lGLGlCQUFpQkMsbUJBQW1CLEdBQUdsRiwrQ0FB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bi9wYWdlLnRzeD82YWE1Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIGNsaWVudFwiXHJcbi8vZXhwb3J0IGNvbnN0IGR5bmFtaWMgPSAnZm9yY2UtZHluYW1pYydcclxuLy9leHBvcnQgY29uc3QgcmV2YWxpZGF0ZSA9IDBcclxuaW1wb3J0IHR5cGUgUmVhY3QgZnJvbSBcInJlYWN0XCJcclxuaW1wb3J0IHsgdXNlU3RhdGUsIHVzZUVmZmVjdCB9IGZyb20gXCJyZWFjdFwiXHJcbmltcG9ydCB7IHVzZVJvdXRlciB9IGZyb20gXCJuZXh0L25hdmlnYXRpb25cIlxyXG4vLyBhcHAvYWRtaW4vcGFnZS50c3hcclxuXHJcbi8vIC4uLiAob3RoZXIgaW1wb3J0cylcclxuXHJcbi8vIFVwZGF0ZWQgaW1wb3J0IHRvIGdldCBhbGwgbmVjZXNzYXJ5IHR5cGVzIGFuZCBjb25zdGFudHMgZnJvbSB0eXBlcy91c2VyLnRzXHJcbmltcG9ydCB7IHR5cGUgVXNlciwgdHlwZSBVc2VyUm9sZSwgUk9MRV9OQU1FUyB9IGZyb20gXCJAL3R5cGVzL3VzZXJcIlxyXG5cclxuLy8gLi4uIChyZXN0IG9mIHlvdXIgY29tcG9uZW50IGNvZGUpXHJcblxyXG5pbXBvcnQge1xyXG4gIEFsZXJ0RGlhbG9nLFxyXG4gIEFsZXJ0RGlhbG9nVHJpZ2dlcixcclxuICBBbGVydERpYWxvZ0NvbnRlbnQsXHJcbiAgQWxlcnREaWFsb2dIZWFkZXIsXHJcbiAgQWxlcnREaWFsb2dGb290ZXIsXHJcbiAgQWxlcnREaWFsb2dUaXRsZSxcclxuICBBbGVydERpYWxvZ0Rlc2NyaXB0aW9uLFxyXG4gIEFsZXJ0RGlhbG9nQWN0aW9uLFxyXG4gIEFsZXJ0RGlhbG9nQ2FuY2VsLFxyXG59IGZyb20gXCJAL2NvbXBvbmVudHMvdWkvYWxlcnQtZGlhbG9nXCJcclxuXHJcbmltcG9ydCB7IEJ1dHRvbiB9IGZyb20gXCJAL2NvbXBvbmVudHMvdWkvYnV0dG9uXCJcclxuaW1wb3J0IHsgQ2FyZCwgQ2FyZENvbnRlbnQsIENhcmRIZWFkZXIsIENhcmRUaXRsZSB9IGZyb20gXCJAL2NvbXBvbmVudHMvdWkvY2FyZFwiXHJcbmltcG9ydCB7IElucHV0IH0gZnJvbSBcIkAvY29tcG9uZW50cy91aS9pbnB1dFwiXHJcbmltcG9ydCB7IExhYmVsIH0gZnJvbSBcIkAvY29tcG9uZW50cy91aS9sYWJlbFwiXHJcbmltcG9ydCB7IENoZWNrYm94IH0gZnJvbSBcIkAvY29tcG9uZW50cy91aS9jaGVja2JveFwiXHJcbmltcG9ydCB7IFNlbGVjdCwgU2VsZWN0Q29udGVudCwgU2VsZWN0SXRlbSwgU2VsZWN0VHJpZ2dlciwgU2VsZWN0VmFsdWUgfSBmcm9tIFwiQC9jb21wb25lbnRzL3VpL3NlbGVjdFwiXHJcbmltcG9ydCB7IEFsZXJ0LCBBbGVydERlc2NyaXB0aW9uIH0gZnJvbSBcIkAvY29tcG9uZW50cy91aS9hbGVydFwiXHJcbmltcG9ydCB7IFRhYnMsIFRhYnNDb250ZW50LCBUYWJzTGlzdCwgVGFic1RyaWdnZXIgfSBmcm9tIFwiQC9jb21wb25lbnRzL3VpL3RhYnNcIlxyXG5pbXBvcnQge1xyXG4gIEFycm93UmlnaHQsXHJcbiAgUm90YXRlQ2N3LFxyXG4gIFVzZXJzLFxyXG4gIFVzZXJQbHVzLFxyXG4gIENsb2NrLFxyXG4gIFRyYXNoMixcclxuICBFeWUsXHJcbiAgS2V5Um91bmQsXHJcbiAgUmVmcmVzaEN3LFxyXG4gIFdpZmlPZmYsXHJcbiAgWmFwLFxyXG4gIEJhckNoYXJ0MyxcclxuICBQaWVDaGFydCxcclxuICBVc2Vyc0ljb24sXHJcbiAgR2xvYmUsXHJcbiAgQnVpbGRpbmcyLFxyXG4gIFVzZXJDb2csXHJcbiAgTWVzc2FnZVNxdWFyZSxcclxuICBMb2NrLFxyXG4gIExvY2tPcGVuLFxyXG4gIFBlbmNpbCxcclxuICBBcnJvd0xlZnQsXHJcbiAgSG9tZSxcclxufSBmcm9tIFwibHVjaWRlLXJlYWN0XCJcclxuaW1wb3J0IHsgVGFibGUsIFRhYmxlQm9keSwgVGFibGVDZWxsLCBUYWJsZUhlYWQsIFRhYmxlSGVhZGVyLCBUYWJsZVJvdyB9IGZyb20gXCJAL2NvbXBvbmVudHMvdWkvdGFibGVcIlxyXG5pbXBvcnQgeyBVc2VyQ2F0ZWdvcnlNb2RhbCB9IGZyb20gXCJAL2NvbXBvbmVudHMvdXNlci1jYXRlZ29yeS1tb2RhbFwiXHJcbmltcG9ydCB7IFRlYW1Vc2VyQ2F0ZWdvcnlNb2RhbCB9IGZyb20gXCJAL2NvbXBvbmVudHMvdGVhbS11c2VyLWNhdGVnb3J5LW1vZGFsXCJcclxuaW1wb3J0IHsgU3RhdHNQaWVDaGFydCB9IGZyb20gXCJAL2NvbXBvbmVudHMvc3RhdHMtcGllLWNoYXJ0XCJcclxuaW1wb3J0IHsgU2ltcGxlUGllQ2hhcnQgfSBmcm9tIFwiQC9jb21wb25lbnRzL3NpbXBsZS1waWUtY2hhcnRcIlxyXG5pbXBvcnQgeyB1c2VSZWFsVGltZVVwZGF0ZXMgfSBmcm9tIFwiQC9ob29rcy91c2VSZWFsVGltZVVwZGF0ZXNcIlxyXG5pbXBvcnQgeyB1c2VUZWFtUmVhbFRpbWVVcGRhdGVzIH0gZnJvbSBcIkAvaG9va3MvdXNlVGVhbVJlYWxUaW1lVXBkYXRlc1wiXHJcbmltcG9ydCB7IERlcGFydG1lbnRVc2VyQ2F0ZWdvcnlNb2RhbCB9IGZyb20gXCJAL2NvbXBvbmVudHMvZGVwYXJ0bWVudC11c2VyLWNhdGVnb3J5LW1vZGFsXCJcclxuaW1wb3J0IHsgdXNlRGVwYXJ0bWVudFJlYWxUaW1lVXBkYXRlcyB9IGZyb20gXCJAL2hvb2tzL3VzZURlcGFydG1lbnRSZWFsVGltZVVwZGF0ZXNcIlxyXG5pbXBvcnQgeyBGaWVsZFVzZXJDYXRlZ29yeU1vZGFsIH0gZnJvbSBcIkAvY29tcG9uZW50cy9maWVsZC11c2VyLWNhdGVnb3J5LW1vZGFsXCJcclxuaW1wb3J0IHsgdXNlRmllbGRSZWFsVGltZVVwZGF0ZXMgfSBmcm9tIFwiQC9ob29rcy91c2VGaWVsZFJlYWxUaW1lVXBkYXRlc1wiXHJcbmltcG9ydCB7IFJlcG9ydE9uQmVoYWxmTW9kYWwgfSBmcm9tIFwiQC9jb21wb25lbnRzL3JlcG9ydC1vbi1iZWhhbGYtbW9kYWxcIlxyXG5pbXBvcnQgeyBVc2VyU2NvcGVNb2RhbCB9IGZyb20gXCJAL2NvbXBvbmVudHMvdXNlci1zY29wZS1tb2RhbFwiXHJcblxyXG5pbnRlcmZhY2UgU3RhdHMge1xyXG4gIG5vX3JlcG9ydDogbnVtYmVyXHJcbiAgaW5fc2hlbHRlcjogbnVtYmVyXHJcbiAgbm90X2luX3NoZWx0ZXI6IG51bWJlclxyXG4gIG5vX2FsYXJtOiBudW1iZXJcclxuICBzYWZlX2FmdGVyX2V4aXQ6IG51bWJlclxyXG59XHJcblxyXG5pbnRlcmZhY2UgVXNlckRhdGEge1xyXG4gIG5hdGlvbmFsX2lkOiBzdHJpbmdcclxuICBuYW1lOiBzdHJpbmdcclxuICBpbl9zaGVsdGVyPzogc3RyaW5nXHJcbiAgbGFzdF91cGRhdGVkPzogc3RyaW5nXHJcbiAgaXNfYWRtaW46IGJvb2xlYW5cclxuICBtdXN0X2NoYW5nZV9wYXNzd29yZD86IGJvb2xlYW5cclxuICBmaWVsZD86IHN0cmluZ1xyXG4gIGRlcGFydG1lbnQ/OiBzdHJpbmdcclxuICB0ZWFtPzogc3RyaW5nXHJcbiAgbG9ja19zdGF0dXM/OiBib29sZWFuXHJcbn1cclxuXHJcbmludGVyZmFjZSBNYW5hZ2VkVHlwZU9wdGlvbiB7XHJcbiAgaWQ/OiBudW1iZXJcclxuICBuYW1lOiBzdHJpbmdcclxuICBtYW5hZ2VkOiBib29sZWFuXHJcbiAgcGFyZW50SWQ/OiBudW1iZXIgfCBudWxsXHJcbn1cclxuXHJcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIEFkbWluUGFnZSgpIHtcclxuICBjb25zdCBbdXNlciwgc2V0VXNlcl0gPSB1c2VTdGF0ZTxVc2VyIHwgbnVsbD4obnVsbClcclxuICBjb25zdCBbYWN0aXZlVGFiLCBzZXRBY3RpdmVUYWJdID0gdXNlU3RhdGUoXCJ0ZWFtXCIpXHJcblxyXG4gIC8vIEdsb2JhbCBzdGF0cyBhbmQgZGF0YVxyXG4gIGNvbnN0IFtnbG9iYWxTdGF0cywgc2V0R2xvYmFsU3RhdHNdID0gdXNlU3RhdGU8U3RhdHMgfCBudWxsPihudWxsKVxyXG4gIGNvbnN0IFtnbG9iYWxVc2Vycywgc2V0R2xvYmFsVXNlcnNdID0gdXNlU3RhdGU8VXNlckRhdGFbXT4oW10pXHJcbiAgY29uc3QgW2dsb2JhbExhc3RSZXNldCwgc2V0R2xvYmFsTGFzdFJlc2V0XSA9IHVzZVN0YXRlPHN0cmluZyB8IG51bGw+KG51bGwpXHJcbiAgY29uc3QgW2dsb2JhbFJlc2V0Q29vbGRvd24sIHNldEdsb2JhbFJlc2V0Q29vbGRvd25dID0gdXNlU3RhdGUoMClcclxuXHJcbiAgLy8gVGVhbSBzdGF0cyBhbmQgZGF0YVxyXG4gIGNvbnN0IFt0ZWFtU3RhdHMsIHNldFRlYW1TdGF0c10gPSB1c2VTdGF0ZTxTdGF0cyB8IG51bGw+KG51bGwpXHJcbiAgY29uc3QgW3RlYW1Vc2Vycywgc2V0VGVhbVVzZXJzXSA9IHVzZVN0YXRlPFVzZXJEYXRhW10+KFtdKVxyXG4gIGNvbnN0IFt0ZWFtTmFtZSwgc2V0VGVhbU5hbWVdID0gdXNlU3RhdGU8c3RyaW5nPihcIlwiKVxyXG4gIGNvbnN0IFt0ZWFtUmVzZXRDb29sZG93biwgc2V0VGVhbVJlc2V0Q29vbGRvd25dID0gdXNlU3RhdGUoMClcclxuXHJcbiAgLy8gRGVwYXJ0bWVudCBzdGF0cyBhbmQgZGF0YVxyXG4gIGNvbnN0IFtkZXBhcnRtZW50U3RhdHMsIHNldERlcGFydG1lbnRTdGF0c10gPSB1c2VTdGF0ZTxTdGF0cyB8IG51bGw+KG51bGwpXHJcbiAgY29uc3QgW2RlcGFydG1lbnRVc2Vycywgc2V0RGVwYXJ0bWVudFVzZXJzXSA9IHVzZVN0YXRlPFVzZXJEYXRhW10+KFtdKVxyXG4gIGNvbnN0IFtkZXBhcnRtZW50TmFtZSwgc2V0RGVwYXJ0bWVudE5hbWVdID0gdXNlU3RhdGU8c3RyaW5nPihcIlwiKVxyXG4gIGNvbnN0IFtkZXBhcnRtZW50UmVzZXRDb29sZG93biwgc2V0RGVwYXJ0bWVudFJlc2V0Q29vbGRvd25dID0gdXNlU3RhdGUoMClcclxuICBjb25zdCBbZGVwYXJ0bWVudENoYW5nZWRSb3dzLCBzZXREZXBhcnRtZW50Q2hhbmdlZFJvd3NdID0gdXNlU3RhdGU8U2V0PHN0cmluZz4+KG5ldyBTZXQoKSlcclxuICBjb25zdCBbZGVwYXJ0bWVudE1vZGFsT3Blbiwgc2V0RGVwYXJ0bWVudE1vZGFsT3Blbl0gPSB1c2VTdGF0ZShmYWxzZSlcclxuXHJcbiAgLy8gRmllbGQgc3RhdHMgYW5kIGRhdGFcclxuICBjb25zdCBbZmllbGRTdGF0cywgc2V0RmllbGRTdGF0c10gPSB1c2VTdGF0ZTxTdGF0cyB8IG51bGw+KG51bGwpXHJcbiAgY29uc3QgW2ZpZWxkVXNlcnMsIHNldEZpZWxkVXNlcnNdID0gdXNlU3RhdGU8VXNlckRhdGFbXT4oW10pXHJcbiAgY29uc3QgW2ZpZWxkTmFtZSwgc2V0RmllbGROYW1lXSA9IHVzZVN0YXRlPHN0cmluZz4oXCJcIilcclxuICBjb25zdCBbZmllbGRSZXNldENvb2xkb3duLCBzZXRGaWVsZFJlc2V0Q29vbGRvd25dID0gdXNlU3RhdGUoMClcclxuICBjb25zdCBbZmllbGRDaGFuZ2VkUm93cywgc2V0RmllbGRDaGFuZ2VkUm93c10gPSB1c2VTdGF0ZTxTZXQ8c3RyaW5nPj4obmV3IFNldCgpKVxyXG4gIGNvbnN0IFtmaWVsZE1vZGFsT3Blbiwgc2V0RmllbGRNb2RhbE9wZW5dID0gdXNlU3RhdGUoZmFsc2UpXHJcblxyXG4gIGNvbnN0IFtuZXdVc2VyLCBzZXROZXdVc2VyXSA9IHVzZVN0YXRlKHtcclxuICAgIG5hbWU6IFwiXCIsXHJcbiAgICBpc0FkbWluOiBmYWxzZSxcclxuICAgIGZpZWxkOiBcIlwiLFxyXG4gICAgZGVwYXJ0bWVudDogXCJcIixcclxuICAgIHRlYW06IFwiXCIsXHJcbiAgICByb2xlOiBcIlwiLFxyXG4gIH0pXHJcbiAgY29uc3QgW21hbmFnZWRUeXBlcywgc2V0TWFuYWdlZFR5cGVzXSA9IHVzZVN0YXRlPHtcclxuICAgIGZpZWxkczogTWFuYWdlZFR5cGVPcHRpb25bXVxyXG4gICAgZGVwYXJ0bWVudHM6IE1hbmFnZWRUeXBlT3B0aW9uW11cclxuICAgIHRlYW1zOiBNYW5hZ2VkVHlwZU9wdGlvbltdXHJcbiAgfT4oe1xyXG4gICAgZmllbGRzOiBbXSxcclxuICAgIGRlcGFydG1lbnRzOiBbXSxcclxuICAgIHRlYW1zOiBbXSxcclxuICB9KVxyXG4gIGNvbnN0IFttYW5hZ2VkVHlwZXNMb2FkaW5nLCBzZXRNYW5hZ2VkVHlwZXNMb2FkaW5nXSA9IHVzZVN0YXRlKGZhbHNlKVxyXG4gIGNvbnN0IFttYW5hZ2VkVHlwZVRhYiwgc2V0TWFuYWdlZFR5cGVUYWJdID0gdXNlU3RhdGU8XCJmaWVsZFwiIHwgXCJkZXBhcnRtZW50XCIgfCBcInRlYW1cIj4oXCJmaWVsZFwiKVxyXG4gIGNvbnN0IFtuZXdGaWVsZE5hbWUsIHNldE5ld0ZpZWxkTmFtZV0gPSB1c2VTdGF0ZShcIlwiKVxyXG4gIGNvbnN0IFtuZXdEZXBhcnRtZW50TmFtZSwgc2V0TmV3RGVwYXJ0bWVudE5hbWVdID0gdXNlU3RhdGUoXCJcIilcclxuICBjb25zdCBbbmV3VGVhbU5hbWUsIHNldE5ld1RlYW1OYW1lXSA9IHVzZVN0YXRlKFwiXCIpXHJcbiAgY29uc3QgW25ld0RlcGFydG1lbnRQYXJlbnRJZCwgc2V0TmV3RGVwYXJ0bWVudFBhcmVudElkXSA9IHVzZVN0YXRlPHN0cmluZz4oXCJcIilcclxuICBjb25zdCBbbmV3VGVhbVBhcmVudElkLCBzZXROZXdUZWFtUGFyZW50SWRdID0gdXNlU3RhdGU8c3RyaW5nPihcIlwiKVxyXG4gIGNvbnN0IFtzY29wZU1vZGFsT3Blbiwgc2V0U2NvcGVNb2RhbE9wZW5dID0gdXNlU3RhdGUoZmFsc2UpXHJcbiAgY29uc3QgW3Njb3BlVXNlciwgc2V0U2NvcGVVc2VyXSA9IHVzZVN0YXRlPFVzZXJEYXRhIHwgbnVsbD4obnVsbClcclxuICBjb25zdCBbc2NvcGVTYXZpbmcsIHNldFNjb3BlU2F2aW5nXSA9IHVzZVN0YXRlKGZhbHNlKVxyXG4gIGNvbnN0IFttZXNzYWdlLCBzZXRNZXNzYWdlXSA9IHVzZVN0YXRlKFwiXCIpXHJcbiAgY29uc3QgW2xvYWRpbmdVc2Vycywgc2V0TG9hZGluZ1VzZXJzXSA9IHVzZVN0YXRlKGZhbHNlKVxyXG4gIGNvbnN0IFttb2RhbE9wZW4sIHNldE1vZGFsT3Blbl0gPSB1c2VTdGF0ZShmYWxzZSlcclxuICBjb25zdCBbdGVhbU1vZGFsT3Blbiwgc2V0VGVhbU1vZGFsT3Blbl0gPSB1c2VTdGF0ZShmYWxzZSlcclxuICBjb25zdCBbc2VsZWN0ZWRDYXRlZ29yeSwgc2V0U2VsZWN0ZWRDYXRlZ29yeV0gPSB1c2VTdGF0ZShcIlwiKVxyXG4gIGNvbnN0IFtzZWxlY3RlZENhdGVnb3J5TmFtZSwgc2V0U2VsZWN0ZWRDYXRlZ29yeU5hbWVdID0gdXNlU3RhdGUoXCJcIilcclxuICBjb25zdCBbaXNSZWZyZXNoaW5nLCBzZXRJc1JlZnJlc2hpbmddID0gdXNlU3RhdGUoZmFsc2UpXHJcbiAgY29uc3QgW2NoYW5nZWRSb3dzLCBzZXRDaGFuZ2VkUm93c10gPSB1c2VTdGF0ZTxTZXQ8c3RyaW5nPj4obmV3IFNldCgpKVxyXG4gIGNvbnN0IFt0ZWFtQ2hhbmdlZFJvd3MsIHNldFRlYW1DaGFuZ2VkUm93c10gPSB1c2VTdGF0ZTxTZXQ8c3RyaW5nPj4obmV3IFNldCgpKVxyXG4gIGNvbnN0IFt2aWV3TW9kZSwgc2V0Vmlld01vZGVdID0gdXNlU3RhdGU8XCJsaXN0XCIgfCBcInBpZVwiPihcImxpc3RcIilcclxuICBjb25zdCBbZGVidWdNb2RlLCBzZXREZWJ1Z01vZGVdID0gdXNlU3RhdGUoZmFsc2UpXHJcbiAgY29uc3QgW3VzZVNpbXBsZUNoYXJ0LCBzZXRVc2VTaW1wbGVDaGFydF0gPSB1c2VTdGF0ZShmYWxzZSlcclxuICBjb25zdCByb3V0ZXIgPSB1c2VSb3V0ZXIoKVxyXG5cclxuICBjb25zdCBbcmVwb3J0TW9kYWxPcGVuLCBzZXRSZXBvcnRNb2RhbE9wZW5dID0gdXNlU3RhdGUoZmFsc2UpXHJcbiAgY29uc3QgW3NlbGVjdGVkVXNlckZvclJlcG9ydCwgc2V0U2VsZWN0ZWRVc2VyRm9yUmVwb3J0XSA9IHVzZVN0YXRlPFVzZXJEYXRhIHwgbnVsbD4obnVsbClcclxuXHJcbiAgLy8gR2xvYmFsIHJlYWwtdGltZSB1cGRhdGVzXHJcbiAgY29uc3QgeyBpc0Nvbm5lY3RlZDogZ2xvYmFsQ29ubmVjdGVkLCByZWZldGNoOiByZWZldGNoR2xvYmFsIH0gPSB1c2VSZWFsVGltZVVwZGF0ZXMoKGRhdGEpID0+IHtcclxuICAgIGlmIChkYXRhLnN0YXRzKSB7XHJcbiAgICAgIHNldEdsb2JhbFN0YXRzKGRhdGEuc3RhdHMpXHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGRhdGEudXNlcnMpIHtcclxuICAgICAgY29uc3QgbmV3Q2hhbmdlZFJvd3MgPSBuZXcgU2V0PHN0cmluZz4oKVxyXG4gICAgICBkYXRhLnVzZXJzLmZvckVhY2goKG5ld1VzZXI6IFVzZXJEYXRhKSA9PiB7XHJcbiAgICAgICAgY29uc3QgZXhpc3RpbmdVc2VyID0gZ2xvYmFsVXNlcnMuZmluZCgodSkgPT4gdS5uYXRpb25hbF9pZCA9PT0gbmV3VXNlci5uYXRpb25hbF9pZClcclxuICAgICAgICBpZiAoXHJcbiAgICAgICAgICBleGlzdGluZ1VzZXIgJiZcclxuICAgICAgICAgIChleGlzdGluZ1VzZXIuaW5fc2hlbHRlciAhPT0gbmV3VXNlci5pbl9zaGVsdGVyIHx8IGV4aXN0aW5nVXNlci5sYXN0X3VwZGF0ZWQgIT09IG5ld1VzZXIubGFzdF91cGRhdGVkKVxyXG4gICAgICAgICkge1xyXG4gICAgICAgICAgbmV3Q2hhbmdlZFJvd3MuYWRkKG5ld1VzZXIubmF0aW9uYWxfaWQpXHJcbiAgICAgICAgfVxyXG4gICAgICB9KVxyXG5cclxuICAgICAgc2V0R2xvYmFsVXNlcnMoZGF0YS51c2VycylcclxuICAgICAgc2V0Q2hhbmdlZFJvd3MobmV3Q2hhbmdlZFJvd3MpXHJcblxyXG4gICAgICBpZiAobmV3Q2hhbmdlZFJvd3Muc2l6ZSA+IDApIHtcclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHNldENoYW5nZWRSb3dzKG5ldyBTZXQoKSksIDMwMDApXHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpZiAoZGF0YS5sYXN0UmVzZXQ/Lmxhc3RSZXNldCkge1xyXG4gICAgICBzZXRHbG9iYWxMYXN0UmVzZXQoZGF0YS5sYXN0UmVzZXQubGFzdFJlc2V0KVxyXG4gICAgICBpZiAoZGF0YS5sYXN0UmVzZXQudGltZXN0YW1wKSB7XHJcbiAgICAgICAgY29uc3QgcmVzZXRUaW1lID0gbmV3IERhdGUoZGF0YS5sYXN0UmVzZXQudGltZXN0YW1wKS5nZXRUaW1lKClcclxuICAgICAgICBjb25zdCBub3cgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKVxyXG4gICAgICAgIGNvbnN0IGNvb2xkb3duTXMgPSAyICogNjAgLy8gMiBtaW51dGVzXHJcbiAgICAgICAgY29uc3QgcmVtYWluaW5nID0gTWF0aC5tYXgoMCwgY29vbGRvd25NcyAtIChub3cgLSByZXNldFRpbWUpKVxyXG4gICAgICAgIHNldEdsb2JhbFJlc2V0Q29vbGRvd24oTWF0aC5jZWlsKHJlbWFpbmluZyAvIDEwMDApKVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfSlcclxuXHJcbiAgLy8gVGVhbSByZWFsLXRpbWUgdXBkYXRlc1xyXG4gIGNvbnN0IHsgaXNDb25uZWN0ZWQ6IHRlYW1Db25uZWN0ZWQsIHJlZmV0Y2g6IHJlZmV0Y2hUZWFtIH0gPSB1c2VUZWFtUmVhbFRpbWVVcGRhdGVzKFxyXG4gICAgdXNlcj8ubmF0aW9uYWxfaWQgfHwgXCJcIixcclxuICAgIChkYXRhKSA9PiB7XHJcbiAgICAgIGlmIChkYXRhLnN0YXRzKSB7XHJcbiAgICAgICAgc2V0VGVhbVN0YXRzKGRhdGEuc3RhdHMpXHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChkYXRhLnVzZXJzKSB7XHJcbiAgICAgICAgY29uc3QgbmV3Q2hhbmdlZFJvd3MgPSBuZXcgU2V0PHN0cmluZz4oKVxyXG4gICAgICAgIGRhdGEudXNlcnMuZm9yRWFjaCgobmV3VXNlcjogVXNlckRhdGEpID0+IHtcclxuICAgICAgICAgIGNvbnN0IGV4aXN0aW5nVXNlciA9IHRlYW1Vc2Vycy5maW5kKCh1KSA9PiB1Lm5hdGlvbmFsX2lkID09PSBuZXdVc2VyLm5hdGlvbmFsX2lkKVxyXG4gICAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICBleGlzdGluZ1VzZXIgJiZcclxuICAgICAgICAgICAgKGV4aXN0aW5nVXNlci5pbl9zaGVsdGVyICE9PSBuZXdVc2VyLmluX3NoZWx0ZXIgfHwgZXhpc3RpbmdVc2VyLmxhc3RfdXBkYXRlZCAhPT0gbmV3VXNlci5sYXN0X3VwZGF0ZWQpXHJcbiAgICAgICAgICApIHtcclxuICAgICAgICAgICAgbmV3Q2hhbmdlZFJvd3MuYWRkKG5ld1VzZXIubmF0aW9uYWxfaWQpXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSlcclxuXHJcbiAgICAgICAgc2V0VGVhbVVzZXJzKGRhdGEudXNlcnMpXHJcbiAgICAgICAgc2V0VGVhbUNoYW5nZWRSb3dzKG5ld0NoYW5nZWRSb3dzKVxyXG5cclxuICAgICAgICBpZiAobmV3Q2hhbmdlZFJvd3Muc2l6ZSA+IDApIHtcclxuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gc2V0VGVhbUNoYW5nZWRSb3dzKG5ldyBTZXQoKSksIDMwMDApXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoZGF0YS50ZWFtKSB7XHJcbiAgICAgICAgc2V0VGVhbU5hbWUoZGF0YS50ZWFtKVxyXG4gICAgICB9XHJcbiAgICB9LFxyXG4gIClcclxuXHJcbiAgLy8gRGVwYXJ0bWVudCByZWFsLXRpbWUgdXBkYXRlc1xyXG4gIGNvbnN0IHsgaXNDb25uZWN0ZWQ6IGRlcGFydG1lbnRDb25uZWN0ZWQsIHJlZmV0Y2g6IHJlZmV0Y2hEZXBhcnRtZW50IH0gPSB1c2VEZXBhcnRtZW50UmVhbFRpbWVVcGRhdGVzKFxyXG4gICAgdXNlcj8ubmF0aW9uYWxfaWQgfHwgXCJcIixcclxuICAgIChkYXRhKSA9PiB7XHJcbiAgICAgIGlmIChkYXRhLnN0YXRzKSB7XHJcbiAgICAgICAgc2V0RGVwYXJ0bWVudFN0YXRzKGRhdGEuc3RhdHMpXHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChkYXRhLnVzZXJzKSB7XHJcbiAgICAgICAgY29uc3QgbmV3Q2hhbmdlZFJvd3MgPSBuZXcgU2V0PHN0cmluZz4oKVxyXG4gICAgICAgIGRhdGEudXNlcnMuZm9yRWFjaCgobmV3VXNlcjogVXNlckRhdGEpID0+IHtcclxuICAgICAgICAgIGNvbnN0IGV4aXN0aW5nVXNlciA9IGRlcGFydG1lbnRVc2Vycy5maW5kKCh1KSA9PiB1Lm5hdGlvbmFsX2lkID09PSBuZXdVc2VyLm5hdGlvbmFsX2lkKVxyXG4gICAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICBleGlzdGluZ1VzZXIgJiZcclxuICAgICAgICAgICAgKGV4aXN0aW5nVXNlci5pbl9zaGVsdGVyICE9PSBuZXdVc2VyLmluX3NoZWx0ZXIgfHwgZXhpc3RpbmdVc2VyLmxhc3RfdXBkYXRlZCAhPT0gbmV3VXNlci5sYXN0X3VwZGF0ZWQpXHJcbiAgICAgICAgICApIHtcclxuICAgICAgICAgICAgbmV3Q2hhbmdlZFJvd3MuYWRkKG5ld1VzZXIubmF0aW9uYWxfaWQpXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSlcclxuXHJcbiAgICAgICAgc2V0RGVwYXJ0bWVudFVzZXJzKGRhdGEudXNlcnMpXHJcbiAgICAgICAgc2V0RGVwYXJ0bWVudENoYW5nZWRSb3dzKG5ld0NoYW5nZWRSb3dzKVxyXG5cclxuICAgICAgICBpZiAobmV3Q2hhbmdlZFJvd3Muc2l6ZSA+IDApIHtcclxuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gc2V0RGVwYXJ0bWVudENoYW5nZWRSb3dzKG5ldyBTZXQoKSksIDMwMDApXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoZGF0YS5kZXBhcnRtZW50KSB7XHJcbiAgICAgICAgc2V0RGVwYXJ0bWVudE5hbWUoZGF0YS5kZXBhcnRtZW50KVxyXG4gICAgICB9XHJcbiAgICB9LFxyXG4gIClcclxuXHJcbiAgLy8gRmllbGQgcmVhbC10aW1lIHVwZGF0ZXNcclxuICBjb25zdCB7IGlzQ29ubmVjdGVkOiBmaWVsZENvbm5lY3RlZCwgcmVmZXRjaDogcmVmZXRjaEZpZWxkIH0gPSB1c2VGaWVsZFJlYWxUaW1lVXBkYXRlcyhcclxuICAgIHVzZXI/Lm5hdGlvbmFsX2lkIHx8IFwiXCIsXHJcbiAgICAoZGF0YSkgPT4ge1xyXG4gICAgICBpZiAoZGF0YS5zdGF0cykge1xyXG4gICAgICAgIHNldEZpZWxkU3RhdHMoZGF0YS5zdGF0cylcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKGRhdGEudXNlcnMpIHtcclxuICAgICAgICBjb25zdCBuZXdDaGFuZ2VkUm93cyA9IG5ldyBTZXQ8c3RyaW5nPigpXHJcbiAgICAgICAgZGF0YS51c2Vycy5mb3JFYWNoKChuZXdVc2VyOiBVc2VyRGF0YSkgPT4ge1xyXG4gICAgICAgICAgY29uc3QgZXhpc3RpbmdVc2VyID0gZmllbGRVc2Vycy5maW5kKCh1KSA9PiB1Lm5hdGlvbmFsX2lkID09PSBuZXdVc2VyLm5hdGlvbmFsX2lkKVxyXG4gICAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICBleGlzdGluZ1VzZXIgJiZcclxuICAgICAgICAgICAgKGV4aXN0aW5nVXNlci5pbl9zaGVsdGVyICE9PSBuZXdVc2VyLmluX3NoZWx0ZXIgfHwgZXhpc3RpbmdVc2VyLmxhc3RfdXBkYXRlZCAhPT0gbmV3VXNlci5sYXN0X3VwZGF0ZWQpXHJcbiAgICAgICAgICApIHtcclxuICAgICAgICAgICAgbmV3Q2hhbmdlZFJvd3MuYWRkKG5ld1VzZXIubmF0aW9uYWxfaWQpXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSlcclxuXHJcbiAgICAgICAgc2V0RmllbGRVc2VycyhkYXRhLnVzZXJzKVxyXG4gICAgICAgIHNldEZpZWxkQ2hhbmdlZFJvd3MobmV3Q2hhbmdlZFJvd3MpXHJcblxyXG4gICAgICAgIGlmIChuZXdDaGFuZ2VkUm93cy5zaXplID4gMCkge1xyXG4gICAgICAgICAgc2V0VGltZW91dCgoKSA9PiBzZXRGaWVsZENoYW5nZWRSb3dzKG5ldyBTZXQoKSksIDMwMDApXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoZGF0YS5maWVsZCkge1xyXG4gICAgICAgIHNldEZpZWxkTmFtZShkYXRhLmZpZWxkKVxyXG4gICAgICB9XHJcbiAgICB9LFxyXG4gIClcclxuXHJcbiAgdXNlRWZmZWN0KCgpID0+IHtcclxuICAgIGNvbnN0IHVzZXJEYXRhID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJ1c2VyXCIpXHJcbiAgICBpZiAoIXVzZXJEYXRhKSB7XHJcbiAgICAgIHJvdXRlci5wdXNoKFwiL2xvZ2luXCIpXHJcbiAgICAgIHJldHVyblxyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHBhcnNlZFVzZXIgPSBKU09OLnBhcnNlKHVzZXJEYXRhKVxyXG4gICAgICBpZiAoIVtcImdsb2JhbF9hZG1pblwiLCBcImZpZWxkX2FkbWluXCIsIFwiZGVwYXJ0bWVudF9hZG1pblwiLCBcInRlYW1fYWRtaW5cIl0uaW5jbHVkZXMocGFyc2VkVXNlci5yb2xlKSkge1xyXG4gICAgICAgIHJvdXRlci5wdXNoKFwiL2Rhc2hib2FyZFwiKVxyXG4gICAgICAgIHJldHVyblxyXG4gICAgICB9XHJcblxyXG5cclxuICAgIHNldFVzZXIocGFyc2VkVXNlcilcclxuICB9LCBbcm91dGVyXSlcclxuXHJcbiAgY29uc3QgZmV0Y2hNYW5hZ2VkVHlwZXMgPSBhc3luYyAoKSA9PiB7XHJcbiAgICBzZXRNYW5hZ2VkVHlwZXNMb2FkaW5nKHRydWUpXHJcbiAgICB0cnkge1xyXG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKGAvYXBpL2FkbWluL21hbmFnZWQtdHlwZXM/YWRtaW5JZD0ke2VuY29kZVVSSUNvbXBvbmVudCh1c2VyPy5uYXRpb25hbF9pZCB8fCBcIlwiKX1gKVxyXG4gICAgICBjb25zdCBkYXRhID0gYXdhaXQgcmVzcG9uc2UuanNvbigpXHJcbiAgICAgIGlmIChyZXNwb25zZS5vaykge1xyXG4gICAgICAgIHNldE1hbmFnZWRUeXBlcyh7XHJcbiAgICAgICAgICBmaWVsZHM6IGRhdGEuZmllbGRzIHx8IFtdLFxyXG4gICAgICAgICAgZGVwYXJ0bWVudHM6IGRhdGEuZGVwYXJ0bWVudHMgfHwgW10sXHJcbiAgICAgICAgICB0ZWFtczogZGF0YS50ZWFtcyB8fCBbXSxcclxuICAgICAgICB9KVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHNldE1lc3NhZ2UoZGF0YS5lcnJvciB8fCBcIkZhaWxlZCB0byBsb2FkIG1hbmFnZWQgdHlwZXMuXCIpXHJcbiAgICAgIH1cclxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoXCJNYW5hZ2VkIHR5cGVzIGZldGNoIGVycm9yOlwiLCBlcnJvcilcclxuICAgICAgc2V0TWVzc2FnZShcIkZhaWxlZCB0byBsb2FkIG1hbmFnZWQgdHlwZXMuXCIpXHJcbiAgICB9IGZpbmFsbHkge1xyXG4gICAgICBzZXRNYW5hZ2VkVHlwZXNMb2FkaW5nKGZhbHNlKVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdXNlRWZmZWN0KCgpID0+IHtcclxuICAgIGlmICh1c2VyPy5uYXRpb25hbF9pZCkge1xyXG4gICAgICBmZXRjaE1hbmFnZWRUeXBlcygpXHJcbiAgICB9XHJcbiAgfSwgW3VzZXI/Lm5hdGlvbmFsX2lkXSlcclxuXHJcbiAgdXNlRWZmZWN0KCgpID0+IHtcclxuICAgIGlmICghbmV3RGVwYXJ0bWVudFBhcmVudElkICYmIG1hbmFnZWRUeXBlcy5maWVsZHMubGVuZ3RoID09PSAxICYmIG1hbmFnZWRUeXBlcy5maWVsZHNbMF0uaWQpIHtcclxuICAgICAgc2V0TmV3RGVwYXJ0bWVudFBhcmVudElkKFN0cmluZyhtYW5hZ2VkVHlwZXMuZmllbGRzWzBdLmlkKSlcclxuICAgIH1cclxuICAgIGlmICghbmV3VGVhbVBhcmVudElkICYmIG1hbmFnZWRUeXBlcy5kZXBhcnRtZW50cy5sZW5ndGggPT09IDEgJiYgbWFuYWdlZFR5cGVzLmRlcGFydG1lbnRzWzBdLmlkKSB7XHJcbiAgICAgIHNldE5ld1RlYW1QYXJlbnRJZChTdHJpbmcobWFuYWdlZFR5cGVzLmRlcGFydG1lbnRzWzBdLmlkKSlcclxuICAgIH1cclxuICB9LCBbbWFuYWdlZFR5cGVzLCBuZXdEZXBhcnRtZW50UGFyZW50SWQsIG5ld1RlYW1QYXJlbnRJZF0pXHJcblxyXG4gIHVzZUVmZmVjdCgoKSA9PiB7XHJcbiAgICBpZiAoZ2xvYmFsUmVzZXRDb29sZG93biA+IDApIHtcclxuICAgICAgY29uc3QgdGltZXIgPSBzZXRUaW1lb3V0KCgpID0+IHNldEdsb2JhbFJlc2V0Q29vbGRvd24oZ2xvYmFsUmVzZXRDb29sZG93biAtIDEpLCAxMDAwKVxyXG4gICAgICByZXR1cm4gKCkgPT4gY2xlYXJUaW1lb3V0KHRpbWVyKVxyXG4gICAgfVxyXG4gIH0sIFtnbG9iYWxSZXNldENvb2xkb3duXSlcclxuXHJcbiAgdXNlRWZmZWN0KCgpID0+IHtcclxuICAgIGlmICh0ZWFtUmVzZXRDb29sZG93biA+IDApIHtcclxuICAgICAgY29uc3QgdGltZXIgPSBzZXRUaW1lb3V0KCgpID0+IHNldFRlYW1SZXNldENvb2xkb3duKHRlYW1SZXNldENvb2xkb3duIC0gMSksIDEwMDApXHJcbiAgICAgIHJldHVybiAoKSA9PiBjbGVhclRpbWVvdXQodGltZXIpXHJcbiAgICB9XHJcbiAgfSwgW3RlYW1SZXNldENvb2xkb3duXSlcclxuXHJcbiAgdXNlRWZmZWN0KCgpID0+IHtcclxuICAgIGlmIChkZXBhcnRtZW50UmVzZXRDb29sZG93biA+IDApIHtcclxuICAgICAgY29uc3QgdGltZXIgPSBzZXRUaW1lb3V0KCgpID0+IHNldERlcGFydG1lbnRSZXNldENvb2xkb3duKGRlcGFydG1lbnRSZXNldENvb2xkb3duIC0gMSksIDEwMDApXHJcbiAgICAgIHJldHVybiAoKSA9PiBjbGVhclRpbWVvdXQodGltZXIpXHJcbiAgICB9XHJcbiAgfSwgW2RlcGFydG1lbnRSZXNldENvb2xkb3duXSlcclxuXHJcbiAgdXNlRWZmZWN0KCgpID0+IHtcclxuICAgIGlmIChmaWVsZFJlc2V0Q29vbGRvd24gPiAwKSB7XHJcbiAgICAgIGNvbnN0IHRpbWVyID0gc2V0VGltZW91dCgoKSA9PiBzZXRGaWVsZFJlc2V0Q29vbGRvd24oZmllbGRSZXNldENvb2xkb3duIC0gMSksIDEwMDApXHJcbiAgICAgIHJldHVybiAoKSA9PiBjbGVhclRpbWVvdXQodGltZXIpXHJcbiAgICB9XHJcbiAgfSwgW2ZpZWxkUmVzZXRDb29sZG93bl0pXHJcblxyXG4gIGNvbnN0IGhhbmRsZUdsb2JhbFJlc2V0QWxsID0gYXN5bmMgKCkgPT4ge1xyXG4gICAgaWYgKGdsb2JhbFJlc2V0Q29vbGRvd24gPiAwKSByZXR1cm5cclxuXHJcbiAgICB0cnkge1xyXG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKFwiL2FwaS9hZG1pbi9yZXNldC1hbGxcIiwge1xyXG4gICAgICAgIG1ldGhvZDogXCJQT1NUXCIsXHJcbiAgICAgICAgaGVhZGVyczogeyBcIkNvbnRlbnQtVHlwZVwiOiBcImFwcGxpY2F0aW9uL2pzb25cIiB9LFxyXG4gICAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHsgYWRtaW5JZDogdXNlcj8ubmF0aW9uYWxfaWQgfSksXHJcbiAgICAgIH0pXHJcblxyXG4gICAgICBjb25zdCBkYXRhID0gYXdhaXQgcmVzcG9uc2UuanNvbigpXHJcblxyXG4gICAgICBpZiAocmVzcG9uc2Uub2spIHtcclxuICAgICAgICBzZXRNZXNzYWdlKGRhdGEubWVzc2FnZSB8fCBcIteb15wg15TXodeY15jXldeh15nXnSDXkNeV16TXodeVINeR15TXptec15fXlFwiKVxyXG4gICAgICAgIHNldEdsb2JhbFJlc2V0Q29vbGRvd24oMzApIC8vIDIgbWludXRlc1xyXG4gICAgICAgIHNldEdsb2JhbExhc3RSZXNldChgJHt1c2VyPy5uYW1lfSAtICR7bmV3IERhdGUoKS50b0xvY2FsZVN0cmluZyhcImhlLUlMXCIpfWApXHJcbiAgICAgICAgcmVmZXRjaEdsb2JhbCgpXHJcbiAgICAgICAgcmVmZXRjaFRlYW0oKSAvLyBBbHNvIHJlZnJlc2ggdGVhbSBkYXRhXHJcbiAgICAgICAgcmVmZXRjaERlcGFydG1lbnQoKVxyXG4gICAgICAgIHJlZmV0Y2hGaWVsZCgpXHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAvLyBIYW5kbGUgY29vbGRvd24gZXJyb3Igc3BlY2lmaWNhbGx5XHJcbiAgICAgICAgaWYgKHJlc3BvbnNlLnN0YXR1cyA9PT0gNDI5ICYmIGRhdGEucmVtYWluaW5nU2Vjb25kcykge1xyXG4gICAgICAgICAgc2V0R2xvYmFsUmVzZXRDb29sZG93bihkYXRhLnJlbWFpbmluZ1NlY29uZHMpXHJcbiAgICAgICAgICBzZXRNZXNzYWdlKGDXmdepINec15TXnteq15nXnyAke2RhdGEucmVtYWluaW5nU2Vjb25kc30g16nXoNeZ15XXqiDXnNek16DXmSDXkNeZ16TXldehINeg15XXodejYClcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHNldE1lc3NhZ2UoZGF0YS5lcnJvciB8fCBcItep15LXmdeQ15Qg15HXkNeZ16TXldehINeU16HXmNeY15XXodeZ151cIilcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgfSBjYXRjaCAoZXJyKSB7XHJcbiAgICAgIHNldE1lc3NhZ2UoXCLXqdeS15nXkNeUINeR15DXmdek15XXoSDXlNeh15jXmNeV16HXmdedXCIpXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjb25zdCBoYW5kbGVUZWFtUmVzZXQgPSBhc3luYyAoKSA9PiB7XHJcbiAgICBpZiAodGVhbVJlc2V0Q29vbGRvd24gPiAwKSByZXR1cm5cclxuXHJcbiAgICB0cnkge1xyXG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKFwiL2FwaS9hZG1pbi90ZWFtLXJlc2V0XCIsIHtcclxuICAgICAgICBtZXRob2Q6IFwiUE9TVFwiLFxyXG4gICAgICAgIGhlYWRlcnM6IHsgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIgfSxcclxuICAgICAgICBib2R5OiBKU09OLnN0cmluZ2lmeSh7IGFkbWluSWQ6IHVzZXI/Lm5hdGlvbmFsX2lkIH0pLFxyXG4gICAgICB9KVxyXG5cclxuICAgICAgY29uc3QgZGF0YSA9IGF3YWl0IHJlc3BvbnNlLmpzb24oKVxyXG5cclxuICAgICAgaWYgKHJlc3BvbnNlLm9rKSB7XHJcbiAgICAgICAgc2V0TWVzc2FnZShkYXRhLm1lc3NhZ2UgfHwgYNeb15wg15TXodeY15jXldeh15nXnSDXqdecINem15XXldeqICR7ZGF0YS50ZWFtfSDXkNeV16TXodeVINeR15TXptec15fXlGApXHJcbiAgICAgICAgc2V0VGVhbVJlc2V0Q29vbGRvd24oNjApIC8vIDEgbWludXRlXHJcbiAgICAgICAgcmVmZXRjaFRlYW0oKVxyXG4gICAgICAgIHJlZmV0Y2hHbG9iYWwoKSAvLyBBbHNvIHJlZnJlc2ggZ2xvYmFsIGRhdGFcclxuICAgICAgICByZWZldGNoRGVwYXJ0bWVudCgpXHJcbiAgICAgICAgcmVmZXRjaEZpZWxkKClcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGlmIChyZXNwb25zZS5zdGF0dXMgPT09IDQyOSAmJiBkYXRhLnJlbWFpbmluZ1NlY29uZHMpIHtcclxuICAgICAgICAgIHNldFRlYW1SZXNldENvb2xkb3duKGRhdGEucmVtYWluaW5nU2Vjb25kcylcclxuICAgICAgICAgIHNldE1lc3NhZ2UoYNeZ16kg15zXlNee16rXmdefICR7ZGF0YS5yZW1haW5pbmdTZWNvbmRzfSDXqdeg15nXldeqINec16TXoNeZINeQ15nXpNeV16Eg16bXldeV16og16DXldeh16NgKVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHNldE1lc3NhZ2UoZGF0YS5lcnJvciB8fCBcItep15LXmdeQ15Qg15HXkNeZ16TXldehINeU16bXldeV16pcIilcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgfSBjYXRjaCAoZXJyKSB7XHJcbiAgICAgIHNldE1lc3NhZ2UoXCLXqdeS15nXkNeUINeR15DXmdek15XXoSDXlNem15XXldeqXCIpXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjb25zdCBoYW5kbGVEZXBhcnRtZW50UmVzZXQgPSBhc3luYyAoKSA9PiB7XHJcbiAgICBpZiAoZGVwYXJ0bWVudFJlc2V0Q29vbGRvd24gPiAwKSByZXR1cm5cclxuXHJcbiAgICB0cnkge1xyXG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKFwiL2FwaS9hZG1pbi9kZXBhcnRtZW50LXJlc2V0XCIsIHtcclxuICAgICAgICBtZXRob2Q6IFwiUE9TVFwiLFxyXG4gICAgICAgIGhlYWRlcnM6IHsgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIgfSxcclxuICAgICAgICBib2R5OiBKU09OLnN0cmluZ2lmeSh7IGFkbWluSWQ6IHVzZXI/Lm5hdGlvbmFsX2lkIH0pLFxyXG4gICAgICB9KVxyXG5cclxuICAgICAgY29uc3QgZGF0YSA9IGF3YWl0IHJlc3BvbnNlLmpzb24oKVxyXG5cclxuICAgICAgaWYgKHJlc3BvbnNlLm9rKSB7XHJcbiAgICAgICAgc2V0TWVzc2FnZShkYXRhLm1lc3NhZ2UgfHwgYNeb15wg15TXodeY15jXldeh15nXnSDXqdecINee16HXkteo16ogJHtkYXRhLmRlcGFydG1lbnR9INeQ15XXpNeh15Ug15HXlNem15zXl9eUYClcclxuICAgICAgICBzZXREZXBhcnRtZW50UmVzZXRDb29sZG93big5MCkgLy8gMS41IG1pbnV0ZXNcclxuICAgICAgICByZWZldGNoRGVwYXJ0bWVudCgpXHJcbiAgICAgICAgcmVmZXRjaEdsb2JhbCgpIC8vIEFsc28gcmVmcmVzaCBnbG9iYWwgZGF0YVxyXG4gICAgICAgIHJlZmV0Y2hUZWFtKClcclxuICAgICAgICByZWZldGNoRmllbGQoKVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgaWYgKHJlc3BvbnNlLnN0YXR1cyA9PT0gNDI5ICYmIGRhdGEucmVtYWluaW5nU2Vjb25kcykge1xyXG4gICAgICAgICAgc2V0RGVwYXJ0bWVudFJlc2V0Q29vbGRvd24oZGF0YS5yZW1haW5pbmdTZWNvbmRzKVxyXG4gICAgICAgICAgc2V0TWVzc2FnZShg15nXqSDXnNeU157XqteZ158gJHtkYXRhLnJlbWFpbmluZ1NlY29uZHN9INep16DXmdeV16og15zXpNeg15kg15DXmdek15XXoSDXnteh15LXqNeqINeg15XXodejYClcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBzZXRNZXNzYWdlKGRhdGEuZXJyb3IgfHwgXCLXqdeS15nXkNeUINeR15DXmdek15XXoSDXlNee16HXkteo16pcIilcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgfSBjYXRjaCAoZXJyKSB7XHJcbiAgICAgIHNldE1lc3NhZ2UoXCLXqdeS15nXkNeUINeR15DXmdek15XXoSDXlNee16HXkteo16pcIilcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNvbnN0IGhhbmRsZUZpZWxkUmVzZXQgPSBhc3luYyAoKSA9PiB7XHJcbiAgICBpZiAoZmllbGRSZXNldENvb2xkb3duID4gMCkgcmV0dXJuXHJcblxyXG4gICAgdHJ5IHtcclxuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaChcIi9hcGkvYWRtaW4vZmllbGQtcmVzZXRcIiwge1xyXG4gICAgICAgIG1ldGhvZDogXCJQT1NUXCIsXHJcbiAgICAgICAgaGVhZGVyczogeyBcIkNvbnRlbnQtVHlwZVwiOiBcImFwcGxpY2F0aW9uL2pzb25cIiB9LFxyXG4gICAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHsgYWRtaW5JZDogdXNlcj8ubmF0aW9uYWxfaWQgfSksXHJcbiAgICAgIH0pXHJcblxyXG4gICAgICBjb25zdCBkYXRhID0gYXdhaXQgcmVzcG9uc2UuanNvbigpXHJcblxyXG4gICAgICBpZiAocmVzcG9uc2Uub2spIHtcclxuICAgICAgICBzZXRNZXNzYWdlKGRhdGEubWVzc2FnZSB8fCBg15vXnCDXlNeh15jXmNeV16HXmdedINep15wg16rXl9eV150gJHtkYXRhLmZpZWxkfSDXkNeV16TXodeVINeR15TXptec15fXlGApXHJcbiAgICAgICAgc2V0RmllbGRSZXNldENvb2xkb3duKDEyMCkgLy8gMiBtaW51dGVzXHJcbiAgICAgICAgcmVmZXRjaEZpZWxkKClcclxuICAgICAgICByZWZldGNoR2xvYmFsKCkgLy8gQWxzbyByZWZyZXNoIGdsb2JhbCBkYXRhXHJcbiAgICAgICAgcmVmZXRjaFRlYW0oKVxyXG4gICAgICAgIHJlZmV0Y2hEZXBhcnRtZW50KClcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGlmIChyZXNwb25zZS5zdGF0dXMgPT09IDQyOSAmJiBkYXRhLnJlbWFpbmluZ1NlY29uZHMpIHtcclxuICAgICAgICAgIHNldEZpZWxkUmVzZXRDb29sZG93bihkYXRhLnJlbWFpbmluZ1NlY29uZHMpXHJcbiAgICAgICAgICBzZXRNZXNzYWdlKGDXmdepINec15TXnteq15nXnyAke2RhdGEucmVtYWluaW5nU2Vjb25kc30g16nXoNeZ15XXqiDXnNek16DXmSDXkNeZ16TXldehINeq15fXldedINeg15XXodejYClcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBzZXRNZXNzYWdlKGRhdGEuZXJyb3IgfHwgXCLXqdeS15nXkNeUINeR15DXmdek15XXoSDXlNeq15fXldedXCIpXHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIH0gY2F0Y2ggKGVycikge1xyXG4gICAgICBzZXRNZXNzYWdlKFwi16nXkteZ15DXlCDXkdeQ15nXpNeV16Eg15TXqteX15XXnVwiKVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY29uc3QgaGFuZGxlQWRkTWFuYWdlZFR5cGUgPSBhc3luYyAodHlwZTogXCJmaWVsZFwiIHwgXCJkZXBhcnRtZW50XCIgfCBcInRlYW1cIikgPT4ge1xyXG4gICAgY29uc3QgbmFtZSA9XHJcbiAgICAgIHR5cGUgPT09IFwiZmllbGRcIiA/IG5ld0ZpZWxkTmFtZSA6IHR5cGUgPT09IFwiZGVwYXJ0bWVudFwiID8gbmV3RGVwYXJ0bWVudE5hbWUgOiBuZXdUZWFtTmFtZVxyXG5cclxuICAgIGlmICghbmFtZS50cmltKCkpIHtcclxuICAgICAgcmV0dXJuXHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgcGFyZW50SWQgPVxyXG4gICAgICB0eXBlID09PSBcImRlcGFydG1lbnRcIlxyXG4gICAgICAgID8gbmV3RGVwYXJ0bWVudFBhcmVudElkXHJcbiAgICAgICAgOiB0eXBlID09PSBcInRlYW1cIlxyXG4gICAgICAgICAgPyBuZXdUZWFtUGFyZW50SWRcclxuICAgICAgICAgIDogXCJcIlxyXG5cclxuICAgIGlmICgodHlwZSA9PT0gXCJkZXBhcnRtZW50XCIgfHwgdHlwZSA9PT0gXCJ0ZWFtXCIpICYmICFwYXJlbnRJZCkge1xyXG4gICAgICBzZXRNZXNzYWdlKFwiU2VsZWN0IGEgcGFyZW50IGJlZm9yZSBhZGRpbmcuXCIpXHJcbiAgICAgIHJldHVyblxyXG4gICAgfVxyXG5cclxuICAgIHRyeSB7XHJcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2goXCIvYXBpL2FkbWluL21hbmFnZWQtdHlwZXNcIiwge1xyXG4gICAgICAgIG1ldGhvZDogXCJQT1NUXCIsXHJcbiAgICAgICAgaGVhZGVyczogeyBcIkNvbnRlbnQtVHlwZVwiOiBcImFwcGxpY2F0aW9uL2pzb25cIiB9LFxyXG4gICAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHtcclxuICAgICAgICAgIGFkbWluSWQ6IHVzZXI/Lm5hdGlvbmFsX2lkLFxyXG4gICAgICAgICAgdHlwZSxcclxuICAgICAgICAgIG5hbWU6IG5hbWUudHJpbSgpLFxyXG4gICAgICAgICAgcGFyZW50SWQ6IHBhcmVudElkID8gTnVtYmVyKHBhcmVudElkKSA6IHVuZGVmaW5lZCxcclxuICAgICAgICB9KSxcclxuICAgICAgfSlcclxuXHJcbiAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCByZXNwb25zZS5qc29uKClcclxuXHJcbiAgICAgIGlmIChyZXNwb25zZS5vaykge1xyXG4gICAgICAgIGlmICh0eXBlID09PSBcImZpZWxkXCIpIHNldE5ld0ZpZWxkTmFtZShcIlwiKVxyXG4gICAgICAgIGlmICh0eXBlID09PSBcImRlcGFydG1lbnRcIikgc2V0TmV3RGVwYXJ0bWVudE5hbWUoXCJcIilcclxuICAgICAgICBpZiAodHlwZSA9PT0gXCJ0ZWFtXCIpIHNldE5ld1RlYW1OYW1lKFwiXCIpXHJcbiAgICAgICAgaWYgKHR5cGUgPT09IFwiZGVwYXJ0bWVudFwiKSBzZXROZXdEZXBhcnRtZW50UGFyZW50SWQoXCJcIilcclxuICAgICAgICBpZiAodHlwZSA9PT0gXCJ0ZWFtXCIpIHNldE5ld1RlYW1QYXJlbnRJZChcIlwiKVxyXG4gICAgICAgIGF3YWl0IGZldGNoTWFuYWdlZFR5cGVzKClcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBzZXRNZXNzYWdlKGRhdGEuZXJyb3IgfHwgXCJGYWlsZWQgdG8gYWRkIG1hbmFnZWQgdHlwZS5cIilcclxuICAgICAgfVxyXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgICAgY29uc29sZS5lcnJvcihcIk1hbmFnZWQgdHlwZSBhZGQgZXJyb3I6XCIsIGVycm9yKVxyXG4gICAgICBzZXRNZXNzYWdlKFwiRmFpbGVkIHRvIGFkZCBtYW5hZ2VkIHR5cGUuXCIpXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjb25zdCBoYW5kbGVEZWxldGVNYW5hZ2VkVHlwZSA9IGFzeW5jIChpZD86IG51bWJlcikgPT4ge1xyXG4gICAgaWYgKCFpZCB8fCAhdXNlcj8ubmF0aW9uYWxfaWQpIHJldHVyblxyXG4gICAgaWYgKCFjb25maXJtKFwiRGVsZXRlIHRoaXMgdmFsdWU/IFVzZXJzIGFzc2lnbmVkIHRvIGl0IG11c3QgYmUgbW92ZWQgZmlyc3QuXCIpKSB7XHJcbiAgICAgIHJldHVyblxyXG4gICAgfVxyXG5cclxuICAgIHRyeSB7XHJcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2goYC9hcGkvYWRtaW4vbWFuYWdlZC10eXBlcy8ke2lkfWAsIHtcclxuICAgICAgICBtZXRob2Q6IFwiREVMRVRFXCIsXHJcbiAgICAgICAgaGVhZGVyczogeyBcIkNvbnRlbnQtVHlwZVwiOiBcImFwcGxpY2F0aW9uL2pzb25cIiB9LFxyXG4gICAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHsgYWRtaW5JZDogdXNlci5uYXRpb25hbF9pZCB9KSxcclxuICAgICAgfSlcclxuXHJcbiAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCByZXNwb25zZS5qc29uKClcclxuXHJcbiAgICAgIGlmIChyZXNwb25zZS5vaykge1xyXG4gICAgICAgIGF3YWl0IGZldGNoTWFuYWdlZFR5cGVzKClcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBzZXRNZXNzYWdlKGRhdGEuZXJyb3IgfHwgXCJGYWlsZWQgdG8gZGVsZXRlIG1hbmFnZWQgdHlwZS5cIilcclxuICAgICAgfVxyXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgICAgY29uc29sZS5lcnJvcihcIk1hbmFnZWQgdHlwZSBkZWxldGUgZXJyb3I6XCIsIGVycm9yKVxyXG4gICAgICBzZXRNZXNzYWdlKFwiRmFpbGVkIHRvIGRlbGV0ZSBtYW5hZ2VkIHR5cGUuXCIpXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjb25zdCBoYW5kbGVSZW5hbWVNYW5hZ2VkVHlwZSA9IGFzeW5jIChpZD86IG51bWJlciwgY3VycmVudE5hbWU/OiBzdHJpbmcpID0+IHtcclxuICAgIGlmICghaWQgfHwgIXVzZXI/Lm5hdGlvbmFsX2lkIHx8ICFjdXJyZW50TmFtZSkgcmV0dXJuXHJcbiAgICBjb25zdCBuZXh0TmFtZSA9IHByb21wdChcIlJlbmFtZSB2YWx1ZTpcIiwgY3VycmVudE5hbWUpXHJcbiAgICBpZiAoIW5leHROYW1lIHx8IG5leHROYW1lLnRyaW0oKSA9PT0gY3VycmVudE5hbWUpIHJldHVyblxyXG5cclxuICAgIHRyeSB7XHJcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2goYC9hcGkvYWRtaW4vbWFuYWdlZC10eXBlcy8ke2lkfWAsIHtcclxuICAgICAgICBtZXRob2Q6IFwiUEFUQ0hcIixcclxuICAgICAgICBoZWFkZXJzOiB7IFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiIH0sXHJcbiAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoeyBhZG1pbklkOiB1c2VyLm5hdGlvbmFsX2lkLCBuYW1lOiBuZXh0TmFtZS50cmltKCkgfSksXHJcbiAgICAgIH0pXHJcblxyXG4gICAgICBjb25zdCBkYXRhID0gYXdhaXQgcmVzcG9uc2UuanNvbigpXHJcblxyXG4gICAgICBpZiAocmVzcG9uc2Uub2spIHtcclxuICAgICAgICBhd2FpdCBmZXRjaE1hbmFnZWRUeXBlcygpXHJcbiAgICAgICAgYXdhaXQgUHJvbWlzZS5hbGwoW3JlZmV0Y2hHbG9iYWwoKSwgcmVmZXRjaFRlYW0oKSwgcmVmZXRjaERlcGFydG1lbnQoKSwgcmVmZXRjaEZpZWxkKCldKVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHNldE1lc3NhZ2UoZGF0YS5lcnJvciB8fCBcIkZhaWxlZCB0byByZW5hbWUgbWFuYWdlZCB0eXBlLlwiKVxyXG4gICAgICB9XHJcbiAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICBjb25zb2xlLmVycm9yKFwiTWFuYWdlZCB0eXBlIHJlbmFtZSBlcnJvcjpcIiwgZXJyb3IpXHJcbiAgICAgIHNldE1lc3NhZ2UoXCJGYWlsZWQgdG8gcmVuYW1lIG1hbmFnZWQgdHlwZS5cIilcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNvbnN0IGhhbmRsZUFkZFVzZXIgPSBhc3luYyAoZTogUmVhY3QuRm9ybUV2ZW50KSA9PiB7XHJcbiAgICBlLnByZXZlbnREZWZhdWx0KClcclxuXHJcbiAgICBpZiAoIW5ld1VzZXIuZmllbGQgfHwgIW5ld1VzZXIuZGVwYXJ0bWVudCB8fCAhbmV3VXNlci50ZWFtIHx8ICFuZXdVc2VyLnJvbGUpIHtcclxuICAgICAgc2V0TWVzc2FnZShcIteZ16kg15zXkdeX15XXqCDXqtek16fXmdeTLCDXqteX15XXnSwg157XodeS16jXqiDXldem15XXldeqXCIpXHJcbiAgICAgIHJldHVyblxyXG4gICAgfVxyXG5cclxuICAgIHRyeSB7XHJcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2goXCIvYXBpL2FkbWluL2FkZC11c2VyXCIsIHtcclxuICAgICAgICBtZXRob2Q6IFwiUE9TVFwiLFxyXG4gICAgICAgIGhlYWRlcnM6IHsgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIgfSxcclxuICAgICAgICBib2R5OiBKU09OLnN0cmluZ2lmeSh7XHJcbiAgICAgICAgICAuLi5uZXdVc2VyLFxyXG4gICAgICAgICAgYWRtaW5JZDogdXNlcj8ubmF0aW9uYWxfaWQsXHJcbiAgICAgICAgfSksXHJcbiAgICAgIH0pXHJcblxyXG4gICAgICBjb25zdCBkYXRhID0gYXdhaXQgcmVzcG9uc2UuanNvbigpXHJcblxyXG4gICAgICBpZiAocmVzcG9uc2Uub2spIHtcclxuICAgICAgICBzZXRNZXNzYWdlKGAke2RhdGEubWVzc2FnZX0uINeU16HXmdeh157XlCDXlNeW157XoNeZ16o6IHBhc3N3b3JkMTIzYClcclxuICAgICAgICBzZXROZXdVc2VyKHsgbmFtZTogXCJcIiwgaXNBZG1pbjogZmFsc2UsIGZpZWxkOiBcIlwiLCBkZXBhcnRtZW50OiBcIlwiLCB0ZWFtOiBcIlwiLCByb2xlOiBcIlwiIH0pXHJcbiAgICAgICAgcmVmZXRjaEdsb2JhbCgpXHJcbiAgICAgICAgcmVmZXRjaFRlYW0oKVxyXG4gICAgICAgIHJlZmV0Y2hEZXBhcnRtZW50KClcclxuICAgICAgICByZWZldGNoRmllbGQoKVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHNldE1lc3NhZ2UoZGF0YS5lcnJvciB8fCBcItep15LXmdeQ15Qg15HXlNeV16HXpNeqINee16nXqtee16lcIilcclxuICAgICAgfVxyXG4gICAgfSBjYXRjaCAoZXJyKSB7XHJcbiAgICAgIHNldE1lc3NhZ2UoXCLXqdeS15nXkNeUINeR15fXmdeR15XXqCDXnNep16jXqlwiKVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY29uc3QgaGFuZGxlRGVsZXRlVXNlciA9IGFzeW5jIChuYXRpb25hbElkOiBzdHJpbmcpID0+IHtcclxuICAgIHRyeSB7XHJcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2goYC9hcGkvYWRtaW4vdXNlcnMvJHtuYXRpb25hbElkfWAsIHtcclxuICAgICAgICBtZXRob2Q6IFwiREVMRVRFXCIsXHJcbiAgICAgIH0pXHJcblxyXG4gICAgICBpZiAocmVzcG9uc2Uub2spIHtcclxuICAgICAgICBzZXRNZXNzYWdlKFwi157Xqdeq157XqSDXoNee15fXpyDXkdeU16bXnNeX15RcIilcclxuICAgICAgICByZWZldGNoR2xvYmFsKClcclxuICAgICAgICByZWZldGNoVGVhbSgpXHJcbiAgICAgICAgcmVmZXRjaERlcGFydG1lbnQoKVxyXG4gICAgICAgIHJlZmV0Y2hGaWVsZCgpXHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgY29uc3QgZGF0YSA9IGF3YWl0IHJlc3BvbnNlLmpzb24oKVxyXG4gICAgICAgIHNldE1lc3NhZ2UoZGF0YS5lcnJvciB8fCBcItep15LXmdeQ15Qg15HXnteX15nXp9eqINee16nXqtee16lcIilcclxuICAgICAgfVxyXG4gICAgfSBjYXRjaCAoZXJyKSB7XHJcbiAgICAgIHNldE1lc3NhZ2UoXCLXqdeS15nXkNeUINeR15fXmdeR15XXqCDXnNep16jXqlwiKVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY29uc3QgaGFuZGxlUmVzZXRQYXNzd29yZCA9IGFzeW5jIChuYXRpb25hbElkOiBzdHJpbmcsIHVzZXJOYW1lOiBzdHJpbmcpID0+IHtcclxuICAgIHRyeSB7XHJcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2goXCIvYXBpL2FkbWluL3Jlc2V0LXBhc3N3b3JkXCIsIHtcclxuICAgICAgICBtZXRob2Q6IFwiUE9TVFwiLFxyXG4gICAgICAgIGhlYWRlcnM6IHsgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIgfSxcclxuICAgICAgICBib2R5OiBKU09OLnN0cmluZ2lmeSh7XHJcbiAgICAgICAgICBhZG1pbklkOiB1c2VyPy5uYXRpb25hbF9pZCxcclxuICAgICAgICAgIHRhcmdldFVzZXJJZDogbmF0aW9uYWxJZCxcclxuICAgICAgICB9KSxcclxuICAgICAgfSlcclxuXHJcbiAgICAgIGlmIChyZXNwb25zZS5vaykge1xyXG4gICAgICAgIHNldE1lc3NhZ2UoYNeh15nXodee15Qg15DXldek16HXlCDXkdeU16bXnNeX15Qg16LXkdeV16ggJHt1c2VyTmFtZX0uINeU16HXmdeh157XlCDXlNeX15PXqdeUOiBwYXNzd29yZDEyM2ApXHJcbiAgICAgICAgcmVmZXRjaEdsb2JhbCgpXHJcbiAgICAgICAgcmVmZXRjaFRlYW0oKVxyXG4gICAgICAgIHJlZmV0Y2hEZXBhcnRtZW50KClcclxuICAgICAgICByZWZldGNoRmllbGQoKVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCByZXNwb25zZS5qc29uKClcclxuICAgICAgICBzZXRNZXNzYWdlKGRhdGEuZXJyb3IgfHwgXCLXqdeS15nXkNeUINeR15DXmdek15XXoSDXodeZ16HXnteUXCIpXHJcbiAgICAgIH1cclxuICAgIH0gY2F0Y2ggKGVycikge1xyXG4gICAgICBzZXRNZXNzYWdlKFwi16nXkteZ15DXlCDXkdeX15nXkdeV16gg15zXqdeo16pcIilcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNvbnN0IGhhbmRsZVRvZ2dsZVVzZXJMb2NrID0gYXN5bmMgKG5hdGlvbmFsSWQ6IHN0cmluZywgY3VycmVudExvY2tTdGF0dXM6IGJvb2xlYW4sIHVzZXJOYW1lOiBzdHJpbmcpID0+IHtcclxuICAgIHRyeSB7XHJcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2goXCIvYXBpL2FkbWluL3RvZ2dsZS11c2VyLWxvY2tcIiwge1xyXG4gICAgICAgIG1ldGhvZDogXCJQT1NUXCIsXHJcbiAgICAgICAgaGVhZGVyczogeyBcIkNvbnRlbnQtVHlwZVwiOiBcImFwcGxpY2F0aW9uL2pzb25cIiB9LFxyXG4gICAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHtcclxuICAgICAgICAgIGFkbWluSWQ6IHVzZXI/Lm5hdGlvbmFsX2lkLFxyXG4gICAgICAgICAgdGFyZ2V0VXNlcklkOiBuYXRpb25hbElkLFxyXG4gICAgICAgICAgbG9ja1N0YXR1czogIWN1cnJlbnRMb2NrU3RhdHVzLFxyXG4gICAgICAgIH0pLFxyXG4gICAgICB9KVxyXG5cclxuICAgICAgY29uc3QgZGF0YSA9IGF3YWl0IHJlc3BvbnNlLmpzb24oKVxyXG5cclxuICAgICAgaWYgKHJlc3BvbnNlLm9rKSB7XHJcbiAgICAgICAgc2V0TWVzc2FnZShkYXRhLm1lc3NhZ2UpXHJcblxyXG4gICAgICAgIC8vIEltbWVkaWF0ZWx5IHVwZGF0ZSB0aGUgbG9jYWwgc3RhdGUgdG8gcmVmbGVjdCB0aGUgY2hhbmdlXHJcbiAgICAgICAgY29uc3QgdXBkYXRlVXNlckxvY2tTdGF0dXMgPSAodXNlcnM6IFVzZXJEYXRhW10pID0+XHJcbiAgICAgICAgICB1c2Vycy5tYXAoKHUpID0+ICh1Lm5hdGlvbmFsX2lkID09PSBuYXRpb25hbElkID8geyAuLi51LCBsb2NrX3N0YXR1czogIWN1cnJlbnRMb2NrU3RhdHVzIH0gOiB1KSlcclxuXHJcbiAgICAgICAgc2V0R2xvYmFsVXNlcnMoKHByZXYpID0+IHVwZGF0ZVVzZXJMb2NrU3RhdHVzKHByZXYpKVxyXG4gICAgICAgIHNldFRlYW1Vc2VycygocHJldikgPT4gdXBkYXRlVXNlckxvY2tTdGF0dXMocHJldikpXHJcbiAgICAgICAgc2V0RGVwYXJ0bWVudFVzZXJzKChwcmV2KSA9PiB1cGRhdGVVc2VyTG9ja1N0YXR1cyhwcmV2KSlcclxuICAgICAgICBzZXRGaWVsZFVzZXJzKChwcmV2KSA9PiB1cGRhdGVVc2VyTG9ja1N0YXR1cyhwcmV2KSlcclxuXHJcbiAgICAgICAgLy8gQWxzbyByZWZyZXNoIGZyb20gc2VydmVyIHRvIGVuc3VyZSBjb25zaXN0ZW5jeVxyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgcmVmZXRjaEdsb2JhbCgpXHJcbiAgICAgICAgICByZWZldGNoVGVhbSgpXHJcbiAgICAgICAgICByZWZldGNoRGVwYXJ0bWVudCgpXHJcbiAgICAgICAgICByZWZldGNoRmllbGQoKVxyXG4gICAgICAgIH0sIDEwMClcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBzZXRNZXNzYWdlKGRhdGEuZXJyb3IgfHwgXCLXqdeS15nXkNeUINeR16nXmdeg15XXmSDXodeY15jXldehINeg16LXmdec15RcIilcclxuICAgICAgfVxyXG4gICAgfSBjYXRjaCAoZXJyKSB7XHJcbiAgICAgIHNldE1lc3NhZ2UoXCLXqdeS15nXkNeUINeR15fXmdeR15XXqCDXnNep16jXqlwiKVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY29uc3QgaGFuZGxlVXBkYXRlVXNlclNjb3BlID0gYXN5bmMgKHBheWxvYWQ6IHtcclxuICAgIHVzZXJJZDogc3RyaW5nXHJcbiAgICBmaWVsZDogc3RyaW5nXHJcbiAgICBkZXBhcnRtZW50OiBzdHJpbmdcclxuICAgIHRlYW06IHN0cmluZ1xyXG4gIH0pID0+IHtcclxuICAgIGlmICghdXNlcj8ubmF0aW9uYWxfaWQpIHJldHVyblxyXG4gICAgc2V0U2NvcGVTYXZpbmcodHJ1ZSlcclxuICAgIHRyeSB7XHJcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2goXCIvYXBpL2FkbWluL3VwZGF0ZS11c2VyLXNjb3BlXCIsIHtcclxuICAgICAgICBtZXRob2Q6IFwiUE9TVFwiLFxyXG4gICAgICAgIGhlYWRlcnM6IHsgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIgfSxcclxuICAgICAgICBib2R5OiBKU09OLnN0cmluZ2lmeSh7XHJcbiAgICAgICAgICBhZG1pbklkOiB1c2VyLm5hdGlvbmFsX2lkLFxyXG4gICAgICAgICAgdGFyZ2V0VXNlcklkOiBwYXlsb2FkLnVzZXJJZCxcclxuICAgICAgICAgIGZpZWxkOiBwYXlsb2FkLmZpZWxkLFxyXG4gICAgICAgICAgZGVwYXJ0bWVudDogcGF5bG9hZC5kZXBhcnRtZW50LFxyXG4gICAgICAgICAgdGVhbTogcGF5bG9hZC50ZWFtLFxyXG4gICAgICAgIH0pLFxyXG4gICAgICB9KVxyXG5cclxuICAgICAgY29uc3QgZGF0YSA9IGF3YWl0IHJlc3BvbnNlLmpzb24oKVxyXG5cclxuICAgICAgaWYgKHJlc3BvbnNlLm9rKSB7XHJcbiAgICAgICAgc2V0TWVzc2FnZShkYXRhLm1lc3NhZ2UgfHwgXCJVc2VyIHVwZGF0ZWQuXCIpXHJcbiAgICAgICAgc2V0U2NvcGVNb2RhbE9wZW4oZmFsc2UpXHJcbiAgICAgICAgc2V0U2NvcGVVc2VyKG51bGwpXHJcbiAgICAgICAgYXdhaXQgUHJvbWlzZS5hbGwoW3JlZmV0Y2hHbG9iYWwoKSwgcmVmZXRjaFRlYW0oKSwgcmVmZXRjaERlcGFydG1lbnQoKSwgcmVmZXRjaEZpZWxkKCldKVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHNldE1lc3NhZ2UoZGF0YS5lcnJvciB8fCBcIkZhaWxlZCB0byB1cGRhdGUgdXNlci5cIilcclxuICAgICAgfVxyXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgICAgY29uc29sZS5lcnJvcihcIlVzZXIgc2NvcGUgdXBkYXRlIGVycm9yOlwiLCBlcnJvcilcclxuICAgICAgc2V0TWVzc2FnZShcIkZhaWxlZCB0byB1cGRhdGUgdXNlci5cIilcclxuICAgIH0gZmluYWxseSB7XHJcbiAgICAgIHNldFNjb3BlU2F2aW5nKGZhbHNlKVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY29uc3QgZ2V0U3RhdHVzVGV4dCA9IChzdGF0dXM/OiBzdHJpbmcpID0+IHtcclxuICAgIHN3aXRjaCAoc3RhdHVzKSB7XHJcbiAgICAgIGNhc2UgXCJ5ZXNcIjpcclxuICAgICAgICByZXR1cm4geyB0ZXh0OiBcIteR157Xp9ec15gv15fXk9eoINee15XXktefXCIsIGNvbG9yOiBcInRleHQtZ3JlZW4tNjAwXCIgfVxyXG4gICAgICBjYXNlIFwibm9cIjpcclxuICAgICAgICByZXR1cm4geyB0ZXh0OiBcItec15Ag15HXnten15zXmFwiLCBjb2xvcjogXCJ0ZXh0LW9yYW5nZS02MDBcIiB9XHJcbiAgICAgIGNhc2UgXCJub19hbGFybVwiOlxyXG4gICAgICAgIHJldHVybiB7IHRleHQ6IFwi15DXmdefINeQ15bXoten15RcIiwgY29sb3I6IFwidGV4dC1ibHVlLTYwMFwiIH1cclxuICAgICAgY2FzZSBcInNhZmVfYWZ0ZXJfZXhpdFwiOlxyXG4gICAgICAgIHJldHVybiB7IHRleHQ6IFwi15DXoNeZINeR15jXldeXLteUICjXodeV16Mg15DXmdeo15XXoilcIiwgY29sb3I6IFwidGV4dC1lbWVyYWxkLTYwMFwiIH1cclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICByZXR1cm4geyB0ZXh0OiBcIteT15nXldeV15cg15fXodeoXCIsIGNvbG9yOiBcInRleHQtZ3JheS01MDBcIiB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjb25zdCBoYW5kbGVHbG9iYWxDYXRlZ29yeUNsaWNrID0gKGNhdGVnb3J5OiBzdHJpbmcsIGNhdGVnb3J5TmFtZTogc3RyaW5nKSA9PiB7XHJcbiAgICBzZXRTZWxlY3RlZENhdGVnb3J5KGNhdGVnb3J5KVxyXG4gICAgc2V0U2VsZWN0ZWRDYXRlZ29yeU5hbWUoY2F0ZWdvcnlOYW1lKVxyXG4gICAgc2V0TW9kYWxPcGVuKHRydWUpXHJcbiAgfVxyXG5cclxuICBjb25zdCBoYW5kbGVUZWFtQ2F0ZWdvcnlDbGljayA9IChjYXRlZ29yeTogc3RyaW5nLCBjYXRlZ29yeU5hbWU6IHN0cmluZykgPT4ge1xyXG4gICAgc2V0U2VsZWN0ZWRDYXRlZ29yeShjYXRlZ29yeSlcclxuICAgIHNldFNlbGVjdGVkQ2F0ZWdvcnlOYW1lKGNhdGVnb3J5TmFtZSlcclxuICAgIHNldFRlYW1Nb2RhbE9wZW4odHJ1ZSlcclxuICB9XHJcblxyXG4gIGNvbnN0IGhhbmRsZURlcGFydG1lbnRDYXRlZ29yeUNsaWNrID0gKGNhdGVnb3J5OiBzdHJpbmcsIGNhdGVnb3J5TmFtZTogc3RyaW5nKSA9PiB7XHJcbiAgICBzZXRTZWxlY3RlZENhdGVnb3J5KGNhdGVnb3J5KVxyXG4gICAgc2V0U2VsZWN0ZWRDYXRlZ29yeU5hbWUoY2F0ZWdvcnlOYW1lKVxyXG4gICAgc2V0RGVwYXJ0bWVudE1vZGFsT3Blbih0cnVlKVxyXG4gIH1cclxuXHJcbiAgY29uc3QgaGFuZGxlRmllbGRDYXRlZ29yeUNsaWNrID0gKGNhdGVnb3J5OiBzdHJpbmcsIGNhdGVnb3J5TmFtZTogc3RyaW5nKSA9PiB7XHJcbiAgICBzZXRTZWxlY3RlZENhdGVnb3J5KGNhdGVnb3J5KVxyXG4gICAgc2V0U2VsZWN0ZWRDYXRlZ29yeU5hbWUoY2F0ZWdvcnlOYW1lKVxyXG4gICAgc2V0RmllbGRNb2RhbE9wZW4odHJ1ZSlcclxuICB9XHJcblxyXG4gIGNvbnN0IGhhbmRsZU1hbnVhbFJlZnJlc2ggPSBhc3luYyAoKSA9PiB7XHJcbiAgICBzZXRJc1JlZnJlc2hpbmcodHJ1ZSlcclxuICAgIHRyeSB7XHJcbiAgICAgIGF3YWl0IFByb21pc2UuYWxsKFtyZWZldGNoR2xvYmFsKCksIHJlZmV0Y2hUZWFtKCksIHJlZmV0Y2hEZXBhcnRtZW50KCksIHJlZmV0Y2hGaWVsZCgpXSlcclxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoXCJNYW51YWwgcmVmcmVzaCBmYWlsZWQ6XCIsIGVycm9yKVxyXG4gICAgICBzZXRNZXNzYWdlKFwi16nXkteZ15DXlCDXkdeo16LXoNeV158g15TXoNeq15XXoNeZ151cIilcclxuICAgIH0gZmluYWxseSB7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4gc2V0SXNSZWZyZXNoaW5nKGZhbHNlKSwgNTAwKVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY29uc3QgaGFuZGxlUmVwb3J0T25CZWhhbGYgPSBhc3luYyAodXNlcklkOiBzdHJpbmcsIHN0YXR1czogc3RyaW5nKSA9PiB7XHJcbiAgICB0cnkge1xyXG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKFwiL2FwaS9hZG1pbi9yZXBvcnQtb24tYmVoYWxmXCIsIHtcclxuICAgICAgICBtZXRob2Q6IFwiUE9TVFwiLFxyXG4gICAgICAgIGhlYWRlcnM6IHsgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIgfSxcclxuICAgICAgICBib2R5OiBKU09OLnN0cmluZ2lmeSh7XHJcbiAgICAgICAgICBhZG1pbklkOiB1c2VyPy5uYXRpb25hbF9pZCxcclxuICAgICAgICAgIHRhcmdldFVzZXJJZDogdXNlcklkLFxyXG4gICAgICAgICAgc3RhdHVzLFxyXG4gICAgICAgIH0pLFxyXG4gICAgICB9KVxyXG5cclxuICAgICAgY29uc3QgZGF0YSA9IGF3YWl0IHJlc3BvbnNlLmpzb24oKVxyXG4gICAgICBpZiAocmVzcG9uc2Uub2spIHtcclxuICAgICAgICBzZXRNZXNzYWdlKGRhdGEubWVzc2FnZSlcclxuICAgICAgICByZWZldGNoR2xvYmFsKClcclxuICAgICAgICByZWZldGNoVGVhbSgpXHJcbiAgICAgICAgcmVmZXRjaERlcGFydG1lbnQoKVxyXG4gICAgICAgIHJlZmV0Y2hGaWVsZCgpXHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgc2V0TWVzc2FnZShkYXRhLmVycm9yIHx8IFwi16nXkteZ15DXlCDXkdeT15nXldeV15dcIilcclxuICAgICAgfVxyXG4gICAgfSBjYXRjaCAoZXJyKSB7XHJcbiAgICAgIHNldE1lc3NhZ2UoXCLXqdeS15nXkNeUINeR15fXmdeR15XXqCDXnNep16jXqlwiKVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY29uc3QgZm9ybWF0Q29vbGRvd25UaW1lID0gKHNlY29uZHM6IG51bWJlcikgPT4ge1xyXG4gICAgaWYgKHNlY29uZHMgPD0gMCkgcmV0dXJuIFwiXCJcclxuXHJcbiAgICBjb25zdCBtaW51dGVzID0gTWF0aC5mbG9vcihzZWNvbmRzIC8gNjApXHJcbiAgICBjb25zdCByZW1haW5pbmdTZWNvbmRzID0gc2Vjb25kcyAlIDYwXHJcblxyXG4gICAgaWYgKG1pbnV0ZXMgPiAwKSB7XHJcbiAgICAgIHJldHVybiBgJHttaW51dGVzfToke3JlbWFpbmluZ1NlY29uZHMudG9TdHJpbmcoKS5wYWRTdGFydCgyLCBcIjBcIil9YFxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGAke3JlbWFpbmluZ1NlY29uZHN9INep16DXmdeV16pgXHJcbiAgfVxyXG5cclxuICBjb25zdCByZW5kZXJTdGF0c1NlY3Rpb24gPSAoXHJcbiAgICBzdGF0czogU3RhdHMgfCBudWxsLFxyXG4gICAgb25DYXRlZ29yeUNsaWNrOiAoY2F0ZWdvcnk6IHN0cmluZywgY2F0ZWdvcnlOYW1lOiBzdHJpbmcpID0+IHZvaWQsXHJcbiAgICBpc1RlYW0gPSBmYWxzZSxcclxuICAgIGN1c3RvbU5hbWU/OiBzdHJpbmcsXHJcbiAgKSA9PiB7XHJcbiAgICBjb25zdCBkaXNwbGF5TmFtZSA9IGN1c3RvbU5hbWUgfHwgKGlzVGVhbSA/IGDXpteV15XXqiAke3RlYW1OYW1lfWAgOiBcIteb15zXnNeZ15XXqlwiKVxyXG5cclxuICAgIHJldHVybiAoXHJcbiAgICAgIDxDYXJkIGRpcj1cInJ0bFwiPlxyXG4gICAgICAgIDxDYXJkSGVhZGVyPlxyXG4gICAgICAgICAgPENhcmRUaXRsZSBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW5cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMlwiPlxyXG4gICAgICAgICAgICAgIDxVc2VycyBjbGFzc05hbWU9XCJoLTUgdy01XCIgLz5cclxuICAgICAgICAgICAgICB7aXNUZWFtXHJcbiAgICAgICAgICAgICAgICA/IGDXpteV15XXqiAke3RlYW1OYW1lfWBcclxuICAgICAgICAgICAgICAgIDogY3VzdG9tTmFtZVxyXG4gICAgICAgICAgICAgICAgICA/IGDXnteh15LXqNeqICR7Y3VzdG9tTmFtZX1gXHJcbiAgICAgICAgICAgICAgICAgIDogXCLXm9ec15zXmVwifXtcIiBcIn1cclxuICAgICAgICAgICAgICB7aXNSZWZyZXNoaW5nICYmIDxSZWZyZXNoQ3cgY2xhc3NOYW1lPVwiaC00IHctNCBhbmltYXRlLXNwaW4gdGV4dC1ibHVlLTUwMFwiIC8+fVxyXG4gICAgICAgICAgICAgIHsoaXNUZWFtXHJcbiAgICAgICAgICAgICAgICA/IHRlYW1Db25uZWN0ZWRcclxuICAgICAgICAgICAgICAgIDogZGVwYXJ0bWVudENvbm5lY3RlZFxyXG4gICAgICAgICAgICAgICAgICA/IGRlcGFydG1lbnRDb25uZWN0ZWRcclxuICAgICAgICAgICAgICAgICAgOiBmaWVsZENvbm5lY3RlZFxyXG4gICAgICAgICAgICAgICAgICAgID8gZmllbGRDb25uZWN0ZWRcclxuICAgICAgICAgICAgICAgICAgICA6IGdsb2JhbENvbm5lY3RlZCkgJiYgPGRpdiBjbGFzc05hbWU9XCJ3LTIgaC0yIGJnLWdyZWVuLTUwMCByb3VuZGVkLWZ1bGwgYW5pbWF0ZS1wdWxzZVwiPjwvZGl2Pn1cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBnYXAtMVwiPlxyXG4gICAgICAgICAgICAgIDxCdXR0b25cclxuICAgICAgICAgICAgICAgIHZhcmlhbnQ9e3ZpZXdNb2RlID09PSBcImxpc3RcIiA/IFwiZGVmYXVsdFwiIDogXCJvdXRsaW5lXCJ9XHJcbiAgICAgICAgICAgICAgICBzaXplPVwic21cIlxyXG4gICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gc2V0Vmlld01vZGUoXCJsaXN0XCIpfVxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDxCYXJDaGFydDMgY2xhc3NOYW1lPVwiaC00IHctNFwiIC8+XHJcbiAgICAgICAgICAgICAgPC9CdXR0b24+XHJcbiAgICAgICAgICAgICAgPEJ1dHRvbiB2YXJpYW50PXt2aWV3TW9kZSA9PT0gXCJwaWVcIiA/IFwiZGVmYXVsdFwiIDogXCJvdXRsaW5lXCJ9IHNpemU9XCJzbVwiIG9uQ2xpY2s9eygpID0+IHNldFZpZXdNb2RlKFwicGllXCIpfT5cclxuICAgICAgICAgICAgICAgIDxQaWVDaGFydCBjbGFzc05hbWU9XCJoLTQgdy00XCIgLz5cclxuICAgICAgICAgICAgICA8L0J1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L0NhcmRUaXRsZT5cclxuICAgICAgICA8L0NhcmRIZWFkZXI+XHJcbiAgICAgICAgPENhcmRDb250ZW50IGNsYXNzTmFtZT1cInRleHQtY2VudGVyXCIgZGlyPVwicnRsXCI+XHJcbiAgICAgICAgICB7c3RhdHMgPyAoXHJcbiAgICAgICAgICAgIDw+XHJcbiAgICAgICAgICAgICAge3ZpZXdNb2RlID09PSBcImxpc3RcIiA/IChcclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwic3BhY2UteS0yIHRleHQtY2VudGVyXCIgZGlyPVwicnRsXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJmbGV4IGp1c3RpZnktYmV0d2VlbiBwLTIgcm91bmRlZCBob3ZlcjpiZy1ncmF5LTEwMCBjdXJzb3ItcG9pbnRlciB0cmFuc2l0aW9uLWNvbG9yc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DYXRlZ29yeUNsaWNrKFwibm9fcmVwb3J0XCIsIFwi15zXkCDXk9eZ15XXldeX15VcIil9XHJcbiAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICA8c3Bhbj7XnNeQINeT15nXldeV15fXlTo8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiZm9udC1zZW1pYm9sZCB0ZXh0LXJlZC02MDBcIj57c3RhdHMubm9fcmVwb3J0fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJmbGV4IGp1c3RpZnktYmV0d2VlbiBwLTIgcm91bmRlZCBob3ZlcjpiZy1ncmF5LTEwMCBjdXJzb3ItcG9pbnRlciB0cmFuc2l0aW9uLWNvbG9yc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DYXRlZ29yeUNsaWNrKFwiaW5fc2hlbHRlclwiLCBcIteR157Xp9ec15gv15fXk9eoINee15XXktefXCIpfVxyXG4gICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4+15HXnten15zXmDo8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiZm9udC1zZW1pYm9sZCB0ZXh0LWdyZWVuLTYwMFwiPntzdGF0cy5pbl9zaGVsdGVyfTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJmbGV4IGp1c3RpZnktYmV0d2VlbiBwLTIgcm91bmRlZCBob3ZlcjpiZy1ncmF5LTEwMCBjdXJzb3ItcG9pbnRlciB0cmFuc2l0aW9uLWNvbG9yc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DYXRlZ29yeUNsaWNrKFwibm90X2luX3NoZWx0ZXJcIiwgXCLXnNeQINeR157Xp9ec15ggLSDXkNeZ158g157Xp9ec15gg15HXp9eo15HXqiDXnten15XXnVwiKX1cclxuICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuPtec15Ag15HXnten15zXmDo8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiZm9udC1zZW1pYm9sZCB0ZXh0LW9yYW5nZS02MDBcIj57c3RhdHMubm90X2luX3NoZWx0ZXJ9PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImZsZXgganVzdGlmeS1iZXR3ZWVuIHAtMiByb3VuZGVkIGhvdmVyOmJnLWdyYXktMTAwIGN1cnNvci1wb2ludGVyIHRyYW5zaXRpb24tY29sb3JzXCJcclxuICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNhdGVnb3J5Q2xpY2soXCJub19hbGFybVwiLCBcIteQ15nXnyDXkNeW16LXp9eUINeR15DXlteV16hcIil9XHJcbiAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICA8c3Bhbj7XkNeZ158g15DXltei16fXlDo8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiZm9udC1zZW1pYm9sZCB0ZXh0LWJsdWUtNjAwXCI+e3N0YXRzLm5vX2FsYXJtfTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJmbGV4IGp1c3RpZnktYmV0d2VlbiBwLTIgcm91bmRlZCBob3ZlcjpiZy1ncmF5LTEwMCBjdXJzb3ItcG9pbnQgdHJhbnNpdGlvbi1jb2xvcnNcIlxyXG4gICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uQ2F0ZWdvcnlDbGljayhcInNhZmVfYWZ0ZXJfZXhpdFwiLCBcIteQ16DXmSDXkdeY15XXly7XlCAo16HXldejINeQ15nXqNeV16IpXCIpfVxyXG4gICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4+15DXoNeZINeR15jXldeXLteUICjXodeV16Mg15DXmdeo15XXoik8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiZm9udC1zZW1pYm9sZCB0ZXh0LWVtZXJhbGQtNjAwXCI+e3N0YXRzLnNhZmVfYWZ0ZXJfZXhpdH08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgKSA6IHVzZVNpbXBsZUNoYXJ0ID8gKFxyXG4gICAgICAgICAgICAgICAgPFNpbXBsZVBpZUNoYXJ0IHN0YXRzPXtzdGF0c30gb25DYXRlZ29yeUNsaWNrPXtvbkNhdGVnb3J5Q2xpY2t9IC8+XHJcbiAgICAgICAgICAgICAgKSA6IChcclxuICAgICAgICAgICAgICAgIDxTdGF0c1BpZUNoYXJ0IHN0YXRzPXtzdGF0c30gb25DYXRlZ29yeUNsaWNrPXtvbkNhdGVnb3J5Q2xpY2t9IC8+XHJcbiAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgPC8+XHJcbiAgICAgICAgICApIDogKFxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInRleHQtY2VudGVyIHB5LTggdGV4dC1ncmF5LTUwMFwiPteY15XXotefINeh15jXmNeZ16HXmNeZ16fXldeqLi4uPC9kaXY+XHJcbiAgICAgICAgICApfVxyXG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJtdC00IHRleHQteHMgdGV4dC1ncmF5LTUwMCB0ZXh0LWNlbnRlclwiPlxyXG4gICAgICAgICAgICB7KFxyXG4gICAgICAgICAgICAgIGlzVGVhbVxyXG4gICAgICAgICAgICAgICAgPyB0ZWFtQ29ubmVjdGVkXHJcbiAgICAgICAgICAgICAgICA6IGRlcGFydG1lbnRDb25uZWN0ZWRcclxuICAgICAgICAgICAgICAgICAgPyBkZXBhcnRtZW50Q29ubmVjdGVkXHJcbiAgICAgICAgICAgICAgICAgIDogZmllbGRDb25uZWN0ZWRcclxuICAgICAgICAgICAgICAgICAgICA/IGZpZWxkQ29ubmVjdGVkXHJcbiAgICAgICAgICAgICAgICAgICAgOiBnbG9iYWxDb25uZWN0ZWRcclxuICAgICAgICAgICAgKSA/IChcclxuICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LWdyZWVuLTYwMCBmb250LW1lZGl1bVwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgKSA6IChcclxuICAgICAgICAgICAgICBcItee16DXodeUINec15TXqteX15HXqCDXnNei15PXm9eV16DXmdedLi4uXCJcclxuICAgICAgICAgICAgKX1cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvQ2FyZENvbnRlbnQ+XHJcbiAgICAgIDwvQ2FyZD5cclxuICAgIClcclxuICB9XHJcblxyXG4gIGNvbnN0IHJlbmRlclVzZXJzVGFibGUgPSAodXNlcnM6IFVzZXJEYXRhW10sIGNoYW5nZWRSb3dzOiBTZXQ8c3RyaW5nPiwgaXNSZWFkT25seSA9IGZhbHNlKSA9PiB7XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cIm92ZXJmbG93LXgtYXV0b1wiIGRpcj1cInJ0bFwiPlxyXG4gICAgICAgIDxUYWJsZT5cclxuICAgICAgICAgIDxUYWJsZUhlYWRlcj5cclxuICAgICAgICAgICAgPFRhYmxlUm93PlxyXG4gICAgICAgICAgICAgIDxUYWJsZUhlYWQgY2xhc3NOYW1lPVwidGV4dC1yaWdodFwiPtep1508L1RhYmxlSGVhZD5cclxuICAgICAgICAgICAgICA8VGFibGVIZWFkIGNsYXNzTmFtZT1cInRleHQtcmlnaHRcIj7Xk9eZ15XXldeXPC9UYWJsZUhlYWQ+XHJcbiAgICAgICAgICAgICAgeyFpc1JlYWRPbmx5ICYmIDxUYWJsZUhlYWQgY2xhc3NOYW1lPVwidGV4dC1yaWdodFwiPtek16LXldec15XXqjwvVGFibGVIZWFkPn1cclxuICAgICAgICAgICAgICA8VGFibGVIZWFkIGNsYXNzTmFtZT1cInRleHQtcmlnaHRcIj7XqteX15XXnTwvVGFibGVIZWFkPlxyXG4gICAgICAgICAgICAgIDxUYWJsZUhlYWQgY2xhc3NOYW1lPVwidGV4dC1yaWdodFwiPtee16HXkteo16o8L1RhYmxlSGVhZD5cclxuICAgICAgICAgICAgICA8VGFibGVIZWFkIGNsYXNzTmFtZT1cInRleHQtcmlnaHRcIj7XpteV15XXqjwvVGFibGVIZWFkPlxyXG4gICAgICAgICAgICA8L1RhYmxlUm93PlxyXG4gICAgICAgICAgPC9UYWJsZUhlYWRlcj5cclxuICAgICAgICAgIDxUYWJsZUJvZHk+XHJcbiAgICAgICAgICAgIHt1c2Vycy5tYXAoKHVzZXJEYXRhKSA9PiB7XHJcbiAgICAgICAgICAgICAgY29uc3Qgc3RhdHVzID0gZ2V0U3RhdHVzVGV4dCh1c2VyRGF0YS5pbl9zaGVsdGVyKVxyXG4gICAgICAgICAgICAgIGNvbnN0IGlzQ2hhbmdlZCA9IGNoYW5nZWRSb3dzLmhhcyh1c2VyRGF0YS5uYXRpb25hbF9pZClcclxuICAgICAgICAgICAgICBjb25zdCBpc0xvY2tlZCA9IHVzZXJEYXRhLmxvY2tfc3RhdHVzIHx8IGZhbHNlXHJcbiAgICAgICAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgICAgICAgIDxUYWJsZVJvd1xyXG4gICAgICAgICAgICAgICAgICBrZXk9e3VzZXJEYXRhLm5hdGlvbmFsX2lkfVxyXG4gICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2lzQ2hhbmdlZCA/IFwiYmctZ3JlZW4tNTAgYm9yZGVyLWdyZWVuLTIwMCBhbmltYXRlLXB1bHNlXCIgOiBcIlwifVxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICA8VGFibGVDZWxsIGNsYXNzTmFtZT1cImZvbnQtbWVkaXVtXCI+XHJcbiAgICAgICAgICAgICAgICAgICAge3VzZXJEYXRhLm5hbWV9XHJcbiAgICAgICAgICAgICAgICAgICAge2lzQ2hhbmdlZCAmJiA8c3BhbiBjbGFzc05hbWU9XCJtbC0yIHRleHQtZ3JlZW4tNjAwXCI+8J+UhDwvc3Bhbj59XHJcbiAgICAgICAgICAgICAgICAgIDwvVGFibGVDZWxsPlxyXG4gICAgICAgICAgICAgICAgICA8VGFibGVDZWxsPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT17c3RhdHVzLmNvbG9yfT57c3RhdHVzLnRleHR9PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICA8L1RhYmxlQ2VsbD5cclxuICAgICAgICAgICAgICAgICAgeyFpc1JlYWRPbmx5ICYmIChcclxuICAgICAgICAgICAgICAgICAgICA8VGFibGVDZWxsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGdhcC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt1c2VyPy5yb2xlICE9PSBcInVzZXJcIiAmJiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPEJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyaWFudD1cIm91dGxpbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNtXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0U2NvcGVVc2VyKHVzZXJEYXRhKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRTY29wZU1vZGFsT3Blbih0cnVlKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInRleHQtYmx1ZS02MDAgaG92ZXI6dGV4dC1ibHVlLTcwMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZT1cIkVkaXQgYXNzaWdubWVudFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPFBlbmNpbCBjbGFzc05hbWU9XCJoLTQgdy00XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L0J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPEJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHZhcmlhbnQ9XCJvdXRsaW5lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplPVwic21cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFNlbGVjdGVkVXNlckZvclJlcG9ydCh1c2VyRGF0YSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFJlcG9ydE1vZGFsT3Blbih0cnVlKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwidGV4dC1ncmVlbi02MDAgaG92ZXI6dGV4dC1ncmVlbi03MDBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPE1lc3NhZ2VTcXVhcmUgY2xhc3NOYW1lPVwiaC00IHctNFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvQnV0dG9uPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPEJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHZhcmlhbnQ9XCJvdXRsaW5lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplPVwic21cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGhhbmRsZVRvZ2dsZVVzZXJMb2NrKHVzZXJEYXRhLm5hdGlvbmFsX2lkLCBpc0xvY2tlZCwgdXNlckRhdGEubmFtZSl9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzTG9ja2VkXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gXCJ0ZXh0LXllbGxvdy02MDAgaG92ZXI6dGV4dC15ZWxsb3ctNzAwIGJnLXllbGxvdy01MCBib3JkZXIteWVsbG93LTIwMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJ0ZXh0LWdyYXktNjAwIGhvdmVyOnRleHQtZ3JheS03MDAgYmctZ3JheS01MCBib3JkZXItZ3JheS0yMDBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZT17aXNMb2NrZWQgPyBcItec15fXpSDXnNeR15nXmNeV15wg16DXoteZ15zXlFwiIDogXCLXnNeX16Ug15zXoNei15nXnNeUXCJ9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICB7aXNMb2NrZWQgPyA8TG9jayBjbGFzc05hbWU9XCJoLTQgdy00XCIgLz4gOiA8TG9ja09wZW4gY2xhc3NOYW1lPVwiaC00IHctNFwiIC8+fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L0J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvVGFibGVDZWxsPlxyXG4gICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgICA8VGFibGVDZWxsPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQtc20gYmctZ3JlZW4tMTAwIHRleHQtZ3JlZW4tODAwIHB4LTIgcHktMSByb3VuZGVkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICB7dXNlckRhdGEuZmllbGQgfHwgXCLXnNeQINeU15XXkteT16hcIn1cclxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgIDwvVGFibGVDZWxsPlxyXG4gICAgICAgICAgICAgICAgICA8VGFibGVDZWxsPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQtc20gYmctYmx1ZS0xMDAgdGV4dC1ibHVlLTgwMCBweC0yIHB5LTEgcm91bmRlZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAge3VzZXJEYXRhLmRlcGFydG1lbnQgfHwgXCLXnNeQINeU15XXkteT16hcIn1cclxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgIDwvVGFibGVDZWxsPlxyXG4gICAgICAgICAgICAgICAgICA8VGFibGVDZWxsPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQtc20gYmctcHVycGxlLTEwMCB0ZXh0LXB1cnBsZS04MDAgcHgtMiBweS0xIHJvdW5kZWRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIHt1c2VyRGF0YS50ZWFtIHx8IFwi15zXkCDXlNeV15LXk9eoXCJ9XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICA8L1RhYmxlQ2VsbD5cclxuXHJcbiAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIDwvVGFibGVSb3c+XHJcbiAgICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICB9KX1cclxuICAgICAgICAgIDwvVGFibGVCb2R5PlxyXG4gICAgICAgIDwvVGFibGU+XHJcbiAgICAgICAge3VzZXJzLmxlbmd0aCA9PT0gMCAmJiA8ZGl2IGNsYXNzTmFtZT1cInRleHQtY2VudGVyIHB5LTggdGV4dC1ncmF5LTUwMFwiPteQ15nXnyDXntep16rXntep15nXnTwvZGl2Pn1cclxuICAgICAgPC9kaXY+XHJcbiAgICApXHJcbiAgfVxyXG5cclxuICBjb25zdCBmaWVsZE5hbWVCeUlkID0gbmV3IE1hcChtYW5hZ2VkVHlwZXMuZmllbGRzLm1hcCgoZmllbGQpID0+IFtmaWVsZC5pZCwgZmllbGQubmFtZV0pKVxyXG4gIGNvbnN0IGRlcGFydG1lbnROYW1lQnlJZCA9IG5ldyBNYXAobWFuYWdlZFR5cGVzLmRlcGFydG1lbnRzLm1hcCgoZGVwdCkgPT4gW2RlcHQuaWQsIGRlcHQubmFtZV0pKVxyXG4gIGNvbnN0IGFsbG93ZWRNYW5hZ2VkVGFicyA9XHJcbiAgICB1c2VyPy5yb2xlID09PSBcImdsb2JhbF9hZG1pblwiIHx8IHVzZXI/LnJvbGUgPT09IFwiZmllbGRfYWRtaW5cIlxyXG4gICAgICA/IFtcImZpZWxkXCIsIFwiZGVwYXJ0bWVudFwiLCBcInRlYW1cIl1cclxuICAgICAgOiB1c2VyPy5yb2xlID09PSBcImRlcGFydG1lbnRfYWRtaW5cIlxyXG4gICAgICAgID8gW1wiZGVwYXJ0bWVudFwiLCBcInRlYW1cIl1cclxuICAgICAgICA6IFtdXHJcblxyXG4gIHVzZUVmZmVjdCgoKSA9PiB7XHJcbiAgICBpZiAoYWxsb3dlZE1hbmFnZWRUYWJzLmxlbmd0aCA+IDAgJiYgIWFsbG93ZWRNYW5hZ2VkVGFicy5pbmNsdWRlcyhtYW5hZ2VkVHlwZVRhYikpIHtcclxuICAgICAgc2V0TWFuYWdlZFR5cGVUYWIoYWxsb3dlZE1hbmFnZWRUYWJzWzBdIGFzIFwiZmllbGRcIiB8IFwiZGVwYXJ0bWVudFwiIHwgXCJ0ZWFtXCIpXHJcbiAgICB9XHJcbiAgfSwgW2FsbG93ZWRNYW5hZ2VkVGFicywgbWFuYWdlZFR5cGVUYWJdKVxyXG5cclxuICBpZiAoIXVzZXIpIHJldHVybiBudWxsXHJcblxyXG4gIHJldHVybiAoXHJcbiAgICA8ZGl2IGNsYXNzTmFtZT1cIm1pbi1oLXNjcmVlbiBiZy1ncmF5LTUwIHAtNFwiIGRpcj1cInJ0bFwiPlxyXG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cIm1heC13LTZ4bCBteC1hdXRvIHNwYWNlLXktNlwiIGRpcj1cInJ0bFwiPlxyXG4gICAgICAgIDxDYXJkPlxyXG4gICAgICAgICAgPENhcmRIZWFkZXI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBqdXN0aWZ5LWJldHdlZW4gaXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgPENhcmRUaXRsZSBjbGFzc05hbWU9XCJ0ZXh0LXhsXCI+16DXmdeU15XXnDwvQ2FyZFRpdGxlPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTJcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTIgdGV4dC1zbSB0ZXh0LWdyYXktNjAwIHRleHQtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgIHtnbG9iYWxDb25uZWN0ZWQgfHwgdGVhbUNvbm5lY3RlZCB8fCBkZXBhcnRtZW50Q29ubmVjdGVkIHx8IGZpZWxkQ29ubmVjdGVkID8gKFxyXG4gICAgICAgICAgICAgICAgICAgIDw+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8WmFwIGNsYXNzTmFtZT1cImgtNCB3LTQgdGV4dC1ncmVlbi01MDBcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC1ncmVlbi02MDBcIj7Xnten15XXldefPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvPlxyXG4gICAgICAgICAgICAgICAgICApIDogKFxyXG4gICAgICAgICAgICAgICAgICAgIDw+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8V2lmaU9mZiBjbGFzc05hbWU9XCJoLTQgdy00IHRleHQtcmVkLTUwMFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LXJlZC02MDBcIj7Xnteq15fXkdeoLi4uPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvPlxyXG4gICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8QnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgIHZhcmlhbnQ9XCJvdXRsaW5lXCJcclxuICAgICAgICAgICAgICAgICAgc2l6ZT1cInNtXCJcclxuICAgICAgICAgICAgICAgICAgb25DbGljaz17aGFuZGxlTWFudWFsUmVmcmVzaH1cclxuICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2lzUmVmcmVzaGluZ31cclxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTFcIlxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICA8UmVmcmVzaEN3IGNsYXNzTmFtZT17YGgtNCB3LTQgJHtpc1JlZnJlc2hpbmcgPyBcImFuaW1hdGUtc3BpblwiIDogXCJcIn1gfSAvPlxyXG4gICAgICAgICAgICAgICAgPC9CdXR0b24+XHJcbiAgICAgICAgICAgICAgICB7dXNlcj8ucm9sZSAhPT0gXCJ1c2VyXCIgJiYgKFxyXG4gICAgICAgICAgICAgICAgICA8QnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgdmFyaWFudD1cIm91dGxpbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHJvdXRlci5wdXNoKFwiL3JvbGUtYWRtaW5cIil9XHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTJcIlxyXG4gICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgPFVzZXJDb2cgY2xhc3NOYW1lPVwiaC00IHctNFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgIDwvQnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICAgIDxCdXR0b24gdmFyaWFudD1cIm91dGxpbmVcIiBvbkNsaWNrPXsoKSA9PiByb3V0ZXIucHVzaChcIi9kYXNoYm9hcmRcIil9IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxIb21lIGNsYXNzTmFtZT1cImgtNCB3LTRcIiAvPlxyXG4gICAgICAgICAgICAgICAgPC9CdXR0b24+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9DYXJkSGVhZGVyPlxyXG4gICAgICAgIDwvQ2FyZD5cclxuXHJcbiAgICAgICAge21lc3NhZ2UgJiYgKFxyXG4gICAgICAgICAgPEFsZXJ0PlxyXG4gICAgICAgICAgICA8QWxlcnREZXNjcmlwdGlvbj57bWVzc2FnZX08L0FsZXJ0RGVzY3JpcHRpb24+XHJcbiAgICAgICAgICA8L0FsZXJ0PlxyXG4gICAgICAgICl9XHJcblxyXG4gICAgICAgIHtkZWJ1Z01vZGUgJiYgKFxyXG4gICAgICAgICAgPEFsZXJ0PlxyXG4gICAgICAgICAgICA8QWxlcnREZXNjcmlwdGlvbj5cclxuICAgICAgICAgICAgICA8c3Ryb25nPkRlYnVnIEluZm86PC9zdHJvbmc+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0ZXh0LXhzIG10LTIgYmctZ3JheS0xMDAgcC0yIHJvdW5kZWQgc3BhY2UteS0xXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2PlVzZXI6IHt1c2VyPy5uYW1lfSAoe3VzZXI/LnJvbGV9KTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdj5UZWFtOiB7dGVhbU5hbWV9PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2Pkdsb2JhbCBVc2Vyczoge2dsb2JhbFVzZXJzLmxlbmd0aH08L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXY+R2xvYmFsIENvbm5lY3RlZDoge2dsb2JhbENvbm5lY3RlZCA/IFwiWWVzXCIgOiBcIk5vXCJ9PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2Pkdsb2JhbCBSZXNldCBDb29sZG93bjoge2dsb2JhbFJlc2V0Q29vbGRvd259IHNlY29uZHM8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXY+VGVhbSBSZXNldCBDb29sZG93bjoge3RlYW1SZXNldENvb2xkb3dufSBzZWNvbmRzPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2PkRlcGFydG1lbnQgUmVzZXQgQ29vbGRvd246IHtkZXBhcnRtZW50UmVzZXRDb29sZG93bn0gc2Vjb25kczwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdj5GaWVsZCBSZXNldCBDb29sZG93bjoge2ZpZWxkUmVzZXRDb29sZG93bn0gc2Vjb25kczwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L0FsZXJ0RGVzY3JpcHRpb24+XHJcbiAgICAgICAgICA8L0FsZXJ0PlxyXG4gICAgICAgICl9XHJcblxyXG4gICAgICAgIDxUYWJzIHZhbHVlPXthY3RpdmVUYWJ9IG9uVmFsdWVDaGFuZ2U9e3NldEFjdGl2ZVRhYn0gY2xhc3NOYW1lPVwidy1mdWxsXCIgZGlyPVwicnRsXCI+XHJcbiAgICAgICAgICA8VGFic0xpc3QgY2xhc3NOYW1lPVwiZ3JpZCB3LWZ1bGwgZ3JpZC1jb2xzLTRcIj5cclxuICAgICAgICAgICAgPFRhYnNUcmlnZ2VyIHZhbHVlPVwidGVhbVwiIGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0yXCI+XHJcbiAgICAgICAgICAgICAgPFVzZXJzSWNvbiBjbGFzc05hbWU9XCJoLTQgdy00XCIgLz5cclxuICAgICAgICAgICAgICDXpteV15XXqlxyXG4gICAgICAgICAgICA8L1RhYnNUcmlnZ2VyPlxyXG4gICAgICAgICAgICA8VGFic1RyaWdnZXIgdmFsdWU9XCJkZXBhcnRtZW50XCIgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTJcIj5cclxuICAgICAgICAgICAgICA8QnVpbGRpbmcyIGNsYXNzTmFtZT1cImgtNCB3LTRcIiAvPlxyXG4gICAgICAgICAgICAgINee16HXkteo16pcclxuICAgICAgICAgICAgPC9UYWJzVHJpZ2dlcj5cclxuICAgICAgICAgICAgPFRhYnNUcmlnZ2VyIHZhbHVlPVwiZmllbGRcIiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMlwiPlxyXG4gICAgICAgICAgICAgIDxHbG9iZSBjbGFzc05hbWU9XCJoLTQgdy00XCIgLz5cclxuICAgICAgICAgICAgICDXqteX15XXnVxyXG4gICAgICAgICAgICA8L1RhYnNUcmlnZ2VyPlxyXG4gICAgICAgICAgICA8VGFic1RyaWdnZXIgdmFsdWU9XCJnbG9iYWxcIiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMlwiPlxyXG4gICAgICAgICAgICAgIDxHbG9iZSBjbGFzc05hbWU9XCJoLTQgdy00XCIgLz5cclxuICAgICAgICAgICAgICDXm9ec15zXmVxyXG4gICAgICAgICAgICA8L1RhYnNUcmlnZ2VyPlxyXG4gICAgICAgICAgPC9UYWJzTGlzdD5cclxuXHJcbiAgICAgICAgICA8VGFic0NvbnRlbnQgdmFsdWU9XCJ0ZWFtXCIgY2xhc3NOYW1lPVwic3BhY2UteS02XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZ3JpZCBtZDpncmlkLWNvbHMtMiBnYXAtNlwiPlxyXG4gICAgICAgICAgICAgIDxDYXJkPlxyXG4gICAgICAgICAgICAgICAgPENhcmRIZWFkZXI+XHJcbiAgICAgICAgICAgICAgICAgIDxDYXJkVGl0bGUgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8Um90YXRlQ2N3IGNsYXNzTmFtZT1cImgtNSB3LTVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgINeQ15nXpNeV16Eg16HXmNeY15XXodeZINeU16bXldeV16pcclxuICAgICAgICAgICAgICAgICAgPC9DYXJkVGl0bGU+XHJcbiAgICAgICAgICAgICAgICA8L0NhcmRIZWFkZXI+XHJcbiAgICAgICAgICAgICAgICA8Q2FyZENvbnRlbnQgY2xhc3NOYW1lPVwic3BhY2UteS00XCI+XHJcbiAgICAgICAgICAgICAgICAgIDxCdXR0b25cclxuICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXtoYW5kbGVUZWFtUmVzZXR9XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e3RlYW1SZXNldENvb2xkb3duID4gMH1cclxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJ3LWZ1bGxcIlxyXG4gICAgICAgICAgICAgICAgICAgIHZhcmlhbnQ9e3RlYW1SZXNldENvb2xkb3duID4gMCA/IFwic2Vjb25kYXJ5XCIgOiBcImRlc3RydWN0aXZlXCJ9XHJcbiAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICB7dGVhbVJlc2V0Q29vbGRvd24gPiAwID8gKFxyXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8Q2xvY2sgY2xhc3NOYW1lPVwiaC00IHctNFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgINeU157XqtefIHtmb3JtYXRDb29sZG93blRpbWUodGVhbVJlc2V0Q29vbGRvd24pfVxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgKSA6IChcclxuICAgICAgICAgICAgICAgICAgICAgIGDXkNek16Eg15DXqiDXm9ecINeU16HXmNeY15XXodeZ150g16nXnCDXpteV15XXqiAke3RlYW1OYW1lfWBcclxuICAgICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgICA8L0J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0ZXh0LXhzIHRleHQtZ3JheS01MDAgYmcteWVsbG93LTUwIHAtMiByb3VuZGVkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHN0cm9uZz7XlNei16jXlDo8L3N0cm9uZz4g15DXmdek15XXoSDXmdeQ16TXoSDXqNenINeQ16og15TXntep16rXntep15nXnSDXnteU16bXldeV16og16nXnNeaICh7dGVhbU5hbWV9KSDXqdeQ15nXoNedINeg16LXldec15nXnVxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvQ2FyZENvbnRlbnQ+XHJcbiAgICAgICAgICAgICAgPC9DYXJkPlxyXG5cclxuICAgICAgICAgICAgICB7cmVuZGVyU3RhdHNTZWN0aW9uKHRlYW1TdGF0cywgaGFuZGxlVGVhbUNhdGVnb3J5Q2xpY2ssIHRydWUpfVxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxDYXJkPlxyXG4gICAgICAgICAgICAgIDxDYXJkSGVhZGVyPlxyXG4gICAgICAgICAgICAgICAgPENhcmRUaXRsZSBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMlwiPlxyXG4gICAgICAgICAgICAgICAgICA8RXllIGNsYXNzTmFtZT1cImgtNSB3LTVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICDXoNeZ15TXldecINee16nXqtee16nXmSDXpteV15XXqiB7dGVhbU5hbWV9XHJcbiAgICAgICAgICAgICAgICAgIHt0ZWFtQ2hhbmdlZFJvd3Muc2l6ZSA+IDAgJiYgKFxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQteHMgYmctZ3JlZW4tMTAwIHRleHQtZ3JlZW4tODAwIHB4LTIgcHktMSByb3VuZGVkLWZ1bGxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIHt0ZWFtQ2hhbmdlZFJvd3Muc2l6ZX0g16LXk9eb15XXoNeZ150g15fXk9ep15nXnVxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICAgIDwvQ2FyZFRpdGxlPlxyXG4gICAgICAgICAgICAgIDwvQ2FyZEhlYWRlcj5cclxuICAgICAgICAgICAgICA8Q2FyZENvbnRlbnQ+XHJcbiAgICAgICAgICAgICAgICB7bG9hZGluZ1VzZXJzID8gKFxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInRleHQtY2VudGVyIHB5LTRcIj7XmNeV16LXnyDXntep16rXntep15nXnS4uLjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgKSA6IChcclxuICAgICAgICAgICAgICAgICAgcmVuZGVyVXNlcnNUYWJsZSh0ZWFtVXNlcnMsIHRlYW1DaGFuZ2VkUm93cylcclxuICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgPC9DYXJkQ29udGVudD5cclxuICAgICAgICAgICAgPC9DYXJkPlxyXG4gICAgICAgICAgPC9UYWJzQ29udGVudD5cclxuXHJcbiAgICAgICAgICA8VGFic0NvbnRlbnQgdmFsdWU9XCJkZXBhcnRtZW50XCIgY2xhc3NOYW1lPVwic3BhY2UteS02XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZ3JpZCBtZDpncmlkLWNvbHMtMiBnYXAtNlwiPlxyXG4gICAgICAgICAgICAgIDxDYXJkPlxyXG4gICAgICAgICAgICAgICAgPENhcmRIZWFkZXI+XHJcbiAgICAgICAgICAgICAgICAgIDxDYXJkVGl0bGUgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8Um90YXRlQ2N3IGNsYXNzTmFtZT1cImgtNSB3LTVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIHt1c2VyPy5yb2xlID09PSBcInRlYW1fYWRtaW5cIiA/IFwi16bXpNeZ15nXlCDXkdee16HXkteo16pcIiA6IFwi15DXmdek15XXoSDXodeY15jXldeh15kg15TXnteh15LXqNeqXCJ9XHJcbiAgICAgICAgICAgICAgICAgIDwvQ2FyZFRpdGxlPlxyXG4gICAgICAgICAgICAgICAgPC9DYXJkSGVhZGVyPlxyXG4gICAgICAgICAgICAgICAgPENhcmRDb250ZW50IGNsYXNzTmFtZT1cInNwYWNlLXktNFwiPlxyXG4gICAgICAgICAgICAgICAgICB7dXNlcj8ucm9sZSA9PT0gXCJ0ZWFtX2FkbWluXCIgPyAoXHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0ZXh0LWNlbnRlciBwLTQgYmctYmx1ZS01MCByb3VuZGVkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJ0ZXh0LWJsdWUtODAwIGZvbnQtc2VtaWJvbGRcIj7Xptek15nXmdeUINeR15zXkdeTPC9wPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwidGV4dC1zbSB0ZXh0LWJsdWUtNjAwXCI+15vXnteg15TXnCDXpteV15XXqiwg15DXqteUINeZ15vXldecINec16jXkNeV16og15DXqiDXlNee16HXkteo16og16nXnNeaINeQ15og15zXkCDXnNeQ16TXoSDXkNeV16rXlDwvcD5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgKSA6IChcclxuICAgICAgICAgICAgICAgICAgICA8PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPEJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXtoYW5kbGVEZXBhcnRtZW50UmVzZXR9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkZXBhcnRtZW50UmVzZXRDb29sZG93biA+IDB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInctZnVsbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhcmlhbnQ9e2RlcGFydG1lbnRSZXNldENvb2xkb3duID4gMCA/IFwic2Vjb25kYXJ5XCIgOiBcImRlc3RydWN0aXZlXCJ9XHJcbiAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHtkZXBhcnRtZW50UmVzZXRDb29sZG93biA+IDAgPyAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPENsb2NrIGNsYXNzTmFtZT1cImgtNCB3LTRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAg15TXnteq158ge2Zvcm1hdENvb2xkb3duVGltZShkZXBhcnRtZW50UmVzZXRDb29sZG93bil9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICkgOiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYNeQ16TXoSDXkNeqINeb15wg15TXodeY15jXldeh15nXnSDXqdecINee16HXkteo16ogJHtkZXBhcnRtZW50TmFtZX1gXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L0J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidGV4dC14cyB0ZXh0LWdyYXktNTAwIGJnLXllbGxvdy01MCBwLTIgcm91bmRlZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3Ryb25nPteU16LXqNeUOjwvc3Ryb25nPiDXkNeZ16TXldehINeZ15DXpNehINeQ16og15vXnCDXlNee16nXqtee16nXmdedINee15TXnteh15LXqNeqINep15zXmiAoe2RlcGFydG1lbnROYW1lfSkg16nXkNeZ16DXnSDXoNei15XXnNeZ151cclxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvPlxyXG4gICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgPC9DYXJkQ29udGVudD5cclxuICAgICAgICAgICAgICA8L0NhcmQ+XHJcblxyXG4gICAgICAgICAgICAgIHtyZW5kZXJTdGF0c1NlY3Rpb24oZGVwYXJ0bWVudFN0YXRzLCBoYW5kbGVEZXBhcnRtZW50Q2F0ZWdvcnlDbGljaywgZmFsc2UsIGRlcGFydG1lbnROYW1lKX1cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8Q2FyZD5cclxuICAgICAgICAgICAgICA8Q2FyZEhlYWRlcj5cclxuICAgICAgICAgICAgICAgIDxDYXJkVGl0bGUgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTJcIj5cclxuICAgICAgICAgICAgICAgICAgPEV5ZSBjbGFzc05hbWU9XCJoLTUgdy01XCIgLz5cclxuICAgICAgICAgICAgICAgICAge3VzZXI/LnJvbGUgPT09IFwidGVhbV9hZG1pblwiID8gXCLXptek15nXmdeUINeR157Xqdeq157XqdeZINee16HXkteo16pcIiA6IFwi16DXmdeU15XXnCDXntep16rXntep15kg157XodeS16jXqlwifSB7ZGVwYXJ0bWVudE5hbWV9XHJcbiAgICAgICAgICAgICAgICAgIHtkZXBhcnRtZW50Q2hhbmdlZFJvd3Muc2l6ZSA+IDAgJiYgKFxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQteHMgYmctZ3JlZW4tMTAwIHRleHQtZ3JlZW4tODAwIHB4LTIgcHktMSByb3VuZGVkLWZ1bGxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIHtkZXBhcnRtZW50Q2hhbmdlZFJvd3Muc2l6ZX0g16LXk9eb15XXoNeZ150g15fXk9ep15nXnVxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICAgIDwvQ2FyZFRpdGxlPlxyXG4gICAgICAgICAgICAgIDwvQ2FyZEhlYWRlcj5cclxuICAgICAgICAgICAgICA8Q2FyZENvbnRlbnQ+XHJcbiAgICAgICAgICAgICAgICB7bG9hZGluZ1VzZXJzID8gKFxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInRleHQtY2VudGVyIHB5LTRcIj7XmNeV16LXnyDXntep16rXntep15nXnS4uLjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgKSA6IChcclxuICAgICAgICAgICAgICAgICAgcmVuZGVyVXNlcnNUYWJsZShkZXBhcnRtZW50VXNlcnMsIGRlcGFydG1lbnRDaGFuZ2VkUm93cywgdXNlcj8ucm9sZSA9PT0gXCJ0ZWFtX2FkbWluXCIpXHJcbiAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgIDwvQ2FyZENvbnRlbnQ+XHJcbiAgICAgICAgICAgIDwvQ2FyZD5cclxuICAgICAgICAgIDwvVGFic0NvbnRlbnQ+XHJcblxyXG4gICAgICAgICAgPFRhYnNDb250ZW50IHZhbHVlPVwiZmllbGRcIiBjbGFzc05hbWU9XCJzcGFjZS15LTZcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJncmlkIG1kOmdyaWQtY29scy0yIGdhcC02XCI+XHJcbiAgICAgICAgICAgICAgPENhcmQ+XHJcbiAgICAgICAgICAgICAgICA8Q2FyZEhlYWRlcj5cclxuICAgICAgICAgICAgICAgICAgPENhcmRUaXRsZSBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxSb3RhdGVDY3cgY2xhc3NOYW1lPVwiaC01IHctNVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAg15DXmdek15XXoSDXodeY15jXldeh15kg15TXqteX15XXnVxyXG4gICAgICAgICAgICAgICAgICA8L0NhcmRUaXRsZT5cclxuICAgICAgICAgICAgICAgIDwvQ2FyZEhlYWRlcj5cclxuICAgICAgICAgICAgICAgIDxDYXJkQ29udGVudCBjbGFzc05hbWU9XCJzcGFjZS15LTRcIj5cclxuICAgICAgICAgICAgICAgICAgeyh1c2VyPy5yb2xlID09PSBcImRlcGFydG1lbnRfYWRtaW5cIiB8fCB1c2VyPy5yb2xlID09PSBcInRlYW1fYWRtaW5cIikgPyAoXHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0ZXh0LWNlbnRlciBwLTQgYmctYmx1ZS01MCByb3VuZGVkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJ0ZXh0LWJsdWUtODAwIGZvbnQtc2VtaWJvbGRcIj7Xptek15nXmdeUINeR15zXkdeTPC9wPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwidGV4dC1zbSB0ZXh0LWJsdWUtNjAwXCI+15t7Uk9MRV9OQU1FU1t1c2VyLnJvbGVdfSwg15DXqteUINeZ15vXldecINec16jXkNeV16og15DXqiDXlNeq15fXldedINep15zXmiDXkNeaINec15Ag15zXkNek16Eg15DXldeq15U8L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICkgOiAoXHJcbiAgICAgICAgICAgICAgICAgICAgPD5cclxuICAgICAgICAgICAgICAgICAgPEJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2hhbmRsZUZpZWxkUmVzZXR9XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2ZpZWxkUmVzZXRDb29sZG93biA+IDB9XHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwidy1mdWxsXCJcclxuICAgICAgICAgICAgICAgICAgICB2YXJpYW50PXtmaWVsZFJlc2V0Q29vbGRvd24gPiAwID8gXCJzZWNvbmRhcnlcIiA6IFwiZGVzdHJ1Y3RpdmVcIn1cclxuICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIHtmaWVsZFJlc2V0Q29vbGRvd24gPiAwID8gKFxyXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8Q2xvY2sgY2xhc3NOYW1lPVwiaC00IHctNFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgINeU157XqtefIHtmb3JtYXRDb29sZG93blRpbWUoZmllbGRSZXNldENvb2xkb3duKX1cclxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICkgOiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICBg15DXpNehINeQ16og15vXnCDXlNeh15jXmNeV16HXmdedINep15wg16rXl9eV150gJHtmaWVsZE5hbWV9YFxyXG4gICAgICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICAgIDwvQnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInRleHQteHMgdGV4dC1ncmF5LTUwMCBiZy15ZWxsb3ctNTAgcC0yIHJvdW5kZWRcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3Ryb25nPteU16LXqNeUOjwvc3Ryb25nPiDXkNeZ16TXldehINeZ15DXpNehINeQ16og15vXnCDXlNee16nXqtee16nXmdedINee15TXqteX15XXnSDXqdec15ogKHtmaWVsZE5hbWV9KSDXqdeQ15nXoNedINeg16LXldec15nXnVxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC8+XHJcbiAgICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICA8L0NhcmRDb250ZW50PlxyXG4gICAgICAgICAgICAgIDwvQ2FyZD5cclxuICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICB7cmVuZGVyU3RhdHNTZWN0aW9uKGZpZWxkU3RhdHMsIGhhbmRsZUZpZWxkQ2F0ZWdvcnlDbGljaywgZmFsc2UsIGZpZWxkTmFtZSl9XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPENhcmQ+XHJcbiAgICAgICAgICAgICAgPENhcmRIZWFkZXI+XHJcbiAgICAgICAgICAgICAgICA8Q2FyZFRpdGxlIGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxFeWUgY2xhc3NOYW1lPVwiaC01IHctNVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgIHsodXNlcj8ucm9sZSA9PT0gXCJ0ZWFtX2FkbWluXCIgfHwgdXNlcj8ucm9sZSA9PT0gXCJkZXBhcnRtZW50X2FkbWluXCIpID8gXCLXptek15nXmdeUINeR157Xqdeq157XqdeZINeq15fXldedXCIgOiBcIteg15nXlNeV15wg157Xqdeq157XqdeZINeq15fXldedXCJ9IHtmaWVsZE5hbWV9XHJcbiAgICAgICAgICAgICAgICAgIHtmaWVsZENoYW5nZWRSb3dzLnNpemUgPiAwICYmIChcclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LXhzIGJnLWdyZWVuLTEwMCB0ZXh0LWdyZWVuLTgwMCBweC0yIHB5LTEgcm91bmRlZC1mdWxsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICB7ZmllbGRDaGFuZ2VkUm93cy5zaXplfSDXoteT15vXldeg15nXnSDXl9eT16nXmdedXHJcbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgPC9DYXJkVGl0bGU+XHJcbiAgICAgICAgICAgICAgPC9DYXJkSGVhZGVyPlxyXG4gICAgICAgICAgICAgIDxDYXJkQ29udGVudD5cclxuICAgICAgICAgICAgICAgIHtsb2FkaW5nVXNlcnMgPyAoXHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidGV4dC1jZW50ZXIgcHktNFwiPteY15XXotefINee16nXqtee16nXmdedLi4uPC9kaXY+XHJcbiAgICAgICAgICAgICAgICApIDogKFxyXG4gICAgICAgICAgICAgICAgICByZW5kZXJVc2Vyc1RhYmxlKGZpZWxkVXNlcnMsIGZpZWxkQ2hhbmdlZFJvd3MsICh1c2VyPy5yb2xlID09PSBcInRlYW1fYWRtaW5cIiB8fCB1c2VyPy5yb2xlID09PSBcImRlcGFydG1lbnRfYWRtaW5cIikpXHJcbiAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgIDwvQ2FyZENvbnRlbnQ+XHJcbiAgICAgICAgICAgIDwvQ2FyZD5cclxuICAgICAgICAgIDwvVGFic0NvbnRlbnQ+XHJcblxyXG4gICAgICAgICAgPFRhYnNDb250ZW50IHZhbHVlPVwiZ2xvYmFsXCIgY2xhc3NOYW1lPVwic3BhY2UteS02XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZ3JpZCBtZDpncmlkLWNvbHMtMiBnYXAtNlwiPlxyXG4gICAgICAgICAgICAgIDxDYXJkPlxyXG4gICAgICAgICAgICAgICAgPENhcmRIZWFkZXI+XHJcbiAgICAgICAgICAgICAgICAgIDxDYXJkVGl0bGUgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8Um90YXRlQ2N3IGNsYXNzTmFtZT1cImgtNSB3LTVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgINeQ15nXpNeV16Eg16HXmNeY15XXodeZ150g15vXnNec15lcclxuICAgICAgICAgICAgICAgICAgPC9DYXJkVGl0bGU+XHJcbiAgICAgICAgICAgICAgICA8L0NhcmRIZWFkZXI+XHJcbiAgICAgICAgICAgICAgICA8Q2FyZENvbnRlbnQgY2xhc3NOYW1lPVwic3BhY2UteS00XCI+XHJcbiAgICAgICAgICAgICAgICAgIDxCdXR0b25cclxuICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXtoYW5kbGVHbG9iYWxSZXNldEFsbH1cclxuICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17Z2xvYmFsUmVzZXRDb29sZG93biA+IDB9XHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwidy1mdWxsXCJcclxuICAgICAgICAgICAgICAgICAgICB2YXJpYW50PXtnbG9iYWxSZXNldENvb2xkb3duID4gMCA/IFwic2Vjb25kYXJ5XCIgOiBcImRlc3RydWN0aXZlXCJ9XHJcbiAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICB7Z2xvYmFsUmVzZXRDb29sZG93biA+IDAgPyAoXHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxDbG9jayBjbGFzc05hbWU9XCJoLTQgdy00XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAg15TXnteq158ge2Zvcm1hdENvb2xkb3duVGltZShnbG9iYWxSZXNldENvb2xkb3duKX1cclxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICkgOiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICBcIteQ16TXoSDXkNeqINeb15wg15TXodeY15jXldeh15nXnVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICAgICAgPC9CdXR0b24+XHJcbiAgICAgICAgICAgICAgICAgIHtnbG9iYWxMYXN0UmVzZXQgJiYgPHAgY2xhc3NOYW1lPVwidGV4dC1zbSB0ZXh0LWdyYXktNjAwXCI+15DXmdek15XXoSDXkNeX16jXldefOiB7Z2xvYmFsTGFzdFJlc2V0fTwvcD59XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidGV4dC14cyB0ZXh0LWdyYXktNTAwIGJnLXllbGxvdy01MCBwLTIgcm91bmRlZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzdHJvbmc+15TXoteo15Q6PC9zdHJvbmc+INeQ15nXpNeV16Eg15nXkNek16Eg15DXqiDXm9ecINeU157Xqdeq157XqdeZ150g15HXntei16jXm9eqICjXm9eV15zXnCDXnteg15TXnNeZ150pINep15DXmdeg150g16DXoteV15zXmdedXHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9DYXJkQ29udGVudD5cclxuICAgICAgICAgICAgICA8L0NhcmQ+XHJcblxyXG4gICAgICAgICAgICAgIHtyZW5kZXJTdGF0c1NlY3Rpb24oZ2xvYmFsU3RhdHMsIGhhbmRsZUdsb2JhbENhdGVnb3J5Q2xpY2ssIGZhbHNlKX1cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8Q2FyZD5cclxuICAgICAgICAgICAgICA8Q2FyZEhlYWRlcj5cclxuICAgICAgICAgICAgICAgIDxDYXJkVGl0bGUgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTJcIj5cclxuICAgICAgICAgICAgICAgICAgPFVzZXJQbHVzIGNsYXNzTmFtZT1cImgtNSB3LTVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICDXlNeV16HXpNeqINee16nXqtee16kg15fXk9epXHJcbiAgICAgICAgICAgICAgICA8L0NhcmRUaXRsZT5cclxuICAgICAgICAgICAgICA8L0NhcmRIZWFkZXI+XHJcbiAgICAgICAgICAgICAgPENhcmRDb250ZW50PlxyXG4gICAgICAgICAgICAgICAgPGZvcm0gb25TdWJtaXQ9e2hhbmRsZUFkZFVzZXJ9IGNsYXNzTmFtZT1cInNwYWNlLXktNFwiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInNwYWNlLXktNFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwic3BhY2UteS0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8TGFiZWwgaHRtbEZvcj1cIm5hbWVcIj7XqdedPC9MYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgIDxJbnB1dFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZD1cIm5hbWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT17bmV3VXNlci5uYW1lfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZT17KGUpID0+IHNldE5ld1VzZXIoeyAuLi5uZXdVc2VyLCBuYW1lOiBlLnRhcmdldC52YWx1ZSB9KX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCLXqdedXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWRcclxuICAgICAgICAgICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImdyaWQgbWQ6Z3JpZC1jb2xzLTIgZ2FwLTRcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInNwYWNlLXktMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPExhYmVsIGh0bWxGb3I9XCJmaWVsZFwiPteq15fXldedPC9MYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgIDxTZWxlY3QgdmFsdWU9e25ld1VzZXIuZmllbGR9IG9uVmFsdWVDaGFuZ2U9eyh2YWx1ZSkgPT4gc2V0TmV3VXNlcih7IC4uLm5ld1VzZXIsIGZpZWxkOiB2YWx1ZSB9KX0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxTZWxlY3RUcmlnZ2VyIGRpcj1cInJ0bFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxTZWxlY3RWYWx1ZSBwbGFjZWhvbGRlcj1cIteR15fXqCDXqteX15XXnVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvU2VsZWN0VHJpZ2dlcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPFNlbGVjdENvbnRlbnQgZGlyPVwicnRsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAge21hbmFnZWRUeXBlcy5maWVsZHMubWFwKChmaWVsZCkgPT4gKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPFNlbGVjdEl0ZW0ga2V5PXtmaWVsZC5uYW1lfSB2YWx1ZT17ZmllbGQubmFtZX0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtmaWVsZC5uYW1lfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9TZWxlY3RJdGVtPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICkpfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L1NlbGVjdENvbnRlbnQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L1NlbGVjdD5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInNwYWNlLXktMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPExhYmVsIGh0bWxGb3I9XCJkZXBhcnRtZW50XCI+157XodeS16jXqjwvTGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8U2VsZWN0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPXtuZXdVc2VyLmRlcGFydG1lbnR9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9uVmFsdWVDaGFuZ2U9eyh2YWx1ZSkgPT4gc2V0TmV3VXNlcih7IC4uLm5ld1VzZXIsIGRlcGFydG1lbnQ6IHZhbHVlIH0pfVxyXG4gICAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8U2VsZWN0VHJpZ2dlciBkaXI9XCJydGxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8U2VsZWN0VmFsdWUgcGxhY2Vob2xkZXI9XCLXkdeX16gg157XodeS16jXqlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvU2VsZWN0VHJpZ2dlcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPFNlbGVjdENvbnRlbnQgZGlyPVwicnRsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAge21hbmFnZWRUeXBlcy5kZXBhcnRtZW50cy5tYXAoKGRlcHQpID0+IChcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTZWxlY3RJdGVtIGtleT17ZGVwdC5uYW1lfSB2YWx1ZT17ZGVwdC5uYW1lfT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2RlcHQubmFtZX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvU2VsZWN0SXRlbT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICApKX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9TZWxlY3RDb250ZW50PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9TZWxlY3Q+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJzcGFjZS15LTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxMYWJlbCBodG1sRm9yPVwidGVhbVwiPtem15XXldeqPC9MYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgIDxTZWxlY3QgdmFsdWU9e25ld1VzZXIudGVhbX0gb25WYWx1ZUNoYW5nZT17KHZhbHVlKSA9PiBzZXROZXdVc2VyKHsgLi4ubmV3VXNlciwgdGVhbTogdmFsdWUgfSl9PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8U2VsZWN0VHJpZ2dlciBkaXI9XCJydGxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8U2VsZWN0VmFsdWUgcGxhY2Vob2xkZXI9XCLXkdeX16gg16bXldeV16pcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L1NlbGVjdFRyaWdnZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxTZWxlY3RDb250ZW50IGRpcj1cInJ0bFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHttYW5hZ2VkVHlwZXMudGVhbXMubWFwKCh0ZWFtKSA9PiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U2VsZWN0SXRlbSBrZXk9e3RlYW0ubmFtZX0gdmFsdWU9e3RlYW0ubmFtZX0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt0ZWFtLm5hbWV9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1NlbGVjdEl0ZW0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKSl9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvU2VsZWN0Q29udGVudD5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvU2VsZWN0PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwic3BhY2UteS0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8TGFiZWwgaHRtbEZvcj1cInJvbGVcIj7XlNeo16nXkNeUPC9MYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgIDxTZWxlY3RcclxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU9e25ld1VzZXIucm9sZX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgb25WYWx1ZUNoYW5nZT17KHZhbHVlKSA9PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHNldE5ld1VzZXIoe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4ubmV3VXNlcixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvbGU6IHZhbHVlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNBZG1pbjogdmFsdWUgIT09IFwidXNlclwiLCAvLyBBdXRvbWF0aWNhbGx5IHNldCBpc0FkbWluXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8U2VsZWN0VHJpZ2dlciBkaXI9XCJydGxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8U2VsZWN0VmFsdWUgcGxhY2Vob2xkZXI9XCLXkdeX16gg15TXqNep15DXlFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvU2VsZWN0VHJpZ2dlcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPFNlbGVjdENvbnRlbnQgZGlyPVwicnRsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPFNlbGVjdEl0ZW0gdmFsdWU9XCJ1c2VyXCI+157Xqdeq157XqSDXqNeS15nXnDwvU2VsZWN0SXRlbT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8U2VsZWN0SXRlbSB2YWx1ZT1cInRlYW1fYWRtaW5cIj7Xnteg15TXnCDXpteV15XXqjwvU2VsZWN0SXRlbT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8U2VsZWN0SXRlbSB2YWx1ZT1cImRlcGFydG1lbnRfYWRtaW5cIj7Xnteg15TXnCDXnteh15LXqNeqPC9TZWxlY3RJdGVtPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxTZWxlY3RJdGVtIHZhbHVlPVwiZmllbGRfYWRtaW5cIj7Xnteg15TXnCDXqteX15XXnTwvU2VsZWN0SXRlbT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9TZWxlY3RDb250ZW50PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9TZWxlY3Q+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInRleHQtc20gdGV4dC1ncmF5LTYwMCBiZy1ibHVlLTUwIHAtMyByb3VuZGVkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHN0cm9uZz7XlNei16jXlDo8L3N0cm9uZz4g15TXntep16rXntepINeZ16fXkdecINeQ16og15TXodeZ16HXnteUINeU15bXnteg15nXqiBcInBhc3N3b3JkMTIzXCIg15XXmdeZ15PXqNepINec16nXoNeV16rXlCDXkdeb16DXmdeh15Qg15TXqNeQ16nXldeg15RcclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxCdXR0b24gdHlwZT1cInN1Ym1pdFwiIGNsYXNzTmFtZT1cInctZnVsbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgINeU15XXodejINee16nXqtee16lcclxuICAgICAgICAgICAgICAgICAgPC9CdXR0b24+XHJcbiAgICAgICAgICAgICAgICA8L2Zvcm0+XHJcbiAgICAgICAgICAgICAgPC9DYXJkQ29udGVudD5cclxuICAgICAgICAgICAgPC9DYXJkPlxyXG5cclxuICAgICAgICAgICAge2FsbG93ZWRNYW5hZ2VkVGFicy5sZW5ndGggPiAwICYmIChcclxuICAgICAgICAgICAgICA8Q2FyZD5cclxuICAgICAgICAgICAgICAgIDxDYXJkSGVhZGVyPlxyXG4gICAgICAgICAgICAgICAgICA8Q2FyZFRpdGxlIGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPFVzZXJzIGNsYXNzTmFtZT1cImgtNSB3LTVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgINeg15nXlNeV15wg16rXl9eV157XmdedLCDXnteh15LXqNeV16og15XXpteV15XXqteZ151cclxuICAgICAgICAgICAgICAgICAgPC9DYXJkVGl0bGU+XHJcbiAgICAgICAgICAgICAgICA8L0NhcmRIZWFkZXI+XHJcbiAgICAgICAgICAgICAgICA8Q2FyZENvbnRlbnQ+XHJcbiAgICAgICAgICAgICAgICAgIDxUYWJzXHJcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU9e21hbmFnZWRUeXBlVGFifVxyXG4gICAgICAgICAgICAgICAgICAgIG9uVmFsdWVDaGFuZ2U9eyh2YWx1ZSkgPT4gc2V0TWFuYWdlZFR5cGVUYWIodmFsdWUgYXMgXCJmaWVsZFwiIHwgXCJkZXBhcnRtZW50XCIgfCBcInRlYW1cIil9XHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwidy1mdWxsXCJcclxuICAgICAgICAgICAgICAgICAgICBkaXI9XCJydGxcIlxyXG4gICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgPFRhYnNMaXN0IGNsYXNzTmFtZT1cImdyaWQgdy1mdWxsIGdyaWQtY29scy0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICB7YWxsb3dlZE1hbmFnZWRUYWJzLmluY2x1ZGVzKFwiZmllbGRcIikgJiYgPFRhYnNUcmlnZ2VyIHZhbHVlPVwiZmllbGRcIj7XqteX15XXnteZ1508L1RhYnNUcmlnZ2VyPn1cclxuICAgICAgICAgICAgICAgICAgICAgIHthbGxvd2VkTWFuYWdlZFRhYnMuaW5jbHVkZXMoXCJkZXBhcnRtZW50XCIpICYmIChcclxuICAgICAgICAgICAgICAgICAgICAgICAgPFRhYnNUcmlnZ2VyIHZhbHVlPVwiZGVwYXJ0bWVudFwiPtee16HXkteo15XXqjwvVGFic1RyaWdnZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgICAgICAge2FsbG93ZWRNYW5hZ2VkVGFicy5pbmNsdWRlcyhcInRlYW1cIikgJiYgPFRhYnNUcmlnZ2VyIHZhbHVlPVwidGVhbVwiPtem15XXldeq15nXnTwvVGFic1RyaWdnZXI+fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvVGFic0xpc3Q+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHthbGxvd2VkTWFuYWdlZFRhYnMuaW5jbHVkZXMoXCJmaWVsZFwiKSAmJiAoXHJcbiAgICAgICAgICAgICAgICAgICAgPFRhYnNDb250ZW50IHZhbHVlPVwiZmllbGRcIiBjbGFzc05hbWU9XCJzcGFjZS15LTRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBnYXAtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8SW5wdXRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT17bmV3RmllbGROYW1lfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsoZSkgPT4gc2V0TmV3RmllbGROYW1lKGUudGFyZ2V0LnZhbHVlKX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIk5ldyBmaWVsZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e21hbmFnZWRUeXBlc0xvYWRpbmd9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxCdXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBoYW5kbGVBZGRNYW5hZ2VkVHlwZShcImZpZWxkXCIpfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXttYW5hZ2VkVHlwZXNMb2FkaW5nIHx8ICFuZXdGaWVsZE5hbWUudHJpbSgpfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAg15TXldeh16TXlFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L0J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0ZXh0LXhzIHRleHQtZ3JheS01MDBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAg15nXqSDXnNep15nXmdeaINee16nXqtee16nXmdedINen15nXmdee15nXnSDXnteX15PXqSDXnNek16DXmSDXnteX15nXp9eUIVxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInNwYWNlLXktMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7bWFuYWdlZFR5cGVzLmZpZWxkcy5sZW5ndGggPT09IDAgPyAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0ZXh0LXNtIHRleHQtZ3JheS01MDBcIj5ObyBmaWVsZHMgeWV0LjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICApIDogKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hbmFnZWRUeXBlcy5maWVsZHMubWFwKChpdGVtKSA9PiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGtleT17aXRlbS5uYW1lfSBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gcm91bmRlZCBib3JkZXIgcC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBmbGV4LWNvbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPntpdGVtLm5hbWV9PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2l0ZW0ubWFuYWdlZCA/IChcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhcmlhbnQ9XCJnaG9zdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU9XCJzbVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGhhbmRsZVJlbmFtZU1hbmFnZWRUeXBlKGl0ZW0uaWQsIGl0ZW0ubmFtZSl9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxQZW5jaWwgY2xhc3NOYW1lPVwiaC00IHctNCB0ZXh0LWJsdWUtNjAwXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXJpYW50PVwiZ2hvc3RcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplPVwic21cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBoYW5kbGVEZWxldGVNYW5hZ2VkVHlwZShpdGVtLmlkKX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFRyYXNoMiBjbGFzc05hbWU9XCJoLTQgdy00IHRleHQtcmVkLTYwMFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSA6IChcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LXhzIHRleHQtZ3JheS00MDBcIj5JbiB1c2U8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICApKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9UYWJzQ29udGVudD5cclxuICAgICAgICAgICAgICAgICAgICApfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICB7YWxsb3dlZE1hbmFnZWRUYWJzLmluY2x1ZGVzKFwiZGVwYXJ0bWVudFwiKSAmJiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICA8VGFic0NvbnRlbnQgdmFsdWU9XCJkZXBhcnRtZW50XCIgY2xhc3NOYW1lPVwic3BhY2UteS00XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBnYXAtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxTZWxlY3QgdmFsdWU9e25ld0RlcGFydG1lbnRQYXJlbnRJZH0gb25WYWx1ZUNoYW5nZT17c2V0TmV3RGVwYXJ0bWVudFBhcmVudElkfT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTZWxlY3RUcmlnZ2VyIGRpcj1cInJ0bFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U2VsZWN0VmFsdWUgcGxhY2Vob2xkZXI9XCJTZWxlY3QgZmllbGRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9TZWxlY3RUcmlnZ2VyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPFNlbGVjdENvbnRlbnQgZGlyPVwicnRsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHttYW5hZ2VkVHlwZXMuZmllbGRzLmZpbHRlcigoZmllbGQpID0+IGZpZWxkLmlkKS5tYXAoKGZpZWxkKSA9PiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFNlbGVjdEl0ZW0ga2V5PXtmaWVsZC5uYW1lfSB2YWx1ZT17U3RyaW5nKGZpZWxkLmlkKX0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7ZmllbGQubmFtZX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1NlbGVjdEl0ZW0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkpfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9TZWxlY3RDb250ZW50PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvU2VsZWN0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxJbnB1dFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU9e25ld0RlcGFydG1lbnROYW1lfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9eyhlKSA9PiBzZXROZXdEZXBhcnRtZW50TmFtZShlLnRhcmdldC52YWx1ZSl9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIk5ldyBkZXBhcnRtZW50XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXttYW5hZ2VkVHlwZXNMb2FkaW5nfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPEJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gaGFuZGxlQWRkTWFuYWdlZFR5cGUoXCJkZXBhcnRtZW50XCIpfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e21hbmFnZWRUeXBlc0xvYWRpbmcgfHwgIW5ld0RlcGFydG1lbnROYW1lLnRyaW0oKX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBBZGRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L0J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidGV4dC14cyB0ZXh0LWdyYXktNTAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgVmFsdWVzIGFzc2lnbmVkIHRvIHVzZXJzIG11c3QgYmUgcmVhc3NpZ25lZCBiZWZvcmUgZGVsZXRpb24uXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInNwYWNlLXktMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHttYW5hZ2VkVHlwZXMuZGVwYXJ0bWVudHMubGVuZ3RoID09PSAwID8gKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0ZXh0LXNtIHRleHQtZ3JheS01MDBcIj5ObyBkZXBhcnRtZW50cyB5ZXQuPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKSA6IChcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hbmFnZWRUeXBlcy5kZXBhcnRtZW50cy5tYXAoKGl0ZW0pID0+IChcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBrZXk9e2l0ZW0ubmFtZX0gY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuIHJvdW5kZWQgYm9yZGVyIHAtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBmbGV4LWNvbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e2l0ZW0ubmFtZX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7aXRlbS5wYXJlbnRJZCAmJiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQteHMgdGV4dC1ncmF5LTUwMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpZWxkOiB7ZmllbGROYW1lQnlJZC5nZXQoaXRlbS5wYXJlbnRJZCkgfHwgXCJVbmtub3duXCJ9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2l0ZW0ubWFuYWdlZCA/IChcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhcmlhbnQ9XCJnaG9zdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNtXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBoYW5kbGVSZW5hbWVNYW5hZ2VkVHlwZShpdGVtLmlkLCBpdGVtLm5hbWUpfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFBlbmNpbCBjbGFzc05hbWU9XCJoLTQgdy00IHRleHQtYmx1ZS02MDBcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhcmlhbnQ9XCJnaG9zdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNtXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBoYW5kbGVEZWxldGVNYW5hZ2VkVHlwZShpdGVtLmlkKX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxUcmFzaDIgY2xhc3NOYW1lPVwiaC00IHctNCB0ZXh0LXJlZC02MDBcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkgOiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LXhzIHRleHQtZ3JheS00MDBcIj5JbiB1c2U8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9UYWJzQ29udGVudD5cclxuICAgICAgICAgICAgICAgICAgICApfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICB7YWxsb3dlZE1hbmFnZWRUYWJzLmluY2x1ZGVzKFwidGVhbVwiKSAmJiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICA8VGFic0NvbnRlbnQgdmFsdWU9XCJ0ZWFtXCIgY2xhc3NOYW1lPVwic3BhY2UteS00XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBnYXAtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxTZWxlY3QgdmFsdWU9e25ld1RlYW1QYXJlbnRJZH0gb25WYWx1ZUNoYW5nZT17c2V0TmV3VGVhbVBhcmVudElkfT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTZWxlY3RUcmlnZ2VyIGRpcj1cInJ0bFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U2VsZWN0VmFsdWUgcGxhY2Vob2xkZXI9XCJTZWxlY3QgZGVwYXJ0bWVudFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1NlbGVjdFRyaWdnZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U2VsZWN0Q29udGVudCBkaXI9XCJydGxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge21hbmFnZWRUeXBlcy5kZXBhcnRtZW50cy5maWx0ZXIoKGRlcHQpID0+IGRlcHQuaWQpLm1hcCgoZGVwdCkgPT4gKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTZWxlY3RJdGVtIGtleT17ZGVwdC5uYW1lfSB2YWx1ZT17U3RyaW5nKGRlcHQuaWQpfT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtkZXB0Lm5hbWV9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9TZWxlY3RJdGVtPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICApKX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvU2VsZWN0Q29udGVudD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L1NlbGVjdD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8SW5wdXRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPXtuZXdUZWFtTmFtZX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsoZSkgPT4gc2V0TmV3VGVhbU5hbWUoZS50YXJnZXQudmFsdWUpfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJOZXcgdGVhbVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17bWFuYWdlZFR5cGVzTG9hZGluZ31cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxCdXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGhhbmRsZUFkZE1hbmFnZWRUeXBlKFwidGVhbVwiKX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXttYW5hZ2VkVHlwZXNMb2FkaW5nIHx8ICFuZXdUZWFtTmFtZS50cmltKCl9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQWRkXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9CdXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInRleHQteHMgdGV4dC1ncmF5LTUwMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFZhbHVlcyBhc3NpZ25lZCB0byB1c2VycyBtdXN0IGJlIHJlYXNzaWduZWQgYmVmb3JlIGRlbGV0aW9uLlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJzcGFjZS15LTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICB7bWFuYWdlZFR5cGVzLnRlYW1zLmxlbmd0aCA9PT0gMCA/IChcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidGV4dC1zbSB0ZXh0LWdyYXktNTAwXCI+Tm8gdGVhbXMgeWV0LjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICkgOiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYW5hZ2VkVHlwZXMudGVhbXMubWFwKChpdGVtKSA9PiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYga2V5PXtpdGVtLm5hbWV9IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlbiByb3VuZGVkIGJvcmRlciBwLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggZmxleC1jb2xcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPntpdGVtLm5hbWV9PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2l0ZW0ucGFyZW50SWQgJiYgKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LXhzIHRleHQtZ3JheS01MDBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXBhcnRtZW50OiB7ZGVwYXJ0bWVudE5hbWVCeUlkLmdldChpdGVtLnBhcmVudElkKSB8fCBcIlVua25vd25cIn1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7aXRlbS5tYW5hZ2VkID8gKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyaWFudD1cImdob3N0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplPVwic21cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGhhbmRsZVJlbmFtZU1hbmFnZWRUeXBlKGl0ZW0uaWQsIGl0ZW0ubmFtZSl9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8UGVuY2lsIGNsYXNzTmFtZT1cImgtNCB3LTQgdGV4dC1ibHVlLTYwMFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyaWFudD1cImdob3N0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplPVwic21cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGhhbmRsZURlbGV0ZU1hbmFnZWRUeXBlKGl0ZW0uaWQpfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFRyYXNoMiBjbGFzc05hbWU9XCJoLTQgdy00IHRleHQtcmVkLTYwMFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSA6IChcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQteHMgdGV4dC1ncmF5LTQwMFwiPkluIHVzZTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICkpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L1RhYnNDb250ZW50PlxyXG4gICAgICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICAgIDwvVGFicz5cclxuICAgICAgICAgICAgICAgIDwvQ2FyZENvbnRlbnQ+XHJcbiAgICAgICAgICAgICAgPC9DYXJkPlxyXG4gICAgICAgICAgICApfVxyXG5cclxuXHJcbiAgICAgICAgICAgIDxDYXJkPlxyXG4gICAgICAgICAgICAgIDxDYXJkSGVhZGVyPlxyXG4gICAgICAgICAgICAgICAgPENhcmRUaXRsZSBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMlwiPlxyXG4gICAgICAgICAgICAgICAgICA8RXllIGNsYXNzTmFtZT1cImgtNSB3LTVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICDXoNeZ15TXldecINeb15wg15TXntep16rXntep15nXnVxyXG4gICAgICAgICAgICAgICAgICB7Y2hhbmdlZFJvd3Muc2l6ZSA+IDAgJiYgKFxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQteHMgYmctZ3JlZW4tMTAwIHRleHQtZ3JlZW4tODAwIHB4LTIgcHktMSByb3VuZGVkLWZ1bGxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIHtjaGFuZ2VkUm93cy5zaXplfSDXoteT15vXldeg15nXnSDXl9eT16nXmdedXHJcbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgPC9DYXJkVGl0bGU+XHJcbiAgICAgICAgICAgICAgPC9DYXJkSGVhZGVyPlxyXG4gICAgICAgICAgICAgIDxDYXJkQ29udGVudD5cclxuICAgICAgICAgICAgICAgIHtsb2FkaW5nVXNlcnMgPyAoXHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidGV4dC1jZW50ZXIgcHktNFwiPteY15XXotefINee16nXqtee16nXmdedLi4uPC9kaXY+XHJcbiAgICAgICAgICAgICAgICApIDogKFxyXG4gICAgICAgICAgICAgICAgICByZW5kZXJVc2Vyc1RhYmxlKGdsb2JhbFVzZXJzLCBjaGFuZ2VkUm93cylcclxuICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgPC9DYXJkQ29udGVudD5cclxuICAgICAgICAgICAgPC9DYXJkPlxyXG4gICAgICAgICAgPC9UYWJzQ29udGVudD5cclxuICAgICAgICA8L1RhYnM+XHJcblxyXG4gICAgICAgIDxVc2VyQ2F0ZWdvcnlNb2RhbFxyXG4gICAgICAgICAgaXNPcGVuPXttb2RhbE9wZW59XHJcbiAgICAgICAgICBvbkNsb3NlPXsoKSA9PiBzZXRNb2RhbE9wZW4oZmFsc2UpfVxyXG4gICAgICAgICAgY2F0ZWdvcnk9e3NlbGVjdGVkQ2F0ZWdvcnl9XHJcbiAgICAgICAgICBjYXRlZ29yeU5hbWU9e3NlbGVjdGVkQ2F0ZWdvcnlOYW1lfVxyXG4gICAgICAgIC8+XHJcblxyXG4gICAgICAgIDxUZWFtVXNlckNhdGVnb3J5TW9kYWxcclxuICAgICAgICAgIGlzT3Blbj17dGVhbU1vZGFsT3Blbn1cclxuICAgICAgICAgIG9uQ2xvc2U9eygpID0+IHNldFRlYW1Nb2RhbE9wZW4oZmFsc2UpfVxyXG4gICAgICAgICAgY2F0ZWdvcnk9e3NlbGVjdGVkQ2F0ZWdvcnl9XHJcbiAgICAgICAgICBjYXRlZ29yeU5hbWU9e3NlbGVjdGVkQ2F0ZWdvcnlOYW1lfVxyXG4gICAgICAgICAgYWRtaW5JZD17dXNlcj8ubmF0aW9uYWxfaWQgfHwgXCJcIn1cclxuICAgICAgICAgIHRlYW1OYW1lPXt0ZWFtTmFtZX1cclxuICAgICAgICAvPlxyXG5cclxuICAgICAgICA8RGVwYXJ0bWVudFVzZXJDYXRlZ29yeU1vZGFsXHJcbiAgICAgICAgICBpc09wZW49e2RlcGFydG1lbnRNb2RhbE9wZW59XHJcbiAgICAgICAgICBvbkNsb3NlPXsoKSA9PiBzZXREZXBhcnRtZW50TW9kYWxPcGVuKGZhbHNlKX1cclxuICAgICAgICAgIGNhdGVnb3J5PXtzZWxlY3RlZENhdGVnb3J5fVxyXG4gICAgICAgICAgY2F0ZWdvcnlOYW1lPXtzZWxlY3RlZENhdGVnb3J5TmFtZX1cclxuICAgICAgICAgIGFkbWluSWQ9e3VzZXI/Lm5hdGlvbmFsX2lkIHx8IFwiXCJ9XHJcbiAgICAgICAgICBkZXBhcnRtZW50TmFtZT17ZGVwYXJ0bWVudE5hbWV9XHJcbiAgICAgICAgLz5cclxuXHJcbiAgICAgICAgPEZpZWxkVXNlckNhdGVnb3J5TW9kYWxcclxuICAgICAgICAgIGlzT3Blbj17ZmllbGRNb2RhbE9wZW59XHJcbiAgICAgICAgICBvbkNsb3NlPXsoKSA9PiBzZXRGaWVsZE1vZGFsT3BlbihmYWxzZSl9XHJcbiAgICAgICAgICBjYXRlZ29yeT17c2VsZWN0ZWRDYXRlZ29yeX1cclxuICAgICAgICAgIGNhdGVnb3J5TmFtZT17c2VsZWN0ZWRDYXRlZ29yeU5hbWV9XHJcbiAgICAgICAgICBhZG1pbklkPXt1c2VyPy5uYXRpb25hbF9pZCB8fCBcIlwifVxyXG4gICAgICAgICAgZmllbGROYW1lPXtmaWVsZE5hbWV9XHJcbiAgICAgICAgLz5cclxuXHJcbiAgICAgICAgPFVzZXJTY29wZU1vZGFsXHJcbiAgICAgICAgICBpc09wZW49e3Njb3BlTW9kYWxPcGVufVxyXG4gICAgICAgICAgb25DbG9zZT17KCkgPT4gc2V0U2NvcGVNb2RhbE9wZW4oZmFsc2UpfVxyXG4gICAgICAgICAgdXNlcj17c2NvcGVVc2VyfVxyXG4gICAgICAgICAgZmllbGRzPXttYW5hZ2VkVHlwZXMuZmllbGRzfVxyXG4gICAgICAgICAgZGVwYXJ0bWVudHM9e21hbmFnZWRUeXBlcy5kZXBhcnRtZW50c31cclxuICAgICAgICAgIHRlYW1zPXttYW5hZ2VkVHlwZXMudGVhbXN9XHJcbiAgICAgICAgICBvblNhdmU9e2hhbmRsZVVwZGF0ZVVzZXJTY29wZX1cclxuICAgICAgICAgIGlzU2F2aW5nPXtzY29wZVNhdmluZ31cclxuICAgICAgICAvPlxyXG5cclxuICAgICAgICA8UmVwb3J0T25CZWhhbGZNb2RhbFxyXG4gICAgICAgICAgaXNPcGVuPXtyZXBvcnRNb2RhbE9wZW59XHJcbiAgICAgICAgICBvbkNsb3NlPXsoKSA9PiBzZXRSZXBvcnRNb2RhbE9wZW4oZmFsc2UpfVxyXG4gICAgICAgICAgdXNlcj17c2VsZWN0ZWRVc2VyRm9yUmVwb3J0fVxyXG4gICAgICAgICAgb25SZXBvcnQ9e2hhbmRsZVJlcG9ydE9uQmVoYWxmfVxyXG4gICAgICAgIC8+XHJcblxyXG4gICAgICAgIHsvKiBIb3N0bmFtZSBGb290ZXIgKi99XHJcbiAgICAgICAgPENhcmQgY2xhc3NOYW1lPVwibXQtOFwiPlxyXG4gICAgICAgICAgPENhcmRDb250ZW50IGNsYXNzTmFtZT1cInB5LTNcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0ZXh0LWNlbnRlciB0ZXh0LXhzIHRleHQtZ3JheS01MDBcIj5cclxuICAgICAgICAgICAgICDXodeR15nXkdeUOiB7cHJvY2Vzcy5lbnYuTkVYVF9QVUJMSUNfSE9TVE5BTUUgfHwgcHJvY2Vzcy5lbnYuSE9TVE5BTUUgfHwgXCLXnNeQINeW15XXlNeUXCJ9XHJcbiAgICAgICAgICAgICAgPGJyLz5cclxuICAgICAgICAgICAgICDXkteo16HXlDoge3Byb2Nlc3MuZW52LkFQUFZFUlNJT04gfHwgXCLXnNeQINeU15XXpteU16gg15EtRG9ja2VyZmlsZSFcIn1cclxuICAgICAgICAgICAgICA8YnIvPlxyXG4gICAgICAgICAgICAgIDIwMjUgQ09QWVJJR0hUIFRSLVdFQlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvQ2FyZENvbnRlbnQ+XHJcbiAgICAgICAgPC9DYXJkPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIClcclxufVxyXG4iXSwibmFtZXMiOlsidXNlU3RhdGUiLCJ1c2VFZmZlY3QiLCJ1c2VSb3V0ZXIiLCJST0xFX05BTUVTIiwiQnV0dG9uIiwiQ2FyZCIsIkNhcmRDb250ZW50IiwiQ2FyZEhlYWRlciIsIkNhcmRUaXRsZSIsIklucHV0IiwiTGFiZWwiLCJTZWxlY3QiLCJTZWxlY3RDb250ZW50IiwiU2VsZWN0SXRlbSIsIlNlbGVjdFRyaWdnZXIiLCJTZWxlY3RWYWx1ZSIsIkFsZXJ0IiwiQWxlcnREZXNjcmlwdGlvbiIsIlRhYnMiLCJUYWJzQ29udGVudCIsIlRhYnNMaXN0IiwiVGFic1RyaWdnZXIiLCJSb3RhdGVDY3ciLCJVc2VycyIsIlVzZXJQbHVzIiwiQ2xvY2siLCJUcmFzaDIiLCJFeWUiLCJSZWZyZXNoQ3ciLCJXaWZpT2ZmIiwiWmFwIiwiQmFyQ2hhcnQzIiwiUGllQ2hhcnQiLCJVc2Vyc0ljb24iLCJHbG9iZSIsIkJ1aWxkaW5nMiIsIlVzZXJDb2ciLCJNZXNzYWdlU3F1YXJlIiwiTG9jayIsIkxvY2tPcGVuIiwiUGVuY2lsIiwiSG9tZSIsIlRhYmxlIiwiVGFibGVCb2R5IiwiVGFibGVDZWxsIiwiVGFibGVIZWFkIiwiVGFibGVIZWFkZXIiLCJUYWJsZVJvdyIsIlVzZXJDYXRlZ29yeU1vZGFsIiwiVGVhbVVzZXJDYXRlZ29yeU1vZGFsIiwiU3RhdHNQaWVDaGFydCIsIlNpbXBsZVBpZUNoYXJ0IiwidXNlUmVhbFRpbWVVcGRhdGVzIiwidXNlVGVhbVJlYWxUaW1lVXBkYXRlcyIsIkRlcGFydG1lbnRVc2VyQ2F0ZWdvcnlNb2RhbCIsInVzZURlcGFydG1lbnRSZWFsVGltZVVwZGF0ZXMiLCJGaWVsZFVzZXJDYXRlZ29yeU1vZGFsIiwidXNlRmllbGRSZWFsVGltZVVwZGF0ZXMiLCJSZXBvcnRPbkJlaGFsZk1vZGFsIiwiVXNlclNjb3BlTW9kYWwiLCJBZG1pblBhZ2UiLCJ1c2VyIiwic2V0VXNlciIsImFjdGl2ZVRhYiIsInNldEFjdGl2ZVRhYiIsImdsb2JhbFN0YXRzIiwic2V0R2xvYmFsU3RhdHMiLCJnbG9iYWxVc2VycyIsInNldEdsb2JhbFVzZXJzIiwiZ2xvYmFsTGFzdFJlc2V0Iiwic2V0R2xvYmFsTGFzdFJlc2V0IiwiZ2xvYmFsUmVzZXRDb29sZG93biIsInNldEdsb2JhbFJlc2V0Q29vbGRvd24iLCJ0ZWFtU3RhdHMiLCJzZXRUZWFtU3RhdHMiLCJ0ZWFtVXNlcnMiLCJzZXRUZWFtVXNlcnMiLCJ0ZWFtTmFtZSIsInNldFRlYW1OYW1lIiwidGVhbVJlc2V0Q29vbGRvd24iLCJzZXRUZWFtUmVzZXRDb29sZG93biIsImRlcGFydG1lbnRTdGF0cyIsInNldERlcGFydG1lbnRTdGF0cyIsImRlcGFydG1lbnRVc2VycyIsInNldERlcGFydG1lbnRVc2VycyIsImRlcGFydG1lbnROYW1lIiwic2V0RGVwYXJ0bWVudE5hbWUiLCJkZXBhcnRtZW50UmVzZXRDb29sZG93biIsInNldERlcGFydG1lbnRSZXNldENvb2xkb3duIiwiZGVwYXJ0bWVudENoYW5nZWRSb3dzIiwic2V0RGVwYXJ0bWVudENoYW5nZWRSb3dzIiwiU2V0IiwiZGVwYXJ0bWVudE1vZGFsT3BlbiIsInNldERlcGFydG1lbnRNb2RhbE9wZW4iLCJmaWVsZFN0YXRzIiwic2V0RmllbGRTdGF0cyIsImZpZWxkVXNlcnMiLCJzZXRGaWVsZFVzZXJzIiwiZmllbGROYW1lIiwic2V0RmllbGROYW1lIiwiZmllbGRSZXNldENvb2xkb3duIiwic2V0RmllbGRSZXNldENvb2xkb3duIiwiZmllbGRDaGFuZ2VkUm93cyIsInNldEZpZWxkQ2hhbmdlZFJvd3MiLCJmaWVsZE1vZGFsT3BlbiIsInNldEZpZWxkTW9kYWxPcGVuIiwibmV3VXNlciIsInNldE5ld1VzZXIiLCJuYW1lIiwiaXNBZG1pbiIsImZpZWxkIiwiZGVwYXJ0bWVudCIsInRlYW0iLCJyb2xlIiwibWFuYWdlZFR5cGVzIiwic2V0TWFuYWdlZFR5cGVzIiwiZmllbGRzIiwiZGVwYXJ0bWVudHMiLCJ0ZWFtcyIsIm1hbmFnZWRUeXBlc0xvYWRpbmciLCJzZXRNYW5hZ2VkVHlwZXNMb2FkaW5nIiwibWFuYWdlZFR5cGVUYWIiLCJzZXRNYW5hZ2VkVHlwZVRhYiIsIm5ld0ZpZWxkTmFtZSIsInNldE5ld0ZpZWxkTmFtZSIsIm5ld0RlcGFydG1lbnROYW1lIiwic2V0TmV3RGVwYXJ0bWVudE5hbWUiLCJuZXdUZWFtTmFtZSIsInNldE5ld1RlYW1OYW1lIiwibmV3RGVwYXJ0bWVudFBhcmVudElkIiwic2V0TmV3RGVwYXJ0bWVudFBhcmVudElkIiwibmV3VGVhbVBhcmVudElkIiwic2V0TmV3VGVhbVBhcmVudElkIiwic2NvcGVNb2RhbE9wZW4iLCJzZXRTY29wZU1vZGFsT3BlbiIsInNjb3BlVXNlciIsInNldFNjb3BlVXNlciIsInNjb3BlU2F2aW5nIiwic2V0U2NvcGVTYXZpbmciLCJtZXNzYWdlIiwic2V0TWVzc2FnZSIsImxvYWRpbmdVc2VycyIsInNldExvYWRpbmdVc2VycyIsIm1vZGFsT3BlbiIsInNldE1vZGFsT3BlbiIsInRlYW1Nb2RhbE9wZW4iLCJzZXRUZWFtTW9kYWxPcGVuIiwic2VsZWN0ZWRDYXRlZ29yeSIsInNldFNlbGVjdGVkQ2F0ZWdvcnkiLCJzZWxlY3RlZENhdGVnb3J5TmFtZSIsInNldFNlbGVjdGVkQ2F0ZWdvcnlOYW1lIiwiaXNSZWZyZXNoaW5nIiwic2V0SXNSZWZyZXNoaW5nIiwiY2hhbmdlZFJvd3MiLCJzZXRDaGFuZ2VkUm93cyIsInRlYW1DaGFuZ2VkUm93cyIsInNldFRlYW1DaGFuZ2VkUm93cyIsInZpZXdNb2RlIiwic2V0Vmlld01vZGUiLCJkZWJ1Z01vZGUiLCJzZXREZWJ1Z01vZGUiLCJ1c2VTaW1wbGVDaGFydCIsInNldFVzZVNpbXBsZUNoYXJ0Iiwicm91dGVyIiwicmVwb3J0TW9kYWxPcGVuIiwic2V0UmVwb3J0TW9kYWxPcGVuIiwic2VsZWN0ZWRVc2VyRm9yUmVwb3J0Iiwic2V0U2VsZWN0ZWRVc2VyRm9yUmVwb3J0IiwiaXNDb25uZWN0ZWQiLCJnbG9iYWxDb25uZWN0ZWQiLCJyZWZldGNoIiwicmVmZXRjaEdsb2JhbCIsImRhdGEiLCJzdGF0cyIsInVzZXJzIiwibmV3Q2hhbmdlZFJvd3MiLCJmb3JFYWNoIiwiZXhpc3RpbmdVc2VyIiwiZmluZCIsInUiLCJuYXRpb25hbF9pZCIsImluX3NoZWx0ZXIiLCJsYXN0X3VwZGF0ZWQiLCJhZGQiLCJzaXplIiwic2V0VGltZW91dCIsImxhc3RSZXNldCIsInRpbWVzdGFtcCIsInJlc2V0VGltZSIsIkRhdGUiLCJnZXRUaW1lIiwibm93IiwiY29vbGRvd25NcyIsInJlbWFpbmluZyIsIk1hdGgiLCJtYXgiLCJjZWlsIiwidGVhbUNvbm5lY3RlZCIsInJlZmV0Y2hUZWFtIiwiZGVwYXJ0bWVudENvbm5lY3RlZCIsInJlZmV0Y2hEZXBhcnRtZW50IiwiZmllbGRDb25uZWN0ZWQiLCJyZWZldGNoRmllbGQiLCJ1c2VyRGF0YSIsImxvY2FsU3RvcmFnZSIsImdldEl0ZW0iLCJwdXNoIiwicGFyc2VkVXNlciIsIkpTT04iLCJwYXJzZSIsImluY2x1ZGVzIiwiZmV0Y2hNYW5hZ2VkVHlwZXMiLCJyZXNwb25zZSIsImZldGNoIiwiZW5jb2RlVVJJQ29tcG9uZW50IiwianNvbiIsIm9rIiwiZXJyb3IiLCJjb25zb2xlIiwibGVuZ3RoIiwiaWQiLCJTdHJpbmciLCJ0aW1lciIsImNsZWFyVGltZW91dCIsImhhbmRsZUdsb2JhbFJlc2V0QWxsIiwibWV0aG9kIiwiaGVhZGVycyIsImJvZHkiLCJzdHJpbmdpZnkiLCJhZG1pbklkIiwidG9Mb2NhbGVTdHJpbmciLCJzdGF0dXMiLCJyZW1haW5pbmdTZWNvbmRzIiwiZXJyIiwiaGFuZGxlVGVhbVJlc2V0IiwiaGFuZGxlRGVwYXJ0bWVudFJlc2V0IiwiaGFuZGxlRmllbGRSZXNldCIsImhhbmRsZUFkZE1hbmFnZWRUeXBlIiwidHlwZSIsInRyaW0iLCJwYXJlbnRJZCIsIk51bWJlciIsInVuZGVmaW5lZCIsImhhbmRsZURlbGV0ZU1hbmFnZWRUeXBlIiwiY29uZmlybSIsImhhbmRsZVJlbmFtZU1hbmFnZWRUeXBlIiwiY3VycmVudE5hbWUiLCJuZXh0TmFtZSIsInByb21wdCIsIlByb21pc2UiLCJhbGwiLCJoYW5kbGVBZGRVc2VyIiwiZSIsInByZXZlbnREZWZhdWx0IiwiaGFuZGxlRGVsZXRlVXNlciIsIm5hdGlvbmFsSWQiLCJoYW5kbGVSZXNldFBhc3N3b3JkIiwidXNlck5hbWUiLCJ0YXJnZXRVc2VySWQiLCJoYW5kbGVUb2dnbGVVc2VyTG9jayIsImN1cnJlbnRMb2NrU3RhdHVzIiwibG9ja1N0YXR1cyIsInVwZGF0ZVVzZXJMb2NrU3RhdHVzIiwibWFwIiwibG9ja19zdGF0dXMiLCJwcmV2IiwiaGFuZGxlVXBkYXRlVXNlclNjb3BlIiwicGF5bG9hZCIsInVzZXJJZCIsImdldFN0YXR1c1RleHQiLCJ0ZXh0IiwiY29sb3IiLCJoYW5kbGVHbG9iYWxDYXRlZ29yeUNsaWNrIiwiY2F0ZWdvcnkiLCJjYXRlZ29yeU5hbWUiLCJoYW5kbGVUZWFtQ2F0ZWdvcnlDbGljayIsImhhbmRsZURlcGFydG1lbnRDYXRlZ29yeUNsaWNrIiwiaGFuZGxlRmllbGRDYXRlZ29yeUNsaWNrIiwiaGFuZGxlTWFudWFsUmVmcmVzaCIsImhhbmRsZVJlcG9ydE9uQmVoYWxmIiwiZm9ybWF0Q29vbGRvd25UaW1lIiwic2Vjb25kcyIsIm1pbnV0ZXMiLCJmbG9vciIsInRvU3RyaW5nIiwicGFkU3RhcnQiLCJyZW5kZXJTdGF0c1NlY3Rpb24iLCJvbkNhdGVnb3J5Q2xpY2siLCJpc1RlYW0iLCJjdXN0b21OYW1lIiwiZGlzcGxheU5hbWUiLCJkaXIiLCJjbGFzc05hbWUiLCJkaXYiLCJ2YXJpYW50Iiwib25DbGljayIsInNwYW4iLCJub19yZXBvcnQiLCJub3RfaW5fc2hlbHRlciIsIm5vX2FsYXJtIiwic2FmZV9hZnRlcl9leGl0IiwicmVuZGVyVXNlcnNUYWJsZSIsImlzUmVhZE9ubHkiLCJpc0NoYW5nZWQiLCJoYXMiLCJpc0xvY2tlZCIsInRpdGxlIiwiZmllbGROYW1lQnlJZCIsIk1hcCIsImRlcGFydG1lbnROYW1lQnlJZCIsImRlcHQiLCJhbGxvd2VkTWFuYWdlZFRhYnMiLCJkaXNhYmxlZCIsInN0cm9uZyIsInZhbHVlIiwib25WYWx1ZUNoYW5nZSIsInAiLCJmb3JtIiwib25TdWJtaXQiLCJodG1sRm9yIiwib25DaGFuZ2UiLCJ0YXJnZXQiLCJwbGFjZWhvbGRlciIsInJlcXVpcmVkIiwiaXRlbSIsIm1hbmFnZWQiLCJmaWx0ZXIiLCJnZXQiLCJpc09wZW4iLCJvbkNsb3NlIiwib25TYXZlIiwiaXNTYXZpbmciLCJvblJlcG9ydCIsInByb2Nlc3MiLCJlbnYiLCJORVhUX1BVQkxJQ19IT1NUTkFNRSIsIkhPU1ROQU1FIiwiYnIiLCJBUFBWRVJTSU9OIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./app/admin/page.tsx\n"));
/***/ })
});