(self["webpackChunk_core_volunteer_app"] = self["webpackChunk_core_volunteer_app"] || []).push([["main-n"],{ /***/ "../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/postcss-loader/dist/cjs.js!./src/index.css": /*!*********************************************************************************************************************!*\ !*** ../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/postcss-loader/dist/cjs.js!./src/index.css ***! \*********************************************************************************************************************/ /***/ ((module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/sourceMaps.js */ "../../../node_modules/css-loader/dist/runtime/sourceMaps.js"); /* harmony import */ var _node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ "../../../node_modules/css-loader/dist/runtime/api.js"); /* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/getUrl.js */ "../../../node_modules/css-loader/dist/runtime/getUrl.js"); /* harmony import */ var _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2__); // Imports var ___CSS_LOADER_URL_IMPORT_0___ = new URL(/* asset import */ __webpack_require__(/*! ./shared/assets/fonts/Bayon-Regular.ttf */ "./src/shared/assets/fonts/Bayon-Regular.ttf"), __webpack_require__.b); var ___CSS_LOADER_URL_IMPORT_1___ = new URL(/* asset import */ __webpack_require__(/*! ./shared/assets/fonts/Siemreap-Regular.ttf */ "./src/shared/assets/fonts/Siemreap-Regular.ttf"), __webpack_require__.b); var ___CSS_LOADER_URL_IMPORT_2___ = new URL(/* asset import */ __webpack_require__(/*! ./shared/assets/fonts/Roboto-VariableFont_wdth,wght.ttf */ "./src/shared/assets/fonts/Roboto-VariableFont_wdth,wght.ttf"), __webpack_require__.b); var ___CSS_LOADER_URL_IMPORT_3___ = new URL(/* asset import */ __webpack_require__(/*! ./shared/assets/images/team.png */ "./src/shared/assets/images/team.png"), __webpack_require__.b); var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default())); var ___CSS_LOADER_URL_REPLACEMENT_0___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(___CSS_LOADER_URL_IMPORT_0___); var ___CSS_LOADER_URL_REPLACEMENT_1___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(___CSS_LOADER_URL_IMPORT_1___); var ___CSS_LOADER_URL_REPLACEMENT_2___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(___CSS_LOADER_URL_IMPORT_2___); var ___CSS_LOADER_URL_REPLACEMENT_3___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(___CSS_LOADER_URL_IMPORT_3___); // Module ___CSS_LOADER_EXPORT___.push([module.id, `@font-face { font-family: 'Bayon'; src: url(${___CSS_LOADER_URL_REPLACEMENT_0___}) format('truetype'); font-weight: normal; font-style: normal; } @font-face { font-family: 'Siemreap'; src: url(${___CSS_LOADER_URL_REPLACEMENT_1___}) format('truetype'); font-weight: normal; font-style: normal; } @font-face { font-family: 'Roboto'; src: url(${___CSS_LOADER_URL_REPLACEMENT_2___}) format('truetype'); font-weight: normal; font-style: normal; } /* Global Styles */ body { font-family: 'Siemreap', Roboto; margin: 0; padding: 0; background-color: white; } /* Form title */ .form-title { font-size: 1rem; text-align: center; color: #333; margin-bottom: 10px; font-family: 'Siemreap', Roboto; } /* Form title */ .form-title2 { font-size: 0.5rem; text-align: center; color: #333; margin-bottom: 10px; font-family: 'Siemreap', Roboto; } /* Larger title on desktop */ @media (min-width: 1024px) { .form-title2 { font-size: 1rem; } .form-title { font-size: 1.5rem; } } /* Dividers */ .divider { height: 2px; background: #ddd; margin: 10px 0; } .divider2 { height: 1px; background: #ccc; margin: 5px 0; } /* Card Style */ .card { background: white; padding: 20px; border-radius: 10px; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); max-width: 500px; width: 100%; } /* Buttons */ button { background: #1890ff; color: white; border: none; padding: 12px; border-radius: 5px; cursor: pointer; width: 100%; transition: background 0.3s ease; } button:hover { background: #40a9ff; } /* File Upload Container */ .upload-container { display: flex; justify-content: center; align-items: center; flex-direction: column; gap: 10px; } /* Centered Items */ .items-center { justify-content: center; align-items: center; display: flex; } /* Divider for UI */ .divider-container { position: relative; display: flex; align-items: center; justify-content: center; margin: 1.5rem 0; } .divider-line { width: 80%; height: 2px; background: linear-gradient(to right, #60a5fa, #a855f7, #ec4899); } .divider-text { position: absolute; background-color: white; padding: 0 8px; display: flex; justify-content: center; } .divider-text span { font-size: 2rem; background: linear-gradient(to right, #60a5fa, #a855f7, #ec4899); -webkit-background-clip: text; -webkit-text-fill-color: transparent; } /* Step Indicator */ .ant-steps-item-title { cursor: pointer; transition: color 0.2s ease-in-out; } .ant-steps-item-title:hover { color: #1890ff !important; } /* Flex spacing */ .custom-gap { display: flex; justify-content: space-between; align-items: center; width: 100%; margin-bottom: 20px; /* Space between top row and bottom logo */ } .spacer { flex-grow: 1; /* Automatically takes up remaining space */ } /* Padding Fixes */ .padding-right-16 { padding-right: 16px; } .padding-right-64 { padding-right: 64px; } .padding-left-64 { padding-left: 64px; } /* Logo Section */ .logo-container { display: flex; align-items: center; justify-content: space-between; width: 100%; gap: 10px; } /* Logo Styles */ .headingLogo, .headingLogo2 { width: 15vw; height: auto; max-width: 120px; } @media (max-width: 1024px) { .headingLogo, .headingLogo2 { width: 8vw; max-width: 100px; } } @media (max-width: 768px) { .headingLogo, .headingLogo2 { width: 12vw; max-width: 80px; } } @media (max-width: 480px) { .headingLogo, .headingLogo2 { width: 15vw; max-width: 60px; } .padding-right-64 { padding-right: 16px; } .padding-left-64 { padding-left: 16px; } } /* Volunteer Registration Section */ .text-red-600 { color: #BB595F; } .padding-top-bottom { padding: 8px 0px; } .padding-top-6 { padding-top: 6px; } .margin-top-16 { margin-top: 16px; } /* Upload button styles */ .ant-upload-list-item-container { width: 100% !important; } .image-container { position: relative; width: 100%; } .fullscreen-image { inset: 0; width: 100%; height: 100%; -o-object-fit: cover; object-fit: cover; -o-object-position: top; object-position: top; min-height: 100vh; } @media (max-width: 768px) { .fullscreen-image { height: 40vh !important; min-height: 40vh !important; } } /* Upload Cards - Adds Padding and Consistency */ .upload-card { padding: 16px; border-radius: 8px; box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.1); } /* Placeholder Image - Ensures Consistent Display */ .upload-placeholder { width: 100%; height: auto; max-height: 100px; } /* Drag & Drop Upload - Makes CV Upload More Intuitive */ .ant-upload-drag { background: #f9f9f9; border: 2px dashed #ccc; padding: 20px; text-align: center; border-radius: 8px; } .ant-upload-drag:hover { border-color: #1890ff; background: #eef6ff; } @media (max-width: 768px) { .container { flex-direction: column; } .left-section { width: 100%; height: 100vh; background: url(${___CSS_LOADER_URL_REPLACEMENT_3___}) no-repeat center/cover; position: absolute; top: 0; left: 0; z-index: -1; } .right-section { width: 100%; height: 100vh; display: flex; justify-content: center; align-items: center; } } @media (min-width: 769px) { .container { display: flex; width: 100vw; height: 100vh; } .left-section { width: 30vw; height: 100vh; background-size: cover; background: url(${___CSS_LOADER_URL_REPLACEMENT_3___}) no-repeat center/cover; } .right-section { width: 70vw; height: 100vh; display: flex; justify-content: center; align-items: center; background-color: #f4f4f4; padding: 16px; } } input, select, textarea { font-size: 16px !important; } .attendance-page { display: flex; flex-direction: column; justify-content: center; align-items: center; height: 100%; text-align: center; } .attendance-page h2 { font-size: 24px; margin-bottom: 10px; } .attendance-page p { margin-bottom: 20px; }`, "",{"version":3,"sources":["webpack://./src/index.css"],"names":[],"mappings":"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","sourcesContent":["@font-face {\n font-family: 'Bayon';\n src: url('./shared/assets/fonts/Bayon-Regular.ttf') format('truetype');\n font-weight: normal;\n font-style: normal;\n}\n\n@font-face {\n font-family: 'Siemreap';\n src: url('./shared/assets/fonts/Siemreap-Regular.ttf') format('truetype');\n font-weight: normal;\n font-style: normal;\n}\n\n@font-face {\n font-family: 'Roboto';\n src: url('./shared/assets/fonts/Roboto-VariableFont_wdth\\,wght.ttf') format('truetype');\n font-weight: normal;\n font-style: normal;\n}\n\n/* Global Styles */\nbody {\n font-family: 'Siemreap', Roboto;\n margin: 0;\n padding: 0;\n background-color: white;\n}\n\n/* Form title */\n.form-title {\n font-size: 1rem;\n text-align: center;\n color: #333;\n margin-bottom: 10px;\n font-family: 'Siemreap', Roboto;\n}\n\n\n/* Form title */\n.form-title2 {\n font-size: 0.5rem;\n text-align: center;\n color: #333;\n margin-bottom: 10px;\n font-family: 'Siemreap', Roboto;\n}\n\n/* Larger title on desktop */\n@media (min-width: 1024px) {\n .form-title2 {\n font-size: 1rem;\n }\n .form-title {\n font-size: 1.5rem;\n }\n}\n\n/* Dividers */\n.divider {\n height: 2px;\n background: #ddd;\n margin: 10px 0;\n}\n\n.divider2 {\n height: 1px;\n background: #ccc;\n margin: 5px 0;\n}\n\n/* Card Style */\n.card {\n background: white;\n padding: 20px;\n border-radius: 10px;\n box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);\n max-width: 500px;\n width: 100%;\n}\n\n/* Buttons */\nbutton {\n background: #1890ff;\n color: white;\n border: none;\n padding: 12px;\n border-radius: 5px;\n cursor: pointer;\n width: 100%;\n transition: background 0.3s ease;\n}\n\nbutton:hover {\n background: #40a9ff;\n}\n\n/* File Upload Container */\n.upload-container {\n display: flex;\n justify-content: center;\n align-items: center;\n flex-direction: column;\n gap: 10px;\n}\n\n/* Centered Items */\n.items-center {\n justify-content: center;\n align-items: center;\n display: flex;\n\n}\n\n/* Divider for UI */\n.divider-container {\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n margin: 1.5rem 0;\n}\n\n.divider-line {\n width: 80%;\n height: 2px;\n background: linear-gradient(to right, #60a5fa, #a855f7, #ec4899);\n}\n\n.divider-text {\n position: absolute;\n background-color: white;\n padding: 0 8px;\n display: flex;\n justify-content: center;\n}\n\n.divider-text span {\n font-size: 2rem;\n background: linear-gradient(to right, #60a5fa, #a855f7, #ec4899);\n -webkit-background-clip: text;\n -webkit-text-fill-color: transparent;\n}\n\n/* Step Indicator */\n.ant-steps-item-title {\n cursor: pointer;\n transition: color 0.2s ease-in-out;\n}\n\n.ant-steps-item-title:hover {\n color: #1890ff !important;\n}\n\n/* Flex spacing */\n.custom-gap {\n display: flex;\n justify-content: space-between;\n align-items: center;\n width: 100%;\n margin-bottom: 20px; /* Space between top row and bottom logo */\n}\n\n.spacer {\n flex-grow: 1; /* Automatically takes up remaining space */\n}\n\n/* Padding Fixes */\n.padding-right-16 {\n padding-right: 16px;\n}\n\n.padding-right-64 {\n padding-right: 64px;\n}\n.padding-left-64 {\n padding-left: 64px;\n}\n\n/* Logo Section */\n.logo-container {\n display: flex;\n align-items: center;\n justify-content: space-between;\n width: 100%;\n gap: 10px;\n}\n\n/* Logo Styles */\n.headingLogo,\n.headingLogo2 {\n width: 15vw;\n height: auto;\n max-width: 120px;\n}\n\n@media (max-width: 1024px) {\n .headingLogo,\n .headingLogo2 {\n width: 8vw;\n max-width: 100px;\n }\n}\n\n@media (max-width: 768px) {\n .headingLogo,\n .headingLogo2 {\n width: 12vw;\n max-width: 80px;\n }\n}\n\n@media (max-width: 480px) {\n .headingLogo,\n .headingLogo2 {\n width: 15vw;\n max-width: 60px;\n }\n .padding-right-64 {\n padding-right: 16px;\n }\n .padding-left-64 {\n padding-left: 16px;\n }\n}\n\n/* Volunteer Registration Section */\n.text-red-600 {\n color: #BB595F;\n}\n.padding-top-bottom {\n padding: 8px 0px;\n}\n.padding-top-6 {\n padding-top: 6px;\n}\n\n.margin-top-16 {\n margin-top: 16px;\n}\n\n\n/* Upload button styles */\n.ant-upload-list-item-container {\n width: 100% !important;\n}\n.image-container {\n position: relative;\n width: 100%;\n}\n\n.fullscreen-image {\n inset: 0;\n width: 100%;\n height: 100%;\n object-fit: cover;\n object-position: top;\n min-height: 100vh;\n}\n\n@media (max-width: 768px) {\n .fullscreen-image {\n height: 40vh !important;\n min-height: 40vh !important;\n }\n}\n\n\n\n/* Upload Cards - Adds Padding and Consistency */\n.upload-card {\n padding: 16px;\n border-radius: 8px;\n box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.1);\n}\n\n/* Placeholder Image - Ensures Consistent Display */\n.upload-placeholder {\n width: 100%;\n height: auto;\n max-height: 100px;\n}\n\n/* Drag & Drop Upload - Makes CV Upload More Intuitive */\n.ant-upload-drag {\n background: #f9f9f9;\n border: 2px dashed #ccc;\n padding: 20px;\n text-align: center;\n border-radius: 8px;\n}\n\n.ant-upload-drag:hover {\n border-color: #1890ff;\n background: #eef6ff;\n}\n\n\n\n@media (max-width: 768px) {\n .container {\n flex-direction: column;\n }\n\n .left-section {\n width: 100%;\n height: 100vh;\n background: url(\"./shared/assets/images/team.png\") no-repeat center/cover;\n position: absolute;\n top: 0;\n left: 0;\n z-index: -1;\n }\n\n .right-section {\n width: 100%;\n height: 100vh;\n display: flex;\n justify-content: center;\n align-items: center;\n }\n}\n\n@media (min-width: 769px) {\n .container {\n display: flex;\n width: 100vw;\n height: 100vh;\n }\n\n .left-section {\n width: 30vw;\n height: 100vh;\n background-size: cover;\n background: url(\"./shared/assets/images/team.png\") no-repeat center/cover;\n }\n\n .right-section {\n width: 70vw;\n height: 100vh;\n display: flex;\n justify-content: center;\n align-items: center;\n background-color: #f4f4f4;\n padding: 16px;\n }\n}\n\ninput, select, textarea {\n font-size: 16px !important;\n}\n\n\n.attendance-page {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n height: 100%;\n text-align: center;\n}\n\n.attendance-page h2 {\n font-size: 24px;\n margin-bottom: 10px;\n}\n\n.attendance-page p {\n margin-bottom: 20px;\n}"],"sourceRoot":""}]); // Exports /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___); /***/ }), /***/ "../../../node_modules/moment/locale sync recursive ^\\.\\/.*$": /*!**********************************************************!*\ !*** ../../../node_modules/moment/locale/ sync ^\.\/.*$ ***! \**********************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var map = { "./af": "../../../node_modules/moment/locale/af.js", "./af.js": "../../../node_modules/moment/locale/af.js", "./ar": "../../../node_modules/moment/locale/ar.js", "./ar-dz": "../../../node_modules/moment/locale/ar-dz.js", "./ar-dz.js": "../../../node_modules/moment/locale/ar-dz.js", "./ar-kw": "../../../node_modules/moment/locale/ar-kw.js", "./ar-kw.js": "../../../node_modules/moment/locale/ar-kw.js", "./ar-ly": "../../../node_modules/moment/locale/ar-ly.js", "./ar-ly.js": "../../../node_modules/moment/locale/ar-ly.js", "./ar-ma": "../../../node_modules/moment/locale/ar-ma.js", "./ar-ma.js": "../../../node_modules/moment/locale/ar-ma.js", "./ar-ps": "../../../node_modules/moment/locale/ar-ps.js", "./ar-ps.js": "../../../node_modules/moment/locale/ar-ps.js", "./ar-sa": "../../../node_modules/moment/locale/ar-sa.js", "./ar-sa.js": "../../../node_modules/moment/locale/ar-sa.js", "./ar-tn": "../../../node_modules/moment/locale/ar-tn.js", "./ar-tn.js": "../../../node_modules/moment/locale/ar-tn.js", "./ar.js": "../../../node_modules/moment/locale/ar.js", "./az": "../../../node_modules/moment/locale/az.js", "./az.js": "../../../node_modules/moment/locale/az.js", "./be": "../../../node_modules/moment/locale/be.js", "./be.js": "../../../node_modules/moment/locale/be.js", "./bg": "../../../node_modules/moment/locale/bg.js", "./bg.js": "../../../node_modules/moment/locale/bg.js", "./bm": "../../../node_modules/moment/locale/bm.js", "./bm.js": "../../../node_modules/moment/locale/bm.js", "./bn": "../../../node_modules/moment/locale/bn.js", "./bn-bd": "../../../node_modules/moment/locale/bn-bd.js", "./bn-bd.js": "../../../node_modules/moment/locale/bn-bd.js", "./bn.js": "../../../node_modules/moment/locale/bn.js", "./bo": "../../../node_modules/moment/locale/bo.js", "./bo.js": "../../../node_modules/moment/locale/bo.js", "./br": "../../../node_modules/moment/locale/br.js", "./br.js": "../../../node_modules/moment/locale/br.js", "./bs": "../../../node_modules/moment/locale/bs.js", "./bs.js": "../../../node_modules/moment/locale/bs.js", "./ca": "../../../node_modules/moment/locale/ca.js", "./ca.js": "../../../node_modules/moment/locale/ca.js", "./cs": "../../../node_modules/moment/locale/cs.js", "./cs.js": "../../../node_modules/moment/locale/cs.js", "./cv": "../../../node_modules/moment/locale/cv.js", "./cv.js": "../../../node_modules/moment/locale/cv.js", "./cy": "../../../node_modules/moment/locale/cy.js", "./cy.js": "../../../node_modules/moment/locale/cy.js", "./da": "../../../node_modules/moment/locale/da.js", "./da.js": "../../../node_modules/moment/locale/da.js", "./de": "../../../node_modules/moment/locale/de.js", "./de-at": "../../../node_modules/moment/locale/de-at.js", "./de-at.js": "../../../node_modules/moment/locale/de-at.js", "./de-ch": "../../../node_modules/moment/locale/de-ch.js", "./de-ch.js": "../../../node_modules/moment/locale/de-ch.js", "./de.js": "../../../node_modules/moment/locale/de.js", "./dv": "../../../node_modules/moment/locale/dv.js", "./dv.js": "../../../node_modules/moment/locale/dv.js", "./el": "../../../node_modules/moment/locale/el.js", "./el.js": "../../../node_modules/moment/locale/el.js", "./en-au": "../../../node_modules/moment/locale/en-au.js", "./en-au.js": "../../../node_modules/moment/locale/en-au.js", "./en-ca": "../../../node_modules/moment/locale/en-ca.js", "./en-ca.js": "../../../node_modules/moment/locale/en-ca.js", "./en-gb": "../../../node_modules/moment/locale/en-gb.js", "./en-gb.js": "../../../node_modules/moment/locale/en-gb.js", "./en-ie": "../../../node_modules/moment/locale/en-ie.js", "./en-ie.js": "../../../node_modules/moment/locale/en-ie.js", "./en-il": "../../../node_modules/moment/locale/en-il.js", "./en-il.js": "../../../node_modules/moment/locale/en-il.js", "./en-in": "../../../node_modules/moment/locale/en-in.js", "./en-in.js": "../../../node_modules/moment/locale/en-in.js", "./en-nz": "../../../node_modules/moment/locale/en-nz.js", "./en-nz.js": "../../../node_modules/moment/locale/en-nz.js", "./en-sg": "../../../node_modules/moment/locale/en-sg.js", "./en-sg.js": "../../../node_modules/moment/locale/en-sg.js", "./eo": "../../../node_modules/moment/locale/eo.js", "./eo.js": "../../../node_modules/moment/locale/eo.js", "./es": "../../../node_modules/moment/locale/es.js", "./es-do": "../../../node_modules/moment/locale/es-do.js", "./es-do.js": "../../../node_modules/moment/locale/es-do.js", "./es-mx": "../../../node_modules/moment/locale/es-mx.js", "./es-mx.js": "../../../node_modules/moment/locale/es-mx.js", "./es-us": "../../../node_modules/moment/locale/es-us.js", "./es-us.js": "../../../node_modules/moment/locale/es-us.js", "./es.js": "../../../node_modules/moment/locale/es.js", "./et": "../../../node_modules/moment/locale/et.js", "./et.js": "../../../node_modules/moment/locale/et.js", "./eu": "../../../node_modules/moment/locale/eu.js", "./eu.js": "../../../node_modules/moment/locale/eu.js", "./fa": "../../../node_modules/moment/locale/fa.js", "./fa.js": "../../../node_modules/moment/locale/fa.js", "./fi": "../../../node_modules/moment/locale/fi.js", "./fi.js": "../../../node_modules/moment/locale/fi.js", "./fil": "../../../node_modules/moment/locale/fil.js", "./fil.js": "../../../node_modules/moment/locale/fil.js", "./fo": "../../../node_modules/moment/locale/fo.js", "./fo.js": "../../../node_modules/moment/locale/fo.js", "./fr": "../../../node_modules/moment/locale/fr.js", "./fr-ca": "../../../node_modules/moment/locale/fr-ca.js", "./fr-ca.js": "../../../node_modules/moment/locale/fr-ca.js", "./fr-ch": "../../../node_modules/moment/locale/fr-ch.js", "./fr-ch.js": "../../../node_modules/moment/locale/fr-ch.js", "./fr.js": "../../../node_modules/moment/locale/fr.js", "./fy": "../../../node_modules/moment/locale/fy.js", "./fy.js": "../../../node_modules/moment/locale/fy.js", "./ga": "../../../node_modules/moment/locale/ga.js", "./ga.js": "../../../node_modules/moment/locale/ga.js", "./gd": "../../../node_modules/moment/locale/gd.js", "./gd.js": "../../../node_modules/moment/locale/gd.js", "./gl": "../../../node_modules/moment/locale/gl.js", "./gl.js": "../../../node_modules/moment/locale/gl.js", "./gom-deva": "../../../node_modules/moment/locale/gom-deva.js", "./gom-deva.js": "../../../node_modules/moment/locale/gom-deva.js", "./gom-latn": "../../../node_modules/moment/locale/gom-latn.js", "./gom-latn.js": "../../../node_modules/moment/locale/gom-latn.js", "./gu": "../../../node_modules/moment/locale/gu.js", "./gu.js": "../../../node_modules/moment/locale/gu.js", "./he": "../../../node_modules/moment/locale/he.js", "./he.js": "../../../node_modules/moment/locale/he.js", "./hi": "../../../node_modules/moment/locale/hi.js", "./hi.js": "../../../node_modules/moment/locale/hi.js", "./hr": "../../../node_modules/moment/locale/hr.js", "./hr.js": "../../../node_modules/moment/locale/hr.js", "./hu": "../../../node_modules/moment/locale/hu.js", "./hu.js": "../../../node_modules/moment/locale/hu.js", "./hy-am": "../../../node_modules/moment/locale/hy-am.js", "./hy-am.js": "../../../node_modules/moment/locale/hy-am.js", "./id": "../../../node_modules/moment/locale/id.js", "./id.js": "../../../node_modules/moment/locale/id.js", "./is": "../../../node_modules/moment/locale/is.js", "./is.js": "../../../node_modules/moment/locale/is.js", "./it": "../../../node_modules/moment/locale/it.js", "./it-ch": "../../../node_modules/moment/locale/it-ch.js", "./it-ch.js": "../../../node_modules/moment/locale/it-ch.js", "./it.js": "../../../node_modules/moment/locale/it.js", "./ja": "../../../node_modules/moment/locale/ja.js", "./ja.js": "../../../node_modules/moment/locale/ja.js", "./jv": "../../../node_modules/moment/locale/jv.js", "./jv.js": "../../../node_modules/moment/locale/jv.js", "./ka": "../../../node_modules/moment/locale/ka.js", "./ka.js": "../../../node_modules/moment/locale/ka.js", "./kk": "../../../node_modules/moment/locale/kk.js", "./kk.js": "../../../node_modules/moment/locale/kk.js", "./km": "../../../node_modules/moment/locale/km.js", "./km.js": "../../../node_modules/moment/locale/km.js", "./kn": "../../../node_modules/moment/locale/kn.js", "./kn.js": "../../../node_modules/moment/locale/kn.js", "./ko": "../../../node_modules/moment/locale/ko.js", "./ko.js": "../../../node_modules/moment/locale/ko.js", "./ku": "../../../node_modules/moment/locale/ku.js", "./ku-kmr": "../../../node_modules/moment/locale/ku-kmr.js", "./ku-kmr.js": "../../../node_modules/moment/locale/ku-kmr.js", "./ku.js": "../../../node_modules/moment/locale/ku.js", "./ky": "../../../node_modules/moment/locale/ky.js", "./ky.js": "../../../node_modules/moment/locale/ky.js", "./lb": "../../../node_modules/moment/locale/lb.js", "./lb.js": "../../../node_modules/moment/locale/lb.js", "./lo": "../../../node_modules/moment/locale/lo.js", "./lo.js": "../../../node_modules/moment/locale/lo.js", "./lt": "../../../node_modules/moment/locale/lt.js", "./lt.js": "../../../node_modules/moment/locale/lt.js", "./lv": "../../../node_modules/moment/locale/lv.js", "./lv.js": "../../../node_modules/moment/locale/lv.js", "./me": "../../../node_modules/moment/locale/me.js", "./me.js": "../../../node_modules/moment/locale/me.js", "./mi": "../../../node_modules/moment/locale/mi.js", "./mi.js": "../../../node_modules/moment/locale/mi.js", "./mk": "../../../node_modules/moment/locale/mk.js", "./mk.js": "../../../node_modules/moment/locale/mk.js", "./ml": "../../../node_modules/moment/locale/ml.js", "./ml.js": "../../../node_modules/moment/locale/ml.js", "./mn": "../../../node_modules/moment/locale/mn.js", "./mn.js": "../../../node_modules/moment/locale/mn.js", "./mr": "../../../node_modules/moment/locale/mr.js", "./mr.js": "../../../node_modules/moment/locale/mr.js", "./ms": "../../../node_modules/moment/locale/ms.js", "./ms-my": "../../../node_modules/moment/locale/ms-my.js", "./ms-my.js": "../../../node_modules/moment/locale/ms-my.js", "./ms.js": "../../../node_modules/moment/locale/ms.js", "./mt": "../../../node_modules/moment/locale/mt.js", "./mt.js": "../../../node_modules/moment/locale/mt.js", "./my": "../../../node_modules/moment/locale/my.js", "./my.js": "../../../node_modules/moment/locale/my.js", "./nb": "../../../node_modules/moment/locale/nb.js", "./nb.js": "../../../node_modules/moment/locale/nb.js", "./ne": "../../../node_modules/moment/locale/ne.js", "./ne.js": "../../../node_modules/moment/locale/ne.js", "./nl": "../../../node_modules/moment/locale/nl.js", "./nl-be": "../../../node_modules/moment/locale/nl-be.js", "./nl-be.js": "../../../node_modules/moment/locale/nl-be.js", "./nl.js": "../../../node_modules/moment/locale/nl.js", "./nn": "../../../node_modules/moment/locale/nn.js", "./nn.js": "../../../node_modules/moment/locale/nn.js", "./oc-lnc": "../../../node_modules/moment/locale/oc-lnc.js", "./oc-lnc.js": "../../../node_modules/moment/locale/oc-lnc.js", "./pa-in": "../../../node_modules/moment/locale/pa-in.js", "./pa-in.js": "../../../node_modules/moment/locale/pa-in.js", "./pl": "../../../node_modules/moment/locale/pl.js", "./pl.js": "../../../node_modules/moment/locale/pl.js", "./pt": "../../../node_modules/moment/locale/pt.js", "./pt-br": "../../../node_modules/moment/locale/pt-br.js", "./pt-br.js": "../../../node_modules/moment/locale/pt-br.js", "./pt.js": "../../../node_modules/moment/locale/pt.js", "./ro": "../../../node_modules/moment/locale/ro.js", "./ro.js": "../../../node_modules/moment/locale/ro.js", "./ru": "../../../node_modules/moment/locale/ru.js", "./ru.js": "../../../node_modules/moment/locale/ru.js", "./sd": "../../../node_modules/moment/locale/sd.js", "./sd.js": "../../../node_modules/moment/locale/sd.js", "./se": "../../../node_modules/moment/locale/se.js", "./se.js": "../../../node_modules/moment/locale/se.js", "./si": "../../../node_modules/moment/locale/si.js", "./si.js": "../../../node_modules/moment/locale/si.js", "./sk": "../../../node_modules/moment/locale/sk.js", "./sk.js": "../../../node_modules/moment/locale/sk.js", "./sl": "../../../node_modules/moment/locale/sl.js", "./sl.js": "../../../node_modules/moment/locale/sl.js", "./sq": "../../../node_modules/moment/locale/sq.js", "./sq.js": "../../../node_modules/moment/locale/sq.js", "./sr": "../../../node_modules/moment/locale/sr.js", "./sr-cyrl": "../../../node_modules/moment/locale/sr-cyrl.js", "./sr-cyrl.js": "../../../node_modules/moment/locale/sr-cyrl.js", "./sr.js": "../../../node_modules/moment/locale/sr.js", "./ss": "../../../node_modules/moment/locale/ss.js", "./ss.js": "../../../node_modules/moment/locale/ss.js", "./sv": "../../../node_modules/moment/locale/sv.js", "./sv.js": "../../../node_modules/moment/locale/sv.js", "./sw": "../../../node_modules/moment/locale/sw.js", "./sw.js": "../../../node_modules/moment/locale/sw.js", "./ta": "../../../node_modules/moment/locale/ta.js", "./ta.js": "../../../node_modules/moment/locale/ta.js", "./te": "../../../node_modules/moment/locale/te.js", "./te.js": "../../../node_modules/moment/locale/te.js", "./tet": "../../../node_modules/moment/locale/tet.js", "./tet.js": "../../../node_modules/moment/locale/tet.js", "./tg": "../../../node_modules/moment/locale/tg.js", "./tg.js": "../../../node_modules/moment/locale/tg.js", "./th": "../../../node_modules/moment/locale/th.js", "./th.js": "../../../node_modules/moment/locale/th.js", "./tk": "../../../node_modules/moment/locale/tk.js", "./tk.js": "../../../node_modules/moment/locale/tk.js", "./tl-ph": "../../../node_modules/moment/locale/tl-ph.js", "./tl-ph.js": "../../../node_modules/moment/locale/tl-ph.js", "./tlh": "../../../node_modules/moment/locale/tlh.js", "./tlh.js": "../../../node_modules/moment/locale/tlh.js", "./tr": "../../../node_modules/moment/locale/tr.js", "./tr.js": "../../../node_modules/moment/locale/tr.js", "./tzl": "../../../node_modules/moment/locale/tzl.js", "./tzl.js": "../../../node_modules/moment/locale/tzl.js", "./tzm": "../../../node_modules/moment/locale/tzm.js", "./tzm-latn": "../../../node_modules/moment/locale/tzm-latn.js", "./tzm-latn.js": "../../../node_modules/moment/locale/tzm-latn.js", "./tzm.js": "../../../node_modules/moment/locale/tzm.js", "./ug-cn": "../../../node_modules/moment/locale/ug-cn.js", "./ug-cn.js": "../../../node_modules/moment/locale/ug-cn.js", "./uk": "../../../node_modules/moment/locale/uk.js", "./uk.js": "../../../node_modules/moment/locale/uk.js", "./ur": "../../../node_modules/moment/locale/ur.js", "./ur.js": "../../../node_modules/moment/locale/ur.js", "./uz": "../../../node_modules/moment/locale/uz.js", "./uz-latn": "../../../node_modules/moment/locale/uz-latn.js", "./uz-latn.js": "../../../node_modules/moment/locale/uz-latn.js", "./uz.js": "../../../node_modules/moment/locale/uz.js", "./vi": "../../../node_modules/moment/locale/vi.js", "./vi.js": "../../../node_modules/moment/locale/vi.js", "./x-pseudo": "../../../node_modules/moment/locale/x-pseudo.js", "./x-pseudo.js": "../../../node_modules/moment/locale/x-pseudo.js", "./yo": "../../../node_modules/moment/locale/yo.js", "./yo.js": "../../../node_modules/moment/locale/yo.js", "./zh-cn": "../../../node_modules/moment/locale/zh-cn.js", "./zh-cn.js": "../../../node_modules/moment/locale/zh-cn.js", "./zh-hk": "../../../node_modules/moment/locale/zh-hk.js", "./zh-hk.js": "../../../node_modules/moment/locale/zh-hk.js", "./zh-mo": "../../../node_modules/moment/locale/zh-mo.js", "./zh-mo.js": "../../../node_modules/moment/locale/zh-mo.js", "./zh-tw": "../../../node_modules/moment/locale/zh-tw.js", "./zh-tw.js": "../../../node_modules/moment/locale/zh-tw.js" }; function webpackContext(req) { var id = webpackContextResolve(req); return __webpack_require__(id); } function webpackContextResolve(req) { if(!__webpack_require__.o(map, req)) { var e = new Error("Cannot find module '" + req + "'"); e.code = 'MODULE_NOT_FOUND'; throw e; } return map[req]; } webpackContext.keys = function webpackContextKeys() { return Object.keys(map); }; webpackContext.resolve = webpackContextResolve; module.exports = webpackContext; webpackContext.id = "../../../node_modules/moment/locale sync recursive ^\\.\\/.*$"; /***/ }), /***/ "./src/app.tsx": /*!*********************!*\ !*** ./src/app.tsx ***! \*********************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "../../../node_modules/react/index.js"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var react_router_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-router-dom */ "../../../node_modules/react-router-dom/dist/index.js"); /* harmony import */ var _shared_routes__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./shared/routes */ "./src/shared/routes/index.tsx"); var App = function App() { return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_1__.BrowserRouter, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_shared_routes__WEBPACK_IMPORTED_MODULE_2__["default"], null)); }; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (App); /***/ }), /***/ "./src/index.css": /*!***********************!*\ !*** ./src/index.css ***! \***********************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ "../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"); /* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js */ "../../../node_modules/style-loader/dist/runtime/styleDomAPI.js"); /* harmony import */ var _node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var _node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../../../../node_modules/style-loader/dist/runtime/insertBySelector.js */ "../../../node_modules/style-loader/dist/runtime/insertBySelector.js"); /* harmony import */ var _node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var _node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js */ "../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js"); /* harmony import */ var _node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__); /* harmony import */ var _node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! !../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js */ "../../../node_modules/style-loader/dist/runtime/insertStyleElement.js"); /* harmony import */ var _node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__); /* harmony import */ var _node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! !../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js */ "../../../node_modules/style-loader/dist/runtime/styleTagTransform.js"); /* harmony import */ var _node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__); /* harmony import */ var _node_modules_css_loader_dist_cjs_js_node_modules_postcss_loader_dist_cjs_js_index_css__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! !!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/postcss-loader/dist/cjs.js!./index.css */ "../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/postcss-loader/dist/cjs.js!./src/index.css"); var options = {}; options.styleTagTransform = (_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default()); options.setAttributes = (_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default()); options.insert = _node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default().bind(null, "head"); options.domAPI = (_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default()); options.insertStyleElement = (_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default()); var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_node_modules_postcss_loader_dist_cjs_js_index_css__WEBPACK_IMPORTED_MODULE_6__["default"], options); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_css_loader_dist_cjs_js_node_modules_postcss_loader_dist_cjs_js_index_css__WEBPACK_IMPORTED_MODULE_6__["default"] && _node_modules_css_loader_dist_cjs_js_node_modules_postcss_loader_dist_cjs_js_index_css__WEBPACK_IMPORTED_MODULE_6__["default"].locals ? _node_modules_css_loader_dist_cjs_js_node_modules_postcss_loader_dist_cjs_js_index_css__WEBPACK_IMPORTED_MODULE_6__["default"].locals : undefined); /***/ }), /***/ "./src/index.tsx": /*!***********************!*\ !*** ./src/index.tsx ***! \***********************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "../../../node_modules/react/index.js"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var react_dom_client__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-dom/client */ "../../../node_modules/react-dom/client.js"); /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-redux */ "../../../node_modules/react-redux/dist/react-redux.mjs"); /* harmony import */ var _app__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./app */ "./src/app.tsx"); /* harmony import */ var _index_css__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./index.css */ "./src/index.css"); /* harmony import */ var _shared_redux_store__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./shared/redux/store */ "./src/shared/redux/store.ts"); // Import dependencies // Import application components and styles // Wait for DOM content to load document.addEventListener('DOMContentLoaded', function () { var rootElement = document.getElementById('root'); if (rootElement) { var root = (0,react_dom_client__WEBPACK_IMPORTED_MODULE_1__.createRoot)(rootElement); root.render(/*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_redux__WEBPACK_IMPORTED_MODULE_2__.Provider, { store: _shared_redux_store__WEBPACK_IMPORTED_MODULE_5__.store }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_app__WEBPACK_IMPORTED_MODULE_3__["default"], null))); } else { console.error('Root element not found. Unable to render the application.'); } }); /***/ }), /***/ "./src/services/authentication/login/core/actions.ts": /*!***********************************************************!*\ !*** ./src/services/authentication/login/core/actions.ts ***! \***********************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ loginTelegramUserAction: () => (/* binding */ loginTelegramUserAction), /* harmony export */ loginUserAction: () => (/* binding */ loginUserAction), /* harmony export */ registerTelegramUserAction: () => (/* binding */ registerTelegramUserAction), /* harmony export */ userAttendanceAction: () => (/* binding */ userAttendanceAction), /* harmony export */ verifyOTPAction: () => (/* binding */ verifyOTPAction) /* harmony export */ }); /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @reduxjs/toolkit */ "../../../node_modules/@reduxjs/toolkit/dist/redux-toolkit.modern.mjs"); /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constants */ "./src/services/authentication/login/core/constants.ts"); /* harmony import */ var _services__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./services */ "./src/services/authentication/login/core/services.ts"); var loginUserAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.AUTHENTICATION_LOGIN, _services__WEBPACK_IMPORTED_MODULE_2__.loginUserService); var verifyOTPAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.AUTHENTICATION_VERIFY_OPT, _services__WEBPACK_IMPORTED_MODULE_2__.verifyOTPService); var loginTelegramUserAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.AUTHENTICATION_LOGIN_TELEGRAM, _services__WEBPACK_IMPORTED_MODULE_2__.loginTelegramUserService); var registerTelegramUserAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.AUTHENTICATION_REGISTER, _services__WEBPACK_IMPORTED_MODULE_2__.registerTelegramUserService); var userAttendanceAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.USER_ATTENDANCE, _services__WEBPACK_IMPORTED_MODULE_2__.userAttendanceService); /***/ }), /***/ "./src/services/authentication/login/core/constants.ts": /*!*************************************************************!*\ !*** ./src/services/authentication/login/core/constants.ts ***! \*************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ AUTH: () => (/* binding */ AUTH), /* harmony export */ AUTHENTICATION_LOGIN: () => (/* binding */ AUTHENTICATION_LOGIN), /* harmony export */ AUTHENTICATION_LOGIN_TELEGRAM: () => (/* binding */ AUTHENTICATION_LOGIN_TELEGRAM), /* harmony export */ AUTHENTICATION_REGISTER: () => (/* binding */ AUTHENTICATION_REGISTER), /* harmony export */ AUTHENTICATION_VERIFY_OPT: () => (/* binding */ AUTHENTICATION_VERIFY_OPT), /* harmony export */ USER_ATTENDANCE: () => (/* binding */ USER_ATTENDANCE) /* harmony export */ }); var AUTH = 'auth'; var AUTHENTICATION_LOGIN = '/auth/logins'; var AUTHENTICATION_LOGIN_TELEGRAM = '/auth/login'; var AUTHENTICATION_REGISTER = '/auth/register'; var AUTHENTICATION_VERIFY_OPT = 'api/v1/verify'; var USER_ATTENDANCE = '/user-attendances'; /***/ }), /***/ "./src/services/authentication/login/core/reducer.ts": /*!***********************************************************!*\ !*** ./src/services/authentication/login/core/reducer.ts ***! \***********************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ authSlice: () => (/* binding */ authSlice), /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__), /* harmony export */ logout: () => (/* binding */ logout), /* harmony export */ setEmail: () => (/* binding */ setEmail), /* harmony export */ setIsLoginPending: () => (/* binding */ setIsLoginPending), /* harmony export */ setLoginErrorMessage: () => (/* binding */ setLoginErrorMessage), /* harmony export */ setToken: () => (/* binding */ setToken), /* harmony export */ setUser: () => (/* binding */ setUser) /* harmony export */ }); /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @reduxjs/toolkit */ "../../../node_modules/@reduxjs/toolkit/dist/redux-toolkit.modern.mjs"); /* harmony import */ var _actions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./actions */ "./src/services/authentication/login/core/actions.ts"); /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./constants */ "./src/services/authentication/login/core/constants.ts"); /* eslint-disable no-console */ // Safely retrieve session data var getSessionItem = function getSessionItem(key) { try { var item = sessionStorage.getItem(key); return item ? JSON.parse(item) : null; } catch (error) { console.error("Error retrieving session item (".concat(key, "):"), error); return null; } }; var getSessionToken = function getSessionToken(key) { try { var item = sessionStorage.getItem(key); return item ? item : null; } catch (error) { console.error("Error retrieving session item (".concat(key, "):"), error); return null; } }; var initialState = { currentUser: getSessionItem('currentUser'), isLoginPending: false, pagination: { currentPage: 1, itemsPerPage: 10, totalItems: 100 }, loginErrorMessage: '', handleRegiterTelegram: false, isOtpVerificationPending: false, otpVerificationErrorMessage: '', accessToken: getSessionToken('token'), email: '' }; var authSlice = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSlice)({ name: _constants__WEBPACK_IMPORTED_MODULE_2__.AUTH, initialState: initialState, reducers: { logout: function logout(state) { state.currentUser = null; sessionStorage.clear(); }, setToken: function setToken(state, action) { state.accessToken = action.payload; sessionStorage.setItem('token', JSON.stringify(action.payload)); }, setUser: function setUser(state, action) { state.currentUser = action.payload; sessionStorage.setItem('currentUser', JSON.stringify(action.payload)); }, setIsLoginPending: function setIsLoginPending(state, action) { state.isLoginPending = action.payload; }, setLoginErrorMessage: function setLoginErrorMessage(state, action) { state.loginErrorMessage = action.payload; }, setEmail: function setEmail(state, action) { state.email = action.payload; } }, extraReducers: function extraReducers(builder) { builder.addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.loginUserAction.pending, function (state) { state.isLoginPending = true; state.loginErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.loginUserAction.rejected, function (state, action) { state.isLoginPending = false; state.loginErrorMessage = JSON.stringify(action === null || action === void 0 ? void 0 : action.payload.data); }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.loginUserAction.fulfilled, function (state, action) { var payload = action.payload; state.isLoginPending = false; if (['User not found', 'Invalid credentials'].includes(payload.data)) { sessionStorage.removeItem('currentUser'); sessionStorage.removeItem('token'); state.currentUser = null; state.accessToken = null; } else { state.currentUser = payload.user; state.accessToken = payload.access_token; sessionStorage.setItem('currentUser', JSON.stringify(payload.user)); sessionStorage.setItem('token', payload.access_token); } state.loginErrorMessage = JSON.stringify(payload.data); }) // handle telegram login .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.loginTelegramUserAction.pending, function (state) { state.isLoginPending = true; state.loginErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.loginTelegramUserAction.rejected, function (state, action) { state.isLoginPending = false; state.loginErrorMessage = JSON.stringify(action === null || action === void 0 ? void 0 : action.payload.data); state.handleRegiterTelegram = true; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.loginTelegramUserAction.fulfilled, function (state, action) { var payload = action.payload; state.isLoginPending = false; if (['User not found', 'Invalid credentials'].includes(payload.data)) { sessionStorage.removeItem('currentUser'); sessionStorage.removeItem('token'); state.currentUser = null; state.accessToken = null; } else { state.currentUser = payload.user; state.accessToken = payload.access_token; sessionStorage.setItem('currentUser', JSON.stringify(payload.user)); sessionStorage.setItem('token', payload.access_token); } state.loginErrorMessage = JSON.stringify(payload.data); }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.verifyOTPAction.pending, function (state) { state.isOtpVerificationPending = true; state.otpVerificationErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.verifyOTPAction.fulfilled, function (state) { state.isOtpVerificationPending = false; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.verifyOTPAction.rejected, function (state, action) { state.isOtpVerificationPending = false; state.otpVerificationErrorMessage = action.payload ? JSON.stringify(action.payload) : 'OTP verification failed. Please try again.'; }); } }); var _authSlice$actions = authSlice.actions, logout = _authSlice$actions.logout, setToken = _authSlice$actions.setToken, setUser = _authSlice$actions.setUser, setLoginErrorMessage = _authSlice$actions.setLoginErrorMessage, setIsLoginPending = _authSlice$actions.setIsLoginPending, setEmail = _authSlice$actions.setEmail; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (authSlice.reducer); /***/ }), /***/ "./src/services/authentication/login/core/services.ts": /*!************************************************************!*\ !*** ./src/services/authentication/login/core/services.ts ***! \************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ loginTelegramUserService: () => (/* binding */ loginTelegramUserService), /* harmony export */ loginUserService: () => (/* binding */ loginUserService), /* harmony export */ registerTelegramUserService: () => (/* binding */ registerTelegramUserService), /* harmony export */ userAttendanceService: () => (/* binding */ userAttendanceService), /* harmony export */ verifyOTPService: () => (/* binding */ verifyOTPService) /* harmony export */ }); /* harmony import */ var _shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../shared/configs/constants */ "./src/shared/configs/constants.ts"); /* harmony import */ var _shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../shared/core/base/services */ "./src/shared/core/base/services.ts"); function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); } function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); } function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); } function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; } // export const loginUserService = async (body: LoginFormValues): Promise => { // try { // const response = await postWithConfig(URL.LOGIN, { // email: body.email, // password: body.password, // }); // return response; // } catch (error) { // console.error('Login request failed:', error); // throw error; // Ensure this error propagates back to the thunk // } // }; var loginUserService = /*#__PURE__*/function () { var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(body) { return _regenerator().w(function (_context) { while (1) switch (_context.n) { case 0: return _context.a(2, (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.postWithConfig)(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.LOGIN, { email: body.email, password: body.password, grad_type: 'password' })); } }, _callee); })); return function loginUserService(_x) { return _ref.apply(this, arguments); }; }(); var loginTelegramUserService = /*#__PURE__*/function () { var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(body) { return _regenerator().w(function (_context2) { while (1) switch (_context2.n) { case 0: return _context2.a(2, (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.postWithConfig)(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.LOGIN_TELEGRAM, { telegram_id: body.telegram_id, username: body.username, grad_type: 'telegram' })); } }, _callee2); })); return function loginTelegramUserService(_x2) { return _ref2.apply(this, arguments); }; }(); var registerTelegramUserService = /*#__PURE__*/function () { var _ref3 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(body) { return _regenerator().w(function (_context3) { while (1) switch (_context3.n) { case 0: return _context3.a(2, (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.postWithConfig)(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.SIGNUP, body)); } }, _callee3); })); return function registerTelegramUserService(_x3) { return _ref3.apply(this, arguments); }; }(); var userAttendanceService = /*#__PURE__*/function () { var _ref4 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee4(body) { return _regenerator().w(function (_context4) { while (1) switch (_context4.n) { case 0: return _context4.a(2, (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.postWithConfig)(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.USER_ATTENDANCE, body)); } }, _callee4); })); return function userAttendanceService(_x4) { return _ref4.apply(this, arguments); }; }(); var verifyOTPService = /*#__PURE__*/function () { var _ref5 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee5(body) { var response, _t; return _regenerator().w(function (_context5) { while (1) switch (_context5.p = _context5.n) { case 0: _context5.p = 0; console.log("Sending OTP verification with body: ".concat(JSON.stringify(body))); _context5.n = 1; return (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.postWithConfig)(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.VERIFY_TOP, { email: body.email, code: body.otpCode }); case 1: response = _context5.v; console.log("OTP verification response: ".concat(JSON.stringify(response))); return _context5.a(2, response); case 2: _context5.p = 2; _t = _context5.v; console.error('OTP verification failed:', _t); throw _t; case 3: return _context5.a(2); } }, _callee5, null, [[0, 2]]); })); return function verifyOTPService(_x5) { return _ref5.apply(this, arguments); }; }(); /***/ }), /***/ "./src/services/authentication/login/pages/attendance_verification.tsx": /*!*****************************************************************************!*\ !*** ./src/services/authentication/login/pages/attendance_verification.tsx ***! \*****************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var antd_es_card__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! antd/es/card */ "../../../node_modules/antd/lib/card/index.js"); /* harmony import */ var antd_es_message__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! antd/es/message */ "../../../node_modules/antd/lib/message/index.js"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ "../../../node_modules/react/index.js"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react-redux */ "../../../node_modules/react-redux/dist/react-redux.mjs"); /* harmony import */ var react_router_dom__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react-router-dom */ "../../../node_modules/react-router/dist/index.js"); /* harmony import */ var _core_actions__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../core/actions */ "./src/services/authentication/login/core/actions.ts"); /* harmony import */ var _shared_core_base_services__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../../shared/core/base/services */ "./src/shared/core/base/services.ts"); /* harmony import */ var _user_core_services__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../../user/core/services */ "./src/services/user/core/services.ts"); /* harmony import */ var _volunteer_core_actions__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../../volunteer/core/actions */ "./src/services/volunteer/core/actions.ts"); /* harmony import */ var sweetalert2__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! sweetalert2 */ "../../../node_modules/sweetalert2/dist/sweetalert2.all.js"); /* harmony import */ var sweetalert2__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(sweetalert2__WEBPACK_IMPORTED_MODULE_9__); function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); } function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); } function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); } function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; } function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } } function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; } function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } } function _arrayWithHoles(r) { if (Array.isArray(r)) return r; } var TELEGRAM_BOT_USERNAME = "volunteerforcambodiabot"; var TELEGRAM_AUTH_API = "https://volunteerapi.joonaakhub.com/auth/callback"; var TELEGRAM_ALLOWED_ORIGINS = ["telegram.org", "web.telegram.org"]; // ✅ Restrict allowed origins var TelegramLoginAttendance = function TelegramLoginAttendance() { var dispatch = (0,react_redux__WEBPACK_IMPORTED_MODULE_3__.useDispatch)(); var navigate = (0,react_router_dom__WEBPACK_IMPORTED_MODULE_4__.useNavigate)(); var _useSelector = (0,react_redux__WEBPACK_IMPORTED_MODULE_3__.useSelector)(function (state) { return state.auth; }), loginErrorMessage = _useSelector.loginErrorMessage, currentUser = _useSelector.currentUser; var _message$useMessage = antd_es_message__WEBPACK_IMPORTED_MODULE_1__["default"].useMessage(), _message$useMessage2 = _slicedToArray(_message$useMessage, 2), messageApi = _message$useMessage2[0], contextHolder = _message$useMessage2[1]; var telegramWrapperRef = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)(null); var allVolunteers = null; var fetchTelegramUser = /*#__PURE__*/function () { var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(authData) { var response, _t; return _regenerator().w(function (_context) { while (1) switch (_context.p = _context.n) { case 0: _context.p = 0; if (authData) { _context.n = 1; break; } return _context.a(2); case 1: _context.n = 2; return (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_6__.getWithConfig)("".concat(TELEGRAM_AUTH_API, "?").concat(authData)); case 2: response = _context.v; if (!(!response || !response.user)) { _context.n = 3; break; } throw new Error("Invalid Telegram login response."); case 3: return _context.a(2, response.user); case 4: _context.p = 4; _t = _context.v; return _context.a(2, null); } }, _callee, null, [[0, 4]]); })); return function fetchTelegramUser(_x) { return _ref.apply(this, arguments); }; }(); var handleTelegramLogin = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)(/*#__PURE__*/function () { var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(event) { var eventOrigin, data, user, loginBody, existingUser, _t2; return _regenerator().w(function (_context2) { while (1) switch (_context2.p = _context2.n) { case 0: _context2.p = 0; eventOrigin = new URL(event.origin).hostname; // ✅ Strictly check event origin if (TELEGRAM_ALLOWED_ORIGINS.some(function (domain) { return eventOrigin.endsWith(domain); })) { _context2.n = 1; break; } console.warn("Unauthorized event origin:", eventOrigin); return _context2.a(2); case 1: data = typeof event.data === "string" ? JSON.parse(event.data) : event.data; console.log('data.auth_data :::', data === null || data === void 0 ? void 0 : data.auth_data); if (data !== null && data !== void 0 && data.auth_data) { _context2.n = 2; break; } return _context2.a(2); case 2: if (!sessionStorage.getItem("telegramUser")) { _context2.n = 3; break; } return _context2.a(2); case 3: _context2.n = 4; return fetchTelegramUser(new URLSearchParams(data.auth_data).toString()); case 4: user = _context2.v; if (user) { _context2.n = 5; break; } return _context2.a(2); case 5: ; // ✅ Encrypt user data before saving to sessionStorage sessionStorage.setItem("telegramUser", JSON.stringify(user)); loginBody = { telegram_id: user.id, username: "".concat(user.id, "-").concat(user.username || user.first_name || user.last_name) }; _context2.n = 6; return (0,_user_core_services__WEBPACK_IMPORTED_MODULE_7__.userTelegramService)(user.id); case 6: existingUser = _context2.v; if (existingUser) { dispatch((0,_core_actions__WEBPACK_IMPORTED_MODULE_5__.loginTelegramUserAction)(loginBody)); } else { // user not found todo } _context2.n = 8; break; case 7: _context2.p = 7; _t2 = _context2.v; console.log(_t2); messageApi.error("Failed to authenticate with Telegram."); case 8: return _context2.a(2); } }, _callee2, null, [[0, 7]]); })); return function (_x2) { return _ref2.apply(this, arguments); }; }(), [dispatch, messageApi]); /** ✅ Handle authentication errors */ (0,react__WEBPACK_IMPORTED_MODULE_2__.useEffect)(function () { if (loginErrorMessage) { messageApi.error(loginErrorMessage); } }, [loginErrorMessage, messageApi]); /** ✅ Handle user redirection */ (0,react__WEBPACK_IMPORTED_MODULE_2__.useEffect)(function () { if (!currentUser) return; // Mark user attendance var attendanceBody = { user_id: currentUser.id, meeting_note: "\uD83D\uDCE2 \u179F\u17BC\u1798\u17A2\u1794\u17A2\u179A\u179F\u17B6\u1791\u179A \u1793\u17B7\u1784\u179F\u17BC\u1798\u17A2\u1789\u17D2\u1787\u17BE\u1789\u1785\u17BC\u179B\u179A\u17BD\u1798\u179F\u17B7\u1780\u17D2\u1781\u17B6\u179F\u17B6\u179B\u17B6\u178F\u1798\u17D2\u179A\u1784\u17CB\u1791\u17B7\u179F \u1796\u17D0\u178F\u17CC\u1798\u17B6\u1793\u179B\u1798\u17D2\u17A2\u17B7\u178F \u1798\u17BB\u1793\u1796\u17C1\u179B\u1785\u17C1\u1789\u178A\u17C6\u178E\u17BE\u179A\n(Orientation Workshop) \u179A\u1799\u17C8\u1796\u17C1\u179B\u1798\u17BD\u1799\u1796\u17D2\u179A\u17B9\u1780\n\n\uD83D\uDCDD **\u1782\u178E\u17C8\u1780\u1798\u17D2\u1798\u1780\u17B6\u179A\u179F\u17BC\u1798\u17A2\u1789\u17D2\u1787\u17BE\u1789\u179B\u17C4\u1780\u17A2\u17D2\u1793\u1780\u1785\u17BC\u179B\u179A\u17BD\u1798\u179F\u17B7\u1780\u17D2\u1781\u17B6\u179F\u17B6\u179B\u17B6\u178F\u1798\u17D2\u179A\u1784\u17CB\u1791\u17B7\u179F \u1793\u17B7\u1784\u1795\u17D2\u178F\u179B\u17CB\u1787\u17BC\u1793\u1793\u17BC\u179C\u1796\u17D0\u178F\u17CC\u1798\u17B6\u1793\u179B\u1798\u17D2\u17A2\u17B7\u178F \n\u178A\u17BE\u1798\u17D2\u1794\u17B8\u179A\u17C0\u1794\u1785\u17C6\u1781\u17D2\u179B\u17BD\u1793\u1787\u17B6\u17A2\u17D2\u1793\u1780\u179F\u17D2\u1798\u17D0\u1782\u17D2\u179A\u1785\u17B7\u178F\u17D2\u178F\u1780\u17D2\u1793\u17BB\u1784 \u1796\u17D2\u179A\u17B9\u178F\u17D2\u178F\u17B7\u1780\u17B6\u179A\u178E\u17CD\u17A2\u1784\u17D2\u1782\u179A\u179F\u1784\u17D2\u1782\u17D2\u179A\u17B6\u1793\u17D2\u178F \u17E2\u17E0\u17E2\u17E5\n\n\uD83D\uDCC5 \u1780\u17B6\u179B\u1794\u179A\u17B7\u1785\u17D2\u1786\u17C1\u1791\u17D6 \u1790\u17D2\u1784\u17C3\u179F\u17C5\u179A\u17CD \u1791\u17B8 \u17E5 \u1781\u17C2\u1798\u17C1\u179F\u17B6 \u1786\u17D2\u1793\u17B6\u17C6\u17E2\u17E0\u17E2\u17E5\n\u23F0 \u1796\u17C1\u179B\u179C\u17C1\u179B\u17B6\u17D6 \u17E7:\u17E3\u17E0 \u1796\u17D2\u179A\u17B9\u1780\n\uD83D\uDCCD \u1791\u17B8\u178F\u17B6\u17C6\u1784\u17D6 \u179F\u17B6\u179B\u1794\u17D2\u179A\u1787\u17BB\u17C6\u179F\u17B6\u179B\u17B6\u178F\u17B7\u1785\u178E\u17BC(ITC)\n\uD83D\uDC55 \u179F\u1798\u17D2\u179B\u17C0\u1780\u1794\u17C6\u1796\u17B6\u1780\u17CB\u17D6 \u179F\u1798\u179A\u1798\u17D2\u1799\n\n\uD83D\uDCDE \u179F\u17BC\u1798\u1794\u1789\u17D2\u1787\u17B6\u1780\u17CB\u179C\u178F\u17D2\u178F\u1798\u17B6\u1793\u1791\u17C5\u1780\u17D2\u179A\u17BB\u1798\u1780\u17B6\u179A\u1784\u17B6\u179A\u179A\u1794\u179F\u17CB\u1781\u17D2\u179B\u17BD\u1793", meeting_time: new Date().toISOString() // Use ISO string for consistent date format }; dispatch((0,_core_actions__WEBPACK_IMPORTED_MODULE_5__.userAttendanceAction)(attendanceBody)); // Mark attendance // Show success alert using SweetAlert2 // Introducing a delay before showing the success alert setTimeout(function () { sweetalert2__WEBPACK_IMPORTED_MODULE_9___default().fire({ title: "Success!", text: "Attendance has been marked successfully.", icon: "success", confirmButtonText: "OK" }).then(function (result) { if (result.isConfirmed) { // Navigate to the volunteers page after the alert navigate("/volunteers"); } }); }, 1000); // Delay for 1 second (1000 ms) var fetchVolunteersData = /*#__PURE__*/function () { var _ref3 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3() { var _response$payload, response, volunteersCount, _t3; return _regenerator().w(function (_context3) { while (1) switch (_context3.p = _context3.n) { case 0: _context3.p = 0; _context3.n = 1; return dispatch((0,_volunteer_core_actions__WEBPACK_IMPORTED_MODULE_8__.fetchVolunteers)({ page: 1, pageSize: 1 })); case 1: response = _context3.v; volunteersCount = (response === null || response === void 0 || (_response$payload = response.payload) === null || _response$payload === void 0 || (_response$payload = _response$payload.meta) === null || _response$payload === void 0 ? void 0 : _response$payload.total) || 0; // Delay for 3 seconds before redirecting setTimeout(function () { if (volunteersCount > 0) { navigate(currentUser.role !== "user" ? "/" : "/volunteers", { replace: true }); } else { navigate(currentUser.role !== "user" ? "/" : "/register", { replace: true }); } }, 3000); // 3-second delay (3000 ms) _context3.n = 3; break; case 2: _context3.p = 2; _t3 = _context3.v; console.error("Error fetching volunteers:", _t3); case 3: return _context3.a(2); } }, _callee3, null, [[0, 2]]); })); return function fetchVolunteersData() { return _ref3.apply(this, arguments); }; }(); fetchVolunteersData(); }, [currentUser, navigate, dispatch]); // ✅ Ensure dependencies are correct // ✅ Load session on page refresh & set up Telegram login button (0,react__WEBPACK_IMPORTED_MODULE_2__.useEffect)(function () { var savedUser = sessionStorage.getItem("telegramUser"); if (savedUser && !currentUser) { dispatch((0,_core_actions__WEBPACK_IMPORTED_MODULE_5__.loginTelegramUserAction)(JSON.parse(savedUser))); } window.addEventListener("message", handleTelegramLogin); var scriptElement = document.createElement("script"); scriptElement.src = "https://telegram.org/js/telegram-widget.js?22"; scriptElement.setAttribute("data-telegram-login", TELEGRAM_BOT_USERNAME); scriptElement.setAttribute("data-size", "large"); scriptElement.setAttribute("data-request-access", "write"); scriptElement.async = true; if (telegramWrapperRef.current) { telegramWrapperRef.current.innerHTML = ""; telegramWrapperRef.current.appendChild(scriptElement); } return function () { window.removeEventListener("message", handleTelegramLogin); }; }, [handleTelegramLogin, dispatch, currentUser]); return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement("div", { className: "container" }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement("div", { className: "left-section" }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement("div", { className: "right-section" }, contextHolder, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(antd_es_card__WEBPACK_IMPORTED_MODULE_0__["default"], { className: "card", style: { maxWidth: 400 } }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement("h2", null, "Login with Telegram"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement("div", { ref: telegramWrapperRef })))); }; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (TelegramLoginAttendance); /***/ }), /***/ "./src/services/authentication/login/pages/login.tsx": /*!***********************************************************!*\ !*** ./src/services/authentication/login/pages/login.tsx ***! \***********************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var antd_es_card__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! antd/es/card */ "../../../node_modules/antd/lib/card/index.js"); /* harmony import */ var antd_es_button__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! antd/es/button */ "../../../node_modules/antd/lib/button/index.js"); /* harmony import */ var antd_es_button__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(antd_es_button__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var antd_es_checkbox__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! antd/es/checkbox */ "../../../node_modules/antd/lib/checkbox/index.js"); /* harmony import */ var antd_es_form__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! antd/es/form */ "../../../node_modules/antd/lib/form/index.js"); /* harmony import */ var antd_es_input__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! antd/es/input */ "../../../node_modules/antd/lib/input/index.js"); /* harmony import */ var antd_es_message__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! antd/es/message */ "../../../node_modules/antd/lib/message/index.js"); /* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/LockOutlined.js"); /* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/UserOutlined.js"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! react */ "../../../node_modules/react/index.js"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_8__); /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! react-redux */ "../../../node_modules/react-redux/dist/react-redux.mjs"); /* harmony import */ var react_router_dom__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! react-router-dom */ "../../../node_modules/react-router/dist/index.js"); /* harmony import */ var _core_actions__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../core/actions */ "./src/services/authentication/login/core/actions.ts"); function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); } function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); } function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); } function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; } function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } } function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; } function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } } function _arrayWithHoles(r) { if (Array.isArray(r)) return r; } /* eslint-disable no-console */ // import { useDispatch } from 'react-redux'; var LoginForm = function LoginForm() { var _message$useMessage = antd_es_message__WEBPACK_IMPORTED_MODULE_5__["default"].useMessage(), _message$useMessage2 = _slicedToArray(_message$useMessage, 2), messageApi = _message$useMessage2[0], contextHolder = _message$useMessage2[1]; var dispatch = (0,react_redux__WEBPACK_IMPORTED_MODULE_9__.useDispatch)(); var _useSelector = (0,react_redux__WEBPACK_IMPORTED_MODULE_9__.useSelector)(function (state) { return state.auth; }), isLoginPending = _useSelector.isLoginPending, loginErrorMessage = _useSelector.loginErrorMessage, currentUser = _useSelector.currentUser; var navigate = (0,react_router_dom__WEBPACK_IMPORTED_MODULE_10__.useNavigate)(); var onFinish = function onFinish(values) { _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() { return _regenerator().w(function (_context) { while (1) switch (_context.n) { case 0: dispatch((0,_core_actions__WEBPACK_IMPORTED_MODULE_11__.loginUserAction)(values)); case 1: return _context.a(2); } }, _callee); }))(); }; (0,react__WEBPACK_IMPORTED_MODULE_8__.useEffect)(function () { if (loginErrorMessage) { console.log("loginErrorMessage=> ".concat(loginErrorMessage)); messageApi.open({ type: 'error', content: loginErrorMessage }); } }, [loginErrorMessage, isLoginPending]); (0,react__WEBPACK_IMPORTED_MODULE_8__.useEffect)(function () { if (currentUser) { navigate('/'); } }, [currentUser, navigate]); return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement("div", { style: { display: 'flex', justifyContent: 'center', alignItems: 'center', height: '60vh' // Fill the full height of the viewport } }, contextHolder, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(antd_es_card__WEBPACK_IMPORTED_MODULE_0__["default"], { style: { maxWidth: 400, width: '100%' } }, ' ', /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement("h2", { style: { textAlign: 'center' } }, "Login"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_3__["default"], { name: "normal_login", className: "login-form", initialValues: { remember: true }, onFinish: onFinish }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_3__["default"].Item, { name: "email", rules: [{ required: true, message: 'Please input your email!' }] }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(antd_es_input__WEBPACK_IMPORTED_MODULE_4__["default"], { prefix: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_7__["default"], { className: "site-form-item-icon" }), placeholder: "E-mail" })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_3__["default"].Item, { name: "password", rules: [{ required: true, message: 'Please input your Password!' }] }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(antd_es_input__WEBPACK_IMPORTED_MODULE_4__["default"], { prefix: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_6__["default"], { className: "site-form-item-icon" }), type: "password", placeholder: "Password" })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_3__["default"].Item, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_3__["default"].Item, { name: "remember", valuePropName: "checked", noStyle: true }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(antd_es_checkbox__WEBPACK_IMPORTED_MODULE_2__["default"], null, "Remember me"))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_3__["default"].Item, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_8___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_1___default()), { block: true, type: "primary", htmlType: "submit", className: "login-form-button", loading: isLoginPending }, "Log in"))))); }; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (LoginForm); /***/ }), /***/ "./src/services/authentication/login/pages/qrcode.tsx": /*!************************************************************!*\ !*** ./src/services/authentication/login/pages/qrcode.tsx ***! \************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "../../../node_modules/react/index.js"); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var qrcode_react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! qrcode.react */ "../../../node_modules/qrcode.react/lib/esm/index.js"); function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); } function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); } function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); } function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; } function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } } function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; } function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } } function _arrayWithHoles(r) { if (Array.isArray(r)) return r; } var VolunteerAttendancePage = function VolunteerAttendancePage() { var _useState = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(null), _useState2 = _slicedToArray(_useState, 2), volunteerId = _useState2[0], setVolunteerId = _useState2[1]; (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () { // Here you would fetch or create a unique volunteer ID or meeting ID // For example, let's assume `volunteerId` is dynamically assigned for each session. var fetchVolunteerId = /*#__PURE__*/function () { var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() { return _regenerator().w(function (_context) { while (1) switch (_context.n) { case 0: // This can be an API call or a logic to generate the unique meeting ID setVolunteerId("unique-volunteer-id-123"); // Example volunteer ID case 1: return _context.a(2); } }, _callee); })); return function fetchVolunteerId() { return _ref.apply(this, arguments); }; }(); fetchVolunteerId(); }, []); return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", { className: "attendance-page" }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("h2", null, "Volunteer Attendance"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", null, "Scan the QR code to check-in for your meeting."), volunteerId && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(qrcode_react__WEBPACK_IMPORTED_MODULE_1__.QRCodeCanvas, { value: "https://volunteerforcambodia.com/attendance" // This link should redirect to a page for Telegram login. , size: 256 })); }; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (VolunteerAttendancePage); /***/ }), /***/ "./src/services/disability_type/core/actions.ts": /*!******************************************************!*\ !*** ./src/services/disability_type/core/actions.ts ***! \******************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ createDisabilityTypeAction: () => (/* binding */ createDisabilityTypeAction), /* harmony export */ deleteDisabilityTypeAction: () => (/* binding */ deleteDisabilityTypeAction), /* harmony export */ disabilityTypeDetailAction: () => (/* binding */ disabilityTypeDetailAction), /* harmony export */ fetchDisabilityTypes: () => (/* binding */ fetchDisabilityTypes), /* harmony export */ updateDisabilityTypeAction: () => (/* binding */ updateDisabilityTypeAction) /* harmony export */ }); /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @reduxjs/toolkit */ "../../../node_modules/@reduxjs/toolkit/dist/redux-toolkit.modern.mjs"); /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constants */ "./src/services/disability_type/core/constants.ts"); /* harmony import */ var _services__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./services */ "./src/services/disability_type/core/services.ts"); function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); } function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); } function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); } function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; } var fetchDisabilityTypes = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.DISABILITY_TYPES, _services__WEBPACK_IMPORTED_MODULE_2__.disabilityTypesService); var disabilityTypeDetailAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.DISABILITY_TYPE, _services__WEBPACK_IMPORTED_MODULE_2__.disabilityTypeDetailService); var createDisabilityTypeAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.DISABILITY_TYPE_CREATE, /*#__PURE__*/function () { var _ref3 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(_ref, _ref2) { var data, rejectWithValue, _error$response, _t; return _regenerator().w(function (_context) { while (1) switch (_context.p = _context.n) { case 0: data = _ref.data; rejectWithValue = _ref2.rejectWithValue; _context.p = 1; _context.n = 2; return (0,_services__WEBPACK_IMPORTED_MODULE_2__.createDisabilityTypeService)(data); case 2: return _context.a(2, _context.v); case 3: _context.p = 3; _t = _context.v; return _context.a(2, rejectWithValue(((_error$response = _t.response) === null || _error$response === void 0 || (_error$response = _error$response.data) === null || _error$response === void 0 ? void 0 : _error$response.message) || "Failed to create disability type")); } }, _callee, null, [[1, 3]]); })); return function (_x, _x2) { return _ref3.apply(this, arguments); }; }()); var updateDisabilityTypeAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.DISABILITY_TYPE_UPDATE, /*#__PURE__*/function () { var _ref6 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(_ref4, _ref5) { var id, data, rejectWithValue, _error$response2, _t2; return _regenerator().w(function (_context2) { while (1) switch (_context2.p = _context2.n) { case 0: id = _ref4.id, data = _ref4.data; rejectWithValue = _ref5.rejectWithValue; _context2.p = 1; _context2.n = 2; return (0,_services__WEBPACK_IMPORTED_MODULE_2__.updateDisabilityTypeService)(id, data); case 2: return _context2.a(2, _context2.v); case 3: _context2.p = 3; _t2 = _context2.v; return _context2.a(2, rejectWithValue(((_error$response2 = _t2.response) === null || _error$response2 === void 0 || (_error$response2 = _error$response2.data) === null || _error$response2 === void 0 ? void 0 : _error$response2.message) || "Failed to update disability type")); } }, _callee2, null, [[1, 3]]); })); return function (_x3, _x4) { return _ref6.apply(this, arguments); }; }()); var deleteDisabilityTypeAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.DISABILITY_TYPE_DELETE, _services__WEBPACK_IMPORTED_MODULE_2__.deleteDisabilityTypeService); /***/ }), /***/ "./src/services/disability_type/core/constants.ts": /*!********************************************************!*\ !*** ./src/services/disability_type/core/constants.ts ***! \********************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ DISABILITY_TYPE: () => (/* binding */ DISABILITY_TYPE), /* harmony export */ DISABILITY_TYPES: () => (/* binding */ DISABILITY_TYPES), /* harmony export */ DISABILITY_TYPE_CREATE: () => (/* binding */ DISABILITY_TYPE_CREATE), /* harmony export */ DISABILITY_TYPE_DELETE: () => (/* binding */ DISABILITY_TYPE_DELETE), /* harmony export */ DISABILITY_TYPE_UPDATE: () => (/* binding */ DISABILITY_TYPE_UPDATE) /* harmony export */ }); var DISABILITY_TYPES = 'disability-types/fetchAll'; var DISABILITY_TYPE = 'disability-types/fetchByID'; var DISABILITY_TYPE_CREATE = 'disability-types/create'; var DISABILITY_TYPE_UPDATE = 'disability-types/update'; var DISABILITY_TYPE_DELETE = 'disability-types/delete'; /***/ }), /***/ "./src/services/disability_type/core/reducer.ts": /*!******************************************************!*\ !*** ./src/services/disability_type/core/reducer.ts ***! \******************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__), /* harmony export */ disabilityTypeSlice: () => (/* binding */ disabilityTypeSlice), /* harmony export */ setDisabilityType: () => (/* binding */ setDisabilityType), /* harmony export */ setRegisterErrorMessage: () => (/* binding */ setRegisterErrorMessage) /* harmony export */ }); /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @reduxjs/toolkit */ "../../../node_modules/@reduxjs/toolkit/dist/redux-toolkit.modern.mjs"); /* harmony import */ var _actions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./actions */ "./src/services/disability_type/core/actions.ts"); /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./constants */ "./src/services/disability_type/core/constants.ts"); /* eslint-disable no-console */ var initialState = { disabilityTypes: [], disabilityType: null, disabilityTypesPending: false, disabilityTypeDetailPending: false, disabilityTypeCreatePending: false, disabilityTypeUpdatePending: false, disabilityTypeDeletePending: false, registerErrorMessage: '' }; var disabilityTypeSlice = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSlice)({ name: _constants__WEBPACK_IMPORTED_MODULE_2__.DISABILITY_TYPE, initialState: initialState, reducers: { // Sets the current disabilityType setDisabilityType: function setDisabilityType(state, action) { state.disabilityType = action.payload; }, // Updates the register error message setRegisterErrorMessage: function setRegisterErrorMessage(state, action) { state.registerErrorMessage = action.payload; } }, extraReducers: function extraReducers(builder) { builder // handle disability type .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.fetchDisabilityTypes.pending, function (state) { state.disabilityTypesPending = true; state.registerErrorMessage = ''; }) // Handles rejected disability types fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.fetchDisabilityTypes.rejected, function (state, action) { state.disabilityTypesPending = false; state.registerErrorMessage = action.error.message || 'Failed to fetch disability types.'; }) // Handles fulfilled disability types fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.fetchDisabilityTypes.fulfilled, function (state, action) { var payload = action.payload; state.disabilityTypes = payload; state.disabilityTypesPending = false; state.registerErrorMessage = ''; }) // handle disability type detail .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.disabilityTypeDetailAction.pending, function (state) { state.disabilityTypeDetailPending = true; state.registerErrorMessage = ''; }) // Handles rejected disability types fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.disabilityTypeDetailAction.rejected, function (state, action) { state.disabilityTypeDetailPending = false; state.registerErrorMessage = action.error.message || 'Failed to fetch disability types.'; }) // Handles fulfilled disability types fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.disabilityTypeDetailAction.fulfilled, function (state, action) { var payload = action.payload; state.disabilityType = payload; state.disabilityTypeDetailPending = false; state.registerErrorMessage = ''; }) // handle disabilityType create .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.createDisabilityTypeAction.pending, function (state) { state.disabilityTypeUpdatePending = true; state.registerErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.createDisabilityTypeAction.rejected, function (state, action) { state.disabilityTypeUpdatePending = false; state.registerErrorMessage = action.error.message || 'Failed to create disability types.'; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.createDisabilityTypeAction.fulfilled, function (state, action) { state.disabilityType = action.payload; state.disabilityTypeUpdatePending = false; state.registerErrorMessage = ''; }) // handle disabilityType update .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.updateDisabilityTypeAction.pending, function (state) { state.disabilityTypeUpdatePending = true; state.registerErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.updateDisabilityTypeAction.rejected, function (state, action) { state.disabilityTypeUpdatePending = false; state.registerErrorMessage = action.error.message || 'Failed to update disability types.'; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.updateDisabilityTypeAction.fulfilled, function (state, action) { state.disabilityType = action.payload; state.disabilityTypeUpdatePending = false; state.registerErrorMessage = ''; }) // handle disabilityType delete .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.deleteDisabilityTypeAction.pending, function (state) { state.disabilityTypeUpdatePending = true; state.registerErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.deleteDisabilityTypeAction.rejected, function (state, action) { state.disabilityTypeUpdatePending = false; state.registerErrorMessage = action.error.message || 'Failed to delete disability types.'; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.deleteDisabilityTypeAction.fulfilled, function (state, action) { state.disabilityType = action.payload; state.disabilityTypeUpdatePending = false; state.registerErrorMessage = ''; }); } }); var _disabilityTypeSlice$ = disabilityTypeSlice.actions, setRegisterErrorMessage = _disabilityTypeSlice$.setRegisterErrorMessage, setDisabilityType = _disabilityTypeSlice$.setDisabilityType; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (disabilityTypeSlice.reducer); /***/ }), /***/ "./src/services/disability_type/core/services.ts": /*!*******************************************************!*\ !*** ./src/services/disability_type/core/services.ts ***! \*******************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ createDisabilityTypeService: () => (/* binding */ createDisabilityTypeService), /* harmony export */ deleteDisabilityTypeService: () => (/* binding */ deleteDisabilityTypeService), /* harmony export */ disabilityTypeDetailService: () => (/* binding */ disabilityTypeDetailService), /* harmony export */ disabilityTypesService: () => (/* binding */ disabilityTypesService), /* harmony export */ updateDisabilityTypeService: () => (/* binding */ updateDisabilityTypeService) /* harmony export */ }); /* harmony import */ var _shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../shared/configs/constants */ "./src/shared/configs/constants.ts"); /* harmony import */ var _shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../shared/core/base/services */ "./src/shared/core/base/services.ts"); function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); } function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); } function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); } function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; } var disabilityTypesService = /*#__PURE__*/function () { var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() { return _regenerator().w(function (_context) { while (1) switch (_context.n) { case 0: _context.n = 1; return (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.getWithConfig)(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.DISABILITY_TYPE); case 1: return _context.a(2, _context.v); } }, _callee); })); return function disabilityTypesService() { return _ref.apply(this, arguments); }; }(); var disabilityTypeDetailService = /*#__PURE__*/function () { var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(id) { return _regenerator().w(function (_context2) { while (1) switch (_context2.n) { case 0: _context2.n = 1; return (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.getWithConfig)("".concat(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.DISABILITY_TYPE).concat(id)); case 1: return _context2.a(2, _context2.v); } }, _callee2); })); return function disabilityTypeDetailService(_x) { return _ref2.apply(this, arguments); }; }(); var createDisabilityTypeService = /*#__PURE__*/function () { var _ref3 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(data) { return _regenerator().w(function (_context3) { while (1) switch (_context3.n) { case 0: return _context3.a(2, (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.postWithConfig)("".concat(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.DISABILITY_TYPE), data)); } }, _callee3); })); return function createDisabilityTypeService(_x2) { return _ref3.apply(this, arguments); }; }(); var updateDisabilityTypeService = /*#__PURE__*/function () { var _ref4 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee4(id, data) { return _regenerator().w(function (_context4) { while (1) switch (_context4.n) { case 0: return _context4.a(2, (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.putWithConfig)("".concat(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.DISABILITY_TYPE).concat(id), data)); } }, _callee4); })); return function updateDisabilityTypeService(_x3, _x4) { return _ref4.apply(this, arguments); }; }(); var deleteDisabilityTypeService = /*#__PURE__*/function () { var _ref5 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee5(id) { return _regenerator().w(function (_context5) { while (1) switch (_context5.n) { case 0: _context5.n = 1; return (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.removeWithConfig)("".concat(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.DISABILITY_TYPE).concat(id)); case 1: return _context5.a(2, _context5.v); } }, _callee5); })); return function deleteDisabilityTypeService(_x5) { return _ref5.apply(this, arguments); }; }(); /***/ }), /***/ "./src/services/education_institution/core/actions.ts": /*!************************************************************!*\ !*** ./src/services/education_institution/core/actions.ts ***! \************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ createEducationInstitutionAction: () => (/* binding */ createEducationInstitutionAction), /* harmony export */ deleteEducationInstitutionAction: () => (/* binding */ deleteEducationInstitutionAction), /* harmony export */ educationInstitutionDetailAction: () => (/* binding */ educationInstitutionDetailAction), /* harmony export */ fetchEducationInstitutions: () => (/* binding */ fetchEducationInstitutions), /* harmony export */ updateEducationInstitutionAction: () => (/* binding */ updateEducationInstitutionAction) /* harmony export */ }); /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @reduxjs/toolkit */ "../../../node_modules/@reduxjs/toolkit/dist/redux-toolkit.modern.mjs"); /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constants */ "./src/services/education_institution/core/constants.ts"); /* harmony import */ var _services__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./services */ "./src/services/education_institution/core/services.ts"); function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); } function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); } function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); } function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; } var fetchEducationInstitutions = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.EDUCATION_INSTITUTIONS, _services__WEBPACK_IMPORTED_MODULE_2__.educationInstitutionsService); var educationInstitutionDetailAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.EDUCATION_INSTITUTION, _services__WEBPACK_IMPORTED_MODULE_2__.educationInstitutionDetailService); var createEducationInstitutionAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.EDUCATION_INSTITUTION_CREATE, /*#__PURE__*/function () { var _ref3 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(_ref, _ref2) { var data, rejectWithValue, _error$response, _t; return _regenerator().w(function (_context) { while (1) switch (_context.p = _context.n) { case 0: data = _ref.data; rejectWithValue = _ref2.rejectWithValue; _context.p = 1; _context.n = 2; return (0,_services__WEBPACK_IMPORTED_MODULE_2__.createEducationInstitutionService)(data); case 2: return _context.a(2, _context.v); case 3: _context.p = 3; _t = _context.v; return _context.a(2, rejectWithValue(((_error$response = _t.response) === null || _error$response === void 0 || (_error$response = _error$response.data) === null || _error$response === void 0 ? void 0 : _error$response.message) || "Failed to create education institution")); } }, _callee, null, [[1, 3]]); })); return function (_x, _x2) { return _ref3.apply(this, arguments); }; }()); var updateEducationInstitutionAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.EDUCATION_INSTITUTION_UPDATE, /*#__PURE__*/function () { var _ref6 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(_ref4, _ref5) { var id, data, rejectWithValue, _error$response2, _t2; return _regenerator().w(function (_context2) { while (1) switch (_context2.p = _context2.n) { case 0: id = _ref4.id, data = _ref4.data; rejectWithValue = _ref5.rejectWithValue; _context2.p = 1; _context2.n = 2; return (0,_services__WEBPACK_IMPORTED_MODULE_2__.updateEducationInstitutionService)(id, data); case 2: return _context2.a(2, _context2.v); case 3: _context2.p = 3; _t2 = _context2.v; return _context2.a(2, rejectWithValue(((_error$response2 = _t2.response) === null || _error$response2 === void 0 || (_error$response2 = _error$response2.data) === null || _error$response2 === void 0 ? void 0 : _error$response2.message) || "Failed to update education institution")); } }, _callee2, null, [[1, 3]]); })); return function (_x3, _x4) { return _ref6.apply(this, arguments); }; }()); var deleteEducationInstitutionAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.EDUCATION_INSTITUTION_DELETE, _services__WEBPACK_IMPORTED_MODULE_2__.deleteEducationInstitutionService); /***/ }), /***/ "./src/services/education_institution/core/constants.ts": /*!**************************************************************!*\ !*** ./src/services/education_institution/core/constants.ts ***! \**************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ EDUCATION_INSTITUTION: () => (/* binding */ EDUCATION_INSTITUTION), /* harmony export */ EDUCATION_INSTITUTIONS: () => (/* binding */ EDUCATION_INSTITUTIONS), /* harmony export */ EDUCATION_INSTITUTION_CREATE: () => (/* binding */ EDUCATION_INSTITUTION_CREATE), /* harmony export */ EDUCATION_INSTITUTION_DELETE: () => (/* binding */ EDUCATION_INSTITUTION_DELETE), /* harmony export */ EDUCATION_INSTITUTION_UPDATE: () => (/* binding */ EDUCATION_INSTITUTION_UPDATE) /* harmony export */ }); var EDUCATION_INSTITUTIONS = 'education-institutions/fetchAll'; var EDUCATION_INSTITUTION = 'education-institutions/fetchByID'; var EDUCATION_INSTITUTION_CREATE = 'education-institutions/create'; var EDUCATION_INSTITUTION_UPDATE = 'education-institutions/update'; var EDUCATION_INSTITUTION_DELETE = 'education-institutions/delete'; /***/ }), /***/ "./src/services/education_institution/core/reducer.ts": /*!************************************************************!*\ !*** ./src/services/education_institution/core/reducer.ts ***! \************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__), /* harmony export */ educationInstitutionSlice: () => (/* binding */ educationInstitutionSlice), /* harmony export */ setEducationInstitution: () => (/* binding */ setEducationInstitution), /* harmony export */ setRegisterErrorMessage: () => (/* binding */ setRegisterErrorMessage) /* harmony export */ }); /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @reduxjs/toolkit */ "../../../node_modules/@reduxjs/toolkit/dist/redux-toolkit.modern.mjs"); /* harmony import */ var _actions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./actions */ "./src/services/education_institution/core/actions.ts"); /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./constants */ "./src/services/education_institution/core/constants.ts"); /* eslint-disable no-console */ var initialState = { educationInstitutions: [], educationInstitution: null, educationInstitutionsPending: false, educationInstitutionDetailPending: false, educationInstitutionCreatePending: false, educationInstitutionUpdatePending: false, educationInstitutionDeletePending: false, registerErrorMessage: '' }; var educationInstitutionSlice = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSlice)({ name: _constants__WEBPACK_IMPORTED_MODULE_2__.EDUCATION_INSTITUTION, initialState: initialState, reducers: { // Sets the current educationInstitution setEducationInstitution: function setEducationInstitution(state, action) { state.educationInstitution = action.payload; }, // Updates the register error message setRegisterErrorMessage: function setRegisterErrorMessage(state, action) { state.registerErrorMessage = action.payload; } }, extraReducers: function extraReducers(builder) { builder // handle education institution .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.fetchEducationInstitutions.pending, function (state) { state.educationInstitutionsPending = true; state.registerErrorMessage = ''; }) // Handles rejected education institutions fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.fetchEducationInstitutions.rejected, function (state, action) { state.educationInstitutionsPending = false; state.registerErrorMessage = action.error.message || 'Failed to fetch education institutions.'; }) // Handles fulfilled education institutions fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.fetchEducationInstitutions.fulfilled, function (state, action) { var payload = action.payload; state.educationInstitutions = payload; state.educationInstitutionsPending = false; state.registerErrorMessage = ''; }) // handle education institution detail .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.educationInstitutionDetailAction.pending, function (state) { state.educationInstitutionDetailPending = true; state.registerErrorMessage = ''; }) // Handles rejected education institutions fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.educationInstitutionDetailAction.rejected, function (state, action) { state.educationInstitutionDetailPending = false; state.registerErrorMessage = action.error.message || 'Failed to fetch education institutions.'; }) // Handles fulfilled education institutions fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.educationInstitutionDetailAction.fulfilled, function (state, action) { var payload = action.payload; state.educationInstitution = payload; state.educationInstitutionDetailPending = false; state.registerErrorMessage = ''; }) // handle educationInstitution create .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.createEducationInstitutionAction.pending, function (state) { state.educationInstitutionUpdatePending = true; state.registerErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.createEducationInstitutionAction.rejected, function (state, action) { state.educationInstitutionUpdatePending = false; state.registerErrorMessage = action.error.message || 'Failed to create education institutions.'; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.createEducationInstitutionAction.fulfilled, function (state, action) { state.educationInstitution = action.payload; state.educationInstitutionUpdatePending = false; state.registerErrorMessage = ''; }) // handle educationInstitution update .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.updateEducationInstitutionAction.pending, function (state) { state.educationInstitutionUpdatePending = true; state.registerErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.updateEducationInstitutionAction.rejected, function (state, action) { state.educationInstitutionUpdatePending = false; state.registerErrorMessage = action.error.message || 'Failed to update education institutions.'; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.updateEducationInstitutionAction.fulfilled, function (state, action) { state.educationInstitution = action.payload; state.educationInstitutionUpdatePending = false; state.registerErrorMessage = ''; }) // handle educationInstitution delete .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.deleteEducationInstitutionAction.pending, function (state) { state.educationInstitutionUpdatePending = true; state.registerErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.deleteEducationInstitutionAction.rejected, function (state, action) { state.educationInstitutionUpdatePending = false; state.registerErrorMessage = action.error.message || 'Failed to delete education institutions.'; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.deleteEducationInstitutionAction.fulfilled, function (state, action) { state.educationInstitution = action.payload; state.educationInstitutionUpdatePending = false; state.registerErrorMessage = ''; }); } }); var _educationInstitution = educationInstitutionSlice.actions, setRegisterErrorMessage = _educationInstitution.setRegisterErrorMessage, setEducationInstitution = _educationInstitution.setEducationInstitution; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (educationInstitutionSlice.reducer); /***/ }), /***/ "./src/services/education_institution/core/services.ts": /*!*************************************************************!*\ !*** ./src/services/education_institution/core/services.ts ***! \*************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ createEducationInstitutionService: () => (/* binding */ createEducationInstitutionService), /* harmony export */ deleteEducationInstitutionService: () => (/* binding */ deleteEducationInstitutionService), /* harmony export */ educationInstitutionDetailService: () => (/* binding */ educationInstitutionDetailService), /* harmony export */ educationInstitutionsService: () => (/* binding */ educationInstitutionsService), /* harmony export */ updateEducationInstitutionService: () => (/* binding */ updateEducationInstitutionService) /* harmony export */ }); /* harmony import */ var _shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../shared/configs/constants */ "./src/shared/configs/constants.ts"); /* harmony import */ var _shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../shared/core/base/services */ "./src/shared/core/base/services.ts"); function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); } function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); } function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); } function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; } var educationInstitutionsService = /*#__PURE__*/function () { var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() { return _regenerator().w(function (_context) { while (1) switch (_context.n) { case 0: _context.n = 1; return (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.getWithConfig)(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.EDUCATION_INSTITUTION); case 1: return _context.a(2, _context.v); } }, _callee); })); return function educationInstitutionsService() { return _ref.apply(this, arguments); }; }(); var educationInstitutionDetailService = /*#__PURE__*/function () { var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(id) { return _regenerator().w(function (_context2) { while (1) switch (_context2.n) { case 0: _context2.n = 1; return (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.getWithConfig)("".concat(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.EDUCATION_INSTITUTION).concat(id)); case 1: return _context2.a(2, _context2.v); } }, _callee2); })); return function educationInstitutionDetailService(_x) { return _ref2.apply(this, arguments); }; }(); var createEducationInstitutionService = /*#__PURE__*/function () { var _ref3 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(data) { return _regenerator().w(function (_context3) { while (1) switch (_context3.n) { case 0: return _context3.a(2, (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.postWithConfig)("".concat(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.EDUCATION_INSTITUTION), data)); } }, _callee3); })); return function createEducationInstitutionService(_x2) { return _ref3.apply(this, arguments); }; }(); var updateEducationInstitutionService = /*#__PURE__*/function () { var _ref4 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee4(id, data) { return _regenerator().w(function (_context4) { while (1) switch (_context4.n) { case 0: return _context4.a(2, (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.putWithConfig)("".concat(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.EDUCATION_INSTITUTION).concat(id), data)); } }, _callee4); })); return function updateEducationInstitutionService(_x3, _x4) { return _ref4.apply(this, arguments); }; }(); var deleteEducationInstitutionService = /*#__PURE__*/function () { var _ref5 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee5(id) { return _regenerator().w(function (_context5) { while (1) switch (_context5.n) { case 0: _context5.n = 1; return (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.removeWithConfig)("".concat(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.EDUCATION_INSTITUTION).concat(id)); case 1: return _context5.a(2, _context5.v); } }, _callee5); })); return function deleteEducationInstitutionService(_x5) { return _ref5.apply(this, arguments); }; }(); /***/ }), /***/ "./src/services/family_survey/core/actions.ts": /*!****************************************************!*\ !*** ./src/services/family_survey/core/actions.ts ***! \****************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ createFamilyAction: () => (/* binding */ createFamilyAction), /* harmony export */ deleteFamilyAction: () => (/* binding */ deleteFamilyAction), /* harmony export */ familyDetailAction: () => (/* binding */ familyDetailAction), /* harmony export */ fetchCommune: () => (/* binding */ fetchCommune), /* harmony export */ fetchDistrict: () => (/* binding */ fetchDistrict), /* harmony export */ fetchFamilySurvey: () => (/* binding */ fetchFamilySurvey), /* harmony export */ fetchProvince: () => (/* binding */ fetchProvince), /* harmony export */ fetchTransportation: () => (/* binding */ fetchTransportation), /* harmony export */ fetchVillageService: () => (/* binding */ fetchVillageService), /* harmony export */ updateFamilyAction: () => (/* binding */ updateFamilyAction) /* harmony export */ }); /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @reduxjs/toolkit */ "../../../node_modules/@reduxjs/toolkit/dist/redux-toolkit.modern.mjs"); /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constants */ "./src/services/family_survey/core/constants.ts"); /* harmony import */ var _services__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./services */ "./src/services/family_survey/core/services.ts"); function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); } function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); } function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); } function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; } var fetchProvince = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.PROVINCES, _services__WEBPACK_IMPORTED_MODULE_2__.provinceService); var fetchDistrict = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.DISTRICT, /*#__PURE__*/function () { var _ref3 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(_ref, _ref2) { var id, rejectWithValue, _error$response, _t; return _regenerator().w(function (_context) { while (1) switch (_context.p = _context.n) { case 0: id = _ref.id; rejectWithValue = _ref2.rejectWithValue; _context.p = 1; console.log('provinceId::::', id); _context.n = 2; return (0,_services__WEBPACK_IMPORTED_MODULE_2__.districtService)(id); case 2: return _context.a(2, _context.v); case 3: _context.p = 3; _t = _context.v; return _context.a(2, rejectWithValue(((_error$response = _t.response) === null || _error$response === void 0 ? void 0 : _error$response.detail) || "Failed")); } }, _callee, null, [[1, 3]]); })); return function (_x, _x2) { return _ref3.apply(this, arguments); }; }()); var fetchCommune = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.COMMUNE, /*#__PURE__*/function () { var _ref6 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(_ref4, _ref5) { var id, rejectWithValue, _error$response2, _t2; return _regenerator().w(function (_context2) { while (1) switch (_context2.p = _context2.n) { case 0: id = _ref4.id; rejectWithValue = _ref5.rejectWithValue; _context2.p = 1; _context2.n = 2; return (0,_services__WEBPACK_IMPORTED_MODULE_2__.communeService)(id); case 2: return _context2.a(2, _context2.v); case 3: _context2.p = 3; _t2 = _context2.v; return _context2.a(2, rejectWithValue(((_error$response2 = _t2.response) === null || _error$response2 === void 0 ? void 0 : _error$response2.detail) || "Failed")); } }, _callee2, null, [[1, 3]]); })); return function (_x3, _x4) { return _ref6.apply(this, arguments); }; }()); var fetchVillageService = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.VILLAGE, /*#__PURE__*/function () { var _ref9 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(_ref7, _ref8) { var id, rejectWithValue, _error$response3, _t3; return _regenerator().w(function (_context3) { while (1) switch (_context3.p = _context3.n) { case 0: id = _ref7.id; rejectWithValue = _ref8.rejectWithValue; _context3.p = 1; _context3.n = 2; return (0,_services__WEBPACK_IMPORTED_MODULE_2__.villageService)(id); case 2: return _context3.a(2, _context3.v); case 3: _context3.p = 3; _t3 = _context3.v; return _context3.a(2, rejectWithValue(((_error$response3 = _t3.response) === null || _error$response3 === void 0 ? void 0 : _error$response3.detail) || "Failed")); } }, _callee3, null, [[1, 3]]); })); return function (_x5, _x6) { return _ref9.apply(this, arguments); }; }()); var fetchTransportation = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.TRANSPORTATION, _services__WEBPACK_IMPORTED_MODULE_2__.transportationService); var fetchFamilySurvey = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.FAMILY_SURVEYS, /*#__PURE__*/function () { var _ref10 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee4(_ref0, _ref1) { var search, page, pageSize, gender, total_member, age, village, commune, district, province, rejectWithValue, response, _error$response4, _t4; return _regenerator().w(function (_context4) { while (1) switch (_context4.p = _context4.n) { case 0: search = _ref0.search, page = _ref0.page, pageSize = _ref0.pageSize, gender = _ref0.gender, total_member = _ref0.total_member, age = _ref0.age, village = _ref0.village, commune = _ref0.commune, district = _ref0.district, province = _ref0.province; rejectWithValue = _ref1.rejectWithValue; _context4.p = 1; _context4.n = 2; return (0,_services__WEBPACK_IMPORTED_MODULE_2__.familyService)(search, page, pageSize, gender, total_member, age, village, commune, district, province); case 2: response = _context4.v; return _context4.a(2, response); case 3: _context4.p = 3; _t4 = _context4.v; return _context4.a(2, rejectWithValue(((_error$response4 = _t4.response) === null || _error$response4 === void 0 ? void 0 : _error$response4.detail) || "Failed to fetch volunteers")); } }, _callee4, null, [[1, 3]]); })); return function (_x7, _x8) { return _ref10.apply(this, arguments); }; }()); var deleteFamilyAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.FAMILY_SURVEY_DELETE, _services__WEBPACK_IMPORTED_MODULE_2__.deleteFamilyService); var familyDetailAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.FAMILY_SURVEY, _services__WEBPACK_IMPORTED_MODULE_2__.familyDetailService); var updateFamilyAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.FAMILY_SURVEY_UPDATE, /*#__PURE__*/function () { var _ref13 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee5(_ref11, _ref12) { var id, data, rejectWithValue, _error$response5, _t5; return _regenerator().w(function (_context5) { while (1) switch (_context5.p = _context5.n) { case 0: id = _ref11.id, data = _ref11.data; rejectWithValue = _ref12.rejectWithValue; _context5.p = 1; _context5.n = 2; return (0,_services__WEBPACK_IMPORTED_MODULE_2__.updateFamilyService)(id, data); case 2: return _context5.a(2, _context5.v); case 3: _context5.p = 3; _t5 = _context5.v; return _context5.a(2, rejectWithValue(((_error$response5 = _t5.response) === null || _error$response5 === void 0 ? void 0 : _error$response5.detail) || "Failed to update volunteer")); } }, _callee5, null, [[1, 3]]); })); return function (_x9, _x0) { return _ref13.apply(this, arguments); }; }()); var createFamilyAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.FAMILY_SURVEY_CREATE, /*#__PURE__*/function () { var _ref16 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee6(_ref14, _ref15) { var data, rejectWithValue, _error$response6, _t6; return _regenerator().w(function (_context6) { while (1) switch (_context6.p = _context6.n) { case 0: data = _ref14.data; rejectWithValue = _ref15.rejectWithValue; _context6.p = 1; console.log('::: createFamilyAction::: ', data); _context6.n = 2; return (0,_services__WEBPACK_IMPORTED_MODULE_2__.createFamilyService)(data); case 2: return _context6.a(2, _context6.v); case 3: _context6.p = 3; _t6 = _context6.v; return _context6.a(2, rejectWithValue(((_error$response6 = _t6.response) === null || _error$response6 === void 0 || (_error$response6 = _error$response6.data) === null || _error$response6 === void 0 ? void 0 : _error$response6.message) || "Failed to create food")); } }, _callee6, null, [[1, 3]]); })); return function (_x1, _x10) { return _ref16.apply(this, arguments); }; }()); /***/ }), /***/ "./src/services/family_survey/core/constants.ts": /*!******************************************************!*\ !*** ./src/services/family_survey/core/constants.ts ***! \******************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ COMMUNE: () => (/* binding */ COMMUNE), /* harmony export */ DISTRICT: () => (/* binding */ DISTRICT), /* harmony export */ FAMILY_SURVEY: () => (/* binding */ FAMILY_SURVEY), /* harmony export */ FAMILY_SURVEYS: () => (/* binding */ FAMILY_SURVEYS), /* harmony export */ FAMILY_SURVEY_CREATE: () => (/* binding */ FAMILY_SURVEY_CREATE), /* harmony export */ FAMILY_SURVEY_DELETE: () => (/* binding */ FAMILY_SURVEY_DELETE), /* harmony export */ FAMILY_SURVEY_UPDATE: () => (/* binding */ FAMILY_SURVEY_UPDATE), /* harmony export */ PROVINCES: () => (/* binding */ PROVINCES), /* harmony export */ TRANSPORTATION: () => (/* binding */ TRANSPORTATION), /* harmony export */ VILLAGE: () => (/* binding */ VILLAGE) /* harmony export */ }); var FAMILY_SURVEYS = 'family-survey/fetchAll'; var FAMILY_SURVEY = 'family-survey/fetchByID'; var FAMILY_SURVEY_CREATE = 'family-survey/create'; var FAMILY_SURVEY_UPDATE = 'family-survey/update'; var FAMILY_SURVEY_DELETE = 'family-survey/delete'; var PROVINCES = 'provinces/'; var DISTRICT = 'DISTRICT'; var COMMUNE = 'COMMUNE'; var VILLAGE = 'VILLAGE'; var TRANSPORTATION = 'TRANSPORTATION'; /***/ }), /***/ "./src/services/family_survey/core/reducer.ts": /*!****************************************************!*\ !*** ./src/services/family_survey/core/reducer.ts ***! \****************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__), /* harmony export */ familiSurveySlice: () => (/* binding */ familiSurveySlice), /* harmony export */ setFamily: () => (/* binding */ setFamily), /* harmony export */ setsetFamilyErrorMessage: () => (/* binding */ setsetFamilyErrorMessage), /* harmony export */ setsetFamilyPending: () => (/* binding */ setsetFamilyPending) /* harmony export */ }); /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @reduxjs/toolkit */ "../../../node_modules/@reduxjs/toolkit/dist/redux-toolkit.modern.mjs"); /* harmony import */ var _actions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./actions */ "./src/services/family_survey/core/actions.ts"); /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./constants */ "./src/services/family_survey/core/constants.ts"); /* eslint-disable no-console */ var initialState = { families: null, familySurvey: null, provinces: [], districts: [], communes: [], villages: [], transportations: [], registerPending: false, registerErrorMessage: '' }; var familiSurveySlice = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSlice)({ name: _constants__WEBPACK_IMPORTED_MODULE_2__.FAMILY_SURVEY, initialState: initialState, reducers: { setFamily: function setFamily(state, action) { state.familySurvey = action.payload; }, setsetFamilyPending: function setsetFamilyPending(state, action) { state.registerPending = action.payload; }, setsetFamilyErrorMessage: function setsetFamilyErrorMessage(state, action) { state.registerErrorMessage = action.payload; } }, extraReducers: function extraReducers(builder) { // Province builder.addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.fetchProvince.pending, function (state) { state.registerPending = true; state.registerErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.fetchProvince.rejected, function (state, action) { state.registerPending = false; state.registerErrorMessage = action.error.message || 'Failed to fetch province.'; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.fetchProvince.fulfilled, function (state, action) { state.provinces = action.payload; state.registerPending = false; }); // District builder.addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.fetchDistrict.pending, function (state) { state.registerPending = true; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.fetchDistrict.rejected, function (state) { state.registerPending = false; state.districts = []; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.fetchDistrict.fulfilled, function (state, action) { state.registerPending = false; state.districts = action.payload; }); // Commune builder.addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.fetchCommune.pending, function (state) { state.registerPending = true; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.fetchCommune.rejected, function (state) { state.registerPending = false; state.communes = []; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.fetchCommune.fulfilled, function (state, action) { state.registerPending = false; state.communes = action.payload; }); // Village builder.addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.fetchVillageService.pending, function (state) { state.registerPending = true; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.fetchVillageService.rejected, function (state) { state.registerPending = false; state.villages = []; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.fetchVillageService.fulfilled, function (state, action) { state.registerPending = false; state.villages = action.payload; }); // Transportation builder.addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.fetchTransportation.pending, function (state) { state.registerPending = true; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.fetchTransportation.rejected, function (state) { state.registerPending = false; state.transportations = []; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.fetchTransportation.fulfilled, function (state, action) { state.registerPending = false; state.transportations = action.payload; }); // Family Survey Fetch builder.addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.fetchFamilySurvey.pending, function (state) { state.registerPending = true; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.fetchFamilySurvey.rejected, function (state) { state.registerPending = false; state.families = null; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.fetchFamilySurvey.fulfilled, function (state, action) { state.registerPending = false; state.families = action.payload; }); // Family Survey Detail builder.addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.familyDetailAction.pending, function (state) { state.registerPending = true; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.familyDetailAction.rejected, function (state) { state.registerPending = false; state.familySurvey = null; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.familyDetailAction.fulfilled, function (state, action) { state.registerPending = false; state.familySurvey = action.payload; }); // ✅ Handle Family Create builder.addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.createFamilyAction.pending, function (state) { state.registerPending = true; state.registerErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.createFamilyAction.rejected, function (state, action) { state.registerPending = false; state.registerErrorMessage = action.error.message || 'Failed to create family.'; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.createFamilyAction.fulfilled, function (state, action) { state.familySurvey = action.payload; state.registerPending = false; state.registerErrorMessage = ''; }); // ✅ Handle Family Update builder.addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.updateFamilyAction.pending, function (state) { state.registerPending = true; state.registerErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.updateFamilyAction.rejected, function (state, action) { state.registerPending = false; state.registerErrorMessage = action.error.message || 'Failed to update family.'; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.updateFamilyAction.fulfilled, function (state, action) { state.familySurvey = action.payload; state.registerPending = false; state.registerErrorMessage = ''; }); // ✅ Handle Family delete builder.addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.deleteFamilyAction.pending, function (state) { state.registerPending = true; state.registerErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.deleteFamilyAction.rejected, function (state, action) { state.registerPending = false; state.registerErrorMessage = action.error.message || 'Failed to delete family.'; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.deleteFamilyAction.fulfilled, function (state, action) { state.familySurvey = action.payload; state.registerPending = false; state.registerErrorMessage = ''; }); } }); var _familiSurveySlice$ac = familiSurveySlice.actions, setFamily = _familiSurveySlice$ac.setFamily, setsetFamilyPending = _familiSurveySlice$ac.setsetFamilyPending, setsetFamilyErrorMessage = _familiSurveySlice$ac.setsetFamilyErrorMessage; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (familiSurveySlice.reducer); /***/ }), /***/ "./src/services/family_survey/core/services.ts": /*!*****************************************************!*\ !*** ./src/services/family_survey/core/services.ts ***! \*****************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ communeService: () => (/* binding */ communeService), /* harmony export */ createFamilyService: () => (/* binding */ createFamilyService), /* harmony export */ deleteFamilyService: () => (/* binding */ deleteFamilyService), /* harmony export */ districtService: () => (/* binding */ districtService), /* harmony export */ familyDetailService: () => (/* binding */ familyDetailService), /* harmony export */ familyService: () => (/* binding */ familyService), /* harmony export */ provinceService: () => (/* binding */ provinceService), /* harmony export */ transportationService: () => (/* binding */ transportationService), /* harmony export */ updateFamilyService: () => (/* binding */ updateFamilyService), /* harmony export */ villageService: () => (/* binding */ villageService) /* harmony export */ }); /* harmony import */ var _shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../shared/configs/constants */ "./src/shared/configs/constants.ts"); /* harmony import */ var _shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../shared/core/base/services */ "./src/shared/core/base/services.ts"); function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); } function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); } function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); } function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; } var provinceService = /*#__PURE__*/function () { var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() { return _regenerator().w(function (_context) { while (1) switch (_context.n) { case 0: _context.n = 1; return (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.getWithConfig)('https://phumiapi.joonaakhub.com/provinces'); case 1: return _context.a(2, _context.v); } }, _callee); })); return function provinceService() { return _ref.apply(this, arguments); }; }(); var districtService = /*#__PURE__*/function () { var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(provinceId) { return _regenerator().w(function (_context2) { while (1) switch (_context2.n) { case 0: _context2.n = 1; return (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.getWithConfig)("https://phumiapi.joonaakhub.com/districts/".concat(provinceId)); case 1: return _context2.a(2, _context2.v); } }, _callee2); })); return function districtService(_x) { return _ref2.apply(this, arguments); }; }(); var communeService = /*#__PURE__*/function () { var _ref3 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(districtId) { return _regenerator().w(function (_context3) { while (1) switch (_context3.n) { case 0: _context3.n = 1; return (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.getWithConfig)("https://phumiapi.joonaakhub.com/communes/".concat(districtId)); case 1: return _context3.a(2, _context3.v); } }, _callee3); })); return function communeService(_x2) { return _ref3.apply(this, arguments); }; }(); var villageService = /*#__PURE__*/function () { var _ref4 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee4(communeId) { return _regenerator().w(function (_context4) { while (1) switch (_context4.n) { case 0: _context4.n = 1; return (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.getWithConfig)("https://phumiapi.joonaakhub.com/villages/".concat(communeId)); case 1: return _context4.a(2, _context4.v); } }, _callee4); })); return function villageService(_x3) { return _ref4.apply(this, arguments); }; }(); var transportationService = /*#__PURE__*/function () { var _ref5 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee5() { return _regenerator().w(function (_context5) { while (1) switch (_context5.n) { case 0: _context5.n = 1; return (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.getWithConfig)(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.TRANSPORTATIONS); case 1: return _context5.a(2, _context5.v); } }, _callee5); })); return function transportationService() { return _ref5.apply(this, arguments); }; }(); var familyService = /*#__PURE__*/function () { var _ref6 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee6(search, page, pageSize, gender, total_member, age, village, commune, district, province) { return _regenerator().w(function (_context6) { while (1) switch (_context6.n) { case 0: _context6.n = 1; return (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.getWithConfig)(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.FAMILIES, { search: search, page: page, pageSize: pageSize, gender: gender, total_member: total_member, age: age, village: village, commune: commune, district: district, province: province }); case 1: return _context6.a(2, _context6.v); } }, _callee6); })); return function familyService(_x4, _x5, _x6, _x7, _x8, _x9, _x0, _x1, _x10, _x11) { return _ref6.apply(this, arguments); }; }(); var familyDetailService = /*#__PURE__*/function () { var _ref7 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee7(id) { return _regenerator().w(function (_context7) { while (1) switch (_context7.n) { case 0: _context7.n = 1; return (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.getWithConfig)("".concat(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.FAMILIES).concat(id)); case 1: return _context7.a(2, _context7.v); } }, _callee7); })); return function familyDetailService(_x12) { return _ref7.apply(this, arguments); }; }(); var createFamilyService = /*#__PURE__*/function () { var _ref8 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee8(data) { return _regenerator().w(function (_context8) { while (1) switch (_context8.n) { case 0: return _context8.a(2, (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.postWithConfig)("".concat(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.FAMILIES), data)); } }, _callee8); })); return function createFamilyService(_x13) { return _ref8.apply(this, arguments); }; }(); var updateFamilyService = /*#__PURE__*/function () { var _ref9 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee9(id, data) { return _regenerator().w(function (_context9) { while (1) switch (_context9.n) { case 0: return _context9.a(2, (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.putWithConfig)("".concat(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.FAMILIES).concat(id), data)); } }, _callee9); })); return function updateFamilyService(_x14, _x15) { return _ref9.apply(this, arguments); }; }(); var deleteFamilyService = /*#__PURE__*/function () { var _ref0 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee0(id) { return _regenerator().w(function (_context0) { while (1) switch (_context0.n) { case 0: _context0.n = 1; return (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.removeWithConfig)("".concat(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.FAMILIES).concat(id)); case 1: return _context0.a(2, _context0.v); } }, _callee0); })); return function deleteFamilyService(_x16) { return _ref0.apply(this, arguments); }; }(); /***/ }), /***/ "./src/services/food/core/actions.ts": /*!*******************************************!*\ !*** ./src/services/food/core/actions.ts ***! \*******************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ createFoodAction: () => (/* binding */ createFoodAction), /* harmony export */ deleteFoodAction: () => (/* binding */ deleteFoodAction), /* harmony export */ fetchFoods: () => (/* binding */ fetchFoods), /* harmony export */ foodDetailAction: () => (/* binding */ foodDetailAction), /* harmony export */ updateFoodAction: () => (/* binding */ updateFoodAction) /* harmony export */ }); /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @reduxjs/toolkit */ "../../../node_modules/@reduxjs/toolkit/dist/redux-toolkit.modern.mjs"); /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constants */ "./src/services/food/core/constants.ts"); /* harmony import */ var _services__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./services */ "./src/services/food/core/services.ts"); function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); } function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); } function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); } function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; } var fetchFoods = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.FOODS, _services__WEBPACK_IMPORTED_MODULE_2__.foodsService); var foodDetailAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.FOOD, _services__WEBPACK_IMPORTED_MODULE_2__.foodDetailService); var createFoodAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.FOOD_CREATE, /*#__PURE__*/function () { var _ref3 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(_ref, _ref2) { var data, rejectWithValue, _error$response, _t; return _regenerator().w(function (_context) { while (1) switch (_context.p = _context.n) { case 0: data = _ref.data; rejectWithValue = _ref2.rejectWithValue; _context.p = 1; _context.n = 2; return (0,_services__WEBPACK_IMPORTED_MODULE_2__.createFoodService)(data); case 2: return _context.a(2, _context.v); case 3: _context.p = 3; _t = _context.v; return _context.a(2, rejectWithValue(((_error$response = _t.response) === null || _error$response === void 0 || (_error$response = _error$response.data) === null || _error$response === void 0 ? void 0 : _error$response.message) || "Failed to create food")); } }, _callee, null, [[1, 3]]); })); return function (_x, _x2) { return _ref3.apply(this, arguments); }; }()); var updateFoodAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.FOOD_UPDATE, /*#__PURE__*/function () { var _ref6 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(_ref4, _ref5) { var id, data, rejectWithValue, _error$response2, _t2; return _regenerator().w(function (_context2) { while (1) switch (_context2.p = _context2.n) { case 0: id = _ref4.id, data = _ref4.data; rejectWithValue = _ref5.rejectWithValue; _context2.p = 1; _context2.n = 2; return (0,_services__WEBPACK_IMPORTED_MODULE_2__.updateFoodService)(id, data); case 2: return _context2.a(2, _context2.v); case 3: _context2.p = 3; _t2 = _context2.v; return _context2.a(2, rejectWithValue(((_error$response2 = _t2.response) === null || _error$response2 === void 0 || (_error$response2 = _error$response2.data) === null || _error$response2 === void 0 ? void 0 : _error$response2.message) || "Failed to update food")); } }, _callee2, null, [[1, 3]]); })); return function (_x3, _x4) { return _ref6.apply(this, arguments); }; }()); var deleteFoodAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.FOOD_DELETE, _services__WEBPACK_IMPORTED_MODULE_2__.deleteFoodService); /***/ }), /***/ "./src/services/food/core/constants.ts": /*!*********************************************!*\ !*** ./src/services/food/core/constants.ts ***! \*********************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ FOOD: () => (/* binding */ FOOD), /* harmony export */ FOODS: () => (/* binding */ FOODS), /* harmony export */ FOOD_CREATE: () => (/* binding */ FOOD_CREATE), /* harmony export */ FOOD_DELETE: () => (/* binding */ FOOD_DELETE), /* harmony export */ FOOD_UPDATE: () => (/* binding */ FOOD_UPDATE) /* harmony export */ }); var FOODS = 'foods/fetchAll'; var FOOD = 'foods/fetchByID'; var FOOD_CREATE = 'foods/create'; var FOOD_UPDATE = 'foods/update'; var FOOD_DELETE = 'foods/delete'; /***/ }), /***/ "./src/services/food/core/reducer.ts": /*!*******************************************!*\ !*** ./src/services/food/core/reducer.ts ***! \*******************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__), /* harmony export */ foodSlice: () => (/* binding */ foodSlice), /* harmony export */ setFood: () => (/* binding */ setFood), /* harmony export */ setRegisterErrorMessage: () => (/* binding */ setRegisterErrorMessage) /* harmony export */ }); /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @reduxjs/toolkit */ "../../../node_modules/@reduxjs/toolkit/dist/redux-toolkit.modern.mjs"); /* harmony import */ var _actions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./actions */ "./src/services/food/core/actions.ts"); /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./constants */ "./src/services/food/core/constants.ts"); /* eslint-disable no-console */ var initialState = { foods: [], food: null, foodsPending: false, foodDetailPending: false, foodCreatePending: false, foodUpdatePending: false, foodDeletePending: false, registerErrorMessage: '' }; var foodSlice = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSlice)({ name: _constants__WEBPACK_IMPORTED_MODULE_2__.FOOD, initialState: initialState, reducers: { // Sets the current food setFood: function setFood(state, action) { state.food = action.payload; }, // Updates the register error message setRegisterErrorMessage: function setRegisterErrorMessage(state, action) { state.registerErrorMessage = action.payload; } }, extraReducers: function extraReducers(builder) { builder // handle food .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.fetchFoods.pending, function (state) { state.foodsPending = true; state.registerErrorMessage = ''; }) // Handles rejected foods fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.fetchFoods.rejected, function (state, action) { state.foodsPending = false; state.registerErrorMessage = action.error.message || 'Failed to fetch foods.'; }) // Handles fulfilled foods fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.fetchFoods.fulfilled, function (state, action) { var payload = action.payload; state.foods = payload; state.foodsPending = false; state.registerErrorMessage = ''; }) // handle food detail .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.foodDetailAction.pending, function (state) { state.foodDetailPending = true; state.registerErrorMessage = ''; }) // Handles rejected foods fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.foodDetailAction.rejected, function (state, action) { state.foodDetailPending = false; state.registerErrorMessage = action.error.message || 'Failed to fetch foods.'; }) // Handles fulfilled foods fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.foodDetailAction.fulfilled, function (state, action) { var payload = action.payload; state.food = payload; state.foodDetailPending = false; state.registerErrorMessage = ''; }) // handle food create .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.createFoodAction.pending, function (state) { state.foodUpdatePending = true; state.registerErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.createFoodAction.rejected, function (state, action) { state.foodUpdatePending = false; state.registerErrorMessage = action.error.message || 'Failed to create foods.'; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.createFoodAction.fulfilled, function (state, action) { state.food = action.payload; state.foodUpdatePending = false; state.registerErrorMessage = ''; }) // handle food update .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.updateFoodAction.pending, function (state) { state.foodUpdatePending = true; state.registerErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.updateFoodAction.rejected, function (state, action) { state.foodUpdatePending = false; state.registerErrorMessage = action.error.message || 'Failed to update foods.'; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.updateFoodAction.fulfilled, function (state, action) { state.food = action.payload; state.foodUpdatePending = false; state.registerErrorMessage = ''; }) // handle food delete .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.deleteFoodAction.pending, function (state) { state.foodUpdatePending = true; state.registerErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.deleteFoodAction.rejected, function (state, action) { state.foodUpdatePending = false; state.registerErrorMessage = action.error.message || 'Failed to delete foods.'; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.deleteFoodAction.fulfilled, function (state, action) { state.food = action.payload; state.foodUpdatePending = false; state.registerErrorMessage = ''; }); } }); var _foodSlice$actions = foodSlice.actions, setRegisterErrorMessage = _foodSlice$actions.setRegisterErrorMessage, setFood = _foodSlice$actions.setFood; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (foodSlice.reducer); /***/ }), /***/ "./src/services/food/core/services.ts": /*!********************************************!*\ !*** ./src/services/food/core/services.ts ***! \********************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ createFoodService: () => (/* binding */ createFoodService), /* harmony export */ deleteFoodService: () => (/* binding */ deleteFoodService), /* harmony export */ foodDetailService: () => (/* binding */ foodDetailService), /* harmony export */ foodsService: () => (/* binding */ foodsService), /* harmony export */ updateFoodService: () => (/* binding */ updateFoodService) /* harmony export */ }); /* harmony import */ var _shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../shared/configs/constants */ "./src/shared/configs/constants.ts"); /* harmony import */ var _shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../shared/core/base/services */ "./src/shared/core/base/services.ts"); function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); } function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); } function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); } function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; } var foodsService = /*#__PURE__*/function () { var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() { return _regenerator().w(function (_context) { while (1) switch (_context.n) { case 0: _context.n = 1; return (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.getWithConfig)(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.FOOD); case 1: return _context.a(2, _context.v); } }, _callee); })); return function foodsService() { return _ref.apply(this, arguments); }; }(); var foodDetailService = /*#__PURE__*/function () { var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(id) { return _regenerator().w(function (_context2) { while (1) switch (_context2.n) { case 0: _context2.n = 1; return (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.getWithConfig)("".concat(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.FOOD).concat(id)); case 1: return _context2.a(2, _context2.v); } }, _callee2); })); return function foodDetailService(_x) { return _ref2.apply(this, arguments); }; }(); var createFoodService = /*#__PURE__*/function () { var _ref3 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(data) { return _regenerator().w(function (_context3) { while (1) switch (_context3.n) { case 0: return _context3.a(2, (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.postWithConfig)("".concat(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.FOOD), data)); } }, _callee3); })); return function createFoodService(_x2) { return _ref3.apply(this, arguments); }; }(); var updateFoodService = /*#__PURE__*/function () { var _ref4 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee4(id, data) { return _regenerator().w(function (_context4) { while (1) switch (_context4.n) { case 0: return _context4.a(2, (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.putWithConfig)("".concat(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.FOOD).concat(id), data)); } }, _callee4); })); return function updateFoodService(_x3, _x4) { return _ref4.apply(this, arguments); }; }(); var deleteFoodService = /*#__PURE__*/function () { var _ref5 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee5(id) { return _regenerator().w(function (_context5) { while (1) switch (_context5.n) { case 0: _context5.n = 1; return (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.removeWithConfig)("".concat(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.FOOD).concat(id)); case 1: return _context5.a(2, _context5.v); } }, _callee5); })); return function deleteFoodService(_x5) { return _ref5.apply(this, arguments); }; }(); /***/ }), /***/ "./src/services/interested_team/core/actions.ts": /*!******************************************************!*\ !*** ./src/services/interested_team/core/actions.ts ***! \******************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ createInterestedTeamAction: () => (/* binding */ createInterestedTeamAction), /* harmony export */ deleteInterestedTeamAction: () => (/* binding */ deleteInterestedTeamAction), /* harmony export */ fetchInterestedTeams: () => (/* binding */ fetchInterestedTeams), /* harmony export */ interestedTeamDetailAction: () => (/* binding */ interestedTeamDetailAction), /* harmony export */ updateInterestedTeamAction: () => (/* binding */ updateInterestedTeamAction) /* harmony export */ }); /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @reduxjs/toolkit */ "../../../node_modules/@reduxjs/toolkit/dist/redux-toolkit.modern.mjs"); /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constants */ "./src/services/interested_team/core/constants.ts"); /* harmony import */ var _services__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./services */ "./src/services/interested_team/core/services.ts"); function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); } function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); } function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); } function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; } var fetchInterestedTeams = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.INTERESTED_TEAMS, _services__WEBPACK_IMPORTED_MODULE_2__.interestedTeamsService); var interestedTeamDetailAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.INTERESTED_TEAM, _services__WEBPACK_IMPORTED_MODULE_2__.interestedTeamDetailService); var createInterestedTeamAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.INTERESTED_TEAM_CREATE, /*#__PURE__*/function () { var _ref3 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(_ref, _ref2) { var data, rejectWithValue, _error$response, _t; return _regenerator().w(function (_context) { while (1) switch (_context.p = _context.n) { case 0: data = _ref.data; rejectWithValue = _ref2.rejectWithValue; _context.p = 1; _context.n = 2; return (0,_services__WEBPACK_IMPORTED_MODULE_2__.createInterestedTeamService)(data); case 2: return _context.a(2, _context.v); case 3: _context.p = 3; _t = _context.v; return _context.a(2, rejectWithValue(((_error$response = _t.response) === null || _error$response === void 0 || (_error$response = _error$response.data) === null || _error$response === void 0 ? void 0 : _error$response.message) || "Failed to create interested team")); } }, _callee, null, [[1, 3]]); })); return function (_x, _x2) { return _ref3.apply(this, arguments); }; }()); var updateInterestedTeamAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.INTERESTED_TEAM_UPDATE, /*#__PURE__*/function () { var _ref6 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(_ref4, _ref5) { var id, data, rejectWithValue, _error$response2, _t2; return _regenerator().w(function (_context2) { while (1) switch (_context2.p = _context2.n) { case 0: id = _ref4.id, data = _ref4.data; rejectWithValue = _ref5.rejectWithValue; _context2.p = 1; _context2.n = 2; return (0,_services__WEBPACK_IMPORTED_MODULE_2__.updateInterestedTeamService)(id, data); case 2: return _context2.a(2, _context2.v); case 3: _context2.p = 3; _t2 = _context2.v; return _context2.a(2, rejectWithValue(((_error$response2 = _t2.response) === null || _error$response2 === void 0 || (_error$response2 = _error$response2.data) === null || _error$response2 === void 0 ? void 0 : _error$response2.message) || "Failed to update interested team")); } }, _callee2, null, [[1, 3]]); })); return function (_x3, _x4) { return _ref6.apply(this, arguments); }; }()); var deleteInterestedTeamAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.INTERESTED_TEAM_DELETE, _services__WEBPACK_IMPORTED_MODULE_2__.deleteInterestedTeamService); /***/ }), /***/ "./src/services/interested_team/core/constants.ts": /*!********************************************************!*\ !*** ./src/services/interested_team/core/constants.ts ***! \********************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ INTERESTED_TEAM: () => (/* binding */ INTERESTED_TEAM), /* harmony export */ INTERESTED_TEAMS: () => (/* binding */ INTERESTED_TEAMS), /* harmony export */ INTERESTED_TEAM_CREATE: () => (/* binding */ INTERESTED_TEAM_CREATE), /* harmony export */ INTERESTED_TEAM_DELETE: () => (/* binding */ INTERESTED_TEAM_DELETE), /* harmony export */ INTERESTED_TEAM_UPDATE: () => (/* binding */ INTERESTED_TEAM_UPDATE) /* harmony export */ }); var INTERESTED_TEAMS = 'interested-teams/fetchAll'; var INTERESTED_TEAM = 'interested-teams/fetchByID'; var INTERESTED_TEAM_CREATE = 'interested-teams/create'; var INTERESTED_TEAM_UPDATE = 'interested-teams/update'; var INTERESTED_TEAM_DELETE = 'interested-teams/delete'; /***/ }), /***/ "./src/services/interested_team/core/reducer.ts": /*!******************************************************!*\ !*** ./src/services/interested_team/core/reducer.ts ***! \******************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__), /* harmony export */ interestedTeamSlice: () => (/* binding */ interestedTeamSlice), /* harmony export */ setInterestedTeam: () => (/* binding */ setInterestedTeam), /* harmony export */ setRegisterErrorMessage: () => (/* binding */ setRegisterErrorMessage) /* harmony export */ }); /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @reduxjs/toolkit */ "../../../node_modules/@reduxjs/toolkit/dist/redux-toolkit.modern.mjs"); /* harmony import */ var _actions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./actions */ "./src/services/interested_team/core/actions.ts"); /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./constants */ "./src/services/interested_team/core/constants.ts"); /* eslint-disable no-console */ var initialState = { interestedTeams: [], interestedTeam: null, interestedTeamsPending: false, interestedTeamDetailPending: false, interestedTeamCreatePending: false, interestedTeamUpdatePending: false, interestedTeamDeletePending: false, registerErrorMessage: '' }; var interestedTeamSlice = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSlice)({ name: _constants__WEBPACK_IMPORTED_MODULE_2__.INTERESTED_TEAM, initialState: initialState, reducers: { // Sets the current interestedTeam setInterestedTeam: function setInterestedTeam(state, action) { state.interestedTeam = action.payload; }, // Updates the register error message setRegisterErrorMessage: function setRegisterErrorMessage(state, action) { state.registerErrorMessage = action.payload; } }, extraReducers: function extraReducers(builder) { builder // handle interested team .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.fetchInterestedTeams.pending, function (state) { state.interestedTeamsPending = true; state.registerErrorMessage = ''; }) // Handles rejected interested teams fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.fetchInterestedTeams.rejected, function (state, action) { state.interestedTeamsPending = false; state.registerErrorMessage = action.error.message || 'Failed to fetch interested teams.'; }) // Handles fulfilled interested teams fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.fetchInterestedTeams.fulfilled, function (state, action) { var payload = action.payload; state.interestedTeams = payload; state.interestedTeamsPending = false; state.registerErrorMessage = ''; }) // handle interested team detail .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.interestedTeamDetailAction.pending, function (state) { state.interestedTeamDetailPending = true; state.registerErrorMessage = ''; }) // Handles rejected interested teams fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.interestedTeamDetailAction.rejected, function (state, action) { state.interestedTeamDetailPending = false; state.registerErrorMessage = action.error.message || 'Failed to fetch interested teams.'; }) // Handles fulfilled interested teams fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.interestedTeamDetailAction.fulfilled, function (state, action) { var payload = action.payload; state.interestedTeam = payload; state.interestedTeamDetailPending = false; state.registerErrorMessage = ''; }) // handle interestedTeam create .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.createInterestedTeamAction.pending, function (state) { state.interestedTeamUpdatePending = true; state.registerErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.createInterestedTeamAction.rejected, function (state, action) { state.interestedTeamUpdatePending = false; state.registerErrorMessage = action.error.message || 'Failed to create interested teams.'; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.createInterestedTeamAction.fulfilled, function (state, action) { state.interestedTeam = action.payload; state.interestedTeamUpdatePending = false; state.registerErrorMessage = ''; }) // handle interestedTeam update .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.updateInterestedTeamAction.pending, function (state) { state.interestedTeamUpdatePending = true; state.registerErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.updateInterestedTeamAction.rejected, function (state, action) { state.interestedTeamUpdatePending = false; state.registerErrorMessage = action.error.message || 'Failed to update interested teams.'; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.updateInterestedTeamAction.fulfilled, function (state, action) { state.interestedTeam = action.payload; state.interestedTeamUpdatePending = false; state.registerErrorMessage = ''; }) // handle interestedTeam delete .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.deleteInterestedTeamAction.pending, function (state) { state.interestedTeamUpdatePending = true; state.registerErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.deleteInterestedTeamAction.rejected, function (state, action) { state.interestedTeamUpdatePending = false; state.registerErrorMessage = action.error.message || 'Failed to delete interested teams.'; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.deleteInterestedTeamAction.fulfilled, function (state, action) { state.interestedTeam = action.payload; state.interestedTeamUpdatePending = false; state.registerErrorMessage = ''; }); } }); var _interestedTeamSlice$ = interestedTeamSlice.actions, setRegisterErrorMessage = _interestedTeamSlice$.setRegisterErrorMessage, setInterestedTeam = _interestedTeamSlice$.setInterestedTeam; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (interestedTeamSlice.reducer); /***/ }), /***/ "./src/services/interested_team/core/services.ts": /*!*******************************************************!*\ !*** ./src/services/interested_team/core/services.ts ***! \*******************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ createInterestedTeamService: () => (/* binding */ createInterestedTeamService), /* harmony export */ deleteInterestedTeamService: () => (/* binding */ deleteInterestedTeamService), /* harmony export */ interestedTeamDetailService: () => (/* binding */ interestedTeamDetailService), /* harmony export */ interestedTeamsService: () => (/* binding */ interestedTeamsService), /* harmony export */ updateInterestedTeamService: () => (/* binding */ updateInterestedTeamService) /* harmony export */ }); /* harmony import */ var _shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../shared/configs/constants */ "./src/shared/configs/constants.ts"); /* harmony import */ var _shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../shared/core/base/services */ "./src/shared/core/base/services.ts"); function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); } function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); } function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); } function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; } var interestedTeamsService = /*#__PURE__*/function () { var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() { return _regenerator().w(function (_context) { while (1) switch (_context.n) { case 0: _context.n = 1; return (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.getWithConfig)(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.TEAM); case 1: return _context.a(2, _context.v); } }, _callee); })); return function interestedTeamsService() { return _ref.apply(this, arguments); }; }(); var interestedTeamDetailService = /*#__PURE__*/function () { var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(id) { return _regenerator().w(function (_context2) { while (1) switch (_context2.n) { case 0: _context2.n = 1; return (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.getWithConfig)("".concat(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.TEAM).concat(id)); case 1: return _context2.a(2, _context2.v); } }, _callee2); })); return function interestedTeamDetailService(_x) { return _ref2.apply(this, arguments); }; }(); var createInterestedTeamService = /*#__PURE__*/function () { var _ref3 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(data) { return _regenerator().w(function (_context3) { while (1) switch (_context3.n) { case 0: return _context3.a(2, (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.postWithConfig)("".concat(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.TEAM), data)); } }, _callee3); })); return function createInterestedTeamService(_x2) { return _ref3.apply(this, arguments); }; }(); var updateInterestedTeamService = /*#__PURE__*/function () { var _ref4 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee4(id, data) { return _regenerator().w(function (_context4) { while (1) switch (_context4.n) { case 0: return _context4.a(2, (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.putWithConfig)("".concat(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.TEAM).concat(id), data)); } }, _callee4); })); return function updateInterestedTeamService(_x3, _x4) { return _ref4.apply(this, arguments); }; }(); var deleteInterestedTeamService = /*#__PURE__*/function () { var _ref5 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee5(id) { return _regenerator().w(function (_context5) { while (1) switch (_context5.n) { case 0: _context5.n = 1; return (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.removeWithConfig)("".concat(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.TEAM).concat(id)); case 1: return _context5.a(2, _context5.v); } }, _callee5); })); return function deleteInterestedTeamService(_x5) { return _ref5.apply(this, arguments); }; }(); /***/ }), /***/ "./src/services/language/core/actions.ts": /*!***********************************************!*\ !*** ./src/services/language/core/actions.ts ***! \***********************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ createLanguageAction: () => (/* binding */ createLanguageAction), /* harmony export */ deleteLanguageAction: () => (/* binding */ deleteLanguageAction), /* harmony export */ fetchLanguages: () => (/* binding */ fetchLanguages), /* harmony export */ languageDetailAction: () => (/* binding */ languageDetailAction), /* harmony export */ updateLanguageAction: () => (/* binding */ updateLanguageAction) /* harmony export */ }); /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @reduxjs/toolkit */ "../../../node_modules/@reduxjs/toolkit/dist/redux-toolkit.modern.mjs"); /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constants */ "./src/services/language/core/constants.ts"); /* harmony import */ var _services__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./services */ "./src/services/language/core/services.ts"); function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); } function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); } function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); } function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; } var fetchLanguages = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.LANGUAGES, _services__WEBPACK_IMPORTED_MODULE_2__.languagesService); var languageDetailAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.LANGUAGE, _services__WEBPACK_IMPORTED_MODULE_2__.languageDetailService); var createLanguageAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.LANGUAGE_CREATE, /*#__PURE__*/function () { var _ref3 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(_ref, _ref2) { var data, rejectWithValue, _error$response, _t; return _regenerator().w(function (_context) { while (1) switch (_context.p = _context.n) { case 0: data = _ref.data; rejectWithValue = _ref2.rejectWithValue; _context.p = 1; _context.n = 2; return (0,_services__WEBPACK_IMPORTED_MODULE_2__.createLanguageService)(data); case 2: return _context.a(2, _context.v); case 3: _context.p = 3; _t = _context.v; return _context.a(2, rejectWithValue(((_error$response = _t.response) === null || _error$response === void 0 || (_error$response = _error$response.data) === null || _error$response === void 0 ? void 0 : _error$response.message) || "Failed to create language")); } }, _callee, null, [[1, 3]]); })); return function (_x, _x2) { return _ref3.apply(this, arguments); }; }()); var updateLanguageAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.LANGUAGE_UPDATE, /*#__PURE__*/function () { var _ref6 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(_ref4, _ref5) { var id, data, rejectWithValue, _error$response2, _t2; return _regenerator().w(function (_context2) { while (1) switch (_context2.p = _context2.n) { case 0: id = _ref4.id, data = _ref4.data; rejectWithValue = _ref5.rejectWithValue; _context2.p = 1; _context2.n = 2; return (0,_services__WEBPACK_IMPORTED_MODULE_2__.updateLanguageService)(id, data); case 2: return _context2.a(2, _context2.v); case 3: _context2.p = 3; _t2 = _context2.v; return _context2.a(2, rejectWithValue(((_error$response2 = _t2.response) === null || _error$response2 === void 0 || (_error$response2 = _error$response2.data) === null || _error$response2 === void 0 ? void 0 : _error$response2.message) || "Failed to update language")); } }, _callee2, null, [[1, 3]]); })); return function (_x3, _x4) { return _ref6.apply(this, arguments); }; }()); var deleteLanguageAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.LANGUAGE_DELETE, _services__WEBPACK_IMPORTED_MODULE_2__.deleteLanguageService); /***/ }), /***/ "./src/services/language/core/constants.ts": /*!*************************************************!*\ !*** ./src/services/language/core/constants.ts ***! \*************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ LANGUAGE: () => (/* binding */ LANGUAGE), /* harmony export */ LANGUAGES: () => (/* binding */ LANGUAGES), /* harmony export */ LANGUAGE_CREATE: () => (/* binding */ LANGUAGE_CREATE), /* harmony export */ LANGUAGE_DELETE: () => (/* binding */ LANGUAGE_DELETE), /* harmony export */ LANGUAGE_UPDATE: () => (/* binding */ LANGUAGE_UPDATE) /* harmony export */ }); var LANGUAGES = 'languages/fetchAll'; var LANGUAGE = 'languages/fetchByID'; var LANGUAGE_CREATE = 'languages/create'; var LANGUAGE_UPDATE = 'languages/update'; var LANGUAGE_DELETE = 'languages/delete'; /***/ }), /***/ "./src/services/language/core/reducer.ts": /*!***********************************************!*\ !*** ./src/services/language/core/reducer.ts ***! \***********************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__), /* harmony export */ languageSlice: () => (/* binding */ languageSlice), /* harmony export */ setLanguage: () => (/* binding */ setLanguage), /* harmony export */ setRegisterErrorMessage: () => (/* binding */ setRegisterErrorMessage) /* harmony export */ }); /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @reduxjs/toolkit */ "../../../node_modules/@reduxjs/toolkit/dist/redux-toolkit.modern.mjs"); /* harmony import */ var _actions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./actions */ "./src/services/language/core/actions.ts"); /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./constants */ "./src/services/language/core/constants.ts"); /* eslint-disable no-console */ var initialState = { languages: [], language: null, languagesPending: false, languageDetailPending: false, languageCreatePending: false, languageUpdatePending: false, languageDeletePending: false, registerErrorMessage: '' }; var languageSlice = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSlice)({ name: _constants__WEBPACK_IMPORTED_MODULE_2__.LANGUAGE, initialState: initialState, reducers: { // Sets the current language setLanguage: function setLanguage(state, action) { state.language = action.payload; }, // Updates the register error message setRegisterErrorMessage: function setRegisterErrorMessage(state, action) { state.registerErrorMessage = action.payload; } }, extraReducers: function extraReducers(builder) { builder // handle language .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.fetchLanguages.pending, function (state) { state.languagesPending = true; state.registerErrorMessage = ''; }) // Handles rejected languages fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.fetchLanguages.rejected, function (state, action) { state.languagesPending = false; state.registerErrorMessage = action.error.message || 'Failed to fetch languages.'; }) // Handles fulfilled languages fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.fetchLanguages.fulfilled, function (state, action) { var payload = action.payload; state.languages = payload; state.languagesPending = false; state.registerErrorMessage = ''; }) // handle language detail .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.languageDetailAction.pending, function (state) { state.languageDetailPending = true; state.registerErrorMessage = ''; }) // Handles rejected languages fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.languageDetailAction.rejected, function (state, action) { state.languageDetailPending = false; state.registerErrorMessage = action.error.message || 'Failed to fetch languages.'; }) // Handles fulfilled languages fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.languageDetailAction.fulfilled, function (state, action) { var payload = action.payload; state.language = payload; state.languageDetailPending = false; state.registerErrorMessage = ''; }) // handle language create .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.createLanguageAction.pending, function (state) { state.languageUpdatePending = true; state.registerErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.createLanguageAction.rejected, function (state, action) { state.languageUpdatePending = false; state.registerErrorMessage = action.error.message || 'Failed to create languages.'; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.createLanguageAction.fulfilled, function (state, action) { state.language = action.payload; state.languageUpdatePending = false; state.registerErrorMessage = ''; }) // handle language update .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.updateLanguageAction.pending, function (state) { state.languageUpdatePending = true; state.registerErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.updateLanguageAction.rejected, function (state, action) { state.languageUpdatePending = false; state.registerErrorMessage = action.error.message || 'Failed to update languages.'; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.updateLanguageAction.fulfilled, function (state, action) { state.language = action.payload; state.languageUpdatePending = false; state.registerErrorMessage = ''; }) // handle language delete .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.deleteLanguageAction.pending, function (state) { state.languageUpdatePending = true; state.registerErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.deleteLanguageAction.rejected, function (state, action) { state.languageUpdatePending = false; state.registerErrorMessage = action.error.message || 'Failed to delete languages.'; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.deleteLanguageAction.fulfilled, function (state, action) { state.language = action.payload; state.languageUpdatePending = false; state.registerErrorMessage = ''; }); } }); var _languageSlice$action = languageSlice.actions, setRegisterErrorMessage = _languageSlice$action.setRegisterErrorMessage, setLanguage = _languageSlice$action.setLanguage; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (languageSlice.reducer); /***/ }), /***/ "./src/services/language/core/services.ts": /*!************************************************!*\ !*** ./src/services/language/core/services.ts ***! \************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ createLanguageService: () => (/* binding */ createLanguageService), /* harmony export */ deleteLanguageService: () => (/* binding */ deleteLanguageService), /* harmony export */ languageDetailService: () => (/* binding */ languageDetailService), /* harmony export */ languagesService: () => (/* binding */ languagesService), /* harmony export */ updateLanguageService: () => (/* binding */ updateLanguageService) /* harmony export */ }); /* harmony import */ var _shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../shared/configs/constants */ "./src/shared/configs/constants.ts"); /* harmony import */ var _shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../shared/core/base/services */ "./src/shared/core/base/services.ts"); function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); } function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); } function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); } function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; } var languagesService = /*#__PURE__*/function () { var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() { return _regenerator().w(function (_context) { while (1) switch (_context.n) { case 0: _context.n = 1; return (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.getWithConfig)(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.LANGUAGE); case 1: return _context.a(2, _context.v); } }, _callee); })); return function languagesService() { return _ref.apply(this, arguments); }; }(); var languageDetailService = /*#__PURE__*/function () { var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(id) { return _regenerator().w(function (_context2) { while (1) switch (_context2.n) { case 0: _context2.n = 1; return (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.getWithConfig)("".concat(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.LANGUAGE).concat(id)); case 1: return _context2.a(2, _context2.v); } }, _callee2); })); return function languageDetailService(_x) { return _ref2.apply(this, arguments); }; }(); var createLanguageService = /*#__PURE__*/function () { var _ref3 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(data) { return _regenerator().w(function (_context3) { while (1) switch (_context3.n) { case 0: return _context3.a(2, (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.postWithConfig)("".concat(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.LANGUAGE), data)); } }, _callee3); })); return function createLanguageService(_x2) { return _ref3.apply(this, arguments); }; }(); var updateLanguageService = /*#__PURE__*/function () { var _ref4 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee4(id, data) { return _regenerator().w(function (_context4) { while (1) switch (_context4.n) { case 0: return _context4.a(2, (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.putWithConfig)("".concat(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.LANGUAGE).concat(id), data)); } }, _callee4); })); return function updateLanguageService(_x3, _x4) { return _ref4.apply(this, arguments); }; }(); var deleteLanguageService = /*#__PURE__*/function () { var _ref5 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee5(id) { return _regenerator().w(function (_context5) { while (1) switch (_context5.n) { case 0: _context5.n = 1; return (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.removeWithConfig)("".concat(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.LANGUAGE).concat(id)); case 1: return _context5.a(2, _context5.v); } }, _callee5); })); return function deleteLanguageService(_x5) { return _ref5.apply(this, arguments); }; }(); /***/ }), /***/ "./src/services/occupation/core/actions.ts": /*!*************************************************!*\ !*** ./src/services/occupation/core/actions.ts ***! \*************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ createOccupationAction: () => (/* binding */ createOccupationAction), /* harmony export */ deleteOccupationAction: () => (/* binding */ deleteOccupationAction), /* harmony export */ fetchOccupations: () => (/* binding */ fetchOccupations), /* harmony export */ occupationDetailAction: () => (/* binding */ occupationDetailAction), /* harmony export */ updateOccupationAction: () => (/* binding */ updateOccupationAction) /* harmony export */ }); /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @reduxjs/toolkit */ "../../../node_modules/@reduxjs/toolkit/dist/redux-toolkit.modern.mjs"); /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constants */ "./src/services/occupation/core/constants.ts"); /* harmony import */ var _services__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./services */ "./src/services/occupation/core/services.ts"); function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); } function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); } function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); } function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; } var fetchOccupations = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.OCCUPATIONS, _services__WEBPACK_IMPORTED_MODULE_2__.occupationsService); var occupationDetailAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.OCCUPATION, _services__WEBPACK_IMPORTED_MODULE_2__.occupationDetailService); var createOccupationAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.OCCUPATION_CREATE, /*#__PURE__*/function () { var _ref3 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(_ref, _ref2) { var data, rejectWithValue, _error$response, _t; return _regenerator().w(function (_context) { while (1) switch (_context.p = _context.n) { case 0: data = _ref.data; rejectWithValue = _ref2.rejectWithValue; _context.p = 1; _context.n = 2; return (0,_services__WEBPACK_IMPORTED_MODULE_2__.createOccupationService)(data); case 2: return _context.a(2, _context.v); case 3: _context.p = 3; _t = _context.v; return _context.a(2, rejectWithValue(((_error$response = _t.response) === null || _error$response === void 0 || (_error$response = _error$response.data) === null || _error$response === void 0 ? void 0 : _error$response.message) || "Failed to create occupation")); } }, _callee, null, [[1, 3]]); })); return function (_x, _x2) { return _ref3.apply(this, arguments); }; }()); var updateOccupationAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.OCCUPATION_UPDATE, /*#__PURE__*/function () { var _ref6 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(_ref4, _ref5) { var id, data, rejectWithValue, _error$response2, _t2; return _regenerator().w(function (_context2) { while (1) switch (_context2.p = _context2.n) { case 0: id = _ref4.id, data = _ref4.data; rejectWithValue = _ref5.rejectWithValue; _context2.p = 1; _context2.n = 2; return (0,_services__WEBPACK_IMPORTED_MODULE_2__.updateOccupationService)(id, data); case 2: return _context2.a(2, _context2.v); case 3: _context2.p = 3; _t2 = _context2.v; return _context2.a(2, rejectWithValue(((_error$response2 = _t2.response) === null || _error$response2 === void 0 || (_error$response2 = _error$response2.data) === null || _error$response2 === void 0 ? void 0 : _error$response2.message) || "Failed to update occupation")); } }, _callee2, null, [[1, 3]]); })); return function (_x3, _x4) { return _ref6.apply(this, arguments); }; }()); var deleteOccupationAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.OCCUPATION_DELETE, _services__WEBPACK_IMPORTED_MODULE_2__.deleteOccupationService); /***/ }), /***/ "./src/services/occupation/core/constants.ts": /*!***************************************************!*\ !*** ./src/services/occupation/core/constants.ts ***! \***************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ OCCUPATION: () => (/* binding */ OCCUPATION), /* harmony export */ OCCUPATIONS: () => (/* binding */ OCCUPATIONS), /* harmony export */ OCCUPATION_CREATE: () => (/* binding */ OCCUPATION_CREATE), /* harmony export */ OCCUPATION_DELETE: () => (/* binding */ OCCUPATION_DELETE), /* harmony export */ OCCUPATION_UPDATE: () => (/* binding */ OCCUPATION_UPDATE) /* harmony export */ }); var OCCUPATIONS = 'occupations/fetchAll'; var OCCUPATION = 'occupations/fetchByID'; var OCCUPATION_CREATE = 'occupations/create'; var OCCUPATION_UPDATE = 'occupations/update'; var OCCUPATION_DELETE = 'occupations/delete'; /***/ }), /***/ "./src/services/occupation/core/reducer.ts": /*!*************************************************!*\ !*** ./src/services/occupation/core/reducer.ts ***! \*************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__), /* harmony export */ occupationSlice: () => (/* binding */ occupationSlice), /* harmony export */ setOccupation: () => (/* binding */ setOccupation), /* harmony export */ setRegisterErrorMessage: () => (/* binding */ setRegisterErrorMessage) /* harmony export */ }); /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @reduxjs/toolkit */ "../../../node_modules/@reduxjs/toolkit/dist/redux-toolkit.modern.mjs"); /* harmony import */ var _actions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./actions */ "./src/services/occupation/core/actions.ts"); /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./constants */ "./src/services/occupation/core/constants.ts"); /* eslint-disable no-console */ var initialState = { occupations: [], occupation: null, occupationsPending: false, occupationDetailPending: false, occupationCreatePending: false, occupationUpdatePending: false, occupationDeletePending: false, registerErrorMessage: '' }; var occupationSlice = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSlice)({ name: _constants__WEBPACK_IMPORTED_MODULE_2__.OCCUPATION, initialState: initialState, reducers: { // Sets the current occupation setOccupation: function setOccupation(state, action) { state.occupation = action.payload; }, // Updates the register error message setRegisterErrorMessage: function setRegisterErrorMessage(state, action) { state.registerErrorMessage = action.payload; } }, extraReducers: function extraReducers(builder) { builder // handle occupation .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.fetchOccupations.pending, function (state) { state.occupationsPending = true; state.registerErrorMessage = ''; }) // Handles rejected occupations fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.fetchOccupations.rejected, function (state, action) { state.occupationsPending = false; state.registerErrorMessage = action.error.message || 'Failed to fetch occupations.'; }) // Handles fulfilled occupations fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.fetchOccupations.fulfilled, function (state, action) { var payload = action.payload; state.occupations = payload; state.occupationsPending = false; state.registerErrorMessage = ''; }) // handle occupation detail .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.occupationDetailAction.pending, function (state) { state.occupationDetailPending = true; state.registerErrorMessage = ''; }) // Handles rejected occupations fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.occupationDetailAction.rejected, function (state, action) { state.occupationDetailPending = false; state.registerErrorMessage = action.error.message || 'Failed to fetch occupations.'; }) // Handles fulfilled occupations fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.occupationDetailAction.fulfilled, function (state, action) { var payload = action.payload; state.occupation = payload; state.occupationDetailPending = false; state.registerErrorMessage = ''; }) // handle occupation create .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.createOccupationAction.pending, function (state) { state.occupationUpdatePending = true; state.registerErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.createOccupationAction.rejected, function (state, action) { state.occupationUpdatePending = false; state.registerErrorMessage = action.error.message || 'Failed to create occupations.'; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.createOccupationAction.fulfilled, function (state, action) { state.occupation = action.payload; state.occupationUpdatePending = false; state.registerErrorMessage = ''; }) // handle occupation update .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.updateOccupationAction.pending, function (state) { state.occupationUpdatePending = true; state.registerErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.updateOccupationAction.rejected, function (state, action) { state.occupationUpdatePending = false; state.registerErrorMessage = action.error.message || 'Failed to update occupations.'; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.updateOccupationAction.fulfilled, function (state, action) { state.occupation = action.payload; state.occupationUpdatePending = false; state.registerErrorMessage = ''; }) // handle occupation delete .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.deleteOccupationAction.pending, function (state) { state.occupationUpdatePending = true; state.registerErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.deleteOccupationAction.rejected, function (state, action) { state.occupationUpdatePending = false; state.registerErrorMessage = action.error.message || 'Failed to delete occupations.'; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.deleteOccupationAction.fulfilled, function (state, action) { state.occupation = action.payload; state.occupationUpdatePending = false; state.registerErrorMessage = ''; }); } }); var _occupationSlice$acti = occupationSlice.actions, setRegisterErrorMessage = _occupationSlice$acti.setRegisterErrorMessage, setOccupation = _occupationSlice$acti.setOccupation; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (occupationSlice.reducer); /***/ }), /***/ "./src/services/occupation/core/services.ts": /*!**************************************************!*\ !*** ./src/services/occupation/core/services.ts ***! \**************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ createOccupationService: () => (/* binding */ createOccupationService), /* harmony export */ deleteOccupationService: () => (/* binding */ deleteOccupationService), /* harmony export */ occupationDetailService: () => (/* binding */ occupationDetailService), /* harmony export */ occupationsService: () => (/* binding */ occupationsService), /* harmony export */ updateOccupationService: () => (/* binding */ updateOccupationService) /* harmony export */ }); /* harmony import */ var _shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../shared/configs/constants */ "./src/shared/configs/constants.ts"); /* harmony import */ var _shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../shared/core/base/services */ "./src/shared/core/base/services.ts"); function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); } function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); } function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); } function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; } var occupationsService = /*#__PURE__*/function () { var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() { return _regenerator().w(function (_context) { while (1) switch (_context.n) { case 0: _context.n = 1; return (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.getWithConfig)(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.OCCUPATION); case 1: return _context.a(2, _context.v); } }, _callee); })); return function occupationsService() { return _ref.apply(this, arguments); }; }(); var occupationDetailService = /*#__PURE__*/function () { var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(id) { return _regenerator().w(function (_context2) { while (1) switch (_context2.n) { case 0: _context2.n = 1; return (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.getWithConfig)("".concat(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.OCCUPATION).concat(id)); case 1: return _context2.a(2, _context2.v); } }, _callee2); })); return function occupationDetailService(_x) { return _ref2.apply(this, arguments); }; }(); var createOccupationService = /*#__PURE__*/function () { var _ref3 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(data) { return _regenerator().w(function (_context3) { while (1) switch (_context3.n) { case 0: return _context3.a(2, (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.postWithConfig)("".concat(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.OCCUPATION), data)); } }, _callee3); })); return function createOccupationService(_x2) { return _ref3.apply(this, arguments); }; }(); var updateOccupationService = /*#__PURE__*/function () { var _ref4 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee4(id, data) { return _regenerator().w(function (_context4) { while (1) switch (_context4.n) { case 0: return _context4.a(2, (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.putWithConfig)("".concat(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.OCCUPATION).concat(id), data)); } }, _callee4); })); return function updateOccupationService(_x3, _x4) { return _ref4.apply(this, arguments); }; }(); var deleteOccupationService = /*#__PURE__*/function () { var _ref5 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee5(id) { return _regenerator().w(function (_context5) { while (1) switch (_context5.n) { case 0: _context5.n = 1; return (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.removeWithConfig)("".concat(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.OCCUPATION).concat(id)); case 1: return _context5.a(2, _context5.v); } }, _callee5); })); return function deleteOccupationService(_x5) { return _ref5.apply(this, arguments); }; }(); /***/ }), /***/ "./src/services/offer_program/core/actions.ts": /*!****************************************************!*\ !*** ./src/services/offer_program/core/actions.ts ***! \****************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ createOfferProgramAction: () => (/* binding */ createOfferProgramAction), /* harmony export */ deleteOfferProgramAction: () => (/* binding */ deleteOfferProgramAction), /* harmony export */ fetchOfferPrograms: () => (/* binding */ fetchOfferPrograms), /* harmony export */ offerProgramDetailAction: () => (/* binding */ offerProgramDetailAction), /* harmony export */ updateOfferProgramAction: () => (/* binding */ updateOfferProgramAction) /* harmony export */ }); /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @reduxjs/toolkit */ "../../../node_modules/@reduxjs/toolkit/dist/redux-toolkit.modern.mjs"); /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constants */ "./src/services/offer_program/core/constants.ts"); /* harmony import */ var _services__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./services */ "./src/services/offer_program/core/services.ts"); function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); } function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); } function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); } function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; } var fetchOfferPrograms = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.OFFER_PROGRAMS, _services__WEBPACK_IMPORTED_MODULE_2__.offerProgramsService); var offerProgramDetailAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.OFFER_PROGRAM, _services__WEBPACK_IMPORTED_MODULE_2__.offerProgramDetailService); var createOfferProgramAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.OFFER_PROGRAM_CREATE, /*#__PURE__*/function () { var _ref3 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(_ref, _ref2) { var data, rejectWithValue, _error$response, _t; return _regenerator().w(function (_context) { while (1) switch (_context.p = _context.n) { case 0: data = _ref.data; rejectWithValue = _ref2.rejectWithValue; _context.p = 1; _context.n = 2; return (0,_services__WEBPACK_IMPORTED_MODULE_2__.createOfferProgramService)(data); case 2: return _context.a(2, _context.v); case 3: _context.p = 3; _t = _context.v; return _context.a(2, rejectWithValue(((_error$response = _t.response) === null || _error$response === void 0 || (_error$response = _error$response.data) === null || _error$response === void 0 ? void 0 : _error$response.message) || "Failed to create offer program")); } }, _callee, null, [[1, 3]]); })); return function (_x, _x2) { return _ref3.apply(this, arguments); }; }()); var updateOfferProgramAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.OFFER_PROGRAM_UPDATE, /*#__PURE__*/function () { var _ref6 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(_ref4, _ref5) { var id, data, rejectWithValue, _error$response2, _t2; return _regenerator().w(function (_context2) { while (1) switch (_context2.p = _context2.n) { case 0: id = _ref4.id, data = _ref4.data; rejectWithValue = _ref5.rejectWithValue; _context2.p = 1; _context2.n = 2; return (0,_services__WEBPACK_IMPORTED_MODULE_2__.updateOfferProgramService)(id, data); case 2: return _context2.a(2, _context2.v); case 3: _context2.p = 3; _t2 = _context2.v; return _context2.a(2, rejectWithValue(((_error$response2 = _t2.response) === null || _error$response2 === void 0 || (_error$response2 = _error$response2.data) === null || _error$response2 === void 0 ? void 0 : _error$response2.message) || "Failed to update offer program")); } }, _callee2, null, [[1, 3]]); })); return function (_x3, _x4) { return _ref6.apply(this, arguments); }; }()); var deleteOfferProgramAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.OFFER_PROGRAM_DELETE, _services__WEBPACK_IMPORTED_MODULE_2__.deleteOfferProgramService); /***/ }), /***/ "./src/services/offer_program/core/constants.ts": /*!******************************************************!*\ !*** ./src/services/offer_program/core/constants.ts ***! \******************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ OFFER_PROGRAM: () => (/* binding */ OFFER_PROGRAM), /* harmony export */ OFFER_PROGRAMS: () => (/* binding */ OFFER_PROGRAMS), /* harmony export */ OFFER_PROGRAM_CREATE: () => (/* binding */ OFFER_PROGRAM_CREATE), /* harmony export */ OFFER_PROGRAM_DELETE: () => (/* binding */ OFFER_PROGRAM_DELETE), /* harmony export */ OFFER_PROGRAM_UPDATE: () => (/* binding */ OFFER_PROGRAM_UPDATE) /* harmony export */ }); var OFFER_PROGRAMS = 'offer-programs/fetchAll'; var OFFER_PROGRAM = 'offer-programs/fetchByID'; var OFFER_PROGRAM_CREATE = 'offer-programs/create'; var OFFER_PROGRAM_UPDATE = 'offer-programs/update'; var OFFER_PROGRAM_DELETE = 'offer-programs/delete'; /***/ }), /***/ "./src/services/offer_program/core/reducer.ts": /*!****************************************************!*\ !*** ./src/services/offer_program/core/reducer.ts ***! \****************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__), /* harmony export */ offerProgramSlice: () => (/* binding */ offerProgramSlice), /* harmony export */ setOfferProgram: () => (/* binding */ setOfferProgram), /* harmony export */ setRegisterErrorMessage: () => (/* binding */ setRegisterErrorMessage) /* harmony export */ }); /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @reduxjs/toolkit */ "../../../node_modules/@reduxjs/toolkit/dist/redux-toolkit.modern.mjs"); /* harmony import */ var _actions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./actions */ "./src/services/offer_program/core/actions.ts"); /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./constants */ "./src/services/offer_program/core/constants.ts"); /* eslint-disable no-console */ var initialState = { offerPrograms: [], offerProgram: null, offerProgramsPending: false, offerProgramDetailPending: false, offerProgramCreatePending: false, offerProgramUpdatePending: false, offerProgramDeletePending: false, registerErrorMessage: '' }; var offerProgramSlice = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSlice)({ name: _constants__WEBPACK_IMPORTED_MODULE_2__.OFFER_PROGRAM, initialState: initialState, reducers: { // Sets the current offerProgram setOfferProgram: function setOfferProgram(state, action) { state.offerProgram = action.payload; }, // Updates the register error message setRegisterErrorMessage: function setRegisterErrorMessage(state, action) { state.registerErrorMessage = action.payload; } }, extraReducers: function extraReducers(builder) { builder // handle offer program .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.fetchOfferPrograms.pending, function (state) { state.offerProgramsPending = true; state.registerErrorMessage = ''; }) // Handles rejected offer programs fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.fetchOfferPrograms.rejected, function (state, action) { state.offerProgramsPending = false; state.registerErrorMessage = action.error.message || 'Failed to fetch offer programs.'; }) // Handles fulfilled offer programs fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.fetchOfferPrograms.fulfilled, function (state, action) { var payload = action.payload; state.offerPrograms = payload; state.offerProgramsPending = false; state.registerErrorMessage = ''; }) // handle offer program detail .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.offerProgramDetailAction.pending, function (state) { state.offerProgramDetailPending = true; state.registerErrorMessage = ''; }) // Handles rejected offer programs fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.offerProgramDetailAction.rejected, function (state, action) { state.offerProgramDetailPending = false; state.registerErrorMessage = action.error.message || 'Failed to fetch offer programs.'; }) // Handles fulfilled offer programs fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.offerProgramDetailAction.fulfilled, function (state, action) { var payload = action.payload; state.offerProgram = payload; state.offerProgramDetailPending = false; state.registerErrorMessage = ''; }) // handle offerProgram create .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.createOfferProgramAction.pending, function (state) { state.offerProgramUpdatePending = true; state.registerErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.createOfferProgramAction.rejected, function (state, action) { state.offerProgramUpdatePending = false; state.registerErrorMessage = action.error.message || 'Failed to create offer programs.'; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.createOfferProgramAction.fulfilled, function (state, action) { state.offerProgram = action.payload; state.offerProgramUpdatePending = false; state.registerErrorMessage = ''; }) // handle offerProgram update .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.updateOfferProgramAction.pending, function (state) { state.offerProgramUpdatePending = true; state.registerErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.updateOfferProgramAction.rejected, function (state, action) { state.offerProgramUpdatePending = false; state.registerErrorMessage = action.error.message || 'Failed to update offer programs.'; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.updateOfferProgramAction.fulfilled, function (state, action) { state.offerProgram = action.payload; state.offerProgramUpdatePending = false; state.registerErrorMessage = ''; }) // handle offerProgram delete .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.deleteOfferProgramAction.pending, function (state) { state.offerProgramUpdatePending = true; state.registerErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.deleteOfferProgramAction.rejected, function (state, action) { state.offerProgramUpdatePending = false; state.registerErrorMessage = action.error.message || 'Failed to delete offer programs.'; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.deleteOfferProgramAction.fulfilled, function (state, action) { state.offerProgram = action.payload; state.offerProgramUpdatePending = false; state.registerErrorMessage = ''; }); } }); var _offerProgramSlice$ac = offerProgramSlice.actions, setRegisterErrorMessage = _offerProgramSlice$ac.setRegisterErrorMessage, setOfferProgram = _offerProgramSlice$ac.setOfferProgram; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (offerProgramSlice.reducer); /***/ }), /***/ "./src/services/offer_program/core/services.ts": /*!*****************************************************!*\ !*** ./src/services/offer_program/core/services.ts ***! \*****************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ createOfferProgramService: () => (/* binding */ createOfferProgramService), /* harmony export */ deleteOfferProgramService: () => (/* binding */ deleteOfferProgramService), /* harmony export */ offerProgramDetailService: () => (/* binding */ offerProgramDetailService), /* harmony export */ offerProgramsService: () => (/* binding */ offerProgramsService), /* harmony export */ updateOfferProgramService: () => (/* binding */ updateOfferProgramService) /* harmony export */ }); /* harmony import */ var _shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../shared/configs/constants */ "./src/shared/configs/constants.ts"); /* harmony import */ var _shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../shared/core/base/services */ "./src/shared/core/base/services.ts"); function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); } function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); } function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); } function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; } var offerProgramsService = /*#__PURE__*/function () { var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() { return _regenerator().w(function (_context) { while (1) switch (_context.n) { case 0: _context.n = 1; return (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.getWithConfig)(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.OFFER_PROGRAM); case 1: return _context.a(2, _context.v); } }, _callee); })); return function offerProgramsService() { return _ref.apply(this, arguments); }; }(); var offerProgramDetailService = /*#__PURE__*/function () { var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(id) { return _regenerator().w(function (_context2) { while (1) switch (_context2.n) { case 0: _context2.n = 1; return (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.getWithConfig)("".concat(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.OFFER_PROGRAM).concat(id)); case 1: return _context2.a(2, _context2.v); } }, _callee2); })); return function offerProgramDetailService(_x) { return _ref2.apply(this, arguments); }; }(); var createOfferProgramService = /*#__PURE__*/function () { var _ref3 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(data) { return _regenerator().w(function (_context3) { while (1) switch (_context3.n) { case 0: return _context3.a(2, (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.postWithConfig)("".concat(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.OFFER_PROGRAM), data)); } }, _callee3); })); return function createOfferProgramService(_x2) { return _ref3.apply(this, arguments); }; }(); var updateOfferProgramService = /*#__PURE__*/function () { var _ref4 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee4(id, data) { return _regenerator().w(function (_context4) { while (1) switch (_context4.n) { case 0: return _context4.a(2, (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.putWithConfig)("".concat(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.OFFER_PROGRAM).concat(id), data)); } }, _callee4); })); return function updateOfferProgramService(_x3, _x4) { return _ref4.apply(this, arguments); }; }(); var deleteOfferProgramService = /*#__PURE__*/function () { var _ref5 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee5(id) { return _regenerator().w(function (_context5) { while (1) switch (_context5.n) { case 0: _context5.n = 1; return (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.removeWithConfig)("".concat(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.OFFER_PROGRAM).concat(id)); case 1: return _context5.a(2, _context5.v); } }, _callee5); })); return function deleteOfferProgramService(_x5) { return _ref5.apply(this, arguments); }; }(); /***/ }), /***/ "./src/services/opportunity_source/core/actions.ts": /*!*********************************************************!*\ !*** ./src/services/opportunity_source/core/actions.ts ***! \*********************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ createOpportunitySourceAction: () => (/* binding */ createOpportunitySourceAction), /* harmony export */ deleteOpportunitySourceAction: () => (/* binding */ deleteOpportunitySourceAction), /* harmony export */ fetchOpportunitySources: () => (/* binding */ fetchOpportunitySources), /* harmony export */ opportunitySourceDetailAction: () => (/* binding */ opportunitySourceDetailAction), /* harmony export */ updateOpportunitySourceAction: () => (/* binding */ updateOpportunitySourceAction) /* harmony export */ }); /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @reduxjs/toolkit */ "../../../node_modules/@reduxjs/toolkit/dist/redux-toolkit.modern.mjs"); /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constants */ "./src/services/opportunity_source/core/constants.ts"); /* harmony import */ var _services__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./services */ "./src/services/opportunity_source/core/services.ts"); function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); } function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); } function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); } function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; } var fetchOpportunitySources = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.OPPORTUNITY_SOURCES, _services__WEBPACK_IMPORTED_MODULE_2__.opportunitySourcesService); var opportunitySourceDetailAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.OPPORTUNITY_SOURCE, _services__WEBPACK_IMPORTED_MODULE_2__.opportunitySourceDetailService); var createOpportunitySourceAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.OPPORTUNITY_SOURCE_CREATE, /*#__PURE__*/function () { var _ref3 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(_ref, _ref2) { var data, rejectWithValue, _error$response, _t; return _regenerator().w(function (_context) { while (1) switch (_context.p = _context.n) { case 0: data = _ref.data; rejectWithValue = _ref2.rejectWithValue; _context.p = 1; _context.n = 2; return (0,_services__WEBPACK_IMPORTED_MODULE_2__.createOpportunitySourceService)(data); case 2: return _context.a(2, _context.v); case 3: _context.p = 3; _t = _context.v; return _context.a(2, rejectWithValue(((_error$response = _t.response) === null || _error$response === void 0 || (_error$response = _error$response.data) === null || _error$response === void 0 ? void 0 : _error$response.message) || "Failed to create opportunity source")); } }, _callee, null, [[1, 3]]); })); return function (_x, _x2) { return _ref3.apply(this, arguments); }; }()); var updateOpportunitySourceAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.OPPORTUNITY_SOURCE_UPDATE, /*#__PURE__*/function () { var _ref6 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(_ref4, _ref5) { var id, data, rejectWithValue, _error$response2, _t2; return _regenerator().w(function (_context2) { while (1) switch (_context2.p = _context2.n) { case 0: id = _ref4.id, data = _ref4.data; rejectWithValue = _ref5.rejectWithValue; _context2.p = 1; _context2.n = 2; return (0,_services__WEBPACK_IMPORTED_MODULE_2__.updateOpportunitySourceService)(id, data); case 2: return _context2.a(2, _context2.v); case 3: _context2.p = 3; _t2 = _context2.v; return _context2.a(2, rejectWithValue(((_error$response2 = _t2.response) === null || _error$response2 === void 0 || (_error$response2 = _error$response2.data) === null || _error$response2 === void 0 ? void 0 : _error$response2.message) || "Failed to update opportunity source")); } }, _callee2, null, [[1, 3]]); })); return function (_x3, _x4) { return _ref6.apply(this, arguments); }; }()); var deleteOpportunitySourceAction = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createAsyncThunk)(_constants__WEBPACK_IMPORTED_MODULE_1__.OPPORTUNITY_SOURCE_DELETE, _services__WEBPACK_IMPORTED_MODULE_2__.deleteOpportunitySourceService); /***/ }), /***/ "./src/services/opportunity_source/core/constants.ts": /*!***********************************************************!*\ !*** ./src/services/opportunity_source/core/constants.ts ***! \***********************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ OPPORTUNITY_SOURCE: () => (/* binding */ OPPORTUNITY_SOURCE), /* harmony export */ OPPORTUNITY_SOURCES: () => (/* binding */ OPPORTUNITY_SOURCES), /* harmony export */ OPPORTUNITY_SOURCE_CREATE: () => (/* binding */ OPPORTUNITY_SOURCE_CREATE), /* harmony export */ OPPORTUNITY_SOURCE_DELETE: () => (/* binding */ OPPORTUNITY_SOURCE_DELETE), /* harmony export */ OPPORTUNITY_SOURCE_UPDATE: () => (/* binding */ OPPORTUNITY_SOURCE_UPDATE) /* harmony export */ }); var OPPORTUNITY_SOURCES = 'opportunity-sources/fetchAll'; var OPPORTUNITY_SOURCE = 'opportunity-sources/fetchByID'; var OPPORTUNITY_SOURCE_CREATE = 'opportunity-sources/create'; var OPPORTUNITY_SOURCE_UPDATE = 'opportunity-sources/update'; var OPPORTUNITY_SOURCE_DELETE = 'opportunity-sources/delete'; /***/ }), /***/ "./src/services/opportunity_source/core/reducer.ts": /*!*********************************************************!*\ !*** ./src/services/opportunity_source/core/reducer.ts ***! \*********************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__), /* harmony export */ opportunitySourceSlice: () => (/* binding */ opportunitySourceSlice), /* harmony export */ setOpportunitySource: () => (/* binding */ setOpportunitySource), /* harmony export */ setRegisterErrorMessage: () => (/* binding */ setRegisterErrorMessage) /* harmony export */ }); /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @reduxjs/toolkit */ "../../../node_modules/@reduxjs/toolkit/dist/redux-toolkit.modern.mjs"); /* harmony import */ var _actions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./actions */ "./src/services/opportunity_source/core/actions.ts"); /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./constants */ "./src/services/opportunity_source/core/constants.ts"); /* eslint-disable no-console */ var initialState = { opportunitySources: [], opportunitySource: null, opportunitySourcesPending: false, opportunitySourceDetailPending: false, opportunitySourceCreatePending: false, opportunitySourceUpdatePending: false, opportunitySourceDeletePending: false, registerErrorMessage: '' }; var opportunitySourceSlice = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.createSlice)({ name: _constants__WEBPACK_IMPORTED_MODULE_2__.OPPORTUNITY_SOURCE, initialState: initialState, reducers: { // Sets the current opportunitySource setOpportunitySource: function setOpportunitySource(state, action) { state.opportunitySource = action.payload; }, // Updates the register error message setRegisterErrorMessage: function setRegisterErrorMessage(state, action) { state.registerErrorMessage = action.payload; } }, extraReducers: function extraReducers(builder) { builder // handle opportunity source .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.fetchOpportunitySources.pending, function (state) { state.opportunitySourcesPending = true; state.registerErrorMessage = ''; }) // Handles rejected opportunity sources fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.fetchOpportunitySources.rejected, function (state, action) { state.opportunitySourcesPending = false; state.registerErrorMessage = action.error.message || 'Failed to fetch opportunity sources.'; }) // Handles fulfilled opportunity sources fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.fetchOpportunitySources.fulfilled, function (state, action) { var payload = action.payload; state.opportunitySources = payload; state.opportunitySourcesPending = false; state.registerErrorMessage = ''; }) // handle opportunity source detail .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.opportunitySourceDetailAction.pending, function (state) { state.opportunitySourceDetailPending = true; state.registerErrorMessage = ''; }) // Handles rejected opportunity sources fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.opportunitySourceDetailAction.rejected, function (state, action) { state.opportunitySourceDetailPending = false; state.registerErrorMessage = action.error.message || 'Failed to fetch opportunity sources.'; }) // Handles fulfilled opportunity sources fetch .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.opportunitySourceDetailAction.fulfilled, function (state, action) { var payload = action.payload; state.opportunitySource = payload; state.opportunitySourceDetailPending = false; state.registerErrorMessage = ''; }) // handle opportunitySource create .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.createOpportunitySourceAction.pending, function (state) { state.opportunitySourceUpdatePending = true; state.registerErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.createOpportunitySourceAction.rejected, function (state, action) { state.opportunitySourceUpdatePending = false; state.registerErrorMessage = action.error.message || 'Failed to create opportunity sources.'; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.createOpportunitySourceAction.fulfilled, function (state, action) { state.opportunitySource = action.payload; state.opportunitySourceUpdatePending = false; state.registerErrorMessage = ''; }) // handle opportunitySource update .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.updateOpportunitySourceAction.pending, function (state) { state.opportunitySourceUpdatePending = true; state.registerErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.updateOpportunitySourceAction.rejected, function (state, action) { state.opportunitySourceUpdatePending = false; state.registerErrorMessage = action.error.message || 'Failed to update opportunity sources.'; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.updateOpportunitySourceAction.fulfilled, function (state, action) { state.opportunitySource = action.payload; state.opportunitySourceUpdatePending = false; state.registerErrorMessage = ''; }) // handle opportunitySource delete .addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.deleteOpportunitySourceAction.pending, function (state) { state.opportunitySourceUpdatePending = true; state.registerErrorMessage = ''; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.deleteOpportunitySourceAction.rejected, function (state, action) { state.opportunitySourceUpdatePending = false; state.registerErrorMessage = action.error.message || 'Failed to delete opportunity sources.'; }).addCase(_actions__WEBPACK_IMPORTED_MODULE_1__.deleteOpportunitySourceAction.fulfilled, function (state, action) { state.opportunitySource = action.payload; state.opportunitySourceUpdatePending = false; state.registerErrorMessage = ''; }); } }); var _opportunitySourceSli = opportunitySourceSlice.actions, setRegisterErrorMessage = _opportunitySourceSli.setRegisterErrorMessage, setOpportunitySource = _opportunitySourceSli.setOpportunitySource; /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (opportunitySourceSlice.reducer); /***/ }), /***/ "./src/services/opportunity_source/core/services.ts": /*!**********************************************************!*\ !*** ./src/services/opportunity_source/core/services.ts ***! \**********************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ createOpportunitySourceService: () => (/* binding */ createOpportunitySourceService), /* harmony export */ deleteOpportunitySourceService: () => (/* binding */ deleteOpportunitySourceService), /* harmony export */ opportunitySourceDetailService: () => (/* binding */ opportunitySourceDetailService), /* harmony export */ opportunitySourcesService: () => (/* binding */ opportunitySourcesService), /* harmony export */ updateOpportunitySourceService: () => (/* binding */ updateOpportunitySourceService) /* harmony export */ }); /* harmony import */ var _shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../shared/configs/constants */ "./src/shared/configs/constants.ts"); /* harmony import */ var _shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../shared/core/base/services */ "./src/shared/core/base/services.ts"); function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); } function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); } function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); } function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; } var opportunitySourcesService = /*#__PURE__*/function () { var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() { return _regenerator().w(function (_context) { while (1) switch (_context.n) { case 0: _context.n = 1; return (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.getWithConfig)(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.SOURCE); case 1: return _context.a(2, _context.v); } }, _callee); })); return function opportunitySourcesService() { return _ref.apply(this, arguments); }; }(); var opportunitySourceDetailService = /*#__PURE__*/function () { var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(id) { return _regenerator().w(function (_context2) { while (1) switch (_context2.n) { case 0: _context2.n = 1; return (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.getWithConfig)("".concat(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.SOURCE).concat(id)); case 1: return _context2.a(2, _context2.v); } }, _callee2); })); return function opportunitySourceDetailService(_x) { return _ref2.apply(this, arguments); }; }(); var createOpportunitySourceService = /*#__PURE__*/function () { var _ref3 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(data) { return _regenerator().w(function (_context3) { while (1) switch (_context3.n) { case 0: return _context3.a(2, (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.postWithConfig)("".concat(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.SOURCE), data)); } }, _callee3); })); return function createOpportunitySourceService(_x2) { return _ref3.apply(this, arguments); }; }(); var updateOpportunitySourceService = /*#__PURE__*/function () { var _ref4 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee4(id, data) { return _regenerator().w(function (_context4) { while (1) switch (_context4.n) { case 0: return _context4.a(2, (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.putWithConfig)("".concat(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.SOURCE).concat(id), data)); } }, _callee4); })); return function updateOpportunitySourceService(_x3, _x4) { return _ref4.apply(this, arguments); }; }(); var deleteOpportunitySourceService = /*#__PURE__*/function () { var _ref5 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee5(id) { return _regenerator().w(function (_context5) { while (1) switch (_context5.n) { case 0: _context5.n = 1; return (0,_shared_core_base_services__WEBPACK_IMPORTED_MODULE_1__.removeWithConfig)("".concat(_shared_configs_constants__WEBPACK_IMPORTED_MODULE_0__.URL.SOURCE).concat(id)); case 1: return _context5.a(2, _context5.v); } }, _callee5); })); return function deleteOpportunitySourceService(_x5) { return _ref5.apply(this, arguments); }; }(); /***/ }) }]); //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianMvbWFpbi1uLnZvbHVudGVlcmFwaS40YmM1MjBhYjYxNjg5Y2ZmYTM4MC5idW5kbGUuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQ21IO0FBQ2pCO0FBQ087QUFDekcsNENBQTRDLDJKQUEwRDtBQUN0Ryw0Q0FBNEMsaUtBQTZEO0FBQ3pHLDRDQUE0QywyTEFBMEU7QUFDdEgsNENBQTRDLDJJQUFrRDtBQUM5Riw4QkFBOEIsbUZBQTJCLENBQUMsNEZBQXFDO0FBQy9GLHlDQUF5QyxzRkFBK0I7QUFDeEUseUNBQXlDLHNGQUErQjtBQUN4RSx5Q0FBeUMsc0ZBQStCO0FBQ3hFLHlDQUF5QyxzRkFBK0I7QUFDeEU7QUFDQTtBQUNBO0FBQ0EsYUFBYSxtQ0FBbUM7QUFDaEQ7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxhQUFhLG1DQUFtQztBQUNoRDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGFBQWEsbUNBQW1DO0FBQ2hEO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUJBQXVCO0FBQ3ZCOztBQUVBO0FBQ0EsZ0JBQWdCO0FBQ2hCOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7Ozs7QUFJQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxzQkFBc0IsbUNBQW1DO0FBQ3pEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQkFBc0IsbUNBQW1DO0FBQ3pEOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsQ0FBQyxPQUFPLGdGQUFnRixZQUFZLGFBQWEsYUFBYSxhQUFhLE9BQU8sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE9BQU8sS0FBSyxZQUFZLGFBQWEsYUFBYSxhQUFhLE9BQU8sWUFBWSxNQUFNLFlBQVksV0FBVyxVQUFVLFlBQVksT0FBTyxVQUFVLEtBQUssVUFBVSxZQUFZLFdBQVcsWUFBWSxhQUFhLFFBQVEsVUFBVSxLQUFLLFlBQVksYUFBYSxXQUFXLFlBQVksYUFBYSxPQUFPLFlBQVksTUFBTSxLQUFLLFVBQVUsTUFBTSxLQUFLLFlBQVksTUFBTSxNQUFNLFVBQVUsS0FBSyxVQUFVLFlBQVksV0FBVyxPQUFPLEtBQUssVUFBVSxZQUFZLFdBQVcsTUFBTSxVQUFVLEtBQUssWUFBWSxXQUFXLFlBQVksYUFBYSxhQUFhLFdBQVcsTUFBTSxVQUFVLEtBQUssWUFBWSxXQUFXLFVBQVUsVUFBVSxZQUFZLFdBQVcsVUFBVSxZQUFZLE9BQU8sS0FBSyxZQUFZLE9BQU8sWUFBWSxNQUFNLFVBQVUsWUFBWSxhQUFhLGFBQWEsV0FBVyxNQUFNLFlBQVksTUFBTSxZQUFZLGFBQWEsWUFBWSxNQUFNLFlBQVksTUFBTSxZQUFZLFdBQVcsWUFBWSxhQUFhLGFBQWEsT0FBTyxLQUFLLFVBQVUsVUFBVSxZQUFZLE9BQU8sS0FBSyxZQUFZLGFBQWEsV0FBVyxVQUFVLFlBQVksT0FBTyxLQUFLLFVBQVUsWUFBWSxhQUFhLGFBQWEsT0FBTyxZQUFZLE1BQU0sVUFBVSxZQUFZLE9BQU8sS0FBSyxZQUFZLE9BQU8sWUFBWSxNQUFNLFVBQVUsWUFBWSxhQUFhLFdBQVcsd0JBQXdCLE9BQU8sS0FBSyxzQkFBc0IsT0FBTyxZQUFZLE1BQU0sWUFBWSxPQUFPLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSxPQUFPLFlBQVksTUFBTSxVQUFVLFlBQVksYUFBYSxXQUFXLFVBQVUsTUFBTSxZQUFZLE9BQU8sVUFBVSxVQUFVLFlBQVksT0FBTyxLQUFLLE1BQU0sVUFBVSxZQUFZLE1BQU0sTUFBTSxLQUFLLE1BQU0sVUFBVSxVQUFVLE1BQU0sTUFBTSxLQUFLLE1BQU0sVUFBVSxVQUFVLE1BQU0sS0FBSyxZQUFZLE1BQU0sS0FBSyxZQUFZLE1BQU0sTUFBTSxZQUFZLE1BQU0sVUFBVSxNQUFNLEtBQUssWUFBWSxNQUFNLEtBQUssWUFBWSxPQUFPLEtBQUssWUFBWSxRQUFRLFlBQVksTUFBTSxZQUFZLE1BQU0sS0FBSyxZQUFZLFdBQVcsTUFBTSxLQUFLLFVBQVUsVUFBVSxVQUFVLFlBQVksYUFBYSxhQUFhLGFBQWEsYUFBYSxPQUFPLEtBQUssS0FBSyxZQUFZLGFBQWEsTUFBTSxRQUFRLFlBQVksTUFBTSxVQUFVLFlBQVksYUFBYSxPQUFPLFlBQVksTUFBTSxVQUFVLFVBQVUsWUFBWSxPQUFPLFlBQVksTUFBTSxZQUFZLGFBQWEsV0FBVyxZQUFZLGFBQWEsT0FBTyxLQUFLLFlBQVksYUFBYSxTQUFTLEtBQUssS0FBSyxZQUFZLE9BQU8sS0FBSyxVQUFVLFVBQVUsWUFBWSxhQUFhLFdBQVcsVUFBVSxVQUFVLE1BQU0sS0FBSyxVQUFVLFVBQVUsVUFBVSxZQUFZLGFBQWEsTUFBTSxNQUFNLEtBQUssS0FBSyxVQUFVLFVBQVUsVUFBVSxNQUFNLEtBQUssVUFBVSxVQUFVLFlBQVksYUFBYSxPQUFPLEtBQUssVUFBVSxVQUFVLFVBQVUsWUFBWSxhQUFhLGFBQWEsV0FBVyxLQUFLLE1BQU0sS0FBSyxZQUFZLFFBQVEsS0FBSyxVQUFVLFlBQVksYUFBYSxhQUFhLFdBQVcsWUFBWSxPQUFPLEtB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QUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvRjs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQ3ZTMEI7QUFDdUI7QUFDVDtBQUV4QyxJQUFNRyxHQUFhLEdBQUcsU0FBaEJBLEdBQWFBLENBQUEsRUFBUztFQUMxQixvQkFDRUgsMERBQUEsQ0FBQ0MsMkRBQWEscUJBQ1pELDBEQUFBLENBQUNFLHNEQUFTLE1BQUUsQ0FDQyxDQUFD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LENBQUE7UUFBQTtVQUFBLE9BQUEyRSxTQUFBLENBQUExRCxDQUFBLElBQy9FaVAseUVBQWEsSUFBQWxULE1BQUEsQ0FBSWtHLDBEQUFHLENBQUNxZSxNQUFNLEVBQUF2a0IsTUFBQSxDQUFHaU0sRUFBRSxHQUFJOUosSUFBSSxDQUFDO01BQUE7SUFBQSxHQUFBdUYsUUFBQTtFQUFBLENBQ2pEO0VBQUEsZ0JBRlk0Yiw4QkFBOEJBLENBQUE5YixHQUFBLEVBQUFJLEdBQUE7SUFBQSxPQUFBSCxLQUFBLENBQUExQixLQUFBLE9BQUFELFNBQUE7RUFBQTtBQUFBLEdBRTFDO0FBRU0sSUFBTXlkLDhCQUE4QjtFQUFBLElBQUExYixLQUFBLEdBQUFoQyxpQkFBQSxjQUFBYixZQUFBLEdBQUFFLENBQUEsQ0FBRyxTQUFBNEMsU0FBTW1FLEVBQVU7SUFBQSxPQUFBakgsWUFBQSxHQUFBQyxDQUFBLFdBQUFnRCxTQUFBO01BQUEsa0JBQUFBLFNBQUEsQ0FBQWpGLENBQUE7UUFBQTtVQUFBaUYsU0FBQSxDQUFBakYsQ0FBQTtVQUFBLE9BQy9DbVEsNEVBQWdCLElBQUFuVCxNQUFBLENBQUlrRywwREFBRyxDQUFDcWUsTUFBTSxFQUFBdmtCLE1BQUEsQ0FBR2lNLEVBQUUsQ0FBRSxDQUFDO1FBQUE7VUFBQSxPQUFBaEUsU0FBQSxDQUFBaEUsQ0FBQSxJQUFBZ0UsU0FBQSxDQUFBakUsQ0FBQTtNQUFBO0lBQUEsR0FBQThELFFBQUE7RUFBQSxDQUNwRDtFQUFBLGdCQUZZeWIsOEJBQThCQSxDQUFBamIsR0FBQTtJQUFBLE9BQUFULEtBQUEsQ0FBQTlCLEtBQUEsT0FBQUQsU0FBQTtFQUFBO0FBQUEsR0FFMUMsQyIsInNvdXJjZXMiOlsid2VicGFjazovL0Bjb3JlL3ZvbHVudGVlcl9hcHAvLi9zcmMvaW5kZXguY3NzIiwid2VicGFjazovL0Bjb3JlL3ZvbHVudGVlcl9hcHAvLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvIHN5bmMgXlxcLlxcLy4qJCIsIndlYnBhY2s6Ly9AY29yZS92b2x1bnRlZXJfYXBwLy4vc3JjL2FwcC50c3giLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9pbmRleC5jc3M/NjljYiIsIndlYnBhY2s6Ly9AY29yZS92b2x1bnRlZXJfYXBwLy4vc3JjL2luZGV4LnRzeCIsIndlYnBhY2s6Ly9AY29yZS92b2x1bnRlZXJfYXBwLy4vc3JjL3NlcnZpY2VzL2F1dGhlbnRpY2F0aW9uL2xvZ2luL2NvcmUvYWN0aW9ucy50cyIsIndlYnBhY2s6Ly9AY29yZS92b2x1bnRlZXJfYXBwLy4vc3JjL3NlcnZpY2VzL2F1dGhlbnRpY2F0aW9uL2xvZ2luL2NvcmUvY29uc3RhbnRzLnRzIiwid2VicGFjazovL0Bjb3JlL3ZvbHVudGVlcl9hcHAvLi9zcmMvc2VydmljZXMvYXV0aGVudGljYXRpb24vbG9naW4vY29yZS9yZWR1Y2VyLnRzIiwid2VicGFjazovL0Bjb3JlL3ZvbHVudGVlcl9hcHAvLi9zcmMvc2VydmljZXMvYXV0aGVudGljYXRpb24vbG9naW4vY29yZS9zZXJ2aWNlcy50cyIsIndlYnBhY2s6Ly9AY29yZS92b2x1bnRlZXJfYXBwLy4vc3JjL3NlcnZpY2VzL2F1dGhlbnRpY2F0aW9uL2xvZ2luL3BhZ2VzL2F0dGVuZGFuY2VfdmVyaWZpY2F0aW9uLnRzeCIsIndlYnBhY2s6Ly9AY29yZS92b2x1bnRlZXJfYXBwLy4vc3JjL3NlcnZpY2VzL2F1dGhlbnRpY2F0aW9uL2xvZ2luL3BhZ2VzL2xvZ2luLnRzeCIsIndlYnBhY2s6Ly9AY29yZS92b2x1bnRlZXJfYXBwLy4vc3JjL3NlcnZpY2VzL2F1dGhlbnRpY2F0aW9uL2xvZ2luL3BhZ2VzL3FyY29kZS50c3giLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zZXJ2aWNlcy9kaXNhYmlsaXR5X3R5cGUvY29yZS9hY3Rpb25zLnRzIiwid2VicGFjazovL0Bjb3JlL3ZvbHVudGVlcl9hcHAvLi9zcmMvc2VydmljZXMvZGlzYWJpbGl0eV90eXBlL2NvcmUvY29uc3RhbnRzLnRzIiwid2VicGFjazovL0Bjb3JlL3ZvbHVudGVlcl9hcHAvLi9zcmMvc2VydmljZXMvZGlzYWJpbGl0eV90eXBlL2NvcmUvcmVkdWNlci50cyIsIndlYnBhY2s6Ly9AY29yZS92b2x1bnRlZXJfYXBwLy4vc3JjL3NlcnZpY2VzL2Rpc2FiaWxpdHlfdHlwZS9jb3JlL3NlcnZpY2VzLnRzIiwid2VicGFjazovL0Bjb3JlL3ZvbHVudGVlcl9hcHAvLi9zcmMvc2VydmljZXMvZWR1Y2F0aW9uX2luc3RpdHV0aW9uL2NvcmUvYWN0aW9ucy50cyIsIndlYnBhY2s6Ly9AY29yZS92b2x1bnRlZXJfYXBwLy4vc3JjL3NlcnZpY2VzL2VkdWNhdGlvbl9pbnN0aXR1dGlvbi9jb3JlL2NvbnN0YW50cy50cyIsIndlYnBhY2s6Ly9AY29yZS92b2x1bnRlZXJfYXBwLy4vc3JjL3NlcnZpY2VzL2VkdWNhdGlvbl9pbnN0aXR1dGlvbi9jb3JlL3JlZHVjZXIudHMiLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zZXJ2aWNlcy9lZHVjYXRpb25faW5zdGl0dXRpb24vY29yZS9zZXJ2aWNlcy50cyIsIndlYnBhY2s6Ly9AY29yZS92b2x1bnRlZXJfYXBwLy4vc3JjL3NlcnZpY2VzL2ZhbWlseV9zdXJ2ZXkvY29yZS9hY3Rpb25zLnRzIiwid2VicGFjazovL0Bjb3JlL3ZvbHVudGVlcl9hcHAvLi9zcmMvc2VydmljZXMvZmFtaWx5X3N1cnZleS9jb3JlL2NvbnN0YW50cy50cyIsIndlYnBhY2s6Ly9AY29yZS92b2x1bnRlZXJfYXBwLy4vc3JjL3NlcnZpY2VzL2ZhbWlseV9zdXJ2ZXkvY29yZS9yZWR1Y2VyLnRzIiwid2VicGFjazovL0Bjb3JlL3ZvbHVudGVlcl9hcHAvLi9zcmMvc2VydmljZXMvZmFtaWx5X3N1cnZleS9jb3JlL3NlcnZpY2VzLnRzIiwid2VicGFjazovL0Bjb3JlL3ZvbHVudGVlcl9hcHAvLi9zcmMvc2VydmljZXMvZm9vZC9jb3JlL2FjdGlvbnMudHMiLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zZXJ2aWNlcy9mb29kL2NvcmUvY29uc3RhbnRzLnRzIiwid2VicGFjazovL0Bjb3JlL3ZvbHVudGVlcl9hcHAvLi9zcmMvc2VydmljZXMvZm9vZC9jb3JlL3JlZHVjZXIudHMiLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zZXJ2aWNlcy9mb29kL2NvcmUvc2VydmljZXMudHMiLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zZXJ2aWNlcy9pbnRlcmVzdGVkX3RlYW0vY29yZS9hY3Rpb25zLnRzIiwid2VicGFjazovL0Bjb3JlL3ZvbHVudGVlcl9hcHAvLi9zcmMvc2VydmljZXMvaW50ZXJlc3RlZF90ZWFtL2NvcmUvY29uc3RhbnRzLnRzIiwid2VicGFjazovL0Bjb3JlL3ZvbHVudGVlcl9hcHAvLi9zcmMvc2VydmljZXMvaW50ZXJlc3RlZF90ZWFtL2NvcmUvcmVkdWNlci50cyIsIndlYnBhY2s6Ly9AY29yZS92b2x1bnRlZXJfYXBwLy4vc3JjL3NlcnZpY2VzL2ludGVyZXN0ZWRfdGVhbS9jb3JlL3NlcnZpY2VzLnRzIiwid2VicGFjazovL0Bjb3JlL3ZvbHVudGVlcl9hcHAvLi9zcmMvc2VydmljZXMvbGFuZ3VhZ2UvY29yZS9hY3Rpb25zLnRzIiwid2VicGFjazovL0Bjb3JlL3ZvbHVudGVlcl9hcHAvLi9zcmMvc2VydmljZXMvbGFuZ3VhZ2UvY29yZS9jb25zdGFudHMudHMiLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zZXJ2aWNlcy9sYW5ndWFnZS9jb3JlL3JlZHVjZXIudHMiLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zZXJ2aWNlcy9sYW5ndWFnZS9jb3JlL3NlcnZpY2VzLnRzIiwid2VicGFjazovL0Bjb3JlL3ZvbHVudGVlcl9hcHAvLi9zcmMvc2VydmljZXMvb2NjdXBhdGlvbi9jb3JlL2FjdGlvbnMudHMiLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zZXJ2aWNlcy9vY2N1cGF0aW9uL2NvcmUvY29uc3RhbnRzLnRzIiwid2VicGFjazovL0Bjb3JlL3ZvbHVudGVlcl9hcHAvLi9zcmMvc2VydmljZXMvb2NjdXBhdGlvbi9jb3JlL3JlZHVjZXIudHMiLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zZXJ2aWNlcy9vY2N1cGF0aW9uL2NvcmUvc2VydmljZXMudHMiLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zZXJ2aWNlcy9vZmZlcl9wcm9ncmFtL2NvcmUvYWN0aW9ucy50cyIsIndlYnBhY2s6Ly9AY29yZS92b2x1bnRlZXJfYXBwLy4vc3JjL3NlcnZpY2VzL29mZmVyX3Byb2dyYW0vY29yZS9jb25zdGFudHMudHMiLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zZXJ2aWNlcy9vZmZlcl9wcm9ncmFtL2NvcmUvcmVkdWNlci50cyIsIndlYnBhY2s6Ly9AY29yZS92b2x1bnRlZXJfYXBwLy4vc3JjL3NlcnZpY2VzL29mZmVyX3Byb2dyYW0vY29yZS9zZXJ2aWNlcy50cyIsIndlYnBhY2s6Ly9AY29yZS92b2x1bnRlZXJfYXBwLy4vc3JjL3NlcnZpY2VzL29wcG9ydHVuaXR5X3NvdXJjZS9jb3JlL2FjdGlvbnMudHMiLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zZXJ2aWNlcy9vcHBvcnR1bml0eV9zb3VyY2UvY29yZS9jb25zdGFudHMudHMiLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zZXJ2aWNlcy9vcHBvcnR1bml0eV9zb3VyY2UvY29yZS9yZWR1Y2VyLnRzIiwid2VicGFjazovL0Bjb3JlL3ZvbHVudGVlcl9hcHAvLi9zcmMvc2VydmljZXMvb3Bwb3J0dW5pdHlfc291cmNlL2NvcmUvc2VydmljZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gSW1wb3J0c1xuaW1wb3J0IF9fX0NTU19MT0FERVJfQVBJX1NPVVJDRU1BUF9JTVBPUlRfX18gZnJvbSBcIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvcnVudGltZS9zb3VyY2VNYXBzLmpzXCI7XG5pbXBvcnQgX19fQ1NTX0xPQURFUl9BUElfSU1QT1JUX19fIGZyb20gXCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L3J1bnRpbWUvYXBpLmpzXCI7XG5pbXBvcnQgX19fQ1NTX0xPQURFUl9HRVRfVVJMX0lNUE9SVF9fXyBmcm9tIFwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9ydW50aW1lL2dldFVybC5qc1wiO1xudmFyIF9fX0NTU19MT0FERVJfVVJMX0lNUE9SVF8wX19fID0gbmV3IFVSTChcIi4vc2hhcmVkL2Fzc2V0cy9mb250cy9CYXlvbi1SZWd1bGFyLnR0ZlwiLCBpbXBvcnQubWV0YS51cmwpO1xudmFyIF9fX0NTU19MT0FERVJfVVJMX0lNUE9SVF8xX19fID0gbmV3IFVSTChcIi4vc2hhcmVkL2Fzc2V0cy9mb250cy9TaWVtcmVhcC1SZWd1bGFyLnR0ZlwiLCBpbXBvcnQubWV0YS51cmwpO1xudmFyIF9fX0NTU19MT0FERVJfVVJMX0lNUE9SVF8yX19fID0gbmV3IFVSTChcIi4vc2hhcmVkL2Fzc2V0cy9mb250cy9Sb2JvdG8tVmFyaWFibGVGb250X3dkdGgsd2dodC50dGZcIiwgaW1wb3J0Lm1ldGEudXJsKTtcbnZhciBfX19DU1NfTE9BREVSX1VSTF9JTVBPUlRfM19fXyA9IG5ldyBVUkwoXCIuL3NoYXJlZC9hc3NldHMvaW1hZ2VzL3RlYW0ucG5nXCIsIGltcG9ydC5tZXRhLnVybCk7XG52YXIgX19fQ1NTX0xPQURFUl9FWFBPUlRfX18gPSBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18oX19fQ1NTX0xPQURFUl9BUElfU09VUkNFTUFQX0lNUE9SVF9fXyk7XG52YXIgX19fQ1NTX0xPQURFUl9VUkxfUkVQTEFDRU1FTlRfMF9fXyA9IF9fX0NTU19MT0FERVJfR0VUX1VSTF9JTVBPUlRfX18oX19fQ1NTX0xPQURFUl9VUkxfSU1QT1JUXzBfX18pO1xudmFyIF9fX0NTU19MT0FERVJfVVJMX1JFUExBQ0VNRU5UXzFfX18gPSBfX19DU1NfTE9BREVSX0dFVF9VUkxfSU1QT1JUX19fKF9fX0NTU19MT0FERVJfVVJMX0lNUE9SVF8xX19fKTtcbnZhciBfX19DU1NfTE9BREVSX1VSTF9SRVBMQUNFTUVOVF8yX19fID0gX19fQ1NTX0xPQURFUl9HRVRfVVJMX0lNUE9SVF9fXyhfX19DU1NfTE9BREVSX1VSTF9JTVBPUlRfMl9fXyk7XG52YXIgX19fQ1NTX0xPQURFUl9VUkxfUkVQTEFDRU1FTlRfM19fXyA9IF9fX0NTU19MT0FERVJfR0VUX1VSTF9JTVBPUlRfX18oX19fQ1NTX0xPQURFUl9VUkxfSU1QT1JUXzNfX18pO1xuLy8gTW9kdWxlXG5fX19DU1NfTE9BREVSX0VYUE9SVF9fXy5wdXNoKFttb2R1bGUuaWQsIGBAZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdCYXlvbic7XG4gIHNyYzogdXJsKCR7X19fQ1NTX0xPQURFUl9VUkxfUkVQTEFDRU1FTlRfMF9fX30pIGZvcm1hdCgndHJ1ZXR5cGUnKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdTaWVtcmVhcCc7XG4gIHNyYzogdXJsKCR7X19fQ1NTX0xPQURFUl9VUkxfUkVQTEFDRU1FTlRfMV9fX30pIGZvcm1hdCgndHJ1ZXR5cGUnKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nO1xuICBzcmM6IHVybCgke19fX0NTU19MT0FERVJfVVJMX1JFUExBQ0VNRU5UXzJfX199KSBmb3JtYXQoJ3RydWV0eXBlJyk7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuLyogR2xvYmFsIFN0eWxlcyAqL1xuYm9keSB7XG4gIGZvbnQtZmFtaWx5OiAnU2llbXJlYXAnLCBSb2JvdG87XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG59XG5cbi8qIEZvcm0gdGl0bGUgKi9cbi5mb3JtLXRpdGxlIHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiAjMzMzO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBmb250LWZhbWlseTogJ1NpZW1yZWFwJywgUm9ib3RvO1xufVxuXG5cbi8qIEZvcm0gdGl0bGUgKi9cbi5mb3JtLXRpdGxlMiB7XG4gIGZvbnQtc2l6ZTogMC41cmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiAjMzMzO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBmb250LWZhbWlseTogJ1NpZW1yZWFwJywgUm9ib3RvO1xufVxuXG4vKiBMYXJnZXIgdGl0bGUgb24gZGVza3RvcCAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAuZm9ybS10aXRsZTIge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgfVxuICAuZm9ybS10aXRsZSB7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gIH1cbn1cblxuLyogRGl2aWRlcnMgKi9cbi5kaXZpZGVyIHtcbiAgaGVpZ2h0OiAycHg7XG4gIGJhY2tncm91bmQ6ICNkZGQ7XG4gIG1hcmdpbjogMTBweCAwO1xufVxuXG4uZGl2aWRlcjIge1xuICBoZWlnaHQ6IDFweDtcbiAgYmFja2dyb3VuZDogI2NjYztcbiAgbWFyZ2luOiA1cHggMDtcbn1cblxuLyogQ2FyZCBTdHlsZSAqL1xuLmNhcmQge1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgcGFkZGluZzogMjBweDtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgYm94LXNoYWRvdzogMCAycHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIG1heC13aWR0aDogNTAwcHg7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vKiBCdXR0b25zICovXG5idXR0b24ge1xuICBiYWNrZ3JvdW5kOiAjMTg5MGZmO1xuICBjb2xvcjogd2hpdGU7XG4gIGJvcmRlcjogbm9uZTtcbiAgcGFkZGluZzogMTJweDtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuM3MgZWFzZTtcbn1cblxuYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzQwYTlmZjtcbn1cblxuLyogRmlsZSBVcGxvYWQgQ29udGFpbmVyICovXG4udXBsb2FkLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDEwcHg7XG59XG5cbi8qIENlbnRlcmVkIEl0ZW1zICovXG4uaXRlbXMtY2VudGVyIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG5cbn1cblxuLyogRGl2aWRlciBmb3IgVUkgKi9cbi5kaXZpZGVyLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1hcmdpbjogMS41cmVtIDA7XG59XG5cbi5kaXZpZGVyLWxpbmUge1xuICB3aWR0aDogODAlO1xuICBoZWlnaHQ6IDJweDtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjNjBhNWZhLCAjYTg1NWY3LCAjZWM0ODk5KTtcbn1cblxuLmRpdmlkZXItdGV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIHBhZGRpbmc6IDAgOHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLmRpdmlkZXItdGV4dCBzcGFuIHtcbiAgZm9udC1zaXplOiAycmVtO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICM2MGE1ZmEsICNhODU1ZjcsICNlYzQ4OTkpO1xuICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDtcbiAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4vKiBTdGVwIEluZGljYXRvciAqL1xuLmFudC1zdGVwcy1pdGVtLXRpdGxlIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGVhc2UtaW4tb3V0O1xufVxuXG4uYW50LXN0ZXBzLWl0ZW0tdGl0bGU6aG92ZXIge1xuICBjb2xvcjogIzE4OTBmZiAhaW1wb3J0YW50O1xufVxuXG4vKiBGbGV4IHNwYWNpbmcgKi9cbi5jdXN0b20tZ2FwIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDsgLyogU3BhY2UgYmV0d2VlbiB0b3Agcm93IGFuZCBib3R0b20gbG9nbyAqL1xufVxuXG4uc3BhY2VyIHtcbiAgZmxleC1ncm93OiAxOyAvKiBBdXRvbWF0aWNhbGx5IHRha2VzIHVwIHJlbWFpbmluZyBzcGFjZSAqL1xufVxuXG4vKiBQYWRkaW5nIEZpeGVzICovXG4ucGFkZGluZy1yaWdodC0xNiB7XG4gIHBhZGRpbmctcmlnaHQ6IDE2cHg7XG59XG5cbi5wYWRkaW5nLXJpZ2h0LTY0IHtcbiAgcGFkZGluZy1yaWdodDogNjRweDtcbn1cbi5wYWRkaW5nLWxlZnQtNjQge1xuICBwYWRkaW5nLWxlZnQ6IDY0cHg7XG59XG5cbi8qIExvZ28gU2VjdGlvbiAqL1xuLmxvZ28tY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB3aWR0aDogMTAwJTtcbiAgZ2FwOiAxMHB4O1xufVxuXG4vKiBMb2dvIFN0eWxlcyAqL1xuLmhlYWRpbmdMb2dvLFxuLmhlYWRpbmdMb2dvMiB7XG4gIHdpZHRoOiAxNXZ3O1xuICBoZWlnaHQ6IGF1dG87XG4gIG1heC13aWR0aDogMTIwcHg7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgLmhlYWRpbmdMb2dvLFxuICAuaGVhZGluZ0xvZ28yIHtcbiAgICB3aWR0aDogOHZ3O1xuICAgIG1heC13aWR0aDogMTAwcHg7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5oZWFkaW5nTG9nbyxcbiAgLmhlYWRpbmdMb2dvMiB7XG4gICAgd2lkdGg6IDEydnc7XG4gICAgbWF4LXdpZHRoOiA4MHB4O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xuICAuaGVhZGluZ0xvZ28sXG4gIC5oZWFkaW5nTG9nbzIge1xuICAgIHdpZHRoOiAxNXZ3O1xuICAgIG1heC13aWR0aDogNjBweDtcbiAgfVxuICAucGFkZGluZy1yaWdodC02NCB7XG4gICAgcGFkZGluZy1yaWdodDogMTZweDtcbiAgfVxuICAucGFkZGluZy1sZWZ0LTY0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDE2cHg7XG4gIH1cbn1cblxuLyogVm9sdW50ZWVyIFJlZ2lzdHJhdGlvbiBTZWN0aW9uICovXG4udGV4dC1yZWQtNjAwIHtcbiAgY29sb3I6ICNCQjU5NUY7XG59XG4ucGFkZGluZy10b3AtYm90dG9tIHtcbiAgcGFkZGluZzogOHB4IDBweDtcbn1cbi5wYWRkaW5nLXRvcC02IHtcbiAgcGFkZGluZy10b3A6IDZweDtcbn1cblxuLm1hcmdpbi10b3AtMTYge1xuICBtYXJnaW4tdG9wOiAxNnB4O1xufVxuXG5cbi8qIFVwbG9hZCBidXR0b24gc3R5bGVzICovXG4uYW50LXVwbG9hZC1saXN0LWl0ZW0tY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbn1cbi5pbWFnZS1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uZnVsbHNjcmVlbi1pbWFnZSB7XG4gIGluc2V0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICAtby1vYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gIC1vLW9iamVjdC1wb3NpdGlvbjogdG9wO1xuICAgICBvYmplY3QtcG9zaXRpb246IHRvcDtcbiAgbWluLWhlaWdodDogMTAwdmg7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAuZnVsbHNjcmVlbi1pbWFnZSB7XG4gICAgaGVpZ2h0OiA0MHZoICFpbXBvcnRhbnQ7XG4gICAgbWluLWhlaWdodDogNDB2aCAhaW1wb3J0YW50O1xuICB9XG59XG5cblxuXG4vKiBVcGxvYWQgQ2FyZHMgLSBBZGRzIFBhZGRpbmcgYW5kIENvbnNpc3RlbmN5ICovXG4udXBsb2FkLWNhcmQge1xuICBwYWRkaW5nOiAxNnB4O1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIGJveC1zaGFkb3c6IDBweCA0cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG59XG5cbi8qIFBsYWNlaG9sZGVyIEltYWdlIC0gRW5zdXJlcyBDb25zaXN0ZW50IERpc3BsYXkgKi9cbi51cGxvYWQtcGxhY2Vob2xkZXIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXgtaGVpZ2h0OiAxMDBweDtcbn1cblxuLyogRHJhZyAmIERyb3AgVXBsb2FkIC0gTWFrZXMgQ1YgVXBsb2FkIE1vcmUgSW50dWl0aXZlICovXG4uYW50LXVwbG9hZC1kcmFnIHtcbiAgYmFja2dyb3VuZDogI2Y5ZjlmOTtcbiAgYm9yZGVyOiAycHggZGFzaGVkICNjY2M7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xufVxuXG4uYW50LXVwbG9hZC1kcmFnOmhvdmVyIHtcbiAgYm9yZGVyLWNvbG9yOiAjMTg5MGZmO1xuICBiYWNrZ3JvdW5kOiAjZWVmNmZmO1xufVxuXG5cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5jb250YWluZXIge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cblxuICAubGVmdC1zZWN0aW9uIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIGJhY2tncm91bmQ6IHVybCgke19fX0NTU19MT0FERVJfVVJMX1JFUExBQ0VNRU5UXzNfX199KSBuby1yZXBlYXQgY2VudGVyL2NvdmVyO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAtMTtcbiAgfVxuXG4gIC5yaWdodC1zZWN0aW9uIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgLmNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB3aWR0aDogMTAwdnc7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgfVxuXG4gIC5sZWZ0LXNlY3Rpb24ge1xuICAgIHdpZHRoOiAzMHZ3O1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJHtfX19DU1NfTE9BREVSX1VSTF9SRVBMQUNFTUVOVF8zX19ffSkgbm8tcmVwZWF0IGNlbnRlci9jb3ZlcjtcbiAgfVxuXG4gIC5yaWdodC1zZWN0aW9uIHtcbiAgICB3aWR0aDogNzB2dztcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjRmNGY0O1xuICAgIHBhZGRpbmc6IDE2cHg7XG4gIH1cbn1cblxuaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEge1xuICBmb250LXNpemU6IDE2cHggIWltcG9ydGFudDtcbn1cblxuXG4uYXR0ZW5kYW5jZS1wYWdlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGhlaWdodDogMTAwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uYXR0ZW5kYW5jZS1wYWdlIGgyIHtcbiAgZm9udC1zaXplOiAyNHB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4uYXR0ZW5kYW5jZS1wYWdlIHAge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufWAsIFwiXCIse1widmVyc2lvblwiOjMsXCJzb3VyY2VzXCI6W1wid2VicGFjazovLy4vc3JjL2luZGV4LmNzc1wiXSxcIm5hbWVzXCI6W10sXCJtYXBwaW5nc1wiOlwiQUFBQTtFQUNFLG9CQUFvQjtFQUNwQiwrREFBc0U7RUFDdEUsbUJBQW1CO0VBQ25CLGtCQUFrQjtBQUNwQjs7QUFFQTtFQUNFLHVCQUF1QjtFQUN2QiwrREFBeUU7RUFDekUsbUJBQW1CO0VBQ25CLGtCQUFrQjtBQUNwQjs7QUFFQTtFQUNFLHFCQUFxQjtFQUNyQiwrREFBdUY7RUFDdkYsbUJBQW1CO0VBQ25CLGtCQUFrQjtBQUNwQjs7QUFFQSxrQkFBa0I7QUFDbEI7RUFDRSwrQkFBK0I7RUFD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QUVBO0VBQ0UsbUJBQW1CO0FBQ3JCXCIsXCJzb3VyY2VzQ29udGVudFwiOltcIkBmb250LWZhY2Uge1xcbiAgZm9udC1mYW1pbHk6ICdCYXlvbic7XFxuICBzcmM6IHVybCgnLi9zaGFyZWQvYXNzZXRzL2ZvbnRzL0JheW9uLVJlZ3VsYXIudHRmJykgZm9ybWF0KCd0cnVldHlwZScpO1xcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcXG59XFxuXFxuQGZvbnQtZmFjZSB7XFxuICBmb250LWZhbWlseTogJ1NpZW1yZWFwJztcXG4gIHNyYzogdXJsKCcuL3NoYXJlZC9hc3NldHMvZm9udHMvU2llbXJlYXAtUmVndWxhci50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7XFxuICBmb250LXdlaWdodDogbm9ybWFsO1xcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xcbn1cXG5cXG5AZm9udC1mYWNlIHtcXG4gIGZvbnQtZmFtaWx5OiAnUm9ib3RvJztcXG4gIHNyYzogdXJsKCcuL3NoYXJlZC9hc3NldHMvZm9udHMvUm9ib3RvLVZhcmlhYmxlRm9udF93ZHRoXFxcXCx3Z2h0LnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKTtcXG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XFxuICBmb250LXN0eWxlOiBub3JtYWw7XFxufVxcblxcbi8qIEdsb2JhbCBTdHlsZXMgKi9cXG5ib2R5IHtcXG4gIGZvbnQtZmFtaWx5OiAnU2llbXJlYXAnLCBSb2JvdG87XFxuICBtYXJnaW46IDA7XFxuICBwYWRkaW5nOiAwO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XFxufVxcblxcbi8qIEZvcm0gdGl0bGUgKi9cXG4uZm9ybS10aXRsZSB7XFxuICBmb250LXNpemU6IDFyZW07XFxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XFxuICBjb2xvcjogIzMzMztcXG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XFxuICBmb250LWZhbWlseTogJ1NpZW1yZWFwJywgUm9ib3RvO1xcbn1cXG5cXG5cXG4vKiBGb3JtIHRpdGxlICovXFxuLmZvcm0tdGl0bGUyIHtcXG4gIGZvbnQtc2l6ZTogMC41cmVtO1xcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xcbiAgY29sb3I6ICMzMzM7XFxuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xcbiAgZm9udC1mYW1pbHk6ICdTaWVtcmVhcCcsIFJvYm90bztcXG59XFxuXFxuLyogTGFyZ2VyIHRpdGxlIG9uIGRlc2t0b3AgKi9cXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XFxuICAuZm9ybS10aXRsZTIge1xcbiAgICBmb250LXNpemU6IDFyZW07XFxuICB9XFxuICAuZm9ybS10aXRsZSB7XFxuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xcbiAgfVxcbn1cXG5cXG4vKiBEaXZpZGVycyAqL1xcbi5kaXZpZGVyIHtcXG4gIGhlaWdodDogMnB4O1xcbiAgYmFja2dyb3VuZDogI2RkZDtcXG4gIG1hcmdpbjogMTBweCAwO1xcbn1cXG5cXG4uZGl2aWRlcjIge1xcbiAgaGVpZ2h0OiAxcHg7XFxuICBiYWNrZ3JvdW5kOiAjY2NjO1xcbiAgbWFyZ2luOiA1cHggMDtcXG59XFxuXFxuLyogQ2FyZCBTdHlsZSAqL1xcbi5jYXJkIHtcXG4gIGJhY2tncm91bmQ6IHdoaXRlO1xcbiAgcGFkZGluZzogMjBweDtcXG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XFxuICBib3gtc2hhZG93OiAwIDJweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcXG4gIG1heC13aWR0aDogNTAwcHg7XFxuICB3aWR0aDogMTAwJTtcXG59XFxuXFxuLyogQnV0dG9ucyAqL1xcbmJ1dHRvbiB7XFxuICBiYWNrZ3JvdW5kOiAjMTg5MGZmO1xcbiAgY29sb3I6IHdoaXRlO1xcbiAgYm9yZGVyOiBub25lO1xcbiAgcGFkZGluZzogMTJweDtcXG4gIGJvcmRlci1yYWRpdXM6IDVweDtcXG4gIGN1cnNvcjogcG9pbnRlcjtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjNzIGVhc2U7XFxufVxcblxcbmJ1dHRvbjpob3ZlciB7XFxuICBiYWNrZ3JvdW5kOiAjNDBhOWZmO1xcbn1cXG5cXG4vKiBGaWxlIFVwbG9hZCBDb250YWluZXIgKi9cXG4udXBsb2FkLWNvbnRhaW5lciB7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gIGdhcDogMTBweDtcXG59XFxuXFxuLyogQ2VudGVyZWQgSXRlbXMgKi9cXG4uaXRlbXMtY2VudGVyIHtcXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuXFxufVxcblxcbi8qIERpdmlkZXIgZm9yIFVJICovXFxuLmRpdmlkZXItY29udGFpbmVyIHtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XFxuICBtYXJnaW46IDEuNXJlbSAwO1xcbn1cXG5cXG4uZGl2aWRlci1saW5lIHtcXG4gIHdpZHRoOiA4MCU7XFxuICBoZWlnaHQ6IDJweDtcXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgIzYwYTVmYSwgI2E4NTVmNywgI2VjNDg5OSk7XFxufVxcblxcbi5kaXZpZGVyLXRleHQge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XFxuICBwYWRkaW5nOiAwIDhweDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcXG59XFxuXFxuLmRpdmlkZXItdGV4dCBzcGFuIHtcXG4gIGZvbnQtc2l6ZTogMnJlbTtcXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgIzYwYTVmYSwgI2E4NTVmNywgI2VjNDg5OSk7XFxuICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDtcXG4gIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudDtcXG59XFxuXFxuLyogU3RlcCBJbmRpY2F0b3IgKi9cXG4uYW50LXN0ZXBzLWl0ZW0tdGl0bGUge1xcbiAgY3Vyc29yOiBwb2ludGVyO1xcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4ycyBlYXNlLWluLW91dDtcXG59XFxuXFxuLmFudC1zdGVwcy1pdGVtLXRpdGxlOmhvdmVyIHtcXG4gIGNvbG9yOiAjMTg5MGZmICFpbXBvcnRhbnQ7XFxufVxcblxcbi8qIEZsZXggc3BhY2luZyAqL1xcbi5jdXN0b20tZ2FwIHtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgd2lkdGg6IDEwMCU7XFxuICBtYXJnaW4tYm90dG9tOiAyMHB4OyAvKiBTcGFjZSBiZXR3ZWVuIHRvcCByb3cgYW5kIGJvdHRvbSBsb2dvICovXFxufVxcblxcbi5zcGFjZXIge1xcbiAgZmxleC1ncm93OiAxOyAvKiBBdXRvbWF0aWNhbGx5IHRha2VzIHVwIHJlbWFpbmluZyBzcGFjZSAqL1xcbn1cXG5cXG4vKiBQYWRkaW5nIEZpeGVzICovXFxuLnBhZGRpbmctcmlnaHQtMTYge1xcbiAgcGFkZGluZy1yaWdodDogMTZweDtcXG59XFxuXFxuLnBhZGRpbmctcmlnaHQtNjQge1xcbiAgcGFkZGluZy1yaWdodDogNjRweDtcXG59XFxuLnBhZGRpbmctbGVmdC02NCB7XFxuICBwYWRkaW5nLWxlZnQ6IDY0cHg7XFxufVxcblxcbi8qIExvZ28gU2VjdGlvbiAqL1xcbi5sb2dvLWNvbnRhaW5lciB7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgZ2FwOiAxMHB4O1xcbn1cXG5cXG4vKiBMb2dvIFN0eWxlcyAqL1xcbi5oZWFkaW5nTG9nbyxcXG4uaGVhZGluZ0xvZ28yIHtcXG4gIHdpZHRoOiAxNXZ3O1xcbiAgaGVpZ2h0OiBhdXRvO1xcbiAgbWF4LXdpZHRoOiAxMjBweDtcXG59XFxuXFxuQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkge1xcbiAgLmhlYWRpbmdMb2dvLFxcbiAgLmhlYWRpbmdMb2dvMiB7XFxuICAgIHdpZHRoOiA4dnc7XFxuICAgIG1heC13aWR0aDogMTAwcHg7XFxuICB9XFxufVxcblxcbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xcbiAgLmhlYWRpbmdMb2dvLFxcbiAgLmhlYWRpbmdMb2dvMiB7XFxuICAgIHdpZHRoOiAxMnZ3O1xcbiAgICBtYXgtd2lkdGg6IDgwcHg7XFxuICB9XFxufVxcblxcbkBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xcbiAgLmhlYWRpbmdMb2dvLFxcbiAgLmhlYWRpbmdMb2dvMiB7XFxuICAgIHdpZHRoOiAxNXZ3O1xcbiAgICBtYXgtd2lkdGg6IDYwcHg7XFxuICB9XFxuICAucGFkZGluZy1yaWdodC02NCB7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7XFxuICB9XFxuICAucGFkZGluZy1sZWZ0LTY0IHtcXG4gICAgcGFkZGluZy1sZWZ0OiAxNnB4O1xcbiAgfVxcbn1cXG5cXG4vKiBWb2x1bnRlZXIgUmVnaXN0cmF0aW9uIFNlY3Rpb24gKi9cXG4udGV4dC1yZWQtNjAwIHtcXG4gIGNvbG9yOiAjQkI1OTVGO1xcbn1cXG4ucGFkZGluZy10b3AtYm90dG9tIHtcXG4gIHBhZGRpbmc6IDhweCAwcHg7XFxufVxcbi5wYWRkaW5nLXRvcC02IHtcXG4gIHBhZGRpbmctdG9wOiA2cHg7XFxufVxcblxcbi5tYXJnaW4tdG9wLTE2IHtcXG4gIG1hcmdpbi10b3A6IDE2cHg7XFxufVxcblxcblxcbi8qIFVwbG9hZCBidXR0b24gc3R5bGVzICovXFxuLmFudC11cGxvYWQtbGlzdC1pdGVtLWNvbnRhaW5lciB7XFxuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xcbn1cXG4uaW1hZ2UtY29udGFpbmVyIHtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIHdpZHRoOiAxMDAlO1xcbn1cXG5cXG4uZnVsbHNjcmVlbi1pbWFnZSB7XFxuICBpbnNldDogMDtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgaGVpZ2h0OiAxMDAlO1xcbiAgb2JqZWN0LWZpdDogY292ZXI7XFxuICBvYmplY3QtcG9zaXRpb246IHRvcDtcXG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xcbn1cXG5cXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcXG4gIC5mdWxsc2NyZWVuLWltYWdlIHtcXG4gICAgaGVpZ2h0OiA0MHZoICFpbXBvcnRhbnQ7XFxuICAgIG1pbi1oZWlnaHQ6IDQwdmggIWltcG9ydGFudDtcXG4gIH1cXG59XFxuXFxuXFxuXFxuLyogVXBsb2FkIENhcmRzIC0gQWRkcyBQYWRkaW5nIGFuZCBDb25zaXN0ZW5jeSAqL1xcbi51cGxvYWQtY2FyZCB7XFxuICBwYWRkaW5nOiAxNnB4O1xcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xcbiAgYm94LXNoYWRvdzogMHB4IDRweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcXG59XFxuXFxuLyogUGxhY2Vob2xkZXIgSW1hZ2UgLSBFbnN1cmVzIENvbnNpc3RlbnQgRGlzcGxheSAqL1xcbi51cGxvYWQtcGxhY2Vob2xkZXIge1xcbiAgd2lkdGg6IDEwMCU7XFxuICBoZWlnaHQ6IGF1dG87XFxuICBtYXgtaGVpZ2h0OiAxMDBweDtcXG59XFxuXFxuLyogRHJhZyAmIERyb3AgVXBsb2FkIC0gTWFrZXMgQ1YgVXBsb2FkIE1vcmUgSW50dWl0aXZlICovXFxuLmFudC11cGxvYWQtZHJhZyB7XFxuICBiYWNrZ3JvdW5kOiAjZjlmOWY5O1xcbiAgYm9yZGVyOiAycHggZGFzaGVkICNjY2M7XFxuICBwYWRkaW5nOiAyMHB4O1xcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xcbn1cXG5cXG4uYW50LXVwbG9hZC1kcmFnOmhvdmVyIHtcXG4gIGJvcmRlci1jb2xvcjogIzE4OTBmZjtcXG4gIGJhY2tncm91bmQ6ICNlZWY2ZmY7XFxufVxcblxcblxcblxcbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xcbiAgLmNvbnRhaW5lciB7XFxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICB9XFxuXFxuICAubGVmdC1zZWN0aW9uIHtcXG4gICAgd2lkdGg6IDEwMCU7XFxuICAgIGhlaWdodDogMTAwdmg7XFxuICAgIGJhY2tncm91bmQ6IHVybChcXFwiLi9zaGFyZWQvYXNzZXRzL2ltYWdlcy90ZWFtLnBuZ1xcXCIpIG5vLXJlcGVhdCBjZW50ZXIvY292ZXI7XFxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gICAgdG9wOiAwO1xcbiAgICBsZWZ0OiAwO1xcbiAgICB6LWluZGV4OiAtMTtcXG4gIH1cXG5cXG4gIC5yaWdodC1zZWN0aW9uIHtcXG4gICAgd2lkdGg6IDEwMCU7XFxuICAgIGhlaWdodDogMTAwdmg7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgfVxcbn1cXG5cXG5AbWVkaWEgKG1pbi13aWR0aDogNzY5cHgpIHtcXG4gIC5jb250YWluZXIge1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICB3aWR0aDogMTAwdnc7XFxuICAgIGhlaWdodDogMTAwdmg7XFxuICB9XFxuXFxuICAubGVmdC1zZWN0aW9uIHtcXG4gICAgd2lkdGg6IDMwdnc7XFxuICAgIGhlaWdodDogMTAwdmg7XFxuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XFxuICAgIGJhY2tncm91bmQ6IHVybChcXFwiLi9zaGFyZWQvYXNzZXRzL2ltYWdlcy90ZWFtLnBuZ1xcXCIpIG5vLXJlcGVhdCBjZW50ZXIvY292ZXI7XFxuICB9XFxuXFxuICAucmlnaHQtc2VjdGlvbiB7XFxuICAgIHdpZHRoOiA3MHZ3O1xcbiAgICBoZWlnaHQ6IDEwMHZoO1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y0ZjRmNDtcXG4gICAgcGFkZGluZzogMTZweDtcXG4gIH1cXG59XFxuXFxuaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEge1xcbiAgZm9udC1zaXplOiAxNnB4ICFpbXBvcnRhbnQ7XFxufVxcblxcblxcbi5hdHRlbmRhbmNlLXBhZ2Uge1xcbiAgZGlzcGxheTogZmxleDtcXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICBoZWlnaHQ6IDEwMCU7XFxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XFxufVxcblxcbi5hdHRlbmRhbmNlLXBhZ2UgaDIge1xcbiAgZm9udC1zaXplOiAyNHB4O1xcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcXG59XFxuXFxuLmF0dGVuZGFuY2UtcGFnZSBwIHtcXG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XFxufVwiXSxcInNvdXJjZVJvb3RcIjpcIlwifV0pO1xuLy8gRXhwb3J0c1xuZXhwb3J0IGRlZmF1bHQgX19fQ1NTX0xPQURFUl9FWFBPUlRfX187XG4iLCJ2YXIgbWFwID0ge1xuXHRcIi4vYWZcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9hZi5qc1wiLFxuXHRcIi4vYWYuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9hZi5qc1wiLFxuXHRcIi4vYXJcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9hci5qc1wiLFxuXHRcIi4vYXItZHpcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9hci1kei5qc1wiLFxuXHRcIi4vYXItZHouanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9hci1kei5qc1wiLFxuXHRcIi4vYXIta3dcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9hci1rdy5qc1wiLFxuXHRcIi4vYXIta3cuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9hci1rdy5qc1wiLFxuXHRcIi4vYXItbHlcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9hci1seS5qc1wiLFxuXHRcIi4vYXItbHkuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9hci1seS5qc1wiLFxuXHRcIi4vYXItbWFcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9hci1tYS5qc1wiLFxuXHRcIi4vYXItbWEuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9hci1tYS5qc1wiLFxuXHRcIi4vYXItcHNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9hci1wcy5qc1wiLFxuXHRcIi4vYXItcHMuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9hci1wcy5qc1wiLFxuXHRcIi4vYXItc2FcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9hci1zYS5qc1wiLFxuXHRcIi4vYXItc2EuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9hci1zYS5qc1wiLFxuXHRcIi4vYXItdG5cIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9hci10bi5qc1wiLFxuXHRcIi4vYXItdG4uanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9hci10bi5qc1wiLFxuXHRcIi4vYXIuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9hci5qc1wiLFxuXHRcIi4vYXpcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9hei5qc1wiLFxuXHRcIi4vYXouanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9hei5qc1wiLFxuXHRcIi4vYmVcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9iZS5qc1wiLFxuXHRcIi4vYmUuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9iZS5qc1wiLFxuXHRcIi4vYmdcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9iZy5qc1wiLFxuXHRcIi4vYmcuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9iZy5qc1wiLFxuXHRcIi4vYm1cIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9ibS5qc1wiLFxuXHRcIi4vYm0uanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9ibS5qc1wiLFxuXHRcIi4vYm5cIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9ibi5qc1wiLFxuXHRcIi4vYm4tYmRcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9ibi1iZC5qc1wiLFxuXHRcIi4vYm4tYmQuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9ibi1iZC5qc1wiLFxuXHRcIi4vYm4uanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9ibi5qc1wiLFxuXHRcIi4vYm9cIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9iby5qc1wiLFxuXHRcIi4vYm8uanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9iby5qc1wiLFxuXHRcIi4vYnJcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9ici5qc1wiLFxuXHRcIi4vYnIuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9ici5qc1wiLFxuXHRcIi4vYnNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9icy5qc1wiLFxuXHRcIi4vYnMuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9icy5qc1wiLFxuXHRcIi4vY2FcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9jYS5qc1wiLFxuXHRcIi4vY2EuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9jYS5qc1wiLFxuXHRcIi4vY3NcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9jcy5qc1wiLFxuXHRcIi4vY3MuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9jcy5qc1wiLFxuXHRcIi4vY3ZcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9jdi5qc1wiLFxuXHRcIi4vY3YuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9jdi5qc1wiLFxuXHRcIi4vY3lcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9jeS5qc1wiLFxuXHRcIi4vY3kuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9jeS5qc1wiLFxuXHRcIi4vZGFcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9kYS5qc1wiLFxuXHRcIi4vZGEuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9kYS5qc1wiLFxuXHRcIi4vZGVcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9kZS5qc1wiLFxuXHRcIi4vZGUtYXRcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9kZS1hdC5qc1wiLFxuXHRcIi4vZGUtYXQuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9kZS1hdC5qc1wiLFxuXHRcIi4vZGUtY2hcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9kZS1jaC5qc1wiLFxuXHRcIi4vZGUtY2guanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9kZS1jaC5qc1wiLFxuXHRcIi4vZGUuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9kZS5qc1wiLFxuXHRcIi4vZHZcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9kdi5qc1wiLFxuXHRcIi4vZHYuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9kdi5qc1wiLFxuXHRcIi4vZWxcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9lbC5qc1wiLFxuXHRcIi4vZWwuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9lbC5qc1wiLFxuXHRcIi4vZW4tYXVcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9lbi1hdS5qc1wiLFxuXHRcIi4vZW4tYXUuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9lbi1hdS5qc1wiLFxuXHRcIi4vZW4tY2FcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9lbi1jYS5qc1wiLFxuXHRcIi4vZW4tY2EuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9lbi1jYS5qc1wiLFxuXHRcIi4vZW4tZ2JcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9lbi1nYi5qc1wiLFxuXHRcIi4vZW4tZ2IuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9lbi1nYi5qc1wiLFxuXHRcIi4vZW4taWVcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9lbi1pZS5qc1wiLFxuXHRcIi4vZW4taWUuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9lbi1pZS5qc1wiLFxuXHRcIi4vZW4taWxcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9lbi1pbC5qc1wiLFxuXHRcIi4vZW4taWwuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9lbi1pbC5qc1wiLFxuXHRcIi4vZW4taW5cIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9lbi1pbi5qc1wiLFxuXHRcIi4vZW4taW4uanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9lbi1pbi5qc1wiLFxuXHRcIi4vZW4tbnpcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9lbi1uei5qc1wiLFxuXHRcIi4vZW4tbnouanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9lbi1uei5qc1wiLFxuXHRcIi4vZW4tc2dcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9lbi1zZy5qc1wiLFxuXHRcIi4vZW4tc2cuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9lbi1zZy5qc1wiLFxuXHRcIi4vZW9cIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9lby5qc1wiLFxuXHRcIi4vZW8uanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9lby5qc1wiLFxuXHRcIi4vZXNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9lcy5qc1wiLFxuXHRcIi4vZXMtZG9cIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9lcy1kby5qc1wiLFxuXHRcIi4vZXMtZG8uanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9lcy1kby5qc1wiLFxuXHRcIi4vZXMtbXhcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9lcy1teC5qc1wiLFxuXHRcIi4vZXMtbXguanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9lcy1teC5qc1wiLFxuXHRcIi4vZXMtdXNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9lcy11cy5qc1wiLFxuXHRcIi4vZXMtdXMuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9lcy11cy5qc1wiLFxuXHRcIi4vZXMuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9lcy5qc1wiLFxuXHRcIi4vZXRcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9ldC5qc1wiLFxuXHRcIi4vZXQuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9ldC5qc1wiLFxuXHRcIi4vZXVcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9ldS5qc1wiLFxuXHRcIi4vZXUuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9ldS5qc1wiLFxuXHRcIi4vZmFcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9mYS5qc1wiLFxuXHRcIi4vZmEuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9mYS5qc1wiLFxuXHRcIi4vZmlcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9maS5qc1wiLFxuXHRcIi4vZmkuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9maS5qc1wiLFxuXHRcIi4vZmlsXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvZmlsLmpzXCIsXG5cdFwiLi9maWwuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9maWwuanNcIixcblx0XCIuL2ZvXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvZm8uanNcIixcblx0XCIuL2ZvLmpzXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvZm8uanNcIixcblx0XCIuL2ZyXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvZnIuanNcIixcblx0XCIuL2ZyLWNhXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvZnItY2EuanNcIixcblx0XCIuL2ZyLWNhLmpzXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvZnItY2EuanNcIixcblx0XCIuL2ZyLWNoXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvZnItY2guanNcIixcblx0XCIuL2ZyLWNoLmpzXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvZnItY2guanNcIixcblx0XCIuL2ZyLmpzXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvZnIuanNcIixcblx0XCIuL2Z5XCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvZnkuanNcIixcblx0XCIuL2Z5LmpzXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvZnkuanNcIixcblx0XCIuL2dhXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvZ2EuanNcIixcblx0XCIuL2dhLmpzXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvZ2EuanNcIixcblx0XCIuL2dkXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvZ2QuanNcIixcblx0XCIuL2dkLmpzXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvZ2QuanNcIixcblx0XCIuL2dsXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvZ2wuanNcIixcblx0XCIuL2dsLmpzXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvZ2wuanNcIixcblx0XCIuL2dvbS1kZXZhXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvZ29tLWRldmEuanNcIixcblx0XCIuL2dvbS1kZXZhLmpzXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvZ29tLWRldmEuanNcIixcblx0XCIuL2dvbS1sYXRuXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvZ29tLWxhdG4uanNcIixcblx0XCIuL2dvbS1sYXRuLmpzXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvZ29tLWxhdG4uanNcIixcblx0XCIuL2d1XCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvZ3UuanNcIixcblx0XCIuL2d1LmpzXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvZ3UuanNcIixcblx0XCIuL2hlXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvaGUuanNcIixcblx0XCIuL2hlLmpzXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvaGUuanNcIixcblx0XCIuL2hpXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvaGkuanNcIixcblx0XCIuL2hpLmpzXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvaGkuanNcIixcblx0XCIuL2hyXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvaHIuanNcIixcblx0XCIuL2hyLmpzXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvaHIuanNcIixcblx0XCIuL2h1XCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvaHUuanNcIixcblx0XCIuL2h1LmpzXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvaHUuanNcIixcblx0XCIuL2h5LWFtXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvaHktYW0uanNcIixcblx0XCIuL2h5LWFtLmpzXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvaHktYW0uanNcIixcblx0XCIuL2lkXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvaWQuanNcIixcblx0XCIuL2lkLmpzXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvaWQuanNcIixcblx0XCIuL2lzXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvaXMuanNcIixcblx0XCIuL2lzLmpzXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvaXMuanNcIixcblx0XCIuL2l0XCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvaXQuanNcIixcblx0XCIuL2l0LWNoXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvaXQtY2guanNcIixcblx0XCIuL2l0LWNoLmpzXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvaXQtY2guanNcIixcblx0XCIuL2l0LmpzXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvaXQuanNcIixcblx0XCIuL2phXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvamEuanNcIixcblx0XCIuL2phLmpzXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvamEuanNcIixcblx0XCIuL2p2XCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvanYuanNcIixcblx0XCIuL2p2LmpzXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvanYuanNcIixcblx0XCIuL2thXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUva2EuanNcIixcblx0XCIuL2thLmpzXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUva2EuanNcIixcblx0XCIuL2trXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUva2suanNcIixcblx0XCIuL2trLmpzXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUva2suanNcIixcblx0XCIuL2ttXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUva20uanNcIixcblx0XCIuL2ttLmpzXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUva20uanNcIixcblx0XCIuL2tuXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUva24uanNcIixcblx0XCIuL2tuLmpzXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUva24uanNcIixcblx0XCIuL2tvXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUva28uanNcIixcblx0XCIuL2tvLmpzXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUva28uanNcIixcblx0XCIuL2t1XCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUva3UuanNcIixcblx0XCIuL2t1LWttclwiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2t1LWttci5qc1wiLFxuXHRcIi4va3Uta21yLmpzXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUva3Uta21yLmpzXCIsXG5cdFwiLi9rdS5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2t1LmpzXCIsXG5cdFwiLi9reVwiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2t5LmpzXCIsXG5cdFwiLi9reS5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2t5LmpzXCIsXG5cdFwiLi9sYlwiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2xiLmpzXCIsXG5cdFwiLi9sYi5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2xiLmpzXCIsXG5cdFwiLi9sb1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2xvLmpzXCIsXG5cdFwiLi9sby5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2xvLmpzXCIsXG5cdFwiLi9sdFwiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2x0LmpzXCIsXG5cdFwiLi9sdC5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2x0LmpzXCIsXG5cdFwiLi9sdlwiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2x2LmpzXCIsXG5cdFwiLi9sdi5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL2x2LmpzXCIsXG5cdFwiLi9tZVwiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL21lLmpzXCIsXG5cdFwiLi9tZS5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL21lLmpzXCIsXG5cdFwiLi9taVwiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL21pLmpzXCIsXG5cdFwiLi9taS5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL21pLmpzXCIsXG5cdFwiLi9ta1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL21rLmpzXCIsXG5cdFwiLi9tay5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL21rLmpzXCIsXG5cdFwiLi9tbFwiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL21sLmpzXCIsXG5cdFwiLi9tbC5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL21sLmpzXCIsXG5cdFwiLi9tblwiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL21uLmpzXCIsXG5cdFwiLi9tbi5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL21uLmpzXCIsXG5cdFwiLi9tclwiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL21yLmpzXCIsXG5cdFwiLi9tci5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL21yLmpzXCIsXG5cdFwiLi9tc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL21zLmpzXCIsXG5cdFwiLi9tcy1teVwiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL21zLW15LmpzXCIsXG5cdFwiLi9tcy1teS5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL21zLW15LmpzXCIsXG5cdFwiLi9tcy5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL21zLmpzXCIsXG5cdFwiLi9tdFwiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL210LmpzXCIsXG5cdFwiLi9tdC5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL210LmpzXCIsXG5cdFwiLi9teVwiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL215LmpzXCIsXG5cdFwiLi9teS5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL215LmpzXCIsXG5cdFwiLi9uYlwiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL25iLmpzXCIsXG5cdFwiLi9uYi5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL25iLmpzXCIsXG5cdFwiLi9uZVwiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL25lLmpzXCIsXG5cdFwiLi9uZS5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL25lLmpzXCIsXG5cdFwiLi9ubFwiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL25sLmpzXCIsXG5cdFwiLi9ubC1iZVwiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL25sLWJlLmpzXCIsXG5cdFwiLi9ubC1iZS5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL25sLWJlLmpzXCIsXG5cdFwiLi9ubC5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL25sLmpzXCIsXG5cdFwiLi9ublwiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL25uLmpzXCIsXG5cdFwiLi9ubi5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL25uLmpzXCIsXG5cdFwiLi9vYy1sbmNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9vYy1sbmMuanNcIixcblx0XCIuL29jLWxuYy5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL29jLWxuYy5qc1wiLFxuXHRcIi4vcGEtaW5cIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9wYS1pbi5qc1wiLFxuXHRcIi4vcGEtaW4uanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9wYS1pbi5qc1wiLFxuXHRcIi4vcGxcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9wbC5qc1wiLFxuXHRcIi4vcGwuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9wbC5qc1wiLFxuXHRcIi4vcHRcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9wdC5qc1wiLFxuXHRcIi4vcHQtYnJcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9wdC1ici5qc1wiLFxuXHRcIi4vcHQtYnIuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9wdC1ici5qc1wiLFxuXHRcIi4vcHQuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9wdC5qc1wiLFxuXHRcIi4vcm9cIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9yby5qc1wiLFxuXHRcIi4vcm8uanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9yby5qc1wiLFxuXHRcIi4vcnVcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9ydS5qc1wiLFxuXHRcIi4vcnUuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9ydS5qc1wiLFxuXHRcIi4vc2RcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9zZC5qc1wiLFxuXHRcIi4vc2QuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9zZC5qc1wiLFxuXHRcIi4vc2VcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9zZS5qc1wiLFxuXHRcIi4vc2UuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9zZS5qc1wiLFxuXHRcIi4vc2lcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9zaS5qc1wiLFxuXHRcIi4vc2kuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9zaS5qc1wiLFxuXHRcIi4vc2tcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9zay5qc1wiLFxuXHRcIi4vc2suanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9zay5qc1wiLFxuXHRcIi4vc2xcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9zbC5qc1wiLFxuXHRcIi4vc2wuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9zbC5qc1wiLFxuXHRcIi4vc3FcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9zcS5qc1wiLFxuXHRcIi4vc3EuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9zcS5qc1wiLFxuXHRcIi4vc3JcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9zci5qc1wiLFxuXHRcIi4vc3ItY3lybFwiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3NyLWN5cmwuanNcIixcblx0XCIuL3NyLWN5cmwuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS9zci1jeXJsLmpzXCIsXG5cdFwiLi9zci5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3NyLmpzXCIsXG5cdFwiLi9zc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3NzLmpzXCIsXG5cdFwiLi9zcy5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3NzLmpzXCIsXG5cdFwiLi9zdlwiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3N2LmpzXCIsXG5cdFwiLi9zdi5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3N2LmpzXCIsXG5cdFwiLi9zd1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3N3LmpzXCIsXG5cdFwiLi9zdy5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3N3LmpzXCIsXG5cdFwiLi90YVwiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3RhLmpzXCIsXG5cdFwiLi90YS5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3RhLmpzXCIsXG5cdFwiLi90ZVwiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3RlLmpzXCIsXG5cdFwiLi90ZS5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3RlLmpzXCIsXG5cdFwiLi90ZXRcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS90ZXQuanNcIixcblx0XCIuL3RldC5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3RldC5qc1wiLFxuXHRcIi4vdGdcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS90Zy5qc1wiLFxuXHRcIi4vdGcuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS90Zy5qc1wiLFxuXHRcIi4vdGhcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS90aC5qc1wiLFxuXHRcIi4vdGguanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS90aC5qc1wiLFxuXHRcIi4vdGtcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS90ay5qc1wiLFxuXHRcIi4vdGsuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS90ay5qc1wiLFxuXHRcIi4vdGwtcGhcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS90bC1waC5qc1wiLFxuXHRcIi4vdGwtcGguanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS90bC1waC5qc1wiLFxuXHRcIi4vdGxoXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvdGxoLmpzXCIsXG5cdFwiLi90bGguanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS90bGguanNcIixcblx0XCIuL3RyXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvdHIuanNcIixcblx0XCIuL3RyLmpzXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvdHIuanNcIixcblx0XCIuL3R6bFwiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3R6bC5qc1wiLFxuXHRcIi4vdHpsLmpzXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvdHpsLmpzXCIsXG5cdFwiLi90em1cIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS90em0uanNcIixcblx0XCIuL3R6bS1sYXRuXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvdHptLWxhdG4uanNcIixcblx0XCIuL3R6bS1sYXRuLmpzXCI6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vbWVudC9sb2NhbGUvdHptLWxhdG4uanNcIixcblx0XCIuL3R6bS5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3R6bS5qc1wiLFxuXHRcIi4vdWctY25cIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS91Zy1jbi5qc1wiLFxuXHRcIi4vdWctY24uanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS91Zy1jbi5qc1wiLFxuXHRcIi4vdWtcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS91ay5qc1wiLFxuXHRcIi4vdWsuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS91ay5qc1wiLFxuXHRcIi4vdXJcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS91ci5qc1wiLFxuXHRcIi4vdXIuanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS91ci5qc1wiLFxuXHRcIi4vdXpcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS91ei5qc1wiLFxuXHRcIi4vdXotbGF0blwiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3V6LWxhdG4uanNcIixcblx0XCIuL3V6LWxhdG4uanNcIjogXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW9tZW50L2xvY2FsZS91ei1sYXRuLmpzXCIsXG5cdFwiLi91ei5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3V6LmpzXCIsXG5cdFwiLi92aVwiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3ZpLmpzXCIsXG5cdFwiLi92aS5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3ZpLmpzXCIsXG5cdFwiLi94LXBzZXVkb1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3gtcHNldWRvLmpzXCIsXG5cdFwiLi94LXBzZXVkby5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3gtcHNldWRvLmpzXCIsXG5cdFwiLi95b1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3lvLmpzXCIsXG5cdFwiLi95by5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3lvLmpzXCIsXG5cdFwiLi96aC1jblwiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3poLWNuLmpzXCIsXG5cdFwiLi96aC1jbi5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3poLWNuLmpzXCIsXG5cdFwiLi96aC1oa1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3poLWhrLmpzXCIsXG5cdFwiLi96aC1oay5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3poLWhrLmpzXCIsXG5cdFwiLi96aC1tb1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3poLW1vLmpzXCIsXG5cdFwiLi96aC1tby5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3poLW1vLmpzXCIsXG5cdFwiLi96aC10d1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3poLXR3LmpzXCIsXG5cdFwiLi96aC10dy5qc1wiOiBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlL3poLXR3LmpzXCJcbn07XG5cblxuZnVuY3Rpb24gd2VicGFja0NvbnRleHQocmVxKSB7XG5cdHZhciBpZCA9IHdlYnBhY2tDb250ZXh0UmVzb2x2ZShyZXEpO1xuXHRyZXR1cm4gX193ZWJwYWNrX3JlcXVpcmVfXyhpZCk7XG59XG5mdW5jdGlvbiB3ZWJwYWNrQ29udGV4dFJlc29sdmUocmVxKSB7XG5cdGlmKCFfX3dlYnBhY2tfcmVxdWlyZV9fLm8obWFwLCByZXEpKSB7XG5cdFx0dmFyIGUgPSBuZXcgRXJyb3IoXCJDYW5ub3QgZmluZCBtb2R1bGUgJ1wiICsgcmVxICsgXCInXCIpO1xuXHRcdGUuY29kZSA9ICdNT0RVTEVfTk9UX0ZPVU5EJztcblx0XHR0aHJvdyBlO1xuXHR9XG5cdHJldHVybiBtYXBbcmVxXTtcbn1cbndlYnBhY2tDb250ZXh0LmtleXMgPSBmdW5jdGlvbiB3ZWJwYWNrQ29udGV4dEtleXMoKSB7XG5cdHJldHVybiBPYmplY3Qua2V5cyhtYXApO1xufTtcbndlYnBhY2tDb250ZXh0LnJlc29sdmUgPSB3ZWJwYWNrQ29udGV4dFJlc29sdmU7XG5tb2R1bGUuZXhwb3J0cyA9IHdlYnBhY2tDb250ZXh0O1xud2VicGFja0NvbnRleHQuaWQgPSBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb21lbnQvbG9jYWxlIHN5bmMgcmVjdXJzaXZlIF5cXFxcLlxcXFwvLiokXCI7IiwiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IEJyb3dzZXJSb3V0ZXIgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCBBcHBSb3V0ZXMgZnJvbSAnLi9zaGFyZWQvcm91dGVzJztcblxuY29uc3QgQXBwOiBSZWFjdC5GQyA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8QnJvd3NlclJvdXRlcj5cbiAgICAgIDxBcHBSb3V0ZXMgLz5cbiAgICA8L0Jyb3dzZXJSb3V0ZXI+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBBcHA7XG4iLCJcbiAgICAgIGltcG9ydCBBUEkgZnJvbSBcIiEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvcnVudGltZS9pbmplY3RTdHlsZXNJbnRvU3R5bGVUYWcuanNcIjtcbiAgICAgIGltcG9ydCBkb21BUEkgZnJvbSBcIiEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvcnVudGltZS9zdHlsZURvbUFQSS5qc1wiO1xuICAgICAgaW1wb3J0IGluc2VydEZuIGZyb20gXCIhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9kaXN0L3J1bnRpbWUvaW5zZXJ0QnlTZWxlY3Rvci5qc1wiO1xuICAgICAgaW1wb3J0IHNldEF0dHJpYnV0ZXMgZnJvbSBcIiEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvcnVudGltZS9zZXRBdHRyaWJ1dGVzV2l0aG91dEF0dHJpYnV0ZXMuanNcIjtcbiAgICAgIGltcG9ydCBpbnNlcnRTdHlsZUVsZW1lbnQgZnJvbSBcIiEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvcnVudGltZS9pbnNlcnRTdHlsZUVsZW1lbnQuanNcIjtcbiAgICAgIGltcG9ydCBzdHlsZVRhZ1RyYW5zZm9ybUZuIGZyb20gXCIhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9kaXN0L3J1bnRpbWUvc3R5bGVUYWdUcmFuc2Zvcm0uanNcIjtcbiAgICAgIGltcG9ydCBjb250ZW50LCAqIGFzIG5hbWVkRXhwb3J0IGZyb20gXCIhIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvY2pzLmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9kaXN0L2Nqcy5qcyEuL2luZGV4LmNzc1wiO1xuICAgICAgXG4gICAgICBcblxudmFyIG9wdGlvbnMgPSB7fTtcblxub3B0aW9ucy5zdHlsZVRhZ1RyYW5zZm9ybSA9IHN0eWxlVGFnVHJhbnNmb3JtRm47XG5vcHRpb25zLnNldEF0dHJpYnV0ZXMgPSBzZXRBdHRyaWJ1dGVzO1xub3B0aW9ucy5pbnNlcnQgPSBpbnNlcnRGbi5iaW5kKG51bGwsIFwiaGVhZFwiKTtcbm9wdGlvbnMuZG9tQVBJID0gZG9tQVBJO1xub3B0aW9ucy5pbnNlcnRTdHlsZUVsZW1lbnQgPSBpbnNlcnRTdHlsZUVsZW1lbnQ7XG5cbnZhciB1cGRhdGUgPSBBUEkoY29udGVudCwgb3B0aW9ucyk7XG5cblxuXG5leHBvcnQgKiBmcm9tIFwiISEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L2Nqcy5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvZGlzdC9janMuanMhLi9pbmRleC5jc3NcIjtcbiAgICAgICBleHBvcnQgZGVmYXVsdCBjb250ZW50ICYmIGNvbnRlbnQubG9jYWxzID8gY29udGVudC5sb2NhbHMgOiB1bmRlZmluZWQ7XG4iLCIvLyBJbXBvcnQgZGVwZW5kZW5jaWVzXG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgY3JlYXRlUm9vdCB9IGZyb20gJ3JlYWN0LWRvbS9jbGllbnQnO1xuaW1wb3J0IHsgUHJvdmlkZXIgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5cbi8vIEltcG9ydCBhcHBsaWNhdGlvbiBjb21wb25lbnRzIGFuZCBzdHlsZXNcbmltcG9ydCBBcHAgZnJvbSAnLi9hcHAnO1xuaW1wb3J0ICcuL2luZGV4LmNzcyc7XG5pbXBvcnQgeyBzdG9yZSB9IGZyb20gJy4vc2hhcmVkL3JlZHV4L3N0b3JlJztcblxuLy8gV2FpdCBmb3IgRE9NIGNvbnRlbnQgdG8gbG9hZFxuZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignRE9NQ29udGVudExvYWRlZCcsICgpID0+IHtcbiAgY29uc3Qgcm9vdEVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncm9vdCcpO1xuXG4gIGlmIChyb290RWxlbWVudCkge1xuICAgIGNvbnN0IHJvb3QgPSBjcmVhdGVSb290KHJvb3RFbGVtZW50KTtcbiAgICByb290LnJlbmRlcihcbiAgICAgIDxQcm92aWRlciBzdG9yZT17c3RvcmV9PlxuICAgICAgICA8QXBwIC8+XG4gICAgICA8L1Byb3ZpZGVyPixcbiAgICApO1xuICB9IGVsc2Uge1xuICAgIGNvbnNvbGUuZXJyb3IoJ1Jvb3QgZWxlbWVudCBub3QgZm91bmQuIFVuYWJsZSB0byByZW5kZXIgdGhlIGFwcGxpY2F0aW9uLicpO1xuICB9XG59KTtcbiIsImltcG9ydCB7IGNyZWF0ZUFzeW5jVGh1bmsgfSBmcm9tICdAcmVkdXhqcy90b29sa2l0JztcbmltcG9ydCB7IEFVVEhFTlRJQ0FUSU9OX0xPR0lOLCBBVVRIRU5USUNBVElPTl9MT0dJTl9URUxFR1JBTSwgQVVUSEVOVElDQVRJT05fUkVHSVNURVIsIEFVVEhFTlRJQ0FUSU9OX1ZFUklGWV9PUFQsIFVTRVJfQVRURU5EQU5DRSB9IGZyb20gJy4vY29uc3RhbnRzJztcbmltcG9ydCB7IGxvZ2luVGVsZWdyYW1Vc2VyU2VydmljZSwgbG9naW5Vc2VyU2VydmljZSwgcmVnaXN0ZXJUZWxlZ3JhbVVzZXJTZXJ2aWNlLCB1c2VyQXR0ZW5kYW5jZVNlcnZpY2UsIHZlcmlmeU9UUFNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzJztcblxuXG5leHBvcnQgY29uc3QgbG9naW5Vc2VyQWN0aW9uOiBhbnkgPSBjcmVhdGVBc3luY1RodW5rKFxuICBBVVRIRU5USUNBVElPTl9MT0dJTixcbiAgbG9naW5Vc2VyU2VydmljZSxcbik7XG5cbmV4cG9ydCBjb25zdCB2ZXJpZnlPVFBBY3Rpb246IGFueSA9IGNyZWF0ZUFzeW5jVGh1bmsoXG4gIEFVVEhFTlRJQ0FUSU9OX1ZFUklGWV9PUFQsXG4gIHZlcmlmeU9UUFNlcnZpY2Vcbik7XG5cbmV4cG9ydCBjb25zdCBsb2dpblRlbGVncmFtVXNlckFjdGlvbjogYW55ID0gY3JlYXRlQXN5bmNUaHVuayhcbiAgQVVUSEVOVElDQVRJT05fTE9HSU5fVEVMRUdSQU0sXG4gIGxvZ2luVGVsZWdyYW1Vc2VyU2VydmljZSxcbik7XG5cbmV4cG9ydCBjb25zdCByZWdpc3RlclRlbGVncmFtVXNlckFjdGlvbjogYW55ID0gY3JlYXRlQXN5bmNUaHVuayhcbiAgQVVUSEVOVElDQVRJT05fUkVHSVNURVIsXG4gIHJlZ2lzdGVyVGVsZWdyYW1Vc2VyU2VydmljZSxcbik7XG5cblxuZXhwb3J0IGNvbnN0IHVzZXJBdHRlbmRhbmNlQWN0aW9uOiBhbnkgPSBjcmVhdGVBc3luY1RodW5rKFxuICBVU0VSX0FUVEVOREFOQ0UsXG4gIHVzZXJBdHRlbmRhbmNlU2VydmljZSxcbik7IiwiZXhwb3J0IGNvbnN0IEFVVEggPSAnYXV0aCc7XG5leHBvcnQgY29uc3QgQVVUSEVOVElDQVRJT05fTE9HSU4gPSAnL2F1dGgvbG9naW5zJztcbmV4cG9ydCBjb25zdCBBVVRIRU5USUNBVElPTl9MT0dJTl9URUxFR1JBTSA9ICcvYXV0aC9sb2dpbic7XG5leHBvcnQgY29uc3QgQVVUSEVOVElDQVRJT05fUkVHSVNURVIgPSAnL2F1dGgvcmVnaXN0ZXInO1xuZXhwb3J0IGNvbnN0IEFVVEhFTlRJQ0FUSU9OX1ZFUklGWV9PUFQgPSAnYXBpL3YxL3ZlcmlmeSc7XG5leHBvcnQgY29uc3QgVVNFUl9BVFRFTkRBTkNFID0gJy91c2VyLWF0dGVuZGFuY2VzJztcbiIsIi8qIGVzbGludC1kaXNhYmxlIG5vLWNvbnNvbGUgKi9cblxuaW1wb3J0IHsgY3JlYXRlU2xpY2UsIFBheWxvYWRBY3Rpb24gfSBmcm9tICdAcmVkdXhqcy90b29sa2l0JztcbmltcG9ydCB7IEF1dGhTdGF0ZSwgVXNlciB9IGZyb20gJ0Avc2hhcmVkL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgbG9naW5UZWxlZ3JhbVVzZXJBY3Rpb24sIGxvZ2luVXNlckFjdGlvbiwgdmVyaWZ5T1RQQWN0aW9uIH0gZnJvbSAnLi9hY3Rpb25zJztcbmltcG9ydCB7IEFVVEggfSBmcm9tICcuL2NvbnN0YW50cyc7XG5cbi8vIFNhZmVseSByZXRyaWV2ZSBzZXNzaW9uIGRhdGFcbmNvbnN0IGdldFNlc3Npb25JdGVtID0gKGtleTogc3RyaW5nKSA9PiB7XG4gIHRyeSB7XG4gICAgY29uc3QgaXRlbSA9IHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oa2V5KTtcbiAgICByZXR1cm4gaXRlbSA/IEpTT04ucGFyc2UoaXRlbSkgOiBudWxsO1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIGNvbnNvbGUuZXJyb3IoYEVycm9yIHJldHJpZXZpbmcgc2Vzc2lvbiBpdGVtICgke2tleX0pOmAsIGVycm9yKTtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxufTtcblxuY29uc3QgZ2V0U2Vzc2lvblRva2VuID0gKGtleTogc3RyaW5nKSA9PiB7XG4gIHRyeSB7XG4gICAgY29uc3QgaXRlbSA9IHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oa2V5KTtcbiAgICByZXR1cm4gaXRlbSA/IGl0ZW0gOiBudWxsO1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIGNvbnNvbGUuZXJyb3IoYEVycm9yIHJldHJpZXZpbmcgc2Vzc2lvbiBpdGVtICgke2tleX0pOmAsIGVycm9yKTtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxufTtcblxuY29uc3QgaW5pdGlhbFN0YXRlOiBBdXRoU3RhdGUgPSB7XG4gIGN1cnJlbnRVc2VyOiBnZXRTZXNzaW9uSXRlbSgnY3VycmVudFVzZXInKSxcbiAgaXNMb2dpblBlbmRpbmc6IGZhbHNlLFxuICBwYWdpbmF0aW9uOiB7XG4gICAgY3VycmVudFBhZ2U6IDEsXG4gICAgaXRlbXNQZXJQYWdlOiAxMCxcbiAgICB0b3RhbEl0ZW1zOiAxMDAsXG4gIH0sXG4gIGxvZ2luRXJyb3JNZXNzYWdlOiAnJyxcbiAgaGFuZGxlUmVnaXRlclRlbGVncmFtOiBmYWxzZSxcbiAgaXNPdHBWZXJpZmljYXRpb25QZW5kaW5nOiBmYWxzZSxcbiAgb3RwVmVyaWZpY2F0aW9uRXJyb3JNZXNzYWdlOiAnJyxcbiAgYWNjZXNzVG9rZW46IGdldFNlc3Npb25Ub2tlbigndG9rZW4nKSxcbiAgZW1haWw6ICcnLFxufTtcblxuZXhwb3J0IGNvbnN0IGF1dGhTbGljZSA9IGNyZWF0ZVNsaWNlKHtcbiAgbmFtZTogQVVUSCxcbiAgaW5pdGlhbFN0YXRlLFxuICByZWR1Y2Vyczoge1xuICAgIGxvZ291dDogKHN0YXRlKSA9PiB7XG4gICAgICBzdGF0ZS5jdXJyZW50VXNlciA9IG51bGw7XG4gICAgICBzZXNzaW9uU3RvcmFnZS5jbGVhcigpO1xuICAgIH0sXG4gICAgc2V0VG9rZW46IChzdGF0ZSwgYWN0aW9uOiBQYXlsb2FkQWN0aW9uPHN0cmluZz4pID0+IHtcbiAgICAgIHN0YXRlLmFjY2Vzc1Rva2VuID0gYWN0aW9uLnBheWxvYWQ7XG4gICAgICBzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKCd0b2tlbicsIEpTT04uc3RyaW5naWZ5KGFjdGlvbi5wYXlsb2FkKSk7XG4gICAgfSxcbiAgICBzZXRVc2VyOiAoc3RhdGUsIGFjdGlvbjogUGF5bG9hZEFjdGlvbjxVc2VyPikgPT4ge1xuICAgICAgc3RhdGUuY3VycmVudFVzZXIgPSBhY3Rpb24ucGF5bG9hZDtcbiAgICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oJ2N1cnJlbnRVc2VyJywgSlNPTi5zdHJpbmdpZnkoYWN0aW9uLnBheWxvYWQpKTtcbiAgICB9LFxuICAgIHNldElzTG9naW5QZW5kaW5nOiAoc3RhdGUsIGFjdGlvbjogUGF5bG9hZEFjdGlvbjxib29sZWFuPikgPT4ge1xuICAgICAgc3RhdGUuaXNMb2dpblBlbmRpbmcgPSBhY3Rpb24ucGF5bG9hZDtcbiAgICB9LFxuICAgIHNldExvZ2luRXJyb3JNZXNzYWdlOiAoc3RhdGUsIGFjdGlvbjogUGF5bG9hZEFjdGlvbjxzdHJpbmc+KSA9PiB7XG4gICAgICBzdGF0ZS5sb2dpbkVycm9yTWVzc2FnZSA9IGFjdGlvbi5wYXlsb2FkO1xuICAgIH0sXG4gICAgc2V0RW1haWw6IChzdGF0ZSwgYWN0aW9uOiBQYXlsb2FkQWN0aW9uPHN0cmluZz4pID0+IHtcbiAgICAgIHN0YXRlLmVtYWlsID0gYWN0aW9uLnBheWxvYWQ7XG4gICAgfSxcbiAgfSxcbiAgZXh0cmFSZWR1Y2VyczogKGJ1aWxkZXIpID0+IHtcbiAgICBidWlsZGVyXG4gICAgICAuYWRkQ2FzZShsb2dpblVzZXJBY3Rpb24ucGVuZGluZywgKHN0YXRlKSA9PiB7XG4gICAgICAgIHN0YXRlLmlzTG9naW5QZW5kaW5nID0gdHJ1ZTtcbiAgICAgICAgc3RhdGUubG9naW5FcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG4gICAgICAuYWRkQ2FzZShsb2dpblVzZXJBY3Rpb24ucmVqZWN0ZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIHN0YXRlLmlzTG9naW5QZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLmxvZ2luRXJyb3JNZXNzYWdlID0gSlNPTi5zdHJpbmdpZnkoYWN0aW9uPy5wYXlsb2FkLmRhdGEpO1xuICAgICAgfSlcbiAgICAgIC5hZGRDYXNlKGxvZ2luVXNlckFjdGlvbi5mdWxmaWxsZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIGNvbnN0IHsgcGF5bG9hZCB9ID0gYWN0aW9uO1xuICAgICAgICBzdGF0ZS5pc0xvZ2luUGVuZGluZyA9IGZhbHNlO1xuXG4gICAgICAgIGlmIChbJ1VzZXIgbm90IGZvdW5kJywgJ0ludmFsaWQgY3JlZGVudGlhbHMnXS5pbmNsdWRlcyhwYXlsb2FkLmRhdGEpKSB7XG4gICAgICAgICAgc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbSgnY3VycmVudFVzZXInKTtcbiAgICAgICAgICBzZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtKCd0b2tlbicpO1xuICAgICAgICAgIHN0YXRlLmN1cnJlbnRVc2VyID0gbnVsbDtcbiAgICAgICAgICBzdGF0ZS5hY2Nlc3NUb2tlbiA9IG51bGw7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgc3RhdGUuY3VycmVudFVzZXIgPSBwYXlsb2FkLnVzZXI7XG4gICAgICAgICAgc3RhdGUuYWNjZXNzVG9rZW4gPSBwYXlsb2FkLmFjY2Vzc190b2tlbjtcbiAgICAgICAgICBzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKCdjdXJyZW50VXNlcicsIEpTT04uc3RyaW5naWZ5KHBheWxvYWQudXNlcikpO1xuICAgICAgICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oJ3Rva2VuJywgcGF5bG9hZC5hY2Nlc3NfdG9rZW4pO1xuICAgICAgICB9XG4gICAgICAgIHN0YXRlLmxvZ2luRXJyb3JNZXNzYWdlID0gSlNPTi5zdHJpbmdpZnkocGF5bG9hZC5kYXRhKTtcbiAgICAgIH0pXG5cbiAgICAgIC8vIGhhbmRsZSB0ZWxlZ3JhbSBsb2dpblxuICAgICAgLmFkZENhc2UobG9naW5UZWxlZ3JhbVVzZXJBY3Rpb24ucGVuZGluZywgKHN0YXRlKSA9PiB7XG4gICAgICAgIHN0YXRlLmlzTG9naW5QZW5kaW5nID0gdHJ1ZTtcbiAgICAgICAgc3RhdGUubG9naW5FcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG4gICAgICAuYWRkQ2FzZShsb2dpblRlbGVncmFtVXNlckFjdGlvbi5yZWplY3RlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgc3RhdGUuaXNMb2dpblBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUubG9naW5FcnJvck1lc3NhZ2UgPSBKU09OLnN0cmluZ2lmeShhY3Rpb24/LnBheWxvYWQuZGF0YSk7XG4gICAgICAgIHN0YXRlLmhhbmRsZVJlZ2l0ZXJUZWxlZ3JhbSA9IHRydWU7XG4gICAgICB9KVxuICAgICAgLmFkZENhc2UobG9naW5UZWxlZ3JhbVVzZXJBY3Rpb24uZnVsZmlsbGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBjb25zdCB7IHBheWxvYWQgfSA9IGFjdGlvbjtcbiAgICAgICAgc3RhdGUuaXNMb2dpblBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgaWYgKFsnVXNlciBub3QgZm91bmQnLCAnSW52YWxpZCBjcmVkZW50aWFscyddLmluY2x1ZGVzKHBheWxvYWQuZGF0YSkpIHtcbiAgICAgICAgICBzZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtKCdjdXJyZW50VXNlcicpO1xuICAgICAgICAgIHNlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW0oJ3Rva2VuJyk7XG4gICAgICAgICAgc3RhdGUuY3VycmVudFVzZXIgPSBudWxsO1xuICAgICAgICAgIHN0YXRlLmFjY2Vzc1Rva2VuID0gbnVsbDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBzdGF0ZS5jdXJyZW50VXNlciA9IHBheWxvYWQudXNlcjtcbiAgICAgICAgICBzdGF0ZS5hY2Nlc3NUb2tlbiA9IHBheWxvYWQuYWNjZXNzX3Rva2VuO1xuICAgICAgICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oJ2N1cnJlbnRVc2VyJywgSlNPTi5zdHJpbmdpZnkocGF5bG9hZC51c2VyKSk7XG4gICAgICAgICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSgndG9rZW4nLCBwYXlsb2FkLmFjY2Vzc190b2tlbik7XG4gICAgICAgIH1cbiAgICAgICAgc3RhdGUubG9naW5FcnJvck1lc3NhZ2UgPSBKU09OLnN0cmluZ2lmeShwYXlsb2FkLmRhdGEpO1xuICAgICAgfSlcblxuXG4gICAgICAuYWRkQ2FzZSh2ZXJpZnlPVFBBY3Rpb24ucGVuZGluZywgKHN0YXRlKSA9PiB7XG4gICAgICAgIHN0YXRlLmlzT3RwVmVyaWZpY2F0aW9uUGVuZGluZyA9IHRydWU7XG4gICAgICAgIHN0YXRlLm90cFZlcmlmaWNhdGlvbkVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcbiAgICAgIC5hZGRDYXNlKHZlcmlmeU9UUEFjdGlvbi5mdWxmaWxsZWQsIChzdGF0ZSkgPT4ge1xuICAgICAgICBzdGF0ZS5pc090cFZlcmlmaWNhdGlvblBlbmRpbmcgPSBmYWxzZTtcbiAgICAgIH0pXG4gICAgICAuYWRkQ2FzZSh2ZXJpZnlPVFBBY3Rpb24ucmVqZWN0ZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIHN0YXRlLmlzT3RwVmVyaWZpY2F0aW9uUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5vdHBWZXJpZmljYXRpb25FcnJvck1lc3NhZ2UgPVxuICAgICAgICAgIGFjdGlvbi5wYXlsb2FkID8gSlNPTi5zdHJpbmdpZnkoYWN0aW9uLnBheWxvYWQpIDogJ09UUCB2ZXJpZmljYXRpb24gZmFpbGVkLiBQbGVhc2UgdHJ5IGFnYWluLic7XG4gICAgICB9KVxuXG4gIH0sXG59KTtcblxuZXhwb3J0IGNvbnN0IHsgbG9nb3V0LCBzZXRUb2tlbiwgc2V0VXNlciwgc2V0TG9naW5FcnJvck1lc3NhZ2UsIHNldElzTG9naW5QZW5kaW5nLCBzZXRFbWFpbCB9ID0gYXV0aFNsaWNlLmFjdGlvbnM7XG5leHBvcnQgZGVmYXVsdCBhdXRoU2xpY2UucmVkdWNlcjtcbiIsImltcG9ydCB7IExvZ2luRm9ybVZhbHVlcywgVmVyaWZ5T3RwRm9ybVZhbHVlcyB9IGZyb20gJ0Avc2hhcmVkL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgVVJMIGFzIGJhc2VVUkwgfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWQvY29uZmlncy9jb25zdGFudHMnO1xuaW1wb3J0IHsgZ2V0V2l0aENvbmZpZywgcG9zdFdpdGhDb25maWcgfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWQvY29yZS9iYXNlL3NlcnZpY2VzJztcbmltcG9ydCB7IHRleHQgfSBmcm9tICdzdHJlYW0vY29uc3VtZXJzJztcblxuLy8gZXhwb3J0IGNvbnN0IGxvZ2luVXNlclNlcnZpY2UgPSBhc3luYyAoYm9keTogTG9naW5Gb3JtVmFsdWVzKTogUHJvbWlzZTxhbnk+ID0+IHtcbi8vICAgdHJ5IHtcbi8vICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHBvc3RXaXRoQ29uZmlnKFVSTC5MT0dJTiwge1xuLy8gICAgICAgZW1haWw6IGJvZHkuZW1haWwsXG4vLyAgICAgICBwYXNzd29yZDogYm9keS5wYXNzd29yZCxcbi8vICAgICB9KTtcbi8vICAgICByZXR1cm4gcmVzcG9uc2U7XG4vLyAgIH0gY2F0Y2ggKGVycm9yKSB7XG4vLyAgICAgY29uc29sZS5lcnJvcignTG9naW4gcmVxdWVzdCBmYWlsZWQ6JywgZXJyb3IpO1xuLy8gICAgIHRocm93IGVycm9yOyAvLyBFbnN1cmUgdGhpcyBlcnJvciBwcm9wYWdhdGVzIGJhY2sgdG8gdGhlIHRodW5rXG4vLyAgIH1cbi8vIH07XG5cblxuZXhwb3J0IGNvbnN0IGxvZ2luVXNlclNlcnZpY2UgPSBhc3luYyAoYm9keTogYW55KSA9PiB7XG4gIHJldHVybiBwb3N0V2l0aENvbmZpZyhcbiAgICBiYXNlVVJMLkxPR0lOLFxuICAgIHtcbiAgICAgIGVtYWlsOiBib2R5LmVtYWlsLFxuICAgICAgcGFzc3dvcmQ6IGJvZHkucGFzc3dvcmQsXG4gICAgICBncmFkX3R5cGU6ICdwYXNzd29yZCdcbiAgICB9XG4gICk7XG59O1xuXG5cbmV4cG9ydCBjb25zdCBsb2dpblRlbGVncmFtVXNlclNlcnZpY2UgPSBhc3luYyAoYm9keTogYW55KSA9PiB7XG4gIHJldHVybiBwb3N0V2l0aENvbmZpZyhcbiAgICBiYXNlVVJMLkxPR0lOX1RFTEVHUkFNLFxuICAgIHtcbiAgICAgIHRlbGVncmFtX2lkOiBib2R5LnRlbGVncmFtX2lkLFxuICAgICAgdXNlcm5hbWU6IGJvZHkudXNlcm5hbWUsXG4gICAgICBncmFkX3R5cGU6ICd0ZWxlZ3JhbSdcbiAgICB9XG4gICk7XG59O1xuXG5cbmV4cG9ydCBjb25zdCByZWdpc3RlclRlbGVncmFtVXNlclNlcnZpY2UgPSBhc3luYyAoYm9keTogYW55KSA9PiB7XG4gIHJldHVybiBwb3N0V2l0aENvbmZpZyhcbiAgICBiYXNlVVJMLlNJR05VUCxib2R5XG4gICk7XG59O1xuXG5cblxuXG5leHBvcnQgY29uc3QgdXNlckF0dGVuZGFuY2VTZXJ2aWNlID0gYXN5bmMgKGJvZHk6IGFueSkgPT4ge1xuICByZXR1cm4gcG9zdFdpdGhDb25maWcoXG4gICAgYmFzZVVSTC5VU0VSX0FUVEVOREFOQ0UsYm9keVxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IHZlcmlmeU9UUFNlcnZpY2UgPSBhc3luYyAoXG4gIGJvZHk6IFZlcmlmeU90cEZvcm1WYWx1ZXMsXG4pOiBQcm9taXNlPGFueT4gPT4ge1xuICB0cnkge1xuICAgIGNvbnNvbGUubG9nKGBTZW5kaW5nIE9UUCB2ZXJpZmljYXRpb24gd2l0aCBib2R5OiAke0pTT04uc3RyaW5naWZ5KGJvZHkpfWApO1xuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgcG9zdFdpdGhDb25maWcoYmFzZVVSTC5WRVJJRllfVE9QLCB7XG4gICAgICBlbWFpbDogYm9keS5lbWFpbCxcbiAgICAgIGNvZGU6IGJvZHkub3RwQ29kZSxcbiAgICB9KTtcbiAgICBjb25zb2xlLmxvZyhgT1RQIHZlcmlmaWNhdGlvbiByZXNwb25zZTogJHtKU09OLnN0cmluZ2lmeShyZXNwb25zZSl9YCk7XG4gICAgcmV0dXJuIHJlc3BvbnNlO1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIGNvbnNvbGUuZXJyb3IoJ09UUCB2ZXJpZmljYXRpb24gZmFpbGVkOicsIGVycm9yKTtcbiAgICB0aHJvdyBlcnJvcjtcbiAgfVxufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZVJlZiwgdXNlQ2FsbGJhY2sgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IHVzZURpc3BhdGNoLCB1c2VTZWxlY3RvciB9IGZyb20gXCJyZWFjdC1yZWR1eFwiO1xuaW1wb3J0IHsgdXNlTmF2aWdhdGUgfSBmcm9tIFwicmVhY3Qtcm91dGVyLWRvbVwiO1xuaW1wb3J0IHsgQ2FyZCwgbWVzc2FnZSB9IGZyb20gXCJhbnRkXCI7XG5pbXBvcnQgeyBsb2dpblRlbGVncmFtVXNlckFjdGlvbiwgcmVnaXN0ZXJUZWxlZ3JhbVVzZXJBY3Rpb24sIHVzZXJBdHRlbmRhbmNlQWN0aW9uIH0gZnJvbSBcIi4uL2NvcmUvYWN0aW9uc1wiO1xuaW1wb3J0IHsgUm9vdFN0YXRlIH0gZnJvbSBcIi4uLy4uLy4uLy4uL3NoYXJlZC9yZWR1eC9zdG9yZVwiO1xuaW1wb3J0IHsgZ2V0V2l0aENvbmZpZyB9IGZyb20gXCIuLi8uLi8uLi8uLi9zaGFyZWQvY29yZS9iYXNlL3NlcnZpY2VzXCI7XG5pbXBvcnQgeyB1c2VyVGVsZWdyYW1TZXJ2aWNlIH0gZnJvbSBcIi4uLy4uLy4uL3VzZXIvY29yZS9zZXJ2aWNlc1wiO1xuaW1wb3J0IHsgZmV0Y2hWb2x1bnRlZXJzIH0gZnJvbSBcIi4uLy4uLy4uL3ZvbHVudGVlci9jb3JlL2FjdGlvbnNcIjtcbmltcG9ydCBTd2FsIGZyb20gJ3N3ZWV0YWxlcnQyJztcblxuY29uc3QgVEVMRUdSQU1fQk9UX1VTRVJOQU1FID0gXCJ2b2x1bnRlZXJmb3JjYW1ib2RpYWJvdFwiO1xuY29uc3QgVEVMRUdSQU1fQVVUSF9BUEkgPSBcImh0dHBzOi8vdm9sdW50ZWVyYXBpLmpvb25hYWtodWIuY29tL2F1dGgvY2FsbGJhY2tcIjtcbmNvbnN0IFRFTEVHUkFNX0FMTE9XRURfT1JJR0lOUyA9IFtcInRlbGVncmFtLm9yZ1wiLCBcIndlYi50ZWxlZ3JhbS5vcmdcIl07IC8vIOKchSBSZXN0cmljdCBhbGxvd2VkIG9yaWdpbnNcblxuXG5jb25zdCBUZWxlZ3JhbUxvZ2luQXR0ZW5kYW5jZTogUmVhY3QuRkMgPSAoKSA9PiB7XG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcbiAgY29uc3QgbmF2aWdhdGUgPSB1c2VOYXZpZ2F0ZSgpO1xuICBjb25zdCB7IGxvZ2luRXJyb3JNZXNzYWdlLCBjdXJyZW50VXNlciB9ID0gdXNlU2VsZWN0b3IoKHN0YXRlOiBSb290U3RhdGUpID0+IHN0YXRlLmF1dGgpO1xuICBjb25zdCBbbWVzc2FnZUFwaSwgY29udGV4dEhvbGRlcl0gPSBtZXNzYWdlLnVzZU1lc3NhZ2UoKTtcbiAgY29uc3QgdGVsZWdyYW1XcmFwcGVyUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcbiAgbGV0IGFsbFZvbHVudGVlcnM6IGFueSA9IG51bGxcbiAgY29uc3QgZmV0Y2hUZWxlZ3JhbVVzZXIgPSBhc3luYyAoYXV0aERhdGE6IHN0cmluZykgPT4ge1xuICAgIHRyeSB7XG4gICAgICBpZiAoIWF1dGhEYXRhKSByZXR1cm47XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGdldFdpdGhDb25maWcoYCR7VEVMRUdSQU1fQVVUSF9BUEl9PyR7YXV0aERhdGF9YCk7XG4gICAgICBpZiAoIXJlc3BvbnNlIHx8ICFyZXNwb25zZS51c2VyKSB0aHJvdyBuZXcgRXJyb3IoXCJJbnZhbGlkIFRlbGVncmFtIGxvZ2luIHJlc3BvbnNlLlwiKTtcbiAgICAgIHJldHVybiByZXNwb25zZS51c2VyO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH07XG5cblxuXG4gIGNvbnN0IGhhbmRsZVRlbGVncmFtTG9naW4gPSB1c2VDYWxsYmFjayhhc3luYyAoZXZlbnQ6IE1lc3NhZ2VFdmVudCkgPT4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBldmVudE9yaWdpbiA9IG5ldyBVUkwoZXZlbnQub3JpZ2luKS5ob3N0bmFtZTtcblxuICAgICAgLy8g4pyFIFN0cmljdGx5IGNoZWNrIGV2ZW50IG9yaWdpblxuICAgICAgaWYgKCFURUxFR1JBTV9BTExPV0VEX09SSUdJTlMuc29tZShkb21haW4gPT4gZXZlbnRPcmlnaW4uZW5kc1dpdGgoZG9tYWluKSkpIHtcbiAgICAgICAgY29uc29sZS53YXJuKFwiVW5hdXRob3JpemVkIGV2ZW50IG9yaWdpbjpcIiwgZXZlbnRPcmlnaW4pO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cblxuICAgICAgY29uc3QgZGF0YSA9IHR5cGVvZiBldmVudC5kYXRhID09PSBcInN0cmluZ1wiID8gSlNPTi5wYXJzZShldmVudC5kYXRhKSA6IGV2ZW50LmRhdGE7XG4gICAgICBjb25zb2xlLmxvZygnZGF0YS5hdXRoX2RhdGEgOjo6JywgZGF0YT8uYXV0aF9kYXRhKVxuICAgICAgaWYgKCFkYXRhPy5hdXRoX2RhdGEpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICAvLyDinIUgUHJldmVudCBkdXBsaWNhdGUgbG9naW5zIGJ5IGNoZWNraW5nIHNlc3Npb24gc3RvcmFnZVxuICAgICAgaWYgKHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oXCJ0ZWxlZ3JhbVVzZXJcIikpIHJldHVybjtcblxuICAgICAgY29uc3QgdXNlciA9IGF3YWl0IGZldGNoVGVsZWdyYW1Vc2VyKG5ldyBVUkxTZWFyY2hQYXJhbXMoZGF0YS5hdXRoX2RhdGEpLnRvU3RyaW5nKCkpO1xuXG4gICAgICBpZiAoIXVzZXIpIHtcbiAgICAgICAgcmV0dXJuXG4gICAgICB9O1xuXG4gICAgICAvLyDinIUgRW5jcnlwdCB1c2VyIGRhdGEgYmVmb3JlIHNhdmluZyB0byBzZXNzaW9uU3RvcmFnZVxuICAgICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbShcInRlbGVncmFtVXNlclwiLCBKU09OLnN0cmluZ2lmeSh1c2VyKSk7XG5cbiAgICAgIGNvbnN0IGxvZ2luQm9keSA9IHsgdGVsZWdyYW1faWQ6IHVzZXIuaWQsIHVzZXJuYW1lOiBgJHt1c2VyLmlkfS0ke3VzZXIudXNlcm5hbWUgfHwgdXNlci5maXJzdF9uYW1lIHx8IHVzZXIubGFzdF9uYW1lfWAsIH07XG5cbiAgICAgIGNvbnN0IGV4aXN0aW5nVXNlciA9IGF3YWl0IHVzZXJUZWxlZ3JhbVNlcnZpY2UodXNlci5pZCk7XG4gICAgICBpZiAoZXhpc3RpbmdVc2VyKSB7XG4gICAgICAgIGRpc3BhdGNoKGxvZ2luVGVsZWdyYW1Vc2VyQWN0aW9uKGxvZ2luQm9keSkpO1xuXG5cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIHVzZXIgbm90IGZvdW5kIHRvZG9cbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5sb2coZXJyb3IpO1xuICAgICAgbWVzc2FnZUFwaS5lcnJvcihcIkZhaWxlZCB0byBhdXRoZW50aWNhdGUgd2l0aCBUZWxlZ3JhbS5cIik7XG4gICAgfVxuICB9LCBbZGlzcGF0Y2gsIG1lc3NhZ2VBcGldKTtcblxuICAvKiog4pyFIEhhbmRsZSBhdXRoZW50aWNhdGlvbiBlcnJvcnMgKi9cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAobG9naW5FcnJvck1lc3NhZ2UpIHtcbiAgICAgIG1lc3NhZ2VBcGkuZXJyb3IobG9naW5FcnJvck1lc3NhZ2UpO1xuICAgIH1cbiAgfSwgW2xvZ2luRXJyb3JNZXNzYWdlLCBtZXNzYWdlQXBpXSk7XG5cbiAgLyoqIOKchSBIYW5kbGUgdXNlciByZWRpcmVjdGlvbiAqL1xuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghY3VycmVudFVzZXIpIHJldHVybjtcbiAgICAvLyBNYXJrIHVzZXIgYXR0ZW5kYW5jZVxuICAgIGNvbnN0IGF0dGVuZGFuY2VCb2R5ID0ge1xuICAgICAgdXNlcl9pZDogY3VycmVudFVzZXIuaWQsXG4gICAgICBtZWV0aW5nX25vdGU6IGDwn5OiIOGen+GevOGemOGeouGelOGeouGemuGen+GetuGekeGemiDhnpPhnrfhnoThnp/hnrzhnpjhnqLhnonhn5Lhnofhnr7hnonhnoXhnrzhnpvhnprhnr3hnpjhnp/hnrfhnoDhn5LhnoHhnrbhnp/hnrbhnpvhnrbhno/hnpjhn5LhnprhnoThn4vhnpHhnrfhnp8g4Z6W4Z+Q4Z6P4Z+M4Z6Y4Z624Z6T4Z6b4Z6Y4Z+S4Z6i4Z634Z6PIOGemOGeu+Gek+GeluGfgeGem+GeheGfgeGeieGeiuGfhuGejuGevuGemlxcbihPcmllbnRhdGlvbiBXb3Jrc2hvcCkg4Z6a4Z6Z4Z+I4Z6W4Z+B4Z6b4Z6Y4Z694Z6Z4Z6W4Z+S4Z6a4Z654Z6AXFxuXFxu8J+TnSAqKuGeguGejuGfiOGegOGemOGfkuGemOGegOGetuGemuGen+GevOGemOGeouGeieGfkuGeh+GevuGeieGem+GfhOGegOGeouGfkuGek+GegOGeheGevOGem+GemuGeveGemOGen+Get+GegOGfkuGegeGetuGen+GetuGem+GetuGej+GemOGfkuGemuGehOGfi+GekeGet+GenyDhnpPhnrfhnoThnpXhn5Lhno/hnpvhn4vhnofhnrzhnpPhnpPhnrzhnpzhnpbhn5Dhno/hn4zhnpjhnrbhnpPhnpvhnpjhn5LhnqLhnrfhno8gXFxu4Z6K4Z6+4Z6Y4Z+S4Z6U4Z644Z6a4Z+A4Z6U4Z6F4Z+G4Z6B4Z+S4Z6b4Z694Z6T4Z6H4Z624Z6i4Z+S4Z6T4Z6A4Z6f4Z+S4Z6Y4Z+Q4Z6C4Z+S4Z6a4Z6F4Z634Z6P4Z+S4Z6P4Z6A4Z+S4Z6T4Z674Z6EIOGeluGfkuGemuGeueGej+GfkuGej+Get+GegOGetuGemuGejuGfjeGeouGehOGfkuGeguGemuGen+GehOGfkuGeguGfkuGemuGetuGek+GfkuGejyDhn6Lhn6Dhn6Lhn6VcXG5cXG7wn5OFIOGegOGetuGem+GelOGemuGet+GeheGfkuGehuGfgeGekeGfliDhnpDhn5LhnoThn4Phnp/hn4Xhnprhn40g4Z6R4Z64IOGfpSDhnoHhn4Lhnpjhn4Hhnp/hnrYg4Z6G4Z+S4Z6T4Z624Z+G4Z+i4Z+g4Z+i4Z+lXFxu4o+wIOGeluGfgeGem+GenOGfgeGem+GetuGfliDhn6c64Z+j4Z+gIOGeluGfkuGemuGeueGegFxcbvCfk40g4Z6R4Z644Z6P4Z624Z+G4Z6E4Z+WIOGen+GetuGem+GelOGfkuGemuGeh+Geu+GfhuGen+GetuGem+GetuGej+Get+GeheGejuGevChJVEMpXFxu8J+RlSDhnp/hnpjhn5Lhnpvhn4DhnoDhnpThn4bhnpbhnrbhnoDhn4vhn5Yg4Z6f4Z6Y4Z6a4Z6Y4Z+S4Z6ZXFxuXFxu8J+TniDhnp/hnrzhnpjhnpThnonhn5LhnofhnrbhnoDhn4vhnpzhno/hn5Lhno/hnpjhnrbhnpPhnpHhn4XhnoDhn5LhnprhnrvhnpjhnoDhnrbhnprhnoThnrbhnprhnprhnpThnp/hn4vhnoHhn5Lhnpvhnr3hnpNgLFxuICAgICAgbWVldGluZ190aW1lOiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCksIC8vIFVzZSBJU08gc3RyaW5nIGZvciBjb25zaXN0ZW50IGRhdGUgZm9ybWF0XG4gICAgfTtcblxuICAgIGRpc3BhdGNoKHVzZXJBdHRlbmRhbmNlQWN0aW9uKGF0dGVuZGFuY2VCb2R5KSk7IC8vIE1hcmsgYXR0ZW5kYW5jZVxuICAgIC8vIFNob3cgc3VjY2VzcyBhbGVydCB1c2luZyBTd2VldEFsZXJ0MlxuICAgIC8vIEludHJvZHVjaW5nIGEgZGVsYXkgYmVmb3JlIHNob3dpbmcgdGhlIHN1Y2Nlc3MgYWxlcnRcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIFN3YWwuZmlyZSh7XG4gICAgICAgIHRpdGxlOiBcIlN1Y2Nlc3MhXCIsXG4gICAgICAgIHRleHQ6IFwiQXR0ZW5kYW5jZSBoYXMgYmVlbiBtYXJrZWQgc3VjY2Vzc2Z1bGx5LlwiLFxuICAgICAgICBpY29uOiBcInN1Y2Nlc3NcIixcbiAgICAgICAgY29uZmlybUJ1dHRvblRleHQ6IFwiT0tcIixcbiAgICAgIH0pLnRoZW4oKHJlc3VsdCkgPT4ge1xuICAgICAgICBpZiAocmVzdWx0LmlzQ29uZmlybWVkKSB7XG4gICAgICAgICAgLy8gTmF2aWdhdGUgdG8gdGhlIHZvbHVudGVlcnMgcGFnZSBhZnRlciB0aGUgYWxlcnRcbiAgICAgICAgICBuYXZpZ2F0ZShcIi92b2x1bnRlZXJzXCIpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9LCAxMDAwKTsgLy8gRGVsYXkgZm9yIDEgc2Vjb25kICgxMDAwIG1zKVxuICAgIGNvbnN0IGZldGNoVm9sdW50ZWVyc0RhdGEgPSBhc3luYyAoKSA9PiB7XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGRpc3BhdGNoKGZldGNoVm9sdW50ZWVycyh7IHBhZ2U6IDEsIHBhZ2VTaXplOiAxIH0pKTtcbiAgICAgICAgY29uc3Qgdm9sdW50ZWVyc0NvdW50ID0gcmVzcG9uc2U/LnBheWxvYWQ/Lm1ldGE/LnRvdGFsIHx8IDA7XG5cbiAgICAgICAgLy8gRGVsYXkgZm9yIDMgc2Vjb25kcyBiZWZvcmUgcmVkaXJlY3RpbmdcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgaWYgKHZvbHVudGVlcnNDb3VudCA+IDApIHtcbiAgICAgICAgICAgIG5hdmlnYXRlKGN1cnJlbnRVc2VyLnJvbGUgIT09IFwidXNlclwiID8gXCIvXCIgOiBcIi92b2x1bnRlZXJzXCIsIHsgcmVwbGFjZTogdHJ1ZSB9KTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbmF2aWdhdGUoY3VycmVudFVzZXIucm9sZSAhPT0gXCJ1c2VyXCIgPyBcIi9cIiA6IFwiL3JlZ2lzdGVyXCIsIHsgcmVwbGFjZTogdHJ1ZSB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sIDMwMDApOyAvLyAzLXNlY29uZCBkZWxheSAoMzAwMCBtcylcblxuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihcIkVycm9yIGZldGNoaW5nIHZvbHVudGVlcnM6XCIsIGVycm9yKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgZmV0Y2hWb2x1bnRlZXJzRGF0YSgpO1xuXG4gIH0sIFtjdXJyZW50VXNlciwgbmF2aWdhdGUsIGRpc3BhdGNoXSk7IC8vIOKchSBFbnN1cmUgZGVwZW5kZW5jaWVzIGFyZSBjb3JyZWN0XG5cblxuICAvLyDinIUgTG9hZCBzZXNzaW9uIG9uIHBhZ2UgcmVmcmVzaCAmIHNldCB1cCBUZWxlZ3JhbSBsb2dpbiBidXR0b25cbiAgdXNlRWZmZWN0KCgpID0+IHtcblxuICAgIGNvbnN0IHNhdmVkVXNlciA9IHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oXCJ0ZWxlZ3JhbVVzZXJcIik7XG5cbiAgICBpZiAoc2F2ZWRVc2VyICYmICFjdXJyZW50VXNlcikge1xuICAgICAgZGlzcGF0Y2gobG9naW5UZWxlZ3JhbVVzZXJBY3Rpb24oSlNPTi5wYXJzZShzYXZlZFVzZXIpKSk7XG4gICAgfVxuXG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJtZXNzYWdlXCIsIGhhbmRsZVRlbGVncmFtTG9naW4pO1xuXG4gICAgY29uc3Qgc2NyaXB0RWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJzY3JpcHRcIik7XG4gICAgc2NyaXB0RWxlbWVudC5zcmMgPSBcImh0dHBzOi8vdGVsZWdyYW0ub3JnL2pzL3RlbGVncmFtLXdpZGdldC5qcz8yMlwiO1xuICAgIHNjcmlwdEVsZW1lbnQuc2V0QXR0cmlidXRlKFwiZGF0YS10ZWxlZ3JhbS1sb2dpblwiLCBURUxFR1JBTV9CT1RfVVNFUk5BTUUpO1xuICAgIHNjcmlwdEVsZW1lbnQuc2V0QXR0cmlidXRlKFwiZGF0YS1zaXplXCIsIFwibGFyZ2VcIik7XG4gICAgc2NyaXB0RWxlbWVudC5zZXRBdHRyaWJ1dGUoXCJkYXRhLXJlcXVlc3QtYWNjZXNzXCIsIFwid3JpdGVcIik7XG4gICAgc2NyaXB0RWxlbWVudC5hc3luYyA9IHRydWU7XG5cbiAgICBpZiAodGVsZWdyYW1XcmFwcGVyUmVmLmN1cnJlbnQpIHtcbiAgICAgIHRlbGVncmFtV3JhcHBlclJlZi5jdXJyZW50LmlubmVySFRNTCA9IFwiXCI7XG4gICAgICB0ZWxlZ3JhbVdyYXBwZXJSZWYuY3VycmVudC5hcHBlbmRDaGlsZChzY3JpcHRFbGVtZW50KTtcbiAgICB9XG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJtZXNzYWdlXCIsIGhhbmRsZVRlbGVncmFtTG9naW4pO1xuICAgIH07XG4gIH0sIFtoYW5kbGVUZWxlZ3JhbUxvZ2luLCBkaXNwYXRjaCwgY3VycmVudFVzZXJdKTtcblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwiY29udGFpbmVyXCI+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImxlZnQtc2VjdGlvblwiPjwvZGl2PlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJyaWdodC1zZWN0aW9uXCI+XG4gICAgICAgIHtjb250ZXh0SG9sZGVyfVxuICAgICAgICA8Q2FyZCBjbGFzc05hbWU9XCJjYXJkXCIgc3R5bGU9e3sgbWF4V2lkdGg6IDQwMCB9fT5cbiAgICAgICAgICA8aDI+TG9naW4gd2l0aCBUZWxlZ3JhbTwvaDI+XG4gICAgICAgICAgPGRpdiByZWY9e3RlbGVncmFtV3JhcHBlclJlZn0+PC9kaXY+XG4gICAgICAgIDwvQ2FyZD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgVGVsZWdyYW1Mb2dpbkF0dGVuZGFuY2U7XG4iLCIvKiBlc2xpbnQtZGlzYWJsZSBuby1jb25zb2xlICovXG5cbi8vIGltcG9ydCB7IHVzZURpc3BhdGNoIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHsgTG9ja091dGxpbmVkLCBVc2VyT3V0bGluZWQgfSBmcm9tICdAYW50LWRlc2lnbi9pY29ucyc7XG5pbXBvcnQgeyBCdXR0b24sIENhcmQsIENoZWNrYm94LCBGb3JtLCBJbnB1dCwgbWVzc2FnZSB9IGZyb20gJ2FudGQnO1xuaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHVzZURpc3BhdGNoLCB1c2VTZWxlY3RvciB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCB7IHVzZU5hdmlnYXRlIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5cbmltcG9ydCB7IGxvZ2luVXNlckFjdGlvbiB9IGZyb20gJy4uL2NvcmUvYWN0aW9ucyc7XG5pbXBvcnQgeyBSb290U3RhdGUgfSBmcm9tICdAL3NoYXJlZC9yZWR1eC9zdG9yZSc7XG5pbXBvcnQgeyBMb2dpbkZvcm1WYWx1ZXMgfSBmcm9tICdAL3NoYXJlZC9pbnRlcmZhY2VzJztcblxuY29uc3QgTG9naW5Gb3JtOiBSZWFjdC5GQyA9ICgpID0+IHtcbiAgY29uc3QgW21lc3NhZ2VBcGksIGNvbnRleHRIb2xkZXJdID0gbWVzc2FnZS51c2VNZXNzYWdlKCk7XG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcbiAgY29uc3QgeyBpc0xvZ2luUGVuZGluZywgbG9naW5FcnJvck1lc3NhZ2UsIGN1cnJlbnRVc2VyIH0gPSB1c2VTZWxlY3RvcihcbiAgICAoc3RhdGU6IFJvb3RTdGF0ZSkgPT4gc3RhdGUuYXV0aCxcbiAgKTtcbiAgY29uc3QgbmF2aWdhdGUgPSB1c2VOYXZpZ2F0ZSgpO1xuXG4gIGNvbnN0IG9uRmluaXNoID0gKHZhbHVlczogTG9naW5Gb3JtVmFsdWVzKTogdm9pZCA9PiB7XG4gICAgKGFzeW5jICgpID0+IHtcbiAgICAgIGRpc3BhdGNoKGxvZ2luVXNlckFjdGlvbih2YWx1ZXMpKTtcbiAgICB9KSgpO1xuICB9O1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGxvZ2luRXJyb3JNZXNzYWdlKSB7XG4gICAgICBjb25zb2xlLmxvZyhgbG9naW5FcnJvck1lc3NhZ2U9PiAke2xvZ2luRXJyb3JNZXNzYWdlfWApO1xuICAgICAgbWVzc2FnZUFwaS5vcGVuKHtcbiAgICAgICAgdHlwZTogJ2Vycm9yJyxcbiAgICAgICAgY29udGVudDogbG9naW5FcnJvck1lc3NhZ2UsXG4gICAgICB9KTtcbiAgICB9XG4gIH0sIFtsb2dpbkVycm9yTWVzc2FnZSwgaXNMb2dpblBlbmRpbmddKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChjdXJyZW50VXNlcikge1xuICAgICAgbmF2aWdhdGUoJy8nKTtcbiAgICB9XG4gIH0sIFtjdXJyZW50VXNlciwgbmF2aWdhdGVdKTtcblxuXG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgc3R5bGU9e3tcbiAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICBqdXN0aWZ5Q29udGVudDogJ2NlbnRlcicsXG4gICAgICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgICAgICBoZWlnaHQ6ICc2MHZoJywgLy8gRmlsbCB0aGUgZnVsbCBoZWlnaHQgb2YgdGhlIHZpZXdwb3J0XG4gICAgICB9fVxuICAgID5cbiAgICAgIHtjb250ZXh0SG9sZGVyfVxuICAgICAgPENhcmQgc3R5bGU9e3sgbWF4V2lkdGg6IDQwMCwgd2lkdGg6ICcxMDAlJyB9fT5cbiAgICAgICAgeycgJ31cbiAgICAgICAgey8qIEFkanVzdCBjYXJkIHdpZHRoIGZvciByZXNwb25zaXZlbmVzcyAqL31cbiAgICAgICAgPGgyIHN0eWxlPXt7IHRleHRBbGlnbjogJ2NlbnRlcicgfX0+TG9naW48L2gyPlxuICAgICAgICA8Rm9ybVxuICAgICAgICAgIG5hbWU9J25vcm1hbF9sb2dpbidcbiAgICAgICAgICBjbGFzc05hbWU9J2xvZ2luLWZvcm0nXG4gICAgICAgICAgaW5pdGlhbFZhbHVlcz17eyByZW1lbWJlcjogdHJ1ZSB9fVxuICAgICAgICAgIG9uRmluaXNoPXtvbkZpbmlzaH1cbiAgICAgICAgPlxuICAgICAgICAgIDxGb3JtLkl0ZW1cbiAgICAgICAgICAgIG5hbWU9J2VtYWlsJ1xuICAgICAgICAgICAgcnVsZXM9e1t7IHJlcXVpcmVkOiB0cnVlLCBtZXNzYWdlOiAnUGxlYXNlIGlucHV0IHlvdXIgZW1haWwhJyB9XX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8SW5wdXRcbiAgICAgICAgICAgICAgcHJlZml4PXs8VXNlck91dGxpbmVkIGNsYXNzTmFtZT0nc2l0ZS1mb3JtLWl0ZW0taWNvbicgLz59XG4gICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSdFLW1haWwnXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvRm9ybS5JdGVtPlxuICAgICAgICAgIDxGb3JtLkl0ZW1cbiAgICAgICAgICAgIG5hbWU9J3Bhc3N3b3JkJ1xuICAgICAgICAgICAgcnVsZXM9e1t7IHJlcXVpcmVkOiB0cnVlLCBtZXNzYWdlOiAnUGxlYXNlIGlucHV0IHlvdXIgUGFzc3dvcmQhJyB9XX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8SW5wdXRcbiAgICAgICAgICAgICAgcHJlZml4PXs8TG9ja091dGxpbmVkIGNsYXNzTmFtZT0nc2l0ZS1mb3JtLWl0ZW0taWNvbicgLz59XG4gICAgICAgICAgICAgIHR5cGU9J3Bhc3N3b3JkJ1xuICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0nUGFzc3dvcmQnXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvRm9ybS5JdGVtPlxuICAgICAgICAgIDxGb3JtLkl0ZW0+XG4gICAgICAgICAgICA8Rm9ybS5JdGVtIG5hbWU9J3JlbWVtYmVyJyB2YWx1ZVByb3BOYW1lPSdjaGVja2VkJyBub1N0eWxlPlxuICAgICAgICAgICAgICA8Q2hlY2tib3g+UmVtZW1iZXIgbWU8L0NoZWNrYm94PlxuICAgICAgICAgICAgPC9Gb3JtLkl0ZW0+XG4gICAgICAgICAgPC9Gb3JtLkl0ZW0+XG5cbiAgICAgICAgICA8Rm9ybS5JdGVtPlxuICAgICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgICBibG9ja1xuICAgICAgICAgICAgICB0eXBlPSdwcmltYXJ5J1xuICAgICAgICAgICAgICBodG1sVHlwZT0nc3VibWl0J1xuICAgICAgICAgICAgICBjbGFzc05hbWU9J2xvZ2luLWZvcm0tYnV0dG9uJ1xuICAgICAgICAgICAgICBsb2FkaW5nPXtpc0xvZ2luUGVuZGluZ31cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgTG9nIGluXG4gICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICA8L0Zvcm0uSXRlbT5cbiAgICAgICAgPC9Gb3JtPlxuICAgICAgPC9DYXJkPlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgTG9naW5Gb3JtO1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7UVJDb2RlQ2FudmFzfSBmcm9tICdxcmNvZGUucmVhY3QnO1xuXG5jb25zdCBWb2x1bnRlZXJBdHRlbmRhbmNlUGFnZTogUmVhY3QuRkMgPSAoKSA9PiB7XG4gIGNvbnN0IFt2b2x1bnRlZXJJZCwgc2V0Vm9sdW50ZWVySWRdID0gdXNlU3RhdGU8c3RyaW5nIHwgbnVsbD4obnVsbCk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAvLyBIZXJlIHlvdSB3b3VsZCBmZXRjaCBvciBjcmVhdGUgYSB1bmlxdWUgdm9sdW50ZWVyIElEIG9yIG1lZXRpbmcgSURcbiAgICAvLyBGb3IgZXhhbXBsZSwgbGV0J3MgYXNzdW1lIGB2b2x1bnRlZXJJZGAgaXMgZHluYW1pY2FsbHkgYXNzaWduZWQgZm9yIGVhY2ggc2Vzc2lvbi5cbiAgICBjb25zdCBmZXRjaFZvbHVudGVlcklkID0gYXN5bmMgKCkgPT4ge1xuICAgICAgLy8gVGhpcyBjYW4gYmUgYW4gQVBJIGNhbGwgb3IgYSBsb2dpYyB0byBnZW5lcmF0ZSB0aGUgdW5pcXVlIG1lZXRpbmcgSURcbiAgICAgIHNldFZvbHVudGVlcklkKFwidW5pcXVlLXZvbHVudGVlci1pZC0xMjNcIik7IC8vIEV4YW1wbGUgdm9sdW50ZWVyIElEXG4gICAgfTtcblxuICAgIGZldGNoVm9sdW50ZWVySWQoKTtcbiAgfSwgW10pO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJhdHRlbmRhbmNlLXBhZ2VcIj5cbiAgICAgIDxoMj5Wb2x1bnRlZXIgQXR0ZW5kYW5jZTwvaDI+XG4gICAgICA8cD5TY2FuIHRoZSBRUiBjb2RlIHRvIGNoZWNrLWluIGZvciB5b3VyIG1lZXRpbmcuPC9wPlxuICAgICAge3ZvbHVudGVlcklkICYmIChcbiAgICAgICAgPFFSQ29kZUNhbnZhc1xuICAgICAgICAgIHZhbHVlPVwiaHR0cHM6Ly92b2x1bnRlZXJmb3JjYW1ib2RpYS5jb20vYXR0ZW5kYW5jZVwiIC8vIFRoaXMgbGluayBzaG91bGQgcmVkaXJlY3QgdG8gYSBwYWdlIGZvciBUZWxlZ3JhbSBsb2dpbi5cbiAgICAgICAgICBzaXplPXsyNTZ9XG4gICAgICAgIC8+XG4gICAgICApfVxuICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgVm9sdW50ZWVyQXR0ZW5kYW5jZVBhZ2U7XG4iLCJpbXBvcnQgeyBjcmVhdGVBc3luY1RodW5rIH0gZnJvbSAnQHJlZHV4anMvdG9vbGtpdCc7XG5pbXBvcnQgeyBESVNBQklMSVRZX1RZUEVTLCBESVNBQklMSVRZX1RZUEUsIERJU0FCSUxJVFlfVFlQRV9ERUxFVEUsIERJU0FCSUxJVFlfVFlQRV9DUkVBVEUsIERJU0FCSUxJVFlfVFlQRV9VUERBVEUgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBkaXNhYmlsaXR5VHlwZXNTZXJ2aWNlLCBkaXNhYmlsaXR5VHlwZURldGFpbFNlcnZpY2UsIGNyZWF0ZURpc2FiaWxpdHlUeXBlU2VydmljZSwgdXBkYXRlRGlzYWJpbGl0eVR5cGVTZXJ2aWNlLCBkZWxldGVEaXNhYmlsaXR5VHlwZVNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzJztcbmltcG9ydCB7IERpc2FiaWxpdHlUeXBlIH0gZnJvbSAnQC9zaGFyZWQvaW50ZXJmYWNlcyc7XG5cbmV4cG9ydCBjb25zdCBmZXRjaERpc2FiaWxpdHlUeXBlczogYW55ID0gY3JlYXRlQXN5bmNUaHVuayhcbiAgRElTQUJJTElUWV9UWVBFUyxcbiAgZGlzYWJpbGl0eVR5cGVzU2VydmljZVxuKTtcblxuZXhwb3J0IGNvbnN0IGRpc2FiaWxpdHlUeXBlRGV0YWlsQWN0aW9uOiBhbnkgPSBjcmVhdGVBc3luY1RodW5rKFxuICBESVNBQklMSVRZX1RZUEUsXG4gIGRpc2FiaWxpdHlUeXBlRGV0YWlsU2VydmljZVxuKVxuXG5leHBvcnQgY29uc3QgY3JlYXRlRGlzYWJpbGl0eVR5cGVBY3Rpb24gPSBjcmVhdGVBc3luY1RodW5rPERpc2FiaWxpdHlUeXBlLCB7IGRhdGE6IERpc2FiaWxpdHlUeXBlIH0+KFxuICBESVNBQklMSVRZX1RZUEVfQ1JFQVRFLFxuICBhc3luYyAoeyBkYXRhIH0sIHsgcmVqZWN0V2l0aFZhbHVlIH0pID0+IHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIGF3YWl0IGNyZWF0ZURpc2FiaWxpdHlUeXBlU2VydmljZShkYXRhKTtcbiAgICB9IGNhdGNoIChlcnJvcjogYW55KSB7XG4gICAgICByZXR1cm4gcmVqZWN0V2l0aFZhbHVlKGVycm9yLnJlc3BvbnNlPy5kYXRhPy5tZXNzYWdlIHx8IFwiRmFpbGVkIHRvIGNyZWF0ZSBkaXNhYmlsaXR5IHR5cGVcIik7XG4gICAgfVxuICB9XG4pO1xuXG5leHBvcnQgY29uc3QgdXBkYXRlRGlzYWJpbGl0eVR5cGVBY3Rpb24gPSBjcmVhdGVBc3luY1RodW5rPERpc2FiaWxpdHlUeXBlLCB7IGlkOiBudW1iZXI7IGRhdGE6IERpc2FiaWxpdHlUeXBlIH0+KFxuICBESVNBQklMSVRZX1RZUEVfVVBEQVRFLFxuICBhc3luYyAoeyBpZCwgZGF0YSB9LCB7IHJlamVjdFdpdGhWYWx1ZSB9KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBhd2FpdCB1cGRhdGVEaXNhYmlsaXR5VHlwZVNlcnZpY2UoaWQsIGRhdGEpO1xuICAgIH0gY2F0Y2ggKGVycm9yOiBhbnkpIHtcbiAgICAgIHJldHVybiByZWplY3RXaXRoVmFsdWUoZXJyb3IucmVzcG9uc2U/LmRhdGE/Lm1lc3NhZ2UgfHwgXCJGYWlsZWQgdG8gdXBkYXRlIGRpc2FiaWxpdHkgdHlwZVwiKTtcbiAgICB9XG4gIH1cbik7XG5cbmV4cG9ydCBjb25zdCBkZWxldGVEaXNhYmlsaXR5VHlwZUFjdGlvbjogYW55ID0gY3JlYXRlQXN5bmNUaHVuayhcbiAgRElTQUJJTElUWV9UWVBFX0RFTEVURSxcbiAgZGVsZXRlRGlzYWJpbGl0eVR5cGVTZXJ2aWNlXG4pXG4iLCJleHBvcnQgY29uc3QgRElTQUJJTElUWV9UWVBFUyA9ICdkaXNhYmlsaXR5LXR5cGVzL2ZldGNoQWxsJztcbmV4cG9ydCBjb25zdCBESVNBQklMSVRZX1RZUEUgPSAnZGlzYWJpbGl0eS10eXBlcy9mZXRjaEJ5SUQnO1xuZXhwb3J0IGNvbnN0IERJU0FCSUxJVFlfVFlQRV9DUkVBVEUgPSAnZGlzYWJpbGl0eS10eXBlcy9jcmVhdGUnO1xuZXhwb3J0IGNvbnN0IERJU0FCSUxJVFlfVFlQRV9VUERBVEUgPSAnZGlzYWJpbGl0eS10eXBlcy91cGRhdGUnO1xuZXhwb3J0IGNvbnN0IERJU0FCSUxJVFlfVFlQRV9ERUxFVEUgPSAnZGlzYWJpbGl0eS10eXBlcy9kZWxldGUnO1xuIiwiLyogZXNsaW50LWRpc2FibGUgbm8tY29uc29sZSAqL1xuXG5pbXBvcnQgeyBjcmVhdGVTbGljZSwgUGF5bG9hZEFjdGlvbiB9IGZyb20gJ0ByZWR1eGpzL3Rvb2xraXQnO1xuaW1wb3J0IHsgRGlzYWJpbGl0eVR5cGUsIERpc2FiaWxpdHlUeXBlU3RhdGUgfSBmcm9tICdAL3NoYXJlZC9pbnRlcmZhY2VzJztcbmltcG9ydCB7IGZldGNoRGlzYWJpbGl0eVR5cGVzLCB1cGRhdGVEaXNhYmlsaXR5VHlwZUFjdGlvbiwgZGlzYWJpbGl0eVR5cGVEZXRhaWxBY3Rpb24sIGNyZWF0ZURpc2FiaWxpdHlUeXBlQWN0aW9uLCBkZWxldGVEaXNhYmlsaXR5VHlwZUFjdGlvbiB9IGZyb20gJy4vYWN0aW9ucyc7XG5pbXBvcnQgeyBESVNBQklMSVRZX1RZUEUgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5cbmNvbnN0IGluaXRpYWxTdGF0ZTogRGlzYWJpbGl0eVR5cGVTdGF0ZSA9IHtcbiAgZGlzYWJpbGl0eVR5cGVzOiBbXSxcbiAgZGlzYWJpbGl0eVR5cGU6IG51bGwsXG4gIGRpc2FiaWxpdHlUeXBlc1BlbmRpbmc6IGZhbHNlLFxuICBkaXNhYmlsaXR5VHlwZURldGFpbFBlbmRpbmc6IGZhbHNlLFxuICBkaXNhYmlsaXR5VHlwZUNyZWF0ZVBlbmRpbmc6IGZhbHNlLFxuICBkaXNhYmlsaXR5VHlwZVVwZGF0ZVBlbmRpbmc6IGZhbHNlLFxuICBkaXNhYmlsaXR5VHlwZURlbGV0ZVBlbmRpbmc6IGZhbHNlLFxuICByZWdpc3RlckVycm9yTWVzc2FnZTogJycsXG59O1xuXG5leHBvcnQgY29uc3QgZGlzYWJpbGl0eVR5cGVTbGljZSA9IGNyZWF0ZVNsaWNlKHtcbiAgbmFtZTogRElTQUJJTElUWV9UWVBFLFxuICBpbml0aWFsU3RhdGUsXG4gIHJlZHVjZXJzOiB7XG4gICAgLy8gU2V0cyB0aGUgY3VycmVudCBkaXNhYmlsaXR5VHlwZVxuICAgIHNldERpc2FiaWxpdHlUeXBlOiAoc3RhdGUsIGFjdGlvbjogUGF5bG9hZEFjdGlvbjxEaXNhYmlsaXR5VHlwZT4pID0+IHtcbiAgICAgIHN0YXRlLmRpc2FiaWxpdHlUeXBlID0gYWN0aW9uLnBheWxvYWQ7XG4gICAgfSxcblxuICAgIC8vIFVwZGF0ZXMgdGhlIHJlZ2lzdGVyIGVycm9yIG1lc3NhZ2VcbiAgICBzZXRSZWdpc3RlckVycm9yTWVzc2FnZTogKHN0YXRlLCBhY3Rpb246IFBheWxvYWRBY3Rpb248c3RyaW5nPikgPT4ge1xuICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSBhY3Rpb24ucGF5bG9hZDtcbiAgICB9LFxuICB9LFxuXG4gIGV4dHJhUmVkdWNlcnM6IChidWlsZGVyKSA9PiB7XG4gICAgYnVpbGRlclxuICAgICAgLy8gaGFuZGxlIGRpc2FiaWxpdHkgdHlwZVxuICAgICAgLmFkZENhc2UoZmV0Y2hEaXNhYmlsaXR5VHlwZXMucGVuZGluZywgKHN0YXRlKSA9PiB7XG4gICAgICAgIHN0YXRlLmRpc2FiaWxpdHlUeXBlc1BlbmRpbmcgPSB0cnVlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcbiAgICAgIC8vIEhhbmRsZXMgcmVqZWN0ZWQgZGlzYWJpbGl0eSB0eXBlcyBmZXRjaFxuICAgICAgLmFkZENhc2UoZmV0Y2hEaXNhYmlsaXR5VHlwZXMucmVqZWN0ZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIHN0YXRlLmRpc2FiaWxpdHlUeXBlc1BlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSBhY3Rpb24uZXJyb3IubWVzc2FnZSB8fCAnRmFpbGVkIHRvIGZldGNoIGRpc2FiaWxpdHkgdHlwZXMuJztcbiAgICAgIH0pXG4gICAgICAvLyBIYW5kbGVzIGZ1bGZpbGxlZCBkaXNhYmlsaXR5IHR5cGVzIGZldGNoXG4gICAgICAuYWRkQ2FzZShmZXRjaERpc2FiaWxpdHlUeXBlcy5mdWxmaWxsZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIGNvbnN0IHsgcGF5bG9hZCB9ID0gYWN0aW9uO1xuICAgICAgICBzdGF0ZS5kaXNhYmlsaXR5VHlwZXMgPSBwYXlsb2FkO1xuICAgICAgICBzdGF0ZS5kaXNhYmlsaXR5VHlwZXNQZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICB9KVxuXG4gICAgICAvLyBoYW5kbGUgZGlzYWJpbGl0eSB0eXBlIGRldGFpbFxuICAgICAgLmFkZENhc2UoZGlzYWJpbGl0eVR5cGVEZXRhaWxBY3Rpb24ucGVuZGluZywgKHN0YXRlKSA9PiB7XG4gICAgICAgIHN0YXRlLmRpc2FiaWxpdHlUeXBlRGV0YWlsUGVuZGluZyA9IHRydWU7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICB9KVxuICAgICAgLy8gSGFuZGxlcyByZWplY3RlZCBkaXNhYmlsaXR5IHR5cGVzIGZldGNoXG4gICAgICAuYWRkQ2FzZShkaXNhYmlsaXR5VHlwZURldGFpbEFjdGlvbi5yZWplY3RlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgc3RhdGUuZGlzYWJpbGl0eVR5cGVEZXRhaWxQZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gYWN0aW9uLmVycm9yLm1lc3NhZ2UgfHwgJ0ZhaWxlZCB0byBmZXRjaCBkaXNhYmlsaXR5IHR5cGVzLic7XG4gICAgICB9KVxuICAgICAgLy8gSGFuZGxlcyBmdWxmaWxsZWQgZGlzYWJpbGl0eSB0eXBlcyBmZXRjaFxuICAgICAgLmFkZENhc2UoZGlzYWJpbGl0eVR5cGVEZXRhaWxBY3Rpb24uZnVsZmlsbGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBjb25zdCB7IHBheWxvYWQgfSA9IGFjdGlvbjtcbiAgICAgICAgc3RhdGUuZGlzYWJpbGl0eVR5cGUgPSBwYXlsb2FkO1xuICAgICAgICBzdGF0ZS5kaXNhYmlsaXR5VHlwZURldGFpbFBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG5cbiAgICAgIC8vIGhhbmRsZSBkaXNhYmlsaXR5VHlwZSBjcmVhdGVcbiAgICAgIC5hZGRDYXNlKGNyZWF0ZURpc2FiaWxpdHlUeXBlQWN0aW9uLnBlbmRpbmcsIChzdGF0ZSkgPT4ge1xuICAgICAgICBzdGF0ZS5kaXNhYmlsaXR5VHlwZVVwZGF0ZVBlbmRpbmcgPSB0cnVlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcbiAgICAgIC5hZGRDYXNlKGNyZWF0ZURpc2FiaWxpdHlUeXBlQWN0aW9uLnJlamVjdGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBzdGF0ZS5kaXNhYmlsaXR5VHlwZVVwZGF0ZVBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSBhY3Rpb24uZXJyb3IubWVzc2FnZSB8fCAnRmFpbGVkIHRvIGNyZWF0ZSBkaXNhYmlsaXR5IHR5cGVzLic7XG4gICAgICB9KVxuICAgICAgLmFkZENhc2UoY3JlYXRlRGlzYWJpbGl0eVR5cGVBY3Rpb24uZnVsZmlsbGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBzdGF0ZS5kaXNhYmlsaXR5VHlwZSA9IGFjdGlvbi5wYXlsb2FkO1xuICAgICAgICBzdGF0ZS5kaXNhYmlsaXR5VHlwZVVwZGF0ZVBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG5cbiAgICAgIC8vIGhhbmRsZSBkaXNhYmlsaXR5VHlwZSB1cGRhdGVcbiAgICAgIC5hZGRDYXNlKHVwZGF0ZURpc2FiaWxpdHlUeXBlQWN0aW9uLnBlbmRpbmcsIChzdGF0ZSkgPT4ge1xuICAgICAgICBzdGF0ZS5kaXNhYmlsaXR5VHlwZVVwZGF0ZVBlbmRpbmcgPSB0cnVlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcbiAgICAgIC5hZGRDYXNlKHVwZGF0ZURpc2FiaWxpdHlUeXBlQWN0aW9uLnJlamVjdGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBzdGF0ZS5kaXNhYmlsaXR5VHlwZVVwZGF0ZVBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSBhY3Rpb24uZXJyb3IubWVzc2FnZSB8fCAnRmFpbGVkIHRvIHVwZGF0ZSBkaXNhYmlsaXR5IHR5cGVzLic7XG4gICAgICB9KVxuICAgICAgLmFkZENhc2UodXBkYXRlRGlzYWJpbGl0eVR5cGVBY3Rpb24uZnVsZmlsbGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBzdGF0ZS5kaXNhYmlsaXR5VHlwZSA9IGFjdGlvbi5wYXlsb2FkO1xuICAgICAgICBzdGF0ZS5kaXNhYmlsaXR5VHlwZVVwZGF0ZVBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG5cbiAgICAgIC8vIGhhbmRsZSBkaXNhYmlsaXR5VHlwZSBkZWxldGVcbiAgICAgIC5hZGRDYXNlKGRlbGV0ZURpc2FiaWxpdHlUeXBlQWN0aW9uLnBlbmRpbmcsIChzdGF0ZSkgPT4ge1xuICAgICAgICBzdGF0ZS5kaXNhYmlsaXR5VHlwZVVwZGF0ZVBlbmRpbmcgPSB0cnVlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcbiAgICAgIC5hZGRDYXNlKGRlbGV0ZURpc2FiaWxpdHlUeXBlQWN0aW9uLnJlamVjdGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBzdGF0ZS5kaXNhYmlsaXR5VHlwZVVwZGF0ZVBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSBhY3Rpb24uZXJyb3IubWVzc2FnZSB8fCAnRmFpbGVkIHRvIGRlbGV0ZSBkaXNhYmlsaXR5IHR5cGVzLic7XG4gICAgICB9KVxuICAgICAgLmFkZENhc2UoZGVsZXRlRGlzYWJpbGl0eVR5cGVBY3Rpb24uZnVsZmlsbGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBzdGF0ZS5kaXNhYmlsaXR5VHlwZSA9IGFjdGlvbi5wYXlsb2FkO1xuICAgICAgICBzdGF0ZS5kaXNhYmlsaXR5VHlwZVVwZGF0ZVBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG4gIH0sXG59KTtcblxuZXhwb3J0IGNvbnN0IHsgc2V0UmVnaXN0ZXJFcnJvck1lc3NhZ2UsIHNldERpc2FiaWxpdHlUeXBlIH0gPSBkaXNhYmlsaXR5VHlwZVNsaWNlLmFjdGlvbnM7XG5cbmV4cG9ydCBkZWZhdWx0IGRpc2FiaWxpdHlUeXBlU2xpY2UucmVkdWNlcjtcbiIsImltcG9ydCB7IERpc2FiaWxpdHlUeXBlIH0gZnJvbSAnQC9zaGFyZWQvaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBVUkwgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvY29uZmlncy9jb25zdGFudHMnO1xuaW1wb3J0IHsgZ2V0V2l0aENvbmZpZywgcG9zdFdpdGhDb25maWcsIHB1dFdpdGhDb25maWcsIHJlbW92ZVdpdGhDb25maWcgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvY29yZS9iYXNlL3NlcnZpY2VzJztcblxuZXhwb3J0IGNvbnN0IGRpc2FiaWxpdHlUeXBlc1NlcnZpY2UgPSBhc3luYygpID0+IHtcbiAgcmV0dXJuIGF3YWl0IGdldFdpdGhDb25maWcoVVJMLkRJU0FCSUxJVFlfVFlQRSlcbn1cblxuZXhwb3J0IGNvbnN0IGRpc2FiaWxpdHlUeXBlRGV0YWlsU2VydmljZSA9IGFzeW5jKGlkOiBudW1iZXIpID0+IHtcbiAgcmV0dXJuIGF3YWl0IGdldFdpdGhDb25maWcoYCR7VVJMLkRJU0FCSUxJVFlfVFlQRX0ke2lkfWApXG59XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVEaXNhYmlsaXR5VHlwZVNlcnZpY2UgPSBhc3luYyAoZGF0YTogRGlzYWJpbGl0eVR5cGUpOiBQcm9taXNlPERpc2FiaWxpdHlUeXBlPiA9PiB7XG4gIHJldHVybiBwb3N0V2l0aENvbmZpZyhgJHtVUkwuRElTQUJJTElUWV9UWVBFfWAsIGRhdGEpO1xufTtcblxuZXhwb3J0IGNvbnN0IHVwZGF0ZURpc2FiaWxpdHlUeXBlU2VydmljZSA9IGFzeW5jIChpZDogbnVtYmVyLCBkYXRhOiBEaXNhYmlsaXR5VHlwZSk6IFByb21pc2U8RGlzYWJpbGl0eVR5cGU+ID0+IHtcbiAgcmV0dXJuIHB1dFdpdGhDb25maWcoYCR7VVJMLkRJU0FCSUxJVFlfVFlQRX0ke2lkfWAsIGRhdGEpO1xufTtcblxuZXhwb3J0IGNvbnN0IGRlbGV0ZURpc2FiaWxpdHlUeXBlU2VydmljZSA9IGFzeW5jKGlkOiBudW1iZXIpID0+e1xuICByZXR1cm4gYXdhaXQgcmVtb3ZlV2l0aENvbmZpZyhgJHtVUkwuRElTQUJJTElUWV9UWVBFfSR7aWR9YClcbn1cbiIsImltcG9ydCB7IGNyZWF0ZUFzeW5jVGh1bmsgfSBmcm9tICdAcmVkdXhqcy90b29sa2l0JztcbmltcG9ydCB7IEVEVUNBVElPTl9JTlNUSVRVVElPTlMsIEVEVUNBVElPTl9JTlNUSVRVVElPTiwgRURVQ0FUSU9OX0lOU1RJVFVUSU9OX0RFTEVURSwgRURVQ0FUSU9OX0lOU1RJVFVUSU9OX0NSRUFURSwgRURVQ0FUSU9OX0lOU1RJVFVUSU9OX1VQREFURSB9IGZyb20gJy4vY29uc3RhbnRzJztcbmltcG9ydCB7IGVkdWNhdGlvbkluc3RpdHV0aW9uc1NlcnZpY2UsIGVkdWNhdGlvbkluc3RpdHV0aW9uRGV0YWlsU2VydmljZSwgY3JlYXRlRWR1Y2F0aW9uSW5zdGl0dXRpb25TZXJ2aWNlLCB1cGRhdGVFZHVjYXRpb25JbnN0aXR1dGlvblNlcnZpY2UsIGRlbGV0ZUVkdWNhdGlvbkluc3RpdHV0aW9uU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMnO1xuaW1wb3J0IHsgRWR1Y2F0aW9uSW5zdGl0dXRpb24gfSBmcm9tICdAL3NoYXJlZC9pbnRlcmZhY2VzJztcblxuZXhwb3J0IGNvbnN0IGZldGNoRWR1Y2F0aW9uSW5zdGl0dXRpb25zOiBhbnkgPSBjcmVhdGVBc3luY1RodW5rKFxuICBFRFVDQVRJT05fSU5TVElUVVRJT05TLFxuICBlZHVjYXRpb25JbnN0aXR1dGlvbnNTZXJ2aWNlXG4pO1xuXG5leHBvcnQgY29uc3QgZWR1Y2F0aW9uSW5zdGl0dXRpb25EZXRhaWxBY3Rpb246IGFueSA9IGNyZWF0ZUFzeW5jVGh1bmsoXG4gIEVEVUNBVElPTl9JTlNUSVRVVElPTixcbiAgZWR1Y2F0aW9uSW5zdGl0dXRpb25EZXRhaWxTZXJ2aWNlXG4pXG5cbmV4cG9ydCBjb25zdCBjcmVhdGVFZHVjYXRpb25JbnN0aXR1dGlvbkFjdGlvbiA9IGNyZWF0ZUFzeW5jVGh1bms8RWR1Y2F0aW9uSW5zdGl0dXRpb24sIHsgZGF0YTogRWR1Y2F0aW9uSW5zdGl0dXRpb24gfT4oXG4gIEVEVUNBVElPTl9JTlNUSVRVVElPTl9DUkVBVEUsXG4gIGFzeW5jICh7IGRhdGEgfSwgeyByZWplY3RXaXRoVmFsdWUgfSkgPT4ge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gYXdhaXQgY3JlYXRlRWR1Y2F0aW9uSW5zdGl0dXRpb25TZXJ2aWNlKGRhdGEpO1xuICAgIH0gY2F0Y2ggKGVycm9yOiBhbnkpIHtcbiAgICAgIHJldHVybiByZWplY3RXaXRoVmFsdWUoZXJyb3IucmVzcG9uc2U/LmRhdGE/Lm1lc3NhZ2UgfHwgXCJGYWlsZWQgdG8gY3JlYXRlIGVkdWNhdGlvbiBpbnN0aXR1dGlvblwiKTtcbiAgICB9XG4gIH1cbik7XG5cbmV4cG9ydCBjb25zdCB1cGRhdGVFZHVjYXRpb25JbnN0aXR1dGlvbkFjdGlvbiA9IGNyZWF0ZUFzeW5jVGh1bms8RWR1Y2F0aW9uSW5zdGl0dXRpb24sIHsgaWQ6IG51bWJlcjsgZGF0YTogRWR1Y2F0aW9uSW5zdGl0dXRpb24gfT4oXG4gIEVEVUNBVElPTl9JTlNUSVRVVElPTl9VUERBVEUsXG4gIGFzeW5jICh7IGlkLCBkYXRhIH0sIHsgcmVqZWN0V2l0aFZhbHVlIH0pID0+IHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIGF3YWl0IHVwZGF0ZUVkdWNhdGlvbkluc3RpdHV0aW9uU2VydmljZShpZCwgZGF0YSk7XG4gICAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xuICAgICAgcmV0dXJuIHJlamVjdFdpdGhWYWx1ZShlcnJvci5yZXNwb25zZT8uZGF0YT8ubWVzc2FnZSB8fCBcIkZhaWxlZCB0byB1cGRhdGUgZWR1Y2F0aW9uIGluc3RpdHV0aW9uXCIpO1xuICAgIH1cbiAgfVxuKTtcblxuZXhwb3J0IGNvbnN0IGRlbGV0ZUVkdWNhdGlvbkluc3RpdHV0aW9uQWN0aW9uOiBhbnkgPSBjcmVhdGVBc3luY1RodW5rKFxuICBFRFVDQVRJT05fSU5TVElUVVRJT05fREVMRVRFLFxuICBkZWxldGVFZHVjYXRpb25JbnN0aXR1dGlvblNlcnZpY2VcbilcbiIsImV4cG9ydCBjb25zdCBFRFVDQVRJT05fSU5TVElUVVRJT05TID0gJ2VkdWNhdGlvbi1pbnN0aXR1dGlvbnMvZmV0Y2hBbGwnO1xuZXhwb3J0IGNvbnN0IEVEVUNBVElPTl9JTlNUSVRVVElPTiA9ICdlZHVjYXRpb24taW5zdGl0dXRpb25zL2ZldGNoQnlJRCc7XG5leHBvcnQgY29uc3QgRURVQ0FUSU9OX0lOU1RJVFVUSU9OX0NSRUFURSA9ICdlZHVjYXRpb24taW5zdGl0dXRpb25zL2NyZWF0ZSc7XG5leHBvcnQgY29uc3QgRURVQ0FUSU9OX0lOU1RJVFVUSU9OX1VQREFURSA9ICdlZHVjYXRpb24taW5zdGl0dXRpb25zL3VwZGF0ZSc7XG5leHBvcnQgY29uc3QgRURVQ0FUSU9OX0lOU1RJVFVUSU9OX0RFTEVURSA9ICdlZHVjYXRpb24taW5zdGl0dXRpb25zL2RlbGV0ZSc7XG4iLCIvKiBlc2xpbnQtZGlzYWJsZSBuby1jb25zb2xlICovXG5cbmltcG9ydCB7IGNyZWF0ZVNsaWNlLCBQYXlsb2FkQWN0aW9uIH0gZnJvbSAnQHJlZHV4anMvdG9vbGtpdCc7XG5pbXBvcnQgeyBFZHVjYXRpb25JbnN0aXR1dGlvbiwgRWR1Y2F0aW9uSW5zdGl0dXRpb25TdGF0ZSB9IGZyb20gJ0Avc2hhcmVkL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgZmV0Y2hFZHVjYXRpb25JbnN0aXR1dGlvbnMsIHVwZGF0ZUVkdWNhdGlvbkluc3RpdHV0aW9uQWN0aW9uLCBlZHVjYXRpb25JbnN0aXR1dGlvbkRldGFpbEFjdGlvbiwgY3JlYXRlRWR1Y2F0aW9uSW5zdGl0dXRpb25BY3Rpb24sIGRlbGV0ZUVkdWNhdGlvbkluc3RpdHV0aW9uQWN0aW9uIH0gZnJvbSAnLi9hY3Rpb25zJztcbmltcG9ydCB7IEVEVUNBVElPTl9JTlNUSVRVVElPTiB9IGZyb20gJy4vY29uc3RhbnRzJztcblxuY29uc3QgaW5pdGlhbFN0YXRlOiBFZHVjYXRpb25JbnN0aXR1dGlvblN0YXRlID0ge1xuICBlZHVjYXRpb25JbnN0aXR1dGlvbnM6IFtdLFxuICBlZHVjYXRpb25JbnN0aXR1dGlvbjogbnVsbCxcbiAgZWR1Y2F0aW9uSW5zdGl0dXRpb25zUGVuZGluZzogZmFsc2UsXG4gIGVkdWNhdGlvbkluc3RpdHV0aW9uRGV0YWlsUGVuZGluZzogZmFsc2UsXG4gIGVkdWNhdGlvbkluc3RpdHV0aW9uQ3JlYXRlUGVuZGluZzogZmFsc2UsXG4gIGVkdWNhdGlvbkluc3RpdHV0aW9uVXBkYXRlUGVuZGluZzogZmFsc2UsXG4gIGVkdWNhdGlvbkluc3RpdHV0aW9uRGVsZXRlUGVuZGluZzogZmFsc2UsXG4gIHJlZ2lzdGVyRXJyb3JNZXNzYWdlOiAnJyxcbn07XG5cbmV4cG9ydCBjb25zdCBlZHVjYXRpb25JbnN0aXR1dGlvblNsaWNlID0gY3JlYXRlU2xpY2Uoe1xuICBuYW1lOiBFRFVDQVRJT05fSU5TVElUVVRJT04sXG4gIGluaXRpYWxTdGF0ZSxcbiAgcmVkdWNlcnM6IHtcbiAgICAvLyBTZXRzIHRoZSBjdXJyZW50IGVkdWNhdGlvbkluc3RpdHV0aW9uXG4gICAgc2V0RWR1Y2F0aW9uSW5zdGl0dXRpb246IChzdGF0ZSwgYWN0aW9uOiBQYXlsb2FkQWN0aW9uPEVkdWNhdGlvbkluc3RpdHV0aW9uPikgPT4ge1xuICAgICAgc3RhdGUuZWR1Y2F0aW9uSW5zdGl0dXRpb24gPSBhY3Rpb24ucGF5bG9hZDtcbiAgICB9LFxuXG4gICAgLy8gVXBkYXRlcyB0aGUgcmVnaXN0ZXIgZXJyb3IgbWVzc2FnZVxuICAgIHNldFJlZ2lzdGVyRXJyb3JNZXNzYWdlOiAoc3RhdGUsIGFjdGlvbjogUGF5bG9hZEFjdGlvbjxzdHJpbmc+KSA9PiB7XG4gICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9IGFjdGlvbi5wYXlsb2FkO1xuICAgIH0sXG4gIH0sXG5cbiAgZXh0cmFSZWR1Y2VyczogKGJ1aWxkZXIpID0+IHtcbiAgICBidWlsZGVyXG4gICAgICAvLyBoYW5kbGUgZWR1Y2F0aW9uIGluc3RpdHV0aW9uXG4gICAgICAuYWRkQ2FzZShmZXRjaEVkdWNhdGlvbkluc3RpdHV0aW9ucy5wZW5kaW5nLCAoc3RhdGUpID0+IHtcbiAgICAgICAgc3RhdGUuZWR1Y2F0aW9uSW5zdGl0dXRpb25zUGVuZGluZyA9IHRydWU7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICB9KVxuICAgICAgLy8gSGFuZGxlcyByZWplY3RlZCBlZHVjYXRpb24gaW5zdGl0dXRpb25zIGZldGNoXG4gICAgICAuYWRkQ2FzZShmZXRjaEVkdWNhdGlvbkluc3RpdHV0aW9ucy5yZWplY3RlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgc3RhdGUuZWR1Y2F0aW9uSW5zdGl0dXRpb25zUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9IGFjdGlvbi5lcnJvci5tZXNzYWdlIHx8ICdGYWlsZWQgdG8gZmV0Y2ggZWR1Y2F0aW9uIGluc3RpdHV0aW9ucy4nO1xuICAgICAgfSlcbiAgICAgIC8vIEhhbmRsZXMgZnVsZmlsbGVkIGVkdWNhdGlvbiBpbnN0aXR1dGlvbnMgZmV0Y2hcbiAgICAgIC5hZGRDYXNlKGZldGNoRWR1Y2F0aW9uSW5zdGl0dXRpb25zLmZ1bGZpbGxlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgY29uc3QgeyBwYXlsb2FkIH0gPSBhY3Rpb247XG4gICAgICAgIHN0YXRlLmVkdWNhdGlvbkluc3RpdHV0aW9ucyA9IHBheWxvYWQ7XG4gICAgICAgIHN0YXRlLmVkdWNhdGlvbkluc3RpdHV0aW9uc1BlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG5cbiAgICAgIC8vIGhhbmRsZSBlZHVjYXRpb24gaW5zdGl0dXRpb24gZGV0YWlsXG4gICAgICAuYWRkQ2FzZShlZHVjYXRpb25JbnN0aXR1dGlvbkRldGFpbEFjdGlvbi5wZW5kaW5nLCAoc3RhdGUpID0+IHtcbiAgICAgICAgc3RhdGUuZWR1Y2F0aW9uSW5zdGl0dXRpb25EZXRhaWxQZW5kaW5nID0gdHJ1ZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG4gICAgICAvLyBIYW5kbGVzIHJlamVjdGVkIGVkdWNhdGlvbiBpbnN0aXR1dGlvbnMgZmV0Y2hcbiAgICAgIC5hZGRDYXNlKGVkdWNhdGlvbkluc3RpdHV0aW9uRGV0YWlsQWN0aW9uLnJlamVjdGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBzdGF0ZS5lZHVjYXRpb25JbnN0aXR1dGlvbkRldGFpbFBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSBhY3Rpb24uZXJyb3IubWVzc2FnZSB8fCAnRmFpbGVkIHRvIGZldGNoIGVkdWNhdGlvbiBpbnN0aXR1dGlvbnMuJztcbiAgICAgIH0pXG4gICAgICAvLyBIYW5kbGVzIGZ1bGZpbGxlZCBlZHVjYXRpb24gaW5zdGl0dXRpb25zIGZldGNoXG4gICAgICAuYWRkQ2FzZShlZHVjYXRpb25JbnN0aXR1dGlvbkRldGFpbEFjdGlvbi5mdWxmaWxsZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIGNvbnN0IHsgcGF5bG9hZCB9ID0gYWN0aW9uO1xuICAgICAgICBzdGF0ZS5lZHVjYXRpb25JbnN0aXR1dGlvbiA9IHBheWxvYWQ7XG4gICAgICAgIHN0YXRlLmVkdWNhdGlvbkluc3RpdHV0aW9uRGV0YWlsUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcblxuICAgICAgLy8gaGFuZGxlIGVkdWNhdGlvbkluc3RpdHV0aW9uIGNyZWF0ZVxuICAgICAgLmFkZENhc2UoY3JlYXRlRWR1Y2F0aW9uSW5zdGl0dXRpb25BY3Rpb24ucGVuZGluZywgKHN0YXRlKSA9PiB7XG4gICAgICAgIHN0YXRlLmVkdWNhdGlvbkluc3RpdHV0aW9uVXBkYXRlUGVuZGluZyA9IHRydWU7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICB9KVxuICAgICAgLmFkZENhc2UoY3JlYXRlRWR1Y2F0aW9uSW5zdGl0dXRpb25BY3Rpb24ucmVqZWN0ZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIHN0YXRlLmVkdWNhdGlvbkluc3RpdHV0aW9uVXBkYXRlUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9IGFjdGlvbi5lcnJvci5tZXNzYWdlIHx8ICdGYWlsZWQgdG8gY3JlYXRlIGVkdWNhdGlvbiBpbnN0aXR1dGlvbnMuJztcbiAgICAgIH0pXG4gICAgICAuYWRkQ2FzZShjcmVhdGVFZHVjYXRpb25JbnN0aXR1dGlvbkFjdGlvbi5mdWxmaWxsZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIHN0YXRlLmVkdWNhdGlvbkluc3RpdHV0aW9uID0gYWN0aW9uLnBheWxvYWQ7XG4gICAgICAgIHN0YXRlLmVkdWNhdGlvbkluc3RpdHV0aW9uVXBkYXRlUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcblxuICAgICAgLy8gaGFuZGxlIGVkdWNhdGlvbkluc3RpdHV0aW9uIHVwZGF0ZVxuICAgICAgLmFkZENhc2UodXBkYXRlRWR1Y2F0aW9uSW5zdGl0dXRpb25BY3Rpb24ucGVuZGluZywgKHN0YXRlKSA9PiB7XG4gICAgICAgIHN0YXRlLmVkdWNhdGlvbkluc3RpdHV0aW9uVXBkYXRlUGVuZGluZyA9IHRydWU7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICB9KVxuICAgICAgLmFkZENhc2UodXBkYXRlRWR1Y2F0aW9uSW5zdGl0dXRpb25BY3Rpb24ucmVqZWN0ZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIHN0YXRlLmVkdWNhdGlvbkluc3RpdHV0aW9uVXBkYXRlUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9IGFjdGlvbi5lcnJvci5tZXNzYWdlIHx8ICdGYWlsZWQgdG8gdXBkYXRlIGVkdWNhdGlvbiBpbnN0aXR1dGlvbnMuJztcbiAgICAgIH0pXG4gICAgICAuYWRkQ2FzZSh1cGRhdGVFZHVjYXRpb25JbnN0aXR1dGlvbkFjdGlvbi5mdWxmaWxsZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIHN0YXRlLmVkdWNhdGlvbkluc3RpdHV0aW9uID0gYWN0aW9uLnBheWxvYWQ7XG4gICAgICAgIHN0YXRlLmVkdWNhdGlvbkluc3RpdHV0aW9uVXBkYXRlUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcblxuICAgICAgLy8gaGFuZGxlIGVkdWNhdGlvbkluc3RpdHV0aW9uIGRlbGV0ZVxuICAgICAgLmFkZENhc2UoZGVsZXRlRWR1Y2F0aW9uSW5zdGl0dXRpb25BY3Rpb24ucGVuZGluZywgKHN0YXRlKSA9PiB7XG4gICAgICAgIHN0YXRlLmVkdWNhdGlvbkluc3RpdHV0aW9uVXBkYXRlUGVuZGluZyA9IHRydWU7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICB9KVxuICAgICAgLmFkZENhc2UoZGVsZXRlRWR1Y2F0aW9uSW5zdGl0dXRpb25BY3Rpb24ucmVqZWN0ZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIHN0YXRlLmVkdWNhdGlvbkluc3RpdHV0aW9uVXBkYXRlUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9IGFjdGlvbi5lcnJvci5tZXNzYWdlIHx8ICdGYWlsZWQgdG8gZGVsZXRlIGVkdWNhdGlvbiBpbnN0aXR1dGlvbnMuJztcbiAgICAgIH0pXG4gICAgICAuYWRkQ2FzZShkZWxldGVFZHVjYXRpb25JbnN0aXR1dGlvbkFjdGlvbi5mdWxmaWxsZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIHN0YXRlLmVkdWNhdGlvbkluc3RpdHV0aW9uID0gYWN0aW9uLnBheWxvYWQ7XG4gICAgICAgIHN0YXRlLmVkdWNhdGlvbkluc3RpdHV0aW9uVXBkYXRlUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcbiAgfSxcbn0pO1xuXG5leHBvcnQgY29uc3QgeyBzZXRSZWdpc3RlckVycm9yTWVzc2FnZSwgc2V0RWR1Y2F0aW9uSW5zdGl0dXRpb24gfSA9IGVkdWNhdGlvbkluc3RpdHV0aW9uU2xpY2UuYWN0aW9ucztcblxuZXhwb3J0IGRlZmF1bHQgZWR1Y2F0aW9uSW5zdGl0dXRpb25TbGljZS5yZWR1Y2VyO1xuIiwiaW1wb3J0IHsgRWR1Y2F0aW9uSW5zdGl0dXRpb24gfSBmcm9tICdAL3NoYXJlZC9pbnRlcmZhY2VzJztcbmltcG9ydCB7IFVSTCB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9jb25maWdzL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBnZXRXaXRoQ29uZmlnLCBwb3N0V2l0aENvbmZpZywgcHV0V2l0aENvbmZpZywgcmVtb3ZlV2l0aENvbmZpZyB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9jb3JlL2Jhc2Uvc2VydmljZXMnO1xuXG5leHBvcnQgY29uc3QgZWR1Y2F0aW9uSW5zdGl0dXRpb25zU2VydmljZSA9IGFzeW5jKCkgPT4ge1xuICByZXR1cm4gYXdhaXQgZ2V0V2l0aENvbmZpZyhVUkwuRURVQ0FUSU9OX0lOU1RJVFVUSU9OKVxufVxuXG5leHBvcnQgY29uc3QgZWR1Y2F0aW9uSW5zdGl0dXRpb25EZXRhaWxTZXJ2aWNlID0gYXN5bmMoaWQ6IG51bWJlcikgPT4ge1xuICByZXR1cm4gYXdhaXQgZ2V0V2l0aENvbmZpZyhgJHtVUkwuRURVQ0FUSU9OX0lOU1RJVFVUSU9OfSR7aWR9YClcbn1cblxuZXhwb3J0IGNvbnN0IGNyZWF0ZUVkdWNhdGlvbkluc3RpdHV0aW9uU2VydmljZSA9IGFzeW5jIChkYXRhOiBFZHVjYXRpb25JbnN0aXR1dGlvbik6IFByb21pc2U8RWR1Y2F0aW9uSW5zdGl0dXRpb24+ID0+IHtcbiAgcmV0dXJuIHBvc3RXaXRoQ29uZmlnKGAke1VSTC5FRFVDQVRJT05fSU5TVElUVVRJT059YCwgZGF0YSk7XG59O1xuXG5leHBvcnQgY29uc3QgdXBkYXRlRWR1Y2F0aW9uSW5zdGl0dXRpb25TZXJ2aWNlID0gYXN5bmMgKGlkOiBudW1iZXIsIGRhdGE6IEVkdWNhdGlvbkluc3RpdHV0aW9uKTogUHJvbWlzZTxFZHVjYXRpb25JbnN0aXR1dGlvbj4gPT4ge1xuICByZXR1cm4gcHV0V2l0aENvbmZpZyhgJHtVUkwuRURVQ0FUSU9OX0lOU1RJVFVUSU9OfSR7aWR9YCwgZGF0YSk7XG59O1xuXG5leHBvcnQgY29uc3QgZGVsZXRlRWR1Y2F0aW9uSW5zdGl0dXRpb25TZXJ2aWNlID0gYXN5bmMoaWQ6IG51bWJlcikgPT57XG4gIHJldHVybiBhd2FpdCByZW1vdmVXaXRoQ29uZmlnKGAke1VSTC5FRFVDQVRJT05fSU5TVElUVVRJT059JHtpZH1gKVxufVxuIiwiaW1wb3J0IHsgY3JlYXRlQXN5bmNUaHVuayB9IGZyb20gJ0ByZWR1eGpzL3Rvb2xraXQnO1xuaW1wb3J0IHtQUk9WSU5DRVMsIERJU1RSSUNULCBDT01NVU5FLCBWSUxMQUdFLCBGQU1JTFlfU1VSVkVZUywgRkFNSUxZX1NVUlZFWSwgRkFNSUxZX1NVUlZFWV9DUkVBVEUsIEZBTUlMWV9TVVJWRVlfVVBEQVRFLCBGQU1JTFlfU1VSVkVZX0RFTEVURSwgVFJBTlNQT1JUQVRJT059IGZyb20gJy4vY29uc3RhbnRzJztcbmltcG9ydCB7IGNvbW11bmVTZXJ2aWNlLCBjcmVhdGVGYW1pbHlTZXJ2aWNlLCBkZWxldGVGYW1pbHlTZXJ2aWNlLCBkaXN0cmljdFNlcnZpY2UsIGZhbWlseURldGFpbFNlcnZpY2UsIGZhbWlseVNlcnZpY2UsIHByb3ZpbmNlU2VydmljZSwgdHJhbnNwb3J0YXRpb25TZXJ2aWNlLCB1cGRhdGVGYW1pbHlTZXJ2aWNlLCB2aWxsYWdlU2VydmljZX0gZnJvbSAnLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBDcmVhdGVGYW1pbHlNZW1iZXIsIEZhbWlseVBhZ2luYXRpb24sIEZhbWlseVBhcmFtcyB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9pbnRlcmZhY2VzL2luZGV4JztcblxuZXhwb3J0IGNvbnN0IGZldGNoUHJvdmluY2U6IGFueSA9IGNyZWF0ZUFzeW5jVGh1bmsoXG4gIFBST1ZJTkNFUyxcbiAgcHJvdmluY2VTZXJ2aWNlXG4pO1xuXG5leHBvcnQgY29uc3QgZmV0Y2hEaXN0cmljdDogYW55ID0gY3JlYXRlQXN5bmNUaHVuazxhbnkse2lkOiBudW1iZXJ9PihcbiAgRElTVFJJQ1QsXG4gIGFzeW5jICh7IGlkIH0sIHsgcmVqZWN0V2l0aFZhbHVlIH0pID0+IHtcbiAgICB0cnkge1xuICAgICAgY29uc29sZS5sb2coJ3Byb3ZpbmNlSWQ6Ojo6JywgaWQpXG4gICAgICByZXR1cm4gYXdhaXQgZGlzdHJpY3RTZXJ2aWNlKGlkKTtcbiAgICB9IGNhdGNoIChlcnJvcjogYW55KSB7XG4gICAgICByZXR1cm4gcmVqZWN0V2l0aFZhbHVlKGVycm9yLnJlc3BvbnNlPy5kZXRhaWwgfHwgXCJGYWlsZWRcIik7XG4gICAgfVxuICB9XG4pO1xuXG5leHBvcnQgY29uc3QgZmV0Y2hDb21tdW5lOiBhbnkgPSBjcmVhdGVBc3luY1RodW5rPGFueSx7aWQ6IG51bWJlcn0+KFxuICBDT01NVU5FLFxuICBhc3luYyAoeyBpZCB9LCB7IHJlamVjdFdpdGhWYWx1ZSB9KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBhd2FpdCBjb21tdW5lU2VydmljZShpZCk7XG4gICAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xuICAgICAgcmV0dXJuIHJlamVjdFdpdGhWYWx1ZShlcnJvci5yZXNwb25zZT8uZGV0YWlsIHx8IFwiRmFpbGVkXCIpO1xuICAgIH1cbiAgfVxuKTtcblxuZXhwb3J0IGNvbnN0IGZldGNoVmlsbGFnZVNlcnZpY2U6IGFueSA9IGNyZWF0ZUFzeW5jVGh1bms8YW55LHtpZDogbnVtYmVyfT4oXG4gIFZJTExBR0UsXG4gIGFzeW5jICh7IGlkIH0sIHsgcmVqZWN0V2l0aFZhbHVlIH0pID0+IHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIGF3YWl0IHZpbGxhZ2VTZXJ2aWNlKGlkKTtcbiAgICB9IGNhdGNoIChlcnJvcjogYW55KSB7XG4gICAgICByZXR1cm4gcmVqZWN0V2l0aFZhbHVlKGVycm9yLnJlc3BvbnNlPy5kZXRhaWwgfHwgXCJGYWlsZWRcIik7XG4gICAgfVxuICB9XG4pO1xuXG5leHBvcnQgY29uc3QgZmV0Y2hUcmFuc3BvcnRhdGlvbjogYW55ID0gY3JlYXRlQXN5bmNUaHVuayhcbiAgVFJBTlNQT1JUQVRJT04sXG4gIHRyYW5zcG9ydGF0aW9uU2VydmljZVxuKTtcblxuZXhwb3J0IGNvbnN0IGZldGNoRmFtaWx5U3VydmV5ID0gY3JlYXRlQXN5bmNUaHVuazxGYW1pbHlQYWdpbmF0aW9uLCBGYW1pbHlQYXJhbXM+KFxuICBGQU1JTFlfU1VSVkVZUyxcbiAgYXN5bmMgKHsgc2VhcmNoLCBwYWdlLCBwYWdlU2l6ZSwgZ2VuZGVyLCB0b3RhbF9tZW1iZXIsIGFnZSwgdmlsbGFnZSwgY29tbXVuZSwgZGlzdHJpY3QsIHByb3ZpbmNlfSwgeyByZWplY3RXaXRoVmFsdWUgfSkgPT4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZhbWlseVNlcnZpY2Uoc2VhcmNoLCBwYWdlLCBwYWdlU2l6ZSwgZ2VuZGVyLCB0b3RhbF9tZW1iZXIsIGFnZSwgdmlsbGFnZSwgY29tbXVuZSwgZGlzdHJpY3QsIHByb3ZpbmNlKTtcbiAgICAgIHJldHVybiByZXNwb25zZTtcbiAgICB9IGNhdGNoIChlcnJvcjogYW55KSB7XG4gICAgICByZXR1cm4gcmVqZWN0V2l0aFZhbHVlKGVycm9yLnJlc3BvbnNlPy5kZXRhaWwgfHwgXCJGYWlsZWQgdG8gZmV0Y2ggdm9sdW50ZWVyc1wiKTtcbiAgICB9XG4gIH1cbik7XG5cbmV4cG9ydCBjb25zdCBkZWxldGVGYW1pbHlBY3Rpb246IGFueSA9IGNyZWF0ZUFzeW5jVGh1bmsoXG4gIEZBTUlMWV9TVVJWRVlfREVMRVRFLFxuICBkZWxldGVGYW1pbHlTZXJ2aWNlXG4pXG5cbmV4cG9ydCBjb25zdCBmYW1pbHlEZXRhaWxBY3Rpb246IGFueSA9IGNyZWF0ZUFzeW5jVGh1bmsoXG4gIEZBTUlMWV9TVVJWRVksXG4gIGZhbWlseURldGFpbFNlcnZpY2VcbilcblxuZXhwb3J0IGNvbnN0IHVwZGF0ZUZhbWlseUFjdGlvbiA9IGNyZWF0ZUFzeW5jVGh1bms8Q3JlYXRlRmFtaWx5TWVtYmVyLCB7IGlkOiBudW1iZXI7IGRhdGE6IENyZWF0ZUZhbWlseU1lbWJlciB9PihcbiAgRkFNSUxZX1NVUlZFWV9VUERBVEUsXG4gIGFzeW5jICh7IGlkLCBkYXRhIH0sIHsgcmVqZWN0V2l0aFZhbHVlIH0pID0+IHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIGF3YWl0IHVwZGF0ZUZhbWlseVNlcnZpY2UoaWQsIGRhdGEpO1xuICAgIH0gY2F0Y2ggKGVycm9yOiBhbnkpIHtcbiAgICAgIHJldHVybiByZWplY3RXaXRoVmFsdWUoZXJyb3IucmVzcG9uc2U/LmRldGFpbCB8fCBcIkZhaWxlZCB0byB1cGRhdGUgdm9sdW50ZWVyXCIpO1xuICAgIH1cbiAgfVxuKTtcblxuXG5leHBvcnQgY29uc3QgY3JlYXRlRmFtaWx5QWN0aW9uID0gY3JlYXRlQXN5bmNUaHVuazxDcmVhdGVGYW1pbHlNZW1iZXIsIHsgZGF0YTogQ3JlYXRlRmFtaWx5TWVtYmVyIH0+KFxuICBGQU1JTFlfU1VSVkVZX0NSRUFURSxcbiAgYXN5bmMgKHsgZGF0YSB9LCB7IHJlamVjdFdpdGhWYWx1ZSB9KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnNvbGUubG9nKCc6OjogY3JlYXRlRmFtaWx5QWN0aW9uOjo6ICcsZGF0YSlcbiAgICAgIHJldHVybiBhd2FpdCBjcmVhdGVGYW1pbHlTZXJ2aWNlKGRhdGEpO1xuICAgIH0gY2F0Y2ggKGVycm9yOiBhbnkpIHtcbiAgICAgIHJldHVybiByZWplY3RXaXRoVmFsdWUoZXJyb3IucmVzcG9uc2U/LmRhdGE/Lm1lc3NhZ2UgfHwgXCJGYWlsZWQgdG8gY3JlYXRlIGZvb2RcIik7XG4gICAgfVxuICB9XG4pOyIsImV4cG9ydCBjb25zdCBGQU1JTFlfU1VSVkVZUyA9ICdmYW1pbHktc3VydmV5L2ZldGNoQWxsJztcbmV4cG9ydCBjb25zdCBGQU1JTFlfU1VSVkVZID0gJ2ZhbWlseS1zdXJ2ZXkvZmV0Y2hCeUlEJztcbmV4cG9ydCBjb25zdCBGQU1JTFlfU1VSVkVZX0NSRUFURSA9ICdmYW1pbHktc3VydmV5L2NyZWF0ZSc7XG5leHBvcnQgY29uc3QgRkFNSUxZX1NVUlZFWV9VUERBVEUgPSAnZmFtaWx5LXN1cnZleS91cGRhdGUnO1xuZXhwb3J0IGNvbnN0IEZBTUlMWV9TVVJWRVlfREVMRVRFID0gJ2ZhbWlseS1zdXJ2ZXkvZGVsZXRlJztcblxuZXhwb3J0IGNvbnN0IFBST1ZJTkNFUyA9ICdwcm92aW5jZXMvJztcbmV4cG9ydCBjb25zdCBESVNUUklDVCA9ICdESVNUUklDVCc7XG5leHBvcnQgY29uc3QgQ09NTVVORSA9ICdDT01NVU5FJztcbmV4cG9ydCBjb25zdCBWSUxMQUdFID0gJ1ZJTExBR0UnO1xuZXhwb3J0IGNvbnN0IFRSQU5TUE9SVEFUSU9OID0gJ1RSQU5TUE9SVEFUSU9OJztcbiIsIi8qIGVzbGludC1kaXNhYmxlIG5vLWNvbnNvbGUgKi9cbmltcG9ydCB7IGNyZWF0ZVNsaWNlLCBQYXlsb2FkQWN0aW9uIH0gZnJvbSAnQHJlZHV4anMvdG9vbGtpdCc7XG5pbXBvcnQgeyBmZXRjaENvbW11bmUsIGZldGNoRGlzdHJpY3QsIGZldGNoRmFtaWx5U3VydmV5LCBmZXRjaFByb3ZpbmNlLCBmZXRjaFZpbGxhZ2VTZXJ2aWNlLCBjcmVhdGVGYW1pbHlBY3Rpb24sIGZhbWlseURldGFpbEFjdGlvbiwgdXBkYXRlRmFtaWx5QWN0aW9uLCBkZWxldGVGYW1pbHlBY3Rpb24sIGZldGNoVHJhbnNwb3J0YXRpb24gfSBmcm9tICcuL2FjdGlvbnMnO1xuaW1wb3J0IHsgRkFNSUxZX1NVUlZFWSB9IGZyb20gJy4vY29uc3RhbnRzJztcbmltcG9ydCB7IEZhbWlseU1lbWJlciwgRmFtaWx5U3VydmV5U3RhdGUgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvaW50ZXJmYWNlcy9pbmRleCc7XG5cbmNvbnN0IGluaXRpYWxTdGF0ZTogRmFtaWx5U3VydmV5U3RhdGUgPSB7XG4gIGZhbWlsaWVzOiBudWxsLFxuICBmYW1pbHlTdXJ2ZXk6IG51bGwsXG4gIHByb3ZpbmNlczogW10gYXMgYW55W10sXG4gIGRpc3RyaWN0czogW10gYXMgYW55W10sXG4gIGNvbW11bmVzOiBbXSBhcyBhbnlbXSxcbiAgdmlsbGFnZXM6IFtdIGFzIGFueVtdLFxuICB0cmFuc3BvcnRhdGlvbnM6IFtdIGFzIGFueVtdLFxuICByZWdpc3RlclBlbmRpbmc6IGZhbHNlLFxuICByZWdpc3RlckVycm9yTWVzc2FnZTogJycsXG59O1xuXG5leHBvcnQgY29uc3QgZmFtaWxpU3VydmV5U2xpY2UgPSBjcmVhdGVTbGljZSh7XG4gIG5hbWU6IEZBTUlMWV9TVVJWRVksXG4gIGluaXRpYWxTdGF0ZSxcbiAgcmVkdWNlcnM6IHtcbiAgICBzZXRGYW1pbHk6IChzdGF0ZSwgYWN0aW9uOiBQYXlsb2FkQWN0aW9uPEZhbWlseU1lbWJlcj4pID0+IHtcbiAgICAgIHN0YXRlLmZhbWlseVN1cnZleSA9IGFjdGlvbi5wYXlsb2FkO1xuICAgIH0sXG4gICAgc2V0c2V0RmFtaWx5UGVuZGluZzogKHN0YXRlLCBhY3Rpb246IFBheWxvYWRBY3Rpb248Ym9vbGVhbj4pID0+IHtcbiAgICAgIHN0YXRlLnJlZ2lzdGVyUGVuZGluZyA9IGFjdGlvbi5wYXlsb2FkO1xuICAgIH0sXG4gICAgc2V0c2V0RmFtaWx5RXJyb3JNZXNzYWdlOiAoc3RhdGUsIGFjdGlvbjogUGF5bG9hZEFjdGlvbjxzdHJpbmc+KSA9PiB7XG4gICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9IGFjdGlvbi5wYXlsb2FkO1xuICAgIH0sXG4gIH0sXG5cbiAgZXh0cmFSZWR1Y2VyczogKGJ1aWxkZXIpID0+IHtcbiAgICAvLyBQcm92aW5jZVxuICAgIGJ1aWxkZXJcbiAgICAgIC5hZGRDYXNlKGZldGNoUHJvdmluY2UucGVuZGluZywgKHN0YXRlKSA9PiB7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyUGVuZGluZyA9IHRydWU7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICB9KVxuICAgICAgLmFkZENhc2UoZmV0Y2hQcm92aW5jZS5yZWplY3RlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJQZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gYWN0aW9uLmVycm9yLm1lc3NhZ2UgfHwgJ0ZhaWxlZCB0byBmZXRjaCBwcm92aW5jZS4nO1xuICAgICAgfSlcbiAgICAgIC5hZGRDYXNlKGZldGNoUHJvdmluY2UuZnVsZmlsbGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBzdGF0ZS5wcm92aW5jZXMgPSBhY3Rpb24ucGF5bG9hZDtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJQZW5kaW5nID0gZmFsc2U7XG4gICAgICB9KTtcblxuICAgIC8vIERpc3RyaWN0XG4gICAgYnVpbGRlclxuICAgICAgLmFkZENhc2UoZmV0Y2hEaXN0cmljdC5wZW5kaW5nLCAoc3RhdGUpID0+IHtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJQZW5kaW5nID0gdHJ1ZTtcbiAgICAgIH0pXG4gICAgICAuYWRkQ2FzZShmZXRjaERpc3RyaWN0LnJlamVjdGVkLCAoc3RhdGUpID0+IHtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJQZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLmRpc3RyaWN0cyA9IFtdO1xuICAgICAgfSlcbiAgICAgIC5hZGRDYXNlKGZldGNoRGlzdHJpY3QuZnVsZmlsbGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBzdGF0ZS5yZWdpc3RlclBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUuZGlzdHJpY3RzID0gYWN0aW9uLnBheWxvYWQ7XG4gICAgICB9KTtcblxuICAgIC8vIENvbW11bmVcbiAgICBidWlsZGVyXG4gICAgICAuYWRkQ2FzZShmZXRjaENvbW11bmUucGVuZGluZywgKHN0YXRlKSA9PiB7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyUGVuZGluZyA9IHRydWU7XG4gICAgICB9KVxuICAgICAgLmFkZENhc2UoZmV0Y2hDb21tdW5lLnJlamVjdGVkLCAoc3RhdGUpID0+IHtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJQZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLmNvbW11bmVzID0gW107XG4gICAgICB9KVxuICAgICAgLmFkZENhc2UoZmV0Y2hDb21tdW5lLmZ1bGZpbGxlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJQZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLmNvbW11bmVzID0gYWN0aW9uLnBheWxvYWQ7XG4gICAgICB9KTtcblxuICAgIC8vIFZpbGxhZ2VcbiAgICBidWlsZGVyXG4gICAgICAuYWRkQ2FzZShmZXRjaFZpbGxhZ2VTZXJ2aWNlLnBlbmRpbmcsIChzdGF0ZSkgPT4ge1xuICAgICAgICBzdGF0ZS5yZWdpc3RlclBlbmRpbmcgPSB0cnVlO1xuICAgICAgfSlcbiAgICAgIC5hZGRDYXNlKGZldGNoVmlsbGFnZVNlcnZpY2UucmVqZWN0ZWQsIChzdGF0ZSkgPT4ge1xuICAgICAgICBzdGF0ZS5yZWdpc3RlclBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUudmlsbGFnZXMgPSBbXTtcbiAgICAgIH0pXG4gICAgICAuYWRkQ2FzZShmZXRjaFZpbGxhZ2VTZXJ2aWNlLmZ1bGZpbGxlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJQZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLnZpbGxhZ2VzID0gYWN0aW9uLnBheWxvYWQ7XG4gICAgICB9KTtcblxuICAgIC8vIFRyYW5zcG9ydGF0aW9uXG4gICAgYnVpbGRlclxuICAgICAgLmFkZENhc2UoZmV0Y2hUcmFuc3BvcnRhdGlvbi5wZW5kaW5nLCAoc3RhdGUpID0+IHtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJQZW5kaW5nID0gdHJ1ZTtcbiAgICAgIH0pXG4gICAgICAuYWRkQ2FzZShmZXRjaFRyYW5zcG9ydGF0aW9uLnJlamVjdGVkLCAoc3RhdGUpID0+IHtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJQZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLnRyYW5zcG9ydGF0aW9ucyA9IFtdO1xuICAgICAgfSlcbiAgICAgIC5hZGRDYXNlKGZldGNoVHJhbnNwb3J0YXRpb24uZnVsZmlsbGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBzdGF0ZS5yZWdpc3RlclBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUudHJhbnNwb3J0YXRpb25zID0gYWN0aW9uLnBheWxvYWQ7XG4gICAgICB9KTtcblxuICAgIC8vIEZhbWlseSBTdXJ2ZXkgRmV0Y2hcbiAgICBidWlsZGVyXG4gICAgICAuYWRkQ2FzZShmZXRjaEZhbWlseVN1cnZleS5wZW5kaW5nLCAoc3RhdGUpID0+IHtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJQZW5kaW5nID0gdHJ1ZTtcbiAgICAgIH0pXG4gICAgICAuYWRkQ2FzZShmZXRjaEZhbWlseVN1cnZleS5yZWplY3RlZCwgKHN0YXRlKSA9PiB7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5mYW1pbGllcyA9IG51bGw7XG4gICAgICB9KVxuICAgICAgLmFkZENhc2UoZmV0Y2hGYW1pbHlTdXJ2ZXkuZnVsZmlsbGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBzdGF0ZS5yZWdpc3RlclBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUuZmFtaWxpZXMgPSBhY3Rpb24ucGF5bG9hZDtcbiAgICAgIH0pO1xuXG4gICAgLy8gRmFtaWx5IFN1cnZleSBEZXRhaWxcbiAgICBidWlsZGVyXG4gICAgICAuYWRkQ2FzZShmYW1pbHlEZXRhaWxBY3Rpb24ucGVuZGluZywgKHN0YXRlKSA9PiB7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyUGVuZGluZyA9IHRydWU7XG4gICAgICB9KVxuICAgICAgLmFkZENhc2UoZmFtaWx5RGV0YWlsQWN0aW9uLnJlamVjdGVkLCAoc3RhdGUpID0+IHtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJQZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLmZhbWlseVN1cnZleSA9IG51bGw7XG4gICAgICB9KVxuICAgICAgLmFkZENhc2UoZmFtaWx5RGV0YWlsQWN0aW9uLmZ1bGZpbGxlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJQZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLmZhbWlseVN1cnZleSA9IGFjdGlvbi5wYXlsb2FkO1xuICAgICAgfSk7XG4gICAgLy8g4pyFIEhhbmRsZSBGYW1pbHkgQ3JlYXRlXG4gICAgYnVpbGRlclxuICAgICAgLmFkZENhc2UoY3JlYXRlRmFtaWx5QWN0aW9uLnBlbmRpbmcsIChzdGF0ZSkgPT4ge1xuICAgICAgICBzdGF0ZS5yZWdpc3RlclBlbmRpbmcgPSB0cnVlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcbiAgICAgIC5hZGRDYXNlKGNyZWF0ZUZhbWlseUFjdGlvbi5yZWplY3RlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJQZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID1cbiAgICAgICAgICBhY3Rpb24uZXJyb3IubWVzc2FnZSB8fCAnRmFpbGVkIHRvIGNyZWF0ZSBmYW1pbHkuJztcbiAgICAgIH0pXG4gICAgICAuYWRkQ2FzZShjcmVhdGVGYW1pbHlBY3Rpb24uZnVsZmlsbGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBzdGF0ZS5mYW1pbHlTdXJ2ZXkgPSBhY3Rpb24ucGF5bG9hZDtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJQZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICB9KTtcblxuICAgIC8vIOKchSBIYW5kbGUgRmFtaWx5IFVwZGF0ZVxuICAgIGJ1aWxkZXJcbiAgICAgIC5hZGRDYXNlKHVwZGF0ZUZhbWlseUFjdGlvbi5wZW5kaW5nLCAoc3RhdGUpID0+IHtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJQZW5kaW5nID0gdHJ1ZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG4gICAgICAuYWRkQ2FzZSh1cGRhdGVGYW1pbHlBY3Rpb24ucmVqZWN0ZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9XG4gICAgICAgICAgYWN0aW9uLmVycm9yLm1lc3NhZ2UgfHwgJ0ZhaWxlZCB0byB1cGRhdGUgZmFtaWx5Lic7XG4gICAgICB9KVxuICAgICAgLmFkZENhc2UodXBkYXRlRmFtaWx5QWN0aW9uLmZ1bGZpbGxlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgc3RhdGUuZmFtaWx5U3VydmV5ID0gYWN0aW9uLnBheWxvYWQ7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSk7XG5cbiAgICAvLyDinIUgSGFuZGxlIEZhbWlseSBkZWxldGVcbiAgICBidWlsZGVyXG4gICAgICAuYWRkQ2FzZShkZWxldGVGYW1pbHlBY3Rpb24ucGVuZGluZywgKHN0YXRlKSA9PiB7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyUGVuZGluZyA9IHRydWU7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICB9KVxuICAgICAgLmFkZENhc2UoZGVsZXRlRmFtaWx5QWN0aW9uLnJlamVjdGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBzdGF0ZS5yZWdpc3RlclBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPVxuICAgICAgICAgIGFjdGlvbi5lcnJvci5tZXNzYWdlIHx8ICdGYWlsZWQgdG8gZGVsZXRlIGZhbWlseS4nO1xuICAgICAgfSlcbiAgICAgIC5hZGRDYXNlKGRlbGV0ZUZhbWlseUFjdGlvbi5mdWxmaWxsZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIHN0YXRlLmZhbWlseVN1cnZleSA9IGFjdGlvbi5wYXlsb2FkO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlclBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pO1xuICAgIFxuICB9LFxufSk7XG5cbmV4cG9ydCBjb25zdCB7XG4gIHNldEZhbWlseSxcbiAgc2V0c2V0RmFtaWx5UGVuZGluZyxcbiAgc2V0c2V0RmFtaWx5RXJyb3JNZXNzYWdlLFxufSA9IGZhbWlsaVN1cnZleVNsaWNlLmFjdGlvbnM7XG5cbmV4cG9ydCBkZWZhdWx0IGZhbWlsaVN1cnZleVNsaWNlLnJlZHVjZXI7XG4iLCJpbXBvcnQgeyBVUkwgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvY29uZmlncy9jb25zdGFudHMnO1xuaW1wb3J0IHsgZ2V0V2l0aENvbmZpZywgcG9zdFdpdGhDb25maWcsIHB1dFdpdGhDb25maWcsIHJlbW92ZVdpdGhDb25maWcgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvY29yZS9iYXNlL3NlcnZpY2VzJztcbmltcG9ydCB7IENyZWF0ZUZhbWlseU1lbWJlciwgRmFtaWx5TWVtYmVyIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2ludGVyZmFjZXMvaW5kZXgnO1xuXG5cbmV4cG9ydCBjb25zdCBwcm92aW5jZVNlcnZpY2UgPSBhc3luYygpID0+IHtcbiAgcmV0dXJuIGF3YWl0IGdldFdpdGhDb25maWcoJ2h0dHBzOi8vcGh1bWlhcGkuam9vbmFha2h1Yi5jb20vcHJvdmluY2VzJylcbn1cblxuZXhwb3J0IGNvbnN0IGRpc3RyaWN0U2VydmljZSA9IGFzeW5jKHByb3ZpbmNlSWQ6IG51bWJlcikgPT4ge1xuICByZXR1cm4gYXdhaXQgZ2V0V2l0aENvbmZpZyhgaHR0cHM6Ly9waHVtaWFwaS5qb29uYWFraHViLmNvbS9kaXN0cmljdHMvJHtwcm92aW5jZUlkfWApXG59XG5cbmV4cG9ydCBjb25zdCBjb21tdW5lU2VydmljZSA9IGFzeW5jKGRpc3RyaWN0SWQ6IG51bWJlcikgPT4ge1xuICByZXR1cm4gYXdhaXQgZ2V0V2l0aENvbmZpZyhgaHR0cHM6Ly9waHVtaWFwaS5qb29uYWFraHViLmNvbS9jb21tdW5lcy8ke2Rpc3RyaWN0SWR9YClcbn1cblxuZXhwb3J0IGNvbnN0IHZpbGxhZ2VTZXJ2aWNlID0gYXN5bmMoY29tbXVuZUlkOiBudW1iZXIpID0+IHtcbiAgcmV0dXJuIGF3YWl0IGdldFdpdGhDb25maWcoYGh0dHBzOi8vcGh1bWlhcGkuam9vbmFha2h1Yi5jb20vdmlsbGFnZXMvJHtjb21tdW5lSWR9YClcbn1cblxuZXhwb3J0IGNvbnN0IHRyYW5zcG9ydGF0aW9uU2VydmljZSA9IGFzeW5jKCkgPT4ge1xuICByZXR1cm4gYXdhaXQgZ2V0V2l0aENvbmZpZyhVUkwuVFJBTlNQT1JUQVRJT05TKVxufVxuXG5leHBvcnQgY29uc3QgZmFtaWx5U2VydmljZSA9IGFzeW5jKHNlYXJjaDogc3RyaW5nLCBwYWdlOiBudW1iZXIsIHBhZ2VTaXplOiBudW1iZXIsIGdlbmRlcj86IHN0cmluZywgdG90YWxfbWVtYmVyPzogbnVtYmVyLCBhZ2U/OiBudW1iZXIsIHZpbGxhZ2U/OiBzdHJpbmcsIGNvbW11bmU/OiBzdHJpbmcsIGRpc3RyaWN0Pzogc3RyaW5nLCBwcm92aW5jZT86IHN0cmluZykgPT4ge1xuICByZXR1cm4gYXdhaXQgZ2V0V2l0aENvbmZpZyhVUkwuRkFNSUxJRVMsIHsgc2VhcmNoLCBwYWdlLCBwYWdlU2l6ZSwgZ2VuZGVyLCB0b3RhbF9tZW1iZXIsIGFnZSwgdmlsbGFnZSwgY29tbXVuZSwgZGlzdHJpY3QsIHByb3ZpbmNlIH0pXG59XG5cbmV4cG9ydCBjb25zdCBmYW1pbHlEZXRhaWxTZXJ2aWNlID0gYXN5bmMoaWQ6IG51bWJlcikgPT4ge1xuICByZXR1cm4gYXdhaXQgZ2V0V2l0aENvbmZpZyhgJHtVUkwuRkFNSUxJRVN9JHtpZH1gKVxufVxuXG5leHBvcnQgY29uc3QgY3JlYXRlRmFtaWx5U2VydmljZSA9IGFzeW5jIChkYXRhOiBDcmVhdGVGYW1pbHlNZW1iZXIpOiBQcm9taXNlPENyZWF0ZUZhbWlseU1lbWJlcj4gPT4ge1xuICByZXR1cm4gcG9zdFdpdGhDb25maWcoYCR7VVJMLkZBTUlMSUVTfWAsIGRhdGEpO1xufTtcblxuZXhwb3J0IGNvbnN0IHVwZGF0ZUZhbWlseVNlcnZpY2UgPSBhc3luYyAoaWQ6IG51bWJlciwgZGF0YTogQ3JlYXRlRmFtaWx5TWVtYmVyKTogUHJvbWlzZTxDcmVhdGVGYW1pbHlNZW1iZXI+ID0+IHtcbiAgcmV0dXJuIHB1dFdpdGhDb25maWcoYCR7VVJMLkZBTUlMSUVTfSR7aWR9YCwgZGF0YSk7XG59O1xuXG5leHBvcnQgY29uc3QgZGVsZXRlRmFtaWx5U2VydmljZSA9IGFzeW5jKGlkOiBudW1iZXIpID0+e1xuICByZXR1cm4gYXdhaXQgcmVtb3ZlV2l0aENvbmZpZyhgJHtVUkwuRkFNSUxJRVN9JHtpZH1gKVxufSIsImltcG9ydCB7IGNyZWF0ZUFzeW5jVGh1bmsgfSBmcm9tICdAcmVkdXhqcy90b29sa2l0JztcbmltcG9ydCB7IEZPT0RTLCBGT09ELCBGT09EX0RFTEVURSwgRk9PRF9DUkVBVEUsIEZPT0RfVVBEQVRFIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgZm9vZHNTZXJ2aWNlLCBmb29kRGV0YWlsU2VydmljZSwgY3JlYXRlRm9vZFNlcnZpY2UsIHVwZGF0ZUZvb2RTZXJ2aWNlLCBkZWxldGVGb29kU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMnO1xuaW1wb3J0IHsgRm9vZCB9IGZyb20gJ0Avc2hhcmVkL2ludGVyZmFjZXMnO1xuXG5leHBvcnQgY29uc3QgZmV0Y2hGb29kczogYW55ID0gY3JlYXRlQXN5bmNUaHVuayhcbiAgRk9PRFMsXG4gIGZvb2RzU2VydmljZVxuKTtcblxuZXhwb3J0IGNvbnN0IGZvb2REZXRhaWxBY3Rpb246IGFueSA9IGNyZWF0ZUFzeW5jVGh1bmsoXG4gIEZPT0QsXG4gIGZvb2REZXRhaWxTZXJ2aWNlXG4pXG5cbmV4cG9ydCBjb25zdCBjcmVhdGVGb29kQWN0aW9uID0gY3JlYXRlQXN5bmNUaHVuazxGb29kLCB7IGRhdGE6IEZvb2QgfT4oXG4gIEZPT0RfQ1JFQVRFLFxuICBhc3luYyAoeyBkYXRhIH0sIHsgcmVqZWN0V2l0aFZhbHVlIH0pID0+IHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIGF3YWl0IGNyZWF0ZUZvb2RTZXJ2aWNlKGRhdGEpO1xuICAgIH0gY2F0Y2ggKGVycm9yOiBhbnkpIHtcbiAgICAgIHJldHVybiByZWplY3RXaXRoVmFsdWUoZXJyb3IucmVzcG9uc2U/LmRhdGE/Lm1lc3NhZ2UgfHwgXCJGYWlsZWQgdG8gY3JlYXRlIGZvb2RcIik7XG4gICAgfVxuICB9XG4pO1xuXG5leHBvcnQgY29uc3QgdXBkYXRlRm9vZEFjdGlvbiA9IGNyZWF0ZUFzeW5jVGh1bms8Rm9vZCwgeyBpZDogbnVtYmVyOyBkYXRhOiBGb29kIH0+KFxuICBGT09EX1VQREFURSxcbiAgYXN5bmMgKHsgaWQsIGRhdGEgfSwgeyByZWplY3RXaXRoVmFsdWUgfSkgPT4ge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gYXdhaXQgdXBkYXRlRm9vZFNlcnZpY2UoaWQsIGRhdGEpO1xuICAgIH0gY2F0Y2ggKGVycm9yOiBhbnkpIHtcbiAgICAgIHJldHVybiByZWplY3RXaXRoVmFsdWUoZXJyb3IucmVzcG9uc2U/LmRhdGE/Lm1lc3NhZ2UgfHwgXCJGYWlsZWQgdG8gdXBkYXRlIGZvb2RcIik7XG4gICAgfVxuICB9XG4pO1xuXG5leHBvcnQgY29uc3QgZGVsZXRlRm9vZEFjdGlvbjogYW55ID0gY3JlYXRlQXN5bmNUaHVuayhcbiAgRk9PRF9ERUxFVEUsXG4gIGRlbGV0ZUZvb2RTZXJ2aWNlXG4pXG4iLCJleHBvcnQgY29uc3QgRk9PRFMgPSAnZm9vZHMvZmV0Y2hBbGwnO1xuZXhwb3J0IGNvbnN0IEZPT0QgPSAnZm9vZHMvZmV0Y2hCeUlEJztcbmV4cG9ydCBjb25zdCBGT09EX0NSRUFURSA9ICdmb29kcy9jcmVhdGUnO1xuZXhwb3J0IGNvbnN0IEZPT0RfVVBEQVRFID0gJ2Zvb2RzL3VwZGF0ZSc7XG5leHBvcnQgY29uc3QgRk9PRF9ERUxFVEUgPSAnZm9vZHMvZGVsZXRlJztcbiIsIi8qIGVzbGludC1kaXNhYmxlIG5vLWNvbnNvbGUgKi9cblxuaW1wb3J0IHsgY3JlYXRlU2xpY2UsIFBheWxvYWRBY3Rpb24gfSBmcm9tICdAcmVkdXhqcy90b29sa2l0JztcbmltcG9ydCB7IEZvb2QsIEZvb2RTdGF0ZSB9IGZyb20gJ0Avc2hhcmVkL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgZmV0Y2hGb29kcywgdXBkYXRlRm9vZEFjdGlvbiwgZm9vZERldGFpbEFjdGlvbiwgY3JlYXRlRm9vZEFjdGlvbiwgZGVsZXRlRm9vZEFjdGlvbiB9IGZyb20gJy4vYWN0aW9ucyc7XG5pbXBvcnQgeyBGT09EIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuXG5jb25zdCBpbml0aWFsU3RhdGU6IEZvb2RTdGF0ZSA9IHtcbiAgZm9vZHM6IFtdLFxuICBmb29kOiBudWxsLFxuICBmb29kc1BlbmRpbmc6IGZhbHNlLFxuICBmb29kRGV0YWlsUGVuZGluZzogZmFsc2UsXG4gIGZvb2RDcmVhdGVQZW5kaW5nOiBmYWxzZSxcbiAgZm9vZFVwZGF0ZVBlbmRpbmc6IGZhbHNlLFxuICBmb29kRGVsZXRlUGVuZGluZzogZmFsc2UsXG4gIHJlZ2lzdGVyRXJyb3JNZXNzYWdlOiAnJyxcbn07XG5cbmV4cG9ydCBjb25zdCBmb29kU2xpY2UgPSBjcmVhdGVTbGljZSh7XG4gIG5hbWU6IEZPT0QsXG4gIGluaXRpYWxTdGF0ZSxcbiAgcmVkdWNlcnM6IHtcbiAgICAvLyBTZXRzIHRoZSBjdXJyZW50IGZvb2RcbiAgICBzZXRGb29kOiAoc3RhdGUsIGFjdGlvbjogUGF5bG9hZEFjdGlvbjxGb29kPikgPT4ge1xuICAgICAgc3RhdGUuZm9vZCA9IGFjdGlvbi5wYXlsb2FkO1xuICAgIH0sXG5cbiAgICAvLyBVcGRhdGVzIHRoZSByZWdpc3RlciBlcnJvciBtZXNzYWdlXG4gICAgc2V0UmVnaXN0ZXJFcnJvck1lc3NhZ2U6IChzdGF0ZSwgYWN0aW9uOiBQYXlsb2FkQWN0aW9uPHN0cmluZz4pID0+IHtcbiAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gYWN0aW9uLnBheWxvYWQ7XG4gICAgfSxcbiAgfSxcblxuICBleHRyYVJlZHVjZXJzOiAoYnVpbGRlcikgPT4ge1xuICAgIGJ1aWxkZXJcbiAgICAgIC8vIGhhbmRsZSBmb29kXG4gICAgICAuYWRkQ2FzZShmZXRjaEZvb2RzLnBlbmRpbmcsIChzdGF0ZSkgPT4ge1xuICAgICAgICBzdGF0ZS5mb29kc1BlbmRpbmcgPSB0cnVlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcbiAgICAgIC8vIEhhbmRsZXMgcmVqZWN0ZWQgZm9vZHMgZmV0Y2hcbiAgICAgIC5hZGRDYXNlKGZldGNoRm9vZHMucmVqZWN0ZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIHN0YXRlLmZvb2RzUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9IGFjdGlvbi5lcnJvci5tZXNzYWdlIHx8ICdGYWlsZWQgdG8gZmV0Y2ggZm9vZHMuJztcbiAgICAgIH0pXG4gICAgICAvLyBIYW5kbGVzIGZ1bGZpbGxlZCBmb29kcyBmZXRjaFxuICAgICAgLmFkZENhc2UoZmV0Y2hGb29kcy5mdWxmaWxsZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIGNvbnN0IHsgcGF5bG9hZCB9ID0gYWN0aW9uO1xuICAgICAgICBzdGF0ZS5mb29kcyA9IHBheWxvYWQ7XG4gICAgICAgIHN0YXRlLmZvb2RzUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcblxuICAgICAgLy8gaGFuZGxlIGZvb2QgZGV0YWlsXG4gICAgICAuYWRkQ2FzZShmb29kRGV0YWlsQWN0aW9uLnBlbmRpbmcsIChzdGF0ZSkgPT4ge1xuICAgICAgICBzdGF0ZS5mb29kRGV0YWlsUGVuZGluZyA9IHRydWU7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICB9KVxuICAgICAgLy8gSGFuZGxlcyByZWplY3RlZCBmb29kcyBmZXRjaFxuICAgICAgLmFkZENhc2UoZm9vZERldGFpbEFjdGlvbi5yZWplY3RlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgc3RhdGUuZm9vZERldGFpbFBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSBhY3Rpb24uZXJyb3IubWVzc2FnZSB8fCAnRmFpbGVkIHRvIGZldGNoIGZvb2RzLic7XG4gICAgICB9KVxuICAgICAgLy8gSGFuZGxlcyBmdWxmaWxsZWQgZm9vZHMgZmV0Y2hcbiAgICAgIC5hZGRDYXNlKGZvb2REZXRhaWxBY3Rpb24uZnVsZmlsbGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBjb25zdCB7IHBheWxvYWQgfSA9IGFjdGlvbjtcbiAgICAgICAgc3RhdGUuZm9vZCA9IHBheWxvYWQ7XG4gICAgICAgIHN0YXRlLmZvb2REZXRhaWxQZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICB9KVxuXG4gICAgICAvLyBoYW5kbGUgZm9vZCBjcmVhdGVcbiAgICAgIC5hZGRDYXNlKGNyZWF0ZUZvb2RBY3Rpb24ucGVuZGluZywgKHN0YXRlKSA9PiB7XG4gICAgICAgIHN0YXRlLmZvb2RVcGRhdGVQZW5kaW5nID0gdHJ1ZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG4gICAgICAuYWRkQ2FzZShjcmVhdGVGb29kQWN0aW9uLnJlamVjdGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBzdGF0ZS5mb29kVXBkYXRlUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9IGFjdGlvbi5lcnJvci5tZXNzYWdlIHx8ICdGYWlsZWQgdG8gY3JlYXRlIGZvb2RzLic7XG4gICAgICB9KVxuICAgICAgLmFkZENhc2UoY3JlYXRlRm9vZEFjdGlvbi5mdWxmaWxsZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIHN0YXRlLmZvb2QgPSBhY3Rpb24ucGF5bG9hZDtcbiAgICAgICAgc3RhdGUuZm9vZFVwZGF0ZVBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG5cbiAgICAgIC8vIGhhbmRsZSBmb29kIHVwZGF0ZVxuICAgICAgLmFkZENhc2UodXBkYXRlRm9vZEFjdGlvbi5wZW5kaW5nLCAoc3RhdGUpID0+IHtcbiAgICAgICAgc3RhdGUuZm9vZFVwZGF0ZVBlbmRpbmcgPSB0cnVlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcbiAgICAgIC5hZGRDYXNlKHVwZGF0ZUZvb2RBY3Rpb24ucmVqZWN0ZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIHN0YXRlLmZvb2RVcGRhdGVQZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gYWN0aW9uLmVycm9yLm1lc3NhZ2UgfHwgJ0ZhaWxlZCB0byB1cGRhdGUgZm9vZHMuJztcbiAgICAgIH0pXG4gICAgICAuYWRkQ2FzZSh1cGRhdGVGb29kQWN0aW9uLmZ1bGZpbGxlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgc3RhdGUuZm9vZCA9IGFjdGlvbi5wYXlsb2FkO1xuICAgICAgICBzdGF0ZS5mb29kVXBkYXRlUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcblxuICAgICAgLy8gaGFuZGxlIGZvb2QgZGVsZXRlXG4gICAgICAuYWRkQ2FzZShkZWxldGVGb29kQWN0aW9uLnBlbmRpbmcsIChzdGF0ZSkgPT4ge1xuICAgICAgICBzdGF0ZS5mb29kVXBkYXRlUGVuZGluZyA9IHRydWU7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICB9KVxuICAgICAgLmFkZENhc2UoZGVsZXRlRm9vZEFjdGlvbi5yZWplY3RlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgc3RhdGUuZm9vZFVwZGF0ZVBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSBhY3Rpb24uZXJyb3IubWVzc2FnZSB8fCAnRmFpbGVkIHRvIGRlbGV0ZSBmb29kcy4nO1xuICAgICAgfSlcbiAgICAgIC5hZGRDYXNlKGRlbGV0ZUZvb2RBY3Rpb24uZnVsZmlsbGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBzdGF0ZS5mb29kID0gYWN0aW9uLnBheWxvYWQ7XG4gICAgICAgIHN0YXRlLmZvb2RVcGRhdGVQZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICB9KVxuICB9LFxufSk7XG5cbmV4cG9ydCBjb25zdCB7IHNldFJlZ2lzdGVyRXJyb3JNZXNzYWdlLCBzZXRGb29kIH0gPSBmb29kU2xpY2UuYWN0aW9ucztcblxuZXhwb3J0IGRlZmF1bHQgZm9vZFNsaWNlLnJlZHVjZXI7XG4iLCJpbXBvcnQgeyBGb29kIH0gZnJvbSAnQC9zaGFyZWQvaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBVUkwgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvY29uZmlncy9jb25zdGFudHMnO1xuaW1wb3J0IHsgZ2V0V2l0aENvbmZpZywgcG9zdFdpdGhDb25maWcsIHB1dFdpdGhDb25maWcsIHJlbW92ZVdpdGhDb25maWcgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvY29yZS9iYXNlL3NlcnZpY2VzJztcblxuZXhwb3J0IGNvbnN0IGZvb2RzU2VydmljZSA9IGFzeW5jKCkgPT4ge1xuICByZXR1cm4gYXdhaXQgZ2V0V2l0aENvbmZpZyhVUkwuRk9PRClcbn1cblxuZXhwb3J0IGNvbnN0IGZvb2REZXRhaWxTZXJ2aWNlID0gYXN5bmMoaWQ6IG51bWJlcikgPT4ge1xuICByZXR1cm4gYXdhaXQgZ2V0V2l0aENvbmZpZyhgJHtVUkwuRk9PRH0ke2lkfWApXG59XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVGb29kU2VydmljZSA9IGFzeW5jIChkYXRhOiBGb29kKTogUHJvbWlzZTxGb29kPiA9PiB7XG4gIHJldHVybiBwb3N0V2l0aENvbmZpZyhgJHtVUkwuRk9PRH1gLCBkYXRhKTtcbn07XG5cbmV4cG9ydCBjb25zdCB1cGRhdGVGb29kU2VydmljZSA9IGFzeW5jIChpZDogbnVtYmVyLCBkYXRhOiBGb29kKTogUHJvbWlzZTxGb29kPiA9PiB7XG4gIHJldHVybiBwdXRXaXRoQ29uZmlnKGAke1VSTC5GT09EfSR7aWR9YCwgZGF0YSk7XG59O1xuXG5leHBvcnQgY29uc3QgZGVsZXRlRm9vZFNlcnZpY2UgPSBhc3luYyhpZDogbnVtYmVyKSA9PntcbiAgcmV0dXJuIGF3YWl0IHJlbW92ZVdpdGhDb25maWcoYCR7VVJMLkZPT0R9JHtpZH1gKVxufVxuIiwiaW1wb3J0IHsgY3JlYXRlQXN5bmNUaHVuayB9IGZyb20gJ0ByZWR1eGpzL3Rvb2xraXQnO1xuaW1wb3J0IHsgSU5URVJFU1RFRF9URUFNUywgSU5URVJFU1RFRF9URUFNLCBJTlRFUkVTVEVEX1RFQU1fREVMRVRFLCBJTlRFUkVTVEVEX1RFQU1fQ1JFQVRFLCBJTlRFUkVTVEVEX1RFQU1fVVBEQVRFIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgaW50ZXJlc3RlZFRlYW1zU2VydmljZSwgaW50ZXJlc3RlZFRlYW1EZXRhaWxTZXJ2aWNlLCBjcmVhdGVJbnRlcmVzdGVkVGVhbVNlcnZpY2UsIHVwZGF0ZUludGVyZXN0ZWRUZWFtU2VydmljZSwgZGVsZXRlSW50ZXJlc3RlZFRlYW1TZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBJbnRlcmVzdGVkVGVhbSB9IGZyb20gJ0Avc2hhcmVkL2ludGVyZmFjZXMnO1xuXG5leHBvcnQgY29uc3QgZmV0Y2hJbnRlcmVzdGVkVGVhbXM6IGFueSA9IGNyZWF0ZUFzeW5jVGh1bmsoXG4gIElOVEVSRVNURURfVEVBTVMsXG4gIGludGVyZXN0ZWRUZWFtc1NlcnZpY2Vcbik7XG5cbmV4cG9ydCBjb25zdCBpbnRlcmVzdGVkVGVhbURldGFpbEFjdGlvbjogYW55ID0gY3JlYXRlQXN5bmNUaHVuayhcbiAgSU5URVJFU1RFRF9URUFNLFxuICBpbnRlcmVzdGVkVGVhbURldGFpbFNlcnZpY2VcbilcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZUludGVyZXN0ZWRUZWFtQWN0aW9uID0gY3JlYXRlQXN5bmNUaHVuazxJbnRlcmVzdGVkVGVhbSwgeyBkYXRhOiBJbnRlcmVzdGVkVGVhbSB9PihcbiAgSU5URVJFU1RFRF9URUFNX0NSRUFURSxcbiAgYXN5bmMgKHsgZGF0YSB9LCB7IHJlamVjdFdpdGhWYWx1ZSB9KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBhd2FpdCBjcmVhdGVJbnRlcmVzdGVkVGVhbVNlcnZpY2UoZGF0YSk7XG4gICAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xuICAgICAgcmV0dXJuIHJlamVjdFdpdGhWYWx1ZShlcnJvci5yZXNwb25zZT8uZGF0YT8ubWVzc2FnZSB8fCBcIkZhaWxlZCB0byBjcmVhdGUgaW50ZXJlc3RlZCB0ZWFtXCIpO1xuICAgIH1cbiAgfVxuKTtcblxuZXhwb3J0IGNvbnN0IHVwZGF0ZUludGVyZXN0ZWRUZWFtQWN0aW9uID0gY3JlYXRlQXN5bmNUaHVuazxJbnRlcmVzdGVkVGVhbSwgeyBpZDogbnVtYmVyOyBkYXRhOiBJbnRlcmVzdGVkVGVhbSB9PihcbiAgSU5URVJFU1RFRF9URUFNX1VQREFURSxcbiAgYXN5bmMgKHsgaWQsIGRhdGEgfSwgeyByZWplY3RXaXRoVmFsdWUgfSkgPT4ge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gYXdhaXQgdXBkYXRlSW50ZXJlc3RlZFRlYW1TZXJ2aWNlKGlkLCBkYXRhKTtcbiAgICB9IGNhdGNoIChlcnJvcjogYW55KSB7XG4gICAgICByZXR1cm4gcmVqZWN0V2l0aFZhbHVlKGVycm9yLnJlc3BvbnNlPy5kYXRhPy5tZXNzYWdlIHx8IFwiRmFpbGVkIHRvIHVwZGF0ZSBpbnRlcmVzdGVkIHRlYW1cIik7XG4gICAgfVxuICB9XG4pO1xuXG5leHBvcnQgY29uc3QgZGVsZXRlSW50ZXJlc3RlZFRlYW1BY3Rpb246IGFueSA9IGNyZWF0ZUFzeW5jVGh1bmsoXG4gIElOVEVSRVNURURfVEVBTV9ERUxFVEUsXG4gIGRlbGV0ZUludGVyZXN0ZWRUZWFtU2VydmljZVxuKVxuIiwiZXhwb3J0IGNvbnN0IElOVEVSRVNURURfVEVBTVMgPSAnaW50ZXJlc3RlZC10ZWFtcy9mZXRjaEFsbCc7XG5leHBvcnQgY29uc3QgSU5URVJFU1RFRF9URUFNID0gJ2ludGVyZXN0ZWQtdGVhbXMvZmV0Y2hCeUlEJztcbmV4cG9ydCBjb25zdCBJTlRFUkVTVEVEX1RFQU1fQ1JFQVRFID0gJ2ludGVyZXN0ZWQtdGVhbXMvY3JlYXRlJztcbmV4cG9ydCBjb25zdCBJTlRFUkVTVEVEX1RFQU1fVVBEQVRFID0gJ2ludGVyZXN0ZWQtdGVhbXMvdXBkYXRlJztcbmV4cG9ydCBjb25zdCBJTlRFUkVTVEVEX1RFQU1fREVMRVRFID0gJ2ludGVyZXN0ZWQtdGVhbXMvZGVsZXRlJztcbiIsIi8qIGVzbGludC1kaXNhYmxlIG5vLWNvbnNvbGUgKi9cblxuaW1wb3J0IHsgY3JlYXRlU2xpY2UsIFBheWxvYWRBY3Rpb24gfSBmcm9tICdAcmVkdXhqcy90b29sa2l0JztcbmltcG9ydCB7IEludGVyZXN0ZWRUZWFtLCBJbnRlcmVzdGVkVGVhbVN0YXRlIH0gZnJvbSAnQC9zaGFyZWQvaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBmZXRjaEludGVyZXN0ZWRUZWFtcywgdXBkYXRlSW50ZXJlc3RlZFRlYW1BY3Rpb24sIGludGVyZXN0ZWRUZWFtRGV0YWlsQWN0aW9uLCBjcmVhdGVJbnRlcmVzdGVkVGVhbUFjdGlvbiwgZGVsZXRlSW50ZXJlc3RlZFRlYW1BY3Rpb24gfSBmcm9tICcuL2FjdGlvbnMnO1xuaW1wb3J0IHsgSU5URVJFU1RFRF9URUFNIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuXG5jb25zdCBpbml0aWFsU3RhdGU6IEludGVyZXN0ZWRUZWFtU3RhdGUgPSB7XG4gIGludGVyZXN0ZWRUZWFtczogW10sXG4gIGludGVyZXN0ZWRUZWFtOiBudWxsLFxuICBpbnRlcmVzdGVkVGVhbXNQZW5kaW5nOiBmYWxzZSxcbiAgaW50ZXJlc3RlZFRlYW1EZXRhaWxQZW5kaW5nOiBmYWxzZSxcbiAgaW50ZXJlc3RlZFRlYW1DcmVhdGVQZW5kaW5nOiBmYWxzZSxcbiAgaW50ZXJlc3RlZFRlYW1VcGRhdGVQZW5kaW5nOiBmYWxzZSxcbiAgaW50ZXJlc3RlZFRlYW1EZWxldGVQZW5kaW5nOiBmYWxzZSxcbiAgcmVnaXN0ZXJFcnJvck1lc3NhZ2U6ICcnLFxufTtcblxuZXhwb3J0IGNvbnN0IGludGVyZXN0ZWRUZWFtU2xpY2UgPSBjcmVhdGVTbGljZSh7XG4gIG5hbWU6IElOVEVSRVNURURfVEVBTSxcbiAgaW5pdGlhbFN0YXRlLFxuICByZWR1Y2Vyczoge1xuICAgIC8vIFNldHMgdGhlIGN1cnJlbnQgaW50ZXJlc3RlZFRlYW1cbiAgICBzZXRJbnRlcmVzdGVkVGVhbTogKHN0YXRlLCBhY3Rpb246IFBheWxvYWRBY3Rpb248SW50ZXJlc3RlZFRlYW0+KSA9PiB7XG4gICAgICBzdGF0ZS5pbnRlcmVzdGVkVGVhbSA9IGFjdGlvbi5wYXlsb2FkO1xuICAgIH0sXG5cbiAgICAvLyBVcGRhdGVzIHRoZSByZWdpc3RlciBlcnJvciBtZXNzYWdlXG4gICAgc2V0UmVnaXN0ZXJFcnJvck1lc3NhZ2U6IChzdGF0ZSwgYWN0aW9uOiBQYXlsb2FkQWN0aW9uPHN0cmluZz4pID0+IHtcbiAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gYWN0aW9uLnBheWxvYWQ7XG4gICAgfSxcbiAgfSxcblxuICBleHRyYVJlZHVjZXJzOiAoYnVpbGRlcikgPT4ge1xuICAgIGJ1aWxkZXJcbiAgICAgIC8vIGhhbmRsZSBpbnRlcmVzdGVkIHRlYW1cbiAgICAgIC5hZGRDYXNlKGZldGNoSW50ZXJlc3RlZFRlYW1zLnBlbmRpbmcsIChzdGF0ZSkgPT4ge1xuICAgICAgICBzdGF0ZS5pbnRlcmVzdGVkVGVhbXNQZW5kaW5nID0gdHJ1ZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG4gICAgICAvLyBIYW5kbGVzIHJlamVjdGVkIGludGVyZXN0ZWQgdGVhbXMgZmV0Y2hcbiAgICAgIC5hZGRDYXNlKGZldGNoSW50ZXJlc3RlZFRlYW1zLnJlamVjdGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBzdGF0ZS5pbnRlcmVzdGVkVGVhbXNQZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gYWN0aW9uLmVycm9yLm1lc3NhZ2UgfHwgJ0ZhaWxlZCB0byBmZXRjaCBpbnRlcmVzdGVkIHRlYW1zLic7XG4gICAgICB9KVxuICAgICAgLy8gSGFuZGxlcyBmdWxmaWxsZWQgaW50ZXJlc3RlZCB0ZWFtcyBmZXRjaFxuICAgICAgLmFkZENhc2UoZmV0Y2hJbnRlcmVzdGVkVGVhbXMuZnVsZmlsbGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBjb25zdCB7IHBheWxvYWQgfSA9IGFjdGlvbjtcbiAgICAgICAgc3RhdGUuaW50ZXJlc3RlZFRlYW1zID0gcGF5bG9hZDtcbiAgICAgICAgc3RhdGUuaW50ZXJlc3RlZFRlYW1zUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcblxuICAgICAgLy8gaGFuZGxlIGludGVyZXN0ZWQgdGVhbSBkZXRhaWxcbiAgICAgIC5hZGRDYXNlKGludGVyZXN0ZWRUZWFtRGV0YWlsQWN0aW9uLnBlbmRpbmcsIChzdGF0ZSkgPT4ge1xuICAgICAgICBzdGF0ZS5pbnRlcmVzdGVkVGVhbURldGFpbFBlbmRpbmcgPSB0cnVlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcbiAgICAgIC8vIEhhbmRsZXMgcmVqZWN0ZWQgaW50ZXJlc3RlZCB0ZWFtcyBmZXRjaFxuICAgICAgLmFkZENhc2UoaW50ZXJlc3RlZFRlYW1EZXRhaWxBY3Rpb24ucmVqZWN0ZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIHN0YXRlLmludGVyZXN0ZWRUZWFtRGV0YWlsUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9IGFjdGlvbi5lcnJvci5tZXNzYWdlIHx8ICdGYWlsZWQgdG8gZmV0Y2ggaW50ZXJlc3RlZCB0ZWFtcy4nO1xuICAgICAgfSlcbiAgICAgIC8vIEhhbmRsZXMgZnVsZmlsbGVkIGludGVyZXN0ZWQgdGVhbXMgZmV0Y2hcbiAgICAgIC5hZGRDYXNlKGludGVyZXN0ZWRUZWFtRGV0YWlsQWN0aW9uLmZ1bGZpbGxlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgY29uc3QgeyBwYXlsb2FkIH0gPSBhY3Rpb247XG4gICAgICAgIHN0YXRlLmludGVyZXN0ZWRUZWFtID0gcGF5bG9hZDtcbiAgICAgICAgc3RhdGUuaW50ZXJlc3RlZFRlYW1EZXRhaWxQZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICB9KVxuXG4gICAgICAvLyBoYW5kbGUgaW50ZXJlc3RlZFRlYW0gY3JlYXRlXG4gICAgICAuYWRkQ2FzZShjcmVhdGVJbnRlcmVzdGVkVGVhbUFjdGlvbi5wZW5kaW5nLCAoc3RhdGUpID0+IHtcbiAgICAgICAgc3RhdGUuaW50ZXJlc3RlZFRlYW1VcGRhdGVQZW5kaW5nID0gdHJ1ZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG4gICAgICAuYWRkQ2FzZShjcmVhdGVJbnRlcmVzdGVkVGVhbUFjdGlvbi5yZWplY3RlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgc3RhdGUuaW50ZXJlc3RlZFRlYW1VcGRhdGVQZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gYWN0aW9uLmVycm9yLm1lc3NhZ2UgfHwgJ0ZhaWxlZCB0byBjcmVhdGUgaW50ZXJlc3RlZCB0ZWFtcy4nO1xuICAgICAgfSlcbiAgICAgIC5hZGRDYXNlKGNyZWF0ZUludGVyZXN0ZWRUZWFtQWN0aW9uLmZ1bGZpbGxlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgc3RhdGUuaW50ZXJlc3RlZFRlYW0gPSBhY3Rpb24ucGF5bG9hZDtcbiAgICAgICAgc3RhdGUuaW50ZXJlc3RlZFRlYW1VcGRhdGVQZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICB9KVxuXG4gICAgICAvLyBoYW5kbGUgaW50ZXJlc3RlZFRlYW0gdXBkYXRlXG4gICAgICAuYWRkQ2FzZSh1cGRhdGVJbnRlcmVzdGVkVGVhbUFjdGlvbi5wZW5kaW5nLCAoc3RhdGUpID0+IHtcbiAgICAgICAgc3RhdGUuaW50ZXJlc3RlZFRlYW1VcGRhdGVQZW5kaW5nID0gdHJ1ZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG4gICAgICAuYWRkQ2FzZSh1cGRhdGVJbnRlcmVzdGVkVGVhbUFjdGlvbi5yZWplY3RlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgc3RhdGUuaW50ZXJlc3RlZFRlYW1VcGRhdGVQZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gYWN0aW9uLmVycm9yLm1lc3NhZ2UgfHwgJ0ZhaWxlZCB0byB1cGRhdGUgaW50ZXJlc3RlZCB0ZWFtcy4nO1xuICAgICAgfSlcbiAgICAgIC5hZGRDYXNlKHVwZGF0ZUludGVyZXN0ZWRUZWFtQWN0aW9uLmZ1bGZpbGxlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgc3RhdGUuaW50ZXJlc3RlZFRlYW0gPSBhY3Rpb24ucGF5bG9hZDtcbiAgICAgICAgc3RhdGUuaW50ZXJlc3RlZFRlYW1VcGRhdGVQZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICB9KVxuXG4gICAgICAvLyBoYW5kbGUgaW50ZXJlc3RlZFRlYW0gZGVsZXRlXG4gICAgICAuYWRkQ2FzZShkZWxldGVJbnRlcmVzdGVkVGVhbUFjdGlvbi5wZW5kaW5nLCAoc3RhdGUpID0+IHtcbiAgICAgICAgc3RhdGUuaW50ZXJlc3RlZFRlYW1VcGRhdGVQZW5kaW5nID0gdHJ1ZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG4gICAgICAuYWRkQ2FzZShkZWxldGVJbnRlcmVzdGVkVGVhbUFjdGlvbi5yZWplY3RlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgc3RhdGUuaW50ZXJlc3RlZFRlYW1VcGRhdGVQZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gYWN0aW9uLmVycm9yLm1lc3NhZ2UgfHwgJ0ZhaWxlZCB0byBkZWxldGUgaW50ZXJlc3RlZCB0ZWFtcy4nO1xuICAgICAgfSlcbiAgICAgIC5hZGRDYXNlKGRlbGV0ZUludGVyZXN0ZWRUZWFtQWN0aW9uLmZ1bGZpbGxlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgc3RhdGUuaW50ZXJlc3RlZFRlYW0gPSBhY3Rpb24ucGF5bG9hZDtcbiAgICAgICAgc3RhdGUuaW50ZXJlc3RlZFRlYW1VcGRhdGVQZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICB9KVxuICB9LFxufSk7XG5cbmV4cG9ydCBjb25zdCB7IHNldFJlZ2lzdGVyRXJyb3JNZXNzYWdlLCBzZXRJbnRlcmVzdGVkVGVhbSB9ID0gaW50ZXJlc3RlZFRlYW1TbGljZS5hY3Rpb25zO1xuXG5leHBvcnQgZGVmYXVsdCBpbnRlcmVzdGVkVGVhbVNsaWNlLnJlZHVjZXI7XG4iLCJpbXBvcnQgeyBJbnRlcmVzdGVkVGVhbSB9IGZyb20gJ0Avc2hhcmVkL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgVVJMIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2NvbmZpZ3MvY29uc3RhbnRzJztcbmltcG9ydCB7IGdldFdpdGhDb25maWcsIHBvc3RXaXRoQ29uZmlnLCBwdXRXaXRoQ29uZmlnLCByZW1vdmVXaXRoQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2NvcmUvYmFzZS9zZXJ2aWNlcyc7XG5cbmV4cG9ydCBjb25zdCBpbnRlcmVzdGVkVGVhbXNTZXJ2aWNlID0gYXN5bmMoKSA9PiB7XG4gIHJldHVybiBhd2FpdCBnZXRXaXRoQ29uZmlnKFVSTC5URUFNKVxufVxuXG5leHBvcnQgY29uc3QgaW50ZXJlc3RlZFRlYW1EZXRhaWxTZXJ2aWNlID0gYXN5bmMoaWQ6IG51bWJlcikgPT4ge1xuICByZXR1cm4gYXdhaXQgZ2V0V2l0aENvbmZpZyhgJHtVUkwuVEVBTX0ke2lkfWApXG59XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVJbnRlcmVzdGVkVGVhbVNlcnZpY2UgPSBhc3luYyAoZGF0YTogSW50ZXJlc3RlZFRlYW0pOiBQcm9taXNlPEludGVyZXN0ZWRUZWFtPiA9PiB7XG4gIHJldHVybiBwb3N0V2l0aENvbmZpZyhgJHtVUkwuVEVBTX1gLCBkYXRhKTtcbn07XG5cbmV4cG9ydCBjb25zdCB1cGRhdGVJbnRlcmVzdGVkVGVhbVNlcnZpY2UgPSBhc3luYyAoaWQ6IG51bWJlciwgZGF0YTogSW50ZXJlc3RlZFRlYW0pOiBQcm9taXNlPEludGVyZXN0ZWRUZWFtPiA9PiB7XG4gIHJldHVybiBwdXRXaXRoQ29uZmlnKGAke1VSTC5URUFNfSR7aWR9YCwgZGF0YSk7XG59O1xuXG5leHBvcnQgY29uc3QgZGVsZXRlSW50ZXJlc3RlZFRlYW1TZXJ2aWNlID0gYXN5bmMoaWQ6IG51bWJlcikgPT57XG4gIHJldHVybiBhd2FpdCByZW1vdmVXaXRoQ29uZmlnKGAke1VSTC5URUFNfSR7aWR9YClcbn1cbiIsImltcG9ydCB7IGNyZWF0ZUFzeW5jVGh1bmsgfSBmcm9tICdAcmVkdXhqcy90b29sa2l0JztcbmltcG9ydCB7IExBTkdVQUdFUywgTEFOR1VBR0UsIExBTkdVQUdFX0RFTEVURSwgTEFOR1VBR0VfQ1JFQVRFLCBMQU5HVUFHRV9VUERBVEUgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBsYW5ndWFnZXNTZXJ2aWNlLCBsYW5ndWFnZURldGFpbFNlcnZpY2UsIGNyZWF0ZUxhbmd1YWdlU2VydmljZSwgdXBkYXRlTGFuZ3VhZ2VTZXJ2aWNlLCBkZWxldGVMYW5ndWFnZVNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzJztcbmltcG9ydCB7IExhbmd1YWdlIH0gZnJvbSAnQC9zaGFyZWQvaW50ZXJmYWNlcyc7XG5cbmV4cG9ydCBjb25zdCBmZXRjaExhbmd1YWdlczogYW55ID0gY3JlYXRlQXN5bmNUaHVuayhcbiAgTEFOR1VBR0VTLFxuICBsYW5ndWFnZXNTZXJ2aWNlXG4pO1xuXG5leHBvcnQgY29uc3QgbGFuZ3VhZ2VEZXRhaWxBY3Rpb246IGFueSA9IGNyZWF0ZUFzeW5jVGh1bmsoXG4gIExBTkdVQUdFLFxuICBsYW5ndWFnZURldGFpbFNlcnZpY2VcbilcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZUxhbmd1YWdlQWN0aW9uID0gY3JlYXRlQXN5bmNUaHVuazxMYW5ndWFnZSwgeyBkYXRhOiBMYW5ndWFnZSB9PihcbiAgTEFOR1VBR0VfQ1JFQVRFLFxuICBhc3luYyAoeyBkYXRhIH0sIHsgcmVqZWN0V2l0aFZhbHVlIH0pID0+IHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIGF3YWl0IGNyZWF0ZUxhbmd1YWdlU2VydmljZShkYXRhKTtcbiAgICB9IGNhdGNoIChlcnJvcjogYW55KSB7XG4gICAgICByZXR1cm4gcmVqZWN0V2l0aFZhbHVlKGVycm9yLnJlc3BvbnNlPy5kYXRhPy5tZXNzYWdlIHx8IFwiRmFpbGVkIHRvIGNyZWF0ZSBsYW5ndWFnZVwiKTtcbiAgICB9XG4gIH1cbik7XG5cbmV4cG9ydCBjb25zdCB1cGRhdGVMYW5ndWFnZUFjdGlvbiA9IGNyZWF0ZUFzeW5jVGh1bms8TGFuZ3VhZ2UsIHsgaWQ6IG51bWJlcjsgZGF0YTogTGFuZ3VhZ2UgfT4oXG4gIExBTkdVQUdFX1VQREFURSxcbiAgYXN5bmMgKHsgaWQsIGRhdGEgfSwgeyByZWplY3RXaXRoVmFsdWUgfSkgPT4ge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gYXdhaXQgdXBkYXRlTGFuZ3VhZ2VTZXJ2aWNlKGlkLCBkYXRhKTtcbiAgICB9IGNhdGNoIChlcnJvcjogYW55KSB7XG4gICAgICByZXR1cm4gcmVqZWN0V2l0aFZhbHVlKGVycm9yLnJlc3BvbnNlPy5kYXRhPy5tZXNzYWdlIHx8IFwiRmFpbGVkIHRvIHVwZGF0ZSBsYW5ndWFnZVwiKTtcbiAgICB9XG4gIH1cbik7XG5cbmV4cG9ydCBjb25zdCBkZWxldGVMYW5ndWFnZUFjdGlvbjogYW55ID0gY3JlYXRlQXN5bmNUaHVuayhcbiAgTEFOR1VBR0VfREVMRVRFLFxuICBkZWxldGVMYW5ndWFnZVNlcnZpY2VcbilcbiIsImV4cG9ydCBjb25zdCBMQU5HVUFHRVMgPSAnbGFuZ3VhZ2VzL2ZldGNoQWxsJztcbmV4cG9ydCBjb25zdCBMQU5HVUFHRSA9ICdsYW5ndWFnZXMvZmV0Y2hCeUlEJztcbmV4cG9ydCBjb25zdCBMQU5HVUFHRV9DUkVBVEUgPSAnbGFuZ3VhZ2VzL2NyZWF0ZSc7XG5leHBvcnQgY29uc3QgTEFOR1VBR0VfVVBEQVRFID0gJ2xhbmd1YWdlcy91cGRhdGUnO1xuZXhwb3J0IGNvbnN0IExBTkdVQUdFX0RFTEVURSA9ICdsYW5ndWFnZXMvZGVsZXRlJztcbiIsIi8qIGVzbGludC1kaXNhYmxlIG5vLWNvbnNvbGUgKi9cblxuaW1wb3J0IHsgY3JlYXRlU2xpY2UsIFBheWxvYWRBY3Rpb24gfSBmcm9tICdAcmVkdXhqcy90b29sa2l0JztcbmltcG9ydCB7IExhbmd1YWdlLCBMYW5ndWFnZVN0YXRlIH0gZnJvbSAnQC9zaGFyZWQvaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBmZXRjaExhbmd1YWdlcywgdXBkYXRlTGFuZ3VhZ2VBY3Rpb24sIGxhbmd1YWdlRGV0YWlsQWN0aW9uLCBjcmVhdGVMYW5ndWFnZUFjdGlvbiwgZGVsZXRlTGFuZ3VhZ2VBY3Rpb24gfSBmcm9tICcuL2FjdGlvbnMnO1xuaW1wb3J0IHsgTEFOR1VBR0UgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5cbmNvbnN0IGluaXRpYWxTdGF0ZTogTGFuZ3VhZ2VTdGF0ZSA9IHtcbiAgbGFuZ3VhZ2VzOiBbXSxcbiAgbGFuZ3VhZ2U6IG51bGwsXG4gIGxhbmd1YWdlc1BlbmRpbmc6IGZhbHNlLFxuICBsYW5ndWFnZURldGFpbFBlbmRpbmc6IGZhbHNlLFxuICBsYW5ndWFnZUNyZWF0ZVBlbmRpbmc6IGZhbHNlLFxuICBsYW5ndWFnZVVwZGF0ZVBlbmRpbmc6IGZhbHNlLFxuICBsYW5ndWFnZURlbGV0ZVBlbmRpbmc6IGZhbHNlLFxuICByZWdpc3RlckVycm9yTWVzc2FnZTogJycsXG59O1xuXG5leHBvcnQgY29uc3QgbGFuZ3VhZ2VTbGljZSA9IGNyZWF0ZVNsaWNlKHtcbiAgbmFtZTogTEFOR1VBR0UsXG4gIGluaXRpYWxTdGF0ZSxcbiAgcmVkdWNlcnM6IHtcbiAgICAvLyBTZXRzIHRoZSBjdXJyZW50IGxhbmd1YWdlXG4gICAgc2V0TGFuZ3VhZ2U6IChzdGF0ZSwgYWN0aW9uOiBQYXlsb2FkQWN0aW9uPExhbmd1YWdlPikgPT4ge1xuICAgICAgc3RhdGUubGFuZ3VhZ2UgPSBhY3Rpb24ucGF5bG9hZDtcbiAgICB9LFxuXG4gICAgLy8gVXBkYXRlcyB0aGUgcmVnaXN0ZXIgZXJyb3IgbWVzc2FnZVxuICAgIHNldFJlZ2lzdGVyRXJyb3JNZXNzYWdlOiAoc3RhdGUsIGFjdGlvbjogUGF5bG9hZEFjdGlvbjxzdHJpbmc+KSA9PiB7XG4gICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9IGFjdGlvbi5wYXlsb2FkO1xuICAgIH0sXG4gIH0sXG5cbiAgZXh0cmFSZWR1Y2VyczogKGJ1aWxkZXIpID0+IHtcbiAgICBidWlsZGVyXG4gICAgICAvLyBoYW5kbGUgbGFuZ3VhZ2VcbiAgICAgIC5hZGRDYXNlKGZldGNoTGFuZ3VhZ2VzLnBlbmRpbmcsIChzdGF0ZSkgPT4ge1xuICAgICAgICBzdGF0ZS5sYW5ndWFnZXNQZW5kaW5nID0gdHJ1ZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG4gICAgICAvLyBIYW5kbGVzIHJlamVjdGVkIGxhbmd1YWdlcyBmZXRjaFxuICAgICAgLmFkZENhc2UoZmV0Y2hMYW5ndWFnZXMucmVqZWN0ZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIHN0YXRlLmxhbmd1YWdlc1BlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSBhY3Rpb24uZXJyb3IubWVzc2FnZSB8fCAnRmFpbGVkIHRvIGZldGNoIGxhbmd1YWdlcy4nO1xuICAgICAgfSlcbiAgICAgIC8vIEhhbmRsZXMgZnVsZmlsbGVkIGxhbmd1YWdlcyBmZXRjaFxuICAgICAgLmFkZENhc2UoZmV0Y2hMYW5ndWFnZXMuZnVsZmlsbGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBjb25zdCB7IHBheWxvYWQgfSA9IGFjdGlvbjtcbiAgICAgICAgc3RhdGUubGFuZ3VhZ2VzID0gcGF5bG9hZDtcbiAgICAgICAgc3RhdGUubGFuZ3VhZ2VzUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcblxuICAgICAgLy8gaGFuZGxlIGxhbmd1YWdlIGRldGFpbFxuICAgICAgLmFkZENhc2UobGFuZ3VhZ2VEZXRhaWxBY3Rpb24ucGVuZGluZywgKHN0YXRlKSA9PiB7XG4gICAgICAgIHN0YXRlLmxhbmd1YWdlRGV0YWlsUGVuZGluZyA9IHRydWU7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICB9KVxuICAgICAgLy8gSGFuZGxlcyByZWplY3RlZCBsYW5ndWFnZXMgZmV0Y2hcbiAgICAgIC5hZGRDYXNlKGxhbmd1YWdlRGV0YWlsQWN0aW9uLnJlamVjdGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBzdGF0ZS5sYW5ndWFnZURldGFpbFBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSBhY3Rpb24uZXJyb3IubWVzc2FnZSB8fCAnRmFpbGVkIHRvIGZldGNoIGxhbmd1YWdlcy4nO1xuICAgICAgfSlcbiAgICAgIC8vIEhhbmRsZXMgZnVsZmlsbGVkIGxhbmd1YWdlcyBmZXRjaFxuICAgICAgLmFkZENhc2UobGFuZ3VhZ2VEZXRhaWxBY3Rpb24uZnVsZmlsbGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBjb25zdCB7IHBheWxvYWQgfSA9IGFjdGlvbjtcbiAgICAgICAgc3RhdGUubGFuZ3VhZ2UgPSBwYXlsb2FkO1xuICAgICAgICBzdGF0ZS5sYW5ndWFnZURldGFpbFBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG5cbiAgICAgIC8vIGhhbmRsZSBsYW5ndWFnZSBjcmVhdGVcbiAgICAgIC5hZGRDYXNlKGNyZWF0ZUxhbmd1YWdlQWN0aW9uLnBlbmRpbmcsIChzdGF0ZSkgPT4ge1xuICAgICAgICBzdGF0ZS5sYW5ndWFnZVVwZGF0ZVBlbmRpbmcgPSB0cnVlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcbiAgICAgIC5hZGRDYXNlKGNyZWF0ZUxhbmd1YWdlQWN0aW9uLnJlamVjdGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBzdGF0ZS5sYW5ndWFnZVVwZGF0ZVBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSBhY3Rpb24uZXJyb3IubWVzc2FnZSB8fCAnRmFpbGVkIHRvIGNyZWF0ZSBsYW5ndWFnZXMuJztcbiAgICAgIH0pXG4gICAgICAuYWRkQ2FzZShjcmVhdGVMYW5ndWFnZUFjdGlvbi5mdWxmaWxsZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIHN0YXRlLmxhbmd1YWdlID0gYWN0aW9uLnBheWxvYWQ7XG4gICAgICAgIHN0YXRlLmxhbmd1YWdlVXBkYXRlUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcblxuICAgICAgLy8gaGFuZGxlIGxhbmd1YWdlIHVwZGF0ZVxuICAgICAgLmFkZENhc2UodXBkYXRlTGFuZ3VhZ2VBY3Rpb24ucGVuZGluZywgKHN0YXRlKSA9PiB7XG4gICAgICAgIHN0YXRlLmxhbmd1YWdlVXBkYXRlUGVuZGluZyA9IHRydWU7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICB9KVxuICAgICAgLmFkZENhc2UodXBkYXRlTGFuZ3VhZ2VBY3Rpb24ucmVqZWN0ZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIHN0YXRlLmxhbmd1YWdlVXBkYXRlUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9IGFjdGlvbi5lcnJvci5tZXNzYWdlIHx8ICdGYWlsZWQgdG8gdXBkYXRlIGxhbmd1YWdlcy4nO1xuICAgICAgfSlcbiAgICAgIC5hZGRDYXNlKHVwZGF0ZUxhbmd1YWdlQWN0aW9uLmZ1bGZpbGxlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgc3RhdGUubGFuZ3VhZ2UgPSBhY3Rpb24ucGF5bG9hZDtcbiAgICAgICAgc3RhdGUubGFuZ3VhZ2VVcGRhdGVQZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICB9KVxuXG4gICAgICAvLyBoYW5kbGUgbGFuZ3VhZ2UgZGVsZXRlXG4gICAgICAuYWRkQ2FzZShkZWxldGVMYW5ndWFnZUFjdGlvbi5wZW5kaW5nLCAoc3RhdGUpID0+IHtcbiAgICAgICAgc3RhdGUubGFuZ3VhZ2VVcGRhdGVQZW5kaW5nID0gdHJ1ZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG4gICAgICAuYWRkQ2FzZShkZWxldGVMYW5ndWFnZUFjdGlvbi5yZWplY3RlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgc3RhdGUubGFuZ3VhZ2VVcGRhdGVQZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gYWN0aW9uLmVycm9yLm1lc3NhZ2UgfHwgJ0ZhaWxlZCB0byBkZWxldGUgbGFuZ3VhZ2VzLic7XG4gICAgICB9KVxuICAgICAgLmFkZENhc2UoZGVsZXRlTGFuZ3VhZ2VBY3Rpb24uZnVsZmlsbGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBzdGF0ZS5sYW5ndWFnZSA9IGFjdGlvbi5wYXlsb2FkO1xuICAgICAgICBzdGF0ZS5sYW5ndWFnZVVwZGF0ZVBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG4gIH0sXG59KTtcblxuZXhwb3J0IGNvbnN0IHsgc2V0UmVnaXN0ZXJFcnJvck1lc3NhZ2UsIHNldExhbmd1YWdlIH0gPSBsYW5ndWFnZVNsaWNlLmFjdGlvbnM7XG5cbmV4cG9ydCBkZWZhdWx0IGxhbmd1YWdlU2xpY2UucmVkdWNlcjtcbiIsImltcG9ydCB7IExhbmd1YWdlIH0gZnJvbSAnQC9zaGFyZWQvaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBVUkwgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvY29uZmlncy9jb25zdGFudHMnO1xuaW1wb3J0IHsgZ2V0V2l0aENvbmZpZywgcG9zdFdpdGhDb25maWcsIHB1dFdpdGhDb25maWcsIHJlbW92ZVdpdGhDb25maWcgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvY29yZS9iYXNlL3NlcnZpY2VzJztcblxuZXhwb3J0IGNvbnN0IGxhbmd1YWdlc1NlcnZpY2UgPSBhc3luYygpID0+IHtcbiAgcmV0dXJuIGF3YWl0IGdldFdpdGhDb25maWcoVVJMLkxBTkdVQUdFKVxufVxuXG5leHBvcnQgY29uc3QgbGFuZ3VhZ2VEZXRhaWxTZXJ2aWNlID0gYXN5bmMoaWQ6IG51bWJlcikgPT4ge1xuICByZXR1cm4gYXdhaXQgZ2V0V2l0aENvbmZpZyhgJHtVUkwuTEFOR1VBR0V9JHtpZH1gKVxufVxuXG5leHBvcnQgY29uc3QgY3JlYXRlTGFuZ3VhZ2VTZXJ2aWNlID0gYXN5bmMgKGRhdGE6IExhbmd1YWdlKTogUHJvbWlzZTxMYW5ndWFnZT4gPT4ge1xuICByZXR1cm4gcG9zdFdpdGhDb25maWcoYCR7VVJMLkxBTkdVQUdFfWAsIGRhdGEpO1xufTtcblxuZXhwb3J0IGNvbnN0IHVwZGF0ZUxhbmd1YWdlU2VydmljZSA9IGFzeW5jIChpZDogbnVtYmVyLCBkYXRhOiBMYW5ndWFnZSk6IFByb21pc2U8TGFuZ3VhZ2U+ID0+IHtcbiAgcmV0dXJuIHB1dFdpdGhDb25maWcoYCR7VVJMLkxBTkdVQUdFfSR7aWR9YCwgZGF0YSk7XG59O1xuXG5leHBvcnQgY29uc3QgZGVsZXRlTGFuZ3VhZ2VTZXJ2aWNlID0gYXN5bmMoaWQ6IG51bWJlcikgPT57XG4gIHJldHVybiBhd2FpdCByZW1vdmVXaXRoQ29uZmlnKGAke1VSTC5MQU5HVUFHRX0ke2lkfWApXG59XG4iLCJpbXBvcnQgeyBjcmVhdGVBc3luY1RodW5rIH0gZnJvbSAnQHJlZHV4anMvdG9vbGtpdCc7XG5pbXBvcnQgeyBPQ0NVUEFUSU9OUywgT0NDVVBBVElPTiwgT0NDVVBBVElPTl9ERUxFVEUsIE9DQ1VQQVRJT05fQ1JFQVRFLCBPQ0NVUEFUSU9OX1VQREFURSB9IGZyb20gJy4vY29uc3RhbnRzJztcbmltcG9ydCB7IG9jY3VwYXRpb25zU2VydmljZSwgb2NjdXBhdGlvbkRldGFpbFNlcnZpY2UsIGNyZWF0ZU9jY3VwYXRpb25TZXJ2aWNlLCB1cGRhdGVPY2N1cGF0aW9uU2VydmljZSwgZGVsZXRlT2NjdXBhdGlvblNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzJztcbmltcG9ydCB7IE9jY3VwYXRpb24gfSBmcm9tICdAL3NoYXJlZC9pbnRlcmZhY2VzJztcblxuZXhwb3J0IGNvbnN0IGZldGNoT2NjdXBhdGlvbnM6IGFueSA9IGNyZWF0ZUFzeW5jVGh1bmsoXG4gIE9DQ1VQQVRJT05TLFxuICBvY2N1cGF0aW9uc1NlcnZpY2Vcbik7XG5cbmV4cG9ydCBjb25zdCBvY2N1cGF0aW9uRGV0YWlsQWN0aW9uOiBhbnkgPSBjcmVhdGVBc3luY1RodW5rKFxuICBPQ0NVUEFUSU9OLFxuICBvY2N1cGF0aW9uRGV0YWlsU2VydmljZVxuKVxuXG5leHBvcnQgY29uc3QgY3JlYXRlT2NjdXBhdGlvbkFjdGlvbiA9IGNyZWF0ZUFzeW5jVGh1bms8T2NjdXBhdGlvbiwgeyBkYXRhOiBPY2N1cGF0aW9uIH0+KFxuICBPQ0NVUEFUSU9OX0NSRUFURSxcbiAgYXN5bmMgKHsgZGF0YSB9LCB7IHJlamVjdFdpdGhWYWx1ZSB9KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBhd2FpdCBjcmVhdGVPY2N1cGF0aW9uU2VydmljZShkYXRhKTtcbiAgICB9IGNhdGNoIChlcnJvcjogYW55KSB7XG4gICAgICByZXR1cm4gcmVqZWN0V2l0aFZhbHVlKGVycm9yLnJlc3BvbnNlPy5kYXRhPy5tZXNzYWdlIHx8IFwiRmFpbGVkIHRvIGNyZWF0ZSBvY2N1cGF0aW9uXCIpO1xuICAgIH1cbiAgfVxuKTtcblxuZXhwb3J0IGNvbnN0IHVwZGF0ZU9jY3VwYXRpb25BY3Rpb24gPSBjcmVhdGVBc3luY1RodW5rPE9jY3VwYXRpb24sIHsgaWQ6IG51bWJlcjsgZGF0YTogT2NjdXBhdGlvbiB9PihcbiAgT0NDVVBBVElPTl9VUERBVEUsXG4gIGFzeW5jICh7IGlkLCBkYXRhIH0sIHsgcmVqZWN0V2l0aFZhbHVlIH0pID0+IHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIGF3YWl0IHVwZGF0ZU9jY3VwYXRpb25TZXJ2aWNlKGlkLCBkYXRhKTtcbiAgICB9IGNhdGNoIChlcnJvcjogYW55KSB7XG4gICAgICByZXR1cm4gcmVqZWN0V2l0aFZhbHVlKGVycm9yLnJlc3BvbnNlPy5kYXRhPy5tZXNzYWdlIHx8IFwiRmFpbGVkIHRvIHVwZGF0ZSBvY2N1cGF0aW9uXCIpO1xuICAgIH1cbiAgfVxuKTtcblxuZXhwb3J0IGNvbnN0IGRlbGV0ZU9jY3VwYXRpb25BY3Rpb246IGFueSA9IGNyZWF0ZUFzeW5jVGh1bmsoXG4gIE9DQ1VQQVRJT05fREVMRVRFLFxuICBkZWxldGVPY2N1cGF0aW9uU2VydmljZVxuKVxuIiwiZXhwb3J0IGNvbnN0IE9DQ1VQQVRJT05TID0gJ29jY3VwYXRpb25zL2ZldGNoQWxsJztcbmV4cG9ydCBjb25zdCBPQ0NVUEFUSU9OID0gJ29jY3VwYXRpb25zL2ZldGNoQnlJRCc7XG5leHBvcnQgY29uc3QgT0NDVVBBVElPTl9DUkVBVEUgPSAnb2NjdXBhdGlvbnMvY3JlYXRlJztcbmV4cG9ydCBjb25zdCBPQ0NVUEFUSU9OX1VQREFURSA9ICdvY2N1cGF0aW9ucy91cGRhdGUnO1xuZXhwb3J0IGNvbnN0IE9DQ1VQQVRJT05fREVMRVRFID0gJ29jY3VwYXRpb25zL2RlbGV0ZSc7XG4iLCIvKiBlc2xpbnQtZGlzYWJsZSBuby1jb25zb2xlICovXG5cbmltcG9ydCB7IGNyZWF0ZVNsaWNlLCBQYXlsb2FkQWN0aW9uIH0gZnJvbSAnQHJlZHV4anMvdG9vbGtpdCc7XG5pbXBvcnQgeyBPY2N1cGF0aW9uLCBPY2N1cGF0aW9uU3RhdGUgfSBmcm9tICdAL3NoYXJlZC9pbnRlcmZhY2VzJztcbmltcG9ydCB7IGZldGNoT2NjdXBhdGlvbnMsIHVwZGF0ZU9jY3VwYXRpb25BY3Rpb24sIG9jY3VwYXRpb25EZXRhaWxBY3Rpb24sIGNyZWF0ZU9jY3VwYXRpb25BY3Rpb24sIGRlbGV0ZU9jY3VwYXRpb25BY3Rpb24gfSBmcm9tICcuL2FjdGlvbnMnO1xuaW1wb3J0IHsgT0NDVVBBVElPTiB9IGZyb20gJy4vY29uc3RhbnRzJztcblxuY29uc3QgaW5pdGlhbFN0YXRlOiBPY2N1cGF0aW9uU3RhdGUgPSB7XG4gIG9jY3VwYXRpb25zOiBbXSxcbiAgb2NjdXBhdGlvbjogbnVsbCxcbiAgb2NjdXBhdGlvbnNQZW5kaW5nOiBmYWxzZSxcbiAgb2NjdXBhdGlvbkRldGFpbFBlbmRpbmc6IGZhbHNlLFxuICBvY2N1cGF0aW9uQ3JlYXRlUGVuZGluZzogZmFsc2UsXG4gIG9jY3VwYXRpb25VcGRhdGVQZW5kaW5nOiBmYWxzZSxcbiAgb2NjdXBhdGlvbkRlbGV0ZVBlbmRpbmc6IGZhbHNlLFxuICByZWdpc3RlckVycm9yTWVzc2FnZTogJycsXG59O1xuXG5leHBvcnQgY29uc3Qgb2NjdXBhdGlvblNsaWNlID0gY3JlYXRlU2xpY2Uoe1xuICBuYW1lOiBPQ0NVUEFUSU9OLFxuICBpbml0aWFsU3RhdGUsXG4gIHJlZHVjZXJzOiB7XG4gICAgLy8gU2V0cyB0aGUgY3VycmVudCBvY2N1cGF0aW9uXG4gICAgc2V0T2NjdXBhdGlvbjogKHN0YXRlLCBhY3Rpb246IFBheWxvYWRBY3Rpb248T2NjdXBhdGlvbj4pID0+IHtcbiAgICAgIHN0YXRlLm9jY3VwYXRpb24gPSBhY3Rpb24ucGF5bG9hZDtcbiAgICB9LFxuXG4gICAgLy8gVXBkYXRlcyB0aGUgcmVnaXN0ZXIgZXJyb3IgbWVzc2FnZVxuICAgIHNldFJlZ2lzdGVyRXJyb3JNZXNzYWdlOiAoc3RhdGUsIGFjdGlvbjogUGF5bG9hZEFjdGlvbjxzdHJpbmc+KSA9PiB7XG4gICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9IGFjdGlvbi5wYXlsb2FkO1xuICAgIH0sXG4gIH0sXG5cbiAgZXh0cmFSZWR1Y2VyczogKGJ1aWxkZXIpID0+IHtcbiAgICBidWlsZGVyXG4gICAgICAvLyBoYW5kbGUgb2NjdXBhdGlvblxuICAgICAgLmFkZENhc2UoZmV0Y2hPY2N1cGF0aW9ucy5wZW5kaW5nLCAoc3RhdGUpID0+IHtcbiAgICAgICAgc3RhdGUub2NjdXBhdGlvbnNQZW5kaW5nID0gdHJ1ZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG4gICAgICAvLyBIYW5kbGVzIHJlamVjdGVkIG9jY3VwYXRpb25zIGZldGNoXG4gICAgICAuYWRkQ2FzZShmZXRjaE9jY3VwYXRpb25zLnJlamVjdGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBzdGF0ZS5vY2N1cGF0aW9uc1BlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSBhY3Rpb24uZXJyb3IubWVzc2FnZSB8fCAnRmFpbGVkIHRvIGZldGNoIG9jY3VwYXRpb25zLic7XG4gICAgICB9KVxuICAgICAgLy8gSGFuZGxlcyBmdWxmaWxsZWQgb2NjdXBhdGlvbnMgZmV0Y2hcbiAgICAgIC5hZGRDYXNlKGZldGNoT2NjdXBhdGlvbnMuZnVsZmlsbGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBjb25zdCB7IHBheWxvYWQgfSA9IGFjdGlvbjtcbiAgICAgICAgc3RhdGUub2NjdXBhdGlvbnMgPSBwYXlsb2FkO1xuICAgICAgICBzdGF0ZS5vY2N1cGF0aW9uc1BlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG5cbiAgICAgIC8vIGhhbmRsZSBvY2N1cGF0aW9uIGRldGFpbFxuICAgICAgLmFkZENhc2Uob2NjdXBhdGlvbkRldGFpbEFjdGlvbi5wZW5kaW5nLCAoc3RhdGUpID0+IHtcbiAgICAgICAgc3RhdGUub2NjdXBhdGlvbkRldGFpbFBlbmRpbmcgPSB0cnVlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcbiAgICAgIC8vIEhhbmRsZXMgcmVqZWN0ZWQgb2NjdXBhdGlvbnMgZmV0Y2hcbiAgICAgIC5hZGRDYXNlKG9jY3VwYXRpb25EZXRhaWxBY3Rpb24ucmVqZWN0ZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIHN0YXRlLm9jY3VwYXRpb25EZXRhaWxQZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gYWN0aW9uLmVycm9yLm1lc3NhZ2UgfHwgJ0ZhaWxlZCB0byBmZXRjaCBvY2N1cGF0aW9ucy4nO1xuICAgICAgfSlcbiAgICAgIC8vIEhhbmRsZXMgZnVsZmlsbGVkIG9jY3VwYXRpb25zIGZldGNoXG4gICAgICAuYWRkQ2FzZShvY2N1cGF0aW9uRGV0YWlsQWN0aW9uLmZ1bGZpbGxlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgY29uc3QgeyBwYXlsb2FkIH0gPSBhY3Rpb247XG4gICAgICAgIHN0YXRlLm9jY3VwYXRpb24gPSBwYXlsb2FkO1xuICAgICAgICBzdGF0ZS5vY2N1cGF0aW9uRGV0YWlsUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcblxuICAgICAgLy8gaGFuZGxlIG9jY3VwYXRpb24gY3JlYXRlXG4gICAgICAuYWRkQ2FzZShjcmVhdGVPY2N1cGF0aW9uQWN0aW9uLnBlbmRpbmcsIChzdGF0ZSkgPT4ge1xuICAgICAgICBzdGF0ZS5vY2N1cGF0aW9uVXBkYXRlUGVuZGluZyA9IHRydWU7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICB9KVxuICAgICAgLmFkZENhc2UoY3JlYXRlT2NjdXBhdGlvbkFjdGlvbi5yZWplY3RlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgc3RhdGUub2NjdXBhdGlvblVwZGF0ZVBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSBhY3Rpb24uZXJyb3IubWVzc2FnZSB8fCAnRmFpbGVkIHRvIGNyZWF0ZSBvY2N1cGF0aW9ucy4nO1xuICAgICAgfSlcbiAgICAgIC5hZGRDYXNlKGNyZWF0ZU9jY3VwYXRpb25BY3Rpb24uZnVsZmlsbGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBzdGF0ZS5vY2N1cGF0aW9uID0gYWN0aW9uLnBheWxvYWQ7XG4gICAgICAgIHN0YXRlLm9jY3VwYXRpb25VcGRhdGVQZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICB9KVxuXG4gICAgICAvLyBoYW5kbGUgb2NjdXBhdGlvbiB1cGRhdGVcbiAgICAgIC5hZGRDYXNlKHVwZGF0ZU9jY3VwYXRpb25BY3Rpb24ucGVuZGluZywgKHN0YXRlKSA9PiB7XG4gICAgICAgIHN0YXRlLm9jY3VwYXRpb25VcGRhdGVQZW5kaW5nID0gdHJ1ZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG4gICAgICAuYWRkQ2FzZSh1cGRhdGVPY2N1cGF0aW9uQWN0aW9uLnJlamVjdGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBzdGF0ZS5vY2N1cGF0aW9uVXBkYXRlUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9IGFjdGlvbi5lcnJvci5tZXNzYWdlIHx8ICdGYWlsZWQgdG8gdXBkYXRlIG9jY3VwYXRpb25zLic7XG4gICAgICB9KVxuICAgICAgLmFkZENhc2UodXBkYXRlT2NjdXBhdGlvbkFjdGlvbi5mdWxmaWxsZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIHN0YXRlLm9jY3VwYXRpb24gPSBhY3Rpb24ucGF5bG9hZDtcbiAgICAgICAgc3RhdGUub2NjdXBhdGlvblVwZGF0ZVBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG5cbiAgICAgIC8vIGhhbmRsZSBvY2N1cGF0aW9uIGRlbGV0ZVxuICAgICAgLmFkZENhc2UoZGVsZXRlT2NjdXBhdGlvbkFjdGlvbi5wZW5kaW5nLCAoc3RhdGUpID0+IHtcbiAgICAgICAgc3RhdGUub2NjdXBhdGlvblVwZGF0ZVBlbmRpbmcgPSB0cnVlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcbiAgICAgIC5hZGRDYXNlKGRlbGV0ZU9jY3VwYXRpb25BY3Rpb24ucmVqZWN0ZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIHN0YXRlLm9jY3VwYXRpb25VcGRhdGVQZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gYWN0aW9uLmVycm9yLm1lc3NhZ2UgfHwgJ0ZhaWxlZCB0byBkZWxldGUgb2NjdXBhdGlvbnMuJztcbiAgICAgIH0pXG4gICAgICAuYWRkQ2FzZShkZWxldGVPY2N1cGF0aW9uQWN0aW9uLmZ1bGZpbGxlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgc3RhdGUub2NjdXBhdGlvbiA9IGFjdGlvbi5wYXlsb2FkO1xuICAgICAgICBzdGF0ZS5vY2N1cGF0aW9uVXBkYXRlUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcbiAgfSxcbn0pO1xuXG5leHBvcnQgY29uc3QgeyBzZXRSZWdpc3RlckVycm9yTWVzc2FnZSwgc2V0T2NjdXBhdGlvbiB9ID0gb2NjdXBhdGlvblNsaWNlLmFjdGlvbnM7XG5cbmV4cG9ydCBkZWZhdWx0IG9jY3VwYXRpb25TbGljZS5yZWR1Y2VyO1xuIiwiaW1wb3J0IHsgT2NjdXBhdGlvbiB9IGZyb20gJ0Avc2hhcmVkL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgVVJMIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2NvbmZpZ3MvY29uc3RhbnRzJztcbmltcG9ydCB7IGdldFdpdGhDb25maWcsIHBvc3RXaXRoQ29uZmlnLCBwdXRXaXRoQ29uZmlnLCByZW1vdmVXaXRoQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2NvcmUvYmFzZS9zZXJ2aWNlcyc7XG5cbmV4cG9ydCBjb25zdCBvY2N1cGF0aW9uc1NlcnZpY2UgPSBhc3luYygpID0+IHtcbiAgcmV0dXJuIGF3YWl0IGdldFdpdGhDb25maWcoVVJMLk9DQ1VQQVRJT04pXG59XG5cbmV4cG9ydCBjb25zdCBvY2N1cGF0aW9uRGV0YWlsU2VydmljZSA9IGFzeW5jKGlkOiBudW1iZXIpID0+IHtcbiAgcmV0dXJuIGF3YWl0IGdldFdpdGhDb25maWcoYCR7VVJMLk9DQ1VQQVRJT059JHtpZH1gKVxufVxuXG5leHBvcnQgY29uc3QgY3JlYXRlT2NjdXBhdGlvblNlcnZpY2UgPSBhc3luYyAoZGF0YTogT2NjdXBhdGlvbik6IFByb21pc2U8T2NjdXBhdGlvbj4gPT4ge1xuICByZXR1cm4gcG9zdFdpdGhDb25maWcoYCR7VVJMLk9DQ1VQQVRJT059YCwgZGF0YSk7XG59O1xuXG5leHBvcnQgY29uc3QgdXBkYXRlT2NjdXBhdGlvblNlcnZpY2UgPSBhc3luYyAoaWQ6IG51bWJlciwgZGF0YTogT2NjdXBhdGlvbik6IFByb21pc2U8T2NjdXBhdGlvbj4gPT4ge1xuICByZXR1cm4gcHV0V2l0aENvbmZpZyhgJHtVUkwuT0NDVVBBVElPTn0ke2lkfWAsIGRhdGEpO1xufTtcblxuZXhwb3J0IGNvbnN0IGRlbGV0ZU9jY3VwYXRpb25TZXJ2aWNlID0gYXN5bmMoaWQ6IG51bWJlcikgPT57XG4gIHJldHVybiBhd2FpdCByZW1vdmVXaXRoQ29uZmlnKGAke1VSTC5PQ0NVUEFUSU9OfSR7aWR9YClcbn1cbiIsImltcG9ydCB7IGNyZWF0ZUFzeW5jVGh1bmsgfSBmcm9tICdAcmVkdXhqcy90b29sa2l0JztcbmltcG9ydCB7IE9GRkVSX1BST0dSQU1TLCBPRkZFUl9QUk9HUkFNLCBPRkZFUl9QUk9HUkFNX0RFTEVURSwgT0ZGRVJfUFJPR1JBTV9DUkVBVEUsIE9GRkVSX1BST0dSQU1fVVBEQVRFIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgb2ZmZXJQcm9ncmFtc1NlcnZpY2UsIG9mZmVyUHJvZ3JhbURldGFpbFNlcnZpY2UsIGNyZWF0ZU9mZmVyUHJvZ3JhbVNlcnZpY2UsIHVwZGF0ZU9mZmVyUHJvZ3JhbVNlcnZpY2UsIGRlbGV0ZU9mZmVyUHJvZ3JhbVNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzJztcbmltcG9ydCB7IE9mZmVyUHJvZ3JhbSB9IGZyb20gJ0Avc2hhcmVkL2ludGVyZmFjZXMnO1xuXG5leHBvcnQgY29uc3QgZmV0Y2hPZmZlclByb2dyYW1zOiBhbnkgPSBjcmVhdGVBc3luY1RodW5rKFxuICBPRkZFUl9QUk9HUkFNUyxcbiAgb2ZmZXJQcm9ncmFtc1NlcnZpY2Vcbik7XG5cbmV4cG9ydCBjb25zdCBvZmZlclByb2dyYW1EZXRhaWxBY3Rpb246IGFueSA9IGNyZWF0ZUFzeW5jVGh1bmsoXG4gIE9GRkVSX1BST0dSQU0sXG4gIG9mZmVyUHJvZ3JhbURldGFpbFNlcnZpY2VcbilcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZU9mZmVyUHJvZ3JhbUFjdGlvbiA9IGNyZWF0ZUFzeW5jVGh1bms8T2ZmZXJQcm9ncmFtLCB7IGRhdGE6IE9mZmVyUHJvZ3JhbSB9PihcbiAgT0ZGRVJfUFJPR1JBTV9DUkVBVEUsXG4gIGFzeW5jICh7IGRhdGEgfSwgeyByZWplY3RXaXRoVmFsdWUgfSkgPT4ge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gYXdhaXQgY3JlYXRlT2ZmZXJQcm9ncmFtU2VydmljZShkYXRhKTtcbiAgICB9IGNhdGNoIChlcnJvcjogYW55KSB7XG4gICAgICByZXR1cm4gcmVqZWN0V2l0aFZhbHVlKGVycm9yLnJlc3BvbnNlPy5kYXRhPy5tZXNzYWdlIHx8IFwiRmFpbGVkIHRvIGNyZWF0ZSBvZmZlciBwcm9ncmFtXCIpO1xuICAgIH1cbiAgfVxuKTtcblxuZXhwb3J0IGNvbnN0IHVwZGF0ZU9mZmVyUHJvZ3JhbUFjdGlvbiA9IGNyZWF0ZUFzeW5jVGh1bms8T2ZmZXJQcm9ncmFtLCB7IGlkOiBudW1iZXI7IGRhdGE6IE9mZmVyUHJvZ3JhbSB9PihcbiAgT0ZGRVJfUFJPR1JBTV9VUERBVEUsXG4gIGFzeW5jICh7IGlkLCBkYXRhIH0sIHsgcmVqZWN0V2l0aFZhbHVlIH0pID0+IHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIGF3YWl0IHVwZGF0ZU9mZmVyUHJvZ3JhbVNlcnZpY2UoaWQsIGRhdGEpO1xuICAgIH0gY2F0Y2ggKGVycm9yOiBhbnkpIHtcbiAgICAgIHJldHVybiByZWplY3RXaXRoVmFsdWUoZXJyb3IucmVzcG9uc2U/LmRhdGE/Lm1lc3NhZ2UgfHwgXCJGYWlsZWQgdG8gdXBkYXRlIG9mZmVyIHByb2dyYW1cIik7XG4gICAgfVxuICB9XG4pO1xuXG5leHBvcnQgY29uc3QgZGVsZXRlT2ZmZXJQcm9ncmFtQWN0aW9uOiBhbnkgPSBjcmVhdGVBc3luY1RodW5rKFxuICBPRkZFUl9QUk9HUkFNX0RFTEVURSxcbiAgZGVsZXRlT2ZmZXJQcm9ncmFtU2VydmljZVxuKVxuIiwiZXhwb3J0IGNvbnN0IE9GRkVSX1BST0dSQU1TID0gJ29mZmVyLXByb2dyYW1zL2ZldGNoQWxsJztcbmV4cG9ydCBjb25zdCBPRkZFUl9QUk9HUkFNID0gJ29mZmVyLXByb2dyYW1zL2ZldGNoQnlJRCc7XG5leHBvcnQgY29uc3QgT0ZGRVJfUFJPR1JBTV9DUkVBVEUgPSAnb2ZmZXItcHJvZ3JhbXMvY3JlYXRlJztcbmV4cG9ydCBjb25zdCBPRkZFUl9QUk9HUkFNX1VQREFURSA9ICdvZmZlci1wcm9ncmFtcy91cGRhdGUnO1xuZXhwb3J0IGNvbnN0IE9GRkVSX1BST0dSQU1fREVMRVRFID0gJ29mZmVyLXByb2dyYW1zL2RlbGV0ZSc7XG4iLCIvKiBlc2xpbnQtZGlzYWJsZSBuby1jb25zb2xlICovXG5cbmltcG9ydCB7IGNyZWF0ZVNsaWNlLCBQYXlsb2FkQWN0aW9uIH0gZnJvbSAnQHJlZHV4anMvdG9vbGtpdCc7XG5pbXBvcnQgeyBPZmZlclByb2dyYW0sIE9mZmVyUHJvZ3JhbVN0YXRlIH0gZnJvbSAnQC9zaGFyZWQvaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBmZXRjaE9mZmVyUHJvZ3JhbXMsIHVwZGF0ZU9mZmVyUHJvZ3JhbUFjdGlvbiwgb2ZmZXJQcm9ncmFtRGV0YWlsQWN0aW9uLCBjcmVhdGVPZmZlclByb2dyYW1BY3Rpb24sIGRlbGV0ZU9mZmVyUHJvZ3JhbUFjdGlvbiB9IGZyb20gJy4vYWN0aW9ucyc7XG5pbXBvcnQgeyBPRkZFUl9QUk9HUkFNIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuXG5jb25zdCBpbml0aWFsU3RhdGU6IE9mZmVyUHJvZ3JhbVN0YXRlID0ge1xuICBvZmZlclByb2dyYW1zOiBbXSxcbiAgb2ZmZXJQcm9ncmFtOiBudWxsLFxuICBvZmZlclByb2dyYW1zUGVuZGluZzogZmFsc2UsXG4gIG9mZmVyUHJvZ3JhbURldGFpbFBlbmRpbmc6IGZhbHNlLFxuICBvZmZlclByb2dyYW1DcmVhdGVQZW5kaW5nOiBmYWxzZSxcbiAgb2ZmZXJQcm9ncmFtVXBkYXRlUGVuZGluZzogZmFsc2UsXG4gIG9mZmVyUHJvZ3JhbURlbGV0ZVBlbmRpbmc6IGZhbHNlLFxuICByZWdpc3RlckVycm9yTWVzc2FnZTogJycsXG59O1xuXG5leHBvcnQgY29uc3Qgb2ZmZXJQcm9ncmFtU2xpY2UgPSBjcmVhdGVTbGljZSh7XG4gIG5hbWU6IE9GRkVSX1BST0dSQU0sXG4gIGluaXRpYWxTdGF0ZSxcbiAgcmVkdWNlcnM6IHtcbiAgICAvLyBTZXRzIHRoZSBjdXJyZW50IG9mZmVyUHJvZ3JhbVxuICAgIHNldE9mZmVyUHJvZ3JhbTogKHN0YXRlLCBhY3Rpb246IFBheWxvYWRBY3Rpb248T2ZmZXJQcm9ncmFtPikgPT4ge1xuICAgICAgc3RhdGUub2ZmZXJQcm9ncmFtID0gYWN0aW9uLnBheWxvYWQ7XG4gICAgfSxcblxuICAgIC8vIFVwZGF0ZXMgdGhlIHJlZ2lzdGVyIGVycm9yIG1lc3NhZ2VcbiAgICBzZXRSZWdpc3RlckVycm9yTWVzc2FnZTogKHN0YXRlLCBhY3Rpb246IFBheWxvYWRBY3Rpb248c3RyaW5nPikgPT4ge1xuICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSBhY3Rpb24ucGF5bG9hZDtcbiAgICB9LFxuICB9LFxuXG4gIGV4dHJhUmVkdWNlcnM6IChidWlsZGVyKSA9PiB7XG4gICAgYnVpbGRlclxuICAgICAgLy8gaGFuZGxlIG9mZmVyIHByb2dyYW1cbiAgICAgIC5hZGRDYXNlKGZldGNoT2ZmZXJQcm9ncmFtcy5wZW5kaW5nLCAoc3RhdGUpID0+IHtcbiAgICAgICAgc3RhdGUub2ZmZXJQcm9ncmFtc1BlbmRpbmcgPSB0cnVlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcbiAgICAgIC8vIEhhbmRsZXMgcmVqZWN0ZWQgb2ZmZXIgcHJvZ3JhbXMgZmV0Y2hcbiAgICAgIC5hZGRDYXNlKGZldGNoT2ZmZXJQcm9ncmFtcy5yZWplY3RlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgc3RhdGUub2ZmZXJQcm9ncmFtc1BlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSBhY3Rpb24uZXJyb3IubWVzc2FnZSB8fCAnRmFpbGVkIHRvIGZldGNoIG9mZmVyIHByb2dyYW1zLic7XG4gICAgICB9KVxuICAgICAgLy8gSGFuZGxlcyBmdWxmaWxsZWQgb2ZmZXIgcHJvZ3JhbXMgZmV0Y2hcbiAgICAgIC5hZGRDYXNlKGZldGNoT2ZmZXJQcm9ncmFtcy5mdWxmaWxsZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIGNvbnN0IHsgcGF5bG9hZCB9ID0gYWN0aW9uO1xuICAgICAgICBzdGF0ZS5vZmZlclByb2dyYW1zID0gcGF5bG9hZDtcbiAgICAgICAgc3RhdGUub2ZmZXJQcm9ncmFtc1BlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG5cbiAgICAgIC8vIGhhbmRsZSBvZmZlciBwcm9ncmFtIGRldGFpbFxuICAgICAgLmFkZENhc2Uob2ZmZXJQcm9ncmFtRGV0YWlsQWN0aW9uLnBlbmRpbmcsIChzdGF0ZSkgPT4ge1xuICAgICAgICBzdGF0ZS5vZmZlclByb2dyYW1EZXRhaWxQZW5kaW5nID0gdHJ1ZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG4gICAgICAvLyBIYW5kbGVzIHJlamVjdGVkIG9mZmVyIHByb2dyYW1zIGZldGNoXG4gICAgICAuYWRkQ2FzZShvZmZlclByb2dyYW1EZXRhaWxBY3Rpb24ucmVqZWN0ZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIHN0YXRlLm9mZmVyUHJvZ3JhbURldGFpbFBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSBhY3Rpb24uZXJyb3IubWVzc2FnZSB8fCAnRmFpbGVkIHRvIGZldGNoIG9mZmVyIHByb2dyYW1zLic7XG4gICAgICB9KVxuICAgICAgLy8gSGFuZGxlcyBmdWxmaWxsZWQgb2ZmZXIgcHJvZ3JhbXMgZmV0Y2hcbiAgICAgIC5hZGRDYXNlKG9mZmVyUHJvZ3JhbURldGFpbEFjdGlvbi5mdWxmaWxsZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIGNvbnN0IHsgcGF5bG9hZCB9ID0gYWN0aW9uO1xuICAgICAgICBzdGF0ZS5vZmZlclByb2dyYW0gPSBwYXlsb2FkO1xuICAgICAgICBzdGF0ZS5vZmZlclByb2dyYW1EZXRhaWxQZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICB9KVxuXG4gICAgICAvLyBoYW5kbGUgb2ZmZXJQcm9ncmFtIGNyZWF0ZVxuICAgICAgLmFkZENhc2UoY3JlYXRlT2ZmZXJQcm9ncmFtQWN0aW9uLnBlbmRpbmcsIChzdGF0ZSkgPT4ge1xuICAgICAgICBzdGF0ZS5vZmZlclByb2dyYW1VcGRhdGVQZW5kaW5nID0gdHJ1ZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG4gICAgICAuYWRkQ2FzZShjcmVhdGVPZmZlclByb2dyYW1BY3Rpb24ucmVqZWN0ZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIHN0YXRlLm9mZmVyUHJvZ3JhbVVwZGF0ZVBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSBhY3Rpb24uZXJyb3IubWVzc2FnZSB8fCAnRmFpbGVkIHRvIGNyZWF0ZSBvZmZlciBwcm9ncmFtcy4nO1xuICAgICAgfSlcbiAgICAgIC5hZGRDYXNlKGNyZWF0ZU9mZmVyUHJvZ3JhbUFjdGlvbi5mdWxmaWxsZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIHN0YXRlLm9mZmVyUHJvZ3JhbSA9IGFjdGlvbi5wYXlsb2FkO1xuICAgICAgICBzdGF0ZS5vZmZlclByb2dyYW1VcGRhdGVQZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICB9KVxuXG4gICAgICAvLyBoYW5kbGUgb2ZmZXJQcm9ncmFtIHVwZGF0ZVxuICAgICAgLmFkZENhc2UodXBkYXRlT2ZmZXJQcm9ncmFtQWN0aW9uLnBlbmRpbmcsIChzdGF0ZSkgPT4ge1xuICAgICAgICBzdGF0ZS5vZmZlclByb2dyYW1VcGRhdGVQZW5kaW5nID0gdHJ1ZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG4gICAgICAuYWRkQ2FzZSh1cGRhdGVPZmZlclByb2dyYW1BY3Rpb24ucmVqZWN0ZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIHN0YXRlLm9mZmVyUHJvZ3JhbVVwZGF0ZVBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSBhY3Rpb24uZXJyb3IubWVzc2FnZSB8fCAnRmFpbGVkIHRvIHVwZGF0ZSBvZmZlciBwcm9ncmFtcy4nO1xuICAgICAgfSlcbiAgICAgIC5hZGRDYXNlKHVwZGF0ZU9mZmVyUHJvZ3JhbUFjdGlvbi5mdWxmaWxsZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIHN0YXRlLm9mZmVyUHJvZ3JhbSA9IGFjdGlvbi5wYXlsb2FkO1xuICAgICAgICBzdGF0ZS5vZmZlclByb2dyYW1VcGRhdGVQZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICB9KVxuXG4gICAgICAvLyBoYW5kbGUgb2ZmZXJQcm9ncmFtIGRlbGV0ZVxuICAgICAgLmFkZENhc2UoZGVsZXRlT2ZmZXJQcm9ncmFtQWN0aW9uLnBlbmRpbmcsIChzdGF0ZSkgPT4ge1xuICAgICAgICBzdGF0ZS5vZmZlclByb2dyYW1VcGRhdGVQZW5kaW5nID0gdHJ1ZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG4gICAgICAuYWRkQ2FzZShkZWxldGVPZmZlclByb2dyYW1BY3Rpb24ucmVqZWN0ZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIHN0YXRlLm9mZmVyUHJvZ3JhbVVwZGF0ZVBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSBhY3Rpb24uZXJyb3IubWVzc2FnZSB8fCAnRmFpbGVkIHRvIGRlbGV0ZSBvZmZlciBwcm9ncmFtcy4nO1xuICAgICAgfSlcbiAgICAgIC5hZGRDYXNlKGRlbGV0ZU9mZmVyUHJvZ3JhbUFjdGlvbi5mdWxmaWxsZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIHN0YXRlLm9mZmVyUHJvZ3JhbSA9IGFjdGlvbi5wYXlsb2FkO1xuICAgICAgICBzdGF0ZS5vZmZlclByb2dyYW1VcGRhdGVQZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICB9KVxuICB9LFxufSk7XG5cbmV4cG9ydCBjb25zdCB7IHNldFJlZ2lzdGVyRXJyb3JNZXNzYWdlLCBzZXRPZmZlclByb2dyYW0gfSA9IG9mZmVyUHJvZ3JhbVNsaWNlLmFjdGlvbnM7XG5cbmV4cG9ydCBkZWZhdWx0IG9mZmVyUHJvZ3JhbVNsaWNlLnJlZHVjZXI7XG4iLCJpbXBvcnQgeyBPZmZlclByb2dyYW0gfSBmcm9tICdAL3NoYXJlZC9pbnRlcmZhY2VzJztcbmltcG9ydCB7IFVSTCB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9jb25maWdzL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBnZXRXaXRoQ29uZmlnLCBwb3N0V2l0aENvbmZpZywgcHV0V2l0aENvbmZpZywgcmVtb3ZlV2l0aENvbmZpZyB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9jb3JlL2Jhc2Uvc2VydmljZXMnO1xuXG5leHBvcnQgY29uc3Qgb2ZmZXJQcm9ncmFtc1NlcnZpY2UgPSBhc3luYygpID0+IHtcbiAgcmV0dXJuIGF3YWl0IGdldFdpdGhDb25maWcoVVJMLk9GRkVSX1BST0dSQU0pXG59XG5cbmV4cG9ydCBjb25zdCBvZmZlclByb2dyYW1EZXRhaWxTZXJ2aWNlID0gYXN5bmMoaWQ6IG51bWJlcikgPT4ge1xuICByZXR1cm4gYXdhaXQgZ2V0V2l0aENvbmZpZyhgJHtVUkwuT0ZGRVJfUFJPR1JBTX0ke2lkfWApXG59XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVPZmZlclByb2dyYW1TZXJ2aWNlID0gYXN5bmMgKGRhdGE6IE9mZmVyUHJvZ3JhbSk6IFByb21pc2U8T2ZmZXJQcm9ncmFtPiA9PiB7XG4gIHJldHVybiBwb3N0V2l0aENvbmZpZyhgJHtVUkwuT0ZGRVJfUFJPR1JBTX1gLCBkYXRhKTtcbn07XG5cbmV4cG9ydCBjb25zdCB1cGRhdGVPZmZlclByb2dyYW1TZXJ2aWNlID0gYXN5bmMgKGlkOiBudW1iZXIsIGRhdGE6IE9mZmVyUHJvZ3JhbSk6IFByb21pc2U8T2ZmZXJQcm9ncmFtPiA9PiB7XG4gIHJldHVybiBwdXRXaXRoQ29uZmlnKGAke1VSTC5PRkZFUl9QUk9HUkFNfSR7aWR9YCwgZGF0YSk7XG59O1xuXG5leHBvcnQgY29uc3QgZGVsZXRlT2ZmZXJQcm9ncmFtU2VydmljZSA9IGFzeW5jKGlkOiBudW1iZXIpID0+e1xuICByZXR1cm4gYXdhaXQgcmVtb3ZlV2l0aENvbmZpZyhgJHtVUkwuT0ZGRVJfUFJPR1JBTX0ke2lkfWApXG59XG4iLCJpbXBvcnQgeyBjcmVhdGVBc3luY1RodW5rIH0gZnJvbSAnQHJlZHV4anMvdG9vbGtpdCc7XG5pbXBvcnQgeyBPUFBPUlRVTklUWV9TT1VSQ0VTLCBPUFBPUlRVTklUWV9TT1VSQ0UsIE9QUE9SVFVOSVRZX1NPVVJDRV9ERUxFVEUsIE9QUE9SVFVOSVRZX1NPVVJDRV9DUkVBVEUsIE9QUE9SVFVOSVRZX1NPVVJDRV9VUERBVEUgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBvcHBvcnR1bml0eVNvdXJjZXNTZXJ2aWNlLCBvcHBvcnR1bml0eVNvdXJjZURldGFpbFNlcnZpY2UsIGNyZWF0ZU9wcG9ydHVuaXR5U291cmNlU2VydmljZSwgdXBkYXRlT3Bwb3J0dW5pdHlTb3VyY2VTZXJ2aWNlLCBkZWxldGVPcHBvcnR1bml0eVNvdXJjZVNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzJztcbmltcG9ydCB7IE9wcG9ydHVuaXR5U291cmNlIH0gZnJvbSAnQC9zaGFyZWQvaW50ZXJmYWNlcyc7XG5cbmV4cG9ydCBjb25zdCBmZXRjaE9wcG9ydHVuaXR5U291cmNlczogYW55ID0gY3JlYXRlQXN5bmNUaHVuayhcbiAgT1BQT1JUVU5JVFlfU09VUkNFUyxcbiAgb3Bwb3J0dW5pdHlTb3VyY2VzU2VydmljZVxuKTtcblxuZXhwb3J0IGNvbnN0IG9wcG9ydHVuaXR5U291cmNlRGV0YWlsQWN0aW9uOiBhbnkgPSBjcmVhdGVBc3luY1RodW5rKFxuICBPUFBPUlRVTklUWV9TT1VSQ0UsXG4gIG9wcG9ydHVuaXR5U291cmNlRGV0YWlsU2VydmljZVxuKVxuXG5leHBvcnQgY29uc3QgY3JlYXRlT3Bwb3J0dW5pdHlTb3VyY2VBY3Rpb24gPSBjcmVhdGVBc3luY1RodW5rPE9wcG9ydHVuaXR5U291cmNlLCB7IGRhdGE6IE9wcG9ydHVuaXR5U291cmNlIH0+KFxuICBPUFBPUlRVTklUWV9TT1VSQ0VfQ1JFQVRFLFxuICBhc3luYyAoeyBkYXRhIH0sIHsgcmVqZWN0V2l0aFZhbHVlIH0pID0+IHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIGF3YWl0IGNyZWF0ZU9wcG9ydHVuaXR5U291cmNlU2VydmljZShkYXRhKTtcbiAgICB9IGNhdGNoIChlcnJvcjogYW55KSB7XG4gICAgICByZXR1cm4gcmVqZWN0V2l0aFZhbHVlKGVycm9yLnJlc3BvbnNlPy5kYXRhPy5tZXNzYWdlIHx8IFwiRmFpbGVkIHRvIGNyZWF0ZSBvcHBvcnR1bml0eSBzb3VyY2VcIik7XG4gICAgfVxuICB9XG4pO1xuXG5leHBvcnQgY29uc3QgdXBkYXRlT3Bwb3J0dW5pdHlTb3VyY2VBY3Rpb24gPSBjcmVhdGVBc3luY1RodW5rPE9wcG9ydHVuaXR5U291cmNlLCB7IGlkOiBudW1iZXI7IGRhdGE6IE9wcG9ydHVuaXR5U291cmNlIH0+KFxuICBPUFBPUlRVTklUWV9TT1VSQ0VfVVBEQVRFLFxuICBhc3luYyAoeyBpZCwgZGF0YSB9LCB7IHJlamVjdFdpdGhWYWx1ZSB9KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBhd2FpdCB1cGRhdGVPcHBvcnR1bml0eVNvdXJjZVNlcnZpY2UoaWQsIGRhdGEpO1xuICAgIH0gY2F0Y2ggKGVycm9yOiBhbnkpIHtcbiAgICAgIHJldHVybiByZWplY3RXaXRoVmFsdWUoZXJyb3IucmVzcG9uc2U/LmRhdGE/Lm1lc3NhZ2UgfHwgXCJGYWlsZWQgdG8gdXBkYXRlIG9wcG9ydHVuaXR5IHNvdXJjZVwiKTtcbiAgICB9XG4gIH1cbik7XG5cbmV4cG9ydCBjb25zdCBkZWxldGVPcHBvcnR1bml0eVNvdXJjZUFjdGlvbjogYW55ID0gY3JlYXRlQXN5bmNUaHVuayhcbiAgT1BQT1JUVU5JVFlfU09VUkNFX0RFTEVURSxcbiAgZGVsZXRlT3Bwb3J0dW5pdHlTb3VyY2VTZXJ2aWNlXG4pXG4iLCJleHBvcnQgY29uc3QgT1BQT1JUVU5JVFlfU09VUkNFUyA9ICdvcHBvcnR1bml0eS1zb3VyY2VzL2ZldGNoQWxsJztcbmV4cG9ydCBjb25zdCBPUFBPUlRVTklUWV9TT1VSQ0UgPSAnb3Bwb3J0dW5pdHktc291cmNlcy9mZXRjaEJ5SUQnO1xuZXhwb3J0IGNvbnN0IE9QUE9SVFVOSVRZX1NPVVJDRV9DUkVBVEUgPSAnb3Bwb3J0dW5pdHktc291cmNlcy9jcmVhdGUnO1xuZXhwb3J0IGNvbnN0IE9QUE9SVFVOSVRZX1NPVVJDRV9VUERBVEUgPSAnb3Bwb3J0dW5pdHktc291cmNlcy91cGRhdGUnO1xuZXhwb3J0IGNvbnN0IE9QUE9SVFVOSVRZX1NPVVJDRV9ERUxFVEUgPSAnb3Bwb3J0dW5pdHktc291cmNlcy9kZWxldGUnO1xuIiwiLyogZXNsaW50LWRpc2FibGUgbm8tY29uc29sZSAqL1xuXG5pbXBvcnQgeyBjcmVhdGVTbGljZSwgUGF5bG9hZEFjdGlvbiB9IGZyb20gJ0ByZWR1eGpzL3Rvb2xraXQnO1xuaW1wb3J0IHsgT3Bwb3J0dW5pdHlTb3VyY2UsIE9wcG9ydHVuaXR5U291cmNlU3RhdGUgfSBmcm9tICdAL3NoYXJlZC9pbnRlcmZhY2VzJztcbmltcG9ydCB7IGZldGNoT3Bwb3J0dW5pdHlTb3VyY2VzLCB1cGRhdGVPcHBvcnR1bml0eVNvdXJjZUFjdGlvbiwgb3Bwb3J0dW5pdHlTb3VyY2VEZXRhaWxBY3Rpb24sIGNyZWF0ZU9wcG9ydHVuaXR5U291cmNlQWN0aW9uLCBkZWxldGVPcHBvcnR1bml0eVNvdXJjZUFjdGlvbiB9IGZyb20gJy4vYWN0aW9ucyc7XG5pbXBvcnQgeyBPUFBPUlRVTklUWV9TT1VSQ0UgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5cbmNvbnN0IGluaXRpYWxTdGF0ZTogT3Bwb3J0dW5pdHlTb3VyY2VTdGF0ZSA9IHtcbiAgb3Bwb3J0dW5pdHlTb3VyY2VzOiBbXSxcbiAgb3Bwb3J0dW5pdHlTb3VyY2U6IG51bGwsXG4gIG9wcG9ydHVuaXR5U291cmNlc1BlbmRpbmc6IGZhbHNlLFxuICBvcHBvcnR1bml0eVNvdXJjZURldGFpbFBlbmRpbmc6IGZhbHNlLFxuICBvcHBvcnR1bml0eVNvdXJjZUNyZWF0ZVBlbmRpbmc6IGZhbHNlLFxuICBvcHBvcnR1bml0eVNvdXJjZVVwZGF0ZVBlbmRpbmc6IGZhbHNlLFxuICBvcHBvcnR1bml0eVNvdXJjZURlbGV0ZVBlbmRpbmc6IGZhbHNlLFxuICByZWdpc3RlckVycm9yTWVzc2FnZTogJycsXG59O1xuXG5leHBvcnQgY29uc3Qgb3Bwb3J0dW5pdHlTb3VyY2VTbGljZSA9IGNyZWF0ZVNsaWNlKHtcbiAgbmFtZTogT1BQT1JUVU5JVFlfU09VUkNFLFxuICBpbml0aWFsU3RhdGUsXG4gIHJlZHVjZXJzOiB7XG4gICAgLy8gU2V0cyB0aGUgY3VycmVudCBvcHBvcnR1bml0eVNvdXJjZVxuICAgIHNldE9wcG9ydHVuaXR5U291cmNlOiAoc3RhdGUsIGFjdGlvbjogUGF5bG9hZEFjdGlvbjxPcHBvcnR1bml0eVNvdXJjZT4pID0+IHtcbiAgICAgIHN0YXRlLm9wcG9ydHVuaXR5U291cmNlID0gYWN0aW9uLnBheWxvYWQ7XG4gICAgfSxcblxuICAgIC8vIFVwZGF0ZXMgdGhlIHJlZ2lzdGVyIGVycm9yIG1lc3NhZ2VcbiAgICBzZXRSZWdpc3RlckVycm9yTWVzc2FnZTogKHN0YXRlLCBhY3Rpb246IFBheWxvYWRBY3Rpb248c3RyaW5nPikgPT4ge1xuICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSBhY3Rpb24ucGF5bG9hZDtcbiAgICB9LFxuICB9LFxuXG4gIGV4dHJhUmVkdWNlcnM6IChidWlsZGVyKSA9PiB7XG4gICAgYnVpbGRlclxuICAgICAgLy8gaGFuZGxlIG9wcG9ydHVuaXR5IHNvdXJjZVxuICAgICAgLmFkZENhc2UoZmV0Y2hPcHBvcnR1bml0eVNvdXJjZXMucGVuZGluZywgKHN0YXRlKSA9PiB7XG4gICAgICAgIHN0YXRlLm9wcG9ydHVuaXR5U291cmNlc1BlbmRpbmcgPSB0cnVlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcbiAgICAgIC8vIEhhbmRsZXMgcmVqZWN0ZWQgb3Bwb3J0dW5pdHkgc291cmNlcyBmZXRjaFxuICAgICAgLmFkZENhc2UoZmV0Y2hPcHBvcnR1bml0eVNvdXJjZXMucmVqZWN0ZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIHN0YXRlLm9wcG9ydHVuaXR5U291cmNlc1BlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSBhY3Rpb24uZXJyb3IubWVzc2FnZSB8fCAnRmFpbGVkIHRvIGZldGNoIG9wcG9ydHVuaXR5IHNvdXJjZXMuJztcbiAgICAgIH0pXG4gICAgICAvLyBIYW5kbGVzIGZ1bGZpbGxlZCBvcHBvcnR1bml0eSBzb3VyY2VzIGZldGNoXG4gICAgICAuYWRkQ2FzZShmZXRjaE9wcG9ydHVuaXR5U291cmNlcy5mdWxmaWxsZWQsIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgICAgIGNvbnN0IHsgcGF5bG9hZCB9ID0gYWN0aW9uO1xuICAgICAgICBzdGF0ZS5vcHBvcnR1bml0eVNvdXJjZXMgPSBwYXlsb2FkO1xuICAgICAgICBzdGF0ZS5vcHBvcnR1bml0eVNvdXJjZXNQZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICB9KVxuXG4gICAgICAvLyBoYW5kbGUgb3Bwb3J0dW5pdHkgc291cmNlIGRldGFpbFxuICAgICAgLmFkZENhc2Uob3Bwb3J0dW5pdHlTb3VyY2VEZXRhaWxBY3Rpb24ucGVuZGluZywgKHN0YXRlKSA9PiB7XG4gICAgICAgIHN0YXRlLm9wcG9ydHVuaXR5U291cmNlRGV0YWlsUGVuZGluZyA9IHRydWU7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gJyc7XG4gICAgICB9KVxuICAgICAgLy8gSGFuZGxlcyByZWplY3RlZCBvcHBvcnR1bml0eSBzb3VyY2VzIGZldGNoXG4gICAgICAuYWRkQ2FzZShvcHBvcnR1bml0eVNvdXJjZURldGFpbEFjdGlvbi5yZWplY3RlZCwgKHN0YXRlLCBhY3Rpb24pID0+IHtcbiAgICAgICAgc3RhdGUub3Bwb3J0dW5pdHlTb3VyY2VEZXRhaWxQZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLnJlZ2lzdGVyRXJyb3JNZXNzYWdlID0gYWN0aW9uLmVycm9yLm1lc3NhZ2UgfHwgJ0ZhaWxlZCB0byBmZXRjaCBvcHBvcnR1bml0eSBzb3VyY2VzLic7XG4gICAgICB9KVxuICAgICAgLy8gSGFuZGxlcyBmdWxmaWxsZWQgb3Bwb3J0dW5pdHkgc291cmNlcyBmZXRjaFxuICAgICAgLmFkZENhc2Uob3Bwb3J0dW5pdHlTb3VyY2VEZXRhaWxBY3Rpb24uZnVsZmlsbGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBjb25zdCB7IHBheWxvYWQgfSA9IGFjdGlvbjtcbiAgICAgICAgc3RhdGUub3Bwb3J0dW5pdHlTb3VyY2UgPSBwYXlsb2FkO1xuICAgICAgICBzdGF0ZS5vcHBvcnR1bml0eVNvdXJjZURldGFpbFBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG5cbiAgICAgIC8vIGhhbmRsZSBvcHBvcnR1bml0eVNvdXJjZSBjcmVhdGVcbiAgICAgIC5hZGRDYXNlKGNyZWF0ZU9wcG9ydHVuaXR5U291cmNlQWN0aW9uLnBlbmRpbmcsIChzdGF0ZSkgPT4ge1xuICAgICAgICBzdGF0ZS5vcHBvcnR1bml0eVNvdXJjZVVwZGF0ZVBlbmRpbmcgPSB0cnVlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcbiAgICAgIC5hZGRDYXNlKGNyZWF0ZU9wcG9ydHVuaXR5U291cmNlQWN0aW9uLnJlamVjdGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBzdGF0ZS5vcHBvcnR1bml0eVNvdXJjZVVwZGF0ZVBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSBhY3Rpb24uZXJyb3IubWVzc2FnZSB8fCAnRmFpbGVkIHRvIGNyZWF0ZSBvcHBvcnR1bml0eSBzb3VyY2VzLic7XG4gICAgICB9KVxuICAgICAgLmFkZENhc2UoY3JlYXRlT3Bwb3J0dW5pdHlTb3VyY2VBY3Rpb24uZnVsZmlsbGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBzdGF0ZS5vcHBvcnR1bml0eVNvdXJjZSA9IGFjdGlvbi5wYXlsb2FkO1xuICAgICAgICBzdGF0ZS5vcHBvcnR1bml0eVNvdXJjZVVwZGF0ZVBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG5cbiAgICAgIC8vIGhhbmRsZSBvcHBvcnR1bml0eVNvdXJjZSB1cGRhdGVcbiAgICAgIC5hZGRDYXNlKHVwZGF0ZU9wcG9ydHVuaXR5U291cmNlQWN0aW9uLnBlbmRpbmcsIChzdGF0ZSkgPT4ge1xuICAgICAgICBzdGF0ZS5vcHBvcnR1bml0eVNvdXJjZVVwZGF0ZVBlbmRpbmcgPSB0cnVlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcbiAgICAgIC5hZGRDYXNlKHVwZGF0ZU9wcG9ydHVuaXR5U291cmNlQWN0aW9uLnJlamVjdGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBzdGF0ZS5vcHBvcnR1bml0eVNvdXJjZVVwZGF0ZVBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSBhY3Rpb24uZXJyb3IubWVzc2FnZSB8fCAnRmFpbGVkIHRvIHVwZGF0ZSBvcHBvcnR1bml0eSBzb3VyY2VzLic7XG4gICAgICB9KVxuICAgICAgLmFkZENhc2UodXBkYXRlT3Bwb3J0dW5pdHlTb3VyY2VBY3Rpb24uZnVsZmlsbGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBzdGF0ZS5vcHBvcnR1bml0eVNvdXJjZSA9IGFjdGlvbi5wYXlsb2FkO1xuICAgICAgICBzdGF0ZS5vcHBvcnR1bml0eVNvdXJjZVVwZGF0ZVBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG5cbiAgICAgIC8vIGhhbmRsZSBvcHBvcnR1bml0eVNvdXJjZSBkZWxldGVcbiAgICAgIC5hZGRDYXNlKGRlbGV0ZU9wcG9ydHVuaXR5U291cmNlQWN0aW9uLnBlbmRpbmcsIChzdGF0ZSkgPT4ge1xuICAgICAgICBzdGF0ZS5vcHBvcnR1bml0eVNvdXJjZVVwZGF0ZVBlbmRpbmcgPSB0cnVlO1xuICAgICAgICBzdGF0ZS5yZWdpc3RlckVycm9yTWVzc2FnZSA9ICcnO1xuICAgICAgfSlcbiAgICAgIC5hZGRDYXNlKGRlbGV0ZU9wcG9ydHVuaXR5U291cmNlQWN0aW9uLnJlamVjdGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBzdGF0ZS5vcHBvcnR1bml0eVNvdXJjZVVwZGF0ZVBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSBhY3Rpb24uZXJyb3IubWVzc2FnZSB8fCAnRmFpbGVkIHRvIGRlbGV0ZSBvcHBvcnR1bml0eSBzb3VyY2VzLic7XG4gICAgICB9KVxuICAgICAgLmFkZENhc2UoZGVsZXRlT3Bwb3J0dW5pdHlTb3VyY2VBY3Rpb24uZnVsZmlsbGVkLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgICBzdGF0ZS5vcHBvcnR1bml0eVNvdXJjZSA9IGFjdGlvbi5wYXlsb2FkO1xuICAgICAgICBzdGF0ZS5vcHBvcnR1bml0eVNvdXJjZVVwZGF0ZVBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVnaXN0ZXJFcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgIH0pXG4gIH0sXG59KTtcblxuZXhwb3J0IGNvbnN0IHsgc2V0UmVnaXN0ZXJFcnJvck1lc3NhZ2UsIHNldE9wcG9ydHVuaXR5U291cmNlIH0gPSBvcHBvcnR1bml0eVNvdXJjZVNsaWNlLmFjdGlvbnM7XG5cbmV4cG9ydCBkZWZhdWx0IG9wcG9ydHVuaXR5U291cmNlU2xpY2UucmVkdWNlcjtcbiIsImltcG9ydCB7IE9wcG9ydHVuaXR5U291cmNlIH0gZnJvbSAnQC9zaGFyZWQvaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBVUkwgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvY29uZmlncy9jb25zdGFudHMnO1xuaW1wb3J0IHsgZ2V0V2l0aENvbmZpZywgcG9zdFdpdGhDb25maWcsIHB1dFdpdGhDb25maWcsIHJlbW92ZVdpdGhDb25maWcgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvY29yZS9iYXNlL3NlcnZpY2VzJztcblxuZXhwb3J0IGNvbnN0IG9wcG9ydHVuaXR5U291cmNlc1NlcnZpY2UgPSBhc3luYygpID0+IHtcbiAgcmV0dXJuIGF3YWl0IGdldFdpdGhDb25maWcoVVJMLlNPVVJDRSlcbn1cblxuZXhwb3J0IGNvbnN0IG9wcG9ydHVuaXR5U291cmNlRGV0YWlsU2VydmljZSA9IGFzeW5jKGlkOiBudW1iZXIpID0+IHtcbiAgcmV0dXJuIGF3YWl0IGdldFdpdGhDb25maWcoYCR7VVJMLlNPVVJDRX0ke2lkfWApXG59XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVPcHBvcnR1bml0eVNvdXJjZVNlcnZpY2UgPSBhc3luYyAoZGF0YTogT3Bwb3J0dW5pdHlTb3VyY2UpOiBQcm9taXNlPE9wcG9ydHVuaXR5U291cmNlPiA9PiB7XG4gIHJldHVybiBwb3N0V2l0aENvbmZpZyhgJHtVUkwuU09VUkNFfWAsIGRhdGEpO1xufTtcblxuZXhwb3J0IGNvbnN0IHVwZGF0ZU9wcG9ydHVuaXR5U291cmNlU2VydmljZSA9IGFzeW5jIChpZDogbnVtYmVyLCBkYXRhOiBPcHBvcnR1bml0eVNvdXJjZSk6IFByb21pc2U8T3Bwb3J0dW5pdHlTb3VyY2U+ID0+IHtcbiAgcmV0dXJuIHB1dFdpdGhDb25maWcoYCR7VVJMLlNPVVJDRX0ke2lkfWAsIGRhdGEpO1xufTtcblxuZXhwb3J0IGNvbnN0IGRlbGV0ZU9wcG9ydHVuaXR5U291cmNlU2VydmljZSA9IGFzeW5jKGlkOiBudW1iZXIpID0+e1xuICByZXR1cm4gYXdhaXQgcmVtb3ZlV2l0aENvbmZpZyhgJHtVUkwuU09VUkNFfSR7aWR9YClcbn1cbiJdLCJuYW1lcyI6WyJSZWFjdCIsIkJyb3dzZXJSb3V0ZXIiLCJBcHBSb3V0ZXMiLCJBcHAiLCJjcmVhdGVFbGVtZW50IiwiY3JlYXRlUm9vdCIsIlByb3ZpZGVyIiwic3RvcmUiLCJkb2N1bWVudCIsImFkZEV2ZW50TGlzdGVuZXIiLCJyb290RWxlbWVudCIsImdldEVsZW1lbnRCeUlkIiwicm9vdCIsInJlbmRlciIsImNvbnNvbGUiLCJlcnJvciIsImNyZWF0ZUFzeW5jVGh1bmsiLCJBVVRIRU5USUNBVElPTl9MT0dJTiIsIkFVVEhFTlRJQ0FUSU9OX0xPR0lOX1RFTEVHUkFNIiwiQVVUSEVOVElDQVRJT05fUkVHSVNURVIiLCJBVVRIRU5USUNBVElPTl9WRVJJRllfT1BUIiwiVVNFUl9BVFRFTkRBTkNFIiwibG9naW5UZWxlZ3JhbVVzZXJTZXJ2aWNlIiwibG9naW5Vc2VyU2VydmljZSIsInJlZ2lzdGVyVGVsZWdyYW1Vc2VyU2VydmljZSIsInVzZXJBdHRlbmRhbmNlU2VydmljZSIsInZlcmlmeU9UUFNlcnZpY2UiLCJsb2dpblVzZXJBY3Rpb24iLCJ2ZXJpZnlPVFBBY3Rpb24iLCJsb2dpblRlbGVncmFtVXNlckFjdGlvbiIsInJlZ2lzdGVyVGVsZWdyYW1Vc2VyQWN0aW9uIiwidXNlckF0dGVuZGFuY2VBY3Rpb24iLCJBVVRIIiwiY3JlYXRlU2xpY2UiLCJnZXRTZXNzaW9uSXRlbSIsImtleSIsIml0ZW0iLCJzZXNzaW9uU3RvcmFnZSIsImdldEl0ZW0iLCJKU09OIiwicGFyc2UiLCJjb25jYXQiLCJnZXRTZXNzaW9uVG9rZW4iLCJpbml0aWFsU3RhdGUiLCJjdXJyZW50VXNlciIsImlzTG9naW5QZW5kaW5nIiwicGFnaW5hdGlvbiIsImN1cnJlbnRQYWdlIiwiaXRlbXNQZXJQYWdlIiwidG90YWxJdGVtcyIsImxvZ2luRXJyb3JNZXNzYWdlIiwiaGFuZGxlUmVnaXRlclRlbGVncmFtIiwiaXNPdHBWZXJpZmljYXRpb25QZW5kaW5nIiwib3RwVmVyaWZpY2F0aW9uRXJyb3JNZXNzYWdlIiwiYWNjZXNzVG9rZW4iLCJlbWFpbCIsImF1dGhTbGljZSIsIm5hbWUiLCJyZWR1Y2VycyIsImxvZ291dCIsInN0YXRlIiwiY2xlYXIiLCJzZXRUb2tlbiIsImFjdGlvbiIsInBheWxvYWQiLCJzZXRJdGVtIiwic3RyaW5naWZ5Iiwic2V0VXNlciIsInNldElzTG9naW5QZW5kaW5nIiwic2V0TG9naW5FcnJvck1lc3NhZ2UiLCJzZXRFbWFpbCIsImV4dHJhUmVkdWNlcnMiLCJidWlsZGVyIiwiYWRkQ2FzZSIsInBlbmRpbmciLCJyZWplY3RlZCIsImRhdGEiLCJmdWxmaWxsZWQiLCJpbmNsdWRlcyIsInJlbW92ZUl0ZW0iLCJ1c2VyIiwiYWNjZXNzX3Rva2VuIiwiX2F1dGhTbGljZSRhY3Rpb25zIiwiYWN0aW9ucyIsInJlZHVjZXIiLCJlIiwidCIsInIiLCJTeW1ib2wiLCJuIiwiaXRlcmF0b3IiLCJvIiwidG9TdHJpbmdUYWciLCJpIiwiYyIsInByb3RvdHlwZSIsIkdlbmVyYXRvciIsInUiLCJPYmplY3QiLCJjcmVhdGUiLCJfcmVnZW5lcmF0b3JEZWZpbmUyIiwiZiIsInAiLCJ5IiwiRyIsInYiLCJhIiwiZCIsImJpbmQiLCJsZW5ndGgiLCJsIiwiVHlwZUVycm9yIiwiY2FsbCIsImRvbmUiLCJ2YWx1ZSIsIkdlbmVyYXRvckZ1bmN0aW9uIiwiR2VuZXJhdG9yRnVuY3Rpb25Qcm90b3R5cGUiLCJnZXRQcm90b3R5cGVPZiIsInNldFByb3RvdHlwZU9mIiwiX19wcm90b19fIiwiZGlzcGxheU5hbWUiLCJfcmVnZW5lcmF0b3IiLCJ3IiwibSIsImRlZmluZVByb3BlcnR5IiwiX3JlZ2VuZXJhdG9yRGVmaW5lIiwiX2ludm9rZSIsImVudW1lcmFibGUiLCJjb25maWd1cmFibGUiLCJ3cml0YWJsZSIsImFzeW5jR2VuZXJhdG9yU3RlcCIsIlByb21pc2UiLCJyZXNvbHZlIiwidGhlbiIsIl9hc3luY1RvR2VuZXJhdG9yIiwiYXJndW1lbnRzIiwiYXBwbHkiLCJfbmV4dCIsIl90aHJvdyIsIlVSTCIsImJhc2VVUkwiLCJwb3N0V2l0aENvbmZpZyIsIl9yZWYiLCJfY2FsbGVlIiwiYm9keSIsIl9jb250ZXh0IiwiTE9HSU4iLCJwYXNzd29yZCIsImdyYWRfdHlwZSIsIl94IiwiX3JlZjIiLCJfY2FsbGVlMiIsIl9jb250ZXh0MiIsIkxPR0lOX1RFTEVHUkFNIiwidGVsZWdyYW1faWQiLCJ1c2VybmFtZSIsIl94MiIsIl9yZWYzIiwiX2NhbGxlZTMiLCJfY29udGV4dDMiLCJTSUdOVVAiLCJfeDMiLCJfcmVmNCIsIl9jYWxsZWU0IiwiX2NvbnRleHQ0IiwiX3g0IiwiX3JlZjUiLCJfY2FsbGVlNSIsInJlc3BvbnNlIiwiX3QiLCJfY29udGV4dDUiLCJsb2ciLCJWRVJJRllfVE9QIiwiY29kZSIsIm90cENvZGUiLCJfeDUiLCJfc2xpY2VkVG9BcnJheSIsIl9hcnJheVdpdGhIb2xlcyIsIl9pdGVyYWJsZVRvQXJyYXlMaW1pdCIsIl91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheSIsIl9ub25JdGVyYWJsZVJlc3QiLCJfYXJyYXlMaWtlVG9BcnJheSIsInRvU3RyaW5nIiwic2xpY2UiLCJjb25zdHJ1Y3RvciIsIkFycmF5IiwiZnJvbSIsInRlc3QiLCJuZXh0IiwicHVzaCIsImlzQXJyYXkiLCJ1c2VFZmZlY3QiLCJ1c2VSZWYiLCJ1c2VDYWxsYmFjayIsInVzZURpc3BhdGNoIiwidXNlU2VsZWN0b3IiLCJ1c2VOYXZpZ2F0ZSIsImdldFdpdGhDb25maWciLCJ1c2VyVGVsZWdyYW1TZXJ2aWNlIiwiZmV0Y2hWb2x1bnRlZXJzIiwiU3dhbCIsIlRFTEVHUkFNX0JPVF9VU0VSTkFNRSIsIlRFTEVHUkFNX0FVVEhfQVBJIiwiVEVMRUdSQU1fQUxMT1dFRF9PUklHSU5TIiwiVGVsZWdyYW1Mb2dpbkF0dGVuZGFuY2UiLCJkaXNwYXRjaCIsIm5hdmlnYXRlIiwiX3VzZVNlbGVjdG9yIiwiYXV0aCIsIl9tZXNzYWdlJHVzZU1lc3NhZ2UiLCJfbWVzc2FnZSIsInVzZU1lc3NhZ2UiLCJfbWVzc2FnZSR1c2VNZXNzYWdlMiIsIm1lc3NhZ2VBcGkiLCJjb250ZXh0SG9sZGVyIiwidGVsZWdyYW1XcmFwcGVyUmVmIiwiYWxsVm9sdW50ZWVycyIsImZldGNoVGVsZWdyYW1Vc2VyIiwiYXV0aERhdGEiLCJFcnJvciIsImhhbmRsZVRlbGVncmFtTG9naW4iLCJldmVudCIsImV2ZW50T3JpZ2luIiwibG9naW5Cb2R5IiwiZXhpc3RpbmdVc2VyIiwiX3QyIiwib3JpZ2luIiwiaG9zdG5hbWUiLCJzb21lIiwiZG9tYWluIiwiZW5kc1dpdGgiLCJ3YXJuIiwiYXV0aF9kYXRhIiwiVVJMU2VhcmNoUGFyYW1zIiwiaWQiLCJmaXJzdF9uYW1lIiwibGFzdF9uYW1lIiwiYXR0ZW5kYW5jZUJvZHkiLCJ1c2VyX2lkIiwibWVldGluZ19ub3RlIiwibWVldGluZ190aW1lIiwiRGF0ZSIsInRvSVNPU3RyaW5nIiwic2V0VGltZW91dCIsImZpcmUiLCJ0aXRsZSIsInRleHQiLCJpY29uIiwiY29uZmlybUJ1dHRvblRleHQiLCJyZXN1bHQiLCJpc0NvbmZpcm1lZCIsImZldGNoVm9sdW50ZWVyc0RhdGEiLCJfcmVzcG9uc2UkcGF5bG9hZCIsInZvbHVudGVlcnNDb3VudCIsIl90MyIsInBhZ2UiLCJwYWdlU2l6ZSIsIm1ldGEiLCJ0b3RhbCIsInJvbGUiLCJyZXBsYWNlIiwic2F2ZWRVc2VyIiwid2luZG93Iiwic2NyaXB0RWxlbWVudCIsInNyYyIsInNldEF0dHJpYnV0ZSIsImFzeW5jIiwiY3VycmVudCIsImlubmVySFRNTCIsImFwcGVuZENoaWxkIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsImNsYXNzTmFtZSIsIl9DYXJkIiwic3R5bGUiLCJtYXhXaWR0aCIsInJlZiIsIkxvY2tPdXRsaW5lZCIsIlVzZXJPdXRsaW5lZCIsIkxvZ2luRm9ybSIsIm9uRmluaXNoIiwidmFsdWVzIiwib3BlbiIsInR5cGUiLCJjb250ZW50IiwiZGlzcGxheSIsImp1c3RpZnlDb250ZW50IiwiYWxpZ25JdGVtcyIsImhlaWdodCIsIndpZHRoIiwidGV4dEFsaWduIiwiX0Zvcm0iLCJpbml0aWFsVmFsdWVzIiwicmVtZW1iZXIiLCJJdGVtIiwicnVsZXMiLCJyZXF1aXJlZCIsIm1lc3NhZ2UiLCJfSW5wdXQiLCJwcmVmaXgiLCJwbGFjZWhvbGRlciIsInZhbHVlUHJvcE5hbWUiLCJub1N0eWxlIiwiX0NoZWNrYm94IiwiX0J1dHRvbiIsImJsb2NrIiwiaHRtbFR5cGUiLCJsb2FkaW5nIiwidXNlU3RhdGUiLCJRUkNvZGVDYW52YXMiLCJWb2x1bnRlZXJBdHRlbmRhbmNlUGFnZSIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJ2b2x1bnRlZXJJZCIsInNldFZvbHVudGVlcklkIiwiZmV0Y2hWb2x1bnRlZXJJZCIsInNpemUiLCJESVNBQklMSVRZX1RZUEVTIiwiRElTQUJJTElUWV9UWVBFIiwiRElTQUJJTElUWV9UWVBFX0RFTEVURSIsIkRJU0FCSUxJVFlfVFlQRV9DUkVBVEUiLCJESVNBQklMSVRZX1RZUEVfVVBEQVRFIiwiZGlzYWJpbGl0eVR5cGVzU2VydmljZSIsImRpc2FiaWxpdHlUeXBlRGV0YWlsU2VydmljZSIsImNyZWF0ZURpc2FiaWxpdHlUeXBlU2VydmljZSIsInVwZGF0ZURpc2FiaWxpdHlUeXBlU2VydmljZSIsImRlbGV0ZURpc2FiaWxpdHlUeXBlU2VydmljZSIsImZldGNoRGlzYWJpbGl0eVR5cGVzIiwiZGlzYWJpbGl0eVR5cGVEZXRhaWxBY3Rpb24iLCJjcmVhdGVEaXNhYmlsaXR5VHlwZUFjdGlvbiIsInJlamVjdFdpdGhWYWx1ZSIsIl9lcnJvciRyZXNwb25zZSIsInVwZGF0ZURpc2FiaWxpdHlUeXBlQWN0aW9uIiwiX3JlZjYiLCJfZXJyb3IkcmVzcG9uc2UyIiwiZGVsZXRlRGlzYWJpbGl0eVR5cGVBY3Rpb24iLCJkaXNhYmlsaXR5VHlwZXMiLCJkaXNhYmlsaXR5VHlwZSIsImRpc2FiaWxpdHlUeXBlc1BlbmRpbmciLCJkaXNhYmlsaXR5VHlwZURldGFpbFBlbmRpbmciLCJkaXNhYmlsaXR5VHlwZUNyZWF0ZVBlbmRpbmciLCJkaXNhYmlsaXR5VHlwZVVwZGF0ZVBlbmRpbmciLCJkaXNhYmlsaXR5VHlwZURlbGV0ZVBlbmRpbmciLCJyZWdpc3RlckVycm9yTWVzc2FnZSIsImRpc2FiaWxpdHlUeXBlU2xpY2UiLCJzZXREaXNhYmlsaXR5VHlwZSIsInNldFJlZ2lzdGVyRXJyb3JNZXNzYWdlIiwiX2Rpc2FiaWxpdHlUeXBlU2xpY2UkIiwicHV0V2l0aENvbmZpZyIsInJlbW92ZVdpdGhDb25maWciLCJFRFVDQVRJT05fSU5TVElUVVRJT05TIiwiRURVQ0FUSU9OX0lOU1RJVFVUSU9OIiwiRURVQ0FUSU9OX0lOU1RJVFVUSU9OX0RFTEVURSIsIkVEVUNBVElPTl9JTlNUSVRVVElPTl9DUkVBVEUiLCJFRFVDQVRJT05fSU5TVElUVVRJT05fVVBEQVRFIiwiZWR1Y2F0aW9uSW5zdGl0dXRpb25zU2VydmljZSIsImVkdWNhdGlvbkluc3RpdHV0aW9uRGV0YWlsU2VydmljZSIsImNyZWF0ZUVkdWNhdGlvbkluc3RpdHV0aW9uU2VydmljZSIsInVwZGF0ZUVkdWNhdGlvbkluc3RpdHV0aW9uU2VydmljZSIsImRlbGV0ZUVkdWNhdGlvbkluc3RpdHV0aW9uU2VydmljZSIsImZldGNoRWR1Y2F0aW9uSW5zdGl0dXRpb25zIiwiZWR1Y2F0aW9uSW5zdGl0dXRpb25EZXRhaWxBY3Rpb24iLCJjcmVhdGVFZHVjYXRpb25JbnN0aXR1dGlvbkFjdGlvbiIsInVwZGF0ZUVkdWNhdGlvbkluc3RpdHV0aW9uQWN0aW9uIiwiZGVsZXRlRWR1Y2F0aW9uSW5zdGl0dXRpb25BY3Rpb24iLCJlZHVjYXRpb25JbnN0aXR1dGlvbnMiLCJlZHVjYXRpb25JbnN0aXR1dGlvbiIsImVkdWNhdGlvbkluc3RpdHV0aW9uc1BlbmRpbmciLCJlZHVjYXRpb25JbnN0aXR1dGlvbkRldGFpbFBlbmRpbmciLCJlZHVjYXRpb25JbnN0aXR1dGlvbkNyZWF0ZVBlbmRpbmciLCJlZHVjYXRpb25JbnN0aXR1dGlvblVwZGF0ZVBlbmRpbmciLCJlZHVjYXRpb25JbnN0aXR1dGlvbkRlbGV0ZVBlbmRpbmciLCJlZHVjYXRpb25JbnN0aXR1dGlvblNsaWNlIiwic2V0RWR1Y2F0aW9uSW5zdGl0dXRpb24iLCJfZWR1Y2F0aW9uSW5zdGl0dXRpb24iLCJQUk9WSU5DRVMiLCJESVNUUklDVCIsIkNPTU1VTkUiLCJWSUxMQUdFIiwiRkFNSUxZX1NVUlZFWVMiLCJGQU1JTFlfU1VSVkVZIiwiRkFNSUxZX1NVUlZFWV9DUkVBVEUiLCJGQU1JTFlfU1VSVkVZX1VQREFURSIsIkZBTUlMWV9TVVJWRVlfREVMRVRFIiwiVFJBTlNQT1JUQVRJT04iLCJjb21tdW5lU2VydmljZSIsImNyZWF0ZUZhbWlseVNlcnZpY2UiLCJkZWxldGVGYW1pbHlTZXJ2aWNlIiwiZGlzdHJpY3RTZXJ2aWNlIiwiZmFtaWx5RGV0YWlsU2VydmljZSIsImZhbWlseVNlcnZpY2UiLCJwcm92aW5jZVNlcnZpY2UiLCJ0cmFuc3BvcnRhdGlvblNlcnZpY2UiLCJ1cGRhdGVGYW1pbHlTZXJ2aWNlIiwidmlsbGFnZVNlcnZpY2UiLCJmZXRjaFByb3ZpbmNlIiwiZmV0Y2hEaXN0cmljdCIsImRldGFpbCIsImZldGNoQ29tbXVuZSIsImZldGNoVmlsbGFnZVNlcnZpY2UiLCJfcmVmOSIsIl9yZWY3IiwiX3JlZjgiLCJfZXJyb3IkcmVzcG9uc2UzIiwiX3g2IiwiZmV0Y2hUcmFuc3BvcnRhdGlvbiIsImZldGNoRmFtaWx5U3VydmV5IiwiX3JlZjEwIiwiX3JlZjAiLCJfcmVmMSIsInNlYXJjaCIsImdlbmRlciIsInRvdGFsX21lbWJlciIsImFnZSIsInZpbGxhZ2UiLCJjb21tdW5lIiwiZGlzdHJpY3QiLCJwcm92aW5jZSIsIl9lcnJvciRyZXNwb25zZTQiLCJfdDQiLCJfeDciLCJfeDgiLCJkZWxldGVGYW1pbHlBY3Rpb24iLCJmYW1pbHlEZXRhaWxBY3Rpb24iLCJ1cGRhdGVGYW1pbHlBY3Rpb24iLCJfcmVmMTMiLCJfcmVmMTEiLCJfcmVmMTIiLCJfZXJyb3IkcmVzcG9uc2U1IiwiX3Q1IiwiX3g5IiwiX3gwIiwiY3JlYXRlRmFtaWx5QWN0aW9uIiwiX3JlZjE2IiwiX2NhbGxlZTYiLCJfcmVmMTQiLCJfcmVmMTUiLCJfZXJyb3IkcmVzcG9uc2U2IiwiX3Q2IiwiX2NvbnRleHQ2IiwiX3gxIiwiX3gxMCIsImZhbWlsaWVzIiwiZmFtaWx5U3VydmV5IiwicHJvdmluY2VzIiwiZGlzdHJpY3RzIiwiY29tbXVuZXMiLCJ2aWxsYWdlcyIsInRyYW5zcG9ydGF0aW9ucyIsInJlZ2lzdGVyUGVuZGluZyIsImZhbWlsaVN1cnZleVNsaWNlIiwic2V0RmFtaWx5Iiwic2V0c2V0RmFtaWx5UGVuZGluZyIsInNldHNldEZhbWlseUVycm9yTWVzc2FnZSIsIl9mYW1pbGlTdXJ2ZXlTbGljZSRhYyIsInByb3ZpbmNlSWQiLCJkaXN0cmljdElkIiwiY29tbXVuZUlkIiwiVFJBTlNQT1JUQVRJT05TIiwiRkFNSUxJRVMiLCJfeDExIiwiX2NhbGxlZTciLCJfY29udGV4dDciLCJfeDEyIiwiX2NhbGxlZTgiLCJfY29udGV4dDgiLCJfeDEzIiwiX2NhbGxlZTkiLCJfY29udGV4dDkiLCJfeDE0IiwiX3gxNSIsIl9jYWxsZWUwIiwiX2NvbnRleHQwIiwiX3gxNiIsIkZPT0RTIiwiRk9PRCIsIkZPT0RfREVMRVRFIiwiRk9PRF9DUkVBVEUiLCJGT09EX1VQREFURSIsImZvb2RzU2VydmljZSIsImZvb2REZXRhaWxTZXJ2aWNlIiwiY3JlYXRlRm9vZFNlcnZpY2UiLCJ1cGRhdGVGb29kU2VydmljZSIsImRlbGV0ZUZvb2RTZXJ2aWNlIiwiZmV0Y2hGb29kcyIsImZvb2REZXRhaWxBY3Rpb24iLCJjcmVhdGVGb29kQWN0aW9uIiwidXBkYXRlRm9vZEFjdGlvbiIsImRlbGV0ZUZvb2RBY3Rpb24iLCJmb29kcyIsImZvb2QiLCJmb29kc1BlbmRpbmciLCJmb29kRGV0YWlsUGVuZGluZyIsImZvb2RDcmVhdGVQZW5kaW5nIiwiZm9vZFVwZGF0ZVBlbmRpbmciLCJmb29kRGVsZXRlUGVuZGluZyIsImZvb2RTbGljZSIsInNldEZvb2QiLCJfZm9vZFNsaWNlJGFjdGlvbnMiLCJJTlRFUkVTVEVEX1RFQU1TIiwiSU5URVJFU1RFRF9URUFNIiwiSU5URVJFU1RFRF9URUFNX0RFTEVURSIsIklOVEVSRVNURURfVEVBTV9DUkVBVEUiLCJJTlRFUkVTVEVEX1RFQU1fVVBEQVRFIiwiaW50ZXJlc3RlZFRlYW1zU2VydmljZSIsImludGVyZXN0ZWRUZWFtRGV0YWlsU2VydmljZSIsImNyZWF0ZUludGVyZXN0ZWRUZWFtU2VydmljZSIsInVwZGF0ZUludGVyZXN0ZWRUZWFtU2VydmljZSIsImRlbGV0ZUludGVyZXN0ZWRUZWFtU2VydmljZSIsImZldGNoSW50ZXJlc3RlZFRlYW1zIiwiaW50ZXJlc3RlZFRlYW1EZXRhaWxBY3Rpb24iLCJjcmVhdGVJbnRlcmVzdGVkVGVhbUFjdGlvbiIsInVwZGF0ZUludGVyZXN0ZWRUZWFtQWN0aW9uIiwiZGVsZXRlSW50ZXJlc3RlZFRlYW1BY3Rpb24iLCJpbnRlcmVzdGVkVGVhbXMiLCJpbnRlcmVzdGVkVGVhbSIsImludGVyZXN0ZWRUZWFtc1BlbmRpbmciLCJpbnRlcmVzdGVkVGVhbURldGFpbFBlbmRpbmciLCJpbnRlcmVzdGVkVGVhbUNyZWF0ZVBlbmRpbmciLCJpbnRlcmVzdGVkVGVhbVVwZGF0ZVBlbmRpbmciLCJpbnRlcmVzdGVkVGVhbURlbGV0ZVBlbmRpbmciLCJpbnRlcmVzdGVkVGVhbVNsaWNlIiwic2V0SW50ZXJlc3RlZFRlYW0iLCJfaW50ZXJlc3RlZFRlYW1TbGljZSQiLCJURUFNIiwiTEFOR1VBR0VTIiwiTEFOR1VBR0UiLCJMQU5HVUFHRV9ERUxFVEUiLCJMQU5HVUFHRV9DUkVBVEUiLCJMQU5HVUFHRV9VUERBVEUiLCJsYW5ndWFnZXNTZXJ2aWNlIiwibGFuZ3VhZ2VEZXRhaWxTZXJ2aWNlIiwiY3JlYXRlTGFuZ3VhZ2VTZXJ2aWNlIiwidXBkYXRlTGFuZ3VhZ2VTZXJ2aWNlIiwiZGVsZXRlTGFuZ3VhZ2VTZXJ2aWNlIiwiZmV0Y2hMYW5ndWFnZXMiLCJsYW5ndWFnZURldGFpbEFjdGlvbiIsImNyZWF0ZUxhbmd1YWdlQWN0aW9uIiwidXBkYXRlTGFuZ3VhZ2VBY3Rpb24iLCJkZWxldGVMYW5ndWFnZUFjdGlvbiIsImxhbmd1YWdlcyIsImxhbmd1YWdlIiwibGFuZ3VhZ2VzUGVuZGluZyIsImxhbmd1YWdlRGV0YWlsUGVuZGluZyIsImxhbmd1YWdlQ3JlYXRlUGVuZGluZyIsImxhbmd1YWdlVXBkYXRlUGVuZGluZyIsImxhbmd1YWdlRGVsZXRlUGVuZGluZyIsImxhbmd1YWdlU2xpY2UiLCJzZXRMYW5ndWFnZSIsIl9sYW5ndWFnZVNsaWNlJGFjdGlvbiIsIk9DQ1VQQVRJT05TIiwiT0NDVVBBVElPTiIsIk9DQ1VQQVRJT05fREVMRVRFIiwiT0NDVVBBVElPTl9DUkVBVEUiLCJPQ0NVUEFUSU9OX1VQREFURSIsIm9jY3VwYXRpb25zU2VydmljZSIsIm9jY3VwYXRpb25EZXRhaWxTZXJ2aWNlIiwiY3JlYXRlT2NjdXBhdGlvblNlcnZpY2UiLCJ1cGRhdGVPY2N1cGF0aW9uU2VydmljZSIsImRlbGV0ZU9jY3VwYXRpb25TZXJ2aWNlIiwiZmV0Y2hPY2N1cGF0aW9ucyIsIm9jY3VwYXRpb25EZXRhaWxBY3Rpb24iLCJjcmVhdGVPY2N1cGF0aW9uQWN0aW9uIiwidXBkYXRlT2NjdXBhdGlvbkFjdGlvbiIsImRlbGV0ZU9jY3VwYXRpb25BY3Rpb24iLCJvY2N1cGF0aW9ucyIsIm9jY3VwYXRpb24iLCJvY2N1cGF0aW9uc1BlbmRpbmciLCJvY2N1cGF0aW9uRGV0YWlsUGVuZGluZyIsIm9jY3VwYXRpb25DcmVhdGVQZW5kaW5nIiwib2NjdXBhdGlvblVwZGF0ZVBlbmRpbmciLCJvY2N1cGF0aW9uRGVsZXRlUGVuZGluZyIsIm9jY3VwYXRpb25TbGljZSIsInNldE9jY3VwYXRpb24iLCJfb2NjdXBhdGlvblNsaWNlJGFjdGkiLCJPRkZFUl9QUk9HUkFNUyIsIk9GRkVSX1BST0dSQU0iLCJPRkZFUl9QUk9HUkFNX0RFTEVURSIsIk9GRkVSX1BST0dSQU1fQ1JFQVRFIiwiT0ZGRVJfUFJPR1JBTV9VUERBVEUiLCJvZmZlclByb2dyYW1zU2VydmljZSIsIm9mZmVyUHJvZ3JhbURldGFpbFNlcnZpY2UiLCJjcmVhdGVPZmZlclByb2dyYW1TZXJ2aWNlIiwidXBkYXRlT2ZmZXJQcm9ncmFtU2VydmljZSIsImRlbGV0ZU9mZmVyUHJvZ3JhbVNlcnZpY2UiLCJmZXRjaE9mZmVyUHJvZ3JhbXMiLCJvZmZlclByb2dyYW1EZXRhaWxBY3Rpb24iLCJjcmVhdGVPZmZlclByb2dyYW1BY3Rpb24iLCJ1cGRhdGVPZmZlclByb2dyYW1BY3Rpb24iLCJkZWxldGVPZmZlclByb2dyYW1BY3Rpb24iLCJvZmZlclByb2dyYW1zIiwib2ZmZXJQcm9ncmFtIiwib2ZmZXJQcm9ncmFtc1BlbmRpbmciLCJvZmZlclByb2dyYW1EZXRhaWxQZW5kaW5nIiwib2ZmZXJQcm9ncmFtQ3JlYXRlUGVuZGluZyIsIm9mZmVyUHJvZ3JhbVVwZGF0ZVBlbmRpbmciLCJvZmZlclByb2dyYW1EZWxldGVQZW5kaW5nIiwib2ZmZXJQcm9ncmFtU2xpY2UiLCJzZXRPZmZlclByb2dyYW0iLCJfb2ZmZXJQcm9ncmFtU2xpY2UkYWMiLCJPUFBPUlRVTklUWV9TT1VSQ0VTIiwiT1BQT1JUVU5JVFlfU09VUkNFIiwiT1BQT1JUVU5JVFlfU09VUkNFX0RFTEVURSIsIk9QUE9SVFVOSVRZX1NPVVJDRV9DUkVBVEUiLCJPUFBPUlRVTklUWV9TT1VSQ0VfVVBEQVRFIiwib3Bwb3J0dW5pdHlTb3VyY2VzU2VydmljZSIsIm9wcG9ydHVuaXR5U291cmNlRGV0YWlsU2VydmljZSIsImNyZWF0ZU9wcG9ydHVuaXR5U291cmNlU2VydmljZSIsInVwZGF0ZU9wcG9ydHVuaXR5U291cmNlU2VydmljZSIsImRlbGV0ZU9wcG9ydHVuaXR5U291cmNlU2VydmljZSIsImZldGNoT3Bwb3J0dW5pdHlTb3VyY2VzIiwib3Bwb3J0dW5pdHlTb3VyY2VEZXRhaWxBY3Rpb24iLCJjcmVhdGVPcHBvcnR1bml0eVNvdXJjZUFjdGlvbiIsInVwZGF0ZU9wcG9ydHVuaXR5U291cmNlQWN0aW9uIiwiZGVsZXRlT3Bwb3J0dW5pdHlTb3VyY2VBY3Rpb24iLCJvcHBvcnR1bml0eVNvdXJjZXMiLCJvcHBvcnR1bml0eVNvdXJjZSIsIm9wcG9ydHVuaXR5U291cmNlc1BlbmRpbmciLCJvcHBvcnR1bml0eVNvdXJjZURldGFpbFBlbmRpbmciLCJvcHBvcnR1bml0eVNvdXJjZUNyZWF0ZVBlbmRpbmciLCJvcHBvcnR1bml0eVNvdXJjZVVwZGF0ZVBlbmRpbmciLCJvcHBvcnR1bml0eVNvdXJjZURlbGV0ZVBlbmRpbmciLCJvcHBvcnR1bml0eVNvdXJjZVNsaWNlIiwic2V0T3Bwb3J0dW5pdHlTb3VyY2UiLCJfb3Bwb3J0dW5pdHlTb3VyY2VTbGkiLCJTT1VSQ0UiXSwic291cmNlUm9vdCI6IiJ9