Files
nashel-frontend/.next/static/webpack/app/dashboard/become-performer/page.f405581effdbe37b.hot-update.js
T

22 lines
146 KiB
JavaScript

"use strict";
/*
* ATTENTION: An "eval-source-map" devtool has been used.
* This devtool is neither made for production nor for readable output files.
* It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools.
* If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
* or disable the default devtool with "devtool: false".
* If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
*/
self["webpackHotUpdate_N_E"]("app/dashboard/become-performer/page",{
/***/ "(app-pages-browser)/./src/app/dashboard/become-performer/page.tsx":
/*!*****************************************************!*\
!*** ./src/app/dashboard/become-performer/page.tsx ***!
\*****************************************************/
/***/ ((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\": () => (/* binding */ BecomePerformerPage)\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 react_hook_form__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! react-hook-form */ \"(app-pages-browser)/./node_modules/react-hook-form/dist/index.esm.mjs\");\n/* harmony import */ var _hookform_resolvers_zod__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @hookform/resolvers/zod */ \"(app-pages-browser)/./node_modules/@hookform/resolvers/zod/dist/zod.mjs\");\n/* harmony import */ var zod__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! zod */ \"(app-pages-browser)/./node_modules/zod/v4/classic/external.js\");\n/* harmony import */ var _components_ui_button__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/components/ui/button */ \"(app-pages-browser)/./src/components/ui/button.tsx\");\n/* harmony import */ var _components_ui_input__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/components/ui/input */ \"(app-pages-browser)/./src/components/ui/input.tsx\");\n/* harmony import */ var _components_ui_label__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @/components/ui/label */ \"(app-pages-browser)/./src/components/ui/label.tsx\");\n/* harmony import */ var _components_ui_card__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @/components/ui/card */ \"(app-pages-browser)/./src/components/ui/card.tsx\");\n/* harmony import */ var _components_ui_checkbox__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @/components/ui/checkbox */ \"(app-pages-browser)/./src/components/ui/checkbox.tsx\");\n/* harmony import */ var _entities_session_store__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @/entities/session/store */ \"(app-pages-browser)/./src/entities/session/store.ts\");\n/* harmony import */ var _barrel_optimize_names_CheckCircle2_ChevronDown_ChevronUp_Clock_Loader2_lucide_react__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! __barrel_optimize__?names=CheckCircle2,ChevronDown,ChevronUp,Clock,Loader2!=!lucide-react */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/loader-circle.js\");\n/* harmony import */ var _barrel_optimize_names_CheckCircle2_ChevronDown_ChevronUp_Clock_Loader2_lucide_react__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! __barrel_optimize__?names=CheckCircle2,ChevronDown,ChevronUp,Clock,Loader2!=!lucide-react */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/circle-check.js\");\n/* harmony import */ var _barrel_optimize_names_CheckCircle2_ChevronDown_ChevronUp_Clock_Loader2_lucide_react__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! __barrel_optimize__?names=CheckCircle2,ChevronDown,ChevronUp,Clock,Loader2!=!lucide-react */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/clock.js\");\n/* harmony import */ var _barrel_optimize_names_CheckCircle2_ChevronDown_ChevronUp_Clock_Loader2_lucide_react__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! __barrel_optimize__?names=CheckCircle2,ChevronDown,ChevronUp,Clock,Loader2!=!lucide-react */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/chevron-up.js\");\n/* harmony import */ var _barrel_optimize_names_CheckCircle2_ChevronDown_ChevronUp_Clock_Loader2_lucide_react__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! __barrel_optimize__?names=CheckCircle2,ChevronDown,ChevronUp,Clock,Loader2!=!lucide-react */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/chevron-down.js\");\n/* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! next/dynamic */ \"(app-pages-browser)/./node_modules/next/dist/api/app-dynamic.js\");\n/* __next_internal_client_entry_do_not_use__ default auto */ \nvar _s = $RefreshSig$();\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst RichTextEditor = (0,next_dynamic__WEBPACK_IMPORTED_MODULE_10__[\"default\"])(()=>__webpack_require__.e(/*! import() */ \"_app-pages-browser_src_components_ui_rich-text-editor_tsx\").then(__webpack_require__.bind(__webpack_require__, /*! @/components/ui/rich-text-editor */ \"(app-pages-browser)/./src/components/ui/rich-text-editor.tsx\")).then((mod)=>mod.RichTextEditor), {\n loadableGenerated: {\n modules: [\n \"app\\\\dashboard\\\\become-performer\\\\page.tsx -> \" + \"@/components/ui/rich-text-editor\"\n ]\n },\n ssr: false\n});\n_c = RichTextEditor;\nconst becomePerformerSchema = zod__WEBPACK_IMPORTED_MODULE_11__.object({\n description: zod__WEBPACK_IMPORTED_MODULE_11__.string().min(50, 'Описание должно содержать минимум 50 символов').max(2048, 'Описание не может превышать 2048 символов'),\n location: zod__WEBPACK_IMPORTED_MODULE_11__.string().min(1, 'Укажите базовую локацию'),\n workSchedule: zod__WEBPACK_IMPORTED_MODULE_11__.object({\n isAlwaysReady: zod__WEBPACK_IMPORTED_MODULE_11__.boolean(),\n schedulePerDay: zod__WEBPACK_IMPORTED_MODULE_11__.record(zod__WEBPACK_IMPORTED_MODULE_11__.string(), zod__WEBPACK_IMPORTED_MODULE_11__.array(zod__WEBPACK_IMPORTED_MODULE_11__.object({\n start: zod__WEBPACK_IMPORTED_MODULE_11__.string().regex(/^([01]?[0-9]|2[0-3]):[0-5][0-9]$/, 'Неверный формат времени').optional(),\n end: zod__WEBPACK_IMPORTED_MODULE_11__.string().regex(/^([01]?[0-9]|2[0-3]):[0-5][0-9]$/, 'Неверный формат времени').optional()\n })))\n })\n});\nconst daysOfWeek = [\n 'Понедельник',\n 'Вторник',\n 'Среда',\n 'Четверг',\n 'Пятница',\n 'Суббота',\n 'Воскресенье'\n];\nconst generateTimeIntervals = ()=>{\n const intervals = [];\n for(let i = 0; i < 24; i++){\n for(let j = 0; j < 60; j += 30){\n const hour = i.toString().padStart(2, '0');\n const minute = j.toString().padStart(2, '0');\n intervals.push(\"\".concat(hour, \":\").concat(minute));\n }\n }\n return intervals;\n};\nconst timeIntervals = generateTimeIntervals();\nfunction BecomePerformerPage() {\n _s();\n const router = (0,next_navigation__WEBPACK_IMPORTED_MODULE_2__.useRouter)();\n const { user, isLoading, getProfile, becomePerformerFull } = (0,_entities_session_store__WEBPACK_IMPORTED_MODULE_9__.useSessionStore)();\n const [competencies, setCompetencies] = react__WEBPACK_IMPORTED_MODULE_1___default().useState([]);\n const [competencyInput, setCompetencyInput] = react__WEBPACK_IMPORTED_MODULE_1___default().useState('');\n const [schedulePerDay, setSchedulePerDay] = react__WEBPACK_IMPORTED_MODULE_1___default().useState({\n 'Понедельник': [],\n 'Вторник': [],\n 'Среда': [],\n 'Четверг': [],\n 'Пятница': [],\n 'Суббота': [],\n 'Воскресенье': []\n });\n const [scheduleCollapsed, setScheduleCollapsed] = react__WEBPACK_IMPORTED_MODULE_1___default().useState(false);\n const [currentStep, setCurrentStep] = react__WEBPACK_IMPORTED_MODULE_1___default().useState(1);\n const [bestAddressSuggestion, setBestAddressSuggestion] = react__WEBPACK_IMPORTED_MODULE_1___default().useState(null);\n const form = (0,react_hook_form__WEBPACK_IMPORTED_MODULE_12__.useForm)({\n resolver: (0,_hookform_resolvers_zod__WEBPACK_IMPORTED_MODULE_3__.zodResolver)(becomePerformerSchema),\n defaultValues: {\n description: '',\n location: '',\n workSchedule: {\n isAlwaysReady: true,\n schedulePerDay\n }\n }\n });\n const isAlwaysReady = form.watch('workSchedule.isAlwaysReady');\n const descriptionHtml = form.watch('description');\n // Подсчёт символов без HTML тегов\n const getTextLength = (html)=>{\n var _div_textContent;\n if (false) {}\n const div = document.createElement('div');\n div.innerHTML = html;\n return ((_div_textContent = div.textContent) === null || _div_textContent === void 0 ? void 0 : _div_textContent.length) || 0;\n };\n const descriptionTextLength = descriptionHtml ? getTextLength(descriptionHtml) : 0;\n const location = form.watch('location');\n const isStep1Valid = descriptionTextLength >= 50 && competencies.length >= 1 && location.length >= 1;\n const addCompetency = ()=>{\n if (competencyInput.trim() && !competencies.includes(competencyInput.trim())) {\n setCompetencies([\n ...competencies,\n competencyInput.trim()\n ]);\n setCompetencyInput('');\n }\n };\n const removeCompetency = (competency)=>{\n setCompetencies(competencies.filter((c)=>c !== competency));\n };\n const toggleDay = (day)=>{\n if (isAlwaysReady) {\n form.setValue('workSchedule.isAlwaysReady', false);\n }\n const currentSchedule = {\n ...schedulePerDay\n };\n const hasPeriods = currentSchedule[day].length > 0;\n if (hasPeriods) {\n currentSchedule[day] = [];\n } else {\n currentSchedule[day] = [\n {\n start: '09:00',\n end: '18:00'\n }\n ];\n }\n setSchedulePerDay(currentSchedule);\n };\n const addPeriod = (day)=>{\n if (isAlwaysReady) {\n form.setValue('workSchedule.isAlwaysReady', false);\n }\n const currentSchedule = {\n ...schedulePerDay\n };\n currentSchedule[day] = [\n ...currentSchedule[day] || [],\n {\n start: '00:00',\n end: '00:00'\n }\n ];\n setSchedulePerDay(currentSchedule);\n };\n const removePeriod = (day, index)=>{\n const currentSchedule = {\n ...schedulePerDay\n };\n const newPeriods = currentSchedule[day].filter((_, i)=>i !== index);\n currentSchedule[day] = newPeriods;\n setSchedulePerDay(currentSchedule);\n };\n const updatePeriod = (day, index, field, value)=>{\n if (isAlwaysReady) {\n form.setValue('workSchedule.isAlwaysReady', false);\n }\n const currentSchedule = {\n ...schedulePerDay\n };\n currentSchedule[day][index][field] = value;\n setSchedulePerDay(currentSchedule);\n };\n const handleAlwaysReadyChange = (checked)=>{\n form.setValue('workSchedule.isAlwaysReady', checked);\n if (checked) {\n const resetSchedule = {\n 'Понедельник': [],\n 'Вторник': [],\n 'Среда': [],\n 'Четверг': [],\n 'Пятница': [],\n 'Суббота': [],\n 'Воскресенье': []\n };\n setSchedulePerDay(resetSchedule);\n }\n };\n const handleScheduleOpen = ()=>{\n form.setValue('workSchedule.isAlwaysReady', false);\n setScheduleCollapsed(false);\n };\n // Поиск адресов через Nominatim API (как в TagInput - только лучшее совпадение)\n react__WEBPACK_IMPORTED_MODULE_1___default().useEffect({\n \"BecomePerformerPage.useEffect\": ()=>{\n const searchAddress = {\n \"BecomePerformerPage.useEffect.searchAddress\": async ()=>{\n if (location.length < 2) {\n setBestAddressSuggestion(null);\n return;\n }\n try {\n const response = await fetch(\"https://nominatim.openstreetmap.org/search?format=json&q=\".concat(encodeURIComponent(location), \"&limit=5&addressdetails=1&countrycodes=ru\"), {\n headers: {\n 'Accept-Language': 'ru'\n }\n });\n const data = await response.json();\n const addresses = data.map({\n \"BecomePerformerPage.useEffect.searchAddress.addresses\": (item)=>{\n const city = item.address.city || item.address.town || item.address.village || '';\n const street = item.address.road || '';\n const house = item.address.house_number || '';\n const parts = [\n city,\n street,\n house\n ].filter(Boolean);\n return parts.join(', ');\n }\n }[\"BecomePerformerPage.useEffect.searchAddress.addresses\"]);\n // Берем только первое (лучшее) совпадение, как в TagInput\n setBestAddressSuggestion(addresses.length > 0 ? addresses[0] : null);\n } catch (error) {\n console.error('Ошибка поиска адресов:', error);\n setBestAddressSuggestion(null);\n }\n }\n }[\"BecomePerformerPage.useEffect.searchAddress\"];\n const debounce = setTimeout(searchAddress, 300);\n return ({\n \"BecomePerformerPage.useEffect\": ()=>clearTimeout(debounce)\n })[\"BecomePerformerPage.useEffect\"];\n }\n }[\"BecomePerformerPage.useEffect\"], [\n location\n ]);\n const handleLocationChange = (value)=>{\n form.setValue('location', value);\n };\n const handleLocationKeyDown = (e)=>{\n if (e.key === 'Tab' && bestAddressSuggestion) {\n e.preventDefault();\n // Tab выбирает автодополнение\n form.setValue('location', bestAddressSuggestion);\n setBestAddressSuggestion(null);\n } else if (e.key === 'Escape') {\n setBestAddressSuggestion(null);\n }\n };\n const showAddressAutocomplete = bestAddressSuggestion && bestAddressSuggestion.toLowerCase().startsWith(location.toLowerCase());\n const onSubmit = async (values)=>{\n try {\n // Проверяем длину описания без HTML тегов перед отправкой\n const textLength = getTextLength(values.description);\n if (textLength < 50) {\n alert(\"Описание должно содержать минимум 50 символов. Текущая длина: \".concat(textLength));\n return;\n }\n await becomePerformerFull({\n description: values.description,\n competencies,\n location: values.location,\n workSchedule: {\n isAlwaysReady: values.workSchedule.isAlwaysReady,\n schedulePerDay\n }\n });\n router.push('/dashboard/profile');\n } catch (error) {\n console.error('Failed to become performer', error);\n }\n };\n react__WEBPACK_IMPORTED_MODULE_1___default().useEffect({\n \"BecomePerformerPage.useEffect\": ()=>{\n getProfile();\n }\n }[\"BecomePerformerPage.useEffect\"], [\n getProfile\n ]);\n react__WEBPACK_IMPORTED_MODULE_1___default().useEffect({\n \"BecomePerformerPage.useEffect\": ()=>{\n if (!isLoading && !user) {\n router.push('/auth/login');\n } else if (user && (user.roles.includes('Newbie') || user.roles.includes('Master'))) {\n router.push('/dashboard/profile');\n }\n }\n }[\"BecomePerformerPage.useEffect\"], [\n isLoading,\n user,\n router\n ]);\n const [isMounted, setIsMounted] = react__WEBPACK_IMPORTED_MODULE_1___default().useState(false);\n react__WEBPACK_IMPORTED_MODULE_1___default().useEffect({\n \"BecomePerformerPage.useEffect\": ()=>{\n setIsMounted(true);\n }\n }[\"BecomePerformerPage.useEffect\"], []);\n if (!isMounted) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center justify-center min-h-screen\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_CheckCircle2_ChevronDown_ChevronUp_Clock_Loader2_lucide_react__WEBPACK_IMPORTED_MODULE_13__[\"default\"], {\n className: \"w-8 h-8 animate-spin\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\become-performer\\\\page.tsx\",\n lineNumber: 276,\n columnNumber: 79\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\become-performer\\\\page.tsx\",\n lineNumber: 276,\n columnNumber: 16\n }, this);\n }\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"container max-w-4xl mx-auto py-8 px-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mb-8\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n className: \"text-3xl font-bold mb-2\",\n children: \"Стать исполнителем\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\become-performer\\\\page.tsx\",\n lineNumber: 282,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-muted-foreground\",\n children: \"Заполните информацию о себе, чтобы начать принимать заказы\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\become-performer\\\\page.tsx\",\n lineNumber: 283,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\become-performer\\\\page.tsx\",\n lineNumber: 281,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center justify-center mb-8 gap-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-2 \".concat(currentStep === 1 ? 'text-blue-600' : 'text-muted-foreground'),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-8 h-8 rounded-full flex items-center justify-center border-2 \".concat(currentStep === 1 ? 'border-blue-600 bg-blue-600 text-white' : 'border-muted'),\n children: currentStep > 1 ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_CheckCircle2_ChevronDown_ChevronUp_Clock_Loader2_lucide_react__WEBPACK_IMPORTED_MODULE_14__[\"default\"], {\n className: \"w-4 h-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\become-performer\\\\page.tsx\",\n lineNumber: 291,\n columnNumber: 44\n }, this) : '1'\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\become-performer\\\\page.tsx\",\n lineNumber: 290,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"font-medium\",\n children: \"Основная информация\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\become-performer\\\\page.tsx\",\n lineNumber: 293,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\become-performer\\\\page.tsx\",\n lineNumber: 289,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-16 h-0.5 \".concat(currentStep > 1 ? 'bg-blue-600' : 'bg-muted')\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\become-performer\\\\page.tsx\",\n lineNumber: 295,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-2 \".concat(currentStep === 2 ? 'text-blue-600' : 'text-muted-foreground'),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-8 h-8 rounded-full flex items-center justify-center border-2 \".concat(currentStep === 2 ? 'border-blue-600 bg-blue-600 text-white' : 'border-muted'),\n children: \"2\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\become-performer\\\\page.tsx\",\n lineNumber: 297,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"font-medium\",\n children: \"График работы\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\become-performer\\\\page.tsx\",\n lineNumber: 300,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\become-performer\\\\page.tsx\",\n lineNumber: 296,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\become-performer\\\\page.tsx\",\n lineNumber: 288,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"form\", {\n onSubmit: form.handleSubmit(onSubmit),\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_7__.Card, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_card__WEBPACK_IMPORTED_MODULE_7__.CardContent, {\n className: \"pt-6\",\n children: [\n currentStep === 1 && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-6\",\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_6__.Label, {\n htmlFor: \"description\",\n children: [\n \"Описание \",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-red-500\",\n children: \"*\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\become-performer\\\\page.tsx\",\n lineNumber: 311,\n columnNumber: 50\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\become-performer\\\\page.tsx\",\n lineNumber: 310,\n columnNumber: 37\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-sm text-muted-foreground\",\n children: \"Расскажите о себе, своем опыте и услугах (минимум 50 символов)\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\become-performer\\\\page.tsx\",\n lineNumber: 313,\n columnNumber: 37\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(RichTextEditor, {\n content: form.watch('description') || '',\n onChange: (content)=>form.setValue('description', content),\n placeholder: \"Опишите свой опыт, навыки и услуги, которые вы предоставляте...\",\n maxLength: 2048\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\become-performer\\\\page.tsx\",\n lineNumber: 316,\n columnNumber: 37\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex justify-between text-sm\",\n children: [\n form.formState.errors.description ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-red-500\",\n children: form.formState.errors.description.message\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\become-performer\\\\page.tsx\",\n lineNumber: 324,\n columnNumber: 45\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-muted-foreground\",\n children: descriptionTextLength >= 50 ? '✓ Минимум достигнут' : \"\".concat(50 - descriptionTextLength, \" символов до минимума\")\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\become-performer\\\\page.tsx\",\n lineNumber: 326,\n columnNumber: 45\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-muted-foreground\",\n children: [\n descriptionTextLength,\n \" / 2048\"\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\become-performer\\\\page.tsx\",\n lineNumber: 330,\n columnNumber: 41\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\become-performer\\\\page.tsx\",\n lineNumber: 322,\n columnNumber: 37\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\become-performer\\\\page.tsx\",\n lineNumber: 309,\n columnNumber: 33\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_6__.Label, {\n children: [\n \"Компетенции \",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-red-500\",\n children: \"*\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\become-performer\\\\page.tsx\",\n lineNumber: 338,\n columnNumber: 53\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\become-performer\\\\page.tsx\",\n lineNumber: 337,\n columnNumber: 37\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-sm text-muted-foreground\",\n children: \"Укажите навыки и услуги, которые вы предоставляете\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\become-performer\\\\page.tsx\",\n lineNumber: 340,\n columnNumber: 37\n }, this),\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_5__.Input, {\n placeholder: \"Например: Сантехника, Электрика\",\n value: competencyInput,\n onChange: (e)=>setCompetencyInput(e.target.value),\n onKeyPress: (e)=>{\n if (e.key === 'Enter') {\n e.preventDefault();\n addCompetency();\n }\n }\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\become-performer\\\\page.tsx\",\n lineNumber: 344,\n columnNumber: 41\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_4__.Button, {\n type: \"button\",\n onClick: addCompetency,\n children: \"Добавить\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\become-performer\\\\page.tsx\",\n lineNumber: 355,\n columnNumber: 41\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\become-performer\\\\page.tsx\",\n lineNumber: 343,\n columnNumber: 37\n }, this),\n competencies.length > 0 && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex flex-wrap gap-2 mt-2\",\n children: competencies.map((competency)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"bg-blue-100 text-blue-700 px-3 py-1 rounded-full text-sm flex items-center gap-2\",\n children: [\n competency,\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n type: \"button\",\n onClick: ()=>removeCompetency(competency),\n className: \"hover:text-blue-900\",\n children: \"\\xd7\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\become-performer\\\\page.tsx\",\n lineNumber: 367,\n columnNumber: 53\n }, this)\n ]\n }, competency, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\become-performer\\\\page.tsx\",\n lineNumber: 362,\n columnNumber: 49\n }, this))\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\become-performer\\\\page.tsx\",\n lineNumber: 360,\n columnNumber: 41\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\become-performer\\\\page.tsx\",\n lineNumber: 336,\n columnNumber: 33\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_6__.Label, {\n htmlFor: \"location\",\n children: [\n \"Базовая локация \",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-red-500\",\n children: \"*\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\become-performer\\\\page.tsx\",\n lineNumber: 382,\n columnNumber: 57\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\become-performer\\\\page.tsx\",\n lineNumber: 381,\n columnNumber: 37\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-sm text-muted-foreground\",\n children: \"Укажите адрес (Tab для выбора подсказки)\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\become-performer\\\\page.tsx\",\n lineNumber: 384,\n columnNumber: 37\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_input__WEBPACK_IMPORTED_MODULE_5__.Input, {\n id: \"location\",\n placeholder: \"Город, улица, дом\",\n value: location,\n onChange: (e)=>handleLocationChange(e.target.value),\n onKeyDown: handleLocationKeyDown,\n onBlur: ()=>setBestAddressSuggestion(null),\n autoComplete: \"off\",\n className: \"text-base\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\become-performer\\\\page.tsx\",\n lineNumber: 388,\n columnNumber: 41\n }, this),\n showAddressAutocomplete && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute inset-y-0 left-0 pointer-events-none flex items-center px-3\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-base text-transparent\",\n children: location\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\become-performer\\\\page.tsx\",\n lineNumber: 401,\n columnNumber: 49\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-base text-muted-foreground\",\n children: bestAddressSuggestion.slice(location.length)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\become-performer\\\\page.tsx\",\n lineNumber: 404,\n columnNumber: 49\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\become-performer\\\\page.tsx\",\n lineNumber: 400,\n columnNumber: 45\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\become-performer\\\\page.tsx\",\n lineNumber: 387,\n columnNumber: 37\n }, this),\n form.formState.errors.location && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-sm text-red-500\",\n children: form.formState.errors.location.message\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\become-performer\\\\page.tsx\",\n lineNumber: 411,\n columnNumber: 41\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\become-performer\\\\page.tsx\",\n lineNumber: 380,\n columnNumber: 33\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex justify-end\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_4__.Button, {\n type: \"button\",\n onClick: ()=>setCurrentStep(2),\n disabled: !isStep1Valid,\n children: \"Далее\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\become-performer\\\\page.tsx\",\n lineNumber: 416,\n columnNumber: 37\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\become-performer\\\\page.tsx\",\n lineNumber: 415,\n columnNumber: 33\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\become-performer\\\\page.tsx\",\n lineNumber: 308,\n columnNumber: 29\n }, this),\n currentStep === 2 && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-6\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-start space-x-3\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_checkbox__WEBPACK_IMPORTED_MODULE_8__.Checkbox, {\n id: \"always-ready\",\n checked: isAlwaysReady,\n onCheckedChange: handleAlwaysReadyChange\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\become-performer\\\\page.tsx\",\n lineNumber: 430,\n columnNumber: 37\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-1\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_label__WEBPACK_IMPORTED_MODULE_6__.Label, {\n htmlFor: \"always-ready\",\n className: \"cursor-pointer\",\n children: \"Всегда готов к заказам\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\become-performer\\\\page.tsx\",\n lineNumber: 436,\n columnNumber: 41\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-sm text-muted-foreground\",\n children: \"Если включено, клиенты будут видеть вас доступным в любое время\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\become-performer\\\\page.tsx\",\n lineNumber: 439,\n columnNumber: 41\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\become-performer\\\\page.tsx\",\n lineNumber: 435,\n columnNumber: 37\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\become-performer\\\\page.tsx\",\n lineNumber: 429,\n columnNumber: 33\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-3\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_4__.Button, {\n type: \"button\",\n variant: \"outline\",\n className: \"w-full justify-between\",\n onClick: ()=>setScheduleCollapsed(!scheduleCollapsed),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"flex items-center gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_CheckCircle2_ChevronDown_ChevronUp_Clock_Loader2_lucide_react__WEBPACK_IMPORTED_MODULE_15__[\"default\"], {\n className: \"w-4 h-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\become-performer\\\\page.tsx\",\n lineNumber: 453,\n columnNumber: 45\n }, this),\n \"Настроить расписание\"\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\become-performer\\\\page.tsx\",\n lineNumber: 452,\n columnNumber: 41\n }, this),\n scheduleCollapsed ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_CheckCircle2_ChevronDown_ChevronUp_Clock_Loader2_lucide_react__WEBPACK_IMPORTED_MODULE_16__[\"default\"], {\n className: \"w-4 h-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\become-performer\\\\page.tsx\",\n lineNumber: 456,\n columnNumber: 62\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_CheckCircle2_ChevronDown_ChevronUp_Clock_Loader2_lucide_react__WEBPACK_IMPORTED_MODULE_17__[\"default\"], {\n className: \"w-4 h-4\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\become-performer\\\\page.tsx\",\n lineNumber: 456,\n columnNumber: 98\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\become-performer\\\\page.tsx\",\n lineNumber: 446,\n columnNumber: 37\n }, this),\n scheduleCollapsed && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-3 mt-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-sm text-muted-foreground\",\n children: \"Для каждого дня недели укажите периоды работы. Если для дня нет расписания - работает 24 часа.\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\become-performer\\\\page.tsx\",\n lineNumber: 461,\n columnNumber: 45\n }, this),\n daysOfWeek.map((day)=>{\n var _schedulePerDay_day, _schedulePerDay_day1, _schedulePerDay_day2;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"border rounded-lg p-4 space-y-3\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-3\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_checkbox__WEBPACK_IMPORTED_MODULE_8__.Checkbox, {\n id: day,\n checked: ((_schedulePerDay_day = schedulePerDay[day]) === null || _schedulePerDay_day === void 0 ? void 0 : _schedulePerDay_day.length) > 0,\n onCheckedChange: ()=>toggleDay(day)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\become-performer\\\\page.tsx\",\n lineNumber: 467,\n columnNumber: 57\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"label\", {\n htmlFor: day,\n className: \"font-medium cursor-pointer flex-1\",\n children: day\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\become-performer\\\\page.tsx\",\n lineNumber: 472,\n columnNumber: 57\n }, this),\n ((_schedulePerDay_day1 = schedulePerDay[day]) === null || _schedulePerDay_day1 === void 0 ? void 0 : _schedulePerDay_day1.length) > 0 && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_4__.Button, {\n type: \"button\",\n variant: \"outline\",\n size: \"sm\",\n onClick: ()=>addPeriod(day),\n children: \"+ Добавить период\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\become-performer\\\\page.tsx\",\n lineNumber: 476,\n columnNumber: 61\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\become-performer\\\\page.tsx\",\n lineNumber: 466,\n columnNumber: 53\n }, this),\n (_schedulePerDay_day2 = schedulePerDay[day]) === null || _schedulePerDay_day2 === void 0 ? void 0 : _schedulePerDay_day2.map((period, index)=>{\n var _schedulePerDay_day;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-2 pl-7\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"select\", {\n className: \"flex h-9 w-32 rounded-md border border-input bg-background px-3 py-1 text-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50\",\n value: period.start,\n onChange: (e)=>updatePeriod(day, index, 'start', e.target.value),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"option\", {\n value: \"\",\n disabled: true,\n children: \"Начало\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\become-performer\\\\page.tsx\",\n lineNumber: 493,\n columnNumber: 65\n }, this),\n timeIntervals.map((time)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"option\", {\n value: time,\n children: time\n }, \"start-\".concat(time), false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\become-performer\\\\page.tsx\",\n lineNumber: 495,\n columnNumber: 69\n }, this))\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\become-performer\\\\page.tsx\",\n lineNumber: 488,\n columnNumber: 61\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-muted-foreground\",\n children: \"—\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\become-performer\\\\page.tsx\",\n lineNumber: 498,\n columnNumber: 61\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"select\", {\n className: \"flex h-9 w-32 rounded-md border border-input bg-background px-3 py-1 text-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50\",\n value: period.end,\n onChange: (e)=>updatePeriod(day, index, 'end', e.target.value),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"option\", {\n value: \"\",\n disabled: true,\n children: \"Конец\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\become-performer\\\\page.tsx\",\n lineNumber: 504,\n columnNumber: 65\n }, this),\n timeIntervals.filter((t)=>t > period.start).map((time)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"option\", {\n value: time,\n children: time\n }, \"end-\".concat(time), false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\become-performer\\\\page.tsx\",\n lineNumber: 508,\n columnNumber: 73\n }, this))\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\become-performer\\\\page.tsx\",\n lineNumber: 499,\n columnNumber: 61\n }, this),\n ((_schedulePerDay_day = schedulePerDay[day]) === null || _schedulePerDay_day === void 0 ? void 0 : _schedulePerDay_day.length) > 1 && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_4__.Button, {\n type: \"button\",\n variant: \"ghost\",\n size: \"sm\",\n onClick: ()=>removePeriod(day, index),\n className: \"text-red-500 hover:text-red-700\",\n children: \"Удалить\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\become-performer\\\\page.tsx\",\n lineNumber: 512,\n columnNumber: 65\n }, this)\n ]\n }, index, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\become-performer\\\\page.tsx\",\n lineNumber: 487,\n columnNumber: 57\n }, this);\n })\n ]\n }, day, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\become-performer\\\\page.tsx\",\n lineNumber: 465,\n columnNumber: 49\n }, this);\n })\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\become-performer\\\\page.tsx\",\n lineNumber: 460,\n columnNumber: 41\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\become-performer\\\\page.tsx\",\n lineNumber: 445,\n columnNumber: 33\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex justify-between\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ui_button__WEBPACK_IMPORTED_MODULE_4__.Button, {\n type: \"button\",\n variant: \"outline\",\n onClick: ()=>setCurrentStep(1),\n children: \"Назад\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\become-performer\\\\page.tsx\",\n lineNumber: 531,\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 type: \"submit\",\n disabled: isLoading,\n children: [\n isLoading && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_CheckCircle2_ChevronDown_ChevronUp_Clock_Loader2_lucide_react__WEBPACK_IMPORTED_MODULE_13__[\"default\"], {\n className: \"mr-2 h-4 w-4 animate-spin\"\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\become-performer\\\\page.tsx\",\n lineNumber: 542,\n columnNumber: 55\n }, this),\n \"Стать исполнителем\"\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\become-performer\\\\page.tsx\",\n lineNumber: 538,\n columnNumber: 37\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\become-performer\\\\page.tsx\",\n lineNumber: 530,\n columnNumber: 33\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\become-performer\\\\page.tsx\",\n lineNumber: 428,\n columnNumber: 29\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\become-performer\\\\page.tsx\",\n lineNumber: 306,\n columnNumber: 21\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\become-performer\\\\page.tsx\",\n lineNumber: 305,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\become-performer\\\\page.tsx\",\n lineNumber: 304,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"E:\\\\GIT\\\\mvp\\\\nashel-frontend\\\\src\\\\app\\\\dashboard\\\\become-performer\\\\page.tsx\",\n lineNumber: 280,\n columnNumber: 9\n }, this);\n}\n_s(BecomePerformerPage, \"zoS4WbdaAg9oCjGUD+uTeHnf5+4=\", false, function() {\n return [\n next_navigation__WEBPACK_IMPORTED_MODULE_2__.useRouter,\n _entities_session_store__WEBPACK_IMPORTED_MODULE_9__.useSessionStore,\n react_hook_form__WEBPACK_IMPORTED_MODULE_12__.useForm\n ];\n});\n_c1 = BecomePerformerPage;\nvar _c, _c1;\n$RefreshReg$(_c, \"RichTextEditor\");\n$RefreshReg$(_c1, \"BecomePerformerPage\");\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9hcHAvZGFzaGJvYXJkL2JlY29tZS1wZXJmb3JtZXIvcGFnZS50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUV5QjtBQUNrQjtBQUNGO0FBQ1k7QUFDOUI7QUFDd0I7QUFDRjtBQUNBO0FBQ21EO0FBQzdDO0FBQ087QUFDeUI7QUFDakQ7QUFFbEMsTUFBTWtCLGlCQUFpQkQseURBQU9BLENBQzFCLElBQU0sOFBBQTBDLENBQUNFLElBQUksQ0FBQyxDQUFDQyxNQUFRQSxJQUFJRixjQUFjOzs7Ozs7SUFDL0VHLEtBQUs7O0tBRkxIO0FBS04sTUFBTUksd0JBQXdCbEIsd0NBQVEsQ0FBQztJQUNuQ29CLGFBQWFwQix3Q0FBUSxHQUNoQnNCLEdBQUcsQ0FBQyxJQUFJLGlEQUNSQyxHQUFHLENBQUMsTUFBTTtJQUNmQyxVQUFVeEIsd0NBQVEsR0FBR3NCLEdBQUcsQ0FBQyxHQUFHO0lBQzVCRyxjQUFjekIsd0NBQVEsQ0FBQztRQUNuQjBCLGVBQWUxQix5Q0FBUztRQUN4QjRCLGdCQUFnQjVCLHdDQUFRLENBQUNBLHdDQUFRLElBQUlBLHVDQUFPLENBQUNBLHdDQUFRLENBQUM7WUFDbEQrQixPQUFPL0Isd0NBQVEsR0FBR2dDLEtBQUssQ0FBQyxvQ0FBb0MsMkJBQTJCQyxRQUFRO1lBQy9GQyxLQUFLbEMsd0NBQVEsR0FBR2dDLEtBQUssQ0FBQyxvQ0FBb0MsMkJBQTJCQyxRQUFRO1FBQ2pHO0lBQ0o7QUFDSjtBQUlBLE1BQU1FLGFBQWE7SUFDZjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtDQUNIO0FBRUQsTUFBTUMsd0JBQXdCO0lBQzFCLE1BQU1DLFlBQVksRUFBRTtJQUNwQixJQUFLLElBQUlDLElBQUksR0FBR0EsSUFBSSxJQUFJQSxJQUFLO1FBQ3pCLElBQUssSUFBSUMsSUFBSSxHQUFHQSxJQUFJLElBQUlBLEtBQUssR0FBSTtZQUM3QixNQUFNQyxPQUFPRixFQUFFRyxR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SCtKLE1BQUs7Z0RBQ0xVLFNBQVE7Z0RBQ1JULFNBQVMsSUFBTXBHLGVBQWU7MERBQ2pDOzs7Ozs7MERBR0QsOERBQUM1RCx5REFBTUE7Z0RBQ0grSixNQUFLO2dEQUNMUSxVQUFVdkg7O29EQUVUQSwyQkFBYSw4REFBQ3pDLDZIQUFPQTt3REFBQ3lJLFdBQVU7Ozs7OztvREFBK0I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBV3hHO0dBM2V3Qm5HOztRQUNMakQsc0RBQVNBO1FBQ3FDVSxvRUFBZUE7UUFnQi9EVCxxREFBT0E7OztNQWxCQWdEIiwic291cmNlcyI6WyJFOlxcR0lUXFxtdnBcXG5hc2hlbC1mcm9udGVuZFxcc3JjXFxhcHBcXGRhc2hib2FyZFxcYmVjb21lLXBlcmZvcm1lclxccGFnZS50c3giXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnXG5cbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCdcbmltcG9ydCB7IHVzZVJvdXRlciB9IGZyb20gJ25leHQvbmF2aWdhdGlvbidcbmltcG9ydCB7IHVzZUZvcm0gfSBmcm9tICdyZWFjdC1ob29rLWZvcm0nXG5pbXBvcnQgeyB6b2RSZXNvbHZlciB9IGZyb20gJ0Bob29rZm9ybS9yZXNvbHZlcnMvem9kJ1xuaW1wb3J0IHsgeiB9IGZyb20gJ3pvZCdcbmltcG9ydCB7IEJ1dHRvbiB9IGZyb20gJ0AvY29tcG9uZW50cy91aS9idXR0b24nXG5pbXBvcnQgeyBJbnB1dCB9IGZyb20gJ0AvY29tcG9uZW50cy91aS9pbnB1dCdcbmltcG9ydCB7IExhYmVsIH0gZnJvbSAnQC9jb21wb25lbnRzL3VpL2xhYmVsJ1xuaW1wb3J0IHsgQ2FyZCwgQ2FyZENvbnRlbnQsIENhcmREZXNjcmlwdGlvbiwgQ2FyZEhlYWRlciwgQ2FyZFRpdGxlIH0gZnJvbSAnQC9jb21wb25lbnRzL3VpL2NhcmQnXG5pbXBvcnQgeyBDaGVja2JveCB9IGZyb20gJ0AvY29tcG9uZW50cy91aS9jaGVja2JveCdcbmltcG9ydCB7IHVzZVNlc3Npb25TdG9yZSB9IGZyb20gJ0AvZW50aXRpZXMvc2Vzc2lvbi9zdG9yZSdcbmltcG9ydCB7IExvYWRlcjIsIENsb2NrLCBDaGVja0NpcmNsZTIsIENoZXZyb25Eb3duLCBDaGV2cm9uVXAgfSBmcm9tICdsdWNpZGUtcmVhY3QnXG5pbXBvcnQgZHluYW1pYyBmcm9tICduZXh0L2R5bmFtaWMnXG5cbmNvbnN0IFJpY2hUZXh0RWRpdG9yID0gZHluYW1pYyhcbiAgICAoKSA9PiBpbXBvcnQoJ0AvY29tcG9uZW50cy91aS9yaWNoLXRleHQtZWRpdG9yJykudGhlbigobW9kKSA9PiBtb2QuUmljaFRleHRFZGl0b3IpLFxuICAgIHsgc3NyOiBmYWxzZSB9XG4pXG5cbmNvbnN0IGJlY29tZVBlcmZvcm1lclNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICBkZXNjcmlwdGlvbjogei5zdHJpbmcoKVxuICAgICAgICAubWluKDUwLCAn0J7Qv9C40YHQsNC90LjQtSDQtNC+0LvQttC90L4g0YHQvtC00LXRgNC20LDRgtGMINC80LjQvdC40LzRg9C8IDUwINGB0LjQvNCy0L7Qu9C+0LInKVxuICAgICAgICAubWF4KDIwNDgsICfQntC/0LjRgdCw0L3QuNC1INC90LUg0LzQvtC20LXRgiDQv9GA0LXQstGL0YjQsNGC0YwgMjA0OCDRgdC40LzQstC+0LvQvtCyJyksXG4gICAgbG9jYXRpb246IHouc3RyaW5nKCkubWluKDEsICfQo9C60LDQttC40YLQtSDQsdCw0LfQvtCy0YPRjiDQu9C+0LrQsNGG0LjRjicpLFxuICAgIHdvcmtTY2hlZHVsZTogei5vYmplY3Qoe1xuICAgICAgICBpc0Fsd2F5c1JlYWR5OiB6LmJvb2xlYW4oKSxcbiAgICAgICAgc2NoZWR1bGVQZXJEYXk6IHoucmVjb3JkKHouc3RyaW5nKCksIHouYXJyYXkoei5vYmplY3Qoe1xuICAgICAgICAgICAgc3RhcnQ6IHouc3RyaW5nKCkucmVnZXgoL14oWzAxXT9bMC05XXwyWzAtM10pOlswLTVdWzAtOV0kLywgJ9Cd0LXQstC10YDQvdGL0Lkg0YTQvtGA0LzQsNGCINCy0YDQtdC80LXQvdC4Jykub3B0aW9uYWwoKSxcbiAgICAgICAgICAgIGVuZDogei5zdHJpbmcoKS5yZWdleCgvXihbMDFdP1swLTldfDJbMC0zXSk6WzAtNV1bMC05XSQvLCAn0J3QtdCy0LXRgNC90YvQuSDRhNC+0YDQvNCw0YIg0LLRgNC10LzQtdC90LgnKS5vcHRpb25hbCgpLFxuICAgICAgICB9KSkpLFxuICAgIH0pLFxufSlcblxudHlwZSBCZWNvbWVQZXJmb3JtZXJWYWx1ZXMgPSB6LmluZmVyPHR5cGVvZiBiZWNvbWVQZXJmb3JtZXJTY2hlbWE+XG5cbmNvbnN0IGRheXNPZldlZWsgPSBbXG4gICAgJ9Cf0L7QvdC10LTQtdC70YzQvdC40LonLFxuICAgICfQktGC0L7RgNC90LjQuicsXG4gICAgJ9Ch0YDQtdC00LAnLFxuICAgICfQp9C10YLQstC10YDQsycsXG4gICAgJ9Cf0Y/RgtC90LjRhtCwJyxcbiAgICAn0KHRg9Cx0LHQvtGC0LAnLFxuICAgICfQktC+0YHQutGA0LXRgdC10L3RjNC1Jyxcbl1cblxuY29uc3QgZ2VuZXJhdGVUaW1lSW50ZXJ2YWxzID0gKCkgPT4ge1xuICAgIGNvbnN0IGludGVydmFscyA9IFtdXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCAyNDsgaSsrKSB7XG4gICAgICAgIGZvciAobGV0IGogPSAwOyBqIDwgNjA7IGogKz0gMzApIHtcbiAgICAgICAgICAgIGNvbnN0IGhvdXIgPSBpLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwgJzAnKVxuICAgICAgICAgICAgY29uc3QgbWludXRlID0gai50b1N0cmluZygpLnBhZFN0YXJ0KDIsICcwJylcbiAgICAgICAgICAgIGludGVydmFscy5wdXNoKGAke2hvdXJ9OiR7bWludXRlfWApXG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGludGVydmFsc1xufVxuXG5jb25zdCB0aW1lSW50ZXJ2YWxzID0gZ2VuZXJhdGVUaW1lSW50ZXJ2YWxzKClcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gQmVjb21lUGVyZm9ybWVyUGFnZSgpIHtcbiAgICBjb25zdCByb3V0ZXIgPSB1c2VSb3V0ZXIoKVxuICAgIGNvbnN0IHsgdXNlciwgaXNMb2FkaW5nLCBnZXRQcm9maWxlLCBiZWNvbWVQZXJmb3JtZXJGdWxsIH0gPSB1c2VTZXNzaW9uU3RvcmUoKVxuICAgIGNvbnN0IFtjb21wZXRlbmNpZXMsIHNldENvbXBldGVuY2llc10gPSBSZWFjdC51c2VTdGF0ZTxzdHJpbmdbXT4oW10pXG4gICAgY29uc3QgW2NvbXBldGVuY3lJbnB1dCwgc2V0Q29tcGV0ZW5jeUlucHV0XSA9IFJlYWN0LnVzZVN0YXRlKCcnKVxuICAgIGNvbnN0IFtzY2hlZHVsZVBlckRheSwgc2V0U2NoZWR1bGVQZXJEYXldID0gUmVhY3QudXNlU3RhdGU8UmVjb3JkPHN0cmluZywgQXJyYXk8eyBzdGFydDogc3RyaW5nOyBlbmQ6IHN0cmluZyB9Pj4+KHtcbiAgICAgICAgJ9Cf0L7QvdC10LTQtdC70YzQvdC40LonOiBbXSxcbiAgICAgICAgJ9CS0YLQvtGA0L3QuNC6JzogW10sXG4gICAgICAgICfQodGA0LXQtNCwJzogW10sXG4gICAgICAgICfQp9C10YLQstC10YDQsyc6IFtdLFxuICAgICAgICAn0J/Rj9GC0L3QuNGG0LAnOiBbXSxcbiAgICAgICAgJ9Ch0YPQsdCx0L7RgtCwJzogW10sXG4gICAgICAgICfQktC+0YHQutGA0LXRgdC10L3RjNC1JzogW10sXG4gICAgfSlcbiAgICBjb25zdCBbc2NoZWR1bGVDb2xsYXBzZWQsIHNldFNjaGVkdWxlQ29sbGFwc2VkXSA9IFJlYWN0LnVzZVN0YXRlKGZhbHNlKVxuICAgIGNvbnN0IFtjdXJyZW50U3RlcCwgc2V0Q3VycmVudFN0ZXBdID0gUmVhY3QudXNlU3RhdGUoMSlcbiAgICBjb25zdCBbYmVzdEFkZHJlc3NTdWdnZXN0aW9uLCBzZXRCZXN0QWRkcmVzc1N1Z2dlc3Rpb25dID0gUmVhY3QudXNlU3RhdGU8c3RyaW5nIHwgbnVsbD4obnVsbClcblxuICAgIGNvbnN0IGZvcm0gPSB1c2VGb3JtPEJlY29tZVBlcmZvcm1lclZhbHVlcz4oe1xuICAgICAgICByZXNvbHZlcjogem9kUmVzb2x2ZXIoYmVjb21lUGVyZm9ybWVyU2NoZW1hKSxcbiAgICAgICAgZGVmYXVsdFZhbHVlczoge1xuICAgICAgICAgICAgZGVzY3JpcHRpb246ICcnLFxuICAgICAgICAgICAgbG9jYXRpb246ICcnLFxuICAgICAgICAgICAgd29ya1NjaGVkdWxlOiB7XG4gICAgICAgICAgICAgICAgaXNBbHdheXNSZWFkeTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBzY2hlZHVsZVBlckRheSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgfSlcblxuICAgIGNvbnN0IGlzQWx3YXlzUmVhZHkgPSBmb3JtLndhdGNoKCd3b3JrU2NoZWR1bGUuaXNBbHdheXNSZWFkeScpXG4gICAgY29uc3QgZGVzY3JpcHRpb25IdG1sID0gZm9ybS53YXRjaCgnZGVzY3JpcHRpb24nKVxuXG4gICAgLy8g0J/QvtC00YHRh9GR0YIg0YHQuNC80LLQvtC70L7QsiDQsdC10LcgSFRNTCDRgtC10LPQvtCyXG4gICAgY29uc3QgZ2V0VGV4dExlbmd0aCA9IChodG1sOiBzdHJpbmcpID0+IHtcbiAgICAgICAgaWYgKHR5cGVvZiB3aW5kb3cgPT09ICd1bmRlZmluZWQnKSByZXR1cm4gMFxuICAgICAgICBjb25zdCBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKVxuICAgICAgICBkaXYuaW5uZXJIVE1MID0gaHRtbFxuICAgICAgICByZXR1cm4gZGl2LnRleHRDb250ZW50Py5sZW5ndGggfHwgMFxuICAgIH1cblxuICAgIGNvbnN0IGRlc2NyaXB0aW9uVGV4dExlbmd0aCA9IGRlc2NyaXB0aW9uSHRtbCA/IGdldFRleHRMZW5ndGgoZGVzY3JpcHRpb25IdG1sKSA6IDBcbiAgICBjb25zdCBsb2NhdGlvbiA9IGZvcm0ud2F0Y2goJ2xvY2F0aW9uJylcblxuICAgIGNvbnN0IGlzU3RlcDFWYWxpZCA9IGRlc2NyaXB0aW9uVGV4dExlbmd0aCA+PSA1MCAmJiBjb21wZXRlbmNpZXMubGVuZ3RoID49IDEgJiYgbG9jYXRpb24ubGVuZ3RoID49IDFcblxuICAgIGNvbnN0IGFkZENvbXBldGVuY3kgPSAoKSA9PiB7XG4gICAgICAgIGlmIChjb21wZXRlbmN5SW5wdXQudHJpbSgpICYmICFjb21wZXRlbmNpZXMuaW5jbHVkZXMoY29tcGV0ZW5jeUlucHV0LnRyaW0oKSkpIHtcbiAgICAgICAgICAgIHNldENvbXBldGVuY2llcyhbLi4uY29tcGV0ZW5jaWVzLCBjb21wZXRlbmN5SW5wdXQudHJpbSgpXSlcbiAgICAgICAgICAgIHNldENvbXBldGVuY3lJbnB1dCgnJylcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IHJlbW92ZUNvbXBldGVuY3kgPSAoY29tcGV0ZW5jeTogc3RyaW5nKSA9PiB7XG4gICAgICAgIHNldENvbXBldGVuY2llcyhjb21wZXRlbmNpZXMuZmlsdGVyKGMgPT4gYyAhPT0gY29tcGV0ZW5jeSkpXG4gICAgfVxuXG4gICAgY29uc3QgdG9nZ2xlRGF5ID0gKGRheTogc3RyaW5nKSA9PiB7XG4gICAgICAgIGlmIChpc0Fsd2F5c1JlYWR5KSB7XG4gICAgICAgICAgICBmb3JtLnNldFZhbHVlKCd3b3JrU2NoZWR1bGUuaXNBbHdheXNSZWFkeScsIGZhbHNlKVxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGN1cnJlbnRTY2hlZHVsZSA9IHsgLi4uc2NoZWR1bGVQZXJEYXkgfVxuICAgICAgICBjb25zdCBoYXNQZXJpb2RzID0gY3VycmVudFNjaGVkdWxlW2RheV0ubGVuZ3RoID4gMFxuICAgICAgICBpZiAoaGFzUGVyaW9kcykge1xuICAgICAgICAgICAgY3VycmVudFNjaGVkdWxlW2RheV0gPSBbXVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY3VycmVudFNjaGVkdWxlW2RheV0gPSBbeyBzdGFydDogJzA5OjAwJywgZW5kOiAnMTg6MDAnIH1dXG4gICAgICAgIH1cbiAgICAgICAgc2V0U2NoZWR1bGVQZXJEYXkoY3VycmVudFNjaGVkdWxlKVxuICAgIH1cblxuICAgIGNvbnN0IGFkZFBlcmlvZCA9IChkYXk6IHN0cmluZykgPT4ge1xuICAgICAgICBpZiAoaXNBbHdheXNSZWFkeSkge1xuICAgICAgICAgICAgZm9ybS5zZXRWYWx1ZSgnd29ya1NjaGVkdWxlLmlzQWx3YXlzUmVhZHknLCBmYWxzZSlcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBjdXJyZW50U2NoZWR1bGUgPSB7IC4uLnNjaGVkdWxlUGVyRGF5IH1cbiAgICAgICAgY3VycmVudFNjaGVkdWxlW2RheV0gPSBbLi4uKGN1cnJlbnRTY2hlZHVsZVtkYXldIHx8IFtdKSwgeyBzdGFydDogJzAwOjAwJywgZW5kOiAnMDA6MDAnIH1dXG4gICAgICAgIHNldFNjaGVkdWxlUGVyRGF5KGN1cnJlbnRTY2hlZHVsZSlcbiAgICB9XG5cbiAgICBjb25zdCByZW1vdmVQZXJpb2QgPSAoZGF5OiBzdHJpbmcsIGluZGV4OiBudW1iZXIpID0+IHtcbiAgICAgICAgY29uc3QgY3VycmVudFNjaGVkdWxlID0geyAuLi5zY2hlZHVsZVBlckRheSB9XG4gICAgICAgIGNvbnN0IG5ld1BlcmlvZHMgPSBjdXJyZW50U2NoZWR1bGVbZGF5XS5maWx0ZXIoKF8sIGkpID0+IGkgIT09IGluZGV4KVxuICAgICAgICBjdXJyZW50U2NoZWR1bGVbZGF5XSA9IG5ld1BlcmlvZHNcbiAgICAgICAgc2V0U2NoZWR1bGVQZXJEYXkoY3VycmVudFNjaGVkdWxlKVxuICAgIH1cblxuICAgIGNvbnN0IHVwZGF0ZVBlcmlvZCA9IChkYXk6IHN0cmluZywgaW5kZXg6IG51bWJlciwgZmllbGQ6ICdzdGFydCcgfCAnZW5kJywgdmFsdWU6IHN0cmluZykgPT4ge1xuICAgICAgICBpZiAoaXNBbHdheXNSZWFkeSkge1xuICAgICAgICAgICAgZm9ybS5zZXRWYWx1ZSgnd29ya1NjaGVkdWxlLmlzQWx3YXlzUmVhZHknLCBmYWxzZSlcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBjdXJyZW50U2NoZWR1bGUgPSB7IC4uLnNjaGVkdWxlUGVyRGF5IH1cbiAgICAgICAgY3VycmVudFNjaGVkdWxlW2RheV1baW5kZXhdW2ZpZWxkXSA9IHZhbHVlXG4gICAgICAgIHNldFNjaGVkdWxlUGVyRGF5KGN1cnJlbnRTY2hlZHVsZSlcbiAgICB9XG5cbiAgICBjb25zdCBoYW5kbGVBbHdheXNSZWFkeUNoYW5nZSA9IChjaGVja2VkOiBib29sZWFuKSA9PiB7XG4gICAgICAgIGZvcm0uc2V0VmFsdWUoJ3dvcmtTY2hlZHVsZS5pc0Fsd2F5c1JlYWR5JywgY2hlY2tlZClcbiAgICAgICAgaWYgKGNoZWNrZWQpIHtcbiAgICAgICAgICAgIGNvbnN0IHJlc2V0U2NoZWR1bGUgPSB7XG4gICAgICAgICAgICAgICAgJ9Cf0L7QvdC10LTQtdC70YzQvdC40LonOiBbXSxcbiAgICAgICAgICAgICAgICAn0JLRgtC+0YDQvdC40LonOiBbXSxcbiAgICAgICAgICAgICAgICAn0KHRgNC10LTQsCc6IFtdLFxuICAgICAgICAgICAgICAgICfQp9C10YLQstC10YDQsyc6IFtdLFxuICAgICAgICAgICAgICAgICfQn9GP0YLQvdC40YbQsCc6IFtdLFxuICAgICAgICAgICAgICAgICfQodGD0LHQsdC+0YLQsCc6IFtdLFxuICAgICAgICAgICAgICAgICfQktC+0YHQutGA0LXRgdC10L3RjNC1JzogW10sXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzZXRTY2hlZHVsZVBlckRheShyZXNldFNjaGVkdWxlKVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgaGFuZGxlU2NoZWR1bGVPcGVuID0gKCkgPT4ge1xuICAgICAgICBmb3JtLnNldFZhbHVlKCd3b3JrU2NoZWR1bGUuaXNBbHdheXNSZWFkeScsIGZhbHNlKVxuICAgICAgICBzZXRTY2hlZHVsZUNvbGxhcHNlZChmYWxzZSlcbiAgICB9XG5cbiAgICAvLyDQn9C+0LjRgdC6INCw0LTRgNC10YHQvtCyINGH0LXRgNC10LcgTm9taW5hdGltIEFQSSAo0LrQsNC6INCyIFRhZ0lucHV0IC0g0YLQvtC70YzQutC+INC70YPRh9GI0LXQtSDRgdC+0LLQv9Cw0LTQtdC90LjQtSlcbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBjb25zdCBzZWFyY2hBZGRyZXNzID0gYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgaWYgKGxvY2F0aW9uLmxlbmd0aCA8IDIpIHtcbiAgICAgICAgICAgICAgICBzZXRCZXN0QWRkcmVzc1N1Z2dlc3Rpb24obnVsbClcbiAgICAgICAgICAgICAgICByZXR1cm5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKFxuICAgICAgICAgICAgICAgICAgICBgaHR0cHM6Ly9ub21pbmF0aW0ub3BlbnN0cmVldG1hcC5vcmcvc2VhcmNoP2Zvcm1hdD1qc29uJnE9JHtlbmNvZGVVUklDb21wb25lbnQobG9jYXRpb24pfSZsaW1pdD01JmFkZHJlc3NkZXRhaWxzPTEmY291bnRyeWNvZGVzPXJ1YCxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBY2NlcHQtTGFuZ3VhZ2UnOiAncnUnLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICBjb25zdCBkYXRhID0gYXdhaXQgcmVzcG9uc2UuanNvbigpXG4gICAgICAgICAgICAgICAgY29uc3QgYWRkcmVzc2VzID0gZGF0YS5tYXAoKGl0ZW06IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBjaXR5ID0gaXRlbS5hZGRyZXNzLmNpdHkgfHwgaXRlbS5hZGRyZXNzLnRvd24gfHwgaXRlbS5hZGRyZXNzLnZpbGxhZ2UgfHwgJydcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RyZWV0ID0gaXRlbS5hZGRyZXNzLnJvYWQgfHwgJydcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaG91c2UgPSBpdGVtLmFkZHJlc3MuaG91c2VfbnVtYmVyIHx8ICcnXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHBhcnRzID0gW2NpdHksIHN0cmVldCwgaG91c2VdLmZpbHRlcihCb29sZWFuKVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcGFydHMuam9pbignLCAnKVxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgLy8g0JHQtdGA0LXQvCDRgtC+0LvRjNC60L4g0L/QtdGA0LLQvtC1ICjQu9GD0YfRiNC10LUpINGB0L7QstC/0LDQtNC10L3QuNC1LCDQutCw0Log0LIgVGFnSW5wdXRcbiAgICAgICAgICAgICAgICBzZXRCZXN0QWRkcmVzc1N1Z2dlc3Rpb24oYWRkcmVzc2VzLmxlbmd0aCA+IDAgPyBhZGRyZXNzZXNbMF0gOiBudWxsKVxuICAgICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKCfQntGI0LjQsdC60LAg0L/QvtC40YHQutCwINCw0LTRgNC10YHQvtCyOicsIGVycm9yKVxuICAgICAgICAgICAgICAgIHNldEJlc3RBZGRyZXNzU3VnZ2VzdGlvbihudWxsKVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZGVib3VuY2UgPSBzZXRUaW1lb3V0KHNlYXJjaEFkZHJlc3MsIDMwMClcbiAgICAgICAgcmV0dXJuICgpID0+IGNsZWFyVGltZW91dChkZWJvdW5jZSlcbiAgICB9LCBbbG9jYXRpb25dKVxuXG4gICAgY29uc3QgaGFuZGxlTG9jYXRpb25DaGFuZ2UgPSAodmFsdWU6IHN0cmluZykgPT4ge1xuICAgICAgICBmb3JtLnNldFZhbHVlKCdsb2NhdGlvbicsIHZhbHVlKVxuICAgIH1cblxuICAgIGNvbnN0IGhhbmRsZUxvY2F0aW9uS2V5RG93biA9IChlOiBSZWFjdC5LZXlib2FyZEV2ZW50KSA9PiB7XG4gICAgICAgIGlmIChlLmtleSA9PT0gJ1RhYicgJiYgYmVzdEFkZHJlc3NTdWdnZXN0aW9uKSB7XG4gICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgICAgIC8vIFRhYiDQstGL0LHQuNGA0LDQtdGCINCw0LLRgtC+0LTQvtC/0L7Qu9C90LXQvdC40LVcbiAgICAgICAgICAgIGZvcm0uc2V0VmFsdWUoJ2xvY2F0aW9uJywgYmVzdEFkZHJlc3NTdWdnZXN0aW9uKVxuICAgICAgICAgICAgc2V0QmVzdEFkZHJlc3NTdWdnZXN0aW9uKG51bGwpXG4gICAgICAgIH0gZWxzZSBpZiAoZS5rZXkgPT09ICdFc2NhcGUnKSB7XG4gICAgICAgICAgICBzZXRCZXN0QWRkcmVzc1N1Z2dlc3Rpb24obnVsbClcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IHNob3dBZGRyZXNzQXV0b2NvbXBsZXRlID0gYmVzdEFkZHJlc3NTdWdnZXN0aW9uICYmIGJlc3RBZGRyZXNzU3VnZ2VzdGlvbi50b0xvd2VyQ2FzZSgpLnN0YXJ0c1dpdGgobG9jYXRpb24udG9Mb3dlckNhc2UoKSlcblxuICAgIGNvbnN0IG9uU3VibWl0ID0gYXN5bmMgKHZhbHVlczogQmVjb21lUGVyZm9ybWVyVmFsdWVzKSA9PiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICAvLyDQn9GA0L7QstC10YDRj9C10Lwg0LTQu9C40L3RgyDQvtC/0LjRgdCw0L3QuNGPINCx0LXQtyBIVE1MINGC0LXQs9C+0LIg0L/QtdGA0LXQtCDQvtGC0L/RgNCw0LLQutC+0LlcbiAgICAgICAgICAgIGNvbnN0IHRleHRMZW5ndGggPSBnZXRUZXh0TGVuZ3RoKHZhbHVlcy5kZXNjcmlwdGlvbilcbiAgICAgICAgICAgIGlmICh0ZXh0TGVuZ3RoIDwgNTApIHtcbiAgICAgICAgICAgICAgICBhbGVydChg0J7Qv9C40YHQsNC90LjQtSDQtNC+0LvQttC90L4g0YHQvtC00LXRgNC20LDRgtGMINC80LjQvdC40LzRg9C8IDUwINGB0LjQvNCy0L7Qu9C+0LIuINCi0LXQutGD0YnQsNGPINC00LvQuNC90LA6ICR7dGV4dExlbmd0aH1gKVxuICAgICAgICAgICAgICAgIHJldHVyblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBhd2FpdCBiZWNvbWVQZXJmb3JtZXJGdWxsKHtcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogdmFsdWVzLmRlc2NyaXB0aW9uLFxuICAgICAgICAgICAgICAgIGNvbXBldGVuY2llcyxcbiAgICAgICAgICAgICAgICBsb2NhdGlvbjogdmFsdWVzLmxvY2F0aW9uLFxuICAgICAgICAgICAgICAgIHdvcmtTY2hlZHVsZToge1xuICAgICAgICAgICAgICAgICAgICBpc0Fsd2F5c1JlYWR5OiB2YWx1ZXMud29ya1NjaGVkdWxlLmlzQWx3YXlzUmVhZHksXG4gICAgICAgICAgICAgICAgICAgIHNjaGVkdWxlUGVyRGF5LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgcm91dGVyLnB1c2goJy9kYXNoYm9hcmQvcHJvZmlsZScpXG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKCdGYWlsZWQgdG8gYmVjb21lIHBlcmZvcm1lcicsIGVycm9yKVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgZ2V0UHJvZmlsZSgpXG4gICAgfSwgW2dldFByb2ZpbGVdKVxuXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgaWYgKCFpc0xvYWRpbmcgJiYgIXVzZXIpIHtcbiAgICAgICAgICAgIHJvdXRlci5wdXNoKCcvYXV0aC9sb2dpbicpXG4gICAgICAgIH0gZWxzZSBpZiAodXNlciAmJiAodXNlci5yb2xlcy5pbmNsdWRlcygnTmV3YmllJykgfHwgdXNlci5yb2xlcy5pbmNsdWRlcygnTWFzdGVyJykpKSB7XG4gICAgICAgICAgICByb3V0ZXIucHVzaCgnL2Rhc2hib2FyZC9wcm9maWxlJylcbiAgICAgICAgfVxuICAgIH0sIFtpc0xvYWRpbmcsIHVzZXIsIHJvdXRlcl0pXG5cbiAgICBjb25zdCBbaXNNb3VudGVkLCBzZXRJc01vdW50ZWRdID0gUmVhY3QudXNlU3RhdGUoZmFsc2UpXG5cbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBzZXRJc01vdW50ZWQodHJ1ZSlcbiAgICB9LCBbXSlcblxuICAgIGlmICghaXNNb3VudGVkKSB7XG4gICAgICAgIHJldHVybiA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIG1pbi1oLXNjcmVlblwiPjxMb2FkZXIyIGNsYXNzTmFtZT1cInctOCBoLTggYW5pbWF0ZS1zcGluXCIgLz48L2Rpdj5cbiAgICB9XG5cbiAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbnRhaW5lciBtYXgtdy00eGwgbXgtYXV0byBweS04IHB4LTRcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibWItOFwiPlxuICAgICAgICAgICAgICAgIDxoMSBjbGFzc05hbWU9XCJ0ZXh0LTN4bCBmb250LWJvbGQgbWItMlwiPtCh0YLQsNGC0Ywg0LjRgdC/0L7Qu9C90LjRgtC10LvQtdC8PC9oMT5cbiAgICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJ0ZXh0LW11dGVkLWZvcmVncm91bmRcIj5cbiAgICAgICAgICAgICAgICAgICAg0JfQsNC/0L7Qu9C90LjRgtC1INC40L3RhNC+0YDQvNCw0YbQuNGOINC+INGB0LXQsdC1LCDRh9GC0L7QsdGLINC90LDRh9Cw0YLRjCDQv9GA0LjQvdC40LzQsNGC0Ywg0LfQsNC60LDQt9GLXG4gICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgbWItOCBnYXAtNFwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtgZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTIgJHtjdXJyZW50U3RlcCA9PT0gMSA/ICd0ZXh0LWJsdWUtNjAwJyA6ICd0ZXh0LW11dGVkLWZvcmVncm91bmQnfWB9PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17YHctOCBoLTggcm91bmRlZC1mdWxsIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGJvcmRlci0yICR7Y3VycmVudFN0ZXAgPT09IDEgPyAnYm9yZGVyLWJsdWUtNjAwIGJnLWJsdWUtNjAwIHRleHQtd2hpdGUnIDogJ2JvcmRlci1tdXRlZCd9YH0+XG4gICAgICAgICAgICAgICAgICAgICAgICB7Y3VycmVudFN0ZXAgPiAxID8gPENoZWNrQ2lyY2xlMiBjbGFzc05hbWU9XCJ3LTQgaC00XCIgLz4gOiAnMSd9XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJmb250LW1lZGl1bVwiPtCe0YHQvdC+0LLQvdCw0Y8g0LjQvdGE0L7RgNC80LDRhtC40Y88L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2B3LTE2IGgtMC41ICR7Y3VycmVudFN0ZXAgPiAxID8gJ2JnLWJsdWUtNjAwJyA6ICdiZy1tdXRlZCd9YH0gLz5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17YGZsZXggaXRlbXMtY2VudGVyIGdhcC0yICR7Y3VycmVudFN0ZXAgPT09IDIgPyAndGV4dC1ibHVlLTYwMCcgOiAndGV4dC1tdXRlZC1mb3JlZ3JvdW5kJ31gfT5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2B3LTggaC04IHJvdW5kZWQtZnVsbCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBib3JkZXItMiAke2N1cnJlbnRTdGVwID09PSAyID8gJ2JvcmRlci1ibHVlLTYwMCBiZy1ibHVlLTYwMCB0ZXh0LXdoaXRlJyA6ICdib3JkZXItbXV0ZWQnfWB9PlxuICAgICAgICAgICAgICAgICAgICAgICAgMlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiZm9udC1tZWRpdW1cIj7Qk9GA0LDRhNC40Log0YDQsNCx0L7RgtGLPC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDxmb3JtIG9uU3VibWl0PXtmb3JtLmhhbmRsZVN1Ym1pdChvblN1Ym1pdCl9PlxuICAgICAgICAgICAgICAgIDxDYXJkPlxuICAgICAgICAgICAgICAgICAgICA8Q2FyZENvbnRlbnQgY2xhc3NOYW1lPVwicHQtNlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAge2N1cnJlbnRTdGVwID09PSAxICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInNwYWNlLXktNlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInNwYWNlLXktMlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPExhYmVsIGh0bWxGb3I9XCJkZXNjcmlwdGlvblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgINCe0L/QuNGB0LDQvdC40LUgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC1yZWQtNTAwXCI+Kjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvTGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJ0ZXh0LXNtIHRleHQtbXV0ZWQtZm9yZWdyb3VuZFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgINCg0LDRgdGB0LrQsNC20LjRgtC1INC+INGB0LXQsdC1LCDRgdCy0L7QtdC8INC+0L/Ri9GC0LUg0Lgg0YPRgdC70YPQs9Cw0YUgKNC80LjQvdC40LzRg9C8IDUwINGB0LjQvNCy0L7Qu9C+0LIpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8UmljaFRleHRFZGl0b3JcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50PXtmb3JtLndhdGNoKCdkZXNjcmlwdGlvbicpIHx8ICcnfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsoY29udGVudCkgPT4gZm9ybS5zZXRWYWx1ZSgnZGVzY3JpcHRpb24nLCBjb250ZW50KX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cItCe0L/QuNGI0LjRgtC1INGB0LLQvtC5INC+0L/Ri9GCLCDQvdCw0LLRi9C60Lgg0Lgg0YPRgdC70YPQs9C4LCDQutC+0YLQvtGA0YvQtSDQstGLINC/0YDQtdC00L7RgdGC0LDQstC70Y/RgtC1Li4uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXhMZW5ndGg9ezIwNDh9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGp1c3RpZnktYmV0d2VlbiB0ZXh0LXNtXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2Zvcm0uZm9ybVN0YXRlLmVycm9ycy5kZXNjcmlwdGlvbiA/IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwidGV4dC1yZWQtNTAwXCI+e2Zvcm0uZm9ybVN0YXRlLmVycm9ycy5kZXNjcmlwdGlvbi5tZXNzYWdlfTwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJ0ZXh0LW11dGVkLWZvcmVncm91bmRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtkZXNjcmlwdGlvblRleHRMZW5ndGggPj0gNTAgPyAn4pyTINCc0LjQvdC40LzRg9C8INC00L7RgdGC0LjQs9C90YPRgicgOiBgJHs1MCAtIGRlc2NyaXB0aW9uVGV4dExlbmd0aH0g0YHQuNC80LLQvtC70L7QsiDQtNC+INC80LjQvdC40LzRg9C80LBgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJ0ZXh0LW11dGVkLWZvcmVncm91bmRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2Rlc2NyaXB0aW9uVGV4dExlbmd0aH0gLyAyMDQ4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwic3BhY2UteS0yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8TGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg0JrQvtC80L/QtdGC0LXQvdGG0LjQuCA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LXJlZC01MDBcIj4qPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9MYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQtc20gdGV4dC1tdXRlZC1mb3JlZ3JvdW5kXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg0KPQutCw0LbQuNGC0LUg0L3QsNCy0YvQutC4INC4INGD0YHQu9GD0LPQuCwg0LrQvtGC0L7RgNGL0LUg0LLRiyDQv9GA0LXQtNC+0YHRgtCw0LLQu9GP0LXRgtC1XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggZ2FwLTJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8SW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCLQndCw0L/RgNC40LzQtdGAOiDQodCw0L3RgtC10YXQvdC40LrQsCwg0K3Qu9C10LrRgtGA0LjQutCwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU9e2NvbXBldGVuY3lJbnB1dH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9eyhlKSA9PiBzZXRDb21wZXRlbmN5SW5wdXQoZS50YXJnZXQudmFsdWUpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbktleVByZXNzPXsoZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGUua2V5ID09PSAnRW50ZXInKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWRkQ29tcGV0ZW5jeSgpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QnV0dG9uIHR5cGU9XCJidXR0b25cIiBvbkNsaWNrPXthZGRDb21wZXRlbmN5fT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg0JTQvtCx0LDQstC40YLRjFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Y29tcGV0ZW5jaWVzLmxlbmd0aCA+IDAgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBmbGV4LXdyYXAgZ2FwLTIgbXQtMlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Y29tcGV0ZW5jaWVzLm1hcCgoY29tcGV0ZW5jeSkgPT4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleT17Y29tcGV0ZW5jeX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJiZy1ibHVlLTEwMCB0ZXh0LWJsdWUtNzAwIHB4LTMgcHktMSByb3VuZGVkLWZ1bGwgdGV4dC1zbSBmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMlwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2NvbXBldGVuY3l9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gcmVtb3ZlQ29tcGV0ZW5jeShjb21wZXRlbmN5KX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiaG92ZXI6dGV4dC1ibHVlLTkwMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDDl1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJzcGFjZS15LTJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxMYWJlbCBodG1sRm9yPVwibG9jYXRpb25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDQkdCw0LfQvtCy0LDRjyDQu9C+0LrQsNGG0LjRjyA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LXJlZC01MDBcIj4qPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9MYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQtc20gdGV4dC1tdXRlZC1mb3JlZ3JvdW5kXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg0KPQutCw0LbQuNGC0LUg0LDQtNGA0LXRgSAoVGFiINC00LvRjyDQstGL0LHQvtGA0LAg0L/QvtC00YHQutCw0LfQutC4KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyZWxhdGl2ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxJbnB1dFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD1cImxvY2F0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCLQk9C+0YDQvtC0LCDRg9C70LjRhtCwLCDQtNC+0LxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT17bG9jYXRpb259XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsoZSkgPT4gaGFuZGxlTG9jYXRpb25DaGFuZ2UoZS50YXJnZXQudmFsdWUpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbktleURvd249e2hhbmRsZUxvY2F0aW9uS2V5RG93bn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25CbHVyPXsoKSA9PiBzZXRCZXN0QWRkcmVzc1N1Z2dlc3Rpb24obnVsbCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG9Db21wbGV0ZT1cIm9mZlwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInRleHQtYmFzZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Lyog0JDQstGC0L7QtNC+0L/QvtC70L3QtdC90LjQtSDQsiDRgdGC0LjQu9C1INCv0L3QtNC10LrRgSAtINGB0LXRgNGL0Lkg0YLQtdC60YHRgiDQv9GA0L7QtNC+0LvQttC10L3QuNGPICovfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtzaG93QWRkcmVzc0F1dG9jb21wbGV0ZSAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYWJzb2x1dGUgaW5zZXQteS0wIGxlZnQtMCBwb2ludGVyLWV2ZW50cy1ub25lIGZsZXggaXRlbXMtY2VudGVyIHB4LTNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQtYmFzZSB0ZXh0LXRyYW5zcGFyZW50XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2xvY2F0aW9ufVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC1iYXNlIHRleHQtbXV0ZWQtZm9yZWdyb3VuZFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtiZXN0QWRkcmVzc1N1Z2dlc3Rpb24uc2xpY2UobG9jYXRpb24ubGVuZ3RoKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2Zvcm0uZm9ybVN0YXRlLmVycm9ycy5sb2NhdGlvbiAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwidGV4dC1zbSB0ZXh0LXJlZC01MDBcIj57Zm9ybS5mb3JtU3RhdGUuZXJyb3JzLmxvY2F0aW9uLm1lc3NhZ2V9PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGp1c3RpZnktZW5kXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gc2V0Q3VycmVudFN0ZXAoMil9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9eyFpc1N0ZXAxVmFsaWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg0JTQsNC70LXQtVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgKX1cblxuICAgICAgICAgICAgICAgICAgICAgICAge2N1cnJlbnRTdGVwID09PSAyICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInNwYWNlLXktNlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtc3RhcnQgc3BhY2UteC0zXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Q2hlY2tib3hcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD1cImFsd2F5cy1yZWFkeVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hlY2tlZD17aXNBbHdheXNSZWFkeX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNoZWNrZWRDaGFuZ2U9e2hhbmRsZUFsd2F5c1JlYWR5Q2hhbmdlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwic3BhY2UteS0xXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPExhYmVsIGh0bWxGb3I9XCJhbHdheXMtcmVhZHlcIiBjbGFzc05hbWU9XCJjdXJzb3ItcG9pbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDQktGB0LXQs9C00LAg0LPQvtGC0L7QsiDQuiDQt9Cw0LrQsNC30LDQvFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvTGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwidGV4dC1zbSB0ZXh0LW11dGVkLWZvcmVncm91bmRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg0JXRgdC70Lgg0LLQutC70Y7Rh9C10L3Qviwg0LrQu9C40LXQvdGC0Ysg0LHRg9C00YPRgiDQstC40LTQtdGC0Ywg0LLQsNGBINC00L7RgdGC0YPQv9C90YvQvCDQsiDQu9GO0LHQvtC1INCy0YDQtdC80Y9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJzcGFjZS15LTNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXJpYW50PVwib3V0bGluZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwidy1mdWxsIGp1c3RpZnktYmV0d2VlblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gc2V0U2NoZWR1bGVDb2xsYXBzZWQoIXNjaGVkdWxlQ29sbGFwc2VkKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Q2xvY2sgY2xhc3NOYW1lPVwidy00IGgtNFwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgINCd0LDRgdGC0YDQvtC40YLRjCDRgNCw0YHQv9C40YHQsNC90LjQtVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7c2NoZWR1bGVDb2xsYXBzZWQgPyA8Q2hldnJvblVwIGNsYXNzTmFtZT1cInctNCBoLTRcIiAvPiA6IDxDaGV2cm9uRG93biBjbGFzc05hbWU9XCJ3LTQgaC00XCIgLz59XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0J1dHRvbj5cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3NjaGVkdWxlQ29sbGFwc2VkICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInNwYWNlLXktMyBtdC00XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQtc20gdGV4dC1tdXRlZC1mb3JlZ3JvdW5kXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDQlNC70Y8g0LrQsNC20LTQvtCz0L4g0LTQvdGPINC90LXQtNC10LvQuCDRg9C60LDQttC40YLQtSDQv9C10YDQuNC+0LTRiyDRgNCw0LHQvtGC0YsuINCV0YHQu9C4INC00LvRjyDQtNC90Y8g0L3QtdGCINGA0LDRgdC/0LjRgdCw0L3QuNGPIC0g0YDQsNCx0L7RgtCw0LXRgiAyNCDRh9Cw0YHQsC5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7ZGF5c09mV2Vlay5tYXAoKGRheSkgPT4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBrZXk9e2RheX0gY2xhc3NOYW1lPVwiYm9yZGVyIHJvdW5kZWQtbGcgcC00IHNwYWNlLXktM1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPENoZWNrYm94XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD17ZGF5fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hlY2tlZD17c2NoZWR1bGVQZXJEYXlbZGF5XT8ubGVuZ3RoID4gMH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2hlY2tlZENoYW5nZT17KCkgPT4gdG9nZ2xlRGF5KGRheSl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBodG1sRm9yPXtkYXl9IGNsYXNzTmFtZT1cImZvbnQtbWVkaXVtIGN1cnNvci1wb2ludGVyIGZsZXgtMVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2RheX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3NjaGVkdWxlUGVyRGF5W2RheV0/Lmxlbmd0aCA+IDAgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhcmlhbnQ9XCJvdXRsaW5lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplPVwic21cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGFkZFBlcmlvZChkYXkpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICsg0JTQvtCx0LDQstC40YLRjCDQv9C10YDQuNC+0LRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtzY2hlZHVsZVBlckRheVtkYXldPy5tYXAoKHBlcmlvZCwgaW5kZXgpID0+IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBrZXk9e2luZGV4fSBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMiBwbC03XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VsZWN0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiZmxleCBoLTkgdy0zMiByb3VuZGVkLW1kIGJvcmRlciBib3JkZXItaW5wdXQgYmctYmFja2dyb3VuZCBweC0zIHB5LTEgdGV4dC1zbSByaW5nLW9mZnNldC1iYWNrZ3JvdW5kIHBsYWNlaG9sZGVyOnRleHQtbXV0ZWQtZm9yZWdyb3VuZCBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXM6cmluZy0yIGZvY3VzOnJpbmctcmluZyBmb2N1czpyaW5nLW9mZnNldC0yIGRpc2FibGVkOmN1cnNvci1ub3QtYWxsb3dlZCBkaXNhYmxlZDpvcGFjaXR5LTUwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT17cGVyaW9kLnN0YXJ0fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsoZSkgPT4gdXBkYXRlUGVyaW9kKGRheSwgaW5kZXgsICdzdGFydCcsIGUudGFyZ2V0LnZhbHVlKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwiXCIgZGlzYWJsZWQ+0J3QsNGH0LDQu9C+PC9vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3RpbWVJbnRlcnZhbHMubWFwKHRpbWUgPT4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIGtleT17YHN0YXJ0LSR7dGltZX1gfSB2YWx1ZT17dGltZX0+e3RpbWV9PC9vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NlbGVjdD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQtbXV0ZWQtZm9yZWdyb3VuZFwiPuKAlDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWxlY3RcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJmbGV4IGgtOSB3LTMyIHJvdW5kZWQtbWQgYm9yZGVyIGJvcmRlci1pbnB1dCBiZy1iYWNrZ3JvdW5kIHB4LTMgcHktMSB0ZXh0LXNtIHJpbmctb2Zmc2V0LWJhY2tncm91bmQgcGxhY2Vob2xkZXI6dGV4dC1tdXRlZC1mb3JlZ3JvdW5kIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpyaW5nLTIgZm9jdXM6cmluZy1yaW5nIGZvY3VzOnJpbmctb2Zmc2V0LTIgZGlzYWJsZWQ6Y3Vyc29yLW5vdC1hbGxvd2VkIGRpc2FibGVkOm9wYWNpdHktNTBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPXtwZXJpb2QuZW5kfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsoZSkgPT4gdXBkYXRlUGVyaW9kKGRheSwgaW5kZXgsICdlbmQnLCBlLnRhcmdldC52YWx1ZSl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cIlwiIGRpc2FibGVkPtCa0L7QvdC10YY8L29wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7dGltZUludGVydmFsc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZmlsdGVyKHQgPT4gdCA+IHBlcmlvZC5zdGFydClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLm1hcCh0aW1lID0+IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24ga2V5PXtgZW5kLSR7dGltZX1gfSB2YWx1ZT17dGltZX0+e3RpbWV9PC9vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7c2NoZWR1bGVQZXJEYXlbZGF5XT8ubGVuZ3RoID4gMSAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyaWFudD1cImdob3N0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNtXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gcmVtb3ZlUGVyaW9kKGRheSwgaW5kZXgpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJ0ZXh0LXJlZC01MDAgaG92ZXI6dGV4dC1yZWQtNzAwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgINCj0LTQsNC70LjRgtGMXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBqdXN0aWZ5LWJldHdlZW5cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXJpYW50PVwib3V0bGluZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gc2V0Q3VycmVudFN0ZXAoMSl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg0J3QsNC30LDQtFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cInN1Ym1pdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2lzTG9hZGluZ31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7aXNMb2FkaW5nICYmIDxMb2FkZXIyIGNsYXNzTmFtZT1cIm1yLTIgaC00IHctNCBhbmltYXRlLXNwaW5cIiAvPn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDQodGC0LDRgtGMINC40YHQv9C+0LvQvdC40YLQtdC70LXQvFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgPC9DYXJkQ29udGVudD5cbiAgICAgICAgICAgICAgICA8L0NhcmQ+XG4gICAgICAgICAgICA8L2Zvcm0+XG4gICAgICAgIDwvZGl2PlxuICAgIClcbn1cblxuIl0sIm5hbWVzIjpbIlJlYWN0IiwidXNlUm91dGVyIiwidXNlRm9ybSIsInpvZFJlc29sdmVyIiwieiIsIkJ1dHRvbiIsIklucHV0IiwiTGFiZWwiLCJDYXJkIiwiQ2FyZENvbnRlbnQiLCJDaGVja2JveCIsInVzZVNlc3Npb25TdG9yZSIsIkxvYWRlcjIiLCJDbG9jayIsIkNoZWNrQ2lyY2xlMiIsIkNoZXZyb25Eb3duIiwiQ2hldnJvblVwIiwiZHluYW1pYyIsIlJpY2hUZXh0RWRpdG9yIiwidGhlbiIsIm1vZCIsInNzciIsImJlY29tZVBlcmZvcm1lclNjaGVtYSIsIm9iamVjdCIsImRlc2NyaXB0aW9uIiwic3RyaW5nIiwibWluIiwibWF4IiwibG9jYXRpb24iLCJ3b3JrU2NoZWR1bGUiLCJpc0Fsd2F5c1JlYWR5IiwiYm9vbGVhbiIsInNjaGVkdWxlUGVyRGF5IiwicmVjb3JkIiwiYXJyYXkiLCJzdGFydCIsInJlZ2V4Iiwib3B0aW9uYWwiLCJlbmQiLCJkYXlzT2ZXZWVrIiwiZ2VuZXJhdGVUaW1lSW50ZXJ2YWxzIiwiaW50ZXJ2YWxzIiwiaSIsImoiLCJob3VyIiwidG9TdHJpbmciLCJwYWRTdGFydCIsIm1pbnV0ZSIsInB1c2giLCJ0aW1lSW50ZXJ2YWxzIiwiQmVjb21lUGVyZm9ybWVyUGFnZSIsInJvdXRlciIsInVzZXIiLCJpc0xvYWRpbmciLCJnZXRQcm9maWxlIiwiYmVjb21lUGVyZm9ybWVyRnVsbCIsImNvbXBldGVuY2llcyIsInNldENvbXBldGVuY2llcyIsInVzZVN0YXRlIiwiY29tcGV0ZW5jeUlucHV0Iiwic2V0Q29tcGV0ZW5jeUlucHV0Iiwic2V0U2NoZWR1bGVQZXJEYXkiLCJzY2hlZHVsZUNvbGxhcHNlZCIsInNldFNjaGVkdWxlQ29sbGFwc2VkIiwiY3VycmVudFN0ZXAiLCJzZXRDdXJyZW50U3RlcCIsImJlc3RBZGRyZXNzU3VnZ2VzdGlvbiIsInNldEJlc3RBZGRyZXNzU3VnZ2VzdGlvbiIsImZvcm0iLCJyZXNvbHZlciIsImRlZmF1bHRWYWx1ZXMiLCJ3YXRjaCIsImRlc2NyaXB0aW9uSHRtbCIsImdldFRleHRMZW5ndGgiLCJodG1sIiwiZGl2IiwiZG9jdW1lbnQiLCJjcmVhdGVFbGVtZW50IiwiaW5uZXJIVE1MIiwidGV4dENvbnRlbnQiLCJsZW5ndGgiLCJkZXNjcmlwdGlvblRleHRMZW5ndGgiLCJpc1N0ZXAxVmFsaWQiLCJhZGRDb21wZXRlbmN5IiwidHJpbSIsImluY2x1ZGVzIiwicmVtb3ZlQ29tcGV0ZW5jeSIsImNvbXBldGVuY3kiLCJmaWx0ZXIiLCJjIiwidG9nZ2xlRGF5IiwiZGF5Iiwic2V0VmFsdWUiLCJjdXJyZW50U2NoZWR1bGUiLCJoYXNQZXJpb2RzIiwiYWRkUGVyaW9kIiwicmVtb3ZlUGVyaW9kIiwiaW5kZXgiLCJuZXdQZXJpb2RzIiwiXyIsInVwZGF0ZVBlcmlvZCIsImZpZWxkIiwidmFsdWUiLCJoYW5kbGVBbHdheXNSZWFkeUNoYW5nZSIsImNoZWNrZWQiLCJyZXNldFNjaGVkdWxlIiwiaGFuZGxlU2NoZWR1bGVPcGVuIiwidXNlRWZmZWN0Iiwic2VhcmNoQWRkcmVzcyIsInJlc3BvbnNlIiwiZmV0Y2giLCJlbmNvZGVVUklDb21wb25lbnQiLCJoZWFkZXJzIiwiZGF0YSIsImpzb24iLCJhZGRyZXNzZXMiLCJtYXAiLCJpdGVtIiwiY2l0eSIsImFkZHJlc3MiLCJ0b3duIiwidmlsbGFnZSIsInN0cmVldCIsInJvYWQiLCJob3VzZSIsImhvdXNlX251bWJlciIsInBhcnRzIiwiQm9vbGVhbiIsImpvaW4iLCJlcnJvciIsImNvbnNvbGUiLCJkZWJvdW5jZSIsInNldFRpbWVvdXQiLCJjbGVhclRpbWVvdXQiLCJoYW5kbGVMb2NhdGlvbkNoYW5nZSIsImhhbmRsZUxvY2F0aW9uS2V5RG93biIsImUiLCJrZXkiLCJwcmV2ZW50RGVmYXVsdCIsInNob3dBZGRyZXNzQXV0b2NvbXBsZXRlIiwidG9Mb3dlckNhc2UiLCJzdGFydHNXaXRoIiwib25TdWJtaXQiLCJ2YWx1ZXMiLCJ0ZXh0TGVuZ3RoIiwiYWxlcnQiLCJyb2xlcyIsImlzTW91bnRlZCIsInNldElzTW91bnRlZCIsImNsYXNzTmFtZSIsImgxIiwicCIsInNwYW4iLCJoYW5kbGVTdWJtaXQiLCJodG1sRm9yIiwiY29udGVudCIsIm9uQ2hhbmdlIiwicGxhY2Vob2xkZXIiLCJtYXhMZW5ndGgiLCJmb3JtU3RhdGUiLCJlcnJvcnMiLCJtZXNzYWdlIiwidGFyZ2V0Iiwib25LZXlQcmVzcyIsInR5cGUiLCJvbkNsaWNrIiwiYnV0dG9uIiwiaWQiLCJvbktleURvd24iLCJvbkJsdXIiLCJhdXRvQ29tcGxldGUiLCJzbGljZSIsImRpc2FibGVkIiwib25DaGVja2VkQ2hhbmdlIiwidmFyaWFudCIsImxhYmVsIiwic2l6ZSIsInBlcmlvZCIsInNlbGVjdCIsIm9wdGlvbiIsInRpbWUiLCJ0Il0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/app/dashboard/become-performer/page.tsx\n"));
/***/ })
});